在将1.3用的语言包放到1.4上使用之后,发现后台后台分类页和产品页字段都是英文,而这些英文词在Mage_Catalog.csv中翻译都存在,却不起作用了。是1.4用新的语言包文件来翻译这些词了吗?在我搜索完系统自带的英文语言包,发现这些词不存在与英文包的任何一个文件中,不知道是系统存在的bug还是Magento官方出于什么考虑。
经查找发现这里的字段名用到了getLabelHtml函数来输出,找到这个函数发现是在基础类库里面,打开文件/lib/Varien/Data/Form/Element/Abstract.php,找到getLabelHtml函数,会发现标签输出时并没有做处理:
将代码做如下修改
现在去看后台,分类页和产品页的字段都已经翻译成中文了(假设这些词语言包里都有),说明已经读取到了语言包。
有一点隐患是不知道除了分类页和产品页,getLabelHtml函数会不会在其它地方会有用到,因为我添加的代码Mage::helper('catalog')->__()表示所有调用这个函数输出的都使用Mage_Catalog.csv这个语言文件,各位使用时如有发现对其它地方有影响到,希望能留言告诉我,谢谢。