Site multi-langue en php
francdrum
Messages postés
853
Date d'inscription
Statut
Membre
Dernière intervention
-
francdrum Messages postés 853 Date d'inscription Statut Membre Dernière intervention -
francdrum Messages postés 853 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens de commencer un site comportant plusieurs langues, avec le tuto trouvé ici
http://www.phpdebutant.org/article107.php
Tout fonctionne bien quand je choisi la langue "à la main" dans la barre d'adresse => index.php?lang=XX
Maintenant, le problème est que je ne sais pas trop comment faire les liens pour naviguer dans le site (le cookie normalement va se souvenir de la langue). Mais comment écrire ça dans <a href=...etc .... ?
Désolé, je ne suis pas vraiment clair, mais la chose n'est pas claire du tout pour moi :-((
Merci d'avance
Je viens de commencer un site comportant plusieurs langues, avec le tuto trouvé ici
http://www.phpdebutant.org/article107.php
Tout fonctionne bien quand je choisi la langue "à la main" dans la barre d'adresse => index.php?lang=XX
Maintenant, le problème est que je ne sais pas trop comment faire les liens pour naviguer dans le site (le cookie normalement va se souvenir de la langue). Mais comment écrire ça dans <a href=...etc .... ?
Désolé, je ne suis pas vraiment clair, mais la chose n'est pas claire du tout pour moi :-((
Merci d'avance
A voir également:
- Site multi-langue en php
- Site comme coco - Accueil - Réseaux sociaux
- Site de telechargement - Accueil - Outils
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site x - Guide
- Site pour vendre des objets d'occasion - Guide
8 réponses
bonjour,
on pourrait utiliser plusieurs méthode, dont les sessions, bien pratique, mais la simple édition/correction des liens semble ici plus adéquate :P
avec ce bout de code php
on vérifie si la fameuse variable lang existe dans l'url et possède une valeur correct (les possibles langues du site : fr, de, en, ou 1, 2, 3, ou french, german, english, ou etc...)
si la valeur est bonne, la variable $langue prend la valeur de la variable "lang" de l'url (si dans l'url on a lang=XX, la variable $langue vaut "XX")
sinon $langue prend par defaut la valeur "fr" (cas où on aurai un plaisantin qui s'amuse à modifier l'url et exploiter des bugs, ou si il y a une faute de frappe quelque part par exemple)
après il faut modifier chaque liens de chaque page, en ajoutant " ?lang=<?php echo $langue ?> " aux liens écris dans des balises HTML
exemple:
si le lien est dans du code php...
on pourrait utiliser plusieurs méthode, dont les sessions, bien pratique, mais la simple édition/correction des liens semble ici plus adéquate :P
avec ce bout de code php
if( isset( $_GET['lang'] ) ) { if( $_GET['lang'] = "fr" OR $_GET['lang'] = "de" OR $_GET['lang'] = "..... { $langue = $_GET['lang']; } else { $langue = "fr"; } } else { $langue = "fr"; }
on vérifie si la fameuse variable lang existe dans l'url et possède une valeur correct (les possibles langues du site : fr, de, en, ou 1, 2, 3, ou french, german, english, ou etc...)
si la valeur est bonne, la variable $langue prend la valeur de la variable "lang" de l'url (si dans l'url on a lang=XX, la variable $langue vaut "XX")
sinon $langue prend par defaut la valeur "fr" (cas où on aurai un plaisantin qui s'amuse à modifier l'url et exploiter des bugs, ou si il y a une faute de frappe quelque part par exemple)
après il faut modifier chaque liens de chaque page, en ajoutant " ?lang=<?php echo $langue ?> " aux liens écris dans des balises HTML
exemple:
<a href="index.php">lien</a> devient <a href="index.php?lang=<?php echo $langue ?>">lien</a>
si le lien est dans du code php...
<?php echo "<a href=\"index.php\">lien</a>"; devient echo "<a href=\"index.php?lang=".$langue."\">lien</a>"; ?>
Cool ;-)
Mille merci
Au 1er coup d'oeil, ça a l'air d'être exactement ce que je cherchais
Petit détail : Ce site en fait va être sous forme de cadres php, du genre "..../index.php?page=page&lang=br" par ex
Donc le code que tu viens de me donner, il faut que je le mette dans la page index ? (celle qui appelle les pages proprement dites)
Dans mon index, j'ai mis ça :
<?php
if($_GET['page'] == 'index')
include('accueil.php');
else
include($_GET['page'].'.php');
?>
Comme tu peux remarquer, le code et moi, c'est toute une histoire .... lol
Merci
Mille merci
Au 1er coup d'oeil, ça a l'air d'être exactement ce que je cherchais
Petit détail : Ce site en fait va être sous forme de cadres php, du genre "..../index.php?page=page&lang=br" par ex
Donc le code que tu viens de me donner, il faut que je le mette dans la page index ? (celle qui appelle les pages proprement dites)
Dans mon index, j'ai mis ça :
<?php
if($_GET['page'] == 'index')
include('accueil.php');
else
include($_GET['page'].'.php');
?>
Comme tu peux remarquer, le code et moi, c'est toute une histoire .... lol
Merci
oui, tu dois mettre le code que j'ai fait sur la page index
donc ton url sera "index.php?page=la_page&lang=XX"
et si tu en a d'autre à ajouté, c'est l'esperluette ( & ) qu'il faudra encore utilisé
petite question : il se passe quoi si l'url est index.php?page=hgvfdygvsdf ?
donc ton url sera "index.php?page=la_page&lang=XX"
et si tu en a d'autre à ajouté, c'est l'esperluette ( & ) qu'il faudra encore utilisé
petite question : il se passe quoi si l'url est index.php?page=hgvfdygvsdf ?
Oui oui pour le "&"
Je m'en sers sur d'autres sites, avec des pages imbriquées dans des "imbrications" de cadres php .... LOL
Donc, en gros, ça doit pouvoir marcher
Euh ben pour ta question, rien bien sûr, mais je sens le gag que mon petit niveau en programmation ne peut pô comprendre ;-)))
Encore merci
Je m'en sers sur d'autres sites, avec des pages imbriquées dans des "imbrications" de cadres php .... LOL
Donc, en gros, ça doit pouvoir marcher
Euh ben pour ta question, rien bien sûr, mais je sens le gag que mon petit niveau en programmation ne peut pô comprendre ;-)))
Encore merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ooops ...
En fait, petit problème :-(
Ca me donne tout simplement une page blanche
G complété la fin de la 2éme ligne
if( $_GET['lang'] = "fr" OR $_GET['lang'] = "de" OR $_GET['lang'] = ".....
en
if( $_GET['lang'] = "fr" OR $_GET['lang'] = "de" OR $_GET['lang'] = "en";
Pour dire à quel point je suis pas bon, j'ai hésité pour le ";"
Help me please ... :-)
En fait, petit problème :-(
Ca me donne tout simplement une page blanche
G complété la fin de la 2éme ligne
if( $_GET['lang'] = "fr" OR $_GET['lang'] = "de" OR $_GET['lang'] = ".....
en
if( $_GET['lang'] = "fr" OR $_GET['lang'] = "de" OR $_GET['lang'] = "en";
Pour dire à quel point je suis pas bon, j'ai hésité pour le ";"
Help me please ... :-)
raté, c'était presque ça :)
à la place du ; c'est une )
et j'avais fais une grosse faute de mon côté, ce ne sont pas des = pour vérifier dans le If, mais des ==
ça donne donc ça
if( $_GET['lang'] == "fr" OR $_GET['lang'] == "de" OR $_GET['lang'] == "en" )
à la place du ; c'est une )
et j'avais fais une grosse faute de mon côté, ce ne sont pas des = pour vérifier dans le If, mais des ==
ça donne donc ça
if( $_GET['lang'] == "fr" OR $_GET['lang'] == "de" OR $_GET['lang'] == "en" )
aller voir la les programer
http://www.commentcamarche.net/forum/affich 10576457 scrip c besain aide modif
il c pas mal demerder d'ailleur mais il a un souci moi je uis pas prog alors peut pas aider
http://www.commentcamarche.net/forum/affich 10576457 scrip c besain aide modif
il c pas mal demerder d'ailleur mais il a un souci moi je uis pas prog alors peut pas aider