Domanda

Sto cercando di tradurre i messaggi di errore restituiti dal modulo Anywhere CAP. Sono visualizzati negli avvisi del browser, quindi vengono creati in JavaScript.

Sono riuscito a tradurre uno utilizzando il metodo script inline, come di seguito:

alert( Translator.translate(error) );

Translator.add('PostalCode Required', '<?php echo $this->__('Translated text here'); ?>');

Io non proprio così, però, perché significa che ho JavaScript inline, e una traduzione tenuto all'interno di un file di modello, quando tutti gli altri miei traduzioni sono tenute nella cartella locale globale. Nel tentativo di rendere questo più pulita, ho cercato di utilizzare il metodo jstranslate nuovi, ma io non riesco a farlo funzionare correttamente.

Edit: Ecco un link al tutorial ho seguito: http: / /en.herveguetin.com/translate-javascript-with-jstranslator-xml.html

Ho un config.xml modulo che definisca un modulo in questo modo (Client viene utilizzato per sostituire il vero nome per ragioni di privacy):

<modules>
    <Client_PostcodeAnywhere>
        <version>0.0.1</version>
    </Client_PostcodeAnywhere>
</modules>

All'interno della frontend -> sezioni di layout del file config.xml ho aggiunto:

<jstranslate>
    <file>jstranslator.xml</file>
</jstranslate>

All'interno della sezione di frontend del config.xml ho aggiunto:

<translate>
    <modules>
        <client_postcodeanywhere>
            <files>
                <default>Client_PostcodeAnywhere.csv</default>
            </files>
        </client_postcodeanywhere>
    </modules>
</translate>

Ho creato il file jstranslator.xml nella stessa posizione del file del modulo config.xml:

<jstranslator>
    <client-postcodeanywhere-required translate="message" module="client_postcodeanywhere">
        <message>PostalCode Required</message>
    </client-postcodeanywhere-required>
</jstranslator>

Ho creato il file Client_PostcodeAnywhere.csv nella mia cartella fr_FR all'interno della cartella locale globale (traducendo Inglese a Francese):

"PostalCode Required","Translated text here"

Non capisco traduzione dopo aver fatto questo e non so perché. Qualcuno capire che cosa i tag XML nel file jstranslator necessità di essere? La mia si chiama 'cliente-postcodeanywhere-richiesta', ma io non so nemmeno cosa significhi.

È stato utile?

Soluzione 2

Il mio codice di esempio funziona. Penso che forse ho avuto una mancata corrispondenza tra la denominazione da qualche parte, ma questo funziona come previsto ora.

Altri suggerimenti

Requisiti

  • Un modulo deve essere dichiarata
  • Questo modulo deve essere pronto a ricevere traduzioni (file .csv + Aiutanti e tradurre nodo devono essere dichiarati nel modulo di config.xml)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top