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, 2020, Oracle and/or its affiliates. All rights reserved.