» G1Script.Com » Les Langages » Le PHP » Les Dossiers » Exploiter la détection de la langue


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.


  • Exploiter la détection de la langue

    Pour exploiter concrètement la gestion des langues, cette simple détection ne suffit pas. Il faut notamment :

    - Tester si la langue n'a pas déjà été choisie par l'utilisateur. En effet, si vous placez la fonction de détection de langue au début de chaque programme, la langue sera toujours la même, l'utilisateur ne changeant pas ses réglages en cours de navigation. Ainsi, s'il clique par exemple si la version anglaise, le module de détection risque de le ramener systématiquement sur la version française. C'est un gag que l'on trouve même sur des sites professionnels.

    - Choisir une langue par défaut lorsque votre site n'est pas disponible dans la langue de préférence de l'utilisateur.

    Le programme de détection est à peine plus compliqué. Commençons par traiter le cas où la langue a déjà été choisie par l'utilisateur. Pour cela, on utilise la fonction isset qui renvoie 1 si une variable a été définie, 0 dans le cas contraire :

    if (isset($langue) == 0)
    {
    $langue = substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
    }

    La fonction de détection ne s'effectue que si la langue n'a pas encore été choisie. Si vous appelez votre programme avec une URL du type :

    http://www.monsite.com/programme.php?langue=fr

    la variable langue contiendra "fr" dès l'entrée du programme et la fonction de détection ne sera pas lancée.

    NOTE : Si vous gérez plusieurs langues dans votre application, utilisez toujours leur codification sur deux lettres. Cette codification est relativement bien harmonisée et il est ainsi facile de conserver la langue lorsqu'on passe d'une application à l'autre.
    Cette codification est aussi nécessaire dans certains modules de paiement électronique pour indiquer au système de paiement dans quelle langue doit être affichée la page de saisie des informations pour le paiement.

    Il nous faut maintenant vérifier qu'il existe une version du site dans la langue de préférence de l'utilisateur et si ce n'est pas le cas, choisir une langue par défaut. Dans l'exemple suivant, nous acceptons trois langues pour notre site : le français, l'anglais et l'italien. La langue par défaut est l'anglais.

    if (($langue != "fr") && ($langue != "it"))
    {
    $langue = "en";
    }

    Dans les conditions fournies à l'instruction if, les signes!=signifient "différent de", les signes && signifient "et".

    En langage clair, cette fonction se traduit par : "Si la langue est différente du français et la langue est différente de l'italien, alors la langue est l'anglais".

  • [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 -