Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Form
Zend_Form Forum d'entraide pour le composant Zend_Form du Zend Framework (création de formulaires, helpers, AJAX etc.). Avant de poster -> FAQ Zend_Form.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/04/2011, 12h37   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 6
Points : 0
Points : 0
Par défaut Traduction label formulaire

Bonjour,

je me lance a travers un projet dans zend Framework, et je suis pour le moment en train des tester les traductions.
Donc voila ce que j ai fait

dans mon config.ini
Code :
1
2
3
4
5
6
7
;initialisation des traductions
resources.translate.adapter                 = "array"
resources.translate.default                 = fr
resources.translate.data                    = APPLICATION_PATH "/languages"
resources.translate.options.scan            = "filename"
resources.translate.options.disableNotices  = true
resources.translate.options.logUntranslated = true
puis dans le fichier fr.php
Code :
1
2
3
4
5
<?php
return array(
	'key_1'=>'Traduction 1',
	'key_2'=>'Traduction 2',
);
et donc si je veux récupérer une string traduite dans une vue
je fais dans mon action
Code :
1
2
$t = Zend_Registry::get('Zend_Translate');
$this->view->toto = $t->translate('key_1');
et dans ma vue
Code :
<?php echo $this->toto; ?>
jusque tout va bien, le problème est quand j'essaye de traduire un label de formulaire.
pour j ai fait fait dans mon form
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
class Application_Form_Login extends Zend_Form
{
 
    public function init()
    {
        $t = Zend_Registry::get('Zend_Translate');
        $this->setName("login");
        $this->setMethod('post');
        //$this->setDisableLoadDefaultDecorators(true);
 
 
        $this->addElement(
            'text', 'username', array(
            'filters'    => array('StringTrim', 'StringToLower'),
            'validators' => array(
                array('StringLength', false, array(0, 50)),
            ),
            'required'   => true,
            'label'      => $t->translate('key_2');,
        ));
 
    }
et bien contre tout attente ca ne marche pas et recoit la notification suivante :

Citation:
Notice: Untranslated message within 'fr': Traduction 2 in C:\wamp\www\zf-auth-tutorial\library\Zend\Translate\Adapter.php on line 824
j ai l'impression qu'il essaye de traduite la traduction ?

peut être mon approche est pas bonne et je n ai pas trouvé de solution sur le forum ou sur google.

Donc si une bonne âme pouvait m'aider ...

Par avance merci
Séb
dcjones est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 08h35   #2
Invité de passage
 
Inscription : janvier 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 6
Points : 0
Points : 0
Par défaut suite

j ai donc trouvé ce qui me générait cette erreur :

Dans mon config.ini
Code :
1
2
 
resources.translate.options.logUntranslated = false
maintenant on dirait que c'est un bug car mon label est bien traduit

quelqu'un a déjà eu ce problème ?

par avance merci
Séb
dcjones est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 08h46   #3
Membre actif
 
Avatar de shadypierre
 
Inscription : février 2009
Messages : 250
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : février 2009
Messages : 250
Points : 197
Points : 197
Dans les formulaire la traduction est automatique pas besoin de mettre quoi que ce soit, donc en effet il essai de traduire la traduction
shadypierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2011, 17h52   #4
Nouveau Membre du Club
 
Inscription : novembre 2007
Messages : 214
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 214
Points : 33
Points : 33
+1, dans ton form tu fais simplement :

Code :
1
2
3
4
5
6
7
8
9
$this->addElement(
            'text', 'username', array(
            'filters'    => array('StringTrim', 'StringToLower'),
            'validators' => array(
                array('StringLength', false, array(0, 50)),
            ),
            'required'   => true,
            'label'      => 'key_2'
        ));
Dev@lone est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h09.


 
 
 
 
Partenaires

Hébergement Web