Echange d'idees

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 24 déc. 2004 à 16:18
Fran6net Messages postés 17 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 12 janvier 2005 - 27 déc. 2004 à 17:48
Salut, et joyeux Noel a tous :-)

Voila, je fais ce post non pas pour poser une question technique, mais pour tenter un petit echange d'idees!
Ces 2 dernieres annees, je voyage; l'annee derniere, j'ai bosse en Irlande, cette annee, je travaille en Allemagne...ces perenigrations m'ont amene a un constat assez simple : quelle galere!! Ok, on emporte le Guide du Routard pour les pubs, restos, et curiosites a visiter, on consulte les differents sites dedies aux expatries pour les questions administratives, les sites officiels du pays pour les memes raisons, etc etc...finalement, c'est beaucoup de boulot, et on a pas toujours les infos que l'on veut.
Alors j'ai decide, avec ma copine, de creer un site dedie a ca. C'est un peu vaste, et tres subjectif, mais ce site regroupera a la fois des infos facon guide du routard, sur les lieux ou l'on est alle, avec nos coups de coeur etc, mais aussi des infos pratiques sur le pays, la region, la ville, etc...ou loger, comment se soigner, quels imperatifs administratifs a remplir pour bosser, payer ses impots etc...un peu tout quoi. Avec evidemment la possibilite a des utilisateurs de faire leurs propres fiches.
Bon enfin, le concept est pret, pas la structure encore...

Mais mon echange d'idees est a propos d'une possibilite de ce site. Je voudrais que ce site soit (au depart en tous cas), en 3 langues : français, anglais et allemand (forcement...). J'aimerais beaucoup lire vos idees quant a comment proceder?
Mon idee a la base, c'est la suivante:
Je veux une traduction dynamique de la page en cours, et non pas 3 sites differents. Du coup...prenons par exemple le descriptif d'un resto. Dans ma table resto (je simplifie hein...), je vais avoir les textes dans les 3 langues, dans tes tables genre desc_fr, desc_en, desc_de. Ou peut-etre 3 tables differentes : resto_fr, resto_en etc...je sais pas encore.
Quand l'utilisateur arrive sur le site, par defaut, il est en francais, avec une variable language qui, si elle n'existe pas, et mise par defaut a "_fr", qui est trimbalee dans l'URL chaque fois qu'il change de page.
Quand l'utilisateur est sur la page de descriptif du rest en question, s'il clique sur le petit drapeau anglais, je recupere l'URL complete avec les variables, et je modifie cette variable language, en la positionnant sur "_en", et je recharge la page ou il se trouve.
Mes requetes Mysql sont definies par avance avec cette variable. Genre : $desc_resto="desc".$language;
SELECT $desc_resto FROM resto WHERE idresto=$choix_resto

D'autres suggestions??

5 réponses

Fran6net Messages postés 17 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 12 janvier 2005
25 déc. 2004 à 09:56
Eh bien en faite, je ne suis pas sur d'avoir tout très bien compris! Mais apparament, tu souhaiterais écrire les infos en Français et que sa traduirai tout seul en Anglais et en Allemand! Déjà là, c'est chaux patate! Et puis après si il faut récuperer le texte en Français par défault ou en anglais ou allemand (les deux dernières définis par l'utilisateur) il te faudra utiliser les variables $_GET
Donc dis-moi si tu connais les variables $_GET!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 déc. 2004 à 10:42
Hello,

voui voui, je programme deja depuis quelques annees en PHP. Et c'est exactement ce que j'ai fait jusqu'a present.
Je reexplique :
- chaque table de ma base comprends le texte en francais, en anglais et en allemand. Le plus simple pour visualiser, c'est imaginer un menu a gauche avec le nom des 3 pays (France, Allemagne et Irlande).
- Quand l'utilisateur arrive sur le site, je teste une variable $traduc (en fait, je teste $_POST['traduc']). Si elle n'est pas definie, je mets la variable $traduc a '_fr'.
- Dans ma table pays, pour les noms des pays, j'ai 3 champs : pays_fr, pays_de, pays_en.
- Il faut savoit que chaque page de mon site est divisee en 4 fichiers au minimum : le inc.php, avec mes variables globales, le haut.php, avec tous les menus et ce qui ne bouge pas dans mon site, la page principale (celle qui change a chaque clic), et bas.php qui ne contient que...ben le footer de mon site.
- Donc, l'utilisateur a acces a un autre menu (dans haut.php) avec les choix Francais, Deutsch, English. S'il clique sur English, je fais un POST['traduc']='_en'. Un POST parceque je veux que l'utilisateur puisse bookmarker une page avec la traduction voulue.
- Suite a ce POST, la page se recharge.
- On revient au menu avec les 3 pays. La requete est ecrite ainsi:
mysql_query=("SELECT pays".$traduc." FROM pays");

Voili.
Ca marche nickel. Ce que je n'ai pas encore teste, c'est si ce code ne va pas s'embrouiller un peu lorsqu'il y aura plusieurs pages. Le but etant de ne pas rediriger l'utilisateur sur la page index.php a chaque fois qu'il clique sur une traduction, mais qu'il reste sur la meme page. Je ne sais pas encore si le POST suffira a remplir cette fonction, ou si je devrais recuperer l'URL chaque fois, etc...je n'ai creer qu'une page pour le moment donc...on verra!
0
LaurentKOogar Messages postés 369 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 20 octobre 2013
27 déc. 2004 à 09:38
Slt,

Et pourquoi tu passerais pas directement par une session?
Lorque ton visiteur click sur la langue, ca met _fr ou _en dans $traduc, $_SESSION['traduc'] = $_POST['traduc']; puis ta + k lire :

<?php if(isset($_SESSION['traduc']))
$traduction = $_SESSION['traduc'];
mysql_query=("SELECT pays".$traduction." FROM pays");
?>

C'est pas mieux comme systeme ?

Laurent
http://www.phpsources.net
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
27 déc. 2004 à 12:45
Hello,

ah si, c'est tres sympa :-)
Je vais essayer tien, parce que ca evite tout probleme futur quant aux changements de pages etc. La session reste a coup sur.
Vouai...

Oki, j'essaye ca! Merci Laurent :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fran6net Messages postés 17 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 12 janvier 2005
27 déc. 2004 à 17:48
Ouai mais si jamais tu es chez free, il faut prendre en compte que les sessions il faut les faire dans un dossier appelé "sessions" et le mettre à la racine!
0
Rejoignez-nous