感謝了博客http://lavasoft.blog.51cto.com/62575/184605/ java
1、認識國際化資源文件編程
這個類提供軟件國際化的捷徑。經過此類,能夠使您所編寫的程序能夠:ide
輕鬆地本地化或翻譯成不一樣的語言spa
一次處理多個語言環境操作系統
之後能夠輕鬆地進行修改,支持更多的語言環境翻譯
說的簡單點,這個類的做用就是讀取資源屬性文件(properties),而後根據properties文件的名稱信息(本地化信息),匹配當前系統的國別語言信息(也能夠程序指定),而後獲取相應的properties文件的內容。code
使用這個類,要注意的一點是,這個properties文件的名字是有規範的:通常的命名規範是: 自定義名_語言代碼_國別代碼.properties,xml
若是是默認的,直接寫爲:自定義名.propertiesblog
沒有提供語言和地區的資源文件是系統默認的資源文件。資源
好比:定義三個資源文件,放到src的根目錄下面(必須這樣,或者你放到本身配置的calsspath下面。
myres.properties
aaa=good bbb=thanks
myres_en_US.properties
aaa=good bbb=thanks
myres_zh_CN.properties
aaa=\u597d bbb=\u591a\u8c22
若是你在中文操做系統編程環境下面,若是myres_zh_CN.properties、myres.properties兩個文件都存在,則優先會使用myres_zh_CN.properties,當myres_zh_CN.properties不存在時候,會使用默認的myres.properties。
2、實例
定義個資源文件,放到src的根目錄下面(必須這樣,或者你放到本身配置的calsspath下面。
myres_zh_CN.properties aa=good bb=thanks
運行實例
package localevidence; import java.util.Locale; import java.util.ResourceBundle; public class TestResourceBundle { /** * @param args */ public static void main(String[] args) { Locale locale1 = new Locale("zh", "CN"); //設置本地環境參數language and country // TODO Auto-generated method stub System.out.println("地區"+locale1.getCountry()); System.out.println("地區"+locale1.getLanguage()); ResourceBundle resource = ResourceBundle.getBundle("myres", locale1); System.out.println(resource.getString("onlyfun.caterpillar.welcome") + "!"); System.out.println(resource.getString("onlyfun.caterpillar.name") + "!"); } }
運行結果:
地區CN
地區zh
good !thanks!
結果沒有將good 和thanks轉換成中文。