Magento后台区块变量翻译方法及订单邮件变量多店铺翻译问题
Magento 翻译问题解答
1. 如何对Magento后台站点区块中的变量进行翻译?
处理后台区块变量翻译,核心是利用Magento的语言包机制,一步步来操作就行:
- 定位翻译文件:Magento的翻译靠CSV文件驱动,优先看你当前使用的后台主题的
i18n文件夹(比如app/design/adminhtml/YourTheme/YourPackage/i18n/zh_CN.csv);如果是Magento自带模块的区块,就找对应模块的i18n目录(比如app/code/Magento/Backend/i18n/zh_CN.csv)。 - 确认待翻译的原始内容:先搞清楚区块里变量输出的原文是什么。如果是你自己开发的自定义区块,一定要确保变量是通过
__()方法输出的,比如:
只有用<?php echo $this->__($blockVariable); ?>__()包裹的内容,翻译系统才会识别处理。 - 添加翻译条目:在对应语言的CSV文件里,按照
"原文内容","译文内容"的格式添加条目,举个例子:"Order Statistics","订单统计" - 刷新缓存生效:登录后台后,进入
系统 > 工具 > 缓存管理,刷新翻译缓存和页面缓存,新的翻译就会生效了。
2. 新订单邮件模板中{{var order.getShippingDescription()}}的翻译问题
这个变量显示的"Aramex International"完全可以实现多店铺翻译,分两种场景处理:
- 场景一:配送描述由翻译系统控制
找到"Aramex International"这个字符串,在目标店铺对应语言的CSV文件里添加翻译条目,比如针对中文店铺,在zh_CN.csv里加:
同时要确保每个店铺的语言设置正确(路径:"Aramex International","Aramex国际配送"系统 > 配置 > 常规 > 区域选项 > 语言),对应语言包也已经部署到位。 - 场景二:配送描述可在后台配置修改
切换到目标店铺的视图,进入系统 > 配置 > 销售 > 配送方式,找到Aramex的配置项,直接把Shipping Description改成对应语言的内容(比如中文店铺就填"Aramex国际配送"),保存后新订单邮件就会显示修改后的内容了。 - 小提醒:如果是第三方Aramex扩展,得检查下扩展代码里
getShippingDescription()的返回值有没有用__()包裹。要是没包裹的话,得修改扩展代码,把返回字符串用__()包起来,这样翻译系统才能识别它。
内容的提问来源于stack exchange,提问作者Akhaya Satapathy
相关产品推荐
相关产品推荐

