voilà j'ai mis mon code à jour
j'ai deux lien pour choisir la lang et acceder à ma page
<a href="page1.php?lang=en">anglais</a><br />
<a href="page1.php?lang=fr">francais</a><br />
cela appel le script ci-dessous (qui choisi la langue) et determine le ficher de traduction à utiliser.
....mais j'ai une erreur ....vous avez une idée ?
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\ser\multilang\decide-lang.php:1) in c:\program files\easyphp1-8\www\ser\multilang\decide-lang.php on line 22
voici mon script decide-lang.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <?php
if(!empty($_GET['lang']))
if(isset($_COOKIE['lang'])) {
$lang =$_COOKIE['lang'];
} else {
// si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
}
//script d'origine
if ($lang=='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
include('fr-lang.php');
} elseif ($lang=='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
include('en-lang.php');
}
//fin du script d'origine
//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);
?> |
Partager