ヘッダーをスキップ
Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド
リリース4.0
B61338-01
  目次へ
目次
索引へ
索引

前へ
前へ
 
次へ
次へ
 

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

このセクションでは、アプリケーション・ビルダーで構築したアプリケーションを翻訳する方法を説明します。

内容は次のとおりです。


参照:

Oracle Application Express管理ガイドの「インストール済の翻訳の表示」

アプリケーションの翻訳およびグローバリゼーション・サポートについて

アプリケーション・ビルダーで、同時に異なる言語で実行可能なアプリケーションを開発できます。1つのOracle Databaseインスタンスと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エンジンは、特定のページ・リクエストに対してデータベース言語を変更します。その後、適切な言語に翻訳されたアプリケーションを検索します。その言語を検出すると、その定義を使用してアプリケーションをレンダリングします。それ以外の場合は、ベース(プライマリ)のアプリケーション言語でアプリケーションをレンダリングします。

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

翻訳可能なコンポーネントについて

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

メッセージの翻訳をサポートするショートカットについて

Application Builderには、翻訳可能なメッセージを参照できる2つのタイプのショートカットがあります。

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

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

メッセージについて

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

テキスト文字列の動的翻訳について

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

リージョン・タイトルの翻訳について

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

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

  1. 「ページ定義」にナビゲートします。「コンポーネント・ビューでのページの編集」を参照してください。

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

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

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

翻訳テンプレートについて

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    オプション 説明

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

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

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

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

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

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

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

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

    参照: Oracle Application Express APIリファレンスの「SET_PREFERENCEプロシージャ」

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

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

    セッション

    翻訳済アプリケーション言語をセッション設定から決定します。Application Expressセッション言語はAPEX_UTIL.SET_SESSION_LANGプロシージャを使用するか、URLで"f" procedurep_langパラメータを使用して設定できます。


  7. 必要に応じて他のオプションを構成します。属性の詳細を表示するには、アイテム・ラベルをクリックしてください。

  8. 「変更の適用」をクリックします。

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

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

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

  • アイテム作成時

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

次のステップでは、データベース列のソース・タイプを持つアイテムの属性の編集方法を説明します。

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

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

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

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

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

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

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

  5. 「名前」の下で、「表示形式」リストから選択します。

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

マルチバイト言語用のアプリケーション翻訳

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

翻訳プロセスの理解

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

内容は次のとおりです。

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

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

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

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

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

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

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

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

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

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

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

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

  4. 翻訳アプリケーション・マッピング・ページで、次のステップを実行します。

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

    • 翻訳アプリケーション言語コード: 翻訳先となる言語を選択します。

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

      この属性は、翻訳されたイメージの仮想パスを指定します。たとえば、プライマリ言語アプリケーションのイメージ接頭辞が/i/の場合、ドイツ語には/i/de/、スペイン語には/i/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 FILE)に翻訳可能なテキストをダウンロード」をクリックします。

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

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

    3. 「エクスポート」で、XLIFFファイルに含める翻訳テキストを指定します。

    4. 「XLIFFのエクスポート」をクリックします。

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

特定のページの翻訳可能なテキストのエクスポート

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

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

  2. 「リポジトリから翻訳ファイル(XLIFF FILE)に翻訳可能なテキストをダウンロード」をクリックします。

    1. 「アプリケーション・ページ用のXLIFFファイルのダウンロード」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。

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

    3. 「エクスポート」で、XLIFFファイルに含める翻訳テキストを指定します。

    4. 「XLIFFのエクスポート」をクリックします。

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

含まれるXLIFFターゲット要素について

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

エクスポートについて

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

ステップ3: XLIFFファイルの翻訳

翻訳可能なファイルをXLIFFフォーマットにエクスポートすると、これを適切な言語に翻訳できます。XLIFFは翻訳のためのオープン標準のXMLファイルであるため、ほとんどの翻訳ベンダーでサポートされています。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. 「翻訳リポジトリへのXLIFF翻訳ファイルの適用」をクリックします。

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

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

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

    2. 説明を入力します。

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

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

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

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

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

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

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

翻訳済XLIFFドキュメントを適用してアプリケーションを公開するには、次のステップを実行します。

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

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

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

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

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

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

  2. 「翻訳リポジトリへのXLIFF翻訳ファイルの適用」をクリックします。

  3. XLIFFファイル・リポジトリで、適用するXLIFFドキュメントのXLIFFドキュメント・タイトルをクリックします。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

翻訳済アプリケーションをアプリケーション・ビルダーに表示するには、アプリケーションのグローバリゼーション属性を正しく設定する必要があります。

翻訳の手動編集

ターゲット言語をマップし、翻訳可能なテキストをシードした後は、手動で翻訳を編集できます。

手動で翻訳を編集するには、次のステップを実行します。

  1. ターゲット言語をマップします。「ステップ1: ターゲット言語のマップ」を参照してください。

  2. 翻訳可能なテキストをシードします。「翻訳可能なテキストのシード」を参照してください。

  3. 翻訳可能なテキスト・ページにナビゲートします。

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

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

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

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

  4. 「翻訳ユーティリティ」リストから、「翻訳リポジトリの手動編集」をクリックします。

    翻訳可能なテキスト・ページが表示されます。ページ上部の「ナビゲーション・バー」を使用してレポート表示を変更します。使用可能なオプションは次のとおりです。

    • 言語のマッピング: 言語のマッピングを選択し、「実行」をクリックします。

    • ページ: ページ番号を入力し、「実行」をクリックします。

    • 翻訳: 大/小文字を区別しない問合せを入力し、「実行」をクリックします。

    • 表示: 表示する行数を選択し、「実行」をクリックします。

  5. 翻訳可能なテキストを編集するには、「編集」アイコンをクリックします。

    「翻訳可能なテキスト」フィールドが表示されます。

  6. 適切なテキストを編集し、「変更の適用」をクリックします。

メッセージの翻訳

アプリケーションが次に当てはまる場合、メッセージを翻訳する必要があることがあります。

内容は次のとおりです。

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;

パラメータ

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

表 16-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 APIリファレンスの「APEX_LANG」を参照してください。

Oracle Application Expressにより内部使用されるメッセージの翻訳

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

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

メッセージを翻訳するには、次のステップを実行します。

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

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

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

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

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

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

  3. 「テキスト・メッセージを指定」で次を指定します。

    1. 名前: 翻訳する必要のある各メッセージの名前を入力します。表 16-3を参照してください。

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

    3. テキスト: テキスト・メッセージがコールされたときに戻されるテキストを入力します。英語のテキスト・メッセージに定位置の置換値(%0%1など)が含まれている場合、ユーザー定義のメッセージにも同じ名前と数字の定位置の置換値を含めてください。

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

表 16-3に、翻訳が必要な内部メッセージを示します。

表 16-3 翻訳が必要な内部メッセージ

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

APEX.DATA_HAS_CHANGED

Current version of data in database has changed since user initiated update process. current checksum = "%0" application checksum = "%1"

APEX.DATEPICKER_VALUE_LESS_MIN_DATE

#LABEL# is less than specified minimum date %0.

APEX.DATEPICKER_VALUE_NOT_IN_YEAR_RANGE

#LABEL# is not within valid year range of %0 and %1.

APEX.DATEPICKER_VALUE_NOT_BETWEEN_MIN_MAX

#LABEL# is not between the valid range of %0 and %1.

APEX.DATEPICKER_VALUE_GREATER_MAX_DATE

#LABEL# is greater than specified maximum date %0.

APEX.DATEPICKER_VALUE_INVALID

#LABEL# does not match format %0.

APEX.FILE_BROWSE.DOWNLOAD_LINK_TEXT

Download.

APEX.NUMBER_FIELD.VALUE_INVALID

#LABEL# must be Numeric.

APEX.NUMBER_FIELD.VALUE_INVALID2

#LABEL# does not match number format %0 (For example, %1).

APEX.NUMBER_FIELD.VALUE_NOT_BETWEEN_MIN_MAX

#LABEL# is not between the valid range of %0 and %1.

APEX.NUMBER_FIELD.VALUE_GREATER_MAX_VALUE

#LABEL# is greater than specified maximum %0.

APEX.NUMBER_FIELD.VALUE_LESS_MIN_VALUE

#LABEL# is less than specified minimum %0.

APEX.PAGE_ITEM_IS_REQUIRED

#LABEL# must have some value.

FLOW.SINGLE_VALIDATION_ERROR

1 error has occurred

FLOW.VALIDATION_ERROR

%0 errors have occurred

INVALID_CREDENTIALS

Invalid Login Credentials

OUT_OF_RANGE

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

PAGINATION.NEXT

Next

PAGINATION.NEXT_SET

Next Set

PAGINATION.PREVIOUS

Previous

PAGINATION.PREVIOUS_SET

Previous Set

REPORT_TOTAL

report total

RESET

reset pagination

SINCE_DAYS_AGO

%0 days ago

SINCE_HOURS_AGO

%0 hours ago

SINCE_MINUTES_AGO

%0 minutes ago

SINCE_MONTHS_AGO

%0 months ago

SINCE_SECONDS_AGO

%0 seconds ago

SINCE_WEEKS_AGO

%0 weeks ago

SINCE_YEARS_AGO

%0 years ago

TOTAL

Total

WWV_FLOW_UTILITIES.CAL

Calendar

WWV_FLOW_UTILITIES.CLOSE

Close

WWV_FLOW_UTILITIES.OK

Ok

WWV_RENDER_REPORT3.FOUND_BUT_NOT_DISPLAYED

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

WWV_RENDER_REPORT3.SORT_BY_THIS_COLUMN

Sort by this column

WWV_RENDER_REPORT3.X_Y_OF_MORE_THAN_Z

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

WWV_RENDER_REPORT3.X_Y_OF_Z

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

WWV_RENDER_REPORT3.X_Y_OF_Z_2

%0 - %1 of %2


表 16-4に、翻訳が必要な内部メッセージを示します。

表 16-4 翻訳が必要な対話モード・レポート・メッセージ

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

4150_COLUMN_NUMBER

Column %0

APEXIR_3D

3D

APEXIR_ACTIONS

Actions

APEXIR_ACTIONS_MENU

Actions Menu

APEXIR_ADD

Add

APEXIR_ADD_SUBSCRIPTION

Add Subscription

APEXIR_AGGREGATE

Aggregate

APEXIR_AGGREGATE_DESCRIPTION

Aggregates are displayed after each control break and at the end of the report.

APEXIR_AGGREGATION

Aggregation

APEXIR_AGG_AVG

Average

APEXIR_AGG_COUNT

Count

APEXIR_AGG_MAX

Maximum

APEXIR_AGG_MEDIAN

Median

APEXIR_AGG_MIN

Minimum

APEXIR_AGG_MODE

Mode

APEXIR_AGG_SUM

Sum

APEXIR_ALL

All

APEXIR_ALL_COLUMNS

All Columns

APEXIR_ALTERNATIVE

Alternative

APEXIR_ALTERNATIVE_DEFAULT_NAME

Alternative Default: %0

APEXIR_AND

and

APEXIR_APPLY

Apply

APEXIR_ASCENDING

Ascending

APEXIR_AS_OF

As of %0

APEXIR_AVERAGE_X

Average %0

APEXIR_BETWEEN

between

APEXIR_BGCOLOR

Background Color

APEXIR_BLUE

blue

APEXIR_BOTTOM

Bottom

APEXIR_CALENDAR

Calendar

APEXIR_CANCEL

Cancel

APEXIR_CATEGORY

Category

APEXIR_CELL

Cell

APEXIR_CHART

Chart

APEXIR_CHART_INITIALIZING

Initializing...

APEXIR_CHART_TYPE

Chart Type

APEXIR_CHOOSE_DOWNLOAD_FORMAT

Choose report download format

APEXIR_CLEAR

clear

APEXIR_COLUMN

Column

APEXIR_COLUMNS

Columns

APEXIR_COLUMN_HEADING

Column Heading

APEXIR_COLUMN_HEADING_MENU

Column Heading Menu

APEXIR_COLUMN_INFO

Column Information

APEXIR_COMPARISON_CONTAINS

contains

APEXIR_COMPARISON_DOESNOT_CONTAIN

does not contain

APEXIR_COMPARISON_IN

in

APEXIR_COMPARISON_ISNOT_IN_LAST

is not in the last

APEXIR_COMPARISON_ISNOT_IN_NEXT

is not in the next

APEXIR_COMPARISON_IS_IN_LAST

is in the last

APEXIR_COMPARISON_IS_IN_NEXT

is in the next

APEXIR_COMPARISON_IS_NOT_NULL

is not null

APEXIR_COMPARISON_IS_NULL

is null

APEXIR_COMPARISON_LIKE

like

APEXIR_COMPARISON_NOT_IN

not in

APEXIR_COMPARISON_NOT_LIKE

not like

APEXIR_COMPARISON_REGEXP_LIKE

matches regular expression

APEXIR_COMPUTATION

Computation

APEXIR_COMPUTATION_FOOTER

Create a computation using column aliases.

APEXIR_COMPUTATION_FOOTER_E1

(B+C)*100

APEXIR_COMPUTATION_FOOTER_E2

INITCAP(B)||', '||INITCAP(C)

APEXIR_COMPUTATION_FOOTER_E3

CASE WHEN A = 10 THEN B + C ELSE B END

APEXIR_COMPUTE

Compute

APEXIR_CONTROL_BREAK

Control Break

APEXIR_CONTROL_BREAKS

Control Breaks

APEXIR_COUNT_DISTINCT

Count Distinct

APEXIR_COUNT_DISTINCT_X

Count Distinct

APEXIR_COUNT_X

Count %0

APEXIR_DAILY

Daily

APEXIR_DATA_AS_OF

Report data as of %0 minutes ago.

APEXIR_DATE

Date

APEXIR_DAY

Day

APEXIR_DEFAULT

Default

APEXIR_DEFAULT_REPORT_TYPE

Default Report Type

APEXIR_DELETE

Delete

APEXIR_DELETE_CHECKED

Delete Checked

APEXIR_DELETE_CONFIRM

Would you like to delete these report settings?

APEXIR_DELETE_CONFIRM_JS_DIALOG

Would you like to perform this delete action?

APEXIR_DELETE_REPORT

Delete Report

APEXIR_DESCENDING

Descending

APEXIR_DESCRIPTION

Description

APEXIR_DETAIL_VIEW

Single Row View

APEXIR_DIRECTION

Direction

APEXIR_DISABLE

Disable

APEXIR_DISABLED

Disabled

APEXIR_DISPLAY

Display

APEXIR_DISPLAYED

Displayed

APEXIR_DISPLAYED_COLUMNS

Displayed Columns

APEXIR_DISPLAY_IN_REPORT

Display in Report

APEXIR_DOWN

Down

APEXIR_DOWNLOAD

Download

APEXIR_DO_NOT_AGGREGATE

- Do not aggregate -

APEXIR_DO_NOT_DISPLAY

Do Not Display

APEXIR_EDIT_ALTERNATIVE_DEFAULT

Edit Alternative Default

APEXIR_EDIT_CHART

Edit Chart Settings

APEXIR_EDIT_CHART2

Edit Chart

APEXIR_EDIT_FILTER

Edit Filter

APEXIR_EDIT_GROUP_BY

Edit Group By

APEXIR_EDIT_HIGHLIGHT

Edit Highlight

APEXIR_EMAIL

Email

APEXIR_EMAIL_ADDRESS

Email Address

APEXIR_EMAIL_BCC

Bcc

APEXIR_EMAIL_BODY

Body

APEXIR_EMAIL_CC

Cc

APEXIR_EMAIL_FREQUENCY

Frequency

APEXIR_EMAIL_NOT_CONFIGURED

Email has not been configured for this application. Please contact your administrator.

APEXIR_EMAIL_SEE_ATTACHED

See attached.

APEXIR_EMAIL_SUBJECT

Subject

APEXIR_EMAIL_TO

To

APEXIR_ENABLE

Enable

APEXIR_ENABLED

Enabled

APEXIR_ENABLE_DISABLE_ALT

Enable/Disable

APEXIR_ERROR

Error

APEXIR_EXAMPLES

Examples

APEXIR_EXAMPLES_WITH_COLON

Examples:

APEXIR_EXCLUDE_NULL

Exclude Null Values

APEXIR_EXPAND_COLLAPSE_ALT

Expand/Collapse

APEXIR_EXPRESSION

Expression

APEXIR_FILTER

Filter

APEXIR_FILTER_EXPRESSION

Filter Expression

APEXIR_FILTERS

Filters

APEXIR_FILTER_TYPE

Filter Type

APEXIR_FINDER_ALT

Select columns to search

APEXIR_FLASHBACK

Flashback

APEXIR_FLASHBACK_DESCRIPTION

A flashback query enables you to view the data as it existed at a previous point in time.

APEXIR_FLASHBACK_ERROR_MSG

Unable to perform flashback request

APEXIR_FORMAT

Format Mask

APEXIR_FORMAT_MASK

Format

APEXIR_FUNCTION

Function

APEXIR_FUNCTIONS_OPERATORS

Functions / Operators

APEXIR_FUNCTIONS

Functions

APEXIR_GO

Go

APEXIR_GROUP_BY

Group By

APEXIR_GROUP_BY_COLUMN

Group By Column

APEXIR_GREEN

green

APEXIR_HCOLUMN

Horizontal Column

APEXIR_HELP

Help

APEXIR_HELP_01

An Interactive Report displays a predetermined set of columns. The report may be further customized with an initial filter clause, a default sort order, control breaks, highlighting, computations, aggregates and a chart. Each Interactive Report can then be further customized and the results can be viewed, or downloaded, and the report definition can be stored for later use.

<p/>

An Interactive Report can be customized in three ways: the search bar, actions menu and column heading menu.

APEXIR_HELP_ACTIONS_MENU

The actions menu is used to customize the display of your Interactive Report.

APEXIR_HELP_AGGREGATE

Aggregates are mathematical computations performed against a column. Aggregates are displayed after each control break and at the end of the report within the column they are defined.

<p/>

<ul><li><b>Aggregation</b> allows you to select a previously defined aggregation to edit.</li>

<li><b>Function</b> is the function to be performed (e.g. SUM, MIN).</li>

<li><b>Column</b> is used to select the column to apply the mathematical function to. Only numeric columns will be displayed.</li></ul>

APEXIR_HELP_CHART

You can include one chart per Interactive Report. Once defined, you can switch between the chart and report views using links below the search bar.

<p/>

<ul><li><b>Chart Type</b> identifies the chart type to include. Select from horizontal bar, vertical bar, pie or line.</li>

<li><b>Label</b> allows you to select the column to be used as the label.</li>

<li><b>Axis Title for Label</b> is the title that will display on the axis associated with the column selected for Label. This is not available for pie chart.</li>

<li><b>Value</b> allows you to select the column to be used as the value. If your function is a COUNT, a Value does not need to be selected.</li>

<li><b>Axis Title for Value</b> is the title that will display on the axis associated with the column selected for Value. This is not available for pie chart.</li>

<li><b>Function</b> is an optional function to be performed on the column selected for Value.</li></ul>

APEXIR_HELP_COLUMN_HEADING_MENU

Clicking on any column heading exposes a column heading menu.

<p/>

<ul><li><b>Sort Ascending icon</b> sorts the report by the column in ascending order.</li>

<li><b>Sort Descending icon</b> sorts the report by the column in descending order.</li>

<li><b>Hide Column</b> hides the column.</li>

<li><b>Break Column</b> creates a break group on the column. This pulls the column out of the report as a master record.</li>

<li><b>Column Information</b> displays help text about the column, if available.</li>

<li><b>Text Area</b> is used to enter case insensitive search criteria (no need for wild cards). Entering a value will reduce the list of values at the bottom of the menu. You can then select a value from the bottom and the selected value will be created as a filter using '=' (e.g. column = 'ABC'). Alternatively, you can click the flashlight icon and the entered value will be created as a filter with the 'LIKE' modifier (e.g. column LIKE '%ABC%').<li><b>List of Unique Values</b> contains the first 500 unique values that meet your filters. If the column is a date, a list of date ranges is displayed instead. If you select a value, a filter will be created using '=' (e.g. column = 'ABC').</li></ul>

APEXIR_HELP_COMPUTE

Computations allow you to add computed columns to your report. These can be mathematical computations (e.g. NBR_HOURS/24) or standard Oracle functions applied to existing columns (some have been displayed for example, others, like TO_DATE, can also be used).

<p/>

<ul><li><b>Computation</b> allows you to select a previously defined computation to edit.</li>

<li><b>Column Heading</b> is the column heading for the new column.</li>

<li><b>Format Mask</b> is an Oracle format mask to be applied against the column (e.g. S9999).</li>

<li><b>Format Mask</b> is an Oracle format mask to be applied against the column (e.g. S9999).</li>

<li><b>Computation</b> is the computation to be performed. Within the computation, columns are referenced using the aliases displayed.</li>

</ul>

<p/>

Below computation, the columns in your query are displayed with their associated alias. Clicking on the column name or alias will write them into the Computation. Next to Columns is a Keypad. These are simply shortcuts of commonly used keys. On the far right are Functions.

<p/>

An example computation to display Total Compensation is:

<p/>

<pre>CASE WHEN A = 'SALES' THEN B + C ELSE B END</pre>

(where A is ORGANIZATION, B is SALARY and C is COMMISSION)

APEXIR_HELP_CONTROL_BREAK

Used to create a break group on one or several columns. This pulls the columns out of the Interactive Report and displays them as a master record.

APEXIR_HELP_DETAIL_VIEW

To view the details of a single row at a time, click the single row view icon on the row you want to view. If available, the single row view will always be the first column. Depending on the customization of the Interactive Report, the single row view may be the standard view or a custom page that may allow update.

APEXIR_HELP_DOWNLOAD

Allows the current result set to be downloaded. The download formats will differ depending upon your installation and report definition but may include CSV, XLS, PDF, or RTF.

APEXIR_HELP_FILTER

Used to add or modify the where clause on the query. You first select a column (it does not need to be one that is displayed), select from a list of standard Oracle operators (=, !=, not in, between), and enter an expression to compare against. The expression is case sensitive and you can use % as a wild card (for example, STATE_NAME like A%).

APEXIR_HELP_FLASHBACK

Performs a flashback query to allow you to view the data as it existed at a previous point in time. The default amount of time that you can flashback is 3 hours (or 180 minutes) but the actual amount will differ per database.

APEXIR_HELP_HIGHLIGHT

Highlighting allows you to define a filter. The rows that meet the filter are highlighted using the characteristics associated with the filter.

<p/>

<ul><li><b>Name</b> is used only for display.</li>

<li><b>Sequence</b> identifies the sequence in which the rules will be evaluated.</li>

<li><b>Enabled</b> identifies if the rule is enabled or disabled.</li>

<li><b>Highlight Type</b> identifies whether the Row or Cell should be highlighted. If Cell is selected, the column referenced in the Highlight Condition is highlighted.</li>

<li><b>Background Color</b> is the new color for the background of the highlighted area.</li>

<li><b>Text Color</b> is the new color for the text in the highlighted area.</li>

<li><b>Highlight Condition</b> defines your filter condition.</li></ul>

APEXIR_HELP_REPORT_SETTINGS

If you have customized your Interactive Report, the report settings will be displayed below the Search Bar and above the report. If you have saved customized reports, they will be shown as tabs. You can access your alternate views by clicking the tabs. Below the tabs are the report settings for the current report. This area can be collapsed and expanded using the icon on the left.

<p/>

For each report setting, you can:

<ul><li><b>Edit</b> by clicking the name.</li>

<li><b>Disable/Enable</b> by unchecking or checking the Enable/Disable check box. This is used to temporarily turn off and on the setting.</li>

<li><b>Remove</b> by click the Remove icon. This permanently removes the setting.</li></ul>

<p/>

If you have created a chart, you can toggle between the report and chart using the Report View and Chart View links shown on the right. If you are viewing the chart, you can also use the Edit Chart link to edit the chart settings.

APEXIR_HELP_RESET

Resets the report back to the default settings, removing any customizations that you have made.

APEXIR_HELP_SAVE_REPORT

Saves the customized report for future use. You provide a name and an optional description.

APEXIR_HELP_SEARCH_BAR

At the top of each report page is a search region. The region provides the following features:

<p/>

<ul><li><b>Select columns icon</b> allows you to identify which column to search (or all).</li>

<li><b>Text area</b> allows for case insensitive search criteria (no need for wild cards).</li>

<li><b>Rows</b> selects the number of records to display per page.</li>

<li><b>[Go] button</b> executes the search.</li>

<li><b>Actions Menu icon</b> displays the actions menu (discussed next).</li></ul>

<p/>

Please note that all features may not be available for each report.

APEXIR_HELP_SELECT_COLUMNS

Used to modify the columns displayed. The columns on the right are displayed. The columns on the left are hidden. You can reorder the displayed columns using the arrows on the far right. Computed columns are prefixed with <b>**</b>.

APEXIR_HELP_SORT

Used to change the column(s) to sort on and whether to sort ascending or descending. You can also specify how to handle nulls (use the default setting, always display them last or always display them first). The resulting sorting is displayed to the right of column headings in the report.

APEXIR_HIDE_COLUMN

Hide Column

APEXIR_HIGHLIGHT

Highlight

APEXIR_HIGHLIGHTS

Highlights

APEXIR_HIGHLIGHT_CONDITION

Highlight Condition

APEXIR_HIGHLIGHT_TYPE

Highlight Type

APEXIR_HIGHLIGHT_WHEN

Highlight When

APEXIR_INTERACTIVE_REPORT_HELP

Interactive Report Help

APEXIR_INVALID

Invalid

APEXIR_INVALID_COMPUTATION

Invalid computation expression. %0

APEXIR_IS_IN_THE_LAST

%0 is in the last %1

APEXIR_IS_IN_THE_NEXT

%0 is in the next %1

APEXIR_IS_NOT_IN_THE_LAST

%0 is not in the last %1

APEXIR_IS_NOT_IN_THE_NEXT

%0 is not in the next %1

APEXIR_KEYPAD

Keypad

APEXIR_LABEL

Label

APEXIR_LABEL_AXIS_TITLE

Axis Title for Label

APEXIR_LAST_DAY

Last Day

APEXIR_LAST_HOUR

Last Hour

APEXIR_LAST_MONTH

Last Month

APEXIR_LAST_WEEK

Last Week

APEXIR_LAST_X_DAYS

Last %0 Days

APEXIR_LAST_X_HOURS

Last %0 Hours

APEXIR_LAST_X_YEARS

Last %0 Years

APEXIR_LAST_YEAR

Last Year

APEXIR_LINE

Line

APEXIR_MAX_QUERY_COST

The query is estimated to exceed the maximum allowed resources. Please modify your report settings and try again.

APEXIR_MAX_X

Maximum %0

APEXIR_MAX_ROW_CNT

This query returns more then %0 rows, please filter your data to ensure complete results.

APEXIR_MEDIAN_X

Median %0

APEXIR_MIN_AGO

%0 minutes ago

APEXIR_MIN_X

Minimum %0

APEXIR_MONTH

Month

APEXIR_MONTHLY

Monthly

APEXIR_MORE_DATA

More Data

APEXIR_MOVE

Move

APEXIR_MOVE_ALL

Move All

APEXIR_NAME

Name

APEXIR_NEW_AGGREGATION

New Aggregation

APEXIR_NEW_CATEGORY

- New Category -

APEXIR_NEW_COMPUTATION

New Computation

APEXIR_NEXT

&gt;

APEXIR_NEXT_DAY

Next Day

APEXIR_NEXT_HOUR

Next Hour

APEXIR_NEXT_MONTH

Next Month

APEXIR_NEXT_WEEK

Next Week

APEXIR_NEXT_X_DAYS

Next %0 Days

APEXIR_NEXT_X_HOURS

Next %0 Hours

APEXIR_NEXT_X_YEARS

Next %0 Years

APEXIR_NEXT_YEAR

Next Year

APEXIR_NO

No

APEXIR_NO_END_DATE

- No End Date -

APEXIR_NONE

- None -

APEXIR_NO_AGGREGATION_DEFINED

No aggregation defined.

APEXIR_NO_COLUMN_INFO

No column information available.

APEXIR_NO_COMPUTATION_DEFINED

No computation defined.

APEXIR_NULLS_ALWAYS_FIRST

Nulls Always First

APEXIR_NULLS_ALWAYS_FIRST

Nulls Always First

APEXIR_NULLS_ALWAYS_LAST

Nulls Always Last

APEXIR_NULL_SORTING

Null Sorting

APEXIR_NUMERIC_FLASHBACK_TIME

Flashback time must be numeric.

APEXIR_NUMERIC_SEQUENCE

Sequence must be numeric.

APEXIR_OPERATOR

Operator

APEXIR_ORANGE

orange

APEXIR_OTHER

Other

APEXIR_PERCENT_OF_TOTAL_COUNT_X

Percent of Total Count %0 (%)

APEXIR_PERCENT_OF_TOTAL_SUM_X

Percent of Total Sum %0 (%)

APEXIR_PERCENT_TOTAL_COUNT

Percent of Total Count

APEXIR_PERCENT_TOTAL_SUM

Percent of Total Sum

APEXIR_PIE

Pie

APEXIR_PREVIOUS

&lt;

APEXIR_PRIMARY

Primary

APEXIR_PRIMARY_REPORT

Primary Report

APEXIR_PRIVATE

Private

APEXIR_PUBLIC

Public

APEXIR_RED

red

APEXIR_REMOVE

Remove

APEXIR_REMOVE_AGGREGATE

Remove Aggregate

APEXIR_REMOVE_ALL

Remove All

APEXIR_REMOVE_CONTROL_BREAK

Remove Control Break

APEXIR_REMOVE_FILTER

Remove Filter

APEXIR_REMOVE_FLASHBACK

Remove Flashback

APEXIR_REMOVE_HIGHLIGHT

Remove Highlight

APEXIR_RENAME_REPORT

Rename Report

APEXIR_REPORT

Report

APEXIR_REPORTS

レポート

APEXIR_REPORT_DOES_NOT_EXIST

Report does not exist.

APEXIR_REPORT_SETTINGS

Report Settings

APEXIR_REPORT_VIEW

&lt; Report View

APEXIR_RESET

Reset

APEXIR_RESET_CONFIRM

Restore report to the default settings.

APEXIR_ROW

Row

APEXIR_ROWS

Rows

APEXIR_ROW_OF

Row %0 of %1

APEXIR_ROW_ORDER

Row Order

APEXIR_ROWS_PER_PAGE

Rows Per Page

APEXIR_ROW_TEXT_CONTAINS

Row text contains

APEXIR_SAVE

Save

APEXIR_SAVED_REPORT

Saved Report

APEXIR_SAVED_REPORT_MSG

Saved Report = "%0"

APEXIR_SAVE_AS_DEFAULT

Save as Default

APEXIR_SAVE_DEFAULT_CONFIRM

The current report settings will be used as the default for all users.

APEXIR_SAVE_REPORT

Save Report

APEXIR_SEARCH

Search

APEXIR_SEARCH_BAR

Search Bar

APEXIR_SEARCH_REPORT

Search Report

APEXIR_SELECT_CATEGORY

- Select Category -

APEXIR_SELECT_COLUMN

- Select Column -

APEXIR_SELECT_COLUMNS

Select Columns

APEXIR_SELECT_COLUMNS_FOOTER

Computed columns are prefixed with **.

APEXIR_SELECT_FUNCTION

- Select Function -

APEXIR_SELECT_SORT_COLUMN

- Select Sort Column -

APEXIR_SELECT_VALUE

Select Value

APEXIR_SEQUENCE

Sequence

APEXIR_SORT

Sort

APEXIR_SORT_ASCENDING

Sort Ascending

APEXIR_SORT_COLUMN

Sort Column

APEXIR_SORT_DESCENDING

Sort Descending

APEXIR_SPACE_AS_IN_ONE_EMPTY_STRING

space

APEXIR_STATUS

Status

APEXIR_SUBSCRIPTION_ENDING

Ending

APEXIR_SUBSCRIPTION_STARTING_FROM

Starting From

APEXIR_SUM_X

Sum %0

APEXIR_TEXT_COLOR

Text Color

APEXIR_TIME_DAYS

days

APEXIR_TIME_HOURS

hours

APEXIR_TIME_MINS

minutes

APEXIR_TIME_MONTHS

months

APEXIR_TIME_WEEKS

weeks

APEXIR_TIME_YEARS

years

APEXIR_TOP

Top

APEXIR_UNAUTHORIZED

Unauthorized

APEXIR_UNIQUE_COLUMN_HEADING

Column Heading must be unique.

APEXIR_UNIQUE_HIGHLIGHT_NAME

Highlight Name must be unique.

APEXIR_UNSUPPORTED_DATA_TYPE

unsupported data type

APEXIR_UP

Up

APEXIR_VALID_COLOR

Please enter a valid color.

APEXIR_VALID_FORMAT_MASK

Please enter a valid format mask.

APEXIR_VALUE

Value

APEXIR_VALUE_AXIS_TITLE

Axis Title for Value

APEXIR_VALUE_REQUIRED

Value Required

APEXIR_VCOLUMN

Vertical Column

APEXIR_VIEW_CHART

View Chart

APEXIR_VIEW_DETAIL

View Detail

APEXIR_VIEW_GROUP_BY

View Group By

APEXIR_VIEW_ICONS

View Icons

APEXIR_VIEW_REPORT

View Report

APEXIR_WEEK

Week

APEXIR_WEEKLY

Weekly

APEXIR_WORKING_REPORT

Working Report

APEXIR_X_DAYS

%0 days

APEXIR_X_HOURS

%0 hours

APEXIR_X_MINS

%0 minutes

APEXIR_X_MONTHS

%0 months

APEXIR_X_WEEKS

%0 weeks

APEXIR_X_YEARS

%0 years

APEXIR_YEAR

Year

APEXIR_YELLOW

yellow

APEXIR_YES

Yes

IR_AS_DEFAULT_REPORT_SETTING

As Default Report Settings

IR_AS_NAMED_REPORT

As Named Report

IR_STAR

Only displayed for developers

LAYOUT.T_CONDITION_EXPR2

Expression 2

OUT_OF_RANGE

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

REPORT

Report

REPORTING_PERIOD

Reporting Period

RESET

ページ区切りをリセット

SAVED_REPORTS.PRIMARY.DEFAULT

Primary Default

WWV_RENDER_REPORT3.X_Y_OF_Z_2

%0 - %1 of %2


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;

パラメータ

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

表 16-5 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表の「カラー」列の値がREDであったとすると、赤にドイツ語を定義すると、前述の例では、ROTが戻されます。


参照:

Oracle Application Express APIリファレンスの「APEX_LANG」

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

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

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

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

表 16-6 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

英語

en

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