Revisado en junio de 2026, los módulos ps_languageselector y ps_currencyselector, y el hook displayNav2 descrito aquí, se aplican a PrestaShop 1.7, 8 y 9.

Un visitante de España llega a tu tienda en alemán. En un par de segundos está mirando la parte superior de la página para encontrar cómo cambiar a español o, como mínimo, a inglés. Si encuentra enseguida un selector claro, se queda. Si no encuentra nada, pulsa el botón de volver y regresa directamente a Google para buscar una tienda que hable su idioma. Esa decisión instantánea ocurre cada día en cualquier tienda internacional, y depende por completo de dos pequeños widgets del front-end: el selector de idioma y el selector de moneda.

Este artículo se centra precisamente en esos widgets: dónde se ubican dentro de un tema de PrestaShop, qué bloques y hooks los muestran, por qué el debate entre banderas y texto afecta de verdad a la conversión, y cómo hacer que ambos elementos sean evidentes sin sobrecargar la cabecera. Es la capa visible para el cliente. La parte técnica que hay detrás, añadir los idiomas y las monedas, los tipos de cambio, los impuestos y el hreflang que indica a Google qué versión debe mostrar, merece su propio espacio, así que te remitiré a esas guías en lugar de repetirlas aquí.

Los dos bloques de PrestaShop que muestran los selectores

Un globo terráqueo de escritorio con marcadores de ubicación de colores junto a un elemento de interfaz de menú desplegable limpio
Los selectores de idioma, moneda y país son los pequeños detalles del escaparate que hacen que los compradores internacionales se sientan como en casa.

Antes de discutir sobre banderas, conviene saber qué estás editando realmente. En un tema predeterminado de PrestaShop 1.7, 8 o 9, los selectores de la cabecera no están programados a mano dentro de la plantilla: son dos módulos nativos enganchados a la parte superior de la página:

  • ps_languageselector, el desplegable de idioma. Por defecto se muestra mediante el hook displayNav2 (el lado derecho de la barra superior) y expone todos los idiomas que tengas activados en Internacional → Localización → Idiomas.
  • ps_currencyselector, el desplegable de moneda, también en displayNav2 por defecto, con todas las monedas activadas en Internacional → Localización → Monedas.
[SCREENSHOT: Cabecera de una tienda en la parte superior derecha, con el selector de idioma (Deutsch) y el selector de moneda (€ EUR) uno junto al otro]

¿Qué significa esto para ti? Si falta un selector en la cabecera, casi nunca hace falta operar el tema. Ve a Diseño → Posiciones, busca el hook displayNav2 (la ubicación predeterminada de ambos selectores; algunos temas los mueven a displayNav1 o a un hook personalizado de la barra superior) y confirma que el módulo esté trasplantado ahí. Si está presente pero aparece vacío, el problema real está antes: solo tienes un idioma o una moneda activados, así que no hay nada entre lo que cambiar. El widget hace bien en ocultarse en lugar de mostrar un desplegable inútil con una sola opción.

Un detalle que suele causar confusión: un selector solo aparece cuando hay un segundo idioma o una segunda moneda activos y asignados a la tienda actual (y, en multitienda, al grupo de tiendas actual). Si gestionas varias tiendas desde un solo panel de administración, comprueba que el idioma esté marcado para la asociación de tienda correcta; consulta PrestaShop Multistore: gestionar varias tiendas desde un único panel de administración para ver cómo funcionan esas asociaciones.

Dónde colocar el selector

Los selectores de idioma y moneda pertenecen a la cabecera, visibles en todas las páginas sin necesidad de desplazarse. La barra superior predeterminada de PrestaShop los coloca arriba a la derecha, y ahí es donde los compradores internacionales los buscan de forma instintiva. Las dos posiciones defendibles son la esquina superior derecha y una barra superior dedicada por encima de la navegación principal. Lo importante no es cuál de las dos elijas, sino que el widget esté por encima del pliegue, sea reconocible y esté presente en la página de inicio, que suele ser la primera página a la que llegan muchos visitantes internacionales.

El error típico es esconderlo. Enterrar el selector en el pie de página, o meterlo dentro de un menú hamburguesa móvil sin una bandera o un código de moneda visible, obliga al visitante a esa búsqueda de dos segundos que lo envía de vuelta a Google. En móvil, especialmente, mantén visible al menos la bandera del idioma actual y el código de moneda en la barra de cabecera, aunque al tocarlo se abra un menú más completo. Un comprador nunca debería tener que buscar pruebas de que tu tienda le hablará en su idioma y le mostrará precios comprensibles.

Banderas, texto o ambos: el debate que sí merece la pena

Esta es la única decisión realmente discutible, y para la mayoría de las tiendas tiene una respuesta correcta. La trampa está en que las banderas representan países, no idiomas:

  • Solo banderas: se identifican visualmente muy rápido, pero son ambiguas y a veces excluyentes. La bandera alemana representa a Alemania; los compradores austriacos o suizoalemanes pueden no sentirse incluidos. Una Union Jack para "inglés" transmite discretamente a visitantes estadounidenses, australianos, indios o irlandeses que ese inglés es para otros. Y si vendes en mercados con sensibilidad política en torno a las banderas, un selector solo con banderas puede causar un daño real.
  • Solo texto: preciso y sin ambigüedades, "English | Deutsch | Français | Español" no se puede malinterpretar, , pero visualmente discreto. Con seis o más idiomas, una fila solo de texto se llena demasiado y resulta fácil pasarla por alto.
  • Banderas + texto: la opción pragmática a la que llegan la mayoría de tiendas internacionales que funcionan bien. La bandera ofrece reconocimiento visual inmediato; el nombre del idioma (escrito en su propio idioma: Deutsch, no "German") elimina la ambigüedad. También es la opción más accesible, porque la etiqueta de texto la pueden leer los lectores de pantalla, cosa que no ocurre con una imagen de bandera sin más.

El ps_languageselector predeterminado de PrestaShop se basa en texto (muestra el nombre del idioma). Si quieres banderas o banderas más texto, eso es un ajuste de plantilla dentro de la vista del módulo o un módulo de selector que ya incluya la representación con banderas; no es un cambio del núcleo. Si añades banderas, elige la del país más asociado al idioma en tu mercado, acepta que es una convención y no una verdad absoluta, y acompáñala siempre del nombre del idioma para que la convención no se vuelva en tu contra.

El selector de moneda: mostrar una cifra que se entienda al instante

Un precio de "49.99 EUR" se entiende al momento para un comprador de la eurozona. Para un visitante polaco activa un cálculo mental de EUR a PLN; para uno del Reino Unido, de EUR a GBP. Esa conversión mental es fricción, y la fricción justo al lado del precio es el peor lugar para tenerla. Un selector de moneda que permita al visitante ver "229 PLN" o "£42" elimina la operación y le deja evaluar el precio de inmediato frente a sus propias referencias.

Dos cosas hacen que el selector de moneda aporte valor de verdad:

  • Detecta y ofrece; no obligues. La mejor experiencia consiste en mostrar la tienda en una moneda y un idioma predeterminados razonables para el visitante, manteniendo el selector visible para que cualquiera pueda cambiarlo. La redirección directa por IP suele salir mal: los usuarios con VPN aterrizan en el lugar equivocado, los expatriados quieren su idioma de origen y no necesariamente el local, y los rastreadores de buscadores pueden acabar rebotados a la versión incorrecta e indexarla mal. Un aviso amable ("¿Ver en PLN?") siempre supera a una redirección forzada.
  • Coherencia desde la página de producto hasta el pago. Mostrar EUR en la página de producto y cambiar a la moneda local solo al llegar al pago sorprende al cliente en el peor momento posible. La moneda elegida en el selector debe mantenerse en el catálogo, el carrito y el proceso de pago; PrestaShop lo arrastra mediante el contexto del carrito del cliente, así que el trabajo consiste sobre todo en asegurarte de que no hayas fijado una moneda a mano en ninguna parte del tema.

Un límite honesto: el selector cambia la moneda mostrada. Que también cobres en esa moneda depende de tu pasarela de pago y de cuánto quieras complicarte con la contabilidad multidivisa; es una decisión completamente distinta. La mecánica de añadir monedas, las actualizaciones cron de tipos de cambio del BCE, el redondeo por moneda para que "47.83 PLN" se convierta en "49.90 PLN", y la diferencia entre cobrar y simplemente mostrar precios se explican en Multidivisa y venta internacional en PrestaShop: guía práctica de configuración. Si los impuestos también entran en juego dentro de la UE, conviene leer Vender en Europa desde PrestaShop: idiomas, monedas e impuestos.

Selector de país: una sola elección en lugar de dos

Algunas tiendas fusionan los dos widgets en un único selector de país: eliges "Polonia" y la tienda cambia al polaco, a PLN y a las opciones de envío para Polonia en un solo movimiento. Es más limpio para la mayoría de visitantes que realmente quieren ese conjunto coherente, y elimina una decisión.

El coste aparece con el comprador de preferencias mixtas. Un expatriado quiere el idioma inglés con la moneda PLN; un comprador suizoalemán quiere idioma alemán con CHF. Un selector combinado no puede expresar eso. La regla práctica:

Tu situaciónMejor opciónPor qué
La mayoría de visitantes quiere el conjunto idioma+moneda correspondienteSelector de país combinadoUna sola decisión, menos ruido en la cabecera, menos carritos mal configurados
Audiencia significativa de expatriados o compradores transfronterizos (preferencias mixtas)Selectores de idioma y moneda separadosPermite combinaciones como EN+PLN o DE+CHF
Vendes mucho en móvilSeparados, pero agrupados detrás de un único icono claroAhorra ancho en la cabecera sin forzar la coincidencia

PrestaShop incluye los dos selectores por separado de forma predeterminada, así que el patrón de país combinado exige un módulo específico o trabajo de front-end. Decide según quién te compra de verdad, no según qué se ve más limpio en una maqueta.

La trampa SEO escondida detrás del selector

Un selector es un elemento de UX, pero la forma de implementar el cambio de idioma tiene consecuencias SEO directas; si lo haces mal, perderás silenciosamente el tráfico internacional que el widget debía atender:

  • Cada idioma necesita su propia URL. PrestaShop lo hace bien desde el primer momento: al activar las URL amigables obtienes prefijos /en/, /de/, /fr/ (o dominios por tienda en multitienda). El pecado capital es servir distintos idiomas en la misma URL basándote en una cookie o en una suposición por IP; los rastreadores solo pueden indexar una versión de una URL, así que tus otros idiomas prácticamente desaparecen de la búsqueda.
  • Canónicas autorreferenciales por versión. Cada URL de idioma debería apuntar su canonical a sí misma, no a otro idioma, para no activar por error el tratamiento de contenido duplicado.
  • Hreflang es la parte que el selector no puede hacer por ti. El desplegable permite que una persona cambie de versión; hreflang le dice a Google qué versión debe mostrar automáticamente a cada usuario que busca. Es un trabajo aparte, minucioso y con reglas propias.

La mecánica de hreflang. Etiquetas de retorno, x-default, códigos de idioma-región. Es lo bastante compleja como para merecer su propia lectura: Etiquetas hreflang: indicar a Google qué versión de idioma debe mostrar. Y si todavía estás construyendo la tienda traducida, asignando traducciones, definiendo la estructura de URL y consiguiendo que el catálogo sea realmente multilingüe en lugar de estar traducido a medias, empieza por Configuración de una tienda multilingüe: preparar PrestaShop para vender internacionalmente.

Las URL multilingües limpias y previsibles también son el terreno donde una capa de gestión de URL se gana su sitio: nuestro gestor de URL amigables para SEO y la suite de configuración SEO mantienen ordenadas y canónicas esas rutas por idioma para que el selector del front-end y los buscadores estén de acuerdo sobre qué es cada página.

Los errores habituales, reunidos en un solo lugar

  • Esconder el selector. Colocarlo en el pie de página o dentro de un menú hamburguesa sin bandera obliga a la búsqueda de dos segundos que hace perder al visitante. Cabecera, por encima del pliegue y visible en móvil.
  • Cambiar de idioma solo con banderas. Ambiguo en el mejor de los casos, excluyente en el peor. Acompaña cada bandera con el nombre del idioma escrito en su propio idioma.
  • Redirecciones IP forzadas. Fallan con usuarios de VPN, expatriados y rastreadores. Detecta y sugiere; nunca encierres.
  • Moneda que solo cambia en el pago. Mantén la moneda seleccionada de forma coherente desde la página de producto hasta el pago; las sorpresas en el proceso de pago disparan el abandono.
  • Contenido traducido automáticamente detrás de un selector que parece real. Ofrecer cinco idiomas cuando cuatro son traducciones crudas de Google Translate erosiona la confianza más rápido que ofrecer un solo idioma bien trabajado. Traduce correctamente menos idiomas en lugar de muchos mal.

Preguntas frecuentes

Mi selector de idioma no aparece en la cabecera: ¿qué falla?

Hay dos causas probables. Si la cabecera está vacía donde debería estar el selector, revisa Diseño → Posiciones y confirma que ps_languageselector esté enganchado a displayNav2 (algunos temas lo mueven a displayNav1 o a un hook personalizado de la barra superior). Si el módulo está presente pero no muestra nada, el problema real está antes: solo tienes un idioma activado, así que no hay nada entre lo que cambiar, y el widget hace bien en ocultarse en lugar de mostrar un desplegable inútil con una sola opción. En multitienda, confirma también que el segundo idioma esté asignado a la tienda actual.

¿Debería usar banderas, texto o ambos en el selector de idioma?

Banderas más texto para la mayoría de tiendas. Las banderas representan países, no idiomas: una bandera alemana puede excluir a compradores austriacos y suizoalemanes, y una Union Jack les dice a visitantes estadounidenses o irlandeses que ese inglés no es para ellos. El texto solo ("Deutsch | Français") es inequívoco, pero visualmente discreto y se vuelve pesado con seis o más idiomas. La combinación ofrece reconocimiento visual inmediato más el nombre del idioma sin ambigüedad, escrito en su propio idioma (Deutsch, no "German"), y es la opción más accesible porque los lectores de pantalla pueden leer la etiqueta de texto.

¿Debería redirigir automáticamente a los visitantes a su idioma según la IP?

No: detecta y sugiere, nunca fuerces. La redirección directa por IP suele salir mal: los usuarios con VPN aterrizan en el lugar equivocado, los expatriados quieren su idioma de origen y no el local, y los rastreadores acaban rebotados a la versión incorrecta e indexándola mal. Muestra un valor predeterminado razonable manteniendo el selector visible, y usa un aviso amable ("¿Ver en PLN?") en lugar de una redirección forzada.

¿Debería combinar idioma y moneda en un solo selector de país?

Solo si la mayoría de tus visitantes realmente quieren el conjunto correspondiente. Un selector combinado de "elegir Polonia → polaco + PLN" es más limpio y elimina una decisión, pero no puede expresar preferencias mixtas: un expatriado que quiere inglés con PLN, o un comprador suizoalemán que quiere alemán con CHF. Si tienes una audiencia transfronteriza o de expatriados significativa, mantén los dos selectores separados para que esas combinaciones existan. PrestaShop los incluye separados por defecto, así que el patrón combinado exige un módulo dedicado o trabajo de front-end.

¿El selector de moneda cobra realmente en esa moneda o solo la muestra?

Por defecto cambia la moneda mostrada, y PrestaShop mantiene esa elección de forma coherente desde la página de producto hasta el carrito y el pago mediante el contexto del carrito del cliente. Que también cobres en esa moneda depende de tu pasarela de pago y de cuánto quieras asumir en contabilidad multidivisa; es una decisión aparte, tratada en la guía de configuración multidivisa.

Lecturas relacionadas

Estos dos widgets son pequeños, pero el mensaje que transmiten no lo es: un selector de idioma claro y un precio local sensato le dicen a un visitante internacional "te esperábamos, estamos preparados para ti, este sitio también es para ti". Acertar con la ubicación, el etiquetado con bandera más texto y la coherencia de la moneda entre páginas elimina la fricción que decide ese momento de dos segundos entre quedarse o marcharse, que es exactamente la función de un front-end pensado para vender más allá de una sola frontera.

Compartir esta publicación:
David Miller

David Miller

Fundador, mypresta.rocks

David Miller es un especialista en PrestaShop con más de una década de experiencia práctica y fundador de mypresta.rocks, un estudio de desarrollo con sede en Tychy, Polonia. Crea y mantiene un catálogo de 152 módulos PrestaShop, incluidas 21 suites «Revolution» que abarcan SEO, checkout, seguridad, rendimiento, marketing, búsqueda, soporte y gestión de almacén, que mejoran tiendas reales cada día, probados en PrestaShop 1.7.8, 8.x y 9.x. También se encarga del mantenimiento de tiendas en producción que facturan millones al año, por lo que su trabajo se mide por ventas reales, no por demos. Su experiencia abarca todo el comercio electrónico, rendimiento, seguridad, SEO y marketing, y va más allá de PrestaShop, hasta WooCommerce, Shopify y sistemas a medida. En el blog escribe sobre la parte técnica de PrestaShop: qué hace realmente la plataforma, qué se rompe en producción y qué soluciones aguantan.

Comentarios

Aún no hay comentarios. ¡Sé el primero!
¿Te gustó este artículo?

Recibe nuestros últimos consejos, guías y actualizaciones de módulos en tu bandeja de entrada.

Puede darse de baja en cualquier momento. Para ello, consulte nuestra información de contacto en el aviso legal.

Cargando...
Volver arriba