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

Búsqueda recursiva de ficheros con un texto determ... Hace ya un tiempo, se publicó como hacer una búsqueda recursiva en Linux, es decir, como buscar y encontrar un determinado texto en el contenido de lo...
Prestashop – Error añadir HTML a páginas y p... ANALICEMOS Editamos una página o un producto, añadiendo en el campo descripción el código que nos proporciona YouTube o Google Maps. Ejemplo: Cu...
Prestashop – Pasarela de pago RedSys gratuit... Una vez tenemos nuestro Prestashop instalado, llega la hora de configurarlo. Entre las configuraciones mas importantes, está la pasarela de pago con t...
Mo.js – Librería Javascript para movimientos... Empezamos sección de recursos de librerías que nos haran la vida mas fácil cuando programemos. En este caso, nos centraremos en mo.js, una libería jav...

Deja un comentario

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

*