» G1Script.Com » Les Langages » Le PHP » Les Dossiers » Détecter la langue de consultation


Nous vous conseillons par ailleurs, de faire une sauvegarde avant toute modification. En Aucun Cas, le Site G1Script.Com ne peut être tenu pour Responsable ! Les Infos se trouvent qu'à titre d'indication.


  • Détecter la langue de consultation

    Pour de nombreuses applications, il peut être intéressant de détecter la langue normalement utilisée par l'internaute. Cette information est stockée dans la variable système $HTTP_ACCEPT_LANGUAGE.

    En fait cette variable contient le réglage des langues tel qu'il a été défini par l'utilisateur dans son navigateur. Avant d'essayer de détecter la langue, regardez comment se font ces réglages dans votre navigateur :

    - Avec Internet Explorer, choisissez Options Internet dans le menu Affichage puis cliquez sur le bouton Langues.

    - Avec Netscape, choisissez la commande Préférences dans le menu Edition. Un tableau de bord s'affiche avec un menu hiérarchique dans la partie gauche. Cliquez sur le lien Langues.

    Que vous utilisiez Netscape ou Internet Explorer, vous verrez apparaître les paramètres de langue pour votre navigateur. Chaque langue est codifiée avec un code de deux caractères, fr par exemple pour le français.

    Pour afficher ce réglage en PHP, il suffit d'afficher la variable système $HTTP_ACCEPT_LANGUAGE :

    echo $HTTP_ACCEPT_LANGUAGE;

    Si vous faites des tests avec différents réglages de langues, vous verrez que cette variable peut contenir plusieurs langues possibles dans les réglages. Les codes de langues peuvent aussi être complétés avec le code du pays. On aura ainsi :

    - fr pour le français ;

    - fr-ca pour le français au Canada ;

    - en pour l'anglais ;

    - en-us pour l'anglais aux Etats-Unis.

    Pour exploiter le code de la langue de préférence de l'utilisateur, il suffit de prendre les deux premiers caractères de la variable $HTTP_ACCEPT_LANGUAGE. On obtiendra ainsi le code de la langue prioritaire sans notion de pays. Pour ne conserver que les deux premiers caractères, on fait appel à la fonction substr :

    $langue = substr($HTTP_ACCEPT_LANGUAGE, 0, 2);

    Cette fonction permet de récupérer une partie d'une chaîne de caractères et demande trois arguments :

    1 - La chaîne de caractères, ici $HTTP_ACCEPT_LANGUAGE, à partir de laquelle on veut récupérer notre sous-chaîne.

    2 - La position du caractère à partir duquel on commence à récupérer. Les positions sont numérotées à partir de zéro, ce qui explique que l'on donne 0 et non 1 comme argument pour récupérer à partir du premier caractère.

    3 - Le nombre de caractères à récupérer, 2 dans notre exemple.

  • [page précédente] - [suite page suivante]


    Devenir partenaire | Faire connaître cette page | On travail...
    Liste de diffusion : déjà 10897 Inscrits

    Nos partenaires :
    www.stvalentin.be - La liste est en cours de production -