Bonjour,
Je suis novice, et je cherche un script pour afficher un header par version de langues utilisé par le visiteur.
Je suis en train de faire un site en 3 langues, pour le moment j'ai utilisé une méthode avec switch() qui permet de changer mes textes sans avoir à éditer chaque pages en trois exemplaires. Voici mes codes :
set_lang.php
<?php
$lang_traduites = array(0 => 'fr', 1 => 'en', 2=> 'ger' );
$langue_defaut = $lang_traduites[0];
$lang_navig = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$lang_navig = strtolower(substr(rtrim($lang_navig[0]),0,1,2));
$lang = !empty($_COOKIE['lang'])? $_COOKIE['lang'] : 0;
$lang = !empty($_GET['lang'])? $_GET['lang'] : $lang;
$lang = !empty($lang)? $lang : $lang_navig ;
$lang = in_array($lang,$lang_traduites)? $lang : $langue_defaut;
if ((!empty($_GET['lang']) && in_array($_GET['lang'],$lang_traduites)) && (empty($_COOKIE['lang']) ||
(isset($_COOKIE['lang']) && $_COOKIE['lang'] != $_GET['lang']))) setcookie('lang', $_GET['lang'], time() + 3600 * 24 * 365);
switch($lang)
{
case 'fr':
include('lang/lang_fr.php');
break;
case 'ger':
include('lang/lang_ger.php');
break;
case 'en':
include('lang/lang_en.php');
break;
}
?>
Un de mes fichier contenant le texte (lang_fr.php en l'occurrence) :
<?php
//------------------------------------ index.php ------------------------------------//
define('TXT_ACCUEIL_BLOCK1', 'mon texte 1');
define('TXT_ACCUEIL_BLOCK2', 'mon texte 2');
define('TXT_ACCUEIL_BLOCK3', 'mon texte 3');
//------------------------------------ expos.php ------------------------------------//
define('TXT_PYRZ_BLOCK1', 'mon texte 4');
define('TXT_CONSEIL_BLOCK2', 'mon texte 5');
etc......
?>
Tout sa marche bien pour l'instant.
Pour le moment mes 3 header (un pour chaque langues) dans lesquels se trouvent bannière, logo et navigation sont en simple include dans chaque pages du site dans sa langue respactive.
Je mi suis mal pris, car au départ je prévoyais de faire le site un trois exemplaire, un par langue.
Ce code est dans chaque page du coup :
<?php
include 'languedemandée_overall_header.txt';
?>
J'en viens à ma demande :
Avez vous un moyen pour je puisse faire mes include par le biais du script (set_lang.php) ?
Merci à vous