Création d'un site multilingue

Petit nouveau ! | 1 Messages

23 déc. 2005, 00:43

Page web 1: choix de la langue!
<form action="accueil.php" method="post" name="langue">
	<select name="lang" size="1" onChange="document.forms['langue'].submit();">
		<option value="0">langue</option>
		<option value="fr">Français</option>
		<option value="en">English</option>
	</select>
</form>
Page 2 selection de la langue
    switch ($_POST["lang"]) {
        case "en" : 
        {
            include("lang_en.php");
            break;
        }
        case "fr"   :
        default : 
        {
            include("lang_fr.php");
             break;
        }
    }
en page 3
	<title><?php echo $msg["titreindex"]; ?></title>
Récupération du titre en anglais ou en français, cela fonctionne trés bien.
Où ce complique les choses sont pour les autres pages qu'il est difficile de faire comprendre la langue utilisé?
Si quelqu'un a une idée???
merci beaucoup d'avance, Olivier

Mammouth du PHP | 19672 Messages

23 déc. 2005, 01:13

Utilise une variable de session et enregistre la langue choisie par l'internaute dans une variable de session.

En clair, tu ajoutes un session_start() au début de chacune des pages de ton site, ensuite, tu modifie ton switch de la manière suivante.
<?php
session_start();
//.....
if(isset($_POST['lang']))
{
    $_SESSION['lang'] = $_POST['lang'];
}
else
{
    $_SESSION['lang'] = isset($_SESSION['lang']) ? $_SESSION['lang'] : "fr";
}
$fichier_langue = $_SESSION['lang'] == "fr" ? "lang_fr.php" : "lang_en.php";
include_once($fichier_langue)
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
pjl
ViPHP | 2119 Messages

23 déc. 2005, 10:50

Si quelqu'un a une idée???
Oui, faire une recherche.
Sujet traité je ne sais combien de fois.

Clo
Invité n'ayant pas de compte PHPfrance

05 janv. 2007, 15:13

:lol:
Encore une aide préciese: MERCI!
:D