Actualites | Forum |Archives
Le magazine des décideurs et webmasters qui gagnent !
Inscription | Livre d'or | Plan du site | 15 visiteurs actifs
   
A la Une
Actualité
Dossiers
Communiqués
Coin Technique
Agenda des salons
Emploi
Echange de liens

Archives
Sélection
Expérience qui parle
Internet quotidien
Tous les dossiers

Forum
Forum SAM-MAG

Guides
Check-list de la promotion des sites
Promouvoir et référencer les sites web

Contact
Nous contacter
Newsletter
La protection des données personnelles


 
  Exemple : Detection de la langue et exploitation
Dossier "SAM l'Informaticien" du 27/11 au 10/12 2000 par Alain Metzger

ahier des charges

Dans notre exemple, notre site sera séparé en deux répertoires au niveau du serveur (1 répertoire pour la langue Française et 1 pour l'Anglais).

Pour exploiter correctement la détection de la langue de préférence de l'utilisateur, il faudra tester si celui-ci n'a pas choisi la langue qu'il désire utiliser. Il nous faudra également choisir une langue par défaut.

Une fois la langue detectée, il suffira de rediriger le visiteurs en fonction de celle-ci.

Detection de la langue utilisée

Pour detecter la langue de préférence de l'utilisateur, on utilisera la variable système $HTTP_ACCEPT_LANGUAGE. Dans cette variable sera donc stocké le réglage de la langue par défaut tel qu'il a été défini dans le navigateur du visiteur. On définira une variable $langue comme ceci :

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

On conservera, grâce à l'utilisation de la fonction SUBSTR, uniquement les 2 premiers caractères. Pour plus d'informations sur cette fonction, consultez le manuel du PHP disponible également en Français sur le site Nexen.net.

Il faudra également envisager de définir une langue par défaut au cas où, le visiteur utilise une ancienne version de navigateur qui ne dispose pas des options de réglage de la langue préférée.

Exploitation

Pour exploiter ces données, il faut d'abord vérifier, comme décrit dans le cahier des charges, si l'utilisateur n'a pas choisi la langue qu'il désir utiliser. A cet effet, nous utiliserons l'instruction ISSET qui retourne la valeur 1 si une variable est définie et 0 si elle ne l'est pas.

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

Il faudra ensuite rediriger le visiteur vers la langue détecté.

if ($langue="en")
{
Header ("Location : http://www.monserveur.com/en/");
}
else
{
Header ("Location : http://www.monserveur.com/page.php3");
}
exit;

Ainsi, si la langue detecté est l'Anglais (en), l'utilisateur sera redirigé vers la page index du répertoire "en". En utilisant les instructions IF......ELSE, on a également défini la langue par défaut qui sera, dans ce cas, le Français.

Programme

Nous avons ainsi rempli toutes les conditions de notre cahier des charges. Il suffira d'ajouter les deux portions de code à notre page index par défaut pour pouvoir gérer un site en deux langues. Voici donc votre page "index.php3" :

if (isset($langue)==0)
{
$langue=substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
}
if ($langue="en")
{
Header ("Location : http://www.monserveur.com/en/");
}
else
{
Header ("Location : http://www.monserveur.com/page.php3");
}
exit;

Nous verrons une prochaine fois, comment améliorer ce programme pour déboucher sur un programme de gestion multilingue universel.

Alain Metzger.
Responsable Technique.
http://www.atouts-malin.com

Tous droits réservés - Reproduction même partielle interdite sans autorisation préalable

 
 
Google
 
Web www.sam-mag.com



 

Sponsors

Referenceur.com

Referenceur.com est spécialisé dans le référencement sur mesure et le positionnement de sites internet : positionnement garanti, achat de mots clés, maintenance...

ACORUS

Notre activité : dynamisez votre présence en ligne : référencement, campagne par achat de mot clé, communiqué de presse, solutions Marketing Internet

Copyright © ACORUS 2004. All Rights Reserved

Referenceur.com - Sam-Mag.com - ConferenceVirtuelle.com
E-Positionnement.com - Referencement-Sur-mesure - Referencer-Site-Web.com
Visibilite-Internationale.com - Referencement-Immobilier.net