Как работает перевод Magento?

Я хочу перевести внешнее хранилище Magento, используя только один CSV-файл. Итак, я сделал следующее:

Я создал специальный модуль под названием Translator. В его конфиге.xml я поместил эти строки:

<config>
....
<translate>
<modules>
<MyPackage_Translator>
<files>
<default>MyPackage_Translator.csv</default>
</files>
</MyPackage_Translator>
</modules>
</translate>

</config>

Затем я создал помощник Data.php по умолчанию в моей папке Helper.

Затем в 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 при поиске файла перевода?

6
задан zuzuleinen 6 April 2012 в 14:02
поделиться