nsmoez
Messages postés2Date d'inscriptionjeudi 17 juillet 2008StatutMembreDernière intervention17 juillet 2008
-
17 juil. 2008 à 10:56
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 2010
-
17 juil. 2008 à 13:43
Bonjour
J'ai un site en englais que j'aimerai lui ajouter la langue française.
J'ai commencé par traduire tout le contenu du site en langue
française.Puis j'ai affecté le contenu des deux langues dans des
variables dans deux fichiers lang_fr.php et lang_an.php. j'ai ajouté
par la suite 2 mini drapeaux dans la page d'index que je leur affecté
la variable lang. Par la suite j'ai ajouté ce code dans la page d'index:
//test choix de la langue
if(!isset($_GET["langue"]))
{
$_SESSION['lang']=="an";
}
else
{
$_SESSION['lang']==$_GET['langue'];
}
//le fichier de langue
if($_SESSION['lang']=="an")
{
include("lang_an.php");
}
else
{
include("lang_fr.php");
}
puis g ajouté ce code<!-- BEGIN TEMPLATE: bbcode_code -->
Par ailleur, essaye de garder une certaine homogénéité ; Parfois tu utilise des simples quotes, parfois des doubles ($_GET["langue"] et à pein plus bas $_GET['langue'])
Utilise les simple quotes, c'est recommandé.
$_SESSION['lng'] = isset($_GET['lng']) ? urldecode($_GET['lng']) : $_SESSION['lng'];
// On attribu une nouvelle valeur, si spécifié dans l'URL "?lng=X"
$uri_fichier_lng = realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'lang_' . $_SESSION['lng'] . '.php';
// realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR = /www/.../dossier_actuel/
// DIRECTORY_SEPARATOR = / OU \ selon la configuration (Linux, Windows)
$uri_fichier_lng = realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'lang_en.php';
// On inclue le fichier langue par défaut. Ainsi si la langue n\'existe pas, ou si il manque des valeurs, la langue par défaut prendra le relais.
// Si le fichier langue demandé existe, on l'inclue
if( file_exists($uri_fichier_lng) )
{
include $uri_fichier_lng;
}
?>
Ton code ne marche pas car :
- Tu donne une valeur à une variable avec un "==". Ce caractère ne s'utilise QUE pour les COMPARASIONS (if/else/...)
- Il n'y a pas de session_start();
Ah oui, utilise plutôt "en" pour l'anglais (english) ... et même les abréviations des pays dans leur langue. Comme ça, si jamais tu pousse ton système plus loin avec par exemple une détection automatique de la langue (une des variables $_SERVER) ce sera beaucoup plus simple :D
Par contre, je n'ai pas testé, mais il n'y a pas d'erreur ... il devrait normalement fonctionner :)
Si tu n'a pas compris quelque chose, demande moi
++ Jo²
<hr />Si ma reponse te convient, merci de l'accepter !