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
puis dans le fichier fr.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
et donc si je veux récupérer une string traduite dans une vue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php return array( 'key_1'=>'Traduction 1', 'key_2'=>'Traduction 2', );
je fais dans mon action
et dans ma vue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $t = Zend_Registry::get('Zend_Translate'); $this->view->toto = $t->translate('key_1');
jusque tout va bien, le problème est quand j'essaye de traduire un label de formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php echo $this->toto; ?>
pour j ai fait fait dans mon form
et bien contre tout attente ca ne marche pas et recoit la notification suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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');, )); }
j ai l'impression qu'il essaye de traduite la traduction ?Notice: Untranslated message within 'fr': Traduction 2 in C:\wamp\www\zf-auth-tutorial\library\Zend\Translate\Adapter.php on line 824
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
Partager