AutoLang : Aiguiller le visiteur selon sa langue de navigateur

Un moyen simple d’afficher un site dans la langue désirée par le visiteur

Un peu de théorie

Tous les navigateurs web peuvent être configurés pour indiquer leurs préférences linguistiques [1].

Cette information est transmise aux serveurs web à chaque requête afin que le site web concerné puisse en tenir compte.

C’est ce que traite ce plugin.

Pré-requis

  • un site web sous SPIP
  • avec le multilinguisme activé
  • avec un #MENU_LANG dans le squelette quelque part pour permettre au visiteur de changer sa langue de navigation ; ou mieux encore, utiliser Menu de langues sous forme de liens.
  • et probablement avec $forcer_lang=true; dans config/mes_options.php [2]

NB : ce plugin a été testé avec succès avec le squelette SoyezCréateurs.

Fonctionnement

Une fois activé — si l’internaute n’a pas déjà visité le site et indiqué une langue préférée via le menu de langue du site — le plugin détecte la liste des langues passées par le navigateur au site, et prend :

  • la première langue du site correspondant à une préférence de l’internaute
  • à défaut, la langue par défaut du site

Après ça, l’internaute peut bien évidemment choisir une autre langue de navigation via le menu de langue du site.

Footnotes

[1Par exemple : de préférence du Français, et puis sinon de l’anglais, et enfin de l’allemand.

[2Ce plugin n’a été testé que dans ce contexte, mais si les retours disent que ça n’est pas nécessaire, l’article sera modifié en conséquence.

L’icone initiale de ce plugin venait du projet Language Icon.

Discussion

3 discussions

  • 1

    bonjour,
    je pose ici cette question qui est peut-être plus une question générale spip, mais je ne vois pas où la poser ailleurs...
    spip4.4
    soyezcreateurs 6.3

    la langue par défaut du navigateur est utilisé et n’affiche alors que les articles dans la langue...
    et dans mon cas, c’est quelques articles par moment qui sont traduits... quelques %...

    comment faire pour que spip affiche tous les articles, dans la langue du navigateur quand il existe, et dans la langue pardéfaut du site sinon ?

    c’est peut-être dans le squelette que ca se joue en rendant le paramètre lang optionnel ?

    merci d’avance

    • Bonjour,

      C’est une question SoyezCréateurs ;-)

      Et la réponse est : le multilinguisme dans SoyezCréateurs est explicitement massivement multilingue : tout doit être traduit.

      La seule solution avec ce squelette, c’est de créer des traductions qui soient des articles virtuels, renvoyant sur la seule version de langue existante.

    Reply to this message

  • 1

    Bonjour,

    Planifiez-vous la mise à jour à SPIP 4?

    Reply to this message

  • 1
    • Contrairement au plugin que tu cites (que j’étais allé voir) : il n’y a rien à changer dans les squelettes : activer le plugin et ça marche.

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom