begin process at 2012 05 30 00:14:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Site web, PHP et gestion des langues ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Site web, PHP et gestion des langues ?

vendredi 21 août 2009 à 00:14:10 | Site web, PHP et gestion des langues ?

jeanmorelle

Salut,

J'ai un site internet rédigé en français comportant plusieurs pages. Sur la page d'accueil, j'ai insérer un drapeau anglais. Comment opérer avec le PHP pour que l'utilisateur qui clique sur le drapeau anglais, accède au même site, mais en anglais (ainsi que toutes les pages qu'il verra par la suite) ? Quelle est la démarche à suivre ? Quel script, code, langage ou logiciel utilisé ?

Merci de votre aide.

mardi 25 août 2009 à 16:50:15 | Re : Site web, PHP et gestion des langues ?

TheWeasel47

Salut !
Voila une petite solution rapide (mais longue à mettre en place) :

1) Les fichiers langues

Alors déja il te faut des fichiers de langues ! Aucun texte en brute dans tes pages PHP ou template (je ne sais pas comment tu travailles).
exemple : echo "coucou tout le monde"; est à bannir !!!
Il va te falloir réaliser des fichiers de langues (fichier php contenant un tableau ayant la traduction des textes) typiquement

Fichier francais : ./Lang/FRA/Principal.php
contiendra

Code PHP :
$Langue=array();

$Langue["Txt_Coucou"]='coucou tout le monde';


Fichier anglais : ./Lang/EN/Principal.php
contiendra
Code PHP :
$Langue=array();

$Langue["Txt_Coucou"]='Hi everybody';


2) Mémorisation de la langue utilisateur
Pour ce qui est de la mémorisation de la langue de l'utilisateur j'ai plusieurs solutions :

Soit tu sauvegardes en session la langue saisie par l'utilisateur $_SESSION['lang']='EN'; ou $_SESSION['lang']='FRA'; (Dès qu'il clique sur un drapeau tu changes la valeur de la session)

Ou par l'URL rewriting (procédé avancé) avec dans ton fichier .htaccess :
Code :
RewriteRule    ^([A-Z]*)/([a-zA-Z0-9|_.\-]*)$  /$2?lang=$1


auquel cas tu récupère ta langue dans ta variable $_GET["lang"], mais cette méthode est incompatible avec l'ajout d'autre paramètre GET (à moins d'améliorer ton htaccess). Toutefois elle permet à l'utilisateur de distinguer deux sous-répertoires inexistant physiquement :
EN/ et FRA/ exemple concret : son fichier Principal.php deviendra FRA/Principal.php ou EN/Principal.php en fonction de la langue de l'utilisateur.

3) Récupérer tes fichiers langues automatiquement

Ce petit exemple de code te permettra d'aller chercher tes fichiers de langue automatiquement :
J'utilise la première méthode pour stocker la langue de l'utilisateur ($_SESSION)

Exemple :

Code PHP :
//TEST SI LANGUE EST DEFINIS

if(!isset($_SESSION['lang'])){
$_SESSION['lang']="FRA";
}

$chemin=dirname(__FILE__);
if (substr($chemin,-1)!=DIRECTORY_SEPARATOR){
$chemin.=DIRECTORY_SEPARATOR;
}

//VERIFICATION QUE LE CHEMIN EXISTE
if(is_dir($chemin."Lang".DIRECTORY_SEPARATOR.$_SESSION["lang"].DIRECTORY_SEPARATOR)){
$chemin.="Lang".DIRECTORY_SEPARATOR.$_SESSION["lang"].DIRECTORY_SEPARATOR;
}else{
$chemin.="Lang".DIRECTORY_SEPARATOR.'FRA'.DIRECTORY_SEPARATOR;
}

//VERIFICATION FICHIER LANGUE EXISTE
$Langue=array();
if(file_exists($chemin.$_SERVER['PHP_SELF'])){
include($chemin.$_SERVER['PHP_SELF']);
}else{
//Erreur fichier inexistant
}


Il te suffira de mettre (pour afficher ton texte) :
echo $Langue["Txt_Coucou"];

Voila je n'ai pas testé ce script (je l'ai rédigé à la volé). Toutefois l'idée globale est la même.

Bon Courage à toi.
Cordialement
TheWeasel47



Cette discussion est classée dans : web, site, php, gestion, anglais


Répondre à ce message

Sujets en rapport avec ce message

Aide gestion de police pour un site web [ par ptecoco ] Bonjour, J’aimerai faire un site web avec telechargement de police et possiblité de taper un texte puis de choisir une police et de voir apparaitre le Traduction de page web ...? [ par jeanmorelle ] Bonsoir, Je suis en train de construire un site web en français. Sur la page d'accueil, j'ai mis une image du drapeau anglais. Comment faire pour que Ajouter un commentaire sur mon site Web en JavaScript sans BDD [ par darksam ] Bonjour à tous, Le topic existe peu être dans les menus "PHP" mais je ne suis pas sur en "Java". Je cherche a taper un code source sur ma page qui p pdf et php [ par mmehdi88 ] Le nouveau développeur est venu :ChRif[^^pirate][^^happy10] slt tous le monde,j'ai réaliser une application web,cette application consiste a faire un disclaimer cookie [ par Rohenheim ] Bonjour, Avant d'introduire mon sujet j'aimerais dire que j'ai cherché la réponse à ma question dans tout le forum et même sur d'autres avant de post demande [ par miadiop ] Salue je vous demande si je pourrais avoir les codes sources de la création de votre site web cela me servira d' exemple concret dans l'apprentissage IP unique pour un questionnaire [ par Lologolas ] Bonjour à tous, Je développe actuellement un site web. Ce site web comporte un questionnaire. Voici mon problème : J'aimerai que ce questionnaire ne Pb ouverture popup en arrière plan avec sélecteur d'images [ par philou8 ] Bonjour, J'ai construit un sélecteur de sites internet (listes d'icones avec jquery) placé dans une info bulle-GoogleMap (qui s'affiche lorsque l'on c Pb ouverture popup en arrière plan avec sélecteur d'images [ par philou8 ] Bonjour, J'ai construit un sélecteur de sites internet (listes d'icones avec jquery) placé dans une info bulle-GoogleMap (qui s'affiche lorsque l'on c


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales