ヘッダーをスキップ
Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド
11gリリース1(11.1.1)
B52029-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

21 ページの国際化およびローカライズ

この章では、ユーザーのブラウザの適切な言語でテキストが表示されるように、JSFページまたはアプリケーションを構成する方法を説明します。

この章に含まれる項は次のとおりです。

21.1 ADF Facesページの国際化およびローカライズの概要

国際化は、特定地域の言語と文化に適応しやすくするための、製品の設計および開発のプロセスです。ローカライゼーションは、テキストを変換し、ロケール固有のコンポーネントを追加することで、特定地域の言語または文化に製品を適応するプロセスです。上手くローカライズされたアプリケーションは、その地域で開発されたように見えます。JDeveloperは、抽象クラスjava.util.ResourceBundleを使用してロケール固有のリソースを提供し、ADF Facesコンポーネントをローカライズしやすいようにサポートします。

複数の国のユーザーがアプリケーションを表示する場合、ユーザーのブラウザの言語設定に対応する適切な言語が表示されるよう、様々なロケールを使用できるようにJSFページまたはアプリケーションを構成できます。たとえば、ページがイタリアで表示されるとわかっている場合、ユーザーのブラウザがイタリア語を使用するように設定されているときにはブラウザ・ページ内のテキスト文字列がイタリア語で表示されるように、ページをローカライズできます。

ADF Facesコンポーネントには、コンポーネントの一部であるテキストが含まれる場合があります。たとえば、af:tableコンポーネントでは、データの初期ロード中に表がデータをフェッチしている間、または表がスクロールされている間、ブラウザに表示されるメッセージ・テキストにリソース文字列af_table.LABEL_FETCHINGが使用されます。JDeveloperでは、これらのテキスト・リソースが28言語に自動的に変換されます。これらのテキスト・リソースは、リソース・バンドルで参照されます。イタリア語を使用するようにブラウザを設定した場合、コンポーネント内に含まれるテキストはすべて自動的にイタリア語で表示されます。スキンおよびリソース・バンドルの詳細は、第20章「スタイルおよびスキンを使用した外観のカスタマイズ」を参照してください。

text属性を設定してaf:commandButtonコンポーネントのラベルを定義する場合など、コンポーネントに追加するテキストには、実際のテキストが含まれているリソース・バンドルを指定して、各ロケール版のリソース・バンドルを作成し、<locale-config>要素を追加して、アプリケーションのfaces-config.xmlファイルにデフォルトおよびサポートされるロケールを定義する必要があります。また、アプリケーションのすべてのページでリソース・バンドルを使用できるようにするには、アプリケーションのfaces-config.xmlファイルに<resource-bundle>要素を追加する必要があります。リソース・バンドルを構成および登録すると、式言語(EL)エディタによりバンドルのキーが表示され、アプリケーション・ページでのバンドルの参照が簡単になります。

ADFコンポーネントに追加するテキストのテキスト・リソースを作成するプロセスを簡略化するために、JDeveloperでは、ビジュアル・エディタの変換可能な文字列に関する、リソース・バンドルの自動同期がサポートされています。ビジュアル・エディタまたはプロパティ・インスペクタで直接コンポーネントを編集すると、ベース・リソース・バンドルにテキスト・リソースが自動的に作成されます。


注意:

データベースから取得されたテキストは変換されません。このドキュメントでは、静的テキストのローカライズ方法については説明しますが、データベース内に格納されているテキストのローカライズ方法については説明しません。

たとえば、このページのタイトルが「My Purchase Requests」の場合、af:panelPageコンポーネントのtitle属性の値として「My Purchase Requests」を指定するのではなく、この値をUIResourcesリソース・バンドル内のキーにバインドしています。例21-1に示すように、UIResourcesリソース・バンドルは、アプリケーションのfaces-config.xmlファイルに登録されます。

例21-1 JSF構成ファイルのリソース・バンドル要素

<resource-bundle>
  <var>res</var
  <base-name>resources.UIResources</base-name>
</resource-bundle>

リソース・バンドルには、EL式に使用可能な変数名(この場合はres)が提供されます。例21-2に示すように、ページでは、af:panelPageコンポーネントのtitle属性が、そのリソース・バンドル内のmyDemo.pageTitleキーにバインドされます。

例21-2 リソース・バンドルを参照するコンポーネント・テキスト

<af:panelPage text="#{res['myDemo.pageTitle']}

UIResourcesリソース・バンドル内には、アプリケーションの各ページに表示されるすべての静的テキスト、メッセージのテキスト、グローバル・テキスト(汎用ラベルなど)に対する英語のエントリがあります。例21-3に、myDemoページのキーを示します。

例21-3 英語で表示されるmyDemoページのリソース・バンドル・キー

#myDemo Screen
myDemo.pageTitle=My Purchase Requests
myDemo.menubar.openLink=Open Requests
myDemo.menubar.pendingLink=Requests Awaiting customer
myDemo.menubar.closedLink=Closed Requests
myDemo.menubar.allRequests=All Requests
myDemo.menubar.newLink=Create New Purchase Request
myDemo.selectAnd=Select and
myDemo.buttonbar.view=View
myDemo.buttonbar.edit=Edit

バナー・イメージのテキストおよびデータベースから取得されたデータは変換されないことに注意してください。

例21-4に、イタリア語ロケール・バージョンのリソース・バンドル(UIResources_it)を示します。選択ファセットのタイトルに対するエントリがないのに、「Select」が自動的に「Seleziona」に変換されていることに注意してください。これは、このテキストがADF Faces表コンポーネントの選択ファセットの一部になっているためです。

例21-4 イタリア語で表示されるmyDemoページのリソース・バンドル・キー

#myDemo Screen
myDemo.pageTitle=Miei Ticket
myDemo.menubar.openLink=Ticket Aperti
myDemo.menubar.pendingLink=Ticket in Attesa del Cliente
myDemo.menubar.closedLink=Ticket Risolti
myDemo.menubar.allRequests=Tutti i Ticket
myDemo.menubar.newLink=Creare Nuovo Ticket
myDemo.selectAnd=Seleziona e
myDemo.buttonbar.view=Vedere Dettagli
myDemo.buttonbar.edit=Aggiorna

21.2 ロケールおよびリソース・バンドルの定義

バンドルには、名前がStringの名前付きリソースが多数含まれています。バンドルには、親バンドルが存在する場合があります。バンドル内にリソースが見つからない場合は、親バンドルが検索されます。リソース・バンドルはJavaクラス、プロパティ・ファイルまたはXLIFFファイルのいずれかにできます。抽象クラスjava.util.ResourceBundleには、java.util.PropertyResourceBundleおよびjava.util.ListResourceBundleの2つのサブクラスがあります。java.util.PropertyResourceBundleはプロパティ・ファイル内に格納されます。これは、変換可能なテキストを含むプレーン・テキスト・ファイルです。プロパティ・ファイルには、Stringオブジェクトの値しか含められません。他のタイプのオブジェクトを格納する必要がある場合は、プロパティ・ファイルではなくjava.util.ListResourceBundleクラスを使用する必要があります。

XLIFFの使用の詳細は、http://docs.oasis-open.org/xliff/xliff-core/xliff-core.htmlを参照してください。

他のロケールのサポートを追加するには、キーの値をローカライズ済の値で置き換え、言語コード(必須)と、国コードおよび名前の識別子としてのバリアント(オプション)を付加したプロパティ・ファイル(たとえば、UIResources_it.properties)を保存します。

java.util.ListResourceBundleクラスは、名前および値配列内のリソースを管理します。各java.util.ListResourceBundleクラスはJavaクラス・ファイル内に含まれます。ロケール固有のオブジェクトはすべて、java.util.ListResourceBundleクラス内に格納できます。他のロケールのサポートを追加するには、ベース・クラスからサブクラスを作成し、ロケールまたは言語の拡張子が付いたファイルにそれを保存します。続いて変換し、クラス・ファイルにコンパイルします。

ResourceBundleクラスはフレキシブルです。最初にロケール固有のStringオブジェクトをjava.util.PropertyResourceBundleファイルに挿入した場合でも、後でそれらのオブジェクトをListResourceBundleクラスに移動できます。キーを検出するためのコールでは、java.util.ListResourceBundleクラスおよびjava.util.PropertyResourceBundleファイルの両方が検索されるため、コードに影響はありません。

プロパティよりもクラスの方が優先されます。このため、クラス・ファイルとプロパティ・ファイルの両方に同じ言語に対するキーが存在する場合、クラス・ファイル内の値がユーザーに表示されます。また、ロードするバンドルを決定するための検索アルゴリズムは次のとおりです。

  1. (ベース・クラス)+(特定の言語)+(特定の国)+(特定のバリアント)

  2. (ベース・クラス)+(特定の言語)+(特定の国)

  3. (ベース・クラス)+(特定の言語)

  4. (ベース・クラス)+(デフォルトの言語)+(デフォルトの国)+(デフォルトのバリアント)

  5. (ベース・クラス)+(デフォルトの言語)+(デフォルトの国)

  6. (ベース・クラス)+(デフォルトの言語)

たとえば、ユーザーのブラウザがイタリア語ロケールに設定されていて、アプリケーションのデフォルト・ロケールが米語の場合、アプリケーションでは最も近いものを検出するために、次の順序で検索が実行されます。

  1. it_IT

  2. it

  3. en_US

  4. en

  5. ベース・クラス・バンドル


ヒント:

バンドルのロードに使用されたgetBundleメソッドは、ベース・クラス・バンドルを返す前に、デフォルトのロケール・クラスを検索します。一致するものが見つからなかった場合は、MissingResourceExceptionエラーがスローされます。接尾辞のないベース・クラスが、デフォルトとして常に存在している必要があります。存在しない場合は一致が検出されず、例外がスローされます。

21.2.1 ベース・リソース・バンドルの定義方法

コンポーネント自体の一部になっていないすべてのテキスト文字列が含まれたベース・リソース・バンドルを作成する必要があります。このバンドルは、アプリケーションのデフォルト言語で作成する必要があります。リソース・バンドルは、プロパティ・ファイル、XLIFFファイルまたはJavaクラスとして作成できます。リソース・バンドル・ファイルを作成したら、「リソース・バンドルの編集」ダイアログを使用してファイルを編集できます。

リソース・バンドルをプロパティ・ファイルまたはXLIFFファイルとして作成する手順:

  1. JDeveloperで、新規ファイルを作成します。

    • アプリケーション・ナビゲータで、ファイルの保存場所を右クリックし、ポップアップ・メニューから「新規」を選択して「新規ギャラリ」を開きます。


      注意:

      ベース・リソース・バンドルのローカライズ済バージョンを作成する場合は、ベース・ファイルと同じディレクトリにファイルを保存してください。

    • 「カテゴリ」ツリーで「一般」を選択し、「項目」リストで「ファイル」を選択します。「OK」をクリックします。

    • 「ファイルの作成」で、プロパティ・ファイルを使用するファイルには表記規則<name><_lang>.propertiesを使用して、XLIFFファイルを使用するファイルには表記規則<name><_lang>.xlfを使用して、ファイルの名前を入力します。<_lang>接尾辞(ドイツ語では_deなど)は翻訳したファイルに付けられ、元となる言語では省略されます。


      注意:

      ベース・リソース・バンドルのローカライズ済バージョンを作成する場合は、ファイル名にISO 639の小文字の言語コードを追加する必要があります。たとえば、UIResourcesバンドルのイタリア語バージョンは、UIResources_it.propertiesになります。複数の国で1つの言語を使用する場合は、ISO 3166の大文字の国コードを追加できます(たとえば、スイスの場合はit_CH)。また、オプションの非標準バリアント(たとえば、プラットフォームや地域の情報を提供するバリアント)を追加することもできます。

      ベース・リソース・バンドルを作成する場合は、コードを追加しないでください。


  2. ファイルにコンテンツを入力します。キーと値のペアを入力することで、コンテンツを手動で入力できます。21.2.2項「リソース・バンドル・ファイルの編集方法」で説明されているように、「リソース・バンドルの編集」ダイアログを使用してキーと値のペアを入力できます。

    • プロパティ・ファイルを作成している場合は、このバンドルの静的テキストの文字列ごとに、キーと値を作成します。キーは、文字列の一意の識別子です。値は、バンドルの言語でのテキスト文字列です。ベース・リソース・バンドルのローカライズ済バージョンを作成する場合、このバージョン内に存在しないキーは、ベース・クラスから値を継承します。


      注意:

      非ASCII文字はすべてUnicodeエスケープにするか、コンパイル時のエンコーディングを明示的に指定する必要があります。たとえば、次のように指定します。
      javac -encoding ISO8859_5 UIResources_it.java
      

      たとえば、myDemoページのタイトルのキーと値は、次のようになります。

      myDemo.pageTitle=My Purchase Requests
      
    • XLIFFファイルを作成している場合は、キーと値のペアごとに適切なタグを入力します。次に例を示します。

      <?xml version="1.0" encoding="windows-1252" ?>
      <xliff version="1.1" xmlns="urn:oasis:names:tc:xliff:document:1.1">
        <file source-language="en" original="myResources" datatype="xml">
          <body>
            <trans-unit id="NAME">
              <source>Name</source>
              <target/>
              <note>Name of employee</note>
            </trans-unit>
            <trans-unit id="HOME_ADDRESS">
              <source>Home Address</source>
              <target/>
              <note>Adress of employee</note>
            </trans-unit>
            <trans-unit id="OFFICE_ADDRESS">
              <source>Office Address</source>
              <target/>
              <note>Office building </note>
            </trans-unit>
          </body>
        </file>
      </xliff>
      
  3. すべての値を入力したら、「OK」をクリックします。

リソース・バンドルをJavaクラスとして作成する手順:

  1. JDeveloperで、新規Javaクラスを作成します。

    • アプリケーション・ナビゲータで、ファイルの保存場所を右クリックし、「新規」を選択して「新規ギャラリ」を開きます。


      注意:

      ベース・リソース・バンドルのローカライズ済バージョンを作成する場合、これをベース・ファイルと同じディレクトリに保存する必要があります。

    • 「カテゴリ」ツリーで「一般」を選択し、「項目」リストで「Javaクラス」を選択します。「OK」をクリックします。

    • 「Javaクラスの作成」ダイアログで、クラスの名前とパッケージを入力します。クラスはjava.util.ListResourceBundleを拡張している必要があります。


      注意:

      ベース・リソース・バンドルのローカライズ済バージョンを作成する場合は、クラス名にISO 639の小文字の言語コードを追加する必要があります。たとえば、UIResourcesバンドルのイタリア語バージョンは、UIResources_it.javaになります。複数の国で1つの言語を使用する場合は、ISO 3166の大文字の国コードを追加できます(たとえば、スイスの場合はit_CH)。また、オプションの非標準バリアント(たとえば、プラットフォームや地域の情報を提供するバリアント)を追加することもできます。

      ベース・リソース・バンドルを作成する場合は、コードを追加しないでください。


  2. キーと値のペアの配列を返すのみのgetContents()メソッドを実装します。適切な値を使用して、バンドルのキーの配列を作成します。または、21.2.2項「リソース・バンドル・ファイルの編集方法」で説明されているように、「Edit Resource Bundles」ダイアログを使用して自動的にコードを生成します。例21-5に、ベース・リソース・バンドルのJavaクラスを示します。


    注意:

    キーはStringオブジェクトであることが必要です。ベース・リソース・バンドルのローカライズ済バージョンを作成する場合、このバージョン内に存在しないキーは、ベース・クラスから値を継承します。

    例21-5 ベース・リソース・バンドルのJavaクラス

    package sample;
    
    import java.util.ListResourceBundle;
    
    public class MyResources extends ListResourceBundle {
      public Object[][] getContents() {
        return contents;
    }
    static final Object[][] contents {
      {"button_Search", Search"},
      {"button_Reset", "Reset"},
      };
    }
    

21.2.2 リソース・バンドル・ファイルの編集方法

リソース・バンドル・プロパティ・ファイル、XLIFFファイルまたはJavaクラス・ファイルを作成したら、ソース・エディタを使用して編集できます。

リソース・バンドルの作成後に編集する手順:

  1. JDeveloperで、メイン・メニューから「アプリケーション」「リソース・バンドルの編集」を選択します。

  2. 「リソース・バンドルの編集」ダイアログで、図21-1に示されているように、「リソース・バンドル」ドロップダウン・リストから編集するリソース・バンドル・ファイルを選択します。または、「検索」アイコンをクリックして、「リソース・バンドルの選択」ダイアログを起動します。

    図21-1 「リソース・バンドルの編集」ダイアログ

    「リソース・バンドルの編集」ダイアログ
  3. 「リソース・バンドルの選択」ダイアログで、「ファイル・タイプ」ドロップダウン・リストからファイル・タイプを選択します。図21-2に示すように、編集するリソース・バンドルに移動します。「OK」をクリックします。

    図21-2 「リソース・バンドルの選択」ダイアログ

    「リソース・バンドルの選択」ダイアログ
  4. 「リソース・バンドルの編集」ダイアログで、図21-3に示すように、「追加」アイコンをクリックしてキーと値のペアを追加します。完了したら「OK」をクリックします。

    図21-3 リソース・バンドルへの値の追加

    リソース・バンドルへの値の追加

21.2.3 アプリケーションへのロケールおよびリソース・バンドルの登録方法

アプリケーションで使用されるロケールおよびリソース・バンドルをfaces-config.xmlファイルに登録する必要があります。

アプリケーションのロケールを登録する手順:

  1. faces-config.xmlファイルを開き、エディタ・ウィンドウで「概要」タブをクリックします。faces-config.xmlは、<View_Project>/WEB-INFディレクトリにあります。

  2. エディタ・ウィンドウ内で「アプリケーション」を選択します。

  3. 図21-4に示すように、「ロケール構成」領域で、「追加」をクリックしてプロパティ・インスペクタを開き、ロケール用のコードを追加します。

    図21-4 faces-config.xmlへのロケールの追加

    faces-config.xmlへのロケールの追加。

    ロケールを追加したら、faces-config.xmlファイルのコードは次のようになります。

    <locale-config>
          <default-locale>en</default-locale>
          <supported-locale>ar</supported-locale>
          <supported-locale>ca</supported-locale>
          <supported-locale>cs</supported-locale>
          <supported-locale>da</supported-locale>
          <supported-locale>de</supported-locale>
          <supported-locale>zh_Ch</supported-locale>
     </locale-config>
    

リソース・バンドルを登録する手順:

  1. faces-config.xmlファイルを開き、エディタ・ウィンドウで「概要」タブをクリックします。faces-config.xmlは、<View_Project>/WEB-INFディレクトリにあります。

  2. エディタ・ウィンドウ内で「アプリケーション」を選択します。

  3. 「リソース・バンドル」セクションで、「追加」をクリックしてエディタ入力を有効化します。図21-5に示すように、アプリケーションにより使用されるメッセージが含まれたベース・バンドルの完全修飾名、およびEL式でバンドルの参照に使用できる変数名を入力します。

    図21-5 faces-config.xmlへのリソース・バンドルの追加

    faces-config.xmlへのリソース・バンドルの追加。

    リソース・バンドルを追加したら、faces-config.xmlファイルのコードは次のようになります。

    <resource-bundle>
          <base-name>oracle.fodemo.storefront.StoreFrontUIBundle</base-name>
     <var>res</var>
    

21.2.4 アプリケーションでのリソース・バンドルの使用方法

JSF 1.2では、アプリケーションの各ページに、<f:loadBundle>タグを使用してベース・リソース・バンドルをロードする必要はありません。

ページ上でベース・リソース・バンドルを使用する手順:

  1. ページ・エンコーディングとレスポンス・エンコーディングを、サポートされているすべての言語のスーパーセットに設定します。エンコーディングが設定されていない場合、ページ・エンコーディングはデフォルトで、ページ・ディレクティブのcontentType属性を使用して設定されたレスポンス・エンコーディングの値に設定されます。例21-6に、サンプル・ページのエンコーディングを示します。

    例21-6 ページおよびレスポンスのエンコーディング

    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:af="http://xmlns.oracle.com/adf/faces"
              xmlns:afc="http://xmlns.oracle.com/adf/faces/webcache">
      <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
                  doctype-system="http://www.w3.org/TR/html4/loose.dtd"
                  doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
      <jsp:directive.page contentType="text/html;charset=UTF-8"/>
      <f:view>
    

    ヒント:

    デフォルトでは、JDeveloperによりページ・エンコーディングはwindows-1252に設定されます。デフォルトを別のページ・エンコーディングに設定するには、次のようにします。
    1. メニューから「ツール」「設定」を選択します。

    2. 左側のペインで「環境」を選択します(まだ選択されていない場合)。

    3. 「エンコーディング」を優先されるデフォルトに設定します。


  2. <resource-bundle>要素用にfaces-config.xmlファイルに定義されている変数を使用して、ページ上に表示される静的テキストの文字列を表すすべての属性を、リソース・バンドル内の適切なキーにバインドします。例21-7に、myDemoページの「View」ボタンのコードを示します。

    例21-7 リソース・バンドルへのバインド

    <af:commandButton text="#{res['myDemo.buttonbar.view']}"
                      . . . />
    
  3. adfbundleキーワードを使用して、特定のリソース・バンドルのリソース文字列をJSFページのEL式として解決することもできます。

    使用状況フォーマットは、#{adfBundle[ bundleID ] [ resource_Key ]}です。ここで、bundleIDは完全修飾されたバンドルID(project.EmpMsgBundleなど)で、resource_Keyは、バンドル内のリソース・キー(Deptno_LABELなど)です。例21-8に、adfbundleを使用して、特定のリソース・バンドルのリソース文字列を含むボタン・テキストを提供する方法を示します。

    例21-8 adfbundleを使用したバインディング

    <af:commandButton text="#{adfbundle['project.EmpMsgBundle'] ['Deptno_LABEL']}"
    

21.2.5 カスタム・スキンおよびコントロール・ヒントについて

カスタム・スキンを使用する場合で、そのスキンのカスタム・リソース・バンドルを作成した場合は、そのリソース・バンドルのローカライズ済バージョンも作成する必要があります。同様に、コントロール・ヒントを使用してテキストを設定するアプリケーションの場合は、そのテキストに対して生成されたリソース・バンドルのローカライズ済バージョンを作成する必要があります。

21.3 JDeveloperにおける自動リソース・バンドル統合の使用

ビジュアル・エディタでADF Facesコンポーネントを編集する際、JDeveloperでは、デフォルトのリソース・バンドルへのテキスト・リソースの自動作成がデフォルトでサポートされています。ユーザー定義の文字列を静的な値として処理するには、21.3.1項「リソース・バンドル・オプションの設定方法」で説明されているように、「プロジェクト・プロパティ」ダイアログで「バンドルの自動同期化」を無効にします。

自動リソース・バンドル統合は、ページまたはプロジェクトごとに1つのリソース・バンドル、または複数の共有バンドルをサポートするように構成できます。

ユーザーは、次のいずれかの方法で変換可能なテキスト文字列を編集できます。

21.3.1 リソース・バンドル・オプションの設定方法

プロジェクトを作成したら、「プロジェクト・プロパティ」ダイアログにリソース・バンドル・オプションを設定できます。

プロジェクトにリソース・バンドル・オプションを設定する方法:

  1. アプリケーション・ナビゲータで、プロジェクトをダブルクリックします。

  2. 図21-8に示すように、「プロジェクト・プロパティ」ダイアログで、「リソース・バンドル」を選択してリソース・バンドル・オプションを表示します。

    図21-8 「プロジェクト・プロパティ」の「リソース・バンドル」ダイアログ

    「プロジェクト・プロパティ」の「リソース・バンドル」。
  3. JDeveloperにより自動的にデフォルトのリソース・ファイルが生成されるようにする場合は、「バンドルの自動同期化」を選択します。

  4. 次に示すいずれかのリソース・バンドル・ファイル・オプションを選択します。

    • 1プロジェクト当たり1バンドル: <ProjectName>.propertiesという名前のファイルに構成されます。

    • 1ファイル当たり1バンドル: <FileName>.propertiesという名前のファイルに構成されます。

    • 複数の共有バンドル

  5. ドロップダウン・リストからリソース・バンドル・タイプを選択します。

    • XML Localization Interchange File Format(XLIFF)バンドル

    • リスト・リソース・バンドル

    • プロパティ・バンドル

21.4 ADF Facesのオプションのローカライゼーション・プロパティの構成

ADF Facesでは、テキスト変換だけでなく、他のタイプ(テキストの向きや通貨コードなど)の変換も自動的に提供されます。アプリケーションは、ユーザーの選択したロケールに基づいて、自動的に適切に表示されます。ただし、trinidad-config.xmlファイル内でアプリケーションの次のローカライゼーション設定を手動で設定することもできます。

21.4.1 オプションのローカライゼーション・プロパティの構成方法

trinidad-config.xmlファイルに要素を入力することで、オプションのローカライゼーション・プロパティを構成できます。

オプションのローカライゼーション・プロパティを構成する手順:

  1. trinidad-config.xmlファイルを開きます。このファイルは、<View_Project>/WEB-INFディレクトリにあります。

  2. コンポーネント・パレットから、ファイルに追加する要素を構造ウィンドウ内にドラッグします。空の要素がページに追加されます。

  3. 目的の値を入力します。

例21-9に、オプションのローカライゼーション要素すべてが設定されたtrinidad-config.xmlファイルのサンプルを示します。

例21-9 通貨コードおよび数値と小数点のセパレータの構成

<!-- Set the currency code to US dollars. -->
<currency-code>USD</currency-code>

<!-- Set the number grouping separator to period for German -->
<!-- and comma for all other languages -->
<number-grouping-separator>
 #{view.locale.language=='de' ? '.' : ','}
</number-grouping-separator>

<!-- Set the decimal separator to comma for German -->
<!-- and period for all other languages -->
<decimal-separator>
 #{view.locale.language=='de' ? ',' : '.'}
</decimal-separator>

<!-- Render the page right-to-left for Arabic -->
<!-- and left-to-right for all other languages -->
<right-to-left>
 #{view.locale.language=='ar' ? 'true' : 'false'}
</right-to-left>

<formatting-locale>
 #{request.locale}
</formatting-locale>

<!-- Set the time zone to Pacific Daylight Savings Time -->
<time-zone>PDT</time-zone>