Je reprends...
Dans le tuto que tu as utilisé, tu as un fichier par langue qui contient, pour chaque variable une traduction du même texte.
Tu avais par exemple un fichier en français
fr-lang.php avec :
define('TXT_ACCUEIL_INDEX', 'Bienvenue sur PHP Débutant !');
Et un fichier en anglais
en-lang.php avec :
define('TXT_ACCUEIL_INDEX', 'Welcome on PHP Débutant !');
Ensuite, suivant la langue choisie, tu affichais la constante VAR_ACCUEIL en allant la chercher dans l'un ou l'autre des fichiers.
Maintenant, je te propose de n'avoir plus qu'un fichier langue.
Ce fichier langue
lang.php (par exemple), ne contiendrais plus de define(), mais des tableaux (je me suis un peu trop avancé avec mes dimensions... Ca va être plus simple, tu vas voir...) :
$TXT_ACCUEIL_INDEX[0]='Bienvenue sur PHP Débutant !');
$TXT_ACCUEIL_INDEX[1]=''Welcome on PHP Débutant !');
Dans ce nouveau fichier, au lieu de définir une constante avec la traduction, tu définis un tableau qui contiendra toutes tes traductions.
On détermine par avance et pour toute la durée du site une logique comme :
0 --> Français
1 --> Anglais
Maintenant, quand tu charges ta page, tu ne fais plus appel à :
require("decide-lang.php");
Tu inclus tous simplement le fichier langue général :
include("lang.php");
Et pour appeller ta variable, au lieu de mettre :
<?php echo TXT_ACCUEIL_INDEX; ?>
Tu mets l'appel au tableau contenant, dans le cas de cet exemple, le texte d'accueil :
<?php echo $TXT_ACCUEIL_INDEX[$lang]; ?>
Tu noteras donc qu'il ira chercher, dans le tableau $TXT_ACCUEIL_INDEX, le texte à l'indice $lang.
Ce $lang, tu le détermines à l'appel de la page, comme dans l'exemple de PHPdébutant.
AVANT :
APRES :