Page 1 sur 1

site multilingue

Posté : 23 déc. 2011, 11:58
par pacphil
Bonjour juste une petite et simple question c'est une premier pour moi , pour un script multilingue j'aimerai savoir si il est correct Merci
<?php
$lang_traduites = array(0 => 'fr', 1 => 'nl', 2=> 'ge', 3=> 'en' );
$langue_defaut = $lang_traduites[0];

$lang_navig = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
$lang_navig = strtolower(substr(rtrim($lang_navig[0]),0,1,2,3));

$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('francais-lang.php');
	break;
	case 'nl':
	include('neerlandais-lang.php');
	break;
	case 'ge':
	include('allemand.php');
	break;
	case 'en':
	include('anglais.php');
	break;	
		   }
	
?> 
et le fichier des langues votre avis svp?
<?php
/***********langue Française************/
/**************membres.php**************/
define("_RETOUR", "RETOUR");
define("_PROFIL", "Profil");
define("_MODIF_PROFIL", "Modifier profil");
define("_DERNIER", "Dernier membre");
define("_QUI_PASS", "Qui est passer, ");


?>

Re: site multilingue

Posté : 23 déc. 2011, 12:34
par moogli
salut,

pourquoi pas, tu peux aussi utiliser un tableau php pour cela ;)


@+

Re: site multilingue

Posté : 23 déc. 2011, 12:40
par Mazarini
Utiliser un tableau consomme plus de mémoire.

Il me semble que c'est de pour l'allemand

Re: site multilingue

Posté : 23 déc. 2011, 13:35
par pacphil
Bonjour vous avez une solutions pour rendre cela plus léger , si oui un proposition serait la bien venue =D> =D> =D>

Re: site multilingue

Posté : 23 déc. 2011, 20:43
par pacphil
bonjour comment je devrais faire svp pour créer un liens pour changer la langue Merci

Re: site multilingue

Posté : 23 déc. 2011, 21:28
par xTG
<a href="taPage.php?lang=fr">Français</a>

Re: site multilingue

Posté : 24 déc. 2011, 20:17
par moogli
Utiliser un tableau consomme plus de mémoire.

Il me semble que c'est de pour l'allemand
J'avoue ne jamais avoir testé le coté gourmand en mémoire.

J'aurais penché pour fichier XML avec tout ce qui faut, voir un fichier type "ini", qui au final fourniront un tableau ou un objet. (dans les deux cas y a moyen de ne changer que les besoins la page active, par contre coté perf j'ai aucune idée de ce que ça donne, surement plus long / lourd ?

xTG : tu a oublier le setcookie pour garder la chose active à la prochaine viste :)

sinon y a un exemple simple de site multi langue sur phpdebutant, avec le même système que toi.

@+