quelle meilleure maniere pour faire un site multilingue?

Eléphant du PHP | 319 Messages

14 janv. 2008, 17:26

hello,

qq un saurait m'aiguiller dnas la bonne direction svp?
voila: je ne suis pas une star du php et je debute avec le JS.

je souhaiterais que la prochaine etape pour moi soit de realiser un site en au moins 2 langues (et essayer de developper avec Zend framework histoire de voir si le modele MVC c'est plus facile que de tout coder a mano. ca me fait une bonne liste de chose a voir avec flash et actionscript pour 2008! ;) )

aussi je me demandais: comment est ce que l'on cree un site multilingue?

je suppose que le choix de la langue peut se faire en fonction de la langue du navigateur.
on peut stocker cela dans une variable de session.

apres on peut aussi choisir de mettre une langue par defaut et permettre de changer via une liste deroulante ou un drapeau. changer la langue via JS ou php.

y en a t il d'autres qui soient mieux?

par ailleurs:

je ne vois pas trop comment gerer les pages crees en plusieurs langues dans la base de donnees... qq un aurait des suggestions a me faire la dessus s'il vous plait?

merci de vos reponses :)
alex
niveau: pas terrible en php mais je me soigne...

Mammouth du PHP | 1885 Messages

14 janv. 2008, 18:03

La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphant du PHP | 319 Messages

14 janv. 2008, 18:46

en effet, il n'y a pas trop longtemps.

merci Xenon_54!!

je vais voir ce que ca donne (ca serait anglais / chinois ou anglais / malais pour les langues tout de meme ;) )

j'etais tombe sur gettext + poedit sur un site sans trop savoir quoi en penser...
apparement ca semble etre une bonne solution.

de ce que je comprends ca evite d'avoir a envoyer dans la base de donnees ce qui n'est pas sans interet! :)

maintenant il faut que je vois ce que ca peux donner cote administrateur et cote internaute.
Modifié en dernier par choubix le 14 janv. 2008, 18:52, modifié 1 fois.
niveau: pas terrible en php mais je me soigne...

Mammouth du PHP | 1885 Messages

14 janv. 2008, 18:50

J'ai vu le site d'un de nos clients utiliser MySQL comme backend. À moins d'utiliser un système de cache, c'est pas une bonne idée. :P
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphant du PHP | 319 Messages

14 janv. 2008, 18:56

je me doute que ca a du ramer qq chose de bien cote base de donnees et te faire t'arracher les cheveux pour remettre tout ca a l'endroit... ;)

bon:

demain installation de Zend framework et lecture de tutos!
apres je vois pour mon appli facebook et dans la foulee je lirais comment faire pour traduire les sites sans avoir a charger de trop le serveur!! (je sens qq chose comme Zend, Smarty et gettext arriver au grand galop...)

ca va faire bcp d'un coup tout de meme! (d'ailleurs je me demande si Zend sera facile a utiliser...)

en attendant : BANZAIIIIIIIIIII ;) et merci Xenon! :)
niveau: pas terrible en php mais je me soigne...

Mammouth du PHP | 1885 Messages

14 janv. 2008, 18:59

je me doute que ca a du ramer qq chose de bien cote base de donnees et te faire t'arracher les cheveux pour remettre tout ca a l'endroit... ;)
En fait, il y avait une loop infinie dans un de ses scripts. Imagine la galère niveau MySQL qui tente de récupérer toutes les traductions. (même si c'était encore en dev et que personne fréquentait le site sauf le développeur)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphant du PHP | 319 Messages

14 janv. 2008, 20:11

ca a du etre la joie a trouver ca...

marrant: en vba il y a l'inspecteur de code. on fait tourner le code et on peut l'arreter qd ca plante et voir ou ca plante.

ca serait utile ce genre de fonction en php mais je ne pense pas l'avoir encore vu (en tout cas ca n'est pas dans ma methode de programmation qui est: dreamweaver MX + serveur local => mise en production).
niveau: pas terrible en php mais je me soigne...

ViPHP
AB
ViPHP | 5818 Messages

14 janv. 2008, 20:41

ca a du etre la joie a trouver ca...

marrant: en vba il y a l'inspecteur de code. on fait tourner le code et on peut l'arreter qd ca plante et voir ou ca plante.

ca serait utile ce genre de fonction en php mais je ne pense pas l'avoir encore vu (en tout cas ca n'est pas dans ma methode de programmation qui est: dreamweaver MX + serveur local => mise en production).
Oui en même temps, c'est une erreur de programmation et pas du au fait d'utiliser une bdd pour faire du multilangue. Maintenant si on veut tout mettre en bdd pour la traduction ce n'est pas la bonne méthode non plus.
Mais comme je l'expliquais dans le lien donné par Xenon_54 il est tout à fait possible de faire un mix tableau + bdd et cela se justifie d'autant plus qu'on utilise déjà la bdd pour faire du cms et modifier les parties administrables.

Tout dépend donc de ton projet en cours. Utiliser systématiquement gettext même pour des petits projets me semble sur dimensionné même si pour le reste c'est LA solution.


Heu tu as toujours la version MX ? Si tu as la possibilité d'update vers la version 8, ne t'en prives pas, il y a de nombreuses améliorations :wink:

Eléphant du PHP | 319 Messages

14 janv. 2008, 20:54

disons que, hummm, financierement j'ai eu bcp de sorties a Noel...
donc la version 8 devra attendre une tout petit peu (et je voudrais bien prendre flash aussi donc bon... :) )

plus j'avance et plus je suis epate par les fonctionnalites qu'offre php (surtout le fait qu'il pardonne les debutant pour les erreurs de syntaxe ;) )

je vais tout de meme me pencher sur gettext. tant qu'a faire autant essayer de faire les choses bien des le debut (surtout a mon niveau...)
niveau: pas terrible en php mais je me soigne...

ViPHP
AB
ViPHP | 5818 Messages

14 janv. 2008, 21:00

surtout le fait qu'il pardonne les debutant pour les erreurs de syntaxe ;)
Oui enfin il ne pardonne pas les erreurs de syntaxes. Je suppose que tu voulais dire que PHP est assez facile à débugguer contrairement à javascript par exemple :wink:

Mammouth du PHP | 1885 Messages

14 janv. 2008, 22:33

Et pourquoi pas un système combiné avec memcache ou eaccelerator?

Tu charges le tableau dans le cache et il est accessible rapidement de partout car il est en mémoire. :P
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

ViPHP
ViPHP | 3300 Messages

15 janv. 2008, 00:48

la mémoire c bien mais quand y'en a plus c'est moins bien :)
Fait du php depuis que ca existe ou presque :)

Mammouth du PHP | 1885 Messages

15 janv. 2008, 01:33

La mémoire coute rien de nos jours. :)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP