Mes impressions sur le web, les standards et autres…


Dimanche 23 novembre 2003

Détection de la langue d’un site

Vous ne l’avez peut être pas remarqué, mais j’ai ajouté ces jours-ci un nouveau champs texte dans le formulaire des commentaires pour ajouter l’adresse de son site. Toujours en quète de pages les plus parfaites possibles, l’absence de hreflang sur les liens vers les sites en question me chagrinait quelque peu. J’ai d’abord pensé ajouter une liste déroulante pour indiquer la langue de son site mais je trouvais que ce n’était pas vraiment le plus simple pour les utilisateurs du formulaire et il aurait fallu donner un choix conséquent de langues sélectionnables, même si la plupart du temps, c’est anglais ou français.

Pour finir, je m’y suis pris autrement. Je lance à l’aide de la fonction fsockopen() de PHP une requète à destination du site indiqué dans le formulaire et je récupère la valeur donnée par l’en-tête Content-Language que me renvoie le serveur. Dans le cas où cet en-tête n’est pas fourni par le serveur, je m’attaque au contenu même qui m’est renvoyé en cherchant les attributs xml:lang et/ou lang sur les éléments html ou body puis le meta Content-Language.

Encore une preuve des bienfaits des pages codées proprement et des bons en-têtes envoyés par le serveur :)

PS : Une copie de la fonction que j’ai faite est disponible ici pour les curieux.

Publié à 22h30

Catégories :

Vos réactions, opinions, insultes…

Rétroliens

Faire un rétrolien sur ce billet : [xxxxxxxx]

Commentaires

Pas de commentaire actuellement

Un ch’tit biscuit ?
  • Les champs email et site sont facultatifs
  • Les URLs commençant par [protocole]://[protocole] correspond à http, https, news, irc, ftp, … sont rendues activables automatiquement. Votre adresse email ainsi que d’éventuelles adresses email présentes dans le corps du commentaire sont également rendues activables et encodées pour tromper les aspirateurs d’adresse email.
  • Pour spécifier une URL locale au site, vous pouvez utiliser local comme protocole à mettre à la place de http et omettre le nom de domaine dans l’URL.
    Exemple : local://2005/08/22/Nom-de-billet/.
  • Usez et abusez de la possibilité de prévisualiser votre commentaire pour vérifier qu’il est correctement rédigé et contient le moins possible de fautes d’orthographe. Évitez en outre le style SMS, merci d’avance. Prévisualiser votre commentaire peut également vous permettre de voir si de nouveaux commentaires sont apparus entre temps.
  • Si vous spécifiez l’adresse de votre site dans le champs texte prévu à cet effet, le script se chargera automatiquement d’aller récupérer sur votre site la langue utilisée dans vos pages, soit via l’en-tête HTTP Content-Language, soit en récupérant le contenu de l’attribut xml:lang ou lang sur l’élément html. Vous n’avez indiqué d’aucune façon la langue utilisée dans vos pages ? Corrigez ça nom di diou !
  • Des options de mise en forme des commentaires feront peut-être un jour leur apparition.


Site créé et maintenu par Aurélien Maille aka Bobe. Toutes les heures sont au format CEST.
Revenir à l’accueil – Zone de développement – Informations et accessibilité – CC licensed CC Licensed