一國際化與本地化
1.國際化的含義:
就是讓一個程序在不同語系的操作系統(tǒng)之間能夠有不同的顯示,所謂不同顯示的含義就是:語言的不同,語法的不同,數(shù)字.日期.排序以及貨幣格式的不同.
2.本地化的含義
本地化相對于國際化來說,所涵蓋的范圍小得多,它指為單一一個操作系統(tǒng)提供符合的語言環(huán)境。比喻直接將英文軟件轉(zhuǎn)化為中文軟件就是本地化的一種。國際化是泛指,本地化是單一指定。
二認(rèn)識編碼
1.UNICODE是微軟所提出的多字節(jié)等長碼,它可以使雙字節(jié)既可以表示英文字母,也可以表示漢字。表示英文字母的等長碼時,對其第一個字節(jié)進(jìn)行補(bǔ)充動作。
java語言默認(rèn)的編碼就是UNICODE;通常被國際化組織認(rèn)可,用雙字節(jié)表示的中文中,針對Struts的國際化主要是UNICODE.
2.Struts中國際化的步驟:
UTF-8編碼就是以UNICODE編碼的儲存方式來表示的,它是Struts國際化的好幫手,它已經(jīng)包含了英文字母的顯示。
(1).指定程序編碼和編譯時的字符編碼為UTF-8
(2).指定請求到來時的字符編碼為UTF-8
(3).在JSP的頭部聲明中也要出現(xiàn)UTF-8聲明
(4).對任何外部資源配置文件的編寫都使用UTF-8
三.Resource綁定
1.在Struts-config.xml中,配置資源文件需要做如下步驟
(1).從Struts-config.xml中找到"resource.application"
(2).為應(yīng)該確定本地化環(huán)境后綴
(3).為本地化應(yīng)用加上.properties擴(kuò)展名
(4).在classpath目錄下找到resource目錄下的本地應(yīng)用資源配置文件.
2.確定本地化后綴
JSP發(fā)送請求到達(dá)ActionServlet時.request都會用一個request.getLcale()的方法返回java.util.Locale對象.這個Locale對象保存的就是本地化區(qū)域環(huán)境.Locale對象由JDK提供專門用來實(shí)現(xiàn)國際化工作.
在Struts框架中,與Locale對象配合"確定本地化環(huán)境后綴",會讀取Locale對象的內(nèi)容,并將它的語言和國家信息"_"產(chǎn)生一組字符串,追加到原來的文件名后.
static public final Locale SIMPLFIED_CHINESE=new Locale("zh","CN");
struts框架讀取對象該對象后,產(chǎn)生的本地化環(huán)境后綴就是"application_zh_CN".再加上.properties的擴(kuò)展名,那么在簡體中文環(huán)境中,struts框架真正應(yīng)該要讀取得的資源配置文件其實(shí)應(yīng)該是:application_zh_CN.properties
3.Locale對象
要動態(tài)改變Locale對象,就必須先確定Locale對象的讀取在框架中是怎樣進(jìn)行的,Locale對象被保存在什么地方.
Struts框架對于Locale對象的讀取是通過Session來進(jìn)行的程序開始進(jìn)行時,Struts框架就已經(jīng)將Locale對象的實(shí)例存放在Session中得到Locale對象,再得到合適的資源配置文件.
把本地化Local對象的實(shí)例存放在Session中.
(1).存放本地化Locale對象到Session中是由Struts框架自行完成的..
(2).Struts框架內(nèi)容定義了GloBals類的靜態(tài)全局變量,LOCALE_KEY,用來表示org,apache,struts.action.LOCALE;不應(yīng)單獨(dú)使用,而是存放Locale對象用Globals.LOCALE_KEY來代替
posted on 2007-09-24 15:49
冬天出走的豬 閱讀(537)
評論(0) 編輯 收藏 所屬分類:
struts