Bonjour
Voilà je vais essayer d'expliquer le soucis que je rencontre :
Je suis en train de m'entrainer pour faire un site en multilangue en utilisant les sessions avec cookie !
Par contre ce site je le fais sans base de donnée et uniquement en PHP.
L'architecture du site :
Dossier css
Dossier images
Dossier includes
Dossier lang
index.php
Donc dans le dossier include j'ai un fichier lang.php qui sert pour le choix de la langue :
Dans le dossier lang j'ai 3 fichiers pour les langues :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php session_start(); if ((isset($_GET['lang']) && !empty($_GET['lang'])) || (isset($_COOKIE['lang']) && !empty($_COOKIE['lang']))) { $_SESSION['lang'] = $_GET['lang']; setcookie("lang", $_SESSION['lang'], time() + (3600 * 24 * 365)); } // Langue par défaut if (empty($_SESSION['lang'])) $_SESSION['lang'] = 'fr'; include('lang/'.$_SESSION['lang'].'_lang.php'); ?>
en_lang.php
es_lang.php
fr_lang.php
jusqu'a là rien d'anormal !!
Ensuite le fichier index.php :
en premier j'y inclu mon fichier langue.php
ensuite le html et pour la sélection du language je fais comme ceuci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php require("includes/langue.php"); ?>
Mon soucis c'est que lorsque je change de langue en cliquant sur le drapeau tout va bien la page est bien traduite mais lorsque je change de page je revien au language par défaut !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <span style="margin-left:10px;"><a href="?lang=fr"><img src="images/lang/fr.jpg" title="Français" border="0" /></a><br /></span> <span style="margin-left:10px;"><a href="?lang=en"><img src="images/lang/gb.jpg" title="English" border="0" /></a><br /></span> <span style="margin-left:10px;"><a href="?lang=es"><img src="images/lang/es.jpg" title="Español" border="0" /></a></span>
Merci pour vos éclaircissements !!
Partager