Un jeu polyglotte - Oui, mais comment ? - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Un jeu polyglotte - Oui, mais comment ? (/showthread.php?tid=1679) |
RE: Un jeu polyglotte - Oui, mais comment ? - Sephi-Chan - 31-08-2007 Roworll a écrit :- En fonction du navigateur, soit je fais la transformation XSL en local (Opera) soit je laisse le navigateur se débrouiller (IE/FF)Ta technique est intéressante mais je ne comprends pas comment tu fais pour déterminer si tu dois faire la transformation côté client ou côté serveur, puisqu'à ce moment là il n'y a pas d'info concernant le poste client. Ca me laisse perplexe. Mais sinon la technique est super, mais je comprends pas très bien les règles et le format XPATH. Sephi-Chan RE: Un jeu polyglotte - Oui, mais comment ? - Roworll - 31-08-2007 Coté client ou serveur ? Ca dépend du navigateur. En gros, je commence par détecter le navigateur utilisé avec $_SERVER['HTTP_USER_AGENT'] et je colle ça en variable de session (pour éviter de retester à chaque page). Je sais que IE6+ et FF1.5+ fonctionne bien et si je détecte ces navigateurs, je mets ma variable à true. Pour le reste c'est sur le serveur, variable à false. Ensuite, une simple fonction fait l'affaire. Un truc du genre Code PHP :
Quand à XPath,c'est hyper simple à appréhender. Quelques explications ici Je finis avec deux exemples sur les possibilités du XSL - Trois présentations différentes à partir de la même source de données (XSL, Résultat) - Une FAQ. Une seule source de données permet de générer le sommaire et le contenu (XSL, Résultat) RE: Un jeu polyglotte - Oui, mais comment ? - HammHetfield - 03-09-2007 Je m'incruste dans cette discussion... Tout d'abord pour rappeller que de nombreux jeux melange plusieurs langues et que tout le monde s'y retrouve (avec l'anglais) donc les interractions sociales devraient aussi etre possibles dans ton jeu ^^ en suite une idée qui me vient a l'esprit serait de faire un panneau d'administration pour chaque page du site, avec de zone de texte, une an anglais, l'autre en francais, avec du bbcode, ce qui te permettrait d'enregistrer ce qui se trouve dans chaque page (le texte, pas les requetes) et dans chaque langue dans une base de données, ensuite, tu recuperes la langue favorite et tu la mets dans une variable de session, si c'est france, quand tu choisiras ta base de donnée, c'est la basse france qui sera choisie, sinon si la variable de session est anglais, ce sera dans la table anglais, comme ca, la traduction est plus clair, il n'y a que l'affichage du texte en fonction de la page, les requetes a insérer dans le code et tout le reste se fait automatiquement! Et pour reduire encore plus, tu fais tout le site sur une unique page, et tu transmet le nom de la page a afficher par GET, comme ca tu n'as a choisir la base de données qu'une seule fois! Voila, j'espere t'avoir aidé dans ta decision ^^ RE: Un jeu polyglotte - Oui, mais comment ? - naholyr - 03-09-2007 C'est une idée qui a déjà été soumise et ce n'est pas une bonne solution car en dupliquant toute la base tu duplique également des données qui n'ont pas à être traduites, c'est une source de bugs ou au moins d'incohérences à venir (ah tiens, cebatiment est moins cher en anglais, bah je vais changer de langue avant de l'acheter). Et travailler avec 3 bases (2 pour le contenu multi-langue, 1 pour les valeurs communes), merci :/ RE: Un jeu polyglotte - Oui, mais comment ? - HammHetfield - 03-09-2007 Justement, non, tu ne dupliques pas les parties communes! Les valeurs sont définies dans le code pur, et utilisées de facon textuelle via les formulaires de ta page d'administration! Ceci dit, les 3 bases me semblent etre une bonne solution! RE: Un jeu polyglotte - Oui, mais comment ? - NicoMSEvent - 03-09-2007 déjà que la majorité des personnes ont des problemes avec une seule base... alors trois ^^ RE: Un jeu polyglotte - Oui, mais comment ? - naholyr - 03-09-2007 En effet, avoir trois bases me semble être au contraire la pire des solutions possibles :/ RE: Un jeu polyglotte - Oui, mais comment ? - Zamentur - 11-12-2007 Personnelement j'utilise un systeme de fichier langue pour les textes courants (donc qui revienne frequement). Pour les autres textes (moins frequent ou plus dynamique genre message du forum) j'utilise la bdd. J'ai donc une table `texte` qui contient id , fr, en (et d'eventuels infos sur le texte si besoin) Une table `texte_varchar` peut aussi etre nécéssaire Ainsi toute mes autres tables qui ont besoin de faire appel à du texte font en fait reference à un id de cette table par exemple `objet` id, id_nom, poid, id_description Une classe d'abstraction SQL peut aider à creer les jointures necessaires, mais pour l'instant je le fais en requete direct. Ce systeme permet aussi de mettre au point un forum ou les message important sont traduit dans les differentes langues... Enfin une console d'administration des textes permet de corriger les textes que ce soit dans la bdd ou dans les fichier langue et çà sans s'en rendre compte. Par contre j'ai trouvé super interessant la solution avec gettext, je m'en vais voir çà de suite! RE: Un jeu polyglotte - Oui, mais comment ? - Eluox - 11-12-2007 Perso, moi pour utiliser un systeme de langue j'utilise un fichier php tout simple, jexplique : Sur mon fichier ou il y a differente langue possible, je fait : Code PHP :
Apres je creer differents fichier php, avec dedan : Code PHP :
Pour le français, et Code PHP :
pour l'anglais, et ensuite dans le fichier n'1 ( ou j'ai recuperer la langue du navigateur) On fait : Code PHP :
Si la langue est autre que celle que vous avez choisi de possible, vous utilserz le francais, ou un autre, a vous de voir[/php] RE: Un jeu polyglotte - Oui, mais comment ? - Plume - 11-12-2007 Plutôt que des tableaux, je préfère utiliser les constantes. ~L~ |