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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

