Une gestion multilingue complete

Contenu du snippet

Une quarantaine de lignes de codes que j'ai crée à partir d'une page blanche en exactement 30 minutes. Ces lignes sont d'une grande utilité pour tout site multilingue. Ils permettent de gérer les langues du sites (plusieurs) en même temps de 3 manières :
1. Par cookie
2. Par langue préférée du navigateur du client
3. Par langue par défaut si aucune des deux précédentes n'est mentionnée.

Bien entendu, ce script vous donne comme résultat un echo ""; il suffit de le remplacer par votre include de fichier langue ou bien redirection (header:location) vers sous domaine.

J'attends vos commentaires et améliorations.
N'hésitez pas à poser des questions.

ps: lougha veut dire langue en arabe :)
ps2: les commentaires sont en anglais pour un meilleur référencement du code.

Source / Exemple :


<?php

/**

  • @author Taher ALAMI
  • @copyright 2008
  • /
/** IF THE USER CLICKS ON ANY LANGUAGE WE WILL WRITE IT ON A COOKIE */ if ($_GET["lang"]) { SetCookie("lougha",$_GET["lang"]); if ($_GET["lang"]=="en") { echo ("en par cookie"); } elseif ($_GET["lang"]=="fr") { echo ("fr par cookie"); } } else { /** ELSE IF LANGUAGE ALREADY CHOOSEN AND SAVED ON THE COOKIE */ if ($_COOKIE["lougha"]=="en") { // include("lang_en.php"); echo ("en déjà choisi"); } else if ($_COOKIE["lougha"]=="fr") { // include("lang_fr.php"); echo ("fr déjà choisi"); } else { /** IF LANGUAGE IS NOT YET CHOOSEN USE THE PREFERED LANGUAGE OF USER BROWSER */ $langs=explode(",",$_SERVER["HTTP_ACCEPT_LANGUAGE"]); $navlang=$langs[0]; if($navlang == "en") { // include("includes/en.php"); echo ("en"); } else if($navlang == "fr") { // include("includes/fr.php"); echo ("fr"); } else { /** IF NOT FOUND USE THE DEFAUT LANGUAGE : USUALY ENGLISH */ // include("includes/en.php"); echo ("default"); } } } ?> <center> <a href="?lang=en">ENGLISH</a> | <a href="?lang=fr">FRANCAIS</a> </center>

Conclusion :


Lignes de code par Taher ALAMI (STAR)
Dieu bénisse Internet.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.