/** * Language translation form. * * @param Language $language * @return Curry_Form */ protected function getTranslationForm(Language $language) { $form = new Curry_Form(array('action' => url('', $_GET), 'method' => 'post')); $translations = LanguageStringTranslationQuery::create()->filterByLanguage($language)->find()->toKeyValue('StringId', 'Translation'); foreach (LanguageStringQuery::create()->find()->toKeyValue('Id', 'ElementType') as $id => $elementType) { $translation = array_key_exists($id, $translations) ? $translations[$id] : ''; $options = array('label' => $id, 'value' => $translation); try { $form->getPluginLoader('element')->load($elementType); if ($elementType == 'textarea') { $options['rows'] = 4; //$options['wrap'] = null; } } catch (Zend_Loader_Exception $e) { $elementType = 'text'; } $form->addElement($elementType, sha1($id), $options); } $form->addElement('submit', 'submit', array('label' => 'Save')); return $form; }