Magento 2后台PDF发票指定字段翻译及对应文件位置咨询
嘿,我来帮你搞定Magento 2后台PDF发票里那些没翻译的“Shipping & Handling”、“Subtotal”、“Grand Total”字段!这些字段的翻译内容主要存在以下几个地方,按优先级推荐你用后面的方法(避免修改核心文件,方便后续升级):
1. 自定义主题的语言文件(推荐)
如果你用了自定义主题,直接在主题的语言文件里添加翻译条目就好,路径是:app/design/frontend/[你的主题供应商]/[主题名称]/i18n/[你的语言代码].csv
比如中文简体的话就是zh_CN.csv。
在这个文件里添加对应的键值对(注意键要和代码里的原文完全一致,包括转义字符):
"Shipping & Handling","配送及处理费" "Subtotal","小计" "Grand Total","总计"
2. 自定义语言包
如果没有用自定义主题,你可以创建一个全局的自定义语言包,路径是:app/i18n/[你的语言包供应商]/[语言代码]/[语言代码].csv
同样添加上面的翻译条目即可。
3. 核心模块的语言文件(不建议直接修改)
这些字段的核心翻译文件在Magento的Sales模块里,路径是:vendor/magento/module-sales/i18n/[语言代码].csv
比如vendor/magento/module-sales/i18n/zh_CN.csv。不过直接修改这里的文件会在Magento升级时被覆盖,所以只推荐临时测试用,正式环境一定要用前面两种方法。
补充说明
这些字段的文本是在Sales模块的PDF生成类里通过翻译函数__()调用的,比如vendor/magento/module-sales/Model/Order/Pdf/Invoice.php里就有类似$this->getPdf()->drawText(__('Shipping & Handling'), ...)的代码,所以只要语言文件里的键和函数里的原文匹配,翻译就会生效。
内容的提问来源于stack exchange,提问作者Raluca Albu

