Formulaire : étape 5, rajout internationalisation
[zf2.biz/galerie.git] / module / Galerie / src / Galerie / Form / GalerieForm.php
index 02107cd..4e3749b 100644 (file)
@@ -4,12 +4,20 @@ namespace Galerie\Form;
 
 use Zend\Form\Form;
 
-class GalerieForm extends Form
+use Zend\I18n\Translator\TranslatorAwareInterface;
+use Zend\I18n\Translator\Translator;
+
+
+class GalerieForm extends Form implements TranslatorAwareInterface
 {
 
-    public function __construct($name=null)
+    private $_translator;
+    private $_textDomain = 'galerie';
+    private $_translator_enabled = true; 
+
+
+    public function initialize()
     {
-        parent::__construct('galerie');
         $this->setAttribute('method', 'post');
         $this->add(array(
             'name' => 'id',
@@ -23,7 +31,7 @@ class GalerieForm extends Form
                 'type' => 'text',
             ),
             'options' => array(
-                'label' => 'Name',
+                'label' => $this->translate('Galerie_form_label_name'),
             )
         ));
         $this->add(array(
@@ -32,7 +40,7 @@ class GalerieForm extends Form
                 'type' => 'text',
             ),
             'options' => array(
-                'label' => 'Description',
+                'label' => $this->translate('Galerie_form_label_description'),
             )
         ));
         $this->add(array(
@@ -42,10 +50,55 @@ class GalerieForm extends Form
                 'value' => 'Valider',
                 'id' => 'submit_galerie_form',
             ),
-            'options' => array(
-                'label' => 'Description',
-            )
         ));
     }
 
+
+
+
+    public function translate($k)
+    {
+        if ($this->_translator && $this->_translator_enabled) {
+            return $this->_translator->translate($k, $this->_textDomain);
+        }
+        return $k . '(Non traduit)';
+    }
+
+
+    public function setTranslator(Translator $translator = null, $textDomain = null)
+    {
+        $this->_translator = $translator;
+       $this->_textDomain = $textDomain;
+    }
+
+    public function getTranslator()
+    {
+        return $this->_translator;
+    }
+
+    public function hasTranslator()
+    {
+        return $this->_translator !== null;
+    }
+
+    public function setTranslatorEnabled($enabled = true)
+    {
+        $this->_translator_enabled = $enabed;
+    }
+
+    public function isTranslatorEnabled()
+    {
+        return $this->_translator_enabled;
+    }
+
+    public function setTranslatorTextDomain($textDomain = 'default')
+    {
+       $this->_textDomain = $textDomain;
+    }
+
+    public function getTranslatorTextDomain()
+    {
+        return $this->_textDomain;
+    }
+
 }