Selettore di lingua, selettore di bandiera: configurazione e aiuto
Avvio rapido
- Carica e installa mprflagselector tramite "Module Manager".
- Attiva almeno due lingue per il negozio corrente in PrestaShop.
- Fai clic su "Configure" per Flag Language Selector.
- Scegli Mostra etichetta ISO nel toggle e Mostra nomi delle lingue nel menu a tendina, quindi fai clic su Salva.
- Controlla displayNav2, o displayNav prima della versione 1.7, e l’hook mobile separato nel tema.
- Cambia lingua su una pagina prodotto tradotta e verifica sia la pagina di destinazione sia il selettore mobile.
Richiede PHP 7.1 o successivo.
Manuale di configurazione
Installazione e preparazione delle lingue
Carica e installa lo ZIP mprflagselector in "Modules > Module Manager", quindi apri "Configure" per Flag Language Selector. Usa la pagina di caricamento moduli corrispondente nelle versioni meno recenti di PrestaShop.
Crea e attiva le lingue del negozio in PrestaShop. Nelle versioni moderne, usa "International > Localization > Languages". Servono almeno due lingue attive assegnate al negozio corrente perché appaia un selettore. Il modulo non crea traduzioni.
Richiede PHP 7.1 o successivo.
Configurazione della visualizzazione
| Impostazione | Predefinito | Funzione |
|---|---|---|
| Mostra etichetta ISO nel toggle | No | Aggiunge il codice della lingua corrente, come EN o DE, accanto al pulsante chiuso con la bandiera. Attivala se la sola bandiera non è chiara. |
| Mostra nomi delle lingue nel menu a tendina | Sì | Mostra il nome della lingua accanto a ogni bandiera. Disattivala per un menu più corto. |
Fai clic su Salva.
Posizionamento dei selettori
Il menu a tendina desktop usa displayNav2 su PrestaShop 1.7 e versioni successive, o displayNav sulle versioni precedenti. Un tema personalizzato deve visualizzare l’hook applicabile. Ad esempio:
{hook h='displayNav2'}
Il selettore mobile usa un hook separato. Aggiungilo al menu mobile o al pannello delle lingue se il tema non lo visualizza già:
{hook h='displayMobileLanguageSelector'}
L’output mobile è un elemento select. Cambiando il suo valore si apre l’URL della lingua selezionata. Il modulo registra anche actionFrontControllerSetMedia per le proprie risorse.
Il foglio di stile nasconde #_desktop_ps_languageselector. Controlla le intestazioni personalizzate per individuare contenitori nativi diversi o blocchi di lingue duplicati.
Link delle lingue e bandiere
Il menu a tendina mostra le lingue attive del negozio corrente. Usa i link alle altre lingue forniti dalla pagina quando disponibili e, altrimenti, i link delle lingue di PrestaShop. Mantiene i parametri di query e i frammenti, incluso id_lang, necessario quando la riscrittura degli URL è disattivata.
Per le pagine PrestaShop dei prodotti più venduti, dei nuovi prodotti e delle offerte, il selettore può usare l’URL tradotto della lingua di destinazione. Negli elenchi integrati con versioni compatibili di MPR Filter Revolution può tradurre il percorso dei filtri. Quando un elenco supporta i link di paginazione MPR, mantiene la parola chiave di pagina tradotta e il numero di pagina, oppure un parametro di query page senza riscrittura degli URL. Questi adattamenti non si applicano alle pagine fornite dai moduli.
Cambiare lingua non traduce i contenuti mancanti. Il carrello continua a seguire il normale cambio di lingua di PrestaShop.
Le bandiere SVG incluse si trovano in /modules/mprflagselector/views/img/flags/. La mappatura include:
en: gb cs: cz sv: se da: dk el: gr
ja: jp zh: cn ko: kr uk: ua
Un’opzione può comunque apparire senza immagine se non esiste un SVG corrispondente. Il modulo delle impostazioni non offre uno strumento per caricare bandiere personalizzate.
Personalizzazione del tema
Usa .mprflag-dropdown, .mprflag-dropdown__toggle, .mprflag-dropdown__menu, .mprflag-dropdown__option e .mprflag-dropdown__option--active nel foglio di stile del tema.
.mprflag-dropdown__toggle { padding: 4px 7px; }
.mprflag-dropdown__option--active { font-weight: 600; }
Per modifiche al markup, usa il percorso di override del tema:
themes/your-theme/modules/mprflagselector/views/templates/hook/flag-selector.tpl
Verifica e risoluzione dei problemi
- Apri una pagina prodotto tradotta e cambia lingua dall’intestazione.
- Controlla la lingua e la pagina di destinazione.
- Ripeti su una categoria e, se applicabile, su un elenco filtrato o suddiviso in pagine.
- Prova il selettore mobile separatamente.
- Prova con l’impostazione effettiva di riscrittura degli URL del negozio.
Se non appare alcun selettore, controlla che siano attive due lingue nel negozio corrente e che venga visualizzato l’hook corretto. Se manca una bandiera, controlla il codice ISO della lingua e la mappatura degli SVG inclusi. Se un link porta a una pagina di ripiego, esamina gli URL forniti da PrestaShop o dal controller. Se i link duplicano un percorso di filtro o di pagina, controlla l’integrazione compatibile degli elenchi MPR e svuota le cache del tema dopo le modifiche ai template.
Disinstallazione
Disinstalla tramite "Module Manager". Il modulo rimuove le proprie impostazioni e il menu amministrativo. Le lingue e le traduzioni di PrestaShop restano gestite separatamente. Rimuovi le chiamate agli hook, il CSS o gli override dei template aggiunti manualmente che non servono più.
Schermate







Domande
2
Traduce i miei prodotti o rileva la posizione del visitatore?
No. Il modulo crea link alle pagine localizzate esistenti; non traduce il catalogo e non sceglie la lingua in base alla posizione.
Legge le lingue attive del negozio tramite Language::getLanguages(true, shop_id) e usa gli URL esistenti o getLanguageLink(). Con una sola lingua attiva non appare alcun selettore.
- Navigazione: Desktop:
displayNav2da PrestaShop 1.7, displayNav nelle versioni precedenti. Mobile:displayMobileLanguageSelector. - Visualizzazione:
SHOW_LABELmostra il codice ISO;SHOW_NAMESmostra i nomi delle lingue. - Limiti: Nessuna traduzione e nessuna scelta della lingua tramite geolocalizzazione.
Prepara le traduzioni e le assegnazioni delle lingue in PrestaShop. L’integrazione facoltativa con Filter Revolution usa percorsi dei filtri già tradotti.
Rallenterà il mio front office?
Problemi noti
7
I visitatori potevano perdere il cambio di lingua
Etichette dell’amministrazione rimaste in inglese
Apparivano due selettori lingua su PrestaShop 9
Le traduzioni dell'amministrazione erano danneggiate
I link di lingua delle pagine standard usavano destinazioni errate
Le impostazioni del selettore lingua non si aprivano
I link di lingua nelle pagine dei moduli erano errati
Richieste funzionalità
4
Implementato
URL localizzati di filtri e paginazione al cambio di lingua
Selettore lingua con bandiere
Link di lingua contestuali
Aggiornamenti con un clic
Registro modifiche
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
Versioni precedenti
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
Prova il modulo completo
- Negozio demo pronto Esplora un negozio demo pronto nel tuo browser.
- Senza registrazione Nessun account, e-mail o dominio del negozio richiesto.
Aprendo questa demo accetti i termini della demo e la politica sulla privacy.