【发布时间】:2012-04-20 03:16:26
【问题描述】:
我想只使用一个 csv 文件来翻译前端 Magento 存储。所以我这样做了:
我创建了一个名为 Translator 的自定义模块。在它的 config.xml 中,我写了以下几行:
<config>
....
<translate>
<modules>
<MyPackage_Translator>
<files>
<default>MyPackage_Translator.csv</default>
</files>
</MyPackage_Translator>
</modules>
</translate>
</config>
然后我在 Helper 文件夹中创建了默认的 Data.php 助手。
然后在 app/locale/de_DE 中,我创建了 MyPackage_Translator.csv 文件,我将所有字符串都放在其中。
现在,如果在 phtml(无论模块)文件中,如果我执行以下操作:
echo $this->__('My string');
效果很好。但我很好奇为什么 Magento 会在 MyPackage_Translator.csv 中查找字符串?
我还注意到,如果我使用 $this->__('some string');在 Customer 模块中,Magento 将首先在 app/locale/de_DE/Mage_Customer.csv 文件中查找字符串,如果在那里找不到该字符串,那么它将在我的 MyPackage_Translator.csv 文件中查找。这是为什么?例如,为什么它不在 Enterprise_Customer.csv 文件中?
谁能解释一下 Magento 在寻找翻译文件时的工作流程?
【问题讨论】: