このセクションでは、Oracle HTML DBで作成したアプリケーションを言語変換する方法について説明します。
内容は次のとおりです。
Oracle HTML DBでは、同時に複数の言語で実行可能なアプリケーションを開発できます。単一のOracleデータベース・インスタンスとOracle HTML DBで、異なる言語で実行するようにカスタマイズされた複数のデータベース・セッションをサポートできます。
通常、Oracle HTML DBアプリケーションの言語変換は、次のステップを実行します。
プライマリおよびターゲットのアプリケーションIDをマップします。
言語変換ファイルにテキストをシードおよびエクスポートします。
テキストをファイルに言語変換します。
言語変換ファイルを適用および公開します。
このセクションの構成は次のとおりです。
アプリケーションの作成後、「アプリケーション属性の編集」ページで言語プリファレンスを指定します。「グローバリゼーション」で、プライマリ・アプリケーションの言語を選択し、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のテンプレートは言語変換可能ではないため、生成された言語変換ファイルには含まれません。通常、テンプレートには言語変換可能なテキストを含めません。ただし、テンプレートを言語変換可能として指定する必要がある場合は、「ページ・テンプレートの編集」ページで、「翻訳可能」チェック・ボックスを選択します。
テンプレートを言語変換可能として指定するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
「ユーザー・インタフェース」で、「テンプレート」を選択します。
「テンプレート」ページが表示されます。
編集するテンプレートを検索して、テンプレート名を選択します。
「テンプレートの指定」で、「翻訳可能」を選択します。
静的置換文字列を使用して言語変換可能なテキストを定義することで、言語変換可能なテキストをアプリケーション・レベルで含めることができます。 アプリケーション・レベル属性は変換されるため、静的置換文字列として定義された任意のテキストは、生成された言語変換ファイルに含められます。
グローバリゼーション属性は、HTML DBエンジンによるアプリケーションのプライマリ言語の決定方法を指定します。
グローバリゼーション属性を編集するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「属性の編集」をクリックします。
「グローバリゼーション属性の編集」をクリックします。
「アプリケーションのプライマリ言語」から、アプリケーションが開発されている言語を選択します。
「アプリケーション言語の派生元」から、HTML DBエンジンによるアプリケーション言語の決定(派生)方法を指定します。表15-1に、使用可能なオプションを示します。
表15-1 アプリケーション言語の派生元オプション
オプション | 説明 |
---|---|
NLSなし(アプリケーションは言語変換されない) | このオプションは、アプリケーションが言語変換されない場合に選択します。 |
アプリケーションのプライマリ言語を使用 | アプリケーションのプライマリ言語属性に基づいて、アプリケーションのプライマリ言語を決定します(ステップ5を参照)。 |
ブラウザ(ブラウザの言語プリファレンスを使用) | ユーザーのブラウザの言語プリファレンスに基づいて、アプリケーションのプライマリ言語を決定します。 |
アプリケーション・プリファレンス(FSP_LANGUAGE_PREFERENCEを使用) | HTMLDB_UTIL .SET_PREFERENCE APIを使用して定義された値に基づいて、アプリケーションのアプリケーションのプライマリ言語を決定します。選択した言語プリファレンスを複数のログインで維持するには、このオプションを選択します。
|
アイテム・プリファレンス(プリファレンスを含むアイテムを使用) | FSP_LANGUAGE_PREFERENCE と呼ばれるアプリケーション・レベル・アイテムに基づくことを指定します。このオプションを使用するには、ログインするたびにOracle HTML DBで適切な言語プリファレンスを決定する必要があります。
|
HTML DBエンジンは、レンダリングされた各ページにグローバリゼーション設定を適用します。デフォルトの動作は、数字や日付などの特定のアイテムの表示に影響する可能性があります。
たとえば、ユーザーのブラウザの言語プリファレンスに基づいて、アプリケーション言語を決定するとします。HTML DBエンジンが、ユーザーのブラウザの言語プリファレンスをフランス語と決定した場合、日付および数字は、フランス語の標準に合わせた書式で表示されます。書式マスクを適用することによって、このデフォルトの動作をオーバーライドし、アイテムの表示方法を明示的に制御できます。「表示形式」リストから選択して、書式マスクを適用します。
アイテム作成時
アイテム属性を編集してアイテムを作成した後
アイテム属性を編集するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「アイテム」で、アイテム名を選択します。
「ページ・アイテムの編集」ページが表示されます。
「指定」で、「表示形式」リストから選択します。
Oracle HTML DBで開発されたアプリケーションを言語変換するには、プライマリ・アプリケーションIDとターゲット・アプリケーションIDをマップし、言語変換ファイルにテキストをシードおよびエクスポートした後、テキストを言語変換して、言語変換ファイルを適用および公開する必要があります。
このセクションの構成は次のとおりです。
言語変換の処理は、「アプリケーションの翻訳」ページで実行します。
「アプリケーションの翻訳」ページにナビゲートするには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」で、「言語変換サービス」を選択します。
「アプリケーションの翻訳」ページが表示されます。
アプリケーションの言語変換の最初のステップは、プライマリおよびターゲットのアプリケーションIDをマップすることです。プライマリ・アプリケーションは、言語変換されるアプリケーションです。ターゲット・アプリケーションは、言語変換された結果のアプリケーションです。
プライマリおよびターゲットのアプリケーションIDをマップするには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。 「ステップ1: 「アプリケーションの翻訳」ページへのナビゲート」を参照してください。
「アプリケーションの翻訳」ページで、「翻訳されたアプリケーションIDにプライマリ言語アプリケーションをマップ」を選択します。
「アプリケーション・マッピング」ページが表示されます。
「作成」をクリックします。
「翻訳アプリケーション・マッピング」ページで、次のステップを実行します。
「言語変換アプリケーション」 - ターゲット・アプリケーションを識別する数値のアプリケーションIDを入力します。言語変換済アプリケーションIDは整数である必要があり、0(ゼロ)以外の整数で終了する必要があります。
「言語変換アプリケーション言語コード」 - 言語変換結果となる言語を選択します。
「イメージ・ディレクトリ」 - イメージが取得されるディレクトリを入力します。
この属性は、言語変換されたイメージの仮想パスを指定します。たとえばプライマリ言語アプリケーションのイメージ接頭辞が'/images/'
の場合、ドイツ語には'/images/de/'
、スペイン語には'/images/es/'
のように、その他の言語の仮想ディレクトリを追加で定義できます。
「作成」をクリックします。
2番目のステップでは、言語変換表をシードし、言語変換テキストを言語変換ファイルにエクスポートします。
このセクションの構成は次のとおりです。
アプリケーションを言語変換するには、言語変換をシードする必要があります。言語変換のシードでは、言語変換可能なすべてのテキストを言語変換テキスト・リポジトリにコピーします。アプリケーションおよび特定の言語を言語変換テキスト・リポジトリにシードした後は、言語変換用のXLIFFファイルを生成し、エクスポートできます。
シード・プロセスでは、プライマリ言語アプリケーションと言語変換テキスト・リポジトリの同期がとられます。プライマリ言語アプリケーションを変更するたびに、シード・プロセスを実行する必要があります。
言語変換可能なテキストをシードするには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。 「ステップ1: 「アプリケーションの翻訳」ページへのナビゲート」を参照してください。
「アプリケーションの翻訳」ページで、「アプリケーションの翻訳テキストを翻訳ファイルにシードおよびエクスポート」を選択します。
「言語マッピング」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。
「翻訳可能なテキストのシード」をクリックします。
「XLIFFのエクスポート」ページが表示されます。
注意: XLIFF(XML Localization Interchange File Format)は、ローカリゼーション・データを変換するためのXMLベースのフォーマットです。XLIFFについて、またはXLIFF仕様を確認するには、次のURLを参照してください。
|
言語変換可能なテキストをシードした後は、「XLIFFのエクスポート」ページの上部のステータス・ボックスに、言語変換が必要な可能性のある属性の合計数と次の項目の数が表示されます。
言語変換が必要な可能性のある既存の更新済属性
言語変換が必要な可能性のある新しい属性
言語変換が不要になった削除済属性
この情報を使用して、アプリケーション全体の言語変換可能なテキストをエクスポートするか、特定のページの言語変換可能なテキストをエクスポートするかを判断できます。
「XLIFFのエクスポート」ページは、2つのセクションに分かれています。アプリケーション全体(すべてのページ、LOV、メッセージなど)の言語変換可能なテキストをエクスポートするには、ページの前半を使用します。特定のページの言語変換可能なテキストをエクスポートするには、後半を使用します。
アプリケーション全体の言語変換可能なテキストをエクスポートするには、次のステップを実行します。
前述のステップ「言語変換可能なテキストのシード」のとおり、言語変換可能なテキストをシードします。
「XLIFFのエクスポート: ステップ2、XLIFFのエクスポート」で、次のステップを実行します。
「アプリケーション」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。
XLIFFターゲット要素を含めるかどうかを指定します。
「エクスポート」で、XLIFFファイルに含められる言語変換テキストを指定します。
「アプリケーションのXLIFFファイルのエクスポート」をクリックします。
画面に表示されるステップに従います。
特定のページの言語変換可能なテキストをエクスポートするには、次のステップを実行します。
「言語変換可能なテキストのシード」のとおり、言語変換可能なテキストをシードします。
「特定ページのXLIFFのエクスポート」で、次のステップを実行します。
「アプリケーション」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。
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ドキュメントを言語変換したら、Oracle HTML DBにアップロードして戻します。
言語変換済XLIFFドキュメントをアップロードするには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。 「ステップ1: 「アプリケーションの翻訳」ページへのナビゲート」を参照してください。
「アプリケーションの翻訳」ページで、「翻訳ファイルを適用して公開」を選択します。
「XLIFFのアップロード」をクリックします。
「XLIFFのアップロード」ページで、次のステップを実行します。
タイトルを指定します。
説明を入力します。
「参照」をクリックし、アップロードされるファイルを指定します。
「XLIFFファイルのアップロード」をクリックします。
アップロードされたドキュメントが、XLIFFファイル・リポジトリに表示されます。
XLIFFドキュメントをアップロードした後、そのXLIFFドキュメントを適用して言語変換済アプリケーションを公開します。XLIFFドキュメントを適用すると、HTML DBエンジンはファイルを解析して、言語変換表を新しい言語変換可能なテキストで更新します。
アプリケーションを公開すると、ベース言語のアプリケーションのコピーが作成され、言語変換表の言語変換されたテキスト文字列が置換されます。その後、この公開されたアプリケーションを使用して、代替言語でアプリケーションをレンダリングできます。
アプリケーションを代替言語で実行するには、代替言語バージョンで表示するようにグローバリゼーション設定を行ってアプリケーションを実行する必要があります。たとえば、言語がブラウザ言語に従う場合は、ブラウザ言語を言語変換済アプリケーションと同じ言語に設定する必要があります。
言語変換済XLIFFドキュメントを適用および公開するには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。 「ステップ1: 「アプリケーションの翻訳」ページへのナビゲート」を参照してください。
「アプリケーションの翻訳」ページで、「翻訳ファイルを適用して公開」を選択します。
XLIFFファイル・リポジトリで、公開するドキュメントの横にある「ビュー」アイコンをクリックします。
「適用」から、適切なプライマリおよびターゲットのアプリケーションIDマップを選択します。
「XLIFF翻訳ファイルの適用」をクリックします。
「アプリケーションのパブリッシュ」をクリックします。
アップロードしたXLIFFドキュメントを削除するには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。 「ステップ1: 「アプリケーションの翻訳」ページへのナビゲート」を参照してください。
「アプリケーションの翻訳」ページで、「翻訳ファイルを適用して公開」を選択します。
XLIFFファイル・リポジトリで、そのドキュメント・タイトルの左のチェック・ボックスを選択します。
「チェックした項目の削除」をクリックします。
アプリケーションが公開された後、言語変換済アプリケーションの有無を確認する必要があります。言語変換済アプリケーションは、アプリケーション・ビルダーのホームページの「選択可能なアプリケーション」リストには表示されません。かわりに、そのページの左側のアプリケーション・ナビゲート・リストを使用します。
言語変換済アプリケーションがアプリケーション・ビルダーに表示されるためには、アプリケーションのグローバリゼーション属性が正しく設定されている必要があります。
アプリケーションにPL/SQLリージョンまたはPL/SQLプロセスが含まれる場合、あるいはアプリケーションがPL/SQLパッケージ、プロシージャ、またはファンクションをコールする場合は、生成されたHTMLを言語変換する必要がある場合があります。最初に、「翻訳可能なメッセージ」ページで、各メッセージを定義します。次に、HTMLDB_LANG
.MESSAGE
APIを使用して、PL/SQLストアド・プロシージャ、ファンクション、トリガーまたはパッケージ化されたプロシージャおよびファンクションのメッセージを言語変換します。
「翻訳可能なメッセージ」ページで、言語変換可能なメッセージを作成します。
新しい言語変換メッセージを定義するには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。 「ステップ1: 「アプリケーションの翻訳」ページへのナビゲート」を参照してください。
「アプリケーションの翻訳」ページで、「(オプション)PL/SQLプロシージャおよびファンクションで使用するメッセージを翻訳」を選択します。
「メッセージの翻訳」ページで、「作成」をクリックします。
「テキスト・メッセージを指定」ページで、次のステップを実行します。
「名前」で、テキスト・メッセージを識別するための名前を入力します。
「言語」で、メッセージが使用される言語を選択します。
「テキスト」で、そのテキスト・メッセージがコールされたときに戻されるテキストを入力します。
たとえば、メッセージGREETING_MSG
を次のように英語で定義できます。
Good morning %0
また、メッセージGREETING_MSG
を次のようにドイツ語で定義できます。
Guten Tag %0
「作成」をクリックします。
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;
パラメータ
表15-2に、HTMLDB_LANG
.MESSAGE
で使用可能なパラメータを示します。
表15-2 HTMLDB_LANG.MESSAGEパラメータ
パラメータ | 説明 |
---|---|
p_name
|
Oracle HTML DBで定義されたメッセージの名前。 |
p0
...
|
動的置換値。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_CODE
がde
であるGREETING_MSG
というメッセージを検索します。見つからない場合は、アプリケーションのプライマリ言語属性に戻ります。それでも見つからない場合、HTML DBエンジンは、言語コードがen-us
であるこの名前でメッセージを検索します。
動的データを言語変換するには、動的言語変換を作成します。たとえば、データベース問合せに基づくLOVで動的言語変換を使用する場合があります。
動的言語変換は、メッセージ名ではなく特定の文字列を問い合せるという点でメッセージとは異なります。動的言語変換は、「動的翻訳」ページで定義します。その後、HTMLDB_LANG
.LANG
APIを使用して、パラメータp_primary_text_string
で指定された動的言語変換文字列を戻します。
動的言語変換は、「動的翻訳」ページで定義します。動的言語変換は、言語変換元の言語文字列、言語コードおよび言語変換先の文字列で構成されています。
動的言語変換を定義するには、次のステップを実行します。
「アプリケーションの翻訳」ページにナビゲートします。 「ステップ1: 「アプリケーションの翻訳」ページへのナビゲート」を参照してください。
「アプリケーションの翻訳」ページで、「(オプション)SQLに基づくLOVをサポートするために動的に翻訳する必要があるデータを指定」を選択します。
「動的翻訳」ページで、「作成」をクリックし、次の項目を指定します。
「言語」で、ターゲットの言語を選択します。
「翻訳元テキスト」で、言語変換されるソースのテキストを入力します。
「翻訳先」で、言語変換後のテキストを入力します。
「作成」をクリックします。
構文
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;
パラメータ
表15-3に、HTMLDB_LANG
.LANG
で使用可能なパラメータを示します。
表15-3 HTMLDB_LANG.LANGパラメータ
パラメータ | 説明 |
---|---|
p_primary_string
|
プライマリ言語のテキスト文字列。これは、「動的翻訳」の「翻訳元テキスト」の値になります。 |
p0
...
|
動的置換値。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グローバリゼーション・コードが、アプリケーションの実行方法に与える影響を理解しておくことが重要です。これらのコードは、選択したアプリケーション・レベルのグローバリゼーション属性に基づいて自動的に設定されます。
NLS_LANGUAGE
およびNLS_TERRITORY
によって、数字、日付および通貨のデフォルトの表示形式が決まります。
表15-4に、Oracle HTML DBのグローバリゼーション・コードを示します。
表15-4 Oracle HTML DBのグローバリゼーション・コード
言語名 | 言語コード | 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 |
ズールー語 | zu
|
ENGLISH | UNITED KINGDOM |