Voglio tradurre un negozio Magento frontend usando solo un file csv. Così ho fatto questo:Come funziona Magento translate?
Ho creato un modulo personalizzato chiamato Traduttore. Nella sua config.xml Ho messo queste righe:
<config>
....
<translate>
<modules>
<MyPackage_Translator>
<files>
<default>MyPackage_Translator.csv</default>
</files>
</MyPackage_Translator>
</modules>
</translate>
</config>
Poi ho creato de predefinita aiutante Data.php nella mia cartella Helper.
Quindi in app/locale/de_DE ho creato il file MyPackage_Translator.csv dove ho messo tutte le mie stringhe.
Ora, se in un file phtml (indipendentemente dal modulo), se faccio qualcosa di simile:
echo $this->__('My string');
funziona piuttosto bene. Ma sono curioso perché Magento guarda nel MyPackage_Translator.csv per la stringa?
Ho anche notato che, se sto usando $ this -> __ ('some string'); nel modulo Cliente, Magento cercherà per prima cosa nel file app/locale/de_DE/Mage_Customer.csv per la stringa, e se non trova la stringa lì, allora apparirà nel mio file MyPackage_Translator.csv. Perché? Perché non appare nel file Enterprise_Customer.csv per esempio?
Qualcuno può spiegarmi il flusso di lavoro di Magento quando sta cercando il file di traduzione?
Forse è possibile tradurre direttamente su Mage_Core.csv –
Non consiglierei un'azione del genere in quanto non è consigliabile modificare alcun file di base fornito da Magento. Non sarebbe una prova di aggiornamento. Si stava muovendo nella giusta direzione, sovraccaricando la core class per Translate –
Voglio dire, usa Mage_Core.csv nella tua lingua specifica. Non sovrascrivere quello originale. –