Bonjour à tous,
J'ai crée un script php pour internationaliser mon site :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php session_start(); if (!$_SESSION[USER_LANGUAGE]) SetLang(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2)); include "resource/language/$_SESSION[USER_LANGUAGE].php"; ?>
Voici mes fonctions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function setLang($p1){ if(!in_array($p1, array('fr', 'en'))) $p1 = "en"; $_SESSION['USER_LANGUAGE'] = $p1; } function Location ($p1) { if (!$p1) $p1 = $_SERVER['HTTP_REFERER']; exit(header('Location: '.$p1)); }
J'ai les fichiers en.php et fr.php avec les traductions. Ensuite, je veux créer des liens pour changer de langue, j'ai donc crée ces button :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <div id="langues"> <button name='fr' type="button">Français</button>| <button name='en' type="button">English</button> </div>
Et j'ai modifié mon script :
Mais, lorsque je clique rien ne change. Quel est donc le problème ? Comment rediriger l'utilisateur vers la langue désirée ? Existe-il des façons plus simples d'internationaliser mon site ? Car je suis vraiment bloqué sur cette notion !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php session_start(); if (!$_SESSION[USER_LANGUAGE]) SetLang(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2)); include "resource/language/$_SESSION[USER_LANGUAGE].php"; if (isset($_POST['fr'])) { SetLang('fr'); Location('/'); } if (isset($_POST['en'])) { SetLang('en'); Location('/'); } ?>
Merci d'avance !
Partager