Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 11-08-2009 13:54:22

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

[ZF 1.9]Quelques questions sur Zend_Translate

Bonjours,
j'ai quelques questions à poser sur Zend_Translate.
En vue de la création d'un modèle de site de commerce (moins complexe que magento). Nous essayons de faire un système multilingue.
Nous stockerons les phrases et titres du site dans des fichiers CSV mais pour la description, titre, remarque des produits, le mieux reste la base de donnée pour l'enregistrement par l'administrateur.

Le problème c'est que dans la doc il n'y a nul par un exemple de comment utiliser la base de donnée pour Zend_Translate.

Est-ce compliqué à mettre en œuvre? Si non, quelles sont les étapes nécessaires à la mise en place?
D'après vous est-ce la meilleure solution?

Pour l'adresse du site comment faire le modèle: "baseurl/langue/module/controller/action/param1/..." ?

Hors ligne

 

#2 11-08-2009 16:05:07

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: [ZF 1.9]Quelques questions sur Zend_Translate

Rien ne t'empêche de faire l'adapter qui te convient, en prenant appui sur l'existant Zend_Translate_Adapter_*

Il est difficile de prévoir un Zend_Translate_Adapter_Db car cela dépend de l'organisation de tes données en base.

My 50 cents

Hors ligne

 

#3 11-08-2009 17:36:59

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: [ZF 1.9]Quelques questions sur Zend_Translate

d'accord, pour la traduction j'ai les tables suivantes:

-produitFR
-produitEN
-produitES
-produitDE

Dans chaque table j'ai les champs suivants:

- idproduit
- nomproduit
- descriptionproduit
- remarqueproduit

Comment faire pour que Zend_Translate regarde dans la colonne désirée?? Si je veux afficher la description produit je fais donc un $this->translate(idproduit); mais pour récupérer le contenu de la colonne description, sa a l'air d'être plus complexe.

Hors ligne

 

#4 12-08-2009 09:44:40

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: [ZF 1.9]Quelques questions sur Zend_Translate

Ta structure de BDD me semble pas la meilleure mais bon.

Perso, je serai plutot parti sur :

idproduit
nomproduit
descriptionproduit
remarqueproduit
langueproduit

Ce qui te permet de faire un Zend_Translate_Adapter avec comme clé le nom du champ a récuperer ainsi que l'idproduit, la langue étant récuperable via Zend_Locale big_smile

Après c'est juste une requete a faire dans la methode __()

exemple vite fait :

Code:

public function __($item){
    list($champ, $id) = split('_', $item);
    $lang = Zend_Registry::get('Zend_Locale')->getLanguage();
    $result = $this->_db->setFetchMode(Zend_Db::FETCH_OBJ)
                                  ->fetchCol("Select $champ From Produit Where idproduit=? AND langueproduit = ?"
                                                  , array($id, $lang));
    return isset($result[0]) ? $result[0] : $champ ;
}

Code a prendre avec des pincettes car je suis pas sur que le fetchCol fonctionne correctement mais l'esprit est la ^^

Hors ligne

 

#5 12-08-2009 10:07:17

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: [ZF 1.9]Quelques questions sur Zend_Translate

d'accord, donc je fais qu'une seule table langue.
Je savais même pas que fetchCol existait (en même temps j'utilise que les zend_db_table_abstract).

Par contre pour l'adaptateur BDD de Zend_Translate je vois pas trop.

Au final j'aurai donc deux objets zend_translate.

A pour la BDD et l'autre pour les fichier *.mo

Hors ligne

 

#6 12-08-2009 11:22:36

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: [ZF 1.9]Quelques questions sur Zend_Translate

Ca sert potentiellement a quelque chose les manuels ^^

pour l'adapter de Zend_Translate, j'ai jamais fait, mais tu devrais regarde le code de Zend_Translate_Adapter_CSV ou Zend_Translate_Adapter_Ini ou autre et adapte le pour ton cas spécifique.

C'est un des avantages du code objet ^^

Hors ligne

 

#7 12-08-2009 11:25:27

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: [ZF 1.9]Quelques questions sur Zend_Translate

j'en ai trouvé un dans les issues Zend mais en commentaires ils disent de pas étendre Zend_Translate et de prendre notre mal en patience.

Voici le lien:
http://framework.zend.com/issues/browse/ZF-3398

J'ai survolé un peu sa avec la classe Zend_Translate mais je vois pas comment indiquer que c'est l'adaptateur DB sans devoir modifier la classe.
Ou alors je créer ma classe App_Translate extends Zend_Translate et là je rajoute ce qu'il faudrai

Dernière modification par throrin19 (12-08-2009 11:25:56)

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