Freezedry
一家銷往全歐盟的冷凍乾燥機WooCommerce商店:八種營運語言、每個國家都正確的運費,以及更輕更快的網站。

挑戰
這家銷往全歐盟的立陶宛冷凍乾燥機商店,機器翻譯總是「卡住」,新語言遲遲無法上線,好幾個國家的頁面不是出錯就是一片空白。
方案
- 翻譯: 找出真正的原因:所有翻譯引擎都被關閉,註冊也已損壞;讓DeepL自動翻譯恢復運作;讓自訂欄位可以翻譯,在17個檔案中把佈景主題裡寫死的語言改為gettext,並為每種語言在地化結帳提示文字、加值稅名稱、聯絡表單文字與尺寸標籤。
- 新語言: 先是法文,接著是西班牙文、義大利文與芬蘭文,涵蓋商品列表、配送標籤、結帳與稅項名稱。
- 首頁: 可安全退回舊輪播的輪播整合,依語言與裝置分別設定的輪播,不必寫程式就能替語言指派輪播的管理頁面,以及依WooCommerce資料產生的互動式「我們的銷售足跡」歐洲地圖。
- 配送: 由於類別只依立陶宛文/英文的slug比對,四個國家的購物車一直享有免運;現在類別在任何語言下都透過翻譯層對應,沒有類別的商品會寫入日誌。
- 穩定性: 修正導致頁面出現503錯誤的遞迴問題,在13處防範空欄位引發的PHP 8嚴重錯誤,清除PHP 8.2的棄用警告,並把CDN函式庫固定到確切版本且附完整性雜湊。
- 速度: 各語言的主視覺圖片轉換為WebP,CSS與JS採用快取更新機制。
- 流程: 把直接在正式環境做的變更逐位元組同步到git,使用經過審查的拉取請求與分支,部署到測試環境與正式環境前都先備份資料庫。
成果
八種語言已上線(LT、EN、DE、NL、FR、ES、IT、FI);法文版上線時包含全部32個頁面與26件商品。義大利、西班牙與芬蘭的全部26件商品現在都能正確計算運費。一個膨脹到約12 GB的除錯日誌被止住,另一個日誌從194 MB降到8.5 KB,主視覺圖片從約1.5 MB縮小到143 KB。