Module Language Flags pour Magento 2
Un seul switcher pour de multiples scénarios linguistiques
Kowal_LanguageFlags résout le problème du sélecteur de langue peu lisible dans Magento 2. Au lieu de la liste standard des codes de store view, le client voit un switcher intuitif avec des drapeaux, des noms de langues et la possibilité de naviguer non seulement entre les store views, mais aussi entre les websites ainsi que vers des boutiques externes.
Cette solution est particulièrement utile lorsque :
- une même boutique gère plusieurs versions linguistiques ;
- différents marchés fonctionnent comme des websites distincts ;
- une partie du trafic doit être redirigée vers une autre instance Magento ;
- un switcher unique et cohérent est nécessaire pour différents types d’adresses de destination.
Ce que propose le module
- des drapeaux pour les store views ;
- des drapeaux pour d’autres websites dans la même instance Magento ;
- des drapeaux pour n’importe quelles URL, par exemple vers une boutique Magento distincte ;
- des libellés personnalisés et des abréviations de langues ;
- deux variantes d’affichage :
dropdownetinline; - la prise en charge du switcher natif Magento et du widget.
Avantages métier
- identification plus rapide de la version linguistique par le client ;
- moins d’erreurs lors du choix du marché ou de la langue ;
- présentation plus professionnelle d’une boutique multilingue ;
- possibilité de regrouper facilement plusieurs storefronts dans un seul point de navigation ;
- mise en œuvre plus rapide que la création d’un composant sur mesure à partir de zéro.
Avantages techniques
- configuration depuis le panneau d’administration ;
- compatibilité avec le mécanisme natif Magento pour le store view switch ;
- une seule configuration pour le switcher natif et le widget ;
- un ensemble par défaut de drapeaux SVG prêts à l’emploi copié dans
pub/media/language_flags/pendant l’installation ; - aucun besoin de créer une table de données distincte au démarrage ;
- possibilité de déploiement via Composer.
Ensemble de drapeaux prêt à l’emploi
Le module contient un ensemble d’icônes SVG prêtes à l’emploi en 24x18, qui peuvent être copiées automatiquement dans pub/media/language_flags/ lors de bin/magento setup:upgrade.
Drapeaux disponibles :
atAutrichebeBelgiquebgBulgariecyChypreczRépublique tchèquedeAllemagnedkDanemarkeeEstonieesEspagneeuUnion européennefiFinlandefrFrancegrGrècehrCroatiehuHongrieieIrlandeitItalieltLituanieluLuxembourglvLettoniemtMaltenlPays-BasplPologneptPortugalroRoumanieseSuèdesiSlovénieskSlovaquieukRoyaume-UniusÉtats-Unis
Pour qui
Le module est destiné à :
- les boutiques Magento 2 opérant sur plusieurs marchés ;
- les installations avec plusieurs store views et websites ;
- les projets dans lesquels certaines versions linguistiques fonctionnent en dehors du storefront principal ;
- les équipes qui souhaitent déployer un switcher clair sans refondre le core Magento.
Exemples d’utilisation
Un Magento, plusieurs store views
La boutique dispose des versions suivantes :
PLENDE
Chacune d’elles peut avoir son propre drapeau et son propre libellé.
Un Magento, plusieurs websites
La boutique utilise des websites distincts pour différents pays, par exemple :
- Pologne
- Allemagne
- France
Le module permet d’afficher ces websites dans le même switcher que les store views locales.
Storefronts distribués
Certains marchés fonctionnent dans une autre instance Magento ou sous un autre domaine. Dans ce cas, Custom URL Flags permettent de les ajouter à un sélecteur commun.
Résultat du déploiement
Le client bénéficie d’un seul switcher cohérent de langue et de marché, tandis que l’administrateur peut le gérer depuis la configuration Magento sans créer de composants frontend supplémentaires.
Guide d’installation et de configuration du module Magento 2 Language Flags
Installation
Installation via Composer
composer require kowal/module-language-flagsbin/magento module:enable Kowal_LanguageFlagsbin/magento setup:upgradebin/magento cache:flushInstallation depuis le dépôt 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:flushCommandes supplémentaires pour le mode production
bin/magento setup:di:compilebin/magento setup:static-content:deploy -fbin/magento cache:flushEmplacement de la configuration
Panneau d’administration :
Stores > Configuration > Kowal > Language FlagsWidget pour l’éditeur CMS
Le module met à disposition le widget suivant :
Language Flags SwitcherIl peut être inséré dans :
Content > BlocksContent > Pages
Chemin dans l’éditeur :
Edit > Insert Widget > Language Flags SwitcherLe widget prend en charge :
- le mode
dropdownouinline; - l’affichage ou le masquage des noms de langues ;
- une classe CSS supplémentaire.
Drapeaux par défaut
Pendant bin/magento setup:upgrade, le module copie les fichiers SVG par défaut depuis :
view/frontend/web/images/flags/vers le répertoire :
pub/media/language_flags/Seuls les fichiers manquants sont copiés, sans écraser les drapeaux déjà existants.
Configuration générale
La section General Settings contient les champs qui pilotent le fonctionnement du module.
Enable Module
Chemin :
language_flags/general/enabledSignification :
Yesactive le module ;Nodésactive le module sur le frontend.
Replace Native Store View Switcher
Chemin :
language_flags/general/native_enabledSignification :
Yesremplace le switcher natif Magento par une version avec drapeaux ;Nolaisse le switcher natif inchangé.
Native Display Mode
Chemin :
language_flags/general/native_display_modeOptions disponibles :
dropdowninline
Signification :
dropdownaffiche l’élément actuel et une liste déroulante des autres ;inlineaffiche tous les drapeaux immédiatement sur une seule ligne.
Show Language Names
Chemin :
language_flags/general/show_labelsSignification :
Yesaffiche les noms des langues à côté des drapeaux ;Nomasque les noms dans la vue principale, mais les conserve pour l’accessibilité.
Fallback to Store View Name
Chemin :
language_flags/general/fallback_to_store_nameSignification :
Yesutilise le nom du store view lorsque leLabeln’a pas été renseigné ;Noutilise le code du store view en lettres majuscules.
Inline Flag Gap (px)
Chemin :
language_flags/general/inline_gapSignification :
- définit l’espacement entre les éléments du switcher en mode
inline; - la valeur est calculée en pixels ;
- la valeur par défaut est
8.
Icon Scale (%)
Chemin :
language_flags/general/icon_scale_percentSignification :
100conserve les dimensions d’origine de l’image ;- une valeur inférieure réduit proportionnellement la largeur et la hauteur ;
- met à l’échelle les drapeaux dans les deux modes de rendu.
Configuration des tableaux de drapeaux
Le module prend en charge trois ensembles d’entrées distincts :
Store View FlagsWebsite FlagsCustom URL Flags
Sur le frontend, les entrées sont fusionnées en un seul ensemble d’éléments du switcher.
Store View Flags
Chemin :
language_flags/general/flag_configUtilisation :
Configuration des drapeaux pour les store views gérés par le mécanisme natif Magento.
Colonnes du formulaire
Store Code
Sélectionne un store view dans la liste Magento.
Signification :
- attribue un drapeau à un store view précis ;
- utilise le mécanisme natif Magento de changement de store view.
Flag File
Chemin vers le fichier du drapeau sélectionné depuis le sélecteur de fichiers intégré.
Signification :
- définit l’image affichée sur le frontend ;
- peut être enregistré sous la forme
pl.svgoulanguage_flags/pl.svg; - les chemins relatifs sont résolus à partir du répertoire :
pub/media/language_flags/Label
Nom complet de la langue ou du marché, par exemple :
PolskiEnglishDeutsch
Signification :
- est affiché à côté du drapeau lorsque
Show Language Namesest activé ; - sert également de texte d’aide pour l’accessibilité.
Short Label
Libellé abrégé, par exemple :
PLENDE
Signification :
- est utilisé dans une vue plus compacte ;
- peut être utilisé à la place du nom complet.
Website Flags
Chemin :
language_flags/general/website_flag_configUtilisation :
Configuration des drapeaux pointant vers d’autres websites dans la même instance Magento.
Fonctionnement
- le clic n’exécute pas le
store switch postnatif ; - l’entrée est rendue comme un lien classique vers la base URL du website cible ;
- le website actuel n’est pas ajouté comme option distincte.
Colonnes du formulaire
Website
Sélectionne un website Magento dans la liste.
Signification :
- définit le website cible pour l’entrée ;
- sert à récupérer l’adresse de base du storefront cible.
Flag File
Fonctionne de la même manière que dans Store View Flags.
Label
Libellé complet affiché sur le frontend.
S’il reste vide :
- le module utilisera le nom du website.
Short Label
Libellé abrégé, par exemple :
UKDEFR
S’il reste vide :
- le module utilisera le code du website en lettres majuscules.
Custom URL Flags
Chemin :
language_flags/general/custom_url_flag_configUtilisation :
Configuration des drapeaux pointant vers n’importe quelles URL, par exemple vers une autre instance Magento ou une boutique externe.
Colonnes du formulaire
URL
Adresse de destination du lien.
Exemples :
https://example.de/https://en.example.com/https://shop.example.cz/
Signification :
- l’entrée est rendue comme un lien
hrefclassique ; - n’utilise pas le mécanisme natif Magento de changement de store.
Flag File
Fonctionne de la même manière que dans les autres tableaux.
Label
Libellé complet affiché sur le frontend.
S’il reste vide :
- le module tentera d’utiliser l’hôte de l’URL.
Short Label
Libellé abrégé pour la variante compacte.
S’il reste vide :
- le module construira une abréviation à partir de l’hôte ;
- si cela est impossible, il utilisera la valeur
URL.
Préparation des fichiers de drapeaux
Emplacement recommandé :
pub/media/language_flags/Formats recommandés :
svgpng
Exemples de noms de fichiers :
pl.svgen.svgde.svgfr.svgProcessus de configuration de base
- Activez le module via
Enable Module. - Décidez si vous souhaitez remplacer le switcher natif Magento.
- Définissez
Native Display Mode. - Ajoutez les fichiers de drapeaux dans
pub/media/language_flags/. - Complétez
Store View Flags. - Ajoutez des entrées optionnelles dans
Website Flags. - Ajoutez des entrées optionnelles dans
Custom URL Flags. - Enregistrez la configuration et videz le cache.
Commandes CLI utiles
bin/magento module:status Kowal_LanguageFlagsbin/magento cache:cleanbin/magento cache:flush

















