39.11 MESSAGEファンクション(非推奨)
このファンクションは、PL/SQLのストアド・プロシージャ、ストアド・ファンクション、ストアド・トリガー、パッケージ化されたプロシージャおよびパッケージ化されたファンクションから生成されたテキスト文字列(メッセージ)の翻訳に使用します。
構文
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,
p_application_id IN NUMBER DEFAULT NULL )
RETURN VARCHAR2;
パラメータ
パラメータ | 説明 |
---|---|
p_name |
Oracle APEXでアプリケーションの「共有コンポーネント」下にある「テキスト・メッセージ」で定義されたメッセージの名前。 |
p0 からp9 |
動的置換値。p0 は、翻訳文字列の%0 に対応します。p1 は翻訳文字列の%1 に対応し、p2 は翻訳文字列の%2 に対応します(以降同様)。
|
p_lang |
取得されるメッセージの言語コード。指定されていない場合、APEXは、 『Oracle APEXアプリケーション・ビルダー・ユーザーズ・ガイド』のアプリケーションへのプライマリ言語の指定も参照してください。 |
p_application_id |
現在のワークスペース内で返される翻訳済みメッセージを所有するアプリケーションIDを指定します。データベース・ジョブからコールされるパッケージなど、APEXの範囲外でコールされるパッケージをコーディングする際に便利です。 |
例
次の例では、アプリケーションのGREETING_MSG
というメッセージを、英語でGood morning %0
、ドイツ語でGuten Tag %1
と定義したと仮定しています。この例では、PL/SQLからこのメッセージを呼び出す方法を示します。
BEGIN
--
-- Print the greeting
--
HTP.P(APEX_LANG.MESSAGE('GREETING_MSG', V('APP_USER')));
END;
p_lang
属性の定義は、APEXエンジンがアプリケーションのプライマリ言語を導出する方法によって異なります。たとえば、アプリケーションをドイツ語で実行中で、前回のコールがAPEX_LANG.MESSAGE
APIに対して行われた場合、APEXエンジンは、最初にLANG_CODE
がde
であるGREETING_MSG
というメッセージを検索します。見つからない場合は、Application Primary Language
属性に戻されます。それでも見つからない場合、APEXエンジンは、言語コードがen
であるこの名前のメッセージを検索します。
参照:
- GET_MESSAGEファンクション
- 『Oracle APEXアプリケーション・ビルダー・ユーザーズ・ガイド』のアプリケーションへのプライマリ言語の指定
親トピック: APEX_LANG