WooCommerce中文翻譯導致連結錯誤解決方法

WooCommerce有了多語系的翻譯,使得它可以拓展在開放原始碼購物系統的國際版圖。在中文語系上也有了部分的翻譯,至少可以讓不熟悉英文的人隔閡不要那麼大,也可以增加 WordPress 在台灣的使用率與佔有率。不過WooCommerce在少部分的中文翻譯上與原始翻譯字串有出入,會導致連結到不存在的頁面。以下是目前 WooCommerce 2.1.8 版所發現到的問題:

在我的帳號頁面裡,登出 與 修改個人資料及登入密碼 兩個連結都會連到404頁面,因為翻譯檔的字串有錯。

woocommerce-zh_tw-link-error

從上面的圖片可以看到,原始翻譯裡的連結只有前後各一個反斜線來做為雙引號的跳脫字元,但是中文翻譯前後卻多了兩個跳脫字元,這會導致該連結連到不存在的頁面。若你想修正這個問題的話,可以使用WordPress的翻譯檔編輯外掛 Codestyling Localization 來修正翻譯字串。

另外連結翻譯檔

如果你不想因為下次 WooCommerce 更新而覆蓋掉原本的翻譯檔的話,你可以把 mo 檔放到 “主題目錄/languages” 底下,並把下面的程式碼放到主題的 functions.php 檔案裡面:

add_action('init', 'innovext_localisation');
function innovext_localisation() {
    // Chinese translation for WooCommerce
    unload_textdomain('woocommerce');
    load_textdomain('woocommerce', get_stylesheet_directory() . '/languages/woocommerce-zh_TW.mo');
}

這樣可以確保自行翻譯的mo檔不會被覆蓋,但是如果WooCommerce所提供的翻譯檔,或是原始碼裡的國際化字串有更新的話,那連結還是會連到你所修改的檔案,這有可能會導致翻譯不到,這一點要注意。

文章最後更新於:2019/07/22

  1. karen 說:

    你好! 請問在Codestyling Localization 如何找出 ” 登出” &”修改帳戶資料及密碼” 作修改?

    1. innovext 說:

      您好,在WooCommerce 2.1.10版已經對”修改帳戶資料及密碼”做更新,但是”登出”還是一樣是錯的。如何使用Codestyling Localization可以參考這篇文章WordPress外掛教學 – Codestyling Localization

  2. karen 說:

    innovext, 謝謝!!

  3. JIMMY 說:

    您好,請問我想使用Codestyling Localization將後臺介面中文化,我在本地化針對選用的主題做翻譯,也檢查過都有翻譯到,可是回到主題設定頁面時,發現除了最上方的選單是中文的,下面的界面都還是英文,這部分我該從哪裡尋找到並且翻譯呢?
    我從本地化進到WordPress檢查,發現除了國家名稱外其餘也都是有翻譯的,所以我很疑惑主題設定頁面該從哪裡翻譯.
    謝謝!

    1. innovext 說:

      你好,如果你確定在 codestyling localization 所選的”類型”是正確的,語言也是正確的話,那就試試看重新掃描吧。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *