欢迎来到天天文库
浏览记录
ID:39270936
大小:2.28 MB
页数:41页
时间:2019-06-29
《使用CultureInfo实现多语言本地化理论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、使用CultureInfo实现多语言本地化《ASP.NET企业级应用编程》第14章北京奥运会官网-汉语北京奥运会官网-英语北京奥运会官网-法语区域文化在页面元素设置区域文化在后台代码设置区域文化资源文化根据站点文化获取本地资源根据站点文化获取全局资源本章目标(一)区域文化设置当前文化在Page指令中设置文化以编程方式设置文化在Page指令中设置CultureCulture属性<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="ManualByPage.aspx.cs"Inh
2、erits="ManualByPage"Culture="en-US"%>常用的文化名称zh-CN=Chinese(China)en-US=English(UnitedStates)en-GB=English(UnitedKingdom)protectedvoidPage_Load(objectsender,EventArgse){this.lblToday.Text=DateTime.Now.ToString("D");this.lblPrice.Text=(11.5).ToString("c");}在Page指令中自
3、动检测文化如果需要使用检测到的浏览器首部自动设置Culture,就可以通过设置页面指令<%@Page%>的Culture来实现。下面将Culture设置为"auto:zh-cn",表示若不能从浏览器检测到默认的语言参数设置时,冒号后面的文化名称用来指定默认文化。<%@PageLanguage="C#"AutoEventWireup="true"Inherits="AutoDetect"CodeFile="AutoDetect.aspx.cs"Culture="auto:zh-cn"%>文化影响ASP.NET控件Page指令中
4、Culture属性值会自动影响Calendar控件的呈现行为。<%@PageLanguage=“C#”AutoEventWireup=“true”Inherits=“AutoDetect”CodeFile=“AutoDetect.aspx.cs”Culture=“auto:en-us"%>在配置文件中设置文化在web.config中添加如下配置,那么若不能从浏览器检测到默认的语言参数设置时,整个站点的文化就被设置称en-US,如果用户设置了语言,则采用用户选择的语言文化:5、ulture=“auto:en-US"/>以编程方式设置文化Page.Culture通过该属性设置当前页面的文化Request.UserLanguages获取用户浏览器中设置的语言首选项集合System.Globalization.CultureInfo.GetCultures获取由指定CultureTypes参数筛选的区域列表检测用户的习惯语言列表Request.UserLanguages可以获取请求的用户的习惯语言列表protectedvoidPage_Load(objectsender,Eve
5、ulture=“auto:en-US"/>
6、ntArgse){if(!IsPostBack){string[]list=Request.UserLanguages;foreach(stringsinlist){stringname=s.Split(';')[0];bltAuto.Items.Add(name);}}}protectedvoidbltAuto_Click(objectsender,BulletedListEventArgse){Page.Culture=bltAuto.Items[e.Index].Value;this.lblToday.Text=Dat
7、eTime.Now.ToString("D");this.lblPrice.Text=(11.5).ToString("c");}获取特定文化的区域性列表CultureInfo类的GetCultures方法获取由指定CultureTypes筛选的区域性列表。protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){CultureInfo[]list=CultureInfo.GetCultures(CultureTypes.SpecificCultures)
8、;RadioButtonList1.DataSource=list;RadioButtonList1.DataTextField="DisplayName";RadioButtonList1.DataValueField="Name";RadioButtonList1.DataBind()
此文档下载收益归作者所有