Domanda

Stiamo avendo problemi con le traduzioni sul nostro negozio online per nostro multilingue siti.

Hanno usato per lavorare ok, ma quando ci aggiungi moduli sembra che le traduzioni sono ormai perduti.

Come esempio "Aggiungi al Carrello" nella pagina del prodotto utilizzato per tradurre sul nostro sito francese per "Ajouter au panier", come è stato chiamato da /app/locale/it_it/Mage_Catalog.file csv.

Quando si aggiunge un terzo modulo chiamato AW_Productpdates.xml la lingua francese archivio torna su "Aggiungi al Carrello" e il campo di applicazione per la traduzione sembra modifiche e sta cercando di "Aggiungi al Carrello" nel file di lingua per "AW_Productupdates".Come "Aggiungi al Carrello" non è stato tradotto utilizza solo la versione inglese.

È normale o deve ancora provare e cercare "Aggiungi al Carrello" traduzione ancora all'interno della app/locale/it_it/ cartella?

Se aiuta, sto ancora facendo alcune sostituzioni nel mio /app/frontend/theme/default/locale/it_it/translate.file csv ma non voglio replicare le traduzioni se sono già nella cartella /app/locale/it_it/ cartella.

È stato utile?

Soluzione

Il problema è che non appena un modulo riscrive un blocco, la traduzione modifiche di ambito.Questo è anche il motivo per cui si vedono spesso le traduzioni come $this->helper('catalog')->__('Add to Cart') invece di $this->__('Add to Cart') nel template del nucleo.

Una buona pratica che purtroppo pochi conoscono, è quello di impostare il campo di applicazione in modo esplicito in riscritto blocchi come questo:

class My_Module_Block_Product_View extends Mage_Catalog_Product_View
{

    public function getModuleName()
    {
        return 'Mage_Catalog';
    }

}

Ovviamente questo non è stato fatto in AW_Productupdates estensione.

Ora avete diverse opzioni:

  1. Impostare il modulo in ambito esplicitamente con un layout XML

    <reference name="product.info">
        <action method="setModuleName"><module>Mage_Catalog</module></action>
    </reference>
    
  2. Cambiare il modello(s) dove "Aggiungi al Carrello" è tradotto male per utilizzare in modo esplicito il catalog helper

  3. Aggiungere la traduzione translate.csv utilizzando il nuovo campo di applicazione:

    "AW_Productupdates::Add to Cart","Ajouter au panier"
    
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top