2011-10-13 12 views
7

Magento utilizza un sistema per tradurre testo nei file di modello utilizzando:Magento :: tradurre il testo da file javascript

$this->__('text to be translated.');

o

Mage::helper('modulename')->__('text to be translated.');.

Questo funziona abbastanza bene. Ma quando aggiungo del testo a un file javascript non posso usare questi due metodi.

C'è un modo per fare una cosa simile con le traduzioni per i file javascript?

+0

Questa è la risposta: http://stackoverflow.com/questions/1450294/magento- translate-validation-error-messages # answer-3839423 – wormhit

risposta

17

È possibile farlo in un file modello yourfile.phtml. Lo script javascript js/mage/translate.js deve essere incluso nell'intestazione html (Magento lo fa per impostazione predefinita).

<script type="text/javascript"> 
Translator.add('You should take care of this confirmation message!','<?php echo Mage::helper('yourmodule')->__('You should take care of this confirmation message!')?>'); 
</script> 

EDIT: È possibile poiché Magento 1.7 aggiungere un file jstranslator.xml nel vostro modulo sotto la cartella/etc e impostare la seguente stringa così:

<jstranslator> 
    <!-- validation.js --> 
    <validate-no-html-tags translate="message" module="core"> 
     <message>HTML tags are not allowed</message> 
    </validate-no-html-tags> 
    <validate-select translate="message" module="core"> 
     <message>Please select an option.</message> 
    </validate-select> 
</jstranslator> 

poi tradurre la stringa come lo fai per PHP grazie al file CSV Questo, aggiungerà la traduzione al codice javascript come il seguente var Translator = new Translate(...)

+0

Ho provato prima, ma non ha funzionato. Ci proverò di nuovo, per essere sicuro. – Chris

+0

Non funziona ... Sfortunatamente. Ho creato un nuovo helper per uno dei miei moduli personalizzati nella mia cartella locale. E ha aggiunto il Js nella parte superiore del mio file .phtml. Ma non funziona. – Chris

+0

Translator è una variabile javascript di Magento. Forse manca. Prova in tag Javascript: nuovo Traduci ({'Dovresti occuparti di questo messaggio di conferma!', ' __ (' Dovresti occuparti di questo messaggio di conferma! ')?> '}) –

4

Basta usare il seguente Metodo nei vostri script:

Translator.translate('Some phrase'); 
0

Questo è il modo corretto per tradurre le stringhe JavaScript withing file di .phtml

Translator-add({"To be translated":"<?php echo $this->_('To be translated'); ?>"}); 
Problemi correlati