第14章使用CultureInfo實現(xiàn)多語言本地化理論課ppt課件_第1頁
第14章使用CultureInfo實現(xiàn)多語言本地化理論課ppt課件_第2頁
第14章使用CultureInfo實現(xiàn)多語言本地化理論課ppt課件_第3頁
第14章使用CultureInfo實現(xiàn)多語言本地化理論課ppt課件_第4頁
第14章使用CultureInfo實現(xiàn)多語言本地化理論課ppt課件_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、http:/ASP.NET企業(yè)級應(yīng)用編程企業(yè)級應(yīng)用編程第第14章章http:/中國十大品牌IT教育機構(gòu)北京奧運會官網(wǎng)北京奧運會官網(wǎng)-漢語漢語http:/中國十大品牌IT教育機構(gòu)北京奧運會官網(wǎng)北京奧運會官網(wǎng)-英語英語http:/中國十大品牌IT教育機構(gòu)北京奧運會官網(wǎng)北京奧運會官網(wǎng)-法語法語http:/中國十大品牌IT教育機構(gòu)區(qū)域文化在頁面元素設(shè)置區(qū)域文化在后臺代碼設(shè)置區(qū)域文化資源文化根據(jù)站點文化獲取本地資源根據(jù)站點文化獲取全局資源本章目標(biāo)本章目標(biāo)http:/中國十大品牌IT教育機構(gòu)(一區(qū)域文化(一區(qū)域文化http:/中國十大品牌IT教育機構(gòu)設(shè)置當(dāng)前文化設(shè)置當(dāng)前文化在Page指令中設(shè)置文化以編程方

2、式設(shè)置文化 http:/中國十大品牌IT教育機構(gòu)在在Page指令中設(shè)置指令中設(shè)置CultureCulture屬性常用的文化名稱zh-CN=Chinese(China)en-US=English(United States)en-GB=English(United Kingdom) protected void Page_Load(object sender, EventArgs e) this.lblToday.Text = DateTime.Now.ToString(D); this.lblPrice.Text = (11.5).ToString(c); http:/中國十大品牌IT教育機構(gòu)

3、在在Page指令中自動檢測文化指令中自動檢測文化 如果需要使用檢測到的瀏覽器首部自動設(shè)置Culture,就可以通過設(shè)置頁面指令的Culture來實現(xiàn)。 下面將Culture設(shè)置為auto:zh-cn,表示若不能從瀏覽器檢測到默認(rèn)的語言參數(shù)設(shè)置時,冒號后面的文化名稱用來指定默認(rèn)文化。 http:/中國十大品牌IT教育機構(gòu)文化影響文化影響ASP.NET控件控件Page指令中Culture屬性值會自動影響Calendar控件的呈現(xiàn)行為。 http:/中國十大品牌IT教育機構(gòu)在配置文件中設(shè)置文化在配置文件中設(shè)置文化在在web.configweb.config中添加如下配置,那么若不能從瀏覽器中添加如下

4、配置,那么若不能從瀏覽器檢測到默認(rèn)的語言參數(shù)設(shè)置時,整個站點的文化就被檢測到默認(rèn)的語言參數(shù)設(shè)置時,整個站點的文化就被設(shè)置稱設(shè)置稱en-USen-US,如果用戶設(shè)置了語言,則采用用戶選,如果用戶設(shè)置了語言,則采用用戶選擇的語言文化:擇的語言文化: http:/中國十大品牌IT教育機構(gòu)以編程方式設(shè)置文化以編程方式設(shè)置文化Page.Culture通過該屬性設(shè)置當(dāng)前頁面的文化Request.UserLanguages獲取用戶瀏覽器中設(shè)置的語言首選項集合System.Globalization.CultureInfo.GetCultures獲取由指定CultureTypes參數(shù)篩選的區(qū)域列表http:/

5、中國十大品牌IT教育機構(gòu)檢測用戶的習(xí)慣語言列表檢測用戶的習(xí)慣語言列表 Request.UserLanguages可以獲取請求的用戶的習(xí)慣語言列表protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) string list = Request.UserLanguages; foreach (string s in list) string name = s.Split(;)0; bltAuto.Items.Add(name); protected void bltAuto_Click(object sender

6、, BulletedListEventArgs e) Page.Culture= bltAuto.Itemse.Index.Value; this.lblToday.Text = DateTime.Now.ToString(D); this.lblPrice.Text = (11.5).ToString(c); http:/中國十大品牌IT教育機構(gòu)獲取特定文化的區(qū)域性列表獲取特定文化的區(qū)域性列表CultureInfo類的GetCultures方法獲取由指定 CultureTypes 篩選的區(qū)域性列表。 protected void Page_Load(object sender, EventA

7、rgs e) if (!IsPostBack) CultureInfo list=CultureInfo.GetCultures(CultureTypes.SpecificCultures); RadioButtonList1.DataSource = list; RadioButtonList1.DataTextField = DisplayName; RadioButtonList1.DataValueField = Name; RadioButtonList1.DataBind(); RadioButtonList1.AutoPostBack = true; RadioButtonLis

8、t1.RepeatDirection = RepeatDirection.Horizontal; RadioButtonList1.RepeatColumns = 4; protected void RBL_SelectedIndexChanged(object sender, EventArgs e) Page.Culture = RadioButtonList1.SelectedItem.Value; this.lblToday.Text = DateTime.Now.ToString(D); this.lblPrice.Text = (11.5).ToString(c);http:/中國

9、十大品牌IT教育機構(gòu)獲取特定文化的區(qū)域性列表獲取特定文化的區(qū)域性列表http:/中國十大品牌IT教育機構(gòu)不同的文化中的字符串排序不同的文化中的字符串排序在不同的文化中,字符串的排序結(jié)果也會受到影響string names = 蘋果蘋果, 牛蛙牛蛙, 牛肉牛肉 ;上面的數(shù)組在中文文化和日文文化的排序結(jié)果就不相同 protected void Button1_Click(object sender, EventArgs e) SortStringByCulture(zh-cn); protected void Button2_Click(object sender, EventArgs e) So

10、rtStringByCulture(ja-jp); void SortStringByCulture(string c) string names = 蘋果蘋果, 牛蛙牛蛙, 牛肉牛肉 ; CultureInfo ci = new CultureInfo(c); Page.Culture = ci.Name; lbCultrue.Text = ci.Name; Array.Sort(names); BulletedList1.DataSource = names; BulletedList1.DataBind(); http:/中國十大品牌IT教育機構(gòu)(二資源文化(二資源文化http:/中國十

11、大品牌IT教育機構(gòu)創(chuàng)建本地資源創(chuàng)建本地資源顯式本地化表達(dá)式 隱式本地化表達(dá)式 將本地資源應(yīng)用于頁面屬性 以編程方式獲取本地資源 簡化大塊文本的本地化 http:/中國十大品牌IT教育機構(gòu)創(chuàng)建本地資源創(chuàng)建本地資源顯式本地化表達(dá)式 資源文件必須保存在App_LocalResources文件夾中。資源文件的添加資源文件的命名規(guī)則:pageName.cultureName.resx test.aspx.resx默認(rèn)的Test.aspx資源文件,若沒有其他資源文件符合用戶的語言設(shè)置,則用此資源文件來應(yīng)用test.aspx.zh-CN.resx特定文化,若符合用戶特定文化語言設(shè)置,就應(yīng)用此資源文件http

12、:/中國十大品牌IT教育機構(gòu)顯式本地化表達(dá)式顯式本地化表達(dá)式 在頁面中使用本地資源1、指令中添加UICulture屬性并設(shè)其值為auto 2、本地化資源表達(dá)式 http:/中國十大品牌IT教育機構(gòu)隱式本地化表達(dá)式隱式本地化表達(dá)式隱式本地化表達(dá)式顯式資源表達(dá)式必須對控件的每一個屬性在頁面進(jìn)行設(shè)置,隱式本地化表達(dá)式只需簡單地添加一個meta:resourceKey屬性到任意需要本地化的控件中,從而可以更簡單地本地化一個已存在的網(wǎng)站。 配置控件屬性 http:/中國十大品牌IT教育機構(gòu)隱式本地化表達(dá)式隱式本地化表達(dá)式設(shè)置本地資源文件方式:Key.Property Key:可以任意命名,一般采用控件名

13、稱Property:必須與要本地化的控件的屬性相匹配 Demo.aspx.resx Demo.aspx.en-us.resxhttp:/中國十大品牌IT教育機構(gòu)將本地資源應(yīng)用于頁面屬性將本地資源應(yīng)用于頁面屬性 顯式資源文件PageTitleExplicit.aspx.resx asp:literal id=ltTitle text= runat=server /使用資源表達(dá)式設(shè)置諸如頁面標(biāo)題這樣的的頁面屬性 http:/中國十大品牌IT教育機構(gòu)將本地資源應(yīng)用于頁面屬性將本地資源應(yīng)用于頁面屬性隱式資源文件PageTitleImplicit.aspx.resxhttp:/中國十大品牌IT教育機構(gòu)以

14、編程方式獲取本地資源以編程方式獲取本地資源調(diào)用Page對象的GetLocalResourceObject()方法可以獲取本地資源文件的內(nèi)容 protected void btLogin_Click(object sender, EventArgs e) string rs = this.GetLocalResourceObject(welcome).ToString(); lbMsg.Text = string.Format(rs, tbName.Text); http:/中國十大品牌IT教育機構(gòu)簡化大塊文本的本地化簡化大塊文本的本地化當(dāng)您想在網(wǎng)頁上的特定區(qū)域顯示本地化文本時,可以使用 Loc

15、alize 控件在網(wǎng)頁上保留顯示本地化文本的位置。Localize 控件從 Literal 控件繼承,與該控件完全相同。設(shè)計時使用 Localize 控件將可以將本地化的靜態(tài)文本與其它靜態(tài)文本區(qū)分開來。 http:/中國十大品牌IT教育機構(gòu)簡化大塊文本的本地化簡化大塊文本的本地化Localize 控件的 Mode 屬性Transform:添加到控件中的任何標(biāo)記都將進(jìn)行轉(zhuǎn)換,以適合發(fā)出請求的瀏覽器的協(xié)議。如果向使用 HTML 以外的其他協(xié)議的移動設(shè)備呈現(xiàn)內(nèi)容,此設(shè)置非常有用。PassThrough:添加到控件中的任何標(biāo)記都將按原樣呈現(xiàn)在瀏覽器中Encode:添加到控件中的任何標(biāo)記都將使用 Htm

16、lEncode 方法進(jìn)行編碼,該方法將把 HTML 編碼轉(zhuǎn)換為其文本表示形式。 http:/中國十大品牌IT教育機構(gòu)簡化大塊文本的本地化簡化大塊文本的本地化默認(rèn)資源 LocalizeResource.aspx.resx: 英文資源LocalizeResource.aspx.en-us.resx http:/中國十大品牌IT教育機構(gòu)創(chuàng)建全局資源創(chuàng)建全局資源 以屬性方式獲取全局資源以編程方式獲取全局資源 使用強類型獲取全局資源 http:/中國十大品牌IT教育機構(gòu)以屬性方式獲取全局資源以屬性方式獲取全局資源獲取表達(dá)式: 中文資源文件Site.resx: 英文資源文件Site.en-us.resx:

17、 % Page UICulture=auto Title= %asp:Label ID =Label1 text= /http:/中國十大品牌IT教育機構(gòu)以屬性方式獲取全局資源以屬性方式獲取全局資源http:/中國十大品牌IT教育機構(gòu)以編程方式獲取全局資源以編程方式獲取全局資源指令:自動獲得語言CultureInfo.CurrentCulture.Name屬性:獲得IE語言GetGlobalResourceObject()方法 :獲得全局資源http:/中國十大品牌IT教育機構(gòu)以編程方式獲取全局資源以編程方式獲取全局資源string key=CultureInfo.CurrentCulture

18、.Name.ToLower().Replace(-, _);imgCountry.ImageUrl = CodeFileGlobalResource.ashx?key= + key; string className = Country ; string key = context.Request.QueryString“key.ToString(); Bitmap bmp = (Bitmap) HttpContext.GetGlobalResourceObject(className, key); MemoryStream ms = new MemoryStream(); bmp.Save(

19、ms, System.Drawing.Imaging.ImageFormat.Jpeg); Response.BinaryWrite(ms.ToArray(); CodeFileGlobalResource.aspx CreateImageByGlobalResource.ashxhttp:/中國十大品牌IT教育機構(gòu)創(chuàng)建全局資源創(chuàng)建全局資源使用強類型獲取全局資源 ASP.NET Framewormk自動把本地資源編譯成程序集,而全局資源就編譯成一個類,這樣全局資源就可以用強類型表達(dá)式在代碼中處理全局資源,當(dāng)創(chuàng)建一個資源時,一個新類會自動添加到Resources命名空間。該類以屬性的形式暴露了所

20、有資源文件中的項目 http:/中國十大品牌IT教育機構(gòu)使用強類型獲取全局資源使用強類型獲取全局資源 全局資源文件App_GlobalResourcesCountry.resx: string resources=Resources.Country.ImagePath; string culture=CultureInfo.CurrentCulture.Name.ToLower(); imgCountry.ImageUrl =string.Format(resources,culture);http:/中國十大品牌IT教育機構(gòu)總結(jié)總結(jié)如何為頁面設(shè)置文化?如何改變客戶端的文化?如何為站點創(chuàng)建多個文化資源?如何實現(xiàn)大塊文本的本地化?如何以編程方式訪問本地資源?http:/中國十大品牌IT教育機構(gòu)練習(xí)練習(xí)1.在在指令中設(shè)置哪個屬性可以指令中設(shè)置哪個屬性可以影響本地化影響本地化 ()()UICulture Culture Inherits AutoEventWire

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論