Probleme variable fichier lang

Répondre
Sammuel
le 14/03/2007 à 19:10
Sammuel
Salut,

Je rencontre un probleme pour afficher une variable issue d'un fichier lang... Je m'explique :

Dans mon fichier lang, j'ai défini ces variables :
define('WELCOME_1','Il');
define('WELCOME_2','Elle');

et pour afficher l'une d'entre elle, je fais :
<?=WELCOME_.$_SESSION['type'];?>

$_SESSION['type'] peut contenir soit 1, soit 2.

Mais cela m'affiche un message d'erreur :
<b>Notice</b>:  Use of undefined constant WELCOME_ - assumed 'WELCOME_' in <b>c:program fileseasyphp1-7wwwblablaindex.php</b> on line <b>54</b><br>
WELCOME_2


Auriez vous une idée pour que cela fonctionne correctement ?? pour que la valeur issue de la $_SESSION soit prise en compte.

Merci !
LA GLOBULE
le 14/03/2007 à 20:12
LA GLOBULE
Et pourquoi ne pas faire deux fichier de langue ?

Fichier 1 :
define('WELCOME','Il');

Fichier 2 :
define('WELCOME','Elle');

Ensuite, en fonction de $_SESSION['type'], tu inclus soit le fichier 1, soit le fichier 2, puis un simple echo WELCOME; affichera ce que tu souhaites.
Sammuel
le 15/03/2007 à 15:26
Sammuel
Disons que j'aurais un fichier lang pour plusieurs langues ! peut etre une dizaine.

Donc, pour que tout soit le plus clair possible, je préfererai que toutes les variables se trouvent dans un meme fichier.

C'est dommange quand meme de devoir se compliquer pour une chose aussi simple !! smiley
Sammuel
le 15/03/2007 à 16:34
Sammuel
Je viens de trouver une solution smiley

Donc j'ai placé toutes les variables WELCOME dans une meme variable WELCOME et séparé par une virgule.
define('WELCOME','Il,Elle');


J'ai créé une fonction qui va aller chercher la variable demandée :
function lang($define,$type){
$lang = explode(',',$define);
return $lang{$type};
};


Et pour afficher le code correspondant :
<?=lang(WELCOME,$_SESSION['type']);


Et cela m'affiche ce qu'il faut smiley

Je ne sais pas si il y a plus simple, mais je vais me contenter de cette solution !!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours