ここでは、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 コードのアーキテクチャーが変更されました。