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

Répondre à