國際化(Internationalization,又稱il8n),是越來越多的應用軟件必須面臨的問題,Java語言採用Unicode編碼,並且提供了強大的類庫支持國際化編程。採用Java語言編程,可以方便地實現應用軟件界面語言的國際化。國際化編程常用類:使用Java語言進行國際化編程,經常要用到Locale類及ResourceBundl e類,它們都在包java.util中。
- Locale類
Locale類包含對主要地理區域的地域化特徵的封裝。通過設定Locale,我們可以爲特定的國家或地區提供符合當地文化習慣的語言、表達格式等。一個Locale可由語言代碼和地區代碼組合而成。常用的兩種Locale代碼如下:語言代碼 地區代碼 Locale代碼 說明 en US en_US 美國英語 zh CN zh_CN 簡體中文
- ResoureeBundle類
ResourceBundle類是一個抽象類,需要通過getBundle(String baseName,Locale locale)方法加載擴展名爲properties的資源文件。資源文件的名稱由一個基本名稱和Locale代碼組成,而基本名稱則可以在Java程序中調用getBundle(StringbaseName,Locale locale)方法時傳人蔘數指定。
例如,我們在程序中指定基本名稱爲messages,Locale代碼爲zh_CN, 則對應的資源文件應爲messages_zh_CN.properties放在src的com.i18n包下。 - 代碼實現
下面的代碼就是加載了messages_zh_CN.properties 的資源文件,讀取了資源文件中的title的值。//Locale locale = new Locale("zh", "CN"); Local locale = request.getLocale();//獲取客戶端的語言環境信息 ResourceBundle messages = ResourceBundle.getBundle("com.i18n.messages", locale); String title = messages.getString("title");