Agregar un cambiador de idioma a tu sitio web: Plugin vs. código personalizado

Dos caminos principales: usar un plugin (rápido, sin código) o construir tu propio (control total).

Opción 1: Plugin/Extensión (Recomendado para la mayoría)

  • WordPress: WPML, Polylang, TranslatePress, Weglot.
  • Shopify: Langify, Translate & Adapt.
  • Wix/Squarespace: Herramientas multilingües integradas.
  • Sitios estáticos: Netlify CMS + i18n, Crowdin, Lokalise.

Los plugins manejan enrutamiento de URL, etiquetas hreflang, SEO y UI automáticamente.

Opción 2: Implementación PHP personalizada (Ejemplo)

Si debes programarlo, aquí está un cambiador PHP mínimo (adapta para tu framework):

<?php // language-switcher.php $current = substr($_SERVER['REQUEST_URI'], 1, 2); // ej. /en/... $default = 'en'; $supported = ['en', 'es', 'fr']; if (!in_array($current, $supported)) $current = $default; foreach ($supported as $lang) { $active = ($lang === $current) ? ' class="active"' : ''; echo "<a href=\"/$lang{$_SERVER['REQUEST_URI']}\"$active>$lang</a> "; } ?> 

Incluye en el encabezado:

Extras críticos que necesitarás

  • Archivos de traducción (.po/.mo, JSON, CSV) para cada idioma.
  • Reescritura de URL (mod_rewrite, nginx) para enrutar /es/... al mismo script.
  • Etiquetas hreflang en <head> para SEO.
  • Soporte RTL para árabe/hebreo.
  • Formato de fecha/número/moneda consciente de la configuración regional.

Veredicto

A menos que tengas un sitio pequeño y estático, un plugin/framework i18n maduro (Next.js i18n, Laravel localization, Django i18n) ahorra meses de depuración de casos límite.