ヘッダーをスキップ
Oracle Database Application Expressユーザーズ・ガイド
リリース2.2
B31492-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

14 アプリケーションのグローバリゼーションの管理

このセクションでは、アプリケーション・ビルダーで構築されたアプリケーションを言語変換する方法について説明します。

内容は次のとおりです。

アプリケーションの言語変換およびグローバリゼーション・サポート

アプリケーション・ビルダーでは、同時に複数の言語で実行可能なアプリケーションを開発できます。 単一のOracleデータベース・インスタンスとOracle Application Expressで、異なる言語で実行するようにカスタマイズされた複数のデータベース・セッションをサポートできます。

通常、アプリケーション・ビルダーで構築されたアプリケーションを言語変換するには、次のステップを実行します。

このセクションの内容は次のとおりです。

言語の指定

アプリケーションの作成後、「グローバリゼーション属性の編集」ページで言語プリファレンスを指定します。 「グローバリゼーション属性の編集」ページで、アプリケーションのプライマリ言語を選択し、Application Expressエンジンでアプリケーション言語を決定する方法を指定します。ユーザーのブラウザの言語プリファレンス、アプリケーションのプリファレンスまたはアイテムのプリファレンスに基づいてアプリケーション言語を指定できます。

アプリケーション・ビルダーで構築されたアプリケーションの変換規則

使用する言語変換バージョンを指定する場合は、次の規則を使用します。

  • ユーザーの言語プリファレンスに完全一致する言語コードの言語変換済アプリケーションが検索されます。

  • ユーザーの言語プリファレンスに部分一致する言語コードの言語変換済アプリケーションが検索されます。このためには、言語およびロケールの存在が確認されます。 たとえば、ユーザー言語プリファレンスがen-usで、en-usの変換済バージョンが存在しない場合は、言語コードがenの変換済アプリケーションを検索します。

  • アプリケーションのプライマリ言語が使用されます。

たとえば、プライマリ言語がドイツ語(de)のアプリケーションを作成し、言語コードen-usの言語変換済バージョンのアプリケーションを作成すると想定します。ユーザーがブラウザ言語en-usを使用してこのアプリケーションにアクセスすると、英語(en-us)バージョンのアプリケーションが実行されます。 ユーザーがブラウザ言語en-gbを使用してこのアプリケーションにアクセスすると、アプリケーションがプライマリ言語(ドイツ語)で表示されます。 この例では、enのすべてのバリエーションに対応するために、言語コードenを使用して英語に変換されたバージョンを作成する必要があります。

言語変換済アプリケーションのレンダリング方法

Oracle Application Expressがアプリケーションの言語を決定した後、Application Expressエンジンは、特定のページ・リクエストに対してデータベース言語を変更します。その後、適切な言語に言語変換されたアプリケーションを検索します。 Application Expressエンジンがその言語を検出すると、その定義を使用してアプリケーションをレンダリングします。それ以外の場合は、ベース(プライマリ)のアプリケーション言語でアプリケーションをレンダリングします。

アプリケーション内に表示されるテキストは、すぐには言語変換されないことに注意してください。 Oracle Application Expressは、ベース言語アプリケーション定義または代替アプリケーション定義のいずれかから動的にページ属性を収集します。

言語変換可能なコンポーネント

アプリケーション・ビルダーでアプリケーションを作成する際、フィールド・ラベル、リージョン・ヘッダー、ページ・ヘッダー・テキストなど、多数の宣言的な属性を定義します。このセクションで説明するステップを使用して、アプリケーション内のすべてのアプリケーション定義属性を言語変換可能にできます。

メッセージの言語変換をサポートするショートカット

アプリケーション・ビルダーには、 言語変換可能なメッセージを参照できる、2つのショートカット・タイプがあります。

  • メッセージ: 言語変換可能なメッセージを実行時に参照するには、このショートカットを使用します。ショートカット名は、対応するメッセージ名と一致させる必要があります。実行時、ショートカット名は、現在の言語に変換可能なメッセージのテキストに拡張されます。

  • JavaScriptにより一重引用符がエスケープされたメッセージ: このショートカットを使用して、JavaScriptリテラル文字列内部のショートカットを参照し、実行時に変換可能なメッセージを参照します。このショートカットは、テキスト文字列を定義します。ショートカットが参照されると、JavaScriptに必要な一重引用符がエスケープされます。

メッセージ

アプリケーションにPL/SQLリージョンまたはPL/SQLプロセスが含まれる場合は、生成されたHTMLまたはテキストを言語変換する必要があります。 Oracle Application Expressが言語変換される10言語のいずれでもない言語をアプリケーションで使用する場合は、レポートで使用されるメッセージも言語変換する必要があります。

テキスト文字列の動的言語変換

動的言語変換は、実行時に言語変換する必要があるデータベース・データに使用されます。たとえば、動的言語変換を使用して、データベース問合せに基づくLOVを言語変換する場合があります。 動的言語変換は、言語変換元の言語文字列、言語コードおよび言語変換先の文字列で構成されています。 また、APEX_LANG.LANG APIを使用して、動的言語変換をプログラム的に取得できます。

リージョン・タイトルの言語変換

デフォルトでは、ページ・リージョン・タイトルは、生成された言語変換ファイルに含まれます。ただし、リージョン・タイトルは、言語変換不可と指定できます。

リージョン・タイトルを言語変換不可と指定するには、次のステップを実行します。

  1. 「ページ定義」にナビゲートします。

    1. 「作業領域」ホームページにナビゲートします。

    2. アプリケーション・ビルダー」アイコンをクリックします。

    3. アプリケーションを選択します。

    4. ページを選択します。

      「ページ定義」が表示されます。

  2. 「ページ定義」で、リージョン・タイトルをクリックします。

    「リージョンの編集」ページが表示されます。

  3. 「タイトルを言語変換から除外」チェック・ボックスを選択します。

言語変換テンプレート

デフォルトでは、テンプレートは言語変換可能ではないため、生成された言語変換ファイルには含まれません。通常、テンプレートには言語変換可能なテキストを含めません。 ただし、テンプレートを言語変換可能として指定する必要がある場合は、「ページ・テンプレートの編集」ページで、「翻訳可能」チェック・ボックスを選択します。

テンプレートを言語変換可能として指定するには、次のステップを実行します。

  1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

  2. アプリケーションを選択します。

  3. 「アプリケーション」ホームページで、「共有コンポーネント」をクリックします。

  4. 「ユーザー・インタフェース」で、「テンプレート」を選択します。

    「テンプレート」ページが表示されます。

  5. 編集するテンプレートを検索して、テンプレート名を選択します。

  6. 「名前」で、「翻訳可能」を選択します。

静的置換文字列を使用して言語変換可能なテキストを定義することで、言語変換可能なテキストをアプリケーション・レベルで含めることができます。 アプリケーション・レベル属性は変換されるため、静的置換文字列として定義された任意のテキストは、生成された言語変換ファイルに含められます。

アプリケーションへのプライマリ言語の指定

グローバリゼーション属性は、Application Expressエンジンによるアプリケーションのプライマリ言語の決定方法を指定します。

グローバリゼーション属性を編集するには、次のステップを実行します。

  1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

  2. アプリケーションを選択します。

  3. 属性の編集」をクリックします。

  4. 「グローバリゼーション」をクリックします。

  5. アプリケーションのプライマリ言語」から、アプリケーションが開発されている言語を選択します。

  6. アプリケーション言語の派生元」から、Application Expressエンジンによるアプリケーション言語の決定(派生)方法を指定します。 表14-1に、使用可能なオプションを示します。

    表14-1 アプリケーション言語の派生元オプション

    オプション 説明

    NLSなし(アプリケーションは翻訳されない)

    このオプションは、アプリケーションが言語変換されない場合に選択します。

    アプリケーションのプライマリ言語を使用

    アプリケーションのプライマリ言語属性に基づいて、アプリケーションのプライマリ言語を決定します。 (ステップ5を参照。)

    ブラウザ(ブラウザの言語プリファレンスを使用)

    ユーザーのブラウザの言語プリファレンスに基づいて、アプリケーションのプライマリ言語を決定します。

    アプリケーション・プリファレンス(FSP_LANGUAGE_PREFERENCEを使用)

    APEX_UTIL.SET_PREFERENCE APIを使用して定義された値に基づいて、アプリケーションのアプリケーションのプライマリ言語を決定します。選択した言語プリファレンスを複数のログインで維持するには、このオプションを選択します。

    参照: 「SET_PREFERENCEプロシージャ」

    アイテム・プリファレンス(プリファレンスを含むアイテムを使用)

    FSP_LANGUAGE_PREFERENCEというアプリケーション・レベル・アイテムに基づいて、アプリケーションのプライマリ言語を決定します。 このオプションを使用するには、ログインするたびにOracle Application Expressで適切な言語プリファレンスを決定する必要があります。


アイテムの書式マスクの使用

Application Expressエンジンは、レンダリングされた各ページにグローバリゼーション設定を適用します。デフォルトの動作は、数字や日付などの特定のアイテムの表示に影響する可能性があります。

たとえば、ユーザーのブラウザの言語プリファレンスに基づいて、アプリケーション言語を決定するとします。 Application Expressエンジンが、ユーザーのブラウザの言語プリファレンスをフランス語と決定した場合、日付および数字は、フランス語の標準に合わせた書式で表示されます。書式マスクを適用することによって、このデフォルトの動作をオーバーライドし、アイテムの表示方法を明示的に制御できます。「表示形式」リストから選択して、書式マスクを適用します。

  • アイテム作成時

  • アイテム属性を編集してアイテムを作成した後

次に、ソース・タイプが「データベース列」のアイテムのアイテム属性を編集する方法について説明します。

アイテム属性を編集するには、次のステップを実行します。

  1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

  2. アプリケーションを選択します。

  3. ページを選択します。

    「ページ定義」が表示されます。

  4. 「アイテム」で、アイテム名を選択します。

    「ページ・アイテムの編集」ページが表示されます。

  5. 「名前」で、「表示形式」リストから選択を行います。

  6. 「ソース」で、書式マスクを選択または入力します。


参照:

アイテム属性については、「アイテム」を参照してください。

マルチバイト言語用へのアプリケーションの言語変換

アプリケーションを複数の言語(中国語や日本語など)で同時に実行する必要がある場合、すべての言語をサポートするキャラクタ・セットを使用してデータベースを構成することを検討してください。 同じキャラクタ・セットは、mod_plsqlの対応するデータベース・アクセス記述子(DAD)で構成する必要があります。 UTF8およびAL32UTF8は、ほぼすべての言語をサポートするために使用できるキャラクタ・セットです。

言語変換プロセスの理解

アプリケーション・ビルダーで開発されたアプリケーションを言語変換するには、プライマリ言語とターゲット言語をマップし、言語変換ファイルにテキストをシードおよびエクスポートした後、テキストを言語変換して、言語変換ファイルを適用し、言語変換済ファイルを公開する必要があります。

このセクションの内容は次のとおりです。

ステップ1: ターゲット言語のマップ

アプリケーションの言語変換の最初のステップは、プライマリおよびターゲットのアプリケーション言語をマップするステップです。プライマリ・アプリケーションは、言語変換されるアプリケーションです。ターゲット・アプリケーションは、言語変換された結果のアプリケーションです。

プライマリおよびターゲットのアプリケーション言語をマップするには、次のステップを実行します。

  1. 「アプリケーションの翻訳」ページにナビゲートします。

    1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    2. アプリケーションを選択します。

    3. 共有コンポーネント」をクリックします。

    4. 「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。

      「アプリケーションの翻訳」ページが表示されます。

  2. 翻訳されたアプリケーションIDにプライマリ言語アプリケーションをマップ」をクリックします。

    「アプリケーション・マッピング」ページが表示されます。

  3. 作成」をクリックします。

  4. 「翻訳アプリケーション・マッピング」ページで、次の選択を行います。

    • 言語変換アプリケーション: ターゲット・アプリケーションを識別する数値のアプリケーションIDを入力します。言語変換済アプリケーションIDは整数である必要があり、0(ゼロ)以外の整数で終了する必要があります。

    • 言語変換アプリケーション言語コード: 言語変換結果となる言語を選択します。

    • イメージ・ディレクトリ: イメージの取得元のディレクトリを入力します。

      この属性は、言語変換されたイメージの仮想パスを指定します。 たとえばプライマリ言語アプリケーションのイメージ接頭辞が'/images/'の場合、ドイツ語には'/images/de/'、スペイン語には'/images/es/'のように、その他の言語の仮想ディレクトリを追加で定義できます。

  5. 作成」をクリックします。

ステップ2: 言語変換ファイルへのテキストのシードおよびエクスポート

2番目のステップでは、言語変換表をシードし、言語変換テキストを言語変換ファイルにエクスポートします。

このセクションの内容は次のとおりです。

言語変換可能なテキストのシード

言語変換のシードでは、言語変換可能なすべてのテキストを言語変換テキスト・リポジトリにコピーします。 言語を指定し、言語変換テキストをシードした後、言語変換用のXLIFFファイルを生成し、エクスポートできます。

シード・プロセスでは、プライマリ言語アプリケーションと言語変換テキスト・リポジトリの同期がとられます。プライマリ言語アプリケーションを変更するたびに、シード・プロセスを実行する必要があります。

言語変換可能なテキストをシードするには、次のステップを実行します。

  1. 「アプリケーションの翻訳」ページにナビゲートします。

    1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    2. アプリケーションを選択します。

    3. 共有コンポーネント」をクリックします。

    4. 「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。

      「アプリケーションの翻訳」ページが表示されます。

  2. 「アプリケーションの翻訳」ページで、「アプリケーションの翻訳テキストを翻訳ファイルにシードおよびエクスポート」を選択します。

  3. 「言語マッピング」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。

  4. 翻訳可能なテキストのシード」をクリックします。

    「XLIFFのエクスポート」ページが表示されます。


    注意:

    XLIFF(XML Localization Interchange File Format)は、ローカリゼーション・データを変換するためのXMLベースのフォーマットです。 XLIFFについて、またはXLIFF仕様を確認するには、次のURLを参照してください。
    http://www.xliff.org
    
    

言語変換ファイルへのテキストのエクスポート

言語変換可能なテキストをシードした後は、「XLIFFのエクスポート」ページ上部にあるステータス・ボックスに、言語変換が必要な可能性のある属性の合計数が表示されます。この合計数には、次の属性の数が含まれます。

  • 言語変換が必要な可能性のある既存の更新済属性

  • 言語変換が必要な可能性のある新しい属性

  • 言語変換が不要になった削除済属性

この情報を使用して、アプリケーション全体の言語変換可能なテキストをエクスポートするか、特定のページの言語変換可能なテキストをエクスポートするかを判断できます。

「XLIFFのエクスポート」ページは、2つのセクションに分かれています。 アプリケーション全体(すべてのページ、LOV、メッセージなど)の言語変換可能なテキストをエクスポートするには、ページ上部セクションを使用します。特定のページの言語変換可能なテキストをエクスポートするには、後半を使用します。

アプリケーション全体の言語変換可能なテキストのエクスポート

アプリケーション全体の言語変換可能なテキストをエクスポートするには、次のステップを実行します。

  1. 言語変換可能なテキストをシードします。 詳細は、「言語変換可能なテキストのシード」を参照してください。

  2. XLIFFのエクスポート: ステップ2、XLIFFのエクスポート」で、次のステップを実行します。

    1. 「アプリケーション」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。

    2. XLIFFターゲット要素を含めるかどうかを指定します。

    3. 「エクスポート」で、XLIFFファイルに含められる言語変換テキストを指定します。

    4. アプリケーションのXLIFFファイルのエクスポート」をクリックします。

  3. 画面に表示されるステップに従います。

特定のページの言語変換可能なテキストのエクスポート

特定のページの言語変換可能なテキストをエクスポートするには、次のステップを実行します。

  1. 「言語変換可能なテキストのシード」のとおり、言語変換可能なテキストをシードします。

  2. 特定ページのXLIFFのエクスポート」で、次のステップを実行します。

    1. 「アプリケーション」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。

    2. XLIFFターゲット要素を含めるかどうかを指定します。

    3. 「エクスポート」で、XLIFFファイルに含められる言語変換テキストを指定します。

    4. ページのXLIFFファイルのエクスポート」をクリックします。

  3. 画面に表示されるステップに従います。

XLIFFターゲット要素を含める

Oracle Application ExpressがXLIFFドキュメントを生成すると、各ドキュメントには複数の言語変換単位が含まれます。各言語変換単位は、ソース要素とターゲット要素で構成されます。XLIFFドキュメントは、言語変換単位ごと、ソースおよびターゲットの両方の要素で生成できます。生成するファイルにソース要素のみを含めることもできます。 更新された言語変換は、言語変換単位のターゲット要素から適用されます。

エクスポート

「エクスポート」下のオプションを使用して、XLIFFファイルに含められる言語変換テキストを指定します。アプリケーションのすべての言語変換テキストを含めるには、「すべての翻訳可能な要素」を選択します。また、まだ言語変換されていない新しい要素のみを含めるには、「翻訳が必要な要素のみ」を選択します。「翻訳が必要な要素のみ」では、新規または変更された言語変換単位を含むXLIFFファイルが生成されます。 また、言語変換単位が意図的に言語変換されなかった(つまり、言語変換要素のソースが言語変換要素のターゲットと同じである)場合は、これらの言語変換単位も、そのファイルに含められます。

ステップ3: XLIFFファイルの言語変換

言語変換可能なファイルをXLIFFフォーマットにエクスポートした後は、適切な言語に言語変換できます。 XLIFFは、言語変換を行うためのオープン標準のXMLファイルであるため、ほとんどの言語変換ベンダーは、XLIFFをサポートする必要があります。 Oracle Application Expressは、UTF-8キャラクタ・セットでエンコードされたXLIFFファイルのみをサポートしています。つまり、Oracle Application Expressでは、言語変換用のXLIFFファイルはUTF-8でエクスポートされ、言語変換済XLIFFファイルは、同じキャラクタ・セットになります。

言語変換は、時間のかかるタスクです。 Oracle Application Expressでは、アプリケーション開発と言語変換を並行して行えるように、増分的な言語変換をサポートしています。 XLIFFファイルは、ファイルの一部のみが言語変換されている場合でも、言語変換してOracle Application Expressにアップロードできます。 対応する言語変換済アプリケーションに言語変換がない文字列の場合、Oracle Application Expressは、プライマリ言語の対応する文字列を使用します。


参照:

XLIFFの詳細またはXLIFF仕様を確認するには、次のURLを参照してください。
http://www.xliff.org


ステップ4: 言語変換済XLIFFドキュメントのアップロードと適用およびアプリケーションの公開

言語変換したXLIFFドキュメントを、アップロードして適用します。

このセクションの内容は次のとおりです。

言語変換済XLIFFドキュメントのアップロード

言語変換済XLIFFドキュメントをアップロードするには、次のステップを実行します。

  1. 「アプリケーションの翻訳」ページにナビゲートします。

    1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    2. アプリケーションを選択します。

    3. 共有コンポーネント」をクリックします。

    4. 「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。

      「アプリケーションの翻訳」ページが表示されます。

  2. 翻訳ファイルを適用して公開」をクリックします。

  3. XLIFFのアップロード」をクリックします。

  4. 「XLIFFのアップロード」ページで、次のステップを実行します。

    1. タイトルを指定します。

    2. 説明を入力します。

    3. 参照」をクリックし、アップロードされるファイルを指定します。

    4. XLIFFファイルのアップロード」をクリックします。

    アップロードされたドキュメントが、XLIFFファイル・リポジトリに表示されます。

アップロードしたXLIFFドキュメントの適用およびアプリケーションの公開

XLIFFドキュメントをアップロードした後、そのXLIFFドキュメントを適用して言語変換済アプリケーションを公開します。 XLIFFドキュメントを適用すると、Application Expressエンジンはファイルを解析して、言語変換表を新しい言語変換可能なテキストで更新します。

アプリケーションを公開すると、ベース言語のアプリケーションのコピーが作成され、言語変換表の言語変換されたテキスト文字列が置換されます。その後、この公開されたアプリケーションを使用して、代替言語でアプリケーションをレンダリングできます。

アプリケーションを代替言語で実行するには、代替言語バージョンで表示するようにグローバリゼーション設定を行ってアプリケーションを実行する必要があります。たとえば、言語がブラウザ言語に従う場合は、ブラウザ言語を言語変換済アプリケーションと同じ言語に設定する必要があります。

言語変換済XLIFFドキュメントの適用およびアプリケーションの公開を行うには、次のステップを実行します。

  1. 「アプリケーションの翻訳」ページにナビゲートします。

    1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    2. アプリケーションを選択します。

    3. 共有コンポーネント」をクリックします。

    4. 「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。

      「アプリケーションの翻訳」ページが表示されます。

  2. 翻訳ファイルを適用して公開」をクリックします。

  3. XLIFFファイル・リポジトリで、公開するドキュメントの横にある「ビュー」アイコンをクリックします。

  4. 「適用」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。

  5. XLIFF翻訳ファイルの適用」をクリックします。

  6. アプリケーションのパブリッシュ」をクリックします。

アップロードしたXLIFFドキュメントの削除

アップロードしたXLIFFドキュメントを削除するには、次のステップを実行します。

  1. 「アプリケーションの翻訳」ページにナビゲートします。

    1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    2. アプリケーションを選択します。

    3. 共有コンポーネント」をクリックします。

    4. 「グローバリゼーション」で、「アプリケーションの翻訳」をクリックします。

      「アプリケーションの翻訳」ページが表示されます。

  2. 「アプリケーションの翻訳」ページで、「翻訳ファイルを適用して公開」を選択します。

  3. XLIFFファイル・リポジトリで、そのドキュメント・タイトルの左のチェック・ボックスを選択します。

  4. チェックした項目の削除」をクリックします。

アプリケーションが公開された後、言語変換済アプリケーションの有無を確認する必要があります。言語変換済アプリケーションは、「アプリケーション・ビルダー」ホームページの「選択可能なアプリケーション」リストには表示されません。かわりに、そのページの左側のアプリケーション・ナビゲート・リストを使用します。

言語変換済アプリケーションがアプリケーション・ビルダーに表示されるためには、アプリケーションのグローバリゼーション属性が正しく設定されている必要があります。

メッセージの言語変換

次の場合、メッセージを変換する必要があることがあります。

このセクションの内容は次のとおりです。

PL/SQLプロシージャで使用されるメッセージの言語変換

アプリケーションにPL/SQLリージョンまたはPL/SQLプロセスが含まれる場合、あるいはアプリケーションがPL/SQLパッケージ、プロシージャ、またはファンクションをコールする場合は、生成されたHTMLを言語変換する必要がある場合があります。最初に、「翻訳可能なメッセージ」ページで、各メッセージを定義します。 次に、APEX_LANG.MESSAGE APIを使用して、PL/SQLストアド・プロシージャ、ファンクション、トリガーまたはパッケージ化されたプロシージャおよびファンクションのメッセージを言語変換します。

「翻訳可能なメッセージ」ページで、言語変換可能なメッセージを作成します。

新しい言語変換メッセージを定義するには、次のステップを実行します。

  1. 「アプリケーションの翻訳」ページにナビゲートします。

    1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    2. アプリケーションを選択します。

    3. 共有コンポーネント」をクリックします。

    4. 「グローバリゼーション」で、「テキスト・メッセージ」をクリックします。

  2. 「メッセージの翻訳」ページで、「作成」をクリックします。

  3. 「テキスト・メッセージを指定」ページで、次のように指定します。

    1. 名前: メッセージを識別するための名前を入力します。

    2. 言語: メッセージが使用される言語を選択します。

    3. テキスト: テキスト・メッセージがコールされたときに戻されるテキストを入力します。

      たとえば、メッセージGREETING_MSGを次のように英語で定義できます。

      Good morning %0
      
      

      また、メッセージGREETING_MSGを次のようにドイツ語で定義できます。

      Guten Tag %0
      
      
  4. 作成」をクリックします。

APEX_LANG.MESSAGE API

PL/SQLストアド・プロシージャ、ファンクション、トリガー、パッケージ化されたプロシージャおよびファンクションから生成されたテキスト文字列(メッセージ)を言語変換するには、APEX_LANG.MESSAGE APIを使用します。

構文

APEX_LANG.MESSAGE (
    p_name    IN    VARCHAR2 DEFAULT NULL,
    p0        IN    VARCHAR2 DEFAULT NULL,
    p1        IN    VARCHAR2 DEFAULT NULL,
    p2        IN    VARCHAR2 DEFAULT NULL,
    ...
    p9        IN    VARCHAR2 DEFAULT NULL,
    p_lang    IN    VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

パラメータ

表14-2に、APEX_LANG.MESSAGE APIで使用可能なパラメータを示します。

表14-2 APEX_LANG.MESSAGEパラメータ

パラメータ 説明

p_name

Oracle Application Expressで定義されたメッセージの名前。

p0

...

p9

動的置換値: p0は、メッセージの0%に対応します。p1は、メッセージの1%に対応します。p2は、メッセージの2%に対応します(以降同様に続きます)。

p_lang

取得されるメッセージの言語コード。 指定しない場合、Oracle Application Expressは、アプリケーション言語の派生元属性で定義されているとおり、ユーザーの現行の言語を使用します。

参照: 「アプリケーションへのプライマリ言語の指定」


次の例では、アプリケーションのGREETING_MSGというメッセージを、英語でGood morning%0、ドイツ語でGuten Tag%1と定義したと仮定しています。この例は、PL/SQLからこのメッセージを呼び出す方法を示しています。

BEGIN
    --
    -- Print the greeting
    --
    APEX_LANG.MESSAGE('GREETING_MSG', V('APP_USER'));
END;

p_lang属性の定義は、Application Expressエンジンがアプリケーションのプライマリ言語を導出する方法によって異なります。 たとえば、アプリケーションをドイツ語で実行中に、前回のコールがAPEX_LANG.MESSAGE APIに対して行われた場合、Application Expressエンジンは、最初にLANG_CODEdeであるGREETING_MSGというメッセージを検索します。見つからない場合は、アプリケーションのプライマリ言語属性に戻ります。 それでも見つからない場合、Application Expressエンジンは、言語コードがen-usであるこの名前でメッセージを検索します。


参照:

アプリケーションのプライマリ言語属性については、「アプリケーションへのプライマリ言語の指定」を参照してください。

レポートで使用されるメッセージの言語変換

Oracle Application Expressは、ドイツ語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語(ブラジル)、簡体字中国語および繁体字中国語に変換できます。 Oracle Application Expressが言語変換される10言語のいずれでもない言語をアプリケーションで使用する場合は、Application Expressレポート・エンジンによって表示されるメッセージを言語変換する必要があります。

たとえば、ロシア語のアプリケーションを開発し、ロシア語のレポート・メッセージ(ページ区切りなど)を含める場合は、レポートに表示されるメッセージで使用される文字列を変換する必要があります。

レポートで使用されるメッセージを言語変換するには、次のステップを実行します。

  1. 「アプリケーションの翻訳」ページにナビゲートします。

    1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    2. アプリケーションを選択します。

    3. 共有コンポーネント」をクリックします。

    4. 「グローバリゼーション」で、「テキスト・メッセージ」をクリックします。

  2. 「メッセージの翻訳」ページで、「作成」をクリックします。

  3. 「テキスト・メッセージを指定」ページで、次のように指定します。

    1. 名前: 言語変換する必要がある各レポート・メッセージの名前を入力します。 表14-3を参照してください。

    2. 言語: メッセージが使用される言語を選択します。

    3. テキスト: テキスト・メッセージがコールされたときに戻されるテキストを入力します。 英語のテキスト・メッセージにプレースホルダ(%0%1など)が含まれている場合は、定義したメッセージにも同じ名前のプレースホルダが同じ数含まれていることを確認します。

  4. 作成」をクリックします。

表14-3に、言語変換を実行する必要があるレポート・エンジン・メッセージを示します。

表14-3 言語変換を実行する必要があるレポート・エンジン・メッセージ

レポート・メッセージ名 英語のテキスト

WWV_RENDER_REPORT3.X_Y_OF_Z

row(s)%0 - %1 of %2

WWV_RENDER_REPORT3.FOUND_BUT_NOT_DISPLAYED

Minimum row requested: %0, rows found but not displayed: %1

WWV_RENDER_REPORT3.X_Y_OF_MORE_THAN_Z

row(s) %0 - %1 of more than %2

PAGINATION.NEXT

Next

PAGINATION.NEXT_SET

Next Set

PAGINATION.PREVIOUS

Previous

PAGINATION.PREVIOUS_SET

Previous Set

TOTAL

Total

REPORT_TOTAL

report total

SINCE_SECONDS_AGO

%0 seconds ago

SINCE_MINUTES_AGO

%0 minutes ago

SINCE_HOURS_AGO

%0 hours ago

SINCE_DAYS_AGO

%0 days ago

SINCE_WEEKS_AGO

%0 weeks ago

SINCE_MONTHS_AGO

%0 months ago'

SINCE_YEARS_AGO

%0 years ago

WWV_RENDER_REPORT3.SORT_BY_THIS_COLUMN

Sort by this column

OUT_OF_RANGE

Invalid set of rows requested, the source data of the report has been modified

RESET

reset pagination


LOVをサポートするデータの言語変換

動的データを言語変換するには、動的言語変換を作成します。たとえば、データベース問合せに基づくLOVで動的言語変換を使用する場合があります。

動的言語変換は、メッセージ名ではなく特定の文字列を問い合せるという点でメッセージとは異なります。動的言語変換は、「動的翻訳」ページで定義します。 その後、APEX_LANG.LANG APIを使用して、p_primary_text_stringパラメータで指定された動的言語変換文字列を戻します。

動的言語変換の定義

動的言語変換は、「動的翻訳」ページで定義します。 動的言語変換は、言語変換元の言語文字列、言語コードおよび言語変換先の文字列で構成されています。

動的言語変換を定義するには、次のステップを実行します。

  1. 「アプリケーションの翻訳」ページにナビゲートします。

    1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    2. アプリケーションを選択します。

    3. 共有コンポーネント」をクリックします。

    4. 「グローバリゼーション」で、「テキスト・メッセージ」をクリックします。

  2. 「アプリケーションの翻訳」ページで、「(オプション)SQLに基づくLOVをサポートするために動的に翻訳する必要があるデータを指定」を選択します。

  3. 「動的翻訳」ページで、「作成」をクリックし、次の項目を指定します。

    1. 言語: ターゲットの言語を選択します。

    2. 翻訳元テキスト: 言語変換されるソースのテキストを入力します。

    3. 翻訳先: 言語変換後のテキストを入力します。

  4. 作成」をクリックします。

APEX_LANG.LANG API

構文

APEX_LANG.LANG (
    p_primary_text_string    IN    VARCHAR2 DEFAULT NULL,
    p0                       IN    VARCHAR2 DEFAULT NULL,
    p1                       IN    VARCHAR2 DEFAULT NULL,
    p2                       IN    VARCHAR2 DEFAULT NULL,
    ...
    p9                       IN    VARCHAR2 DEFAULT NULL,
    p_primary_language       IN    VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

パラメータ

表14-4に、APEX_LANG.LANG APIで使用可能なパラメータを示します。

表14-4 APEX_LANG.LANGパラメータ

パラメータ 説明

p_primary_string

プライマリ言語のテキスト文字列。これは、「動的翻訳」の「翻訳元テキスト」の値になります。

p0

...

p9

動的置換値: p0は、言語変換文字列の0%に対応します。p1は、言語変換文字列の1%に対応します。p2は、言語変換文字列の2%に対応します(以降同様に続きます)。

p_primary_language

取得されるメッセージの言語コード。 指定しない場合、Oracle Application Expressは、アプリケーション言語の派生元属性で定義されているとおり、ユーザーの現行の言語を使用します。

参照: 「アプリケーションへのプライマリ言語の指定」


すべての1次色を定義する表があるとします。 それぞれの色に動的メッセージを定義し、問合せで定義された値にLANGファンクションを適用します。次に例を示します。

SELECT APEX_LANG.LANG(color)
  FROM my_colors

アプリケーションをドイツ語で実行中に、my_colors表のcolor列の値がREDであったとします。赤にドイツ語を定義すると、前述の例では、ROTが戻されます。

サポートされているグローバリゼーション・コード

多言語アプリケーションを構築する場合、グローバリゼーション・コードが、アプリケーションの実行方法に与える影響を理解しておくことが重要です。これらのコードは、選択したアプリケーション・レベルのグローバリゼーション属性に基づいて自動的に設定されます。

NLS_LANGUAGEおよびNLS_TERRITORYによって、数字、日付および通貨のデフォルトの表示形式が決まります。

表14-5に、Oracle Application Expressのグローバリゼーション・コードを示します。

表14-5 Oracle Application Expressのグローバリゼーション・コード

言語名 言語コード NLS_LANGUAGE NLS_TERRITORY

アフリカーンス語

af

ENGLISH

SOUTH AFRICA

アラビア語

ar

ARABIC

UNITED ARAB EMIRATES

アラビア語(アルジェリア)

ar-dz

ARABIC

ALGERIA

アラビア語(バーレーン)

ar-bh

ARABIC

BAHRAIN

アラビア語(エジプト)

ar-eg

EGYPTIAN

EGYPT

アラビア語(イラク)

ar-iq

ARABIC

IRAQ

アラビア語(ヨルダン)

ar-jo

ARABIC

JORDAN

アラビア語(クウェート)

ar-kw

ARABIC

KUWAIT

アラビア語(レバノン)

ar-lb

ARABIC

LEBANNON

アラビア語(リビア)

ar-ly

ARABIC

LIBYA

アラビア語(モロッコ)

ar-ma

ARABIC

MOROCCO

アラビア語(オマーン)

ar-om

ARABIC

OMAN

アラビア語(カタール)

ar-qa

ARABIC

QATAR

アラビア語(サウジアラビア)

ar-sa

ARABIC

SAUDI ARABIA

アラビア語(シリア)

ar-sy

ARABIC

SYRIA

アラビア語(チュニジア)

ar-tn

ARABIC

TUNISIA

アラビア語(アラブ首長国連邦)

ar-ae

ARABIC

UNITED ARAB EMIRATES

アラビア語(イエメン)

ar-ye

ARABIC

YEMEN

アッサム語

as

ASSAMESE

INDIA

バスク語

eu

FRENCH

FRANCE

ベラルーシ語

be

RUSSIAN

RUSSIA

ベンガル語

bn

BANGLA

BANGLADESH

ブルガリア語

bg

BULGARIAN

BULGARIA

カタロニア語

ca

CATALAN

CATALONIA

中国語

zh

SIMPLIFIED CHINESE

CHINA

中国語(中国)

zh-cn

SIMPLIFIED CHINESE

CHINA

中国語(香港SAR)

zh-hk

TRADITIONAL CHINESE

HONG KONG

中国語(マカオSAR)

zh-mo

TRADITIONAL CHINESE

HONG KONG

中国語(シンガポール)

zh-sg

SIMPLIFIED CHINESE

SINGAPORE

中国語(台湾)

zh-tw

TRADITIONAL CHINESE

TAIWAN

クロアチア語

hr

CROATIAN

CROATIA

チェコ語

cs

CZECH

CZECH REPUBLIC

デンマーク語

da

DANISH

DENMARK

オランダ語(ベルギー)

nl-be

DUTCH

BELGIUM

オランダ語(オランダ)

nl

DUTCH

THE NETHERLANDS

英語

AMERICAN

AMERICA

英語(オーストラリア)

en-au

ENGLISH

AUSTRALIA

英語(ベリーズ)

en-bz

ENGLISH

UNITED KINGDOM

英語(カナダ)

en-ca

ENGLISH

CANADA

英語(アイルランド)

en-ie

ENGLISH

IRELAND

英語(ジャマイカ)

en-jm

ENGLISH

UNITED KINGDOM

英語(ニュージーランド)

en-nz

ENGLISH

NEW ZEALAND

英語(フィリピン)

en-ph

ENGLISH

PHILIPPINES

英語(南アフリカ)

en-za

ENGLISH

SOUTH AFRICA

英語(トリニダード)

en-tt

ENGLISH

UNITED KINGDOM

英語(イギリス)

en-gb

ENGLISH

UNITED KINGDOM

英語(米国)

en-us

AMERICAN

AMERICA

英語(ジンバブエ)

en-zw

ENGLISH

UNITED KINGDOM

エストニア語

et

ESTONIAN

ESTONIA

フェロー語

fo

ENGLISH

UNITED KINGDOM

ペルシア語

fa

ENGLISH

UNITED KINGDOM

フィンランド語

fi

FINNISH

FINLAND

フランス語(ベルギー)

fr-be

FRENCH

BELGIUM

フランス語(カナダ)

fr-ca

CANADIAN FRENCH

CANADA

フランス語(フランス)

fr

FRENCH

FRANCE

フランス語(ルクセンブルグ)

fr-lu

FRENCH

LUXEMBOURG

フランス語(モナコ)

fr-mc

FRENCH

FRANCE

フランス語(スイス)

fr-ch

FRENCH

SWITZERLAND

FYROマケドニア語

mk

MACEDONIAN

FYR MACEDONIA

ゲール語

gd

ENGLISH

UNITED KINGDOM

ガリシア語

gl

SPANISH

SPAIN

ドイツ語(オーストリア)

de-at

GERMAN

AUSTRIA

ドイツ語(ドイツ)

de

GERMAN

GERMANY

ドイツ語(リヒテンシュタイン)

de-li

GERMAN

GERMANY

ドイツ語(ルクセンブルグ)

de-lu

GERMAN

LUXEMBOURG

ドイツ語(スイス)

de-ch

GERMAN

SWITZERLAND

ギリシャ語

el

GREEK

GREECE

グジャラト語

gu

GUJARATI

INDIA

ヘブライ語

he

HEBREW

ISRAEL

ヒンディー語

hi

HINDI

INDIA

ハンガリー語

hu

HUNGARIAN

HUNGARY

アイスランド語

is

ICELANDIC

ICELAND

インドネシア語

id

INDONESIAN

INDONESIA

イタリア語(イタリア)

it

ITALIAN

ITALY

イタリア語(スイス)

it-ch

ITALIAN

SWITZERLAND

日本語

ja

JAPANESE

JAPAN

カンナダ語

kn

KANNADA

INDIA

カザフ語

kk

CYRILLIC KAZAKH

KAZAKHSTAN

コンカニ語

kok

KOREAN

KOREA

韓国語

ko

KOREAN

KOREA

キルギス語

kz

RUSSIAN

RUSSIA

ラトビア語

lv

LATVIAN

LATVIA

リトアニア語

lt

LITHUANIAN

LITHUANIANA

マラヤーラム語(マレーシア)

ms

MALAY

MALAYSIA

マラヤーラム語

ml

MALAYALAM

INDIA

マルタ語

mt

ENGLISH

UNITED KINGDOM

マラーティー語

mr

ENGLISH

INDIA

ネパール語(インド)

ne

ENGLISH

UNITED KINGDOM

ノルウェー語(ブークモール)

nb-no

NORWEGIAN

NORWAY

ノルウェー語(ブークモール)

no

NORWEGIAN

NORWAY

ノルウェー語(ニーノシュク)

nn-no

NORWEGIAN

NORWAY

オリヤー語

or

ORIYA

INDIA

ポーランド語

pl

POLISH

POLAND

ポルトガル語(ブラジル)

pt-br

BRAZILIAN PORTUGUESE

BRAZIL

ポルトガル語(ポルトガル)

pt

PORTUGUESE

PORTUGAL

パンジャブ語

pa

PUNJABI

INDIA

ルーマニア語

ro

ROMANIAN

ROMANIA

ロシア語

ru

RUSSIAN

RUSSIA

ロシア語(モルドバ)

ru-md

RUSSIAN

RUSSIA

セルビア語

sr

CYRILLIC SERBIAN

SERBIA AND MONTENEGRO

スロバキア語

sk

SLOVAK

SLOVAKIA

スロベニア語

sl

SLOVENIAN

SLOVENIA

スペイン語(アルゼンチン)

es-ar

LATIN AMERICAN SPANISH

ARGENTINA

スペイン語(ボリビア)

es-bo

LATIN AMERICAN SPANISH

ARGENTINA

スペイン語(チリ)

es-cl

LATIN AMERICAN SPANISH

CHILE

スペイン語(コロンビア)

ec-co

LATIN AMERICAN SPANISH

COLUMBIA

スペイン語(コスタリカ)

es-cr

LATIN AMERICAN SPANISH

COSTA RICA

スペイン語(ドミニカ共和国)

es-do

LATIN AMERICAN SPANISH

PUERTO RICO

スペイン語(エクアドル)

es-ec

LATIN AMERICAN SPANISH

ECUDOR

スペイン語(エルサルバドル)

es-sv

LATIN AMERICAN SPANISH

EL SALVADOR

スペイン語(グアテマラ)

es-gt

LATIN AMERICAN SPANISH

GUATEMALA

スペイン語(ホンジュラス)

es-hn

LATIN AMERICAN SPANISH

GUATEMALA

スペイン語(メキシコ)

es-mx

MEXICAN SPANISH

MEXICO

スペイン語(ニカラグア)

es-ni

LATIN AMERICAN SPANISH

NICARAGUA

スペイン語(パナマ)

es-pa

LATIN AMERICAN SPANISH

PANAMA

スペイン語(パラグアイ)

es-py

LATIN AMERICAN SPANISH

ARGENTINA

スペイン語(ペルー)

es-pe

LATIN AMERICAN SPANISH

PERU

スペイン語(プエルトリコ)

es-pr

LATIN AMERICAN SPANISH

PUERTO RICO

スペイン語(標準)

es

LATIN AMERICAN SPANISH

SPAIN

スペイン語(米国)

es-us

LATIN AMERICAN SPANISH

AMERICAN

スペイン語(ウルグアイ)

es-uy

LATIN AMERICAN SPANISH

ARGENTINA

スペイン語(ベネズエラ)

es-ve

LATIN AMERICAN SPANISH

VENEZUELA

スウェーデン語

sv

SWEDISH

SWEDEN

スウェーデン語

sv-fi

SWEDISH

FINLAND

タミル語

ta

TAMIL

INDIA

テルグ語

te

TELUGU

INDIA

タイ語

th

THAI

THAILAND

トルコ語

tr

TURKISH

TURKEY

ウクライナ語

uk

UKRAINIAN

UKRAINE

ウルドゥー語

ur

ENGLISH

UNITED KINGDOM

ウズベク語

uz

LATIN UZBEK

UZBEKISTAN

ベトナム語

vi

VIETNAMESE

VIETNAM

ズールー語

zu

ENGLISH

UNITED KINGDOM