site multilingue

Eléphant du PHP | 257 Messages

23 déc. 2011, 11:58

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, ");


?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

23 déc. 2011, 12:34

salut,

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


@+
Il en faut peu pour être heureux ......

ViPHP
ViPHP | 2577 Messages

23 déc. 2011, 12:40

Utiliser un tableau consomme plus de mémoire.

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

Eléphant du PHP | 257 Messages

23 déc. 2011, 13:35

Bonjour vous avez une solutions pour rendre cela plus léger , si oui un proposition serait la bien venue =D> =D> =D>

Eléphant du PHP | 257 Messages

23 déc. 2011, 20:43

bonjour comment je devrais faire svp pour créer un liens pour changer la langue Merci

ViPHP
xTG
ViPHP | 7331 Messages

23 déc. 2011, 21:28

<a href="taPage.php?lang=fr">Français</a>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 déc. 2011, 20:17

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.

@+
Il en faut peu pour être heureux ......