<?php
/* On récupère la lange avec un ternaire... */
$lang = (isset($_COOKIE['lang'])) ? $_COOKIE['lang'] : substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
/* On définit la langue du fichier à utiliser */
switch ($lang)
{
case 'en':
$fichier = 'en';
break;
case 'es':
$fichier = 'esp';
break;
case 'fr':
default:
$fichier = 'fr';
break;
}
/* Inclusion du fichier de langue */
include_once('lang/'. $fichier .'-lang.php');
/* Enregistrement dun cookie pour conserver la langue choisie */
//définition de la durée du cookie (1 an)
$expire = 365*24*3600;
//enregistrement du cookie au nom de lang
setcookie("lang", $lang, time() + $expire);
?>
Teste ça et reviens avec le résultat.
if (isSet($_GET['lang'])) { // 1
$lang = $_GET['lang'];
setCookie(...);
}
else if (isSet(($_COOKIE['lang'])) { // 2
$lang = $_COOKIE['lang'];
}
else { // 3
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}
...
include (...);<?php
/* On récupère la lange avec un ternaire... */
$lang = (isset($_COOKIE['lang'])) ? $_COOKIE['lang'] : substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
/* une petite ligne de débogage : */
echo("Langue trouvée : ". $lang);
/* On définit la langue du fichier à utiliser */
switch ($lang)
//... etc...$lang = (isset($_GET['lang']) ? $_GET['lang'] : (isset($_COOKIE['lang'])) ? $_COOKIE['lang'] : substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
En cl;air, si un paramètre de langue est passé en url, alors ce sera la langue sélectionnée, sinon, si on trouve un cookie, on récupère la langue enregistrée, et en dernier recours, on prendra la langue par défaut du navigateur.
<?php
/* On récupère la lange avec un ternaire... */
$lang = (isset($_GET['lang'])) ? $_GET['lang'] : ((isset($_COOKIE['lang'])) ? $_COOKIE['lang'] : substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
/* une petite ligne de débogage : */
echo("Langue trouvée : ". $lang);
/* On définit la langue du fichier à utiliser */
switch ($lang)
{
case 'en':
$fichier = 'en';
break;
case 'es':
$fichier = 'esp';
break;
case 'fr':
default:
$fichier = 'fr';
break;
}
/* Inclusion du fichier de langue */
$fichierlangue = 'lang/'. $fichier .'-lang.php';
echo("<p>Fichier à inclure : ". $fichierlangue ."</p>");
// include_once($fichierlangue);
/* Enregistrement dun cookie pour conserver la langue choisie */
//définition de la durée du cookie (1 an)
$expire = 365*24*3600;
//enregistrement du cookie au nom de lang
setcookie("lang", $lang, time() + $expire);
?>
<p><a href="./choixlangue.php?lang=fr" title="">En français</a></p>
<p><a href="./choixlangue.php?lang=en" title="">En anglais</a></p>
<p><a href="./choixlangue.php?lang=es" title="">En espagnol</a></p>