Pregunta

Tal vez solo soy yo, pero en Chrome Browser en línea la traducción no funciona. Se muestran los cuadros rojos y si pasa el ratón el icono del libro, pero si hago clic, no sucede nada. Tuve el mismo problema en diferentes servidores.

Otros navegadores como Firefox e IE están bien.

¿Hay una interrupción para esto?

¿Fue útil?

Solución

Sí, la función de traducción en línea está rota en Google Chrome. Cuando se desarrolló originalmente la función de traducción en línea, Magento usó un no estándar translate Atributo en los elementos DOM al texto traducible con bandera.

Desde entonces, Google Chrome tiene una característica donde un valor predeterminado translate La propiedad se agrega a todos los nodos DOM disponibles en JavaScript (sobre simplificación).

Esto, a su vez, interfiere con el código PrototypeJS XPath de Magento utilizado para implementar la función de traducción. Específicamente, esto

if (!$(target).match('*[translate]')) {
    target = target.up('*[translate]');
}

Yo solución que se me ocurrió el año pasado Fue para agregar el siguiente bit de JavaScript a cada página cuando las traducciones en línea están activas.

if(Object.__defineGetter__)
{
    var hasTranslateAttribute = function(){
        return $(this).hasAttribute("translate");
    };
    document.observe("dom:loaded", function() {
        $$('*').each(function(theElement){
             theElement.__defineGetter__("translate", hasTranslateAttribute);
        });
    });
}

Otros consejos

Para los clientes empresariales, hay un parche Magento Core disponible (SUPEE-1373) que fue probado por nosotros y trabaja.

Básicamente reemplaza todo el translate propiedades por data-translate a través del código.

La solución proporcionada por Alan Storm Works. Para que funcione en todo el sitio, simplemente agregue el fragmento a /app/code/core/mage/core/model/translate/inline.php, justo después

<script type="text/javascript">
new TranslateInline('translate-inline-trig', '<?php echo $ajaxUrl ?>', '<?php
    echo Mage::getDesign()->getArea() ?>');

Esa es la línea 278 en 1.7.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top