Módulo Language Flags para Magento 2
Um switcher para vários cenários linguísticos
Kowal_LanguageFlags resolve o problema de um seletor de idioma pouco legível no Magento 2. Em vez da lista padrão de códigos de store view, o cliente vê um switcher intuitivo com bandeiras, nomes de idiomas e a possibilidade de navegar não só entre store views, mas também entre websites e lojas externas.
Esta solução é especialmente útil quando:
- uma loja suporta várias versões linguísticas;
- diferentes mercados funcionam como websites separados;
- parte do tráfego deve ser direcionada para outra instância do Magento;
- é necessário um único switcher coerente para diferentes tipos de endereços de destino.
O que o módulo oferece
- bandeiras para store views;
- bandeiras para outros websites na mesma instância do Magento;
- bandeiras para quaisquer URLs, por exemplo para uma loja Magento separada;
- etiquetas personalizadas e abreviações de idiomas;
- duas variantes de apresentação:
dropdowneinline; - suporte para o switcher nativo do Magento e para o widget.
Vantagens de negócio
- reconhecimento mais rápido da versão linguística pelo cliente;
- menos erros na escolha do mercado ou do idioma;
- apresentação mais profissional de uma loja multilingue;
- possibilidade de combinar convenientemente vários storefronts num único ponto de navegação;
- implementação mais rápida do que criar um componente dedicado de raiz.
Vantagens técnicas
- configuração a partir do painel de administração;
- compatibilidade com o mecanismo nativo do Magento para store view switch;
- uma única configuração para o switcher nativo e para o widget;
- conjunto predefinido de bandeiras SVG prontas, copiado para
pub/media/language_flags/durante a instalação; - sem necessidade de criar uma tabela de dados separada no arranque;
- possibilidade de implementação via Composer.
Conjunto de bandeiras pronto a usar
O módulo inclui um conjunto de ícones SVG prontos 24x18, que podem ser copiados automaticamente para pub/media/language_flags/ durante bin/magento setup:upgrade.
Bandeiras disponíveis:
atÁustriabeBélgicabgBulgáriacyChipreczChéquiadeAlemanhadkDinamarcaeeEstóniaesEspanhaeuUnião EuropeiafiFinlândiafrFrançagrGréciahrCroáciahuHungriaieIrlandaitItálialtLituânialuLuxemburgolvLetóniamtMaltanlPaíses BaixosplPolóniaptPortugalroRoméniaseSuéciasiEslovéniaskEslováquiaukReino UnidousEstados Unidos
Para quem
O módulo destina-se a:
- lojas Magento 2 ativas em vários mercados;
- instalações com múltiplos store views e websites;
- projetos em que parte das versões linguísticas funciona fora do storefront principal;
- equipas que pretendem implementar um switcher claro sem reconstruir o core do Magento.
Exemplos de utilização
Um Magento, vários store views
A loja tem as versões:
PLENDE
Cada uma delas pode ter uma bandeira e uma etiqueta próprias.
Um Magento, vários websites
A loja utiliza websites separados para diferentes países, por exemplo:
- Polónia
- Alemanha
- França
O módulo permite mostrar esses websites no mesmo switcher que os store views locais.
Storefronts distribuídos
Parte dos mercados funciona noutra instância do Magento ou sob outro domínio. Nessa situação, Custom URL Flags permitem incluí-los no seletor comum.
Resultado da implementação
O cliente recebe um único switcher coerente de idioma e mercado, enquanto o administrador pode geri-lo a partir da configuração do Magento sem criar componentes frontend adicionais.
Instruções de instalação e configuração do módulo Magento 2 Language Flags
Instalação
Instalação via Composer
composer require kowal/module-language-flagsbin/magento module:enable Kowal_LanguageFlagsbin/magento setup:upgradebin/magento cache:flushInstalação a partir do repositório 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 adicionais para production mode
bin/magento setup:di:compilebin/magento setup:static-content:deploy -fbin/magento cache:flushLocalização da configuração
Painel de administração:
Stores > Configuration > Kowal > Language FlagsWidget para o editor CMS
O módulo disponibiliza o widget:
Language Flags SwitcherPode ser inserido em:
Content > BlocksContent > Pages
Caminho no editor:
Edit > Insert Widget > Language Flags SwitcherO widget suporta:
- modo
dropdownouinline; - ativar ou ocultar nomes de idiomas;
- classe CSS adicional.
Bandeiras predefinidas
Durante bin/magento setup:upgrade, o módulo copia os ficheiros SVG predefinidos de:
view/frontend/web/images/flags/para o diretório:
pub/media/language_flags/Apenas os ficheiros em falta são copiados, sem sobrescrever bandeiras já existentes.
Configuração geral
A secção General Settings contém os campos que controlam o funcionamento do módulo.
Enable Module
Caminho:
language_flags/general/enabledSignificado:
Yesativa o módulo;Nodesativa o módulo no frontend.
Replace Native Store View Switcher
Caminho:
language_flags/general/native_enabledSignificado:
Yessubstitui o switcher nativo do Magento pela versão com bandeiras;Nomantém o switcher nativo sem alterações.
Native Display Mode
Caminho:
language_flags/general/native_display_modeOpções disponíveis:
dropdowninline
Significado:
dropdownmostra o item atual e uma lista pendente com os restantes;inlinemostra imediatamente todas as bandeiras numa única linha.
Show Language Names
Caminho:
language_flags/general/show_labelsSignificado:
Yesmostra os nomes dos idiomas ao lado das bandeiras;Nooculta os nomes na vista principal, mas mantém-nos para acessibilidade.
Fallback to Store View Name
Caminho:
language_flags/general/fallback_to_store_nameSignificado:
Yesusa o nome do store view quando oLabelnão foi preenchido;Nousa o código do store view em letras maiúsculas.
Inline Flag Gap (px)
Caminho:
language_flags/general/inline_gapSignificado:
- define o espaçamento entre os elementos do switcher no modo
inline; - o valor é contado em píxeis;
- o valor predefinido é
8.
Icon Scale (%)
Caminho:
language_flags/general/icon_scale_percentSignificado:
100mantém as dimensões originais da imagem;- um valor inferior reduz a largura e a altura proporcionalmente;
- dimensiona as bandeiras em ambos os modos de renderização.
Configuração das tabelas de bandeiras
O módulo suporta três conjuntos separados de entradas:
Store View FlagsWebsite FlagsCustom URL Flags
No frontend, as entradas são combinadas num único conjunto de elementos do switcher.
Store View Flags
Caminho:
language_flags/general/flag_configFinalidade:
Configuração de bandeiras para store views suportados pelo mecanismo nativo do Magento.
Colunas do formulário
Store Code
Seleciona o store view a partir da lista do Magento.
Significado:
- atribui uma bandeira a um store view específico;
- utiliza o mecanismo nativo de comutação de store view do Magento.
Flag File
Caminho para o ficheiro da bandeira selecionado no seletor de ficheiros incorporado.
Significado:
- define a imagem apresentada no frontend;
- pode ser guardado como
pl.svgoulanguage_flags/pl.svg; - os caminhos relativos são resolvidos a partir do diretório:
pub/media/language_flags/Label
Nome completo do idioma ou do mercado, por exemplo:
PolskiEnglishDeutsch
Significado:
- é mostrado ao lado da bandeira quando
Show Language Namesestá ativado; - também serve como texto auxiliar para acessibilidade.
Short Label
Etiqueta abreviada, por exemplo:
PLENDE
Significado:
- é utilizada numa vista mais compacta;
- pode ser usada em vez do nome completo.
Website Flags
Caminho:
language_flags/general/website_flag_configFinalidade:
Configuração de bandeiras que direcionam para outros websites na mesma instância do Magento.
Como funciona
- o clique não executa o
store switch postnativo; - a entrada é renderizada como um link normal para o base URL do website de destino;
- o website atual não é adicionado como opção separada.
Colunas do formulário
Website
Seleciona o website do Magento a partir da lista.
Significado:
- define o website de destino para a entrada;
- é usado para obter o endereço base do storefront de destino.
Flag File
Funciona da mesma forma que em Store View Flags.
Label
Etiqueta completa apresentada no frontend.
Se ficar vazia:
- o módulo usará o nome do website.
Short Label
Etiqueta abreviada, por exemplo:
UKDEFR
Se ficar vazia:
- o módulo usará o código do website em letras maiúsculas.
Custom URL Flags
Caminho:
language_flags/general/custom_url_flag_configFinalidade:
Configuração de bandeiras que direcionam para quaisquer endereços URL, por exemplo para outra instância do Magento ou para uma loja externa.
Colunas do formulário
URL
Endereço de destino do link.
Exemplos:
https://example.de/https://en.example.com/https://shop.example.cz/
Significado:
- a entrada é renderizada como um link
hrefnormal; - não utiliza o mecanismo nativo de store switch do Magento.
Flag File
Funciona da mesma forma que nas restantes tabelas.
Label
Etiqueta completa apresentada no frontend.
Se ficar vazia:
- o módulo tentará usar o host do URL.
Short Label
Etiqueta abreviada para a variante compacta.
Se ficar vazia:
- o módulo construirá uma abreviatura com base no host;
- se isso não for possível, usará o valor
URL.
Preparação dos ficheiros de bandeiras
Localização recomendada:
pub/media/language_flags/Formatos recomendados:
svgpng
Exemplos de nomes de ficheiros:
pl.svgen.svgde.svgfr.svgFluxo básico de configuração
- Ative o módulo em
Enable Module. - Decida se pretende substituir o switcher nativo do Magento.
- Defina
Native Display Mode. - Adicione os ficheiros de bandeiras a
pub/media/language_flags/. - Preencha
Store View Flags. - Adicione entradas opcionais em
Website Flags. - Adicione entradas opcionais em
Custom URL Flags. - Guarde a configuração e limpe a cache.
Comandos CLI úteis
bin/magento module:status Kowal_LanguageFlagsbin/magento cache:cleanbin/magento cache:flush





















