Aggiungere un selettore lingua al sito web: plugin o codice personalizzato
Due strade principali: usare un plugin (veloce, no-code) o costruirne uno proprio (controllo totale).
Opzione 1: Plugin/Estensione (Consigliato per la maggior parte)
- WordPress: WPML, Polylang, TranslatePress, Weglot.
- Shopify: Langify, Translate & Adapt.
- Wix/Squarespace: Strumenti multilingue integrati.
- Siti statici: Netlify CMS + i18n, Crowdin, Lokalise.
I plugin gestiscono instradamento URL, tag hreflang, SEO e UI automaticamente.
Opzione 2: Implementazione PHP personalizzata (Esempio)
Se devi proprio codificarlo, ecco un minimo switcher PHP (adatta per il tuo framework):
<?php // language-switcher.php $current = substr($_SERVER['REQUEST_URI'], 1, 2); // es. /en/... $default = 'en'; $supported = ['en', 'es', 'fr']; if (!in_array($current, $supported)) $current = $default; foreach ($supported as $lang) { $active = ($lang === $current) ? ' class="active"' : ''; echo "<a href=\"/$lang{$_SERVER['REQUEST_URI']}\"$active>$lang</a> "; } ?>
Includi nell'intestazione:
Extra critici di cui avrai bisogno
- File di traduzione (.po/.mo, JSON, CSV) per ogni lingua.
- Riscrittura URL (mod_rewrite, nginx) per instradare
/es/...allo stesso script. - Tag
hreflangin<head>per SEO. - Supporto RTL per arabo/ebraico.
- Formattazione data/numero/valuta consapevole della lingua.
Verdetto
A meno che tu non abbia un sito statico minuscolo, un plugin/framework i18n maturo (Next.js i18n, Laravel localization, Django i18n) ti fa risparmiare mesi di debug di casi limite.