Un site multilingue ?

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 569 fois - Téléchargée 28 fois

Contenu du snippet

Cette astuce permet d'obtenir un site multilingue facilement. Lisez l'annotation finale pour comprendre le script

Source / Exemple :


// à inclure dans la page

include "lang/$lang.php";

// à inclure là où vous avez du texte

echo TXT__PAGE1_TITRE;
echo TXT__PAGE1_INTRO;

// à mettre dans les fichiers fr.php, de.php, uk.php, es.php, it.php, ...

// le fichier fr.php

// textes de la page "page1"
define('TXT__PAGE1_TITRE', "<h3>Site multilingue</h3><br>");
define('TXT__PAGE1_INTRO', "voilà un systeme permettant d'obtenir un site multilingue");

// le fichier uk.php

// textes de la page "page1"
define('TXT__PAGE1_TITRE', "<h3>Multilingual website</h3><br>");
define('TXT__PAGE1_INTRO', "So it's a system who allow multiples languages in a website");

Conclusion :


le principe est de remplacer le texte par une constante.

Suivant la variable $lang, on inclus soit le fichier contenant les constantes en Français, Anglais, Espagnol, Allemand, Italien, ...

la page doit être appelée avec la variable $lang, par exemple page.php?lang=fr ou vous pouvez ausi gérer ça avec les cookies ou les sessions, c'est le mieux

lors de l'appel de la page, un fichier est inclus en fonction de la valeur de $lang. Il contient les définitions des constantes appelées ensuite pour afficher le texte dans la page

Voila c'est fini ! Vous pouvez desormais proposer plusieurs langages a vos visiteurs sans pour autant refaire votre site en entier.

Totofweb

A voir également

Ajouter un commentaire

Commentaires

cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
deux conseils:
utilise 'ma chaine'.$mavariable
plutot que
"machaine$mavariable"
questio nde rendement, et pusi o nsait jamaias :-)

et pusi aussi, à propos de $lang, (mais là je ne sais pas si c t voulu pr permettre à chacun d'initialiser la variable comme il l'entend)
si tu le récupère via l'url (get), mets ceci $_GET['lang'] c vraiment plus clean. mais ça c t peut etre pas pr toi comme commentaire :-)
Totofweb
Messages postés
57
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
19 juin 2006
-
je connais 'machaine'.$mavariable, mais lorsqu'on utilise les guillemets ça n'a pas d'importance. J'utilise ta méthode lorsque je dois faire 'machaine1'.$mavariable.'machaine2'

Par contre, je ne connaissait pas $_GET['lang'], je ne vois pas trop l'intérêt de l'utiliser plutot qu'autre chose. Mais bon, chaque programmeur à ses trucs et n'aime pas qu'on lui en impose d'autres, ça je le comprends
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
Totofweb
Messages postés
57
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
19 juin 2006
-
gwenn035
Messages postés
9
Date d'inscription
jeudi 21 novembre 2002
Statut
Membre
Dernière intervention
1 juillet 2004
-
Totofweb: c'est dejà comme ça dans php v4 quand on utilise l'option 'register_globals' = off dans le fichier php.ini du serveur.

je te conseil de t'y habituer si tu veux pas devoir changer tout ton code avec php v5.

Gwenn

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.