概要: 在本主題中,您將瞭解到如何將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部分是必需部分。這是代表語言(英文)的兩字ISO 639-1代碼
    • US部分是可選部分。這是代表使用特定方言的國家的兩字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>英文</language> 您需要在此處指定將會在Plesk中顯示的目的語言的名稱。
    • (可選)``<country>美國</country>`` 您可以在此處指定將在Plesk中顯示的使用目的語言的國家。如果不需要,則可以忽略此參數。
    • (可選)``<rtl>正確</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 當地語系化檔是包含與人類可讀的資訊進行配對的當地語系化鍵值識別字的PHP檔,如下所示:

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

要翻譯Plesk,您需要將人類可讀的資訊翻譯為目的語言。因此,在我們的示例中,翻譯後的資訊將如此:

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

備註: 不要翻譯當地語系化鍵值,或以任何其他方式將其更改。否則,翻譯後的消息將無法在Plesk介面中正確顯示。

在翻譯時,請記住以下指南,以確保生成的當地語系化內容可以在Plesk中導入,沒有任何問題。

  • 不要刪除每個字串末尾的逗號。否則,試圖在Plesk中切換到已翻譯的當地語系化環境將導致出錯。

  • 如果資訊文本不包含任何引號,請使用單引號或雙引號將文本括起來。

  • 如果資訊文本包含一個或多個單引號或撇號,則在每個前面加上反斜線,或用雙引號將資訊括起來(但不包含當地語系化鍵值),如下所示:

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

    或如此:

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

  • 如果資訊文本包含一個或多個雙引號,則在每個前面加上反斜線,或用單引號將資訊括起來,如下所示:

    'backup__backup_overwrite_file_confirm_text' => '名為 \"%1\" 的備份檔案已存在。您想要將其替換嗎?',

    或如此:

    'backup__backup_overwrite_file_confirm_text' => '名為 "%1" 的備份檔案已存在。您想要將其替換嗎?',

  • 不要翻譯變數,如 「%1」 或 「%%ip_address%%」。這些變數將被Plesk介面中的實際值替換。例如,此消息

    '已將IP地址%%ip_address%%分配給%%client_name%%。'

    在Plesk介面中可能是這樣的:

    「IP 地址 192.168.12.34 已被分配給 John Doe。」

  • 有些變數不是用數值代替,而是用在當地語系化檔中找到的人類可讀的消息代替。例如,此消息

    '如果您需要幫助,請參閱我們的%%link%%。'

    從這其中獲取 %%link%% 值

    '網站創建教程'

    而且,它們在Plesk介面上是這樣的:

    「如果您需要幫助,請閱讀我們的網站創建教程。」

    第二、較短的消息會在Plesk介面中成為一個可按一下的超連結,這被視為行動調用。在翻譯這樣的消息對時,需將這兩個部分放在一起,這樣一旦翻譯成目的語言就不會發生衝突。

  • 不要翻譯 HTML 條目,例如 &lt;&gt;。同時不要翻譯 脫逸序列,例如 \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

預期的輸出結果如下所示:

未在 <locale file name>.php 中檢測出語法錯誤

如果輸出包含以 PHP Parse error (PHP解析錯誤) 開始的一個或多個行,則需要在將翻譯的當地語系化檔導入到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