Oracle HTML DBユーザーズ・ガイド
リリース1.6
部品番号: B15713-02
  目次へ移動
目次
索引へ移動
索引

戻る
戻る
次へ
次へ
 

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

この章では、Oracle HTML DBで作成したアプリケーションを言語変換する方法について説明します。

この章の内容は次のとおりです。

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

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

通常、Oracle HTML DBアプリケーションの言語変換は、次の手順を実行します。

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

言語の指定

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

Oracle HTML DBでのアプリケーションの言語変換の規則

Oracle HTML DBで言語変換済アプリケーションを使用する場合、次の規則に従って、使用する言語変換済バージョンが決定されます。

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

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

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

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

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

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

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

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

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

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

Oracle HTML DBには、言語変換可能なメッセージを参照できる、2つのショートカット・タイプがあります。

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

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

メッセージ

アプリケーションにPL/SQLリージョンまたはPL/SQLプロセスが含まれる場合は、生成されたHTMLまたはテキストを言語変換する必要があります。Oracle HTML DBでは、これらのタイプの生成されたHTMLおよびテキストは「メッセージ」と呼ばれます。「言語変換可能なメッセージ」ページで、すべてのメッセージを定義し、メッセージを言語変換できます。HTMLDB_LANG.MESSAGE APIを使用して、PL/SQLストアド・プロシージャ、ファンクション、トリガー、パッケージ化されたプロシージャおよびファンクションのテキスト文字列を言語変換できます。

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

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

言語変換テンプレート

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

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

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

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. Application Builderのホームページで、「共有コンポーネント」をクリックします。

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

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

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

  6. 「テンプレートの指定」で、「言語変換可能」を選択します。

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

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

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

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

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

  2. 「アプリケーション」リストからアプリケーションを選択します。

  3. 属性を編集」アイコンをクリックします。

    「アプリケーション属性を編集」ページが表示されます。

  4. 「グローバリゼーション」までスクロールします。

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

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

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

    オプション 説明
    NLSなし(アプリケーションは言語変換されない) このオプションは、アプリケーションが言語変換されない場合に選択します。
    アプリケーションのプライマリ言語を使用 アプリケーションのプライマリ言語属性に基づいて、アプリケーションのプライマリ言語を決定します(手順5を参照)。
    ブラウザ(ブラウザの言語プリファレンスを使用) ユーザーのブラウザの言語設定に基づいて、アプリケーションのプライマリ言語を決定します。
    アプリケーション・プリファレンス(FSP_LANGUAGE_PREFERENCEを使用) HTMLDB_UTIL.SET_PREFERENCE APIを使用して定義された値に基づいて、アプリケーションのアプリケーションのプライマリ言語を決定します。選択した言語設定を複数のログインで維持するには、このオプションを選択します。

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

    アイテム・プリファレンス(プリファレンスを含むアイテムを使用) FSP_LANGUAGE_PREFERENCEと呼ばれるアプリケーション・レベル・アイテムに基づくことを指定します。このオプションを使用するには、ログインするたびにOracle HTML DBで適切な言語設定を決定する必要があります。

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

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

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

  • アイテム作成時

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

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

  1. 該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)

  2. 「アイテム」で、アイテム名にドリルダウンします。

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

  3. 「指定」で、「表示形式」リストから選択します。


参照:

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

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

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


参照:

『Oracle Databaseグローバリゼーション・サポート・ガイド』

言語変換プロセスの理解

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

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

「アプリケーションを言語変換」ページへのナビゲート

言語変換の処理は、「アプリケーションを言語変換」ページで実行します。

「アプリケーションを言語変換」ページにナビゲートするには、次の手順を実行します。

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

  2. 「アプリケーション」リストからアプリケーションを選択します。

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

  4. 「言語変換」で、「言語変換サービス」を選択します。

    「アプリケーションを言語変換」ページが表示されます。

プライマリおよびターゲットのアプリケーションIDのマップ

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

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

  1. 「アプリケーションを言語変換」ページにナビゲートします。(「「アプリケーションを言語変換」ページへのナビゲート」を参照。)

  2. 「アプリケーションを言語変換」ページで、「言語変換されたアプリケーションIDにプライマリ言語アプリケーションをマップ」を選択します。

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

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

  4. 「言語変換アプリケーション・マッピング」ページで、次の手順を実行します。

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

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

    • 「イメージ・ディレクトリ」で、イメージが取得されるディレクトリを入力します。

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

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

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

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

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

アプリケーションを言語変換するには、言語変換をシードする必要があります。言語変換のシードでは、言語変換可能なすべてのテキストを言語変換テキスト・リポジトリにコピーします。アプリケーションおよび特定の言語を言語変換テキスト・リポジトリにシードした後は、言語変換用のXLIFFファイルを生成し、エクスポートできます。

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

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

  1. 「アプリケーションを言語変換」ページにナビゲートします。(「「アプリケーションを言語変換」ページへのナビゲート」を参照。)

  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. 手順2、XLIFFのエクスポート」で、次の手順を実行します。

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

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

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

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

  3. 画面に表示される手順に従います。

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

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

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

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

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

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

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

  3. 画面に表示される手順に従います。

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

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

エクスポート

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

XLIFFファイルの言語変換

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

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


参照:

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


言語変換済XLIFFドキュメントのアップロードおよび公開

XLIFFドキュメントを言語変換したら、Oracle HTML DBにアップロードして戻します。

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

  1. 「アプリケーションを言語変換」ページにナビゲートします。(「「アプリケーションを言語変換」ページへのナビゲート」を参照。)

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

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

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

    • タイトルを指定します。

    • 説明を入力します。

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

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

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

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

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

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

言語変換済XLIFFドキュメントを適用および公開するには、次の手順を実行します。

  1. 「アプリケーションを言語変換」ページにナビゲートします。(「「アプリケーションを言語変換」ページへのナビゲート」を参照。)

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

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

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

  5. XLIFF言語変換ファイルを適用」をクリックします。

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

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

  1. 「アプリケーションを言語変換」ページにナビゲートします。(「「アプリケーションを言語変換」ページへのナビゲート」を参照。)

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

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

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

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

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

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

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

言語変換可能なメッセージの定義

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

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

  1. 「アプリケーションを言語変換」ページにナビゲートします。(「「アプリケーションを言語変換」ページへのナビゲート」を参照。)

  2. 「アプリケーションを言語変換」ページで、「オプションで、PL/SQLプロシージャおよびファンクションで使用するメッセージを言語変換してください。」を選択します。

  3. 「メッセージを言語変換」ページで、「作成」をクリックします。

  4. 「テキスト・メッセージを指定」ページで、次の手順を実行します。

    • 「名前」で、テキスト・メッセージを識別するための名前を入力します。

    • 「言語」で、メッセージが使用される言語を選択します。

    • 「テキスト」で、そのテキスト・メッセージがコールされたときに戻されるテキストを入力します。

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

      Good morning %0
      
      

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

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

HTMLDB_LANG.MESSAGE API

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

構文

HTMLDB_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に、HTMLDB_LANG.MESSAGEで使用可能なパラメータを示します。

表16-2 HTMLDB_LANG.MESSAGEパラメータ

パラメータ 説明
p_name Oracle HTML DBで定義されたメッセージの名前。
p0

...

p9

動的置換値。p0は、メッセージの0%に対応します。p1は、メッセージの1%に対応します。p2は、メッセージの2%に対応します(以降同様)。
p_lang 取得されるメッセージの言語コード。指定しない場合、Oracle HTML DBは、「アプリケーション言語の派生元」属性で定義されているとおり、ユーザーの現行の言語を使用します。

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


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

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

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


参照:

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

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

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

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

動的言語変換の定義

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

動的言語変換を定義するには、次の手順を実行します。

  1. 「アプリケーションを言語変換」ページにナビゲートします。(「「アプリケーションを言語変換」ページへのナビゲート」を参照。)

  2. 「アプリケーションを言語変換」ページで、「オプションで、SQLに基づくLOVをサポートするために動的に言語変換する必要があるデータを指定してください。」を選択します。

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

    • 「言語」で、ターゲットの言語を選択します。

    • 「テキストから言語変換」で、言語変換されるソースのテキストを入力します。

    • 「言語変換先」で、言語変換後のテキストを入力します。

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

HTMLDB_LANG.LANG API

構文

HTMLDB_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-3に、HTMLDB_LANG.LANGで使用可能なパラメータを示します。

表16-3 HTMLDB_LANG.LANGパラメータ

パラメータ 説明
p_primary_string プライマリ言語のテキスト文字列。これは、「動的言語変換」の「テキストから言語変換」の値になります。
p0

...

p9

動的置換値。p0は、言語変換文字列の0%に対応します。p1は、言語変換文字列の1%に対応します。p2は、言語変換文字列の2%に対応します(以降同様)。
p_primary_language 取得されるメッセージの言語コード。指定しない場合、Oracle HTML DBは、「アプリケーション言語の派生元」属性で定義されているとおり、ユーザーの現行の言語を使用します。

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


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

SELECT HTMLDB_LANG.LANG(color)
  FROM my_colors

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

Oracle HTML DBのグローバリゼーション・コード

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

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

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

表16-4 Oracle HTML DBのグローバリゼーション・コード

言語名 言語コード NLS_LANGUAGE NLS_TERRITORY
アラビア語 ar ARABIC
アッサム語 as ASSAMESE INDIA
ベンガル語 bn BANGLA
ブルガリア語 bg BULGARIAN BULGARIA
カタロニア語 ca CATALAN CATALONIA
中国語(中国) zh-cn SIMPLIFIED CHINESE CHINA
中国語(香港SAR) zh-hk TRADITIONAL CHINESE HONG KONG
中国語(シンガポール) zh-sg SIMPLIFIED CHINESE SINGAPORE
中国語(台湾) zh-tw TRADITIONAL CHINESE TAIWAN
中国語 zh SIMPLIFIED CHINESE CHINA
クロアチア語 hr CROATIAN CROATIA
チェコ語 cs CZECH CZECH REPUBLIC
デンマーク語 da DANISH DENMARK
オランダ語(オランダ) nl DUTCH THE NETHERLANDS
英語(米国) en-us AMERICAN AMERICA
英語 ENGLISH
英語 en-gb ENGLISHUNITED KINGDOM
エストニア語 et ESTONIAN ESTONIA
フィンランド語 fi FINNISH FINLAND
フランス語(カナダ) fr-ca CANADIAN FRENCH CANADA
フランス語(フランス) fr FRENCH FRANCE
ドイツ語(ドイツ) de GERMAN GERMANY
ギリシャ語 el GREEK GREECE
グジャラト語 gu GUJARATI
ヘブライ語 he HEBREW ISRAEL
ヒンディー語 hi HINDI INDIA
ハンガリー語 hu HUNGARIAN HUNGARY
アイスランド語 is ICELANDIC ICELAND
インドネシア語 id INDONESIAN INDONESIA
イタリア語(イタリア) it ITALIAN ITALY
日本語 ja JAPANESE JAPAN
カンナダ語 kn KANNADA INDIA
韓国語 ko KOREAN KOREA
ラトビア語 lv LATVIAN LATVIA
リトアニア語 lt LITHUANIAN LITHUANIANA
マラヤーラム語(マレーシア) ms MALAY MALAYSIA
マラヤーラム語 ml MALAYALAM
マラーティー語 mr MARATHI
ノルウェー語 no NORWEGIAN NORWAY
オリヤー語 or ORIYA
ポーランド語 pl POLISH POLAND
ポルトガル語(ブラジル) pt-br BRAZILIAN PORTUGUESE BRAZIL
ポルトガル語(ポルトガル) pt PORTUGUESE PORTUGAL
パンジャブ語 pa PUNJABI
ルーマニア語 ro ROMANIAN ROMANIA
ロシア語 ru RUSSIAN
スロバキア語 sk SLOVAK SLOVAKIA
スロベニア語 sl SLOVENIAN SLOVENIA
スペイン語 es SPANISH SPAIN
スペイン語(メキシコ) es-mx MEXICAN SPANISH MEXICO
スウェーデン語 sv SWEDISH SWEDEN
タミル語 ta TAMIL
テルグ語 te TELUGU
タイ語 th THAI THAILAND
トルコ語 tr TURKISH TURKEY
ウクライナ語 uk UKRAINIAN UKRAINE
ベトナム語 vi VIETNAMESE VIETNAM