Bonsoir,
Pour ma part, je fais un mix de plusieurs solutions.
Je récupère la langue en fonction de celle du navigateur.
Pour tout ce qui est interface, je fais comme Raideman.
Pour tout ce qui est contenu, je le stock en base avec une table spécifique par langue.
Par exemple, j'aurais une table nommée 'table_fr' et une autre nommée 'table_en', et toutes les deux auront strictement les mêmes champs.
Pour changer en cours de visite, il suffit de mettre un lien (genre un drapeau) comme ceci (sans la balise image car j'ai la flemme...) :
<a href="<?php echo $_SERVER['REQUEST_URI']; ?>&lang=en">En anglais</a>
et en début de page, on vérifie la langue, et si changement on redéclare la variable de session :
1 2 3 4 5 6 7 8
| <?php
session_start();
if(isset($_GET['lang']) && trim($_GET['lang']) != '' && strlen($_GET['lang']) == 2){
$_SESSION['lang'] = $_GET['lang'];
}
if(!isset($_SESSION['lang'])){
$_SESSION['lang'] = 'fr'; // par défaut...
} |
Et voilà !
Maintenant, je vous renvoie au très bon tuto de Vincent Flauder sur l'internationalisation d'une site avec PHP et XML pour aller plus loin..
A+
Partager