Bonjour à tous,
j'aimerai créer un site en deux langues FR et EN et j'ai quelque difficultés, et j'ai besoin d'un peu d'aide.
Comment intégrer le paramètre de la langue dans chaque lien?
Bonjour à tous,
j'aimerai créer un site en deux langues FR et EN et j'ai quelque difficultés, et j'ai besoin d'un peu d'aide.
Comment intégrer le paramètre de la langue dans chaque lien?
Comme ça par exemple :
Il existe d'autres méthodes que de passer la langue dans le lien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="une_page.php?langue=<?php echo $langue_choisie ?>">
Merci pour ta réponse, oui mais j'ai une autre question, comment récupérer ce paramètre de langue? est ce que c'est depuis la page déjà ouverte ou bien il y-a une autre méthode.
Je ne comprends pas ta question.
Mais pour continuer sur ta question initiale tu peux laisser le choix avec :
Ensuite pour conserver le paramètre il faut mettre sur tous les liens de la page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Langue : <a href="?langue=FR">Français</a> <a href="?langue=EN">Anglais</a>
Bien sûr au cas où $_GET['langue'] ne serait pas défini il faut déterminer en début de page une valeur par défaut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="une_page.php?langue=<?php echo $_GET['langue'] ?>">
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ( ! isset($_GET['langue']) ) { $_GET['langue'] = 'FR' ; // FR par défaut }
Merci beaucoup pour ces détailles
Une autre question sur ce code:
Est-ce que je peux modifier la langue d'une page sans passé par l'index? par exemple, si j'ai l'URL:
http://www.mon-site.com/index.php?pa...load&langue=FR
Comment je fais pour changer la langue sans aller à l'index? (en gardant le lien complet et en modifiant seulement FR en EN)
Si tu as déjà des paramètres dans l'URL, comme tu le montres en exemple, alors il faut afficher le contenu de $_GET et changer $_GET['language'] au besoin.
Ex. :
Et la fonction choose_language( ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Langue : <a href="<?php echo choose_language('FR') ?>">Français</a> <a href="<?php echo choose_language('EN') ?>">Anglais</a>
Si tu te trouves sur la page index.php?controller=articles&action=view tu obtiendras :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function choose_language($language) { $buffer = '?' ; foreach ( $_GET as $name => $value ) { if ( $name != 'language' ) { $buffer .= $name . '=' . $value . '&' ; } } return $buffer . 'language=' . $language ; }
Ainsi tu ne changes pas de page au choix d'une nouvelle langue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Langue : <a href="?controller=articles&action=view&language=FR">Français</a> <a href="?controller=articles&action=view&language=EN">Anglais</a>
mais là il m'affiche pas la index.php dans le lien
index.php?controller=articles&action=view
j'ai seulement le répertoire www.mon-site.com/folder/laguage=fr
normalement ça doit être
http://www.mon-site.com/folder/test....=st&laguage=fr
voila l'exemple que j'ai testé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <html><head></head><body> <?php if (!isset($_GET['langue']) ) { $_GET['langue'] = 'fr' ; // FR par défaut } function choose_language($language){ $buffer = '?' ; foreach ( $_GET as $name => $value ) { $buffer .= $name . '=' . $value . '&' ; } return 'langue=' . $language ; } ?> <a href="<?php echo choose_language('fr') ?>">FR</a><br /><br /> <a href="<?php echo choose_language('en') ?>">EN</a> </body> </html>
Correction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <html><head></head><body> <?php if (!isset($_GET['language']) ) { $_GET['language'] = 'fr' ; // FR par défaut } function choose_language($language){ $buffer = '?' ; foreach ( $_GET as $name => $value ) { if ( $name != 'language' ) { $buffer .= $name . '=' . $value . '&' ; } } return $buffer . 'language=' . $language ; } ?> <a href="<?php echo choose_language('fr') ?>">FR</a><br /><br /> <a href="<?php echo choose_language('en') ?>">EN</a> </body> </html>
J'ai pas fais attention!! une erreur bête de ma part
ca marche très bien comme ça Merci beaucoup
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager