Web 管理ツールのローカライズ

Data Catalog、Design Studio、Scheduler Administration Tool では、モジュールの管理者がユーザーインターフェイスをユーザーの言語に翻訳することが可能です。そのため、Denodo のインストール時に、各アプリケーション用のキーと値のペアを含むファイルが提供されます。以下に例を示します。

login.signIn=Sign in

管理者はペアの値を翻訳する必要があります。この例では、「Sign in」を希望する言語に翻訳します。

ここでは、以下の内容を説明します。

  • 翻訳方法とルール。

  • Denodo の更新プログラムをインストールした後に、翻訳の必要な新規メッセージの有無を確認する手順。

Web 管理ツール用のカスタムメッセージの設定方法。

以下の手順に従って、各アプリケーションのユーザーインターフェイスを翻訳します。なお、翻訳が不要なアプリケーションについては、スキップしてかまいません。

Data Catalog

  1. ファイル <DENODO_HOME>/resources/data-catalog/messages/customLang.properties.template<DENODO_HOME>/work/data-catalog/customLang.properties にコピーします。

  2. file:{<DENODO_HOME>}/work/data-catalog/customLang.properties を編集してメッセージを翻訳します。注意事項については後述します。

Design Studio

Design Studio をローカライズするには、以下の手順に従って実施してください。

  1. ファイル <DENODO_HOME>/resources/design-studio/messages/customLang.properties.template<DENODO_HOME>/work/design-studio/customLang.properties にコピーします。

  2. file:{<DENODO_HOME>}/work/design-studio/customLang.properties を編集してメッセージを翻訳します。注意事項については後述します。

Scheduler Administration Tool

  1. ファイル <DENODO_HOME>/resources/scheduler-webadmintool/messages/customLang.properties.template を、 <DENODO_HOME>/work/scheduler-webadmintool/customization/customLang.properties にコピーします。

  2. file:{<DENODO_HOME>}/work/scheduler-webadmintool/customization/customLang.properties を編集し、メッセージを翻訳します。注意事項については後述します。

customLang.properties ファイルを作成または変更した場合、アプリケーションの再起動が必要です。

翻訳時の注意事項

customLang.properties ファイルには、キーと値のペアの形で翻訳されたメッセージが保存されます。翻訳する際は値を変更します。たとえば、ユーザーインターフェイスをスペイン語に翻訳するには、

common.daysOfWeek.monday=Monday

を次のように変更します。

common.daysOfWeek.monday=Lunes

このように、「=」記号の右側のテキストを編集します。

ファイルを編集する際は、以下のルールに従ってください。

  • customLang.properties ファイルは UTF-8 形式でエンコードされています。エンコード形式を変更しないでください。変更すると、アプリケーションが文字化けを起こします。

  • 中括弧で囲まれた単語は翻訳 しない でください (例: {name})。これらの単語はパターンを示し、アプリケーションによって文脈に応じた情報に置き換えられます。

    たとえば、次のメッセージの場合、

    login.welcome=Welcome {username}!
    

    {username} は変更しないでください。

    login.welcome=¡Bienvenido {username}!
    

    なお、 {username} は翻訳後のメッセージにそのまま残ります。メッセージをユーザーに表示する際に、アプリケーションが {username} をそのパターンの値で置き換えます。

  • 複雑なパターンには注意が必要です。こうした表現には、翻訳が必要なトークンと値が含まれます。次のような場合、

    element.usage.times.queries=Query executed {times, plural, one {once} =2 {twice} other {# times}}
    

    次のように翻訳する必要があります。

    Consulta ejecutada {times, plural, one {una vez} =2 {dos veces} other {# veces}}
    

    中括弧でネストされたパターンがスペイン語に翻訳されている点に注目してください。

    詳細については、 ICU メッセージフォーマット のドキュメントを参照してください。

更新プログラムのインストール後に、カスタムメッセージを最新の内容に更新する手順

customLang.properties を定義済みで、更新プログラムのインストールを予定しているか、既にインストールを行っている場合、 customLang.properties が自動更新されない点に注意する必要があります。更新内容には、新しいメッセージの追加や既存メッセージの変更・削除が行われた、各 Web 管理ツール用の新しい customLang.properties.template が含まれる場合があるためです。

更新プログラムのインストール時に古い customLang.properties.template ファイルが存在する場合、新しいバージョンに置き換えられます。また、現在のテンプレートファイルのバックアップが作成されます (例として、 customLang.properties.template.back.202107152200 のように、ファイル名の末尾に数字が追加されます。数字はテンプレートが追加された更新プログラムのバージョンを表します)。バックアップされたファイルは、次回以降の更新の際に変更点の確認に役立つため、削除しないでください。

カスタムの customLang.properties ファイルを最新の状態に維持するには、 <DENODO_HOME>/setup/common/ フォルダの custom_lang_util.sh (Windows 用は custom_lang_util.bat) スクリプトを使用することで、使用中の customLang.properties ファイルの変更内容と更新内容を漏れなく確認できます。前回のテンプレートと新しいテンプレートの変更点を確認したら、カスタムファイルを手動で更新しても、既存の customLang.properties をベースに新しい customLang.properties を生成してもかまいません。

custom_lang_util スクリプトのオプションは以下のとおりです。

  • -diff: 古いバージョンのテンプレートと最新バージョンのテンプレートを引数として指定し、両者の差分を分類して表示します (削除されたプロパティ、新しいプロパティ、変更されたプロパティ)。このオプションは、既存の customLang.properties を手動更新する際に使用できます。使用例は次のとおりです。

    -diff <lastPropertiesTemplateFile> <updatedPropertiesTemplateFile>
    
  • -gen: 既存の customLang.properties をベースにカスタムプロパティファイルを作成し、既存のファイルの作成に使用したテンプレートと、新しいテンプレートの差分を適用します。生成されたファイルの末尾に、新しいプロパティと変更されたプロパティが2つのセクションに分かれて表示されます。変更されたプロパティには以前の値と新しい値がコメントとして残されます。また、カスタム定義されたメッセージは置き換えられません。新しいテンプレートに存在しないプロパティは自動的に削除されます。使用例は次のとおりです。

    -gen <lastPropertiesTemplateFile> <updatedPropertiesTemplateFile> <currentCustomPropertiesFile> <newCustomPropertiesFile>
    

Design StudiocustomLang.properties を手動更新する例を以下に示します。

  1. 新しいテンプレートと古いテンプレートを確認します。まず、Control Center から前回の更新プログラムのバージョンと、最新の更新プログラムのバージョンを確認します。ここで仮に、過去のバージョンが XXXXXXXX で、インストール済みの最新バージョンが YYYYYYYY であるとします。 <DENODO_HOME>/resources/design-studio/messages/ のテンプレートフォルダを開くと、インストール済みの各更新プログラムのテンプレートファイルが存在するはずです。その中から、過去バージョンのテンプレートと最新バージョンのテンプレートを探します。この例では、 customLang.properties.template.back.XXXXXXXXcustomLang.properties.template.back.YYYYYYYY です。

  2. custom_lang_util.sh スクリプトを使用して次のコマンドを実行し、変更点を確認します (「XXXXXXXX」と「YYYYYYYY」は使用するテンプレートファイルのバージョンで置き換えてください)。

cd <DENODO_HOME>/setup/common
custom_lang_util.sh -diff ../../resources/design-studio/messages/customLang.properties.template.back.XXXXXXXX ../../resources/design-studio/messages/customLang.properties.template.back.YYYYYYYY
  1. 現行の <DENODO_HOME>/work/design-studio/customLang.properties を開き、手順 2 で取得した情報を基に値を更新します。

  2. Web 管理ツールを再起動し、新しい設定を読み込みます。

custom_lang_util.sh スクリプトを使用して、 Design Studio 用の customLang.properties を生成する例を以下に示します。

  1. 新しいテンプレートと古いテンプレートを確認します。まず、Control Center から前回の更新プログラムのバージョンと、最新の更新プログラムのバージョンを確認します。ここで仮に、過去のバージョンが XXXXXXXX で、インストール済みの最新バージョンが YYYYYYYY であるとします。 <DENODO_HOME>/resources/design-studio/messages/ のテンプレートフォルダを開くと、インストール済みの各更新プログラムのテンプレートファイルが存在するはずです。その中から、過去バージョンのテンプレートと最新バージョンのテンプレートを探します。この例では、 customLang.properties.template.back.XXXXXXXXcustomLang.properties.template.back.YYYYYYYY です。

  2. custom_lang_util.sh スクリプトを使用して次のコマンドを実行し、新しいファイルを作成します (「XXXXXXXX」と「YYYYYYYY」は使用するテンプレートファイルのバージョンで置き換えてください)。

cd <DENODO_HOME>/setup/common
custom_lang_util.sh -gen ../../resources/design-studio/messages/customLang.properties.template.back.XXXXXXXX ../../resources/design-studio/messages/customLang.properties.template.back.YYYYYYYY ../../work/design-studio/customLang.properties ../../work/design-studio/new_customLang.properties
  1. 新しい <DENODO_HOME>/work/design-studio/new_customLang.properties を開いてファイルの末尾に移動し、新しいプロパティと変更されたプロパティの値を更新します。

  2. <DENODO_HOME>/work/design-studio/customLang.properties を新しいプロパティファイル <DENODO_HOME>/work/design-studio/new_customLang.properties で置き換えます。

  3. Web 管理ツールを再起動し、新しい設定を読み込みます。