JViews におけるソフトウェア・グローバリゼーション

JViews に基づくアプリケーションは、Java 2 Platform が提供する通常のグローバリゼーション・メカニズムを使用してこの両方の項目を実現します。このメカニズムには、LocaleResourceBundle、およびその他の Java クラスが含まれます。グローバリゼーションについて初心者の場合は、Java グローバリゼーションへのリンクがよい開始点になります。
JViews は、アドバンスト・グローバリゼーション・サービス用 ICU を使用し、ベース・テキスト方向として「右から左」の文字方向を使用する言語をサポートします。

ICU の使用

JViews は、ICU ライブラリーを使用します。International components for Unicode を参照してください。この製品には、ICU4J バージョン 55.1 が付属します。JAR ファイルは、jviews-framework89/lib/external/icu4j-4_8.jar に配置されます。 より新しいバージョンの ICU4J も動作する場合があります。

Locale クラスおよび Ulocale クラス

JRE クラス java.util.Locale および ICU クラス ULocale は、ユーザーのロケール、つまりグローバリゼーションに関連するユーザーの設定を指定します。
ULocale クラスは、Locale の拡張部分および拡張可能部分と見なすことができます。
  • Locale には、言語、国、および未定の構文のバリアント仕様のみが含まれ、ULocale には、スクリプト、カレンダー、照合、通貨、およびその他の考えられる詳細仕様も含まれます。
  • ULocale.forLocale メソッドを使用して、Localeオブジェクトを ULocale オブジェクトに変換することができます。
  • ULocale.forLocale メソッドを使用して、ULocale オブジェクトを Locale オブジェクトに変換できますが、スクリプト、カレンダー、照合などの属性が失われます。
ULocale について詳しくは、ユーザー・マニュアルおよびリファレンス・マニュアルを参照してください。
Locale クラスは、ストリング・トランスレーションの検索または数値フォーマットを十分にサポートします。カレンダー計算、日付フォーマット、またはソートを含むサービスの場合は、ULocale オブジェクトを JViews に渡してください。Locale オブジェクトには、これらのトピックに関するユーザーの設定が含まれません。

Swing アプリケーションおよび Eclipse RCP アプリケーションでの ULocale

スタンドアロン・アプリケーションでは、一連のシステム・プロパティーを使用して、ULocale を指定することができます。
  • user.language プロパティー: この値は、ISO 639 言語コードにする必要があります。
  • user.country プロパティー: この値は、ISO 3166 国コードにする必要があります。
  • user.variant プロパティー: この値の構文は特定されていません。
  • user.script プロパティー: 。この値は、4 文字の ISO 15924 スクリプト・コードにする必要があります。
  • user.calendar プロパティー: この値は、ICU ユーザー・ガイドで説明されています。
  • user.collation プロパティー: この値は、ICU ユーザー・ガイドで説明されています。
  • user.currency プロパティー: この値は、ICU ユーザー・ガイドで説明されています。
  • user.numbers プロパティー: この値は、4 文字の ISO 15924 スクリプト・コードまたは Unicode UTS #35 にリストされているシステム識別子の 1 つにする必要があります。

Web アプリケーションでの ULocale

Web アプリケーションでは、ブラウザーが送信する Accept-Language 情報からロケールが推論されます (デフォルト)。これには、スクリプト、カレンダー、照合などの情報が含まれません。
推論されたロケールとは異なるロケール (企業ポリシーで指定されたロケール、現在のセクションとしてユーザーが明示的に選択したロケール、前のセッションのロケール、またはユーザーの登録プロファイルのロケール) を使用する場合は、現在の要求の期間に IlvLocaleUtil.setThreadULocale(ULocale locale) を使用してロケールを指定する必要があります。1 つのセッション内でロケールを変更する場合は、関連する Web コンポーネントに対して IlvLocaleUtil.setThreadULocale(ULocale locale) を呼び出す必要があることもあります。

ICU サービス: 暗黙的な使用

以下のクラスは、java.util インターフェースまたは java.text インターフェースに準拠するオブジェクトを作成しますが、内部で ICU サービスを使用します。

ICU サービス: 明示的な使用

ICU 固有のカスタマイズを含む ICU サービスを java.util インターフェースおよび java.text インターフェースに基づく JViews API と共に使用するには、以下のブリッジ・クラスを使用することをお勧めします。