相对于magento1.3,magento1.4把索引(Index)从缓存中单独独立成一模块,/app/code/core/Mage目录下多了一个Index文件夹,后台也有一个独立的页面,而且索引还有了一个自己的语言包:Mage_Index.csv。但是,针对这个这个语言包做了中文汉化后,会发现没有任何效果,很多跟索引有关的词或语句依然是英文,经检查翻译文件本身并没有任何问题,那么问题出在哪呢?
了解magento架构的人都知道,一个模块使用哪个语言文件是在这个模块目录下的config.xml设定的,而打开/app/code/core/Mage/Index/etc目录下的config.xml文件后会发现,这个文件里并没有为Index模块指定使用哪个语言文件,也就是说,magento官方提供了语言文件,却没有为模块指定语言文件,这样系统自然就读取不到语言文件了。
下面是默认的config.xml文件的部分
……………………
<adminhtml>
<layout>
<updates>
<index>
<file>index.xml</file>
</index>
</updates>
</layout>
</adminhtml>
……………………
加入指定语言文件的代码,后台马上就看到了翻译的效果
<adminhtml>
<layout>
<updates>
<index>
<file>index.xml</file>
</index>
</updates>
</layout>
<translate>
<modules>
<Mage_Index>
<files>
<default>Mage_Index.csv</default>
</files>
</Mage_Index>
</modules>
</translate>
</adminhtml>
对官方来说,这个算是一个比较低级的bug,从1.4到现在的1.4.1.1,bug依然存在,虽然这个bug并不严重,至少对流程没有任何影响,但还是希望官方能不再犯这样的错误。