Changer la langue d'un site

Aperçu de plusieurs techniques de changement de langue Je me suis penché cette fois sur les différentes façons de changer la langue d'un site. Je ne parle pas de la gestion des langues d'un site, mais plutôt à la présentation HTML du problème.

Comment afficher les liens pour changer de langue ?

Plusieurs variables

Il y a plein de choses qui entrent en jeu, comme le design ou le nombre de langues.

Je pense que pour être le plus accessible possible, il faut:

  • soit afficher les liens en texte
  • soit afficher un lien vers une page pour choisir la langue
  • soit afficher un formulaire pour changer la langue

La première solution pose problème s'il y a beaucoup de langues.

D'autres solutions

Pour l'instant, je ne vois que 2 autres façons de faire:

  • afficher la liste des liens par javascript
  • afficher la liste des liens par CSS

Pour la méthode javascript, j'ai pensé à une dégradation vers un lien sur une page de langues.

La méthode CSS permet d'avoir dans le HTML la liste des langues.

Le plus simple, c'est que je vous montre ma page de test : http://blog.neolao.com/download/changer_langue/index.html :)

D'autres technologies

Ce que je verrai bien moi, c'est un standard de déclaration des langues d'une page. Il suffirait que les navigateurs modernes puissent changer via un menu la langue.

Je ne me suis pas beaucoup documenté sur la question. D'ailleurs, c'est pas évident de trouver :) .

Conclusion

Après, suivant les sites, certains jugent qu'il est plus ou moins important de mettre en valeur ce changement de langue. Parfois on le retrouve en haut bien en évidence, parfois dans le bas de page presque caché.

Bref, à suivre ...

Commentaires

1. Le vendredi, janvier 5 2007, 14:48 par Tatane

Sympa les versions JS ou CSS,
par contre le souci des drapeaux c'est que ça représente un pays et non une langue ...
C'est toujours délicat les drapeaux, genre pour l'anglais on met le drapeau UK ou USA ??
Il y'a plein de pays on l'on parle l'espagnol ou l'anglais par exemple, je suis plutôt partisan des affichages textes, en plus c'est plus simple à gérer (ajouter/modifier) via un backend de site ..

bref, voilà mon petit point de vue perso !

++

3. Le vendredi, janvier 5 2007, 15:00 par neolao

Oui, c'est un grand débat. Les drapeaux restent un autre sujet de discussion :) . Ca ne change pas les techniques.

Edit: mais je suis tout à faire d'accord avec vous hein :)

5. Le vendredi, janvier 5 2007, 15:09 par dovik

l'important, je pense, c'est de proposer le site dans la langue du visiteur, soit en PHP (entête fourni par le navigateur), soit en javascript, en ce basant sur le user agent du navigateur par exemple (dans une majorité des cas, ça doit suffire).

6. Le vendredi, janvier 5 2007, 15:40 par Simay

Intéressant, personellement, je pencherait plutot pour des liens tout simples.
Mais une autre question se pose, est ce qu'on doit réafficher un liens vers la langue courante, simplement un rappel (sans lien), ou bien rien du tout ?

7. Le vendredi, janvier 5 2007, 16:53 par neolao

moi j'aurai tendance à le mettre sans être actif

mais à priori, si on suppose une page bien faite, il y a déjà cette information dans le html. Le navigateur pourrai indiquer la langue du site.

8. Le dimanche, janvier 7 2007, 00:31 par goetsu

dans tout les cas il ne faudra pas oublier de spécifier un attribut lang pour déclarer le changement de langue dans le texte genre <a href="english.html" lang="en">English</a>. Voir à spécifier un hreflang <a href="english.html" lang="en" hreflang="en">English</a>