Java SE 6の国際化の変更

Norbertが,ものすごい勢いでブログを更新しているが,特に注目したいのが,国際化がどのように変わるかということだ.ぜひコメントしてあげて欲しい.

ロケール回りの変更

New Supported Locales
http://blogs.sun.com/roller/page/norbert?entry=new_supported_locales

ロケールの追加は,基本的にはロケールのカバー範囲を広げるのが目的だが,唯一ja_JP_JPだけが和暦サポートのために追加されている.

また,今後はCLDR(Common Locale Data Repository)という,IBMが作り,Unicode Consortiumが保守しているデータが使われるようになる.

ただし,これは非互換なロケールデータの変更を伴うので,各自自分のプログラムをしっかりチェックされたし.

リソースバンドルの制御性の向上

More Control over ResourceBundle
http://blogs.sun.com/roller/page/norbert?entry=more_control_over_resourcebundle

ResourceBundle.Controlクラスが追加されて,フォールバック,代替ロケール,キャッシュ期間などの制御などができるようになるらしい.

ロケールセンシティブサービスSPI

Locale Sensitive Services SPI
http://blogs.sun.com/roller/page/norbert?entry=locale_sensitive_services_spi

今後は,ロケールセンシティブなクラスの拡張ができるようになる.

なお,SPIを提供するかわりに,CLDRのフルサポートも検討されたが,処理系サイズの増大を招くことから却下されたらしい.ただ,CLDRをフルサポートする拡張を作る計画もあるとのこと.