Magento2 翻譯語言包權重
適用版本:Magento2.3以上
當我們製作好翻譯語言包後(還不知道如何製作翻譯包的讀者可以點此連結: Magento2 建立中文翻譯語言包),在Magento專案上有一些地方可以放置這些翻譯語言包,而這些放置的地方會影響到語言包讀取的權重,進而影響翻譯的結果,所以各位讀者需要好好的了解,才能準確無誤的翻譯到所需的字串。
Magento2翻譯語言包放置的地方可以分為四塊:
- 模組(module)翻譯包: <module_dir>/i18n/
- 翻譯包: app/i18n/
- 模板(theme)翻譯包:
- <parent_theme_dir>/i18n/
- <current_theme_dir>/i18n/
- 資料庫翻譯包(透過後台的開發者模式inline translation功能進的的翻譯,想要獲得更多資訊請見:Magento Translation Inline功能介紹)
讀取翻譯語言包的權重為:資料庫翻譯包→模板(theme)翻譯包→翻譯包→模組(module)翻譯包。
而模板(theme)翻譯包裡的讀取權重又依序由子層級翻譯包至父層級翻譯包進行排序,以實際例子來說就是:
<Magento_Luma_theme_dir>/i18n/zh_Hant_TW.csv
"Add to Wish List", "加入願望清單" "Add to Compare", "加入比較清單" "Your Checkout Progress", "你的結帳進度"
客製化的AstralWeb主題模板包是繼承Luma的theme包,內容為:
<AstralWeb_Custom_theme_dir>/i18n/zh_Hant_TW.csv
"Add to Wish List", "加入收藏清單" "Add to Compare", "加入規格列表" "Your Checkout Progress", "結帳流程"
這樣這些文字的翻譯結果會以<AstralWeb_Custom_theme_dir>/i18n/zh_Hant_TW.csv的內容為主。
假設資料庫翻譯包也有"Add to Wish List"的翻譯字串,翻譯的字串為:"加入我的最愛",則就會以資料庫翻譯包的內容為顯示結果,以此類推,希望能讓讀者對Magento翻譯語言包的權重有清楚的瞭解。
我要留言