O que acontece?
Ao habilitar a tradução inline do Magento, quem usa o Chrome já reparou que ainda sim você não consegue modificar o texto. Um bug que apesar de chato, pode ser corrigido.
Acontece que quando o Magento desenvolveu a ferramenta de tradução inline, eles usaram um atributo translate fora do padrão para os elementos DOM que sinalizavam textos traduzíveis.
Desde então, o Google Chrome possui um recurso onde uma propriedade translate padrão é inserida para cada instância DOM disponível em javascript.
Isso interfere no código xpath do Magento PrototypeJS usado para a implementação da tradução inline, gerando o bug.
Como Corrigir?
Editar o arquivo: /app/code/core/Mage/Core/Model/Translate/Inline.php
Encontre o seguinte código:
new TranslateInline('translate-inline-trig', '<?php echo $ajaxUrl ?>', '<?php
echo Mage::getDesign()->getArea() ?>');
E logo após insira esse código aqui:
if(Object.__defineGetter__)
{
var hasTranslateAttribute = function(){
return $(this).hasAttribute("translate");
};
document.observe("dom:loaded", function() {
$$('*').each(function(theElement){
theElement.__defineGetter__("translate", hasTranslateAttribute);
});
});
}
ATENÇÃO: Esse procedimento está alterando um arquivo do CORE do Magento! Portanto, MUITO CUIDADO ao editá-lo ou você corre o risco de detonar o Magento. O correto é eu você insira esse código no arquivo javascript do seu tema.
P.S – O autor não se responsabiliza por eventuais perdas e danos causados ao Magento. O artigo tem cunho exclusivamente educativo.
Excelente, resolveu meu problema, obrigado.