Plesk をローカライズする
概要: このトピックでは、Plesk のインターフェースをご希望の言語に翻訳する方法を説明します。
概要
Plesk は 30 以上の言語で利用できます。このトピックでは、Plesk をエスペラント後に翻訳する方法をご紹介しますが、同じ手順で Plesk をあらゆる言語に翻訳できます。
この手順には以下のステップが含まれます。
- 米国英語(en-US)のロケールファイルをエクスポートし、翻訳用に準備をする。
- UI メッセージを訳文言語に翻訳する。
- 結果のロケールファイルを Plesk にインポートして、Plesk に新しいロケールを登録する。
ロケールファイルを翻訳用に準備する
翻訳を開始する前に、ロケールファイルをエクスポートして準備を整える必要があります。
ロケールファイルの準備を整える
-
サーバに SSH または RDP 経由でログインします。
-
以下のディレクトリのコンテンツ(サブディレクトリを含む)を別の場所にコピーします。
- 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 コマンドラインユーティリティで使用されるテキストのみが含まれています。このテキストを翻訳すべき特別な理由がなければ、このファイルの内容は翻訳しなくても問題ありません。 - Plesk for Linux
-
ディレクトリとファイルの名前を、翻訳先の言語に合わせて変更します。英語のロケールファイルとディレクトリには
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
このトピックでは以降、これを「翻訳先言語コード」と呼びます。
-
-
以下のファイルを編集します。
- (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');
これを繰り返します。
- (Plesk for Linux)
-
以下のファイルを編集します。
- (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 for Linux)
これでロケールファイルを翻訳する準備ができました。
ロケールファイルを翻訳する
ロケールファイルをエクスポートして準備が整ったので、翻訳を開始できます。
注釈: 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 インターフェースでクリック可能なハイパーリンクとして表示されるため、コールトゥアクションとして記述されています。このようなメッセージペアを翻訳する際は、両テキストをひとまとめにして考えるようにすると、翻訳先言語で矛盾するテキストになりません。
-
<
や>
のような 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 にインポートする
-
サーバに SSH または RDP 経由でログインします。
-
すべての新しいロケールファイルが適切な場所にあることを確認します。
- 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>
- Plesk for Linux
-
以下のコマンドを実行して、Plesk に新しいロケールを登録します。
plesk db "replace into locales values ('<target language code>', 'true')"
つまり、この例では、コマンドは次のようになります。
plesk db "replace into locales values ('eo', 'true')"
これで新しいロケールが Plesk に登録されました。
-
[ツールと設定] > [言語]で新しいロケールが見つかります。
-
[プロファイルとプリファレンス]で[管理者のインターフェース言語]メニューから新しいロケールに切り替えることができます。