ここでは、JDK (Java SE Development Kit) 6 における国際化の拡張機能について概説します。
ロケールに依存するデータ (日付の書式設定文字列など) とサービス (日付フォーマッタなど) がプラグインできるように、java.text および java.util パッケージに含まれるロケール依存クラスには、いくつかの SPI (Service Provider Interface) が追加されています。これらの SPI により、開発者は Java SE の現在使用可能なロケールのほかにも多数のロケールを容易にサポートすることができます。たとえば、Java ランタイムの BreakIterator.getSentenceInstance ファクトリで、中国語の BreakIterator を独自に実装できるようになります。
新しい java.text.Normalizer クラスは、「Unicode Standard Annex #15」で定義された Unicode テキスト正規化をサポートします。
新しい java.net.IDN クラスは、RFC 3490、3491、3454、3492 に準拠した IDN (Internationalized Domain Name) をサポートします。
2005 年 (グレゴリオ暦) を平成 17 年とするような和暦の計数をサポートするため、新しい Calendar 実装が追加されています。この和暦のインスタンスは、Locale("ja", "JP", "JP") を指定すれば、Calendar.getInstance ファクトリで作成することができます。java.text.SimpleDateFormat クラスは、グレゴリオ暦以外のカレンダ固有の年号および日付形式をサポートしています。詳細は、「サポートされるカレンダ」のドキュメントを参照してください。
ResourceBundle 拡張アプリケーションによるリソースバンドルロード処理の制御を強化するため、ネストされた新しい java.util.ResourceBundle.Control クラスが追加されています。このクラスは、リソースバンドルロード処理中に ResourceBundle.getBundle ファクトリによって呼び出される一連のコールバックメソッドを定義します。アプリケーションでは、これらのコールバックメソッドをオーバーライドして、ファクトリメソッドの動作を変更することができます。
現在使用できるロケールは次のとおりです。
zh_SG - 中国語 (簡体字)、シンガポールen_MT - 英語、マルタen_PH - 英語、フィリピンen_SG - 英語、シンガポールel_CY - ギリシャ語、キプロスid_ID - インドネシア語、インドネシアga_IE - アイルランド語、アイルランドms_MY - マレー語、マレーシアmt_MT - マルタ語、マルタpt_BR - ポルトガル語、ブラジルpt_PT - ポルトガル語、ポルトガルes_US - スペイン語、米国詳細は「サポートされるロケール」のドキュメントを参照してください。
Solaris および Linux オペレーティングシステムにおいて英語以外のロケールで発生するキー入力の各種問題を修正するため、キーボードに関する AWT コードのアーキテクチャーが変更されました。