2011-10-13 21 views
7

Magento utiliza un sistema para la traducción de texto en los archivos de plantilla usando:Magento :: Traducir texto desde archivos javascript

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

o

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

Esto funciona bastante bien. Pero cuando agrego texto a un archivo javascript no puedo usar estos dos métodos.

¿Hay alguna manera en que yo podría hacer algo similar con las traducciones de los archivos javascript?

+0

Esta es la respuesta: http://stackoverflow.com/questions/1450294/magento- translate-validation-error-messages # answer-3839423 – wormhit

Respuesta

17

Puede hacerlo en un archivo de plantilla yourfile.phtml. El script javascript js/mage/translate.js debe estar incluido en su encabezado html (Magento lo hace de forma predeterminada).

<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> 

EDITAR: Puede Magento desde 1,7 jstranslator.xml añadir un archivo en el módulo bajo el etc/carpeta y establecer la siguiente cadena como esa:

<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> 

luego traducir la cadena como lo hace para PHP gracias al archivo CSV Esto, agregará la traducción al código de JavaScript como el siguiente var Translator = new Translate(...)

+0

Lo intenté antes, pero no funcionó. Lo intentaré de nuevo, pero para estar seguro. – Chris

+0

No funciona ... Desafortunadamente. Creé un nuevo ayudante para uno de mis módulos personalizados en mi carpeta local. Y agregué el J en la parte superior de mi archivo .phtml. Pero simplemente no funciona. – Chris

+0

Translator es una variable de Javascript de Magento. Tal vez falta. Prueba con la etiqueta Javascript: nuevo Traducir ({'¡Debes ocuparte de este mensaje de confirmación!', ' __ (' ¡Debes ocuparte de este mensaje de confirmación! ')?> '}) –

4

Simplemente use la siguiente método en los scripts:

Translator.translate('Some phrase'); 
0

Esta es la forma correcta para la traducción de cadenas JavaScript withing archivo .phtml

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