首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

J2SE 6 國際化增強新特性:資源控制、歸一化、IDN 與日曆支援

     編輯:Java 程式設計入門

對國際化和本地化的支援是 Java 標準版一大優點。Java SE 6 一如既往地為那些重視本地化資源存取和操作的應用程式開發者提供支援。Java SE 6 在以下幾方面為本地化作了加強:資源的存取和控制、針對本地化的服務、歸一化文本、國際化網域名稱 (IDN)、日本國的日曆、新增 locales。

資源存取和控制增強

程式設計人員用 java.util.ResourceBundle 類別中提供的方法來為應用程式提供本地化資源。使用這個類別中的靜態方法 getBundle 來定位以及載入本地化資源。Java SE 6 新增加的功能讓程式設計人員能更靈活地來為應用程式的本地化資源內容決定如何儲存以及怎樣儲存。

Java SE 6 先前的版本中,程式設計人員通常是用屬性檔案和 ListResourceBundle 的一個子類別來儲存本地化資源。現在,程式設計人員可以為資源檔案指定不同的格式了。舉例來說,使用基於 XML 格式的資源檔案,程式設計人員也可能改動本地化資源檔案的預設命名規範,像這樣的特定是 ResourceBundle.Control 類別來做工作。

ResourceBundle.Control 類別負責資源載入過程中的主要步驟,每個步驟對應類別中的一個獨立的方法。透過覆寫這些方法來定制策略,以期對資源實現非凡定位、載入和快取。Control 類別裡定義的方法是實現現有的預設策略,所以子類別化來實現特定的功能。

預設行為範例

Locale targetLocale = new Locale("fr", "FR"); // French language, French region
ResourceBundle myResources = ResourceBundle.getBundle("com.sun.demo.intl.AppResource", targetLocale);

如果你正在使用以 en_US 為預設 locale 的環境,那麼 Control 物件在預設情況下就會搜索如下列出的那些本地化的 AppResource 名稱:

com.sun.demo.intl.AppResource_fr_FR
com.sun.demo.intl.AppResource_fr
com.sun.demo.intl.AppResource_en_US
com.sun.demo.intl.AppResource_en
com.sun.demo.intl.AppResource

對於以上列出的每個「綁定」名稱,Control 預設地會去搜尋兩種實現格式:一種是 ResourceBundle 的子類別;另一種是 PropertyResourceBundle 的屬性檔案。AppResource 的預設行為是會為「綁定」進行快取的。

其他國際化增強

  • 歸一化文本:支援 Unicode 正規化形式,解決字元等價性比較問題
  • 國際化網域名稱 (IDN):支援非 ASCII 字元的網域名稱解析
  • 日本日曆支援:新增 JapaneseImperialCalendar 類別支援日本年號
  • 新增 Locales:擴展支援更多語言與地區組合
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved