Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-05-2014 09:34:51

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Application multilingue avec traduction des chaines en base de donnée

Bonjour,

Mon projet nécessite de gérer des traductions pour l'instant Anglais Français, j'ai déjà tout une architecture qui me permet de le faire bien, pour des choses simple, dans les fichier .phtml pour l'instant.

Mon soucis c'est que je vais devoir probablement traduire des chaînes issue de la base de donnée. Et c'est la qu'il y a un 'couic'. Car quel est la meilleure pratique (conceptuellement parlant) pour faire cela ?
Chaque table ou il y a des chaines à traduire devrait avoir une autre colonne pour chaque langue ?
Comment les récupérer selon la locale dans le code ? Nommer la colonne de ce genre en_US, fr_FR, es_ES ?

J'ai pour l'instant qu'une table concerné avec une seule chaine a traduire mais cela n'est que le début.
Il faudra surement que sur d'autre table toutes les chaines qui pourrait être affiché à l'écran soient traduites... textes, articles etc...

Si vous avez des idée et/ou des bonnes pratique pour cela je suis preneur !

Merci d'avance.


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#2 05-05-2014 10:04:36

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Application multilingue avec traduction des chaines en base de donnée

Salut, tu vas devoir te faire un translator customisé je pense. Après en base faire une colonne par langue peut être vite bordélique si tu dois rajouter une langue tu ne peux pas le faire dynamiquement alors qu'une table de langue + une jointure vers une table de traduction te permet d'avoir autant de langues que tu veux et leur traductions wink.

Hors ligne

 

#3 05-05-2014 10:14:33

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: Application multilingue avec traduction des chaines en base de donnée

Salut Orkin,
Merci pour ta réponse, tu viens de confirmer que ce serait bordélique sur chaque table de faire la traduction surtout si on doit rajouter une langue...
Une table de langue tu l'imagine comme cela ?

Code:

Lang //fr_FR -  en_En -> c'est un code unique donc une clé primaire

et la table de trad

Code:

idtrad
tradDefaut
//+1 colonne pour chaque lang ?

Et au niveau des relations, la table lang serait plutôt pour faire une jointure et récupérer les trad selon la locale choisie donc ?


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#4 05-05-2014 10:20:17

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Application multilingue avec traduction des chaines en base de donnée

Une table de langue avec id, code et libellé et une table traduction avec clé, traduction et clé étrangère vers la table langue.

Hors ligne

 

#5 05-05-2014 10:35:25

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Application multilingue avec traduction des chaines en base de donnée

Comme le dit Orkin,

tu fait une table lang

et ensuite tu rajoute des tables avec ta langue. Exemple :
tab_product
+
tab_product_lang

Ensuite tu fait la liaison entre les deux avec l'id_product. Et dnas ta table tab_product_lang tu rajoute l'id_lang qui correspondra à ton langage courant. smile

Hors ligne

 

#6 05-05-2014 10:37:05

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: Application multilingue avec traduction des chaines en base de donnée

Merci en effet c'est plus simple de cette manière.


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages