Sélecteur de langue, sélecteur de drapeau : installation et aide
Démarrage rapide
- Importez et installez mprflagselector via "Module Manager".
- Activez au moins deux langues pour la boutique actuelle dans PrestaShop.
- Cliquez sur "Configure" pour Flag Language Selector.
- Réglez Afficher le label ISO dans le commutateur et Afficher les noms des langues dans le menu déroulant, puis cliquez sur Enregistrer.
- Vérifiez displayNav2, ou displayNav avant la version 1.7, ainsi que le hook mobile distinct dans votre thème.
- Changez de langue sur une page produit traduite et vérifiez la page de destination et le sélecteur mobile.
Nécessite PHP 7.1 ou version ultérieure.
Manuel de configuration
Installer et préparer les langues
Importez et installez le ZIP mprflagselector dans "Modules > Module Manager", puis ouvrez "Configure" pour Flag Language Selector. Sur les anciennes versions de PrestaShop, utilisez la page d’importation de modules correspondante.
Créez et activez les langues de votre boutique dans PrestaShop. Sur les versions modernes, utilisez "International > Localization > Languages". Au moins deux langues actives doivent être associées à la boutique actuelle pour qu’un sélecteur apparaisse. Le module ne crée pas de traductions.
Nécessite PHP 7.1 ou version ultérieure.
Configurer l’affichage
| Paramètre | Valeur par défaut | Fonction |
|---|---|---|
| Afficher le label ISO dans le commutateur | Non | Ajoute le code de la langue actuelle, comme EN ou DE, à côté du bouton drapeau fermé. Activez-le si un drapeau seul n’est pas assez clair. |
| Afficher les noms des langues dans le menu déroulant | Oui | Affiche le nom de la langue à côté de chaque drapeau. Désactivez-le pour un menu plus court. |
Cliquez sur Enregistrer.
Placer les sélecteurs
Le menu déroulant pour ordinateur utilise displayNav2 sur PrestaShop 1.7 et les versions ultérieures, ou displayNav sur les versions précédentes. Un thème personnalisé doit afficher le hook applicable. Par exemple :
{hook h='displayNav2'}
Le sélecteur mobile utilise un hook distinct. Ajoutez-le à votre menu mobile ou panneau de langues si votre thème ne l’affiche pas déjà :
{hook h='displayMobileLanguageSelector'}
Le rendu mobile est un élément select. Changer sa valeur ouvre l’URL de la langue sélectionnée. Le module enregistre aussi actionFrontControllerSetMedia pour ses ressources.
La feuille de style masque #_desktop_ps_languageselector. Inspectez les en-têtes personnalisés pour repérer des conteneurs natifs différents ou des blocs de langues en double.
Comprendre les liens de langues et les drapeaux
Le menu déroulant affiche les langues actives de la boutique actuelle. Il utilise les liens vers les autres langues fournis par la page lorsqu’ils sont disponibles, et les liens de langues de PrestaShop sinon. Il conserve les paramètres de requête et les fragments, y compris id_lang, nécessaire lorsque la réécriture d’URL est désactivée.
Pour les pages PrestaShop des meilleures ventes, des nouveaux produits et des promotions, le sélecteur peut utiliser l’URL traduite de la langue cible. Sur les listes intégrées à une version compatible de MPR Filter Revolution, il peut traduire le chemin des filtres. Lorsqu’une liste prend en charge les liens de pagination MPR, il conserve le mot-clé de page traduit et le numéro de page, ou un paramètre de requête page sans réécriture d’URL. Ces ajustements ne s’appliquent pas aux pages fournies par des modules.
Le changement de langue ne traduit pas les contenus manquants. Le panier continue de suivre le changement de langue normal de PrestaShop.
Les drapeaux SVG fournis se trouvent dans /modules/mprflagselector/views/img/flags/. La correspondance comprend :
en: gb cs: cz sv: se da: dk el: gr
ja: jp zh: cn ko: kr uk: ua
Une option peut tout de même apparaître sans image si aucun SVG correspondant n’existe. Le formulaire de paramètres ne propose aucun outil d’importation de drapeaux personnalisés.
Personnaliser le thème
Utilisez .mprflag-dropdown, .mprflag-dropdown__toggle, .mprflag-dropdown__menu, .mprflag-dropdown__option et .mprflag-dropdown__option--active dans la feuille de style de votre thème.
.mprflag-dropdown__toggle { padding: 4px 7px; }
.mprflag-dropdown__option--active { font-weight: 600; }
Pour modifier le balisage, utilisez le chemin de surcharge du thème :
themes/your-theme/modules/mprflagselector/views/templates/hook/flag-selector.tpl
Vérifier et résoudre les problèmes
- Ouvrez une page produit traduite et changez de langue depuis l’en-tête.
- Vérifiez la langue et la page de destination.
- Répétez sur une catégorie et, si nécessaire, une liste filtrée ou paginée.
- Testez le sélecteur mobile séparément.
- Testez avec le réglage réel de réécriture d’URL de votre boutique.
Si aucun sélecteur n’apparaît, vérifiez que deux langues sont actives dans la boutique actuelle et que le bon hook s’affiche. S’il manque un drapeau, vérifiez le code ISO de la langue et la correspondance SVG fournie. Si un lien mène vers une page de repli, inspectez les URL fournies par PrestaShop ou le contrôleur. Si les liens dupliquent un chemin de filtre ou de page, vérifiez l’intégration compatible des listes MPR et videz les caches du thème après les modifications de templates.
Désinstaller
Désinstallez via "Module Manager". Le module supprime ses paramètres et son menu d’administration. Vos langues et traductions PrestaShop restent gérées séparément. Supprimez les appels de hooks, le CSS ou les surcharges de templates ajoutés manuellement qui ne sont plus nécessaires.
Captures d’écran







Questions
2
Traduit-il mes produits ou détecte-t-il la localisation du visiteur ?
Non. Le module crée des liens vers les pages localisées existantes ; il ne traduit pas le catalogue et ne choisit pas de langue selon la localisation.
Il lit les langues actives de la boutique via Language::getLanguages(true, shop_id) et utilise les URL existantes ou getLanguageLink(). Avec une seule langue active, aucun sélecteur n’apparaît.
- Navigation : Ordinateur :
displayNav2depuis PrestaShop 1.7, displayNav auparavant. Mobile :displayMobileLanguageSelector. - Affichage :
SHOW_LABELaffiche le code ISO ;SHOW_NAMESaffiche les noms des langues. - Limites : Aucune traduction ni sélection de langue par géolocalisation.
Préparez vos traductions et associations de langues dans PrestaShop. L’intégration facultative avec Filter Revolution utilise des chemins de filtres déjà traduits.
Flag Selector affecte-t-il les performances de ma boutique ?
Problèmes connus
7
Les visiteurs pouvaient perdre le changement de langue
Libellés d’administration restés en anglais
Deux sélecteurs de langue apparaissaient sur PrestaShop 9
Traductions de l'administration endommagées
Les liens de langue des pages standard visaient de mauvaises destinations
Les réglages du sélecteur de langue ne s'ouvraient pas
Les liens de langue des pages de modules étaient incorrects
Demandes de fonctionnalités
4
Implémenté
URL des filtres et de pagination adaptées au changement de langue
Sélecteur de langue avec drapeaux
Liens de langue contextuels
Mises à jour en un clic
Journal des modifications
v2.2.222026-09-15
- AddedOwn mobile language selector — kill PS native, server-side correct URLs
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedCanonicalize core page language links
- FixedRestore flag selector config page
Versions précédentes
v2.2.212026-07-20
- Canonicalized native PrestaShop page aliases when building language switcher URLs.
- Kept translated filter paths and localized pagination keywords when switching language.
- Released the updated package metadata for version 2.2.21.
v2.2.182026-07-07
- Addedshared admin menu, license, update and integrity panels.
- AddedConfigTable-backed settings for ISO label and language-name display.
- Addedcomplete FR/DE/ES/IT/PL translations.
v1.1.02026-04-20
- Addedthe flag language selector for PrestaShop storefront navigation.
- Addedlocalized URL support for multilingual shops.
Demo
Testez le module complet
- Boutique de démo prête Découvrez une boutique de démo prête dans votre navigateur.
- Sans inscription Ni compte, ni e-mail, ni domaine de boutique requis.
En ouvrant cette démo, vous acceptez les conditions de la démo et la politique de confidentialité.