傳智java2014年1月6號(hào)就業(yè)day12-復(fù)習(xí)與jsp軟件國際化_第1頁
傳智java2014年1月6號(hào)就業(yè)day12-復(fù)習(xí)與jsp軟件國際化_第2頁
傳智java2014年1月6號(hào)就業(yè)day12-復(fù)習(xí)與jsp軟件國際化_第3頁
傳智java2014年1月6號(hào)就業(yè)day12-復(fù)習(xí)與jsp軟件國際化_第4頁
傳智java2014年1月6號(hào)就業(yè)day12-復(fù)習(xí)與jsp軟件國際化_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

北京傳智播客教育國際化開發(fā)概述 軟件的國際化:軟件開發(fā)時(shí),要使它能同時(shí)應(yīng)對(duì)世界不同地區(qū)和國家的訪問,并針對(duì)不同地區(qū)和國家的訪問,提供相應(yīng)的、符合來訪者閱讀習(xí)慣的頁面或數(shù)據(jù)。國際化又稱為i18n:internationalization北京傳智播客教育合格的國際化軟件軟件實(shí)現(xiàn)國際化,需具備哪些特征:對(duì)于程序中固定使用的文本元素,例如菜單欄、導(dǎo)航條等中使用的文本元素、或錯(cuò)誤提示信息,狀態(tài)信息等,需要根據(jù)來訪者的地區(qū)和國家,選擇不同語言的文本為之服務(wù)。對(duì)于程序動(dòng)態(tài)產(chǎn)生的數(shù)據(jù),例如(日期,貨幣等),軟件應(yīng)能根據(jù)當(dāng)前所在的國家或地區(qū)的文化習(xí)慣進(jìn)行顯示。北京傳智播客教育固定文本元素的國際化對(duì)于軟件中的菜單欄、導(dǎo)航條、錯(cuò)誤提示信息,狀態(tài)信息等這些固定不變的文本信息,可以把它們寫在一個(gè)properties文件中,并根據(jù)不同的國家編寫不同的properties文件。這一組properties文件稱之為一個(gè)資源包。在JavaAPI中提供了一個(gè)ResourceBundle類用于描述一個(gè)資源包,并且ResourceBundle類提供了相應(yīng)的方法getBundle,這個(gè)方法可以根據(jù)來訪者的國家地區(qū)自動(dòng)獲取與之對(duì)應(yīng)的資源文件予以顯示。北京傳智播客教育創(chuàng)建資源包和資源文件一個(gè)資源包中的每個(gè)資源文件都必須擁有共同的basename基名。除了基名,每個(gè)資源文件的名稱中還必須有標(biāo)識(shí)其本地信息的附加部分。例如:一個(gè)資源包的基名是“myproperties”,則與中文、英文環(huán)境相對(duì)應(yīng)的資源文件名則為:“myproperites_zh_perties”“myproperites_en_US.properties”每個(gè)資源包都應(yīng)有一個(gè)默認(rèn)資源文件,這個(gè)文件不帶有標(biāo)識(shí)本地信息的附加部分。若ResourceBundle對(duì)象在資源包中找不到與用戶匹配的資源文件,它將選擇該資源包中與用戶最相近的資源文件,如果再找不到,則使用默認(rèn)資源文件。例如:perties北京傳智播客教育語言和國別代碼北京傳智播客教育資源文件的書寫格式資源文件的內(nèi)容通常采用“關(guān)鍵字=值”的形式,軟件根據(jù)關(guān)鍵字檢索值顯示在頁面上。一個(gè)資源包中的所有資源文件的關(guān)鍵字必須相同,值則為相應(yīng)國家的文字。并且資源文件中采用的是properties格式文件,所以文件中的所有字符都必須是ASCII字碼,對(duì)于像中文這樣的非ACSII字符,須先進(jìn)行編碼。(java提供了一個(gè)native2ascII命令用于編碼)。例:屬性文件是不能保存中文的username=usernamepassword=passwordsubmit=submit

resource_perties文件username=\u7528\u6237\u540dpassword=\u5bc6\u7801submit=\u63d0\u4ea4

resource_perties文件北京傳智播客教育編程實(shí)現(xiàn)固定文本的國際化加載src下properties文件

ResourceBundlebundle=ResourceBundle.getBundle(basename);讀取properties文件中內(nèi)容

Stringvalue=bundle.getString(key);在讀取properties文件時(shí),可以傳入一個(gè)Locale實(shí)例對(duì)象,用于代表一個(gè)特定的地理,政治、文化區(qū)域

ResourceBundle

bundle

= ResourceBundle.getBundle(basename,

currentLocale);如果與該locale對(duì)象匹配的資源包子類找不到。一般情況下,則選用操作系統(tǒng)默認(rèn)資源文件予以顯示案例:制作國際化登陸頁面北京傳智播客教育DateFormat類(國際化日期)DateFormat類可以將一個(gè)日期/時(shí)間對(duì)象格式化為表示某個(gè)國家地區(qū)的日期/時(shí)間字符串。DateFormat類除了可按國家地區(qū)格式化輸出日期外,它還定義了一些用于描述日期/時(shí)間的顯示模式的int型的常量,包括FULL,LONG,MEDIUM,DEFAULT,SHORT,實(shí)例化DateFormat對(duì)象時(shí),可以使用這些常量,控制日期/時(shí)間的顯示長度。北京傳智播客教育實(shí)例化DateFormat類實(shí)例化DateFormat類有九種方式,以下三種為帶參形式,下面列出的三種方式也可以分別不帶參,或只帶顯示樣式的參數(shù)。getDateInstance(intstyle,LocaleaLocale):以指定的日期顯示模式和本地信息來獲得DateFormat實(shí)例對(duì)象,該實(shí)例對(duì)象不處理時(shí)間值部分。getTimeInstance(intstyle,LocaleaLocale):以指定的時(shí)間顯示模式和本地信息來獲得DateFormat實(shí)例對(duì)象,該實(shí)例對(duì)象不處理日期值部分。getDateTimeInstance(intdateStyle,inttimeStyle,LocaleaLocale):以單獨(dú)指定的日期顯示模式、時(shí)間顯示模式和本地信息來獲得DateFormat實(shí)例對(duì)象。北京傳智播客教育NumberFormat類實(shí)例化NumberFormat類時(shí),可以使用locale對(duì)象作為參數(shù),也可以不使用,下面列出的是使用參數(shù)的。getNumberInstance(Localelocale):以參數(shù)locale對(duì)象所標(biāo)識(shí)的本地信息來獲得具有多種用途的NumberFormat實(shí)例對(duì)象getIntegerInstance(Localelocale):以參數(shù)locale對(duì)象所標(biāo)識(shí)的本地信息來獲得處理整數(shù)的NumberFormat實(shí)例對(duì)象getCurrencyInstance(Localelocale):以參數(shù)locale對(duì)象所標(biāo)識(shí)的本地信息來獲得處理貨幣的NumberFormat實(shí)例對(duì)象getPercentInstance(Localelocale):以參數(shù)locale對(duì)象所標(biāo)識(shí)的本地信息來獲得處理百分比數(shù)值的NumberFormat實(shí)例對(duì)象北京傳智播客教育練習(xí)請(qǐng)創(chuàng)建一個(gè)date對(duì)象,并把date對(duì)象中表示日期部分的時(shí)間值,以及表示時(shí)間部分的時(shí)間值,分別以short、long模式進(jìn)行格式化輸出(國家設(shè)置為中國)。請(qǐng)將時(shí)間值:09-11-28上午10時(shí)25分39秒CST,反向解析成一個(gè)date對(duì)象。請(qǐng)將整數(shù)198,輸出為貨幣形式:$198,并將$198反向解析成整數(shù)198。請(qǐng)將0.78654321,輸出百分比格式,保留兩位小數(shù)北京傳智播客教育MessageFormat(動(dòng)態(tài)文本)如果一個(gè)字符串中包含了多個(gè)與國際化相關(guān)的數(shù)據(jù),可以使用MessageFormat類對(duì)這些數(shù)據(jù)進(jìn)行批量處理。例如:

At12:30pmonjul3,1998,ahurricancedestroyed99housesandcaused$1000000ofdamage以上字符串中包含了時(shí)間、數(shù)字、貨幣等多個(gè)與國際化相關(guān)的數(shù)據(jù),對(duì)于這種字符串,可以使用MessageFormat類對(duì)其國際化相關(guān)的數(shù)據(jù)進(jìn)行批量處理。MessageFormat類如何進(jìn)行批量處理呢?1.MessageFormat類允許開發(fā)人員用占位符{0}{1}{2}…替換掉字符串中的敏感數(shù)據(jù)(即國際化相關(guān)的數(shù)據(jù))。2.MessageFormat類在格式化輸出包含占位符的文本時(shí),messageFormat類可以接收一個(gè)參數(shù)數(shù)組,以替換文本中的每一個(gè)占位符。北京傳智播客教育格式化模式字符串模式字符串:On{0},ahurricancedestroyed{1}housesandcaused{2}ofdamage.MessageFormat類默認(rèn)Localeformat(Stringpattern,Object...arguments)staticpattern模式字符串a(chǎn)rguments參數(shù)數(shù)組自定義LocaleMessageFormat(String

pattern,Locale

locale)format(Object

obj)北京傳智播客教育模式字符串與占位符占位符有三種書寫方式:{argumentIndex}:0-9之間的數(shù)字,表示要格式化對(duì)象數(shù)據(jù)在參數(shù)數(shù)組中的索引號(hào){argumentIndex,formatType}:參數(shù)的格式化類型{argumentIndex,formatType,FormatStyle}:格式化的樣式,它的值必須是與格式化類型相匹配的合法模式、或表示合法模式的字符串。北京傳智播客教育模式字符串與占位符Stringpattern="At{0,time,short}on{0,date,medium},adestroyed{1}housesandcaused{2,number,currency}ofdamage."Calendarcalendar=Ca

溫馨提示

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

評(píng)論

0/150

提交評(píng)論