مرحبا بكم معنا
 
الرئيسيةkhabouzia1بحـثالتسجيلدخول

شاطر | 
 

 كود بي اش بي

اذهب الى الأسفل 
كاتب الموضوعرسالة
djallalaissa16
مدير المنتدى
مدير المنتدى
avatar

عدد المساهمات : 455
تاريخ التسجيل : 20/01/2010
العمر : 32

مُساهمةموضوع: كود بي اش بي   الأحد أكتوبر 03 2010, 15:15

Site multi-langues
Tuto écrit par Benji, revu en août 2004 par Molokai et Raf

Nous allons voir dans ce tutorial comment proposer plusieurs langues sur un site grâce à PHP. Vous allez voir ce n'est vraiment pas sorcier, il suffit de connaître le principe qui est assez proche du multi-couleurs.



Principe

Nous allons utiliser un concept assez simple pour avoir plusieurs langues avec une seule page ! (Etonnant, n'est-ce pas ?) Pour cela il faut remplacer le texte par des variables, si vous ne comprenez pas trop pour l'instant, ne vous inquiétez pas, vous allez vite comprendre avec la suite du cours. Nous aurons besoin de plusieurs fichiers :

Un fichier contenant les constantes pour chaque langue.
Un cookie qui garde en mémoire la langue choisie par le visiteur pour la prochaine visite.
Pré-requis

Utilisation et définition de constantes.
Utilisation et création de cookies.
Création

1 . Les fichiers langues

Nous allons tout d'abord créer les fichiers contenant les variables pour chaque langue.

Remarques
Nous utiliserons des constantes pour le gain de temps d'exécution du script de plus cela permet de distinguer les constantes utilisées pour les langues des autres variables classiques du site.
Par convention, une constante est toujours notée en majuscules (cf doc).


Astuces
Je vous conseille pour vous y retrouver d'organiser vos fichiers langues avec des commentaires voire de faire un fichier par page ...
Aussi, créez un sous-répertoire 'lang/' pour y mettre vos différents fichiers langues, avant que votre FTP ne prenne l'allure de ma chambre ! ;o)


Code PHP - Exemple : fr-lang.php
1 <?php
2
3 //---------------------------------------------------------
4 // index.php
5 //---------------------------------------------------------
6
7 define('TXT_ACCUEIL_INDEX', 'Bienvenue sur PHP Débutant !');
8 define('TXT_METEO', 'Il fait un soleil radieux !');
9 define('TXT_CONSEIL_INDEX', 'Faites du PHP !');
10
11 //---------------------------------------------------------
12 // page1.php
13 //---------------------------------------------------------
14
15 define('TXT_ACCUEIL_PAGE1', 'Bienvenue sur la page 1 du site PHP Débutant !');
16 define('TXT_CONSEIL_PAGE2', 'Installez Linux !');
17
18 //---------------------------------------------------------
19 // Fin
20 //---------------------------------------------------------
21
22 ?>



Vous me direz, quelle est l'utilité si on ne dispose que d'un fichier langue francais pour le site ? Aucune ! Mais nous allons justement créer un second fichier en anglais par exemple. Attention ! Les noms des constantes doivent être identiques d'un fichier a l'autre !


Code PHP - Exemple : en-lang.php
1 <?php
2
3 //---------------------------------------------------------
4 // index.php
5 //---------------------------------------------------------
6
7 define('TXT_ACCUEIL_INDEX', 'Welcome on PHP Débutant !');
8 define('TXT_METEO', 'The sun is shining !');
9 define('TXT_CONSEIL_INDEX', 'Let's do some PHP !');
10
11 //---------------------------------------------------------
12 // page1.php
13 //---------------------------------------------------------
14
15 define('TXT_ACCUEIL_PAGE1', 'Welcome on PHP Débutant's first page !');
16 define('TXT_CONSEIL_PAGE2', 'Install Linux !');
17
18 //---------------------------------------------------------
19 // Fin
20 //---------------------------------------------------------
21
22 ?>



Nous voilà avec deux fichiers langues (fr-lang.php et en-lang.php) qui se trouvent normalement dans un repertoire langue. Je suis d'accord vous ne pouvez pas en faire grand chose pour l'instant, mais ne vous impatientez pas, ça vient !

2 . Script du choix de la langue


Maintenant que nous disposons des fichiers langues, il nous faut créer un script permettant de changer de langue, de créer un cookie etc... Je vais vous donner le code de base puis vous proposer un exercice permettant d'ajouter une fonctionnalité au script !


Code PHP - Script de Base : decide-lang.php
1 <?php
2
3 if ($_GET['lang']=='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
4 include('lang/fr-lang.php');
5 }
6
7 else if ($_GET['lang']=='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
8 include('lang/en-lang.php');
9 }
10
11 else { // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut
12 include('lang/fr-lang.php');
13 }
14
15 ?>


Exercice 1 - Cookies *
Consigne: Dans cet exercice, le but et de gérer l'envoi d'un cookie pour pouvoir mémoriser la langue choisie par l'utilisateur.
Indice: Pour vous aider, vous pouvez voir la doc sur les cookies, le cours ou jetter un coup d'oeil au tutorial sur le multi-couleur pour avoir un exemple concret d'utilisation de cookies.
Plus: Vous pouvez aussi essayer d'implémenter une reconnaissance de la langue du navigateur.
Après avoir tester vos capacités vous pouvez allez voir la correction ici : Correction



3 . Intégration du choix de la langue dans les pages

Ne vous découragez pas, vous avez fait le plus dur , il ne nous reste plus qu'à intégrer le script dans vos pages, ce qui devrait être très facile par rapport au début du tutorial ! ;o) Pour çela, il faut remplacer votre texte par les constantes définies dans les fichiers langues et intégrer le script de choix de la langue au début de chaque page. Vos pages .php actuelles doivent ressembler à peu près à ça :

Vos pages actuelles (html ou php) Vos pages modifiées (php)
1 <html>
2 <body>
3 Bienvenue sur PHP Debutant
4 <br>
5 Meteo du jour : Il fait un soleil radieux !
6 <br>
7 Conseil du jour : Faites du PHP !
8 </body>
9 </html>
1 <?php
2 require("decide-lang.php");
3 ?>
4 <html>
5 <body>
6 <?php echo TXT_ACCUEIL_INDEX; ?>
7 <br>
8 Meteo du jour : <?php echo TXT_METEO; ?>
9 <br>
10 Conseil du jour : <?php echo TXT_CONSEIL_INDEX; ?>
11 </body>
12 </html>



Pour accéder à vos pages vous utiliserez ce chemin:
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] (pour l'anglais) par exemple.
Si vous testez vos pages sur votre serveur, vous obtiendrez ce code HTML :



Page générée : index.php?lang=fr Page générée : index.php?lang=en
1 <html>
2 <body>
3 Bienvenue sur PHP Débutant !
4 <br>
5 Meteo du jour : Il fait un soleil radieux !
6 <br>
7 Conseil du jour : Faites du PHP !
8 </body>
9 </html>
1 <html>
2 <body>
3 Welcome on PHP Débutant !
4 <br>
5 Meteo du jour : The sun is shining !
6 <br>
7 Conseil du jour : Let's do some PHP !
8 </body>
9 </html>



Voilà c'est fini ! Vous pouvez désormais proposer plusieurs langages à vos visiteurs sans pour autant refaire votre site en entier. Grâce à ce cours ainsi que celui pour la création d'un site multi-couleurs, vous pourrez satisfaire de plus en plus de visiteurs.

Benji

الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://khabouzia1.maghrebarabe.net
 
كود بي اش بي
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
khabouzia1 :: قسم اكواد الجافا-
انتقل الى: