Ciao a tutti,
dopo avere visto come traddurre tradurre inline e come inserire i file di lingua (in formato csv) andiamo a vedere come sia possibile tradurre una estensione sviluppata in proprio.
Il prerequisito per fare in modo che una estensione possa essere tradotta è fare in modo che tutte le parole che intendiamo poi tradurre siano inserite nel nostro codice nel seguente formato:
[sourcecode language=”php”]
< ?php echo $this->__(‘parole da tradurre’) ?>
[/sourcecode]
dove i trattini bassi (underscores) stanno a significare la funzione per internazionalizzare le parole.
Dopo avere internazionalizzato la nostra estensione personalizzata andiamo a vedere come questa possa utilizzare il proprio file csv in cui inserire le traduzioni.
Apriamo il file di configurazione config.xml del nostro modulo che chiameremo “Traduzioni“:
[sourcecode language=”shell”]
app/code/local/Traduzioni/etc/config.xml
[/sourcecode]
Al suo interno troveremo la definizione del modulo attraverso il file Traduzioni.csv che si trova nella directory app/locale/it_IT (per l’italiano):
[sourcecode language=”xml”]
< ?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
<traduzioni>
<version>1.0.0</version>
</traduzioni>
</modules>
<frontend>
<translate>
<modules>
<traduzioni>
<files>
<default>Traduzioni.csv</default>
</files>
</traduzioni>
</modules>
</translate>
</frontend>
<adminhtml>
<translate>
<modules>
<traduzioni>
<files>
<default>Traduzioni.csv</default>
</files>
</traduzioni>
</modules>
</translate>
</adminhtml>
</config>
[/sourcecode]
Quello che vi serve sarà poi tradurre il vostro modulo all’interno di tutte le cartelle app/locale/ inserendo un file Traduzioni.csv per ogni lingua.
Per rendere il modulo e le traduzioni attive andiamo sul file di configurazione app/etc/modules/Traduzioni.xml ed attiviamo il modulo impostando a true il campo active
[sourcecode language=”xml”]
< ?xml version="1.0"?>
<config>
<modules>
<traduzioni>
<active>true</active>
<codepool>local</codepool>
</traduzioni>
</modules>
</config>
[/sourcecode]
Buona traduzione a tutti!