Web 應(yīng)用實現(xiàn)國際化(i18n),主要包括兩個方面
一、頁面 ( jsp )靜態(tài)信息 的 國際化
二、動態(tài)消息的 國際化
在開始 Struts 國際化之前,我們先來看一下 java 如何實現(xiàn)國際化
主要步驟:
1、創(chuàng)建屬性文件(國際化資源文件)
* 國際化資源文件是有baseName+Locale構(gòu)成,如MessagesBundle_en_US.properties
* 缺省的國際化資源文件是baseName.properties格式命名,如:MessagesBundle.properties
* 關(guān)于中文必須轉(zhuǎn)換成unicode,可以采用JAVA_HOME/bin/native2ascii工具轉(zhuǎn)換
命令 native2ascii.exe o.properties MessagesBundle_zh_CN.properties
也可以一個一個字符轉(zhuǎn)換
舉例:
屬性文件示例:
k1=China
k2=Hello,{0}
2、定義Locale對象
* 可以獲得系統(tǒng)默認 local ,也可以自定義
* 缺省的Locale是有操作系統(tǒng)決定的
* Locale是有語言和國家代碼構(gòu)成
3、創(chuàng)建一個ResourceBundle對象
* ResourceBundle對象用于分離跟本地相關(guān)的數(shù)據(jù)
* 如果找不到相應(yīng)語言或國家代碼的屬性文件,將使用默認的屬性文件(即沒有標識語言和國家代碼的屬性文件:MessagesBundle.properties)
4、從ResourceBundle對象中獲取數(shù)據(jù),如果有占位符,可以給占位符賦值
示例:
public class test { public static void main(String[] args) { //獲取系統(tǒng)默認locle Locale localeDefault=Locale.getDefault(); System.out.println("Country="+localeDefault.getCountry()); System.out.println("Language="+localeDefault.getLanguage()); System.out.println("------------------------"); //我們通過指定一個語言代碼和國家代碼來創(chuàng)建一個Locale對象 Locale localeNew=new Locale("en","US"); System.out.println("Country="+localeNew.getCountry()); System.out.println("Language="+localeNew.getLanguage()); System.out.println("------------------------"); //讀取國際化資源文件 /** * 其創(chuàng)建方式如下: 第一個參數(shù),表示要從哪些資源屬性文件中(MessagesBundle_XX_XX.properties)獲取數(shù)據(jù) 第二個參數(shù),是一個Locale對象,表示要選擇哪個資源屬性文件 ResourceBundle對象用于分離跟本地相關(guān)的數(shù)據(jù) 如果找不到相應(yīng)語言或國家代碼的屬性文件, 將使用默認的屬性文件(即沒有標識語言和國家代碼的屬性文件:MessagesBundle.properties) */ ResourceBundle myResources =ResourceBundle.getBundle("com.jialin.resource.MessagesBundle", localeDefault); //從ResourceBundle對象中獲取數(shù)據(jù) System.out.println(myResources.getString("k1")); System.out.println(myResources.getString("k2")); System.out.println("------------------------"); //給國際化資源文件中的占位符賦值 MessageFormat myFormat=new MessageFormat(myResources.getString("k2")); System.out.println(myFormat.format(new Object[]{"jialin"})); } }
Struts國際化實現(xiàn)的核心原理,基本也是這個樣子,只是把相關(guān)的東西都寫到了配置文件中,更復雜也更靈活一些。
下篇繼續(xù)介紹Struts如何實現(xiàn)國際化。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
