Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド 11g リリース 1 (11.1.1) B61375-04 |
|
前 |
次 |
Oracle Reports Servicesのどのアプリケーションにも、次のような様々なメッセージが使用されています。
データベースからのエラー・メッセージ
Oracle Reports Servicesで生成されるランタイム・エラー・メッセージ
アプリケーションの一部として定義されるメッセージまたはボイラープレート・テキスト
このうち最初の2つについては、NLS_LANG
環境変数を正しく設定し、適切なメッセージ・ファイルを用意することで、メッセージが自動的に翻訳されます。アプリケーションの一部として定義されているメッセージおよびボイラープレート・テキストを翻訳するには、Oracleの翻訳ツールであるTranslationHubを使用します。また、コードの文字列にはPL/SQLライブラリを使用すると便利です。
注意: TranslationHubの使用方法は、Oracle Developer SuiteドキュメントCDおよびOracle Technology Network( |
PL/SQLブロック内の定数テキストは、手動で翻訳する必要があります。これは、このテキストが明確に区切られておらず、多くの場合、変数や文字列から構成されているためです。このような文字列を翻訳するには、PL/SQLライブラリを使用して柔軟なメッセージ構造を実装します。
ビルトイン・プロシージャSRW.MESSAGE
によって、またはトリガーやプロシージャから表示項目にメッセージを割り当てることによってプログラムから表示されるメッセージには、連結可能なPL/SQLライブラリを使用して、柔軟なメッセージ機能を実装できます。ライブラリはホスト上に格納し、実行時に動的に連結できます。実行時には、検索パスに基づいて、連結されたライブラリを読み込むことができます。たとえば、ライブラリにイタリア語のメッセージのみが格納されているとします。
FUNCTION nls_appl_mesg(index_no NUMBER) RETURN CHAR IS msg CHAR(80); BEGIN IF index_no = 1001 THEN msg := 'L''impiegato che Voi cercate non esiste...'; ELSIF index_no = 1002 THEN msg := 'Lo stipendio non puo essere minore di zero.'; ELSIF ... . . ELSE msg := 'ERRORE: Indice messaggio inesistente.'; END IF; RETURN msg; END;
このようなルーチンは、一般に文字式が使用可能な場所であればどこでも使用できます。たとえば、適切に翻訳されたアプリケーション・メッセージを使用して警告を表示するには、次のコードを組み込みます。
SRW.MESSAGE(1001,nls_appl_mesg(1001));
注意:
|
アプリケーションを別の言語に変更するには、nls_appl_mes
ファンクションを含むPL/SQLライブラリを、翻訳済みテキストを指定したnls_appl_mesg
ファンクションを含む同名のライブラリに置き換えるだけです。