傳智播客國際化課件_第1頁
傳智播客國際化課件_第2頁
傳智播客國際化課件_第3頁
傳智播客國際化課件_第4頁
傳智播客國際化課件_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、JavaWEB開發(fā)-國際化講師: 方立勛 IT資訊交流網(wǎng) WWW.IT315.ORGTip1:國際化開發(fā)概述軟件的國際化:軟件開發(fā)時,要使它能同時應對世界不同地區(qū)和國家的訪問,并針對不同地區(qū)和國家的訪問,提供相應的、符合來訪者閱讀習慣的頁面或數(shù)據(jù)。國際化又稱為 i18n:internationalizationIT資訊交流網(wǎng) WWW.IT315.ORGTip2:合格的國際化軟件軟件實現(xiàn)國際化,需具備哪些特征:對于程序中固定使用的文本元素,例如菜單欄、導航條等中使用的文本元素、或錯誤提示信息,狀態(tài)信息等,需要根據(jù)來訪者的地區(qū)和國家,選擇不同語言的文本為之服務。對于程序動態(tài)產(chǎn)生的數(shù)據(jù),例如(日期,

2、貨幣等),軟件應能根據(jù)當前所在的國家或地區(qū)的文化習慣進行顯示。IT資訊交流網(wǎng) WWW.IT315.ORGTip3:固定文本元素的國際化對于軟件中的菜單欄、導航條、錯誤提示信息,狀態(tài)信息等這些固定不變的文本信息,可以把它們寫在一個properties文件中,并根據(jù)不同的國家編寫不同的properties文件。這一組properties文件稱之為一個資源包。在JavaAPI中提供了一個ResourceBundle 類用于描述一個資源包,并且 ResourceBundle類提供了相應的方法getBundle,這個方法可以根據(jù)來訪者的國家地區(qū)自動獲取與之對應的資源文件予以顯示。IT資訊交流網(wǎng) WWW.

3、IT315.ORGTip5:資源文件的書寫格式資源文件的內(nèi)容通常采用“關鍵字值”的形式,軟件根據(jù)關鍵字檢索值顯示在頁面上。一個資源包中的所有資源文件的關鍵字必須相同,值則為相應國家的文字。并且資源文件中采用的是properties格式文件,所以文件中的所有字符都必須是ASCII字碼,對于像中文這樣的非ACSII字符,須先進行編碼。(java提供了一個native2ascII命令用于編碼)。例:屬性文件是不能保存中文的username=usernamepassword=passwordsubmit=submitresource_perties文件username=u7528u6237u540dp

4、assword=u5bc6u7801submit=u63d0u4ea4resource_perties文件IT資訊交流網(wǎng) WWW.IT315.ORGTip6:編程實現(xiàn)固定文本的國際化ResourceBundle類提供了一個靜態(tài)方法getBundle,該方法用于裝載資源文件,并創(chuàng)建ResourceBundle實例: LocalecurrentLocale=Locale.getDefault(); ResourceBundlemyResources= ResourceBundle.getBundle(basename,currentLocale);basename為資源包基名(且必須為完整路徑)。

5、如果與該locale對象匹配的資源包子類找不到。一般情況下,則選用默認資源文件予以顯示。 加載資源文件后, 程序就可以調(diào)用ResourceBundle 實例對象的 getString 方法獲取指定的資源信息名稱所對應的值。 String value = myResources.getString(“key);在WEB應用中實現(xiàn)固定文本的國際化IT資訊交流網(wǎng) WWW.IT315.ORGTip8:DateFormat類(國際化日期)DateFormat 類可以將一個日期/時間對象格式化為表示某個國家地區(qū)的日期/時間字符串。DateFormat 類除了可按國家地區(qū)格式化輸出日期外,它還定義了一些用于

6、描述日期/時間的顯示模式的 int 型的常量,包括FULL, LONG, MEDIUM, DEFAULT, SHORT,實例化DateFormat對象時,可以使用這些常量,控制日期/時間的顯示長度。IT資訊交流網(wǎng) WWW.IT315.ORGTip9:DateFormat類例如,對于日期/時間“2005年9月15日下午4時41分20秒”,如設置了DateFormat的顯示模式,則日期/時間顯示樣式分別為:SHORT模式完全是數(shù)字的,在中文環(huán)境下顯示為“05-9-15 下午4:41”;在英文環(huán)境下為“9/15/05 4:41 PM”。MEDIUM模式比SHORT模式長些,在中文環(huán)境顯示為“2005

7、-9-15 16:41:20”;在英文環(huán)境下顯示為“Sep 15, 2005 4:41:20 PM”。LONG模式比MEDIUM模式更長一些,在中文環(huán)境下顯示為“2005年9月15日 下午04時41分20秒”;在英文環(huán)境下顯示為“September 15, 2005 4:41:20 PM CST”。FULL模式指定日期/時間的完整格式,在中文環(huán)境下顯示為“2005年9月15日 星期四 下午04時41分20秒 CST”;在英文環(huán)境下,這個日期/時間顯示為“Thursday, September 15, 2005 4:41:20 PM CST”。IT資訊交流網(wǎng) WWW.IT315.ORGTip10

8、:實例化DateFormat類實例化DateFormat類有九種方式,以下三種為帶參形式,下面列出的三種方式也可以分別不帶參,或只帶顯示樣式的參數(shù)。getDateInstance(int style, Locale aLocale):以指定的日期顯示模式和本地信息來獲得DateFormat實例對象,該實例對象不處理時間值部分。getTimeInstance(int style, Locale aLocale):以指定的時間顯示模式和本地信息來獲得DateFormat實例對象,該實例對象不處理日期值部分。getDateTimeInstance(int dateStyle, int timeSty

9、le, Locale aLocale):以單獨指定的日期顯示模式、時間顯示模式和本地信息來獲得DateFormat實例對象。IT資訊交流網(wǎng) WWW.IT315.ORGTip11:DateFormat類DateFormat 對象的方法:format: 將日期/時間對象格式化為符合某個本地環(huán)境習慣的字符串。parse:將符合某個本地環(huán)境習慣的日期/時間字符串解析為日期/時間對象注意:parse和format完全相反,一個是把date時間轉化為相應地區(qū)和國家的顯示樣式,一個是把相應地區(qū)的時間日期轉化成date對象,該方法在使用時,解析的時間或日期要符合指定的國家、地區(qū)格式,否則會拋異常。DateFo

10、rmat 對象通常不是線程安全的,每個線程都應該創(chuàng)建自己的 DateFormat 實例對象IT資訊交流網(wǎng) WWW.IT315.ORGTip12:NumberFormat類NumberFormat 可以將一個數(shù)值格式化為符合某個國家地區(qū)習慣的數(shù)值字符串,也可以將符合某個國家地區(qū)習慣的數(shù)值字符串解析為對應的數(shù)值NumberFormat 類的方法:format 方法:將一個數(shù)值格式化為符合某個國家地區(qū)習慣的數(shù)值字符串parse 方法:將符合某個國家地區(qū)習慣的數(shù)值字符串解析為對應的數(shù)值。IT資訊交流網(wǎng) WWW.IT315.ORGTip13:NumberFormat類實例化NumberFormat類時,

11、可以使用locale對象作為參數(shù),也可以不使用,下面列出的是使用參數(shù)的。getNumberInstance(Locale locale):以參數(shù)locale對象所標識的本地信息來獲得具有多種用途的NumberFormat實例對象getIntegerInstance(Locale locale):以參數(shù)locale對象所標識的本地信息來獲得處理整數(shù)的NumberFormat實例對象getCurrencyInstance(Locale locale):以參數(shù)locale對象所標識的本地信息來獲得處理貨幣的NumberFormat實例對象getPercentInstance(Locale local

12、e):以參數(shù)locale對象所標識的本地信息來獲得處理百分比數(shù)值的NumberFormat實例對象IT資訊交流網(wǎng) WWW.IT315.ORGTip14:MessageFormat(動態(tài)文本)如果一個字符串中包含了多個與國際化相關的數(shù)據(jù),可以使用MessageFormat類對這些數(shù)據(jù)進行批量處理。例如:At 12:30 pm on jul 3,1998, a hurricance destroyed 99 houses and caused $1000000 of damage以上字符串中包含了時間、數(shù)字、貨幣等多個與國際化相關的數(shù)據(jù),對于這種字符串,可以使用MessageFormat類對其國際

13、化相關的數(shù)據(jù)進行批量處理。MessageFormat 類如何進行批量處理呢?1.MessageFormat類允許開發(fā)人員用占位符替換掉字符串中的敏感數(shù)據(jù)(即國際化相關的數(shù)據(jù))。2.MessageFormat類在格式化輸出包含占位符的文本時,messageFormat類可以接收一個參數(shù)數(shù)組,以替換文本中的每一個占位符。IT資訊交流網(wǎng) WWW.IT315.ORGTip15:模式字符串與占位符At 12:30 pm on jul 3,1998, a hurricance destroyed 99 houses and caused $1000000 of damage模式字符串: At 0 on 1

14、,a destroyed 2 houses and caused 3 of damage.占位符IT資訊交流網(wǎng) WWW.IT315.ORGTip17:格式化模式字符串String pattern = On 0, a hurricance destroyed 1 houses and caused + 2 of damage.;MessageFormat msgFmt = new MessageFormat(pattern,Locale.US);/準備參數(shù)數(shù)組String datetime = Jul 3, 1998 12:30 PM;Date date = DateFormat.getDate

15、TimeInstance(DateFormat.MEDIUM, DateFormat.SHORT, Locale.US).parse(datetime);Object msgArgs = date, new Integer(99),new Double(1E7);/執(zhí)行格式化操作String result = msgFmt.format(msgArgs);System.out.println(result);IT資訊交流網(wǎng) WWW.IT315.ORGTip18:模式字符串與占位符占位符有三種方式書寫方式:argumentIndex: 0-9 之間的數(shù)字,表示要格式化對象數(shù)據(jù)在參數(shù)數(shù)組中的索引號

16、argumentIndex,formatType: 參數(shù)的格式化類型argumentIndex,formatType,FormatStyle: 格式化的樣式,它的值必須是與格式化類型相匹配的合法模式、或表示合法模式的字符串。IT資訊交流網(wǎng) WWW.IT315.ORGTip19:模式字符串與占位符String pattern = At 0, time, short on 0, date, 1 destroyedn+ 2 houses and caused 3, number, currency of damage.;MessageFormat msgFmt = new MessageFormat(pattern,Locale.US);String datetimeString = Jul 3, 1998 12:30 PM;Date date = DateFormat.getDateTi

溫馨提示

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

評論

0/150

提交評論