如果要讓WordPress的外掛翻譯檔不隨著外掛更新而被覆蓋, 應該放在哪個資料夾

要讓 WordPress 外掛的翻譯檔 (通常是 .mo.po 檔案) 不隨著外掛更新而被覆蓋,最安全且推薦的做法是將它們放在 WordPress 的語言目錄中,並遵循特定的命名規則。

具體來說,你需要將翻譯檔放在以下路徑:

wp-content/languages/plugins/

在這個 plugins 資料夾下,你需要根據外掛的「Text Domain」來命名你的翻譯檔。Text Domain 是外掛在程式碼中用來識別其翻譯字串的唯一標識符。

命名規則如下:

[text-domain]-[locale].mo
[text-domain]-[locale].po
  • [text-domain]: 這是外掛的 Text Domain。你可以在外掛的主要檔案 (通常是與外掛資料夾同名的 PHP 檔案) 的註解中找到它。它通常會像這樣定義: PHP<?php /** * Plugin Name: My Awesome Plugin * Description: This is an awesome plugin. * Version: 1.0.0 * Author: Your Name * Text Domain: my-awesome-plugin */ 在這個例子中,Text Domain 就是 my-awesome-plugin
  • [locale]: 這是 WordPress 的語言代碼。例如:
    • 繁體中文(台灣)是 zh_TW
    • 簡體中文是 zh_CN
    • 英文(美國)是 en_US
    • 日文是 ja
    • 等等。你可以在 WordPress 的設定中找到你網站使用的語言代碼。

舉例說明:

假設你的外掛的 Text Domain 是 my-awesome-plugin,而你的 WordPress 網站語言設定為繁體中文(台灣),那麼你的翻譯檔應該命名為:

wp-content/languages/plugins/my-awesome-plugin-zh_TW.mo
wp-content/languages/plugins/my-awesome-plugin-zh_TW.po

總結步驟:

  1. 找到外掛的 Text Domain。 查看外掛的主要 PHP 檔案的註解。
  2. 找到你 WordPress 網站的語言代碼。 在 WordPress 後台的「設定」>「一般」中查看「網站語言」。
  3. 根據 Text Domain 和語言代碼命名你的 .mo.po 檔案。
  4. wp-content/languages/plugins/ 資料夾下建立或上傳這些檔案。 如果 languagesplugins 資料夾不存在,你需要手動創建它們。

為什麼這種方法有效?

WordPress 在載入外掛時,會優先檢查 wp-content/languages/plugins/ 目錄下是否存在與該外掛 Text Domain 和當前網站語言相符的翻譯檔。如果找到,WordPress 就會使用這些翻譯,而不會去載入外掛本身目錄下的翻譯檔。這樣,即使外掛更新,其自身的翻譯檔被替換,你的自訂翻譯仍然會被保留。

注意事項:

  • 確保你的 .mo.po 檔案是正確編譯過的。通常你會先編輯 .po 檔案,然後使用 Poedit 或其他翻譯工具將其編譯成 .mo 檔案。
  • 如果你的外掛使用了不同的 Text Domain 或載入翻譯檔的方式,這種方法可能不適用。但對於遵循 WordPress 標準的外掛來說,這是最推薦的做法。
  • 有些外掛可能會提供自己的方式來儲存自訂翻譯,請查閱外掛的官方文件以了解是否有其他推薦的做法。

遵循以上步驟,你就能有效地保護你的 WordPress 外掛翻譯檔,避免在外掛更新時遺失你的工作成果。

相關內容

參與討論