概要: このトピックでは、Plesk のインターフェースをご希望の言語に翻訳する方法を説明します。

概要

Plesk は 30 以上の言語で利用できます。このトピックでは、Plesk をエスペラント後に翻訳する方法をご紹介しますが、同じ手順で Plesk をあらゆる言語に翻訳できます。

この手順には以下のステップが含まれます。

  • 米国英語(en-US)のロケールファイルをエクスポートし、翻訳用に準備をする。
  • UI メッセージを訳文言語に翻訳する。
  • 結果のロケールファイルを Plesk にインポートして、Plesk に新しいロケールを登録する。

ロケールファイルを翻訳用に準備する

翻訳を開始する前に、ロケールファイルをエクスポートして準備を整える必要があります。

ロケールファイルの準備を整える

  1. サーバに SSH または RDP 経由でログインします。

  2. 以下のディレクトリのコンテンツ(サブディレクトリを含む)を別の場所にコピーします。

    • Plesk for Linux
      • /usr/local/psa/admin/application/admin/resources/languages/en-US/
      • /usr/local/psa/admin/application/default/resources/languages/en-US/
      • /usr/local/psa/admin/plib/locales/en-US/
      • /usr/local/psa/admin/application/smb/resources/languages/en-US/
    • Plesk for Windows
      • %plesk_dir%admin\application\admin\resources\languages\en-US
      • %plesk_dir%admin\application\default\resources\languages\en-US
      • %plesk_dir%admin\plib\locales\en-US\
      • %plesk_dir%admin\application\smb\resources\languages\en-US

    これらのディレクトリ内のファイルに、Plesk ユーザーインターフェースのすべてのテキストが含まれています。

    注釈: common_cli_messages_en-US.php ファイルには、Plesk コマンドラインユーティリティで使用されるテキストのみが含まれています。このテキストを翻訳すべき特別な理由がなければ、このファイルの内容は翻訳しなくても問題ありません。

  3. ディレクトリとファイルの名前を、翻訳先の言語に合わせて変更します。英語のロケールファイルとディレクトリには en-US と付いています。これは次のような意味になります。

    • en の部分は必須で、言語(英語)を示す 2 桁の ISO 639-1 コードです。
    • US の部分はオプションで、特定の方言が話されている国を示す 2 桁の ISO 3166-1 コードです。ポルトガル語(ポルトガル)、ポルトガル語(ブラジル)のように、同じ言語の方言のロケールを区別するために使用されます。

    今回の例では、エスペラント語の言語コードは「eo」で、この言語には国固有の方言はありません。したがって、ディレクトリとファイル名に含まれる en-US を次のように eo に置き換えます。

    /usr/local/psa/admin/plib/locales/en-US/messages_en-US.php

    以下のように変更します。

    /usr/local/psa/admin/plib/locales/eo/messages_eo.php

    このトピックでは以降、これを「翻訳先言語コード」と呼びます。

  4. 以下のファイルを編集します。

    • (Plesk for Linux) /usr/local/psa/admin/plib/locales/<target language code>/messages_<target language code>.php
    • (Plesk for Windows) %plesk_dir%admin\plib\locales\<target language code>\messages_<target language code>.php

    すべての en-US を翻訳先言語コードに置き換えます。この例では、以下の行を

    include(__DIR__ . '/common_messages_en-US.php');

    以下のように変更します:

    include(__DIR__ . '/common_messages_eo.php');

    これを繰り返します。

  5. 以下のファイルを編集します。

    • (Plesk for Linux) /usr/local/psa/admin/plib/locales/<target language code>/meta.xml
    • (Plesk for Windows) %plesk_dir%admin\plib\locales\<target language code>\meta.xml

    ここでは、Plesk インターフェースに表示されるロケールのプロパティを宣言します。

    • <language>English</language>:Plesk で表示される翻訳先言語の名前を指定する必要があります。
    • (オプション)<country>United States</country>:翻訳先言語の特定の方言が話されている国を指定できます。これは Plesk に表示されます。このパラメータは必要がなければ省略できます。
    • (オプション)<rtl>true</rtl>:翻訳先言語が右から左へ記述される場合にこのパラメータを指定します。それ以外の場合は省略してください。

    エスペラント語には国固有の方言というものはなく、右から左に記述する言語でもありません。したがって、この例では、ファイルの内容は次のようになります。

    <?xml version="1.0" encoding="utf-8"?>
    <!-- Copyright 1999-2022. Plesk International GmbH. All rights reserved. -->
    <locale>
      <language>Esperanto</language>
    </locale>
    

これでロケールファイルを翻訳する準備ができました。

ロケールファイルを翻訳する

ロケールファイルをエクスポートして準備が整ったので、翻訳を開始できます。

注釈: Plesk で提供されるロケールファイルは UTF-8 エンコーディングを使用しています。エンコーディングは変更しないでください。もし変更すると、翻訳されたメッセージが Plesk インターフェースで正しく表示されない可能性があります。

Plesk のロケールファイルには、以下のように、ローカリゼーションキー ID と人間が判読できるメッセージのペアが含まれています。

'admin-alias.passwordConfirmation' => 'Confirm password',

Plesk を翻訳するには、人間が判読できるメッセージを翻訳先言語に翻訳する必要があります。この例では、翻訳した行は次のようになります。

'admin-alias.passwordConfirmation' => 'Konfirmu pasvorton',

注釈: ローカリゼーションキーは翻訳したり、なんらかの変更を加えたりしないでください。翻訳したメッセージが Plesk インターフェースで正しく表示されなくなります。

翻訳の際は、以下のガイドラインに注意して、完成したロケールを問題なく Plesk にインポートできるようにしてください。

  • 各文字列の最後にあるコンマを削除しないでください。削除してしまうと、Plesk で翻訳先ロケールに切り替えようとしたときにエラーが発生します。

  • メッセージテキストに引用符が含まれない場合は、テキストを単一引用符または二重引用符で囲んでください。

  • メッセージテキストに 1 つ以上の単一引用符またはアポストロフィが含まれる場合は、それぞれの前にバックスラッシュを付けるか、次のようにメッセージを二重引用符で囲んでください(ローカリゼーションキーは囲まないこと)。

    'b_add_ip_for_clients' => 'Add IP address to client\'s pools.',

    または

    'b_add_ip_for_clients' => "Add IP address to client's pools.",

  • メッセージテキストに 1 つ以上の二重引用符が含まれる場合は、それぞれの前にバックスラッシュを付けるか、次のようにメッセージを二重引用符で囲んでください。

    'backup__backup_overwrite_file_confirm_text' => 'Backup file with the name \"%1\" already exists. Do you want to replace it?',

    または

    'backup__backup_overwrite_file_confirm_text' => 'Backup file with the name "%1" already exists. Do you want to replace it?',

  • 「%1」や「%%ip_address%%」のような変数は翻訳しないでください。これらの変数は Plesk インターフェースで実際の値に置き換えられます。たとえば、次の文を見てみましょう。

    'IP アドレス %%ip_address%% %%client_name%% に割り当てられました。'

    このメッセージは、Plesk インターフェースで次のように表示される可能性があります。

    "IP アドレス 192.168.12.34 は John Doe に割り当てられました。"

  • 一部の変数は、数値ではなく、ロケールファイル内にある人間が判読できるメッセージに置き換えられるものもあります。たとえば、次のメッセージを見てみましょう。

    'アドバイスが必要な場合は、%%link%%をご覧ください。'

    このメッセージは %%link%% の値を以下から取得します。

    'ウェブサイト作成チュートリアル'

    これらを組み合わせると、Plesk インターフェースで次のように表示されます。

    "アドバイスが必要な場合は、ウェブサイト作成チュートリアルをご覧ください。"

    2 つ目の短いメッセージは Plesk インターフェースでクリック可能なハイパーリンクとして表示されるため、コールトゥアクションとして記述されています。このようなメッセージペアを翻訳する際は、両テキストをひとまとめにして考えるようにすると、翻訳先言語で矛盾するテキストになりません。

  • &lt;&gt; のような HTML エンティティは翻訳しないでください。また、\n などのエスケープシーケンスは翻訳しないでください。

翻訳したロケールを Plesk にインポートする

翻訳したロケールファイルを Plesk にインポートする前に、構文チェックを行うことを強くお勧めします。それには、翻訳したロケールファイルごとに次のコマンドを実行します。

  • (Plesk for Linux) /usr/local/psa/admin/bin/php -l <locale file name>.php
  • (Plesk for Windows) "%plesk_dir%admin\bin\php" -l <locale file name>.php

期待される出力は次のとおりです。

No syntax errors detected in <locale file name>.php

出力結果に PHP Parse error から始まる行が 1 つ以上含まれている場合、翻訳したロケールファイルを Plesk にインポートする前に、構文エラーを見つけて修正する必要があります。修正しない場合、Plesk で翻訳先ロケールに切り替えようとするとエラーが発生します。

新しいロケールを Plesk にインポートする

  1. サーバに SSH または RDP 経由でログインします。

  2. すべての新しいロケールファイルが適切な場所にあることを確認します。

    • Plesk for Linux
      • /usr/local/psa/admin/application/admin/resources/languages/<target language code>/
      • /usr/local/psa/admin/application/default/resources/languages/<target language code>/
      • /usr/local/psa/admin/plib/locales/<target language code>/
      • /usr/local/psa/admin/application/smb/resources/languages/<target language code>/
    • Plesk for Windows
      • %plesk_dir%admin\application\admin\resources\languages\<target language code>
      • %plesk_dir%admin\application\default\resources\languages\<target language code>
      • %plesk_dir%admin\plib\locales\<target language code>\
      • %plesk_dir%admin\application\smb\resources\languages\<target language code>
  3. 以下のコマンドを実行して、Plesk に新しいロケールを登録します。

    plesk db "replace into locales values ('<target language code>', 'true')"

    つまり、この例では、コマンドは次のようになります。

    plesk db "replace into locales values ('eo', 'true')"

これで新しいロケールが Plesk に登録されました。

  • [ツールと設定] > [言語]で新しいロケールが見つかります。

    esperanto language list

  • [プロファイルとプリファレンス]で[管理者のインターフェース言語]メニューから新しいロケールに切り替えることができます。

    esperanto language switch