Wie funktioniert die Magento-Übersetzung?
Ich möchte einen Frontend-Magento-Store mit nur einer CSV-Datei übersetzen. Also habe ich das gemacht:
Ich habe ein benutzerdefiniertes Modul namens Übersetzer erstellt. In seiner config.xml habe ich folgende Zeilen eingefügt:
<code><config> .... <translate> <modules> <MyPackage_Translator> <files> <default>MyPackage_Translator.csv</default> </files> </MyPackage_Translator> </modules> </translate> </config> </code>
Dann habe ich den standardmäßigen Data.php-Helfer in meinem Helper-Ordner erstellt.
Dann habe ich in app / locale / de_DE die Datei MyPackage_Translator.csv erstellt, in der ich alle meine Zeichenfolgen abgelegt habe.
Nun, wenn ich in einer phtml-Datei (unabhängig vom Modul) etwas mache wie:
<code>echo $this->__('My string'); </code>
es funktioniert ziemlich gut. Aber ich bin neugierig, warum Magento in MyPackage_Translator.csv nach dem String sucht.
Mir ist auch aufgefallen, dass, wenn ich $ this -> __ ('some string') verwende; Im Kundenmodul sucht Magento zuerst in der Datei app / locale / de_DE / Mage_Customer.csv nach dem String. Wenn der String dort nicht gefunden wird, wird er in der Datei MyPackage_Translator.csv gesucht. Warum das? Warum sieht es beispielsweise nicht in der Datei Enterprise_Customer.csv aus?
Kann mir jemand erklären, wie Magento bei der Suche nach der Übersetzungsdatei vorgeht?