Oracle APEXには10言語(ドイツ語、英語、スペイン語、フランス語、イタリア語、ブラジル - ポルトガル語、繁体中国語、簡体中国語、日本語、韓国語)の翻訳済みテキストが含まれています。
APEXの翻訳済みのメッセージは、APEXがインストールされているスキーマにある表WWV_FLOW_MESSAGES$に保存されています。これは内部表で、Autonomous Databaseでは直接アクセスすることはできません。標準ビューも提供されていないため、翻訳済みメッセージはオンプレミスのインスタンスにインストールしたAPEXから取り出す必要があります。
Oracle Database Express Editionなどを使ってOracle APEXの環境を作成し、メッセージを取り出すことにします。このような環境がすでに作成済みとして、作業を進めていきます。
最初にSYSまたはSYSTEMにて、データベースに接続します。
APEXがインストールされているスキーマはAPEX_バージョン番号となっています。先頭3桁ばメジャー、後ろ3件がマイナー・バージョンです。APEX 22.2の場合、APEX_220200となります。
current_schemaをAPEX_220200に変更します。
alter session set current_schema = apex_220200;
SQL> alter session set current_schema = apex_220200;
Session altered.
SQL>
APEXのワークスペース・スキーマがAPEXDEVとして作成済みとします。表WWV_FLOW_MESSAGES$のコピーをAPEXのワークスペース・スキーマに作成します。
SQL> create table apexdev.apex222_messages as select * from wwv_flow_messages$;
Table created.
SQL>
表WWV_FLOW_MESSAGES$のコピーがAPEX222_MESSAGESとして作成されました。
APEXのワークスペースにサインインし、SQLワークショップのユーティリティのデータ・ワークショップを開きます。
データのアンロードを実行します。
アンロード対象の表として先ほど作成したAPEX222_MESSAGESを選択します。列として最低限NAME、MESSAGE_LANGUAGE、MESSAGE_TEXTを選択します。
以上を設定し、データのアンロードを実行します。
メッセージのインポート先のインスタンスに作成されているAPEXワークスペースにサインインし、先ほどと同様にデータ・ワークショップを開きます。
今回はデータのロードを実行します。
先ほどダウンロードしたファイルapex222_messages.xmlを、ファイルとして選択します。
データのロードが完了したら、データ・ワークショップでの作業は終了です。
以前のバージョンのテキストが投入済みである場合は、最初に表CWR_MESSAGESより削除します。
delete from cwr_messages where name in (select name from apex222_messages);
APEX 22.2に含まれているメッセージを表CWR_MESSAGESに移入します。
insert into cwr_messages(name, message_language, message_text) select name, message_language, message_text from apex222_messages;
以上で、Oracle APEXに含まれている翻訳済みテキストを、表CWR_MESSAGESに投入できました。
最後の記事では、本記事で作成したXLIFFファイル翻訳支援アプリケーション自体を、表CWR_MESSAGESに投入したAPEXの翻訳済みのテキストを使用して翻訳してみます。
続く