相对于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并不严重,至少对流程没有任何影响,但还是希望官方能不再犯这样的错误。