ホーム > アプリケーションのグローバリゼーションの管理 > メッセージの翻訳 > PL/SQLプロシージャで使用されるメッセージの翻訳
前へ |
次へ |
アプリケーションにPL/SQLリージョンまたはPL/SQLプロセスが含まれる場合、あるいはアプリケーションがPL/SQLパッケージ、プロシージャ、またはファンクションをコールする場合は、生成されるHTMLを翻訳する必要がある場合があります。最初に、翻訳可能なメッセージ・ページで、各メッセージを定義します。次に、APEX_LANG
.MESSAGE
APIを使用して、PL/SQLストアド・プロシージャ、ファンクション、トリガーまたはパッケージ化されたプロシージャおよびファンクションのメッセージを翻訳します。
翻訳可能なメッセージ・ページで、翻訳可能なメッセージを作成します。
新しい翻訳メッセージを定義するには、次のステップを実行します。
アプリケーションの翻訳ページにナビゲートします。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「グローバリゼーション」の下で「テキスト・メッセージ」をクリックします。
メッセージの翻訳ページで、「作成」をクリックします。
「テキスト・メッセージを指定」で次を指定します。
名前: メッセージを識別するための名前を入力します。
言語: メッセージが使用される言語を選択します。
テキスト: テキスト・メッセージがコールされたときに戻されるテキストを入力します。
たとえば、メッセージGREETING_MSG
を次のように英語で定義できます。
Good morning %0
また、メッセージGREETING_MSG
を次のようにドイツ語で定義できます。
Guten Tag %0
「作成」をクリックします。
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;
パラメータ
表: APEX_LANG.MESSAGEのパラメータでは、APEX_LANG
.MESSAGE APIで使用可能なパラメータについて説明します。
APEX_LANG.MESSAGEのパラメータ
パラメータ | 説明 |
---|---|
|
Oracle Application Expressで定義されたメッセージの名前。 |
...
|
動的置換値。 |
|
取得されるメッセージの言語コード。指定しない場合、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_CODE
がde
であるGREETING_MSG
というメッセージを検索します。見つからない場合は、アプリケーションのプライマリ言語属性に戻ります。それでも見つからない場合、Application Expressエンジンは、言語コードがen-us
であるこの名前のメッセージを検索します。
参照: アプリケーションのプライマリ言語属性については、「アプリケーションへのプライマリ言語の指定」およびOracle Application Express APIリファレンスの「APEX_LANG」を参照してください。 |