很多已經升級到 WordPress 6.7 的用户可能已經發現自己網站的翻譯語言包加載不成功,會全部丟失顯示為英文界面。
這問題實際上是由於 WordPress 在最新版裏為了契合國際化最佳標準改了核心代碼導致,如果你也遇到的類似的情況那麼可以先嚐試以下操作:
1 、回滾程序到 6.6.2 版本
這是最簡單的方式,回滾到舊版本後不需要進行任何改動就可以正常顯示出翻譯內容。
2 、聯繫作者更新主題插件
如果你使用的是特定的主題插件並且丟失了語言包,那麼請聯繫開發者處理,這需要去修改對應新的翻譯加載函數。
當然如果碰到開發者不願意更新的情況……這種情況還是少見。
3 、使用薇曉朵提供的中文翻譯包
薇曉朵站點 (weixiaoduo.com) 在上個月進行 WordPress 區塊化轉型時也遇到了類似的問題,所以單獨製作了最新版的預編譯 WordPress 6.7 和 woocommerce 9.4.1 版本中文翻譯文件。
替換上去後就可以完整顯示對應的中文翻譯內容。
下載地址:
你可以獲取到的文件包裏包含了中文簡繁 zh_CN 和 zh_TW 語言包,自行選擇安裝替換即可,語言包安裝目錄路徑如下:
WordPress Core : /www/wwwroot/你的网站/wp-content/languages
WooCommerce :/www/wwwroot/你的网站/wp-content/languages/plugins
原因解析:I18N:如果過早加載翻譯則發出警告。
有些插件和主題在當前用户還未獲知之前就過早加載翻譯。這種情況要麼是明確發生的,要麼是通過即時翻譯加載發生的。
如果不知道當前用户 (以及他們的語言環境),WordPress 可能會嘗試加載錯誤語言環境的翻譯。
此更改添加了_doing_it_wrong
警告此類情況的消息。它還有助於避免意外嘗試兩次加載翻譯 (一次是即時加載,一次是手動加載) 。
鼓勵觸發此類消息的項目不早於鈎子加載翻譯after_setup_theme
。
Make WordPress Core 工單信息如下 #59127

如果你有在使用 WooCommerce 並且已經更新到了 9.4.1 版本,那麼操作方式也是一樣,請先回滾程序,或者湊合用一段時間等待翻譯文件更新。
WordPress 6.7(預計將於 2024 年 11 月 12 日發佈) 改變了加載翻譯的方式,使其與國際化最佳實踐保持一致。這一變化影響了翻譯字符串的觸發方式和時機,旨在防止由過早加載翻譯而引發的潛在問題。
然而,隨着插件生態系統進行調整,特別是當您在 WordPress 6.7 上使用即將發佈的 WooCommerce 9.4 時,您可能會遇到警告提示。
這些提示可能看起來像這樣:
_load_textdomain_just_in_time 的调用方式不正确。<PLUGIN> 域的翻译加载触发得太早。翻译应该在 init 操作或之后加载。请参阅 WordPress 调试文档获取更多信息。 (此消息添加于 6.7.0 版本。) 位于 /srv/htdocs/wp-includes/functions.php 第 6087 行。
WooCommerce 特定情況説明
在 WooCommerce 中,我們已在 9.4 版本中主動做出更改,以應對 WordPress 6.7 的新做法中關於早期翻譯加載的問題。雖然這些更新解決了大部分問題,但在某些配置下,特別是當 WooCommerce 與其他插件和擴展一起運行時,用户可能仍會遇到調試提示。
您可以採取的措施來減少影響
對於生產環境的網站,為避免這些提示影響前端功能,我們建議將WP_DEBUG_DISPLAY
設置為false
,除非您正在主動排查其他問題。這可以防止提示顯示並破壞某些功能。
對於調試或開發環境中日誌中充滿這些提示的情況,您可以使用以下代碼片段臨時抑制這些提示:
add_filter( 'doing_it_wrong_trigger_error', '__return_false' );
監控和未來更新
我們正在積極監控支持渠道,如果需要進一步緩解措施,我們將提供更新或維護版本。如果您遇到與翻譯加載相關的具體問題,請隨時聯繫我們。
感謝您在我們都適應 WordPress 6.7 這些變化期間的理解和耐心。
如果上面的這些步驟還是不能解決你的問題,可以嘗試安裝
文派葉子 🍃 WP-China-Yes.com 插件來獲取自動翻譯語言包更新。
發表回覆