Bonjour, merci beaucoup pour toutes ces explications, je trouve ça trés interessant ;)
je vais commencer a travailler maintenant. je te tiens au courant de la méthode utilisé ;) Cordialement On 28 déc, 22:46, Mohamed Ayoub Benjelloun <benjellounay...@gmail.com> wrote: > J'essaierai de te lister les méthodes possibles, après en fonction de ton > besoin et de tes contraintes tu en choisis celle qui te conviens le plus > * > - Méthode 1: [n bdd] (But: ne pas toucher à notre code)* > Je pense que la seule manière possible de traduire le contenu dynamique de > ton site sans avoir à toucher ni à la base de données ni aux actions c'est > d'utiliser une autre base de données dont le schéma est identique à la > première, mais avec des données différentes (données de l'autre langue), il > faudra déjà: > - trouver le moyen de passer outre le databases.yml, tu n'as qu'à explorer > le code de symfony le but c'est d'en avoir 1 par langue, et de forcer > symfony à choisir celui qui correspond à la langue en cours lors de ces > connexions à la base de données. > - Détecter les données communes aux deux bases et écrire un script qui les > copiera sur les copies de la base principale > - Écrire un cron qui permettra la mise à jour des copies en fonction du > besoin > *=> Avantages: tu ne toucheras point à tes actions > => Inconv: données redondante, latence entre les maj, tu t'aventureras sur > la partie ORM de symfony attends toi à des obstacles, bug, incohérances...* > > *- Méthode2: [Moteur de traduction] (toucher peu à notre code en dépit d'un > manque de qualité du traduisible)* > Si tu juges que le moteur de traduction de yahoo ou astalavista basé sur > babelfish est assez performant, tu pourra l'utiliser via la classe en pièce > jointe > il faut: > - réécrire la fonction "echo" en tant que helper pour qu'elle puisse en fait > afficher le résultat de la méthode translate() de notre classe > (http://blog.firehist.org/2010/02/21/symfony-creer-un-helper-personnal...) > - faire un ctrl+H sur tes modules (eclipse) et recherche les instances de > "echo" tu les changeras par le nom de ta méthode > *=> Avantages: tu ne toucheras que peu à ton code > => Inconv: Babelfish est loin d'être un traducteur assermenté, il en créera > des vannes sur ton site, pourvu que ça soit pas un site de pompe funèbre* > > *- Méthode3: [réutilisation des tables] (modifier le code, mais faire du > clean)* > l'idée est d'insérer deux id supplémentaires à toutes tes tables dont le > contenu désire être traduit, un id pour définir la langue, puis un id propre > à chaque objet et qui sera le même pour 3 lignes par exemple représentant la > même information mais en 3 langues différentes, ces deux dimensions > permettront de situer n'importe quel article dans son contexte. > il faut: > - revoir la logique de toutes tes actions, > - sortir le bon article dans la langue adéquate, traiter le cas de la non > existence de la traduction ... > *=> Avantages: tu auras du code clean > => Inconv: il te faut assez de temps pour tous modifier* > > *- Méthode4: [tables de traduction] (modifier le code, mais faire du clean)* > l'idée est un peu près la même que la 3 sauf que tu lieras chaque table à > contenu traduisible avec une autre contenant les traductions, ceci est le > cas général après en fonction des relations entre tes tables tu peux > rencontrer des complications (jointures, ...) > *=> Avantages: tu auras du code clean > => Inconv: il te faut assez de temps pour tous modifier* > > Cordialement, > > Ayoub Mohamed BENJELLOUN > IED-CP / Smile Maroc > Smile – Open Source Solutionswww.smile.fr > benjellounay...@gmail.com > +212 661 96 44 01 > > 2039_babelfis-113.zip > 1KAfficherTélécharger -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Symfony-fr. Pour envoyer un message à ce groupe, adressez un e-mail à symfony...@googlegroups.com. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse symfony-fr+unsubscr...@googlegroups.com. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr