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

Java SE 7の国際化の拡張機能には、次のものがあります。

Unicode 6.0.0の新しいスクリプトと文字

Java SE 7リリースの初期バージョンでは、Unicode 5.1.0のサポートが追加されました。Java SE 7リリースの最終バージョンでは、Unicode 6.0.0がサポートされています。Unicode 6.0.0は、Unicode標準のメジャー・バージョンであり、2000を超える文字や、プロパティとデータのファイルが追加でサポートされています。

Javaチュートリアルには、Unicodeについて説明する新しいセクションがあります。

ISO 4217通貨コードの拡張サポート

通貨は、ISO 4217コードで識別されます。これらのコードは外部機関によって管理され、Java SEプラットフォームとは関係なくリリースされています。Java SE 7以降は、JDKの新しいリリースを必要とせずに、新しい通貨に対応できます。

デフォルトの通貨を実行時に置き換えるには、<JAVA_HOME>/lib/currency.propertiesという名前のプロパティ・ファイルを作成します。このファイルには、ISO 3166国番号とISO 4217通貨データからなるキーと値のペアが格納されます。値の部分は、カンマで区切られたISO 4217の3つの通貨の値(英字コード、数値コード、およびマイナー単位)で構成されます。シャープ記号(#)で始まる行は、コメント行として扱われます。たとえば、

# Sample currency property for Japan
JP=JPZ,999,0

この機能の新しいAPIには、次のメソッドが含まれています。これらはすべてCurrencyクラスにあります。

カテゴリ・ロケール・サポート

デフォルト・ロケールは、次の2種類の用途に対して別々に設定できます。フォーマット設定はリソースをフォーマットするために使用され、表示設定はメニューやダイアログで使用されます。新しいgetDefault(Locale.Category)メソッドは、Locale.Categoryパラメータを取ります。このメソッドにFORMAT列挙を渡すと、リソースをフォーマットするためのデフォルト・ロケールが返されます。同様に、DISPLAY列挙を渡すと、UIで使用されるデフォルト・ロケールが返されます。setDefault(Locale.Category, Locale)メソッドは、指定されたカテゴリのロケールを設定するために使用されます。引数なしのgetDefaultメソッドでは、DISPLAYのデフォルト値が返されます。

Microsoft Windowsでは、これらのデフォルト値はWindowsコントロール・パネルの「標準と形式」および「表示言語」の設定に従って初期化されます。

ロケール・クラスがBCP47とUTR35をサポート

Localeクラスは、BCP 47 (IETF BCP 47「Tags for Identifying Languages」)と相互に交換できる識別子を実装するように更新され、ロケール・データ交換用のLDML (UTS#35「Unicode Locale Data Markup Language」)のBCP 47互換拡張をサポートしています。

このリリースでは、Localeクラスに次のネストされたクラスが追加されました。

Localeクラスに次のメソッドが追加されました。

LOCALEクラスに次の定数が追加されました。

詳細は、Javaチュートリアルロケールの作成およびBCP 47拡張に関するレッスンを参照してください。

新しいNumericShaperメソッド

NumericShaperクラスは、Latin-1 (ヨーロッパ言語)の数字をほかのUnicode 10進数に変換するために使用します。Java SE 7リリースでは、独自の10進数を持つスクリプトのUnicodeの範囲を表すNumericShaper.Range列挙が追加されました。Java SE 7リリースには、このNumericShaper.Range列挙を使用する次のメソッドが追加されています。

詳細は、Javaチュートリアルラテン数字から他のUnicode数字への変換に関するレッスンを参照してください。

正規表現APIでのUnicode 6.0サポート

正規表現のパターン・マッチング機能が、Unicode 6.0をサポートするように拡張されました。\uまたは\xエスケープ・シーケンスを使用してUnicodeコード・ポイントを照合できます。

詳細は、JavaチュートリアルUnicodeのサポートに関するページを参照してください。


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