Módulo Language Flags para Magento 2
Un switcher para múltiples escenarios de idioma
Kowal_LanguageFlags resuelve el problema de un selector de idioma poco claro en Magento 2. En lugar de la lista estándar de códigos de store view, el cliente ve un switcher intuitivo con banderas, nombres de idiomas y la posibilidad de cambiar no solo entre store views, sino también entre websites y tiendas externas.
Esta solución resulta especialmente útil cuando:
- una tienda gestiona varias versiones de idioma;
- distintos mercados funcionan como websites independientes;
- parte del tráfico debe dirigirse a otra instancia de Magento;
- se necesita un switcher único y coherente para distintos tipos de direcciones de destino.
Qué ofrece el módulo
- banderas para store views;
- banderas para otros websites en la misma instancia de Magento;
- banderas para cualquier URL, por ejemplo a una tienda Magento independiente;
- etiquetas personalizadas y abreviaturas de idiomas;
- dos variantes de presentación:
dropdowneinline; - soporte para el switcher nativo de Magento y para el widget.
Ventajas para el negocio
- identificación más rápida de la versión de idioma por parte del cliente;
- menos errores al elegir mercado o idioma;
- una presentación más profesional de la tienda multilingüe;
- posibilidad de combinar cómodamente varios storefronts en un único punto de navegación;
- un despliegue más rápido que crear un componente a medida desde cero.
Ventajas técnicas
- configuración desde el panel de administración;
- compatibilidad con el mecanismo nativo de Magento para el cambio de store view;
- una sola configuración para el switcher nativo y el widget;
- conjunto predeterminado de banderas SVG listas para usar copiado a
pub/media/language_flags/durante la instalación; - sin necesidad de crear una tabla de datos independiente al inicio;
- posibilidad de despliegue mediante Composer.
Conjunto de banderas listo para usar
El módulo incluye un conjunto de iconos SVG 24x18 listos para usar, que pueden copiarse automáticamente a pub/media/language_flags/ durante bin/magento setup:upgrade.
Banderas disponibles:
atAustriabeBélgicabgBulgariacyChipreczChequiadeAlemaniadkDinamarcaeeEstoniaesEspañaeuUnión EuropeafiFinlandiafrFranciagrGreciahrCroaciahuHungríaieIrlandaitItalialtLituanialuLuxemburgolvLetoniamtMaltanlPaíses BajosplPoloniaptPortugalroRumaníaseSueciasiEsloveniaskEslovaquiaukReino UnidousEstados Unidos
Para quién es
El módulo está pensado para:
- tiendas Magento 2 que operan en varios mercados;
- instalaciones con múltiples store views y websites;
- proyectos en los que parte de las versiones de idioma funcionan fuera del storefront principal;
- equipos que quieren implantar un switcher claro sin reconstruir el core de Magento.
Ejemplos de uso
Una instalación de Magento, varios store views
La tienda dispone de las versiones:
PLENDE
Cada una de ellas puede tener asignada una bandera y una etiqueta independientes.
Una instalación de Magento, varios websites
La tienda utiliza websites independientes para distintos países, por ejemplo:
- Polonia
- Alemania
- Francia
El módulo permite mostrar estos websites en el mismo switcher que los store views locales.
Storefronts distribuidos
Parte de los mercados funciona en otra instancia de Magento o bajo otro dominio. En este caso, Custom URL Flags permiten añadirlos al selector común.
Resultado de la implementación
El cliente obtiene un único switcher coherente de idioma y mercado, y el administrador puede gestionarlo desde la configuración de Magento sin crear componentes frontend adicionales.
Guía de instalación y configuración del módulo Magento 2 Language Flags
Instalación
Instalación mediante Composer
composer require kowal/module-language-flagsbin/magento module:enable Kowal_LanguageFlagsbin/magento setup:upgradebin/magento cache:flushInstalación desde el repositorio Git
composer config repositories.kowal-language-flags vcs https://github.com/kowalco/language-flagscomposer require kowal/module-language-flagsbin/magento module:enable Kowal_LanguageFlagsbin/magento setup:upgradebin/magento cache:flushComandos adicionales para production mode
bin/magento setup:di:compilebin/magento setup:static-content:deploy -fbin/magento cache:flushUbicación de la configuración
Panel de administración:
Stores > Configuration > Kowal > Language FlagsWidget para el editor CMS
El módulo proporciona el widget:
Language Flags SwitcherSe puede insertar en:
Content > BlocksContent > Pages
Ruta en el editor:
Edit > Insert Widget > Language Flags SwitcherEl widget admite:
- modo
dropdownoinline; - mostrar u ocultar los nombres de los idiomas;
- clase CSS adicional.
Banderas predeterminadas
Durante bin/magento setup:upgrade, el módulo copia los archivos SVG predeterminados desde:
view/frontend/web/images/flags/al directorio:
pub/media/language_flags/Solo se copian los archivos que faltan, sin sobrescribir las banderas ya existentes.
Configuración general
La sección General Settings contiene los campos que controlan el funcionamiento del módulo.
Enable Module
Ruta:
language_flags/general/enabledSignificado:
Yesactiva el módulo;Nodesactiva el módulo en el frontend.
Replace Native Store View Switcher
Ruta:
language_flags/general/native_enabledSignificado:
Yessustituye el switcher nativo de Magento por la versión con banderas;Nodeja el switcher nativo sin cambios.
Native Display Mode
Ruta:
language_flags/general/native_display_modeOpciones disponibles:
dropdowninline
Significado:
dropdownmuestra el elemento actual y una lista desplegable con los demás;inlinemuestra todas las banderas de inmediato en una sola línea.
Show Language Names
Ruta:
language_flags/general/show_labelsSignificado:
Yesmuestra los nombres de los idiomas junto a las banderas;Nooculta los nombres en la vista principal, pero los mantiene por accesibilidad.
Fallback to Store View Name
Ruta:
language_flags/general/fallback_to_store_nameSignificado:
Yesusa el nombre del store view cuando no se ha completadoLabel;Nousa el código del store view en mayúsculas.
Inline Flag Gap (px)
Ruta:
language_flags/general/inline_gapSignificado:
- establece el espacio entre los elementos del switcher en modo
inline; - el valor se calcula en píxeles;
- el valor predeterminado es
8.
Icon Scale (%)
Ruta:
language_flags/general/icon_scale_percentSignificado:
100mantiene las dimensiones originales de la imagen;- un valor inferior reduce proporcionalmente el ancho y la altura;
- escala las banderas en ambos modos de renderizado.
Configuración de las tablas de banderas
El módulo admite tres conjuntos independientes de entradas:
Store View FlagsWebsite FlagsCustom URL Flags
En el frontend, las entradas se combinan en un único conjunto de elementos del switcher.
Store View Flags
Ruta:
language_flags/general/flag_configFinalidad:
Configuración de banderas para store views gestionados por el mecanismo nativo de Magento.
Columnas del formulario
Store Code
Selecciona el store view de la lista de Magento.
Significado:
- asigna una bandera a un store view concreto;
- utiliza el mecanismo nativo de Magento para cambiar de store view.
Flag File
Ruta del archivo de la bandera seleccionada desde el selector de archivos integrado.
Significado:
- define la imagen mostrada en el frontend;
- puede guardarse como
pl.svgolanguage_flags/pl.svg; - las rutas relativas se resuelven desde el directorio:
pub/media/language_flags/Label
Nombre completo del idioma o mercado, por ejemplo:
PolskiEnglishDeutsch
Significado:
- se muestra junto a la bandera cuando está activado
Show Language Names; - también sirve como texto de apoyo para accesibilidad.
Short Label
Etiqueta abreviada, por ejemplo:
PLENDE
Significado:
- se utiliza en una vista más compacta;
- puede usarse en lugar del nombre completo.
Website Flags
Ruta:
language_flags/general/website_flag_configFinalidad:
Configuración de banderas que dirigen a otros websites dentro de la misma instancia de Magento.
Cómo funciona
- el clic no ejecuta el
store switch postnativo; - la entrada se renderiza como un enlace normal al base URL del website de destino;
- el website actual no se añade como opción independiente.
Columnas del formulario
Website
Selecciona un website de Magento de la lista.
Significado:
- define el website de destino de la entrada;
- sirve para obtener la dirección base del storefront de destino.
Flag File
Funciona igual que en Store View Flags.
Label
Etiqueta completa mostrada en el frontend.
Si se deja vacía:
- el módulo usará el nombre del website.
Short Label
Etiqueta abreviada, por ejemplo:
UKDEFR
Si se deja vacía:
- el módulo usará el código del website en mayúsculas.
Custom URL Flags
Ruta:
language_flags/general/custom_url_flag_configFinalidad:
Configuración de banderas que dirigen a cualquier dirección URL, por ejemplo a otra instancia de Magento o a una tienda externa.
Columnas del formulario
URL
Dirección de destino del enlace.
Ejemplos:
https://example.de/https://en.example.com/https://shop.example.cz/
Significado:
- la entrada se renderiza como un enlace
hrefnormal; - no utiliza el mecanismo nativo de cambio de store de Magento.
Flag File
Funciona igual que en las demás tablas.
Label
Etiqueta completa mostrada en el frontend.
Si se deja vacía:
- el módulo intentará usar el host de la URL.
Short Label
Etiqueta abreviada para la variante compacta.
Si se deja vacía:
- el módulo construirá una abreviatura a partir del host;
- si eso no es posible, usará el valor de
URL.
Preparación de los archivos de banderas
Ubicación recomendada:
pub/media/language_flags/Formatos recomendados:
svgpng
Ejemplos de nombres de archivo:
pl.svgen.svgde.svgfr.svgProceso básico de configuración
- Activa el módulo mediante
Enable Module. - Decide si quieres sustituir el switcher nativo de Magento.
- Configura
Native Display Mode. - Añade los archivos de banderas a
pub/media/language_flags/. - Completa
Store View Flags. - Añade entradas opcionales en
Website Flags. - Añade entradas opcionales en
Custom URL Flags. - Guarda la configuración y limpia la caché.
Comandos CLI útiles
bin/magento module:status Kowal_LanguageFlagsbin/magento cache:cleanbin/magento cache:flush























