Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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.
Hors ligne
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 .
Hors ligne
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 ?
Lang //fr_FR - en_En -> c'est un code unique donc une clé primaire
et la table de trad
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 ?
Hors ligne
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
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.
Hors ligne
Merci en effet c'est plus simple de cette manière.
Hors ligne
Pages: 1