Ajouter un sélecteur de langue à votre site : plugin vs code personnalisé
Deux voies principales : utiliser un plugin (rapide, sans code) ou développer le vôtre (contrôle total).
Option 1 : Plugin/Extension (Recommandé pour la plupart)
- WordPress : WPML, Polylang, TranslatePress, Weglot.
- Shopify : Langify, Translate & Adapt.
- Wix/Squarespace : Outils multilingues intégrés.
- Sites statiques : Netlify CMS + i18n, Crowdin, Lokalise.
Les plugins gèrent routage URL, balises hreflang, SEO et UI automatiquement.
Option 2 : Implémentation PHP personnalisée (Exemple)
Si vous devez coder, voici un sélecteur PHP minimal (adaptez à votre framework) :
<?php // language-switcher.php $current = substr($_SERVER['REQUEST_URI'], 1, 2); // ex: /fr/... $default = 'fr'; $supported = ['fr', 'en', 'es']; 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> "; } ?>
Inclure dans l'en-tête :
Extras critiques dont vous aurez besoin
- Fichiers de traduction (.po/.mo, JSON, CSV) pour chaque langue.
- Réécriture d'URL (mod_rewrite, nginx) pour router
/en/...vers le même script. - Balises
hreflangdans<head>pour le SEO. - Support RTL pour arabe/hébreu.
- Formatage date/nombre/devise selon locale.
Verdict
Sauf site minuscule et statique, un plugin/framework i18n mature (Next.js i18n, Laravel localization, Django i18n) économise des mois de débogage de cas limites.
