Traducir una tienda PrestaShop entera: catálogo, módulos, tema, correos y URL
Una tienda traducida a medias vende menos que una en un solo idioma. Repasamos las capas de texto de PrestaShop, el orden de trabajo, las URL y el hreflang, y cómo encontrar la frase que se resiste.
Activas el francés en Internacional > Localización, PrestaShop instala el paquete de idioma y aparece la banderita en la cabecera. Lo pulsas y ves una tienda con los botones en francés y todo lo demás en español: productos, categorías, páginas, el título que sale en Google, el correo de confirmación del pedido.
Es normal. Añadir un idioma crea los huecos para las traducciones, copia el texto del idioma por defecto en ellos y trae la traducción del núcleo. Todo lo que has escrito tú, y buena parte de lo que traen los módulos, sigue sin traducir.
Las capas de texto de una tienda PrestaShop
Los textos de una tienda viven en sitios distintos, y cada uno se traduce de una forma:
| Capa | Qué incluye | Dónde se traduce |
|---|---|---|
| Contenido | Productos, categorías, características, atributos, páginas CMS, marcas, estados de pedido, transportistas, metaetiquetas | En cada ficha, idioma a idioma (tablas _lang) |
| Núcleo | Textos del propio PrestaShop en tienda y back-office | Paquete de idioma oficial |
| Tema | Botones, formularios, pie, textos fijos del tema | Internacional > Traducciones, tema |
| Módulos | Lo que muestra cada módulo instalado | Internacional > Traducciones, módulos |
| Correos | Plantillas de email: pedido, envío, contraseña | Traducciones de correos, más el texto de las plantillas |
Y hay una complicación más: una misma frase puede estar en varios sitios a la vez —en la base de datos, en el fichero XLIFF del módulo, en un fichero de traducción antiguo, escrita directamente en una plantilla— y solo una es la que se ve. Por eso a veces «traduces» algo, guardas, vacías la caché y sigue saliendo igual.
En qué orden trabajar
- Copia de seguridad. Una traducción masiva escribe en miles de filas. Si el resultado no convence, sin copia toca rehacerlo a mano.
- Categorías y metaetiquetas. Son pocas, se ven en todas partes y te sirven para valorar la calidad del traductor que uses.
- Productos. Nombre, resumen, descripción, metatítulo, metadescripción y URL amigable. Las características y los atributos (talla, color, material) también, que se olvidan.
- Tema y módulos del recorrido de compra: carrito, checkout, mensajes de error, avisos de stock. Un botón de pago en otro idioma genera desconfianza justo donde no conviene.
- Correos transaccionales. Confirmación, envío, devolución. El cliente los lee con atención.
- Páginas legales y CMS. Las condiciones y la política de privacidad, revisadas por una persona, no solo por una máquina.
- Estados de pedido y transportistas, que salen en la cuenta del cliente y en los correos.
Traducción automática, IA o persona
Para un catálogo de cientos o miles de productos, traducir a mano todo no es realista. Lo habitual es combinar:
- Traducción automática (DeepL, Google, Microsoft) para el grueso: rápida y barata.
- Modelos de IA cuando importa el tono o el contexto, por ejemplo en descripciones comerciales.
- Revisión humana en lo que más vende, en las páginas legales y en los textos del checkout.
%s, %d o %shop_name%, y a veces etiquetas HTML. Un traductor automático puede comérselos o traducirlos, y la frase rompe la página o el correo. Compara siempre que los marcadores del original sigan en la traducción.URL, hreflang y SEO
Una tienda multiidioma bien hecha tiene una URL distinta por idioma (por ejemplo /es/, /fr/) y, dentro de cada una, la URL amigable traducida del producto y la categoría. Si dejas el link_rewrite en español en la versión francesa, funciona, pero desaprovechas palabras clave y queda raro.
Además:
- Cada versión debe declarar sus alternativas con hreflang, incluida ella misma, para que Google sirva la buena a cada usuario.
- No publiques un idioma a medias: páginas con el contenido en otro idioma se ven como duplicadas o de baja calidad.
- Traduce el metatítulo y la metadescripción, que son lo que se ve en el buscador.
- El
altde las imágenes también es texto traducible. - Si cambias una URL ya indexada al traducirla, pon la redirección 301.
Cuando una frase no hay manera
Pasa con frecuencia: el botón sigue en inglés, aunque está traducido en Internacional > Traducciones. Las causas más comunes:
- El tema sobrescribe la plantilla del módulo y usa otro dominio de traducción.
- Hay una traducción antigua en un fichero del módulo dentro del tema que gana a la de la base de datos.
- El texto está escrito a mano en una plantilla
.tplo.twig, sin pasar por el traductor. - El texto viene de la base de datos (un estado de pedido, un transportista) y no de una traducción.
- La caché no se ha vaciado.
Buscar a ciegas en cada pantalla puede llevar una tarde. Lo eficaz es buscar la frase en todas las capas a la vez y ver cuál está ganando.
Las versiones también cambian cómo se traduce
PrestaShop pasó de los ficheros de traducción antiguos de cada módulo al sistema de catálogos XLIFF, y en las versiones 8 y 9 conviven los dos mundos según cómo esté hecho cada módulo. Un módulo muy antiguo puede traducirse de una forma y uno moderno de otra. Si estás planeando migrar desde 1.6 o 1.7, deja la traducción completa para después de la migración: traducirlo todo dos veces es trabajo perdido.
Checklist
- Copia de seguridad antes de cualquier traducción masiva.
- Prueba con un bloque pequeño y revisa la calidad.
- Contenido, tema, módulos y correos, los cuatro.
- URL amigables traducidas y hreflang correcto.
- Marcadores intactos en los textos de módulos.
- Páginas legales revisadas por una persona.
- Pedido de prueba completo en cada idioma, con sus correos.
- Al dar de alta productos nuevos, traducirlos también.
Cómo resolverlo en PrestaShop
RKR Traducción Total traduce la tienda entera desde una pantalla del back-office: contenido (productos, categorías, características, atributos, páginas, metaetiquetas, marcas, estados de pedido, transportistas, el alt de las imágenes), los textos de los módulos instalados, y el tema y las plantillas de correo. Muestra el porcentaje traducido de cada cosa en cada idioma, traduce a varios idiomas a la vez y por cron, y te deja elegir entre once servicios (DeepL, Google, Microsoft, ChatGPT, Gemini y otros) con tu clave y tu consumo; funciona en PrestaShop 8 y 9. Para la frase que se resiste, el localizador de traducciones la busca en base de datos, XLIFF, ficheros antiguos, tablas _lang, correos y código, te dice cuál manda, te deja corregirla ahí mismo y marca en rojo las traducciones a las que les falta algún marcador.