Prestashop – Traducciones imposibles

Básicamente todo Prestashop se puede traducir desde Localización > Traducciones (la mayoría en el Front Office y en los módulos instalados, ya sean del tema o los generales que tenemos instalados y estemos usando). Pero hay traducciones imposibles en prestashop.

Prestashop

Pero aún con esto siempre están los típicos textos que no se dejan traducir fácilmente y tenemos que buscar recursivamente por nuestro Prestashop. Una vez encontrados, la mayoría los encontramos en archivos .tpl y no estan integrados en la traducción general.

Ahora podemos hacer diferentes cosas para traducir estos .tpl (smarty archives):

1.- Generar una traducción manual

Necesitamos encriptar el texto a traducir, por ejemplo desde: http://www.md5.net/md5-generator/.

Encriptamos por ejemplo la cadena de texto: “página no encontrada” , lo pegamos en el campo y nos genera el siguiento código: 6cfd0b6b00e5a1e915244c98f28091c0

Ahora ya lo podemos añadir al archivo general de traducciones de la plantilla con el formato:

$_LANG[‘404_6cfd0b6b00e5a1e915244c98f28091c0’] = ‘página no encontrada‘;

Para hacer la llamada desde nuestro .tpl, se hará así:

{l s=’página no encontrada‘}

2.- Esta manera es simple, pero no válida para más de un idioma en nuestro Prestashop, y se trata de editar el archivo .tpl que necesitemos, podemos cambiar directamente la cadena:

{l s=’página no encontrada‘}    –>    {l s=’page not found‘}

El problema que surge aquí es que si no lo hemos definido como he explicado en el punto anterior (1), solo tendremos una traducción y si queremos usar múltiples idiomas, en todos se verá igual, es decir, aun cambiando el idioma siempre aparecerá lo que hemos puesto en el .tpl ( en nuestro caso “page not found” aún estando en iso/es).

3.- La manera más fácil,  editando el archivo .tpl que necesitemos, cambiando la cadena y asignándola al módulo:

{l s=’página no encontrada‘ mod=’nombre_del_modulo’}   

 De esta manera ya lo tendremos en el módulo para poderlo traducir desde Localización > Traducciones > Módulos instalados

4.- La manera más rápida (aunque un poco más desorganizada):

{if $lang_iso ==’ca’}Pàgina no trobada{elseif $lang_iso ==’es’}Página no encontrada{else}Page not found{/if}

De esta manera ponemos las traducciones directamente con los códigos iso pertinentes y ya tenemos todo traducido a nuestro gusto.

NOTA!!! – Seguramente si con esto aún tenéis algo que no se deja traducir, ya quedan muy pocas posibilidades: o es la edición básica en el back end y  nos la hemos saltado, o viene directamente de la configuración del localismo, por ejemplo:

{$post.created|date_format:”%A, %B %e, %Y”}  –> dónde el día y el més se importaran dependiendo del localismo configurado en el equipo (navegador), y nos puede salir un idioma que no nos interesa.

Es un tema complicado y en muchas ocasiones las traducciones en prestashop son casi imposibles. Pero espero que este artículo os pueda dar una solución.


Más información

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *