Prestashop

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

 

Artículos relacionados

Prestashop – Mensaje ley de cookies gratis Una vez tenemos nuestra pasarela de pago instalada en Prestashop, llega la hora de instalar el módulo que nos permitirá mostrar el mansaje de la ley d...
Recursos programación – GroundWorkCSS El que utilizo en varios de mis proyectos. Completísimo. Grids, helpers, tipografías, formularios, iconos, texto responsive, navegación, botones, caja...
Prestashop – Asignar métodos de pago/reserva... En Prestashop, simpre no surge el problema de que sistemas de pago necesitamos para las diferentes opciones de envío. Tambíes es recurrente la necesid...
Magento2, wordpress y Unity3d Veamos varios enlaces que os serán de utilidad. Trataremos varios temas que van desde Magento2 hasta Unity 3D. Introducing Unity 2018.3 Guí...