對國際化和本地化的支援是 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 的預設行為是會為「綁定」進行快取的。
JapaneseImperialCalendar 類別支援日本年號