Java SE 6 における国際化の拡張機能

ここでは、JDK (Java SE Development Kit) 6 における国際化の拡張機能について概説します。


コア Java の国際化

ロケールに依存するサービスの SPI

ロケールに依存するデータ (日付の書式設定文字列など) とサービス (日付フォーマッタなど) がプラグインできるように、java.text および java.util パッケージに含まれるロケール依存クラスには、いくつかの SPI (Service Provider Interface) が追加されています。これらの SPI により、開発者は Java SE の現在使用可能なロケールのほかにも多数のロケールを容易にサポートすることができます。たとえば、Java ランタイムの BreakIterator.getSentenceInstance ファクトリで、中国語の BreakIterator を独自に実装できるようになります。

Unicode Normalizer API

新しい 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 ファクトリによって呼び出される一連のコールバックメソッドを定義します。アプリケーションでは、これらのコールバックメソッドをオーバーライドして、ファクトリメソッドの動作を変更することができます。

追加ロケールのサポート

現在使用できるロケールは次のとおりです。

詳細は「サポートされるロケール」のドキュメントを参照してください。


デスクトップ Java の国際化

英語以外のロケールのキー入力

Solaris および Linux オペレーティングシステムにおいて英語以外のロケールで発生するキー入力の各種問題を修正するため、キーボードに関する AWT コードのアーキテクチャーが変更されました。


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.