Tabla de contenidos
Traducir una plantilla o módulo en PrestaShop 8 puede ser un proceso largo si lo hacemos manualmente campo por campo. Afortunadamente, podemos acelerar el proceso utilizando el traductor integrado de Google Chrome junto con un script personalizado que transfiere el contenido traducido a los campos de texto de forma automática.
Pasos previos
En PrestaShop nos iremos a Internacional > Traducciones. Si queremos traducir un tema, tenemos que elegir Traducciones del Front Office, elegimos el tema y después el idioma al que vamos a traducir. Si es un módulo, elegimos Traducción de módulos instalados y después seleccionamos el módulo que queremos traducir. Una vez dentro, veremos en rojo los campos que nos faltan por traducir, y al entrar en cada una de las secciones nos indicará en rojo cada campo pendiente.
Este proceso es necesario antes de traducir la página con el traductor de Google Chrome.
1. Usar el traductor de Google Chrome
Google Chrome tiene una función de traducción automática que puede traducir páginas completas. Vamos a utilizar esta herramienta para traducir las etiquetas de los formularios en la página de traducción de PrestaShop, ya sea de plantillas o módulos.
Pasos:
- Abrir la página de traducción en PrestaShop:
- Inicia sesión en tu panel de administración de PrestaShop 8.
- Ve a Internacional > Traducciones.
- Selecciona la plantilla o módulo y el idioma que deseas traducir.
- Activar la traducción automática en Google Chrome:
- Haz clic derecho en la página y selecciona “Traducir a [el idioma al que vayas a traducir]”.
- Si vas a traducir a tu idioma te vendrá por defecto si no tienes que darle a los 3 puntitos y elegir otro idioma.
- Google traducirá automáticamente todas las etiquetas y textos visibles en la página. En este ejemplo se puede ver que todo se pone en Alemán. A continuación puedes ver el resultado:
2. Automatizar la copia del contenido traducido a los campos de texto
Ahora que las etiquetas están traducidas, podemos usar un script para pasar esas traducciones automáticamente a los campos de texto correspondientes, lo que ahorra mucho tiempo.
Crear un script para automatizar el proceso:
- Abrir la consola de desarrollador:
- Haz clic derecho en la página y selecciona “Inspeccionar” o pulsamos F12.
- Ve a la pestaña “Consola”.
- Escribe
'allow pasting'
(sin comillas) y presiona “Enter”. Esto permitirá pegar texto en la consola.
- Pegar el siguiente script en la consola:
// Seleccionar todos los elementos .form-group
var formGroups = document.querySelectorAll('.form-group');
// Iterar sobre cada .form-group
formGroups.forEach(function(formGroup) {
// Obtener el texto del label dentro del form-group
var labelText = formGroup.querySelector('label').innerText;
// Obtener el textarea dentro del form-group
var textarea = formGroup.querySelector('textarea');
// Verificar si el textarea está vacío antes de cambiar su valor
if (textarea.value.trim() === '') {
// Simulando la escritura en el textarea
textarea.value = labelText;
// Crear un evento de 'input' para simular que el usuario ha escrito
var event = new Event('input', {
bubbles: true,
cancelable: true
});
textarea.dispatchEvent(event);
}
});
Explicación del script:
- El script selecciona todos los elementos
.form-group
de la página. - Obtiene el texto traducido de las etiquetas (
label
) y lo inserta automáticamente en el área de texto (textarea
). - Simula un evento de entrada (
'input'
) para que PrestaShop registre el cambio como si el usuario hubiera escrito manualmente en el campo.
Ejecutar el script:
Después de pegar el código en la consola de desarrollador, presiona “Enter”. Las etiquetas traducidas serán copiadas automáticamente a los campos de texto de la página.
3. Guardar los cambios
Una vez que las traducciones están en los campos de texto, simplemente guarda los cambios en PrestaShop de la manera habitual. Así habrás traducido de forma rápida y eficiente las plantillas o módulos.
Conclusión
Con este método, puedes traducir rápidamente las plantillas o módulos de PrestaShop 8 utilizando el traductor de Google Chrome y un script sencillo que automatiza la copia del contenido traducido en los campos de texto. Esta técnica te ahorrará mucho tiempo si necesitas traducir múltiples formularios o campos a la vez.
Este post en una actualización del método que usa dan en el siguiente video: