Zu übersetzen, wie Formular-labels in Zend Framework 2?

Ich bin nicht immer es!.. Kann bitte jemand erklären, wie das zu übersetzen Formular-labels? Ein einfaches Beispiel wäre toll.

Vielen Dank im Voraus!


Klasse Suchen\Form\CourseSearchForm

...

class CourseSearchForm extends Form {

    ...

    public function __construct(array $cities) {
        parent::__construct('courseSearch');
        ...
        $this->add(array(
            'name' => 'city',
            'type'  => 'Zend\Form\Element\Select',
            'options' => array(
                'label' => 'Stadt',
                'value_options' => $this->cities,
                'id'  => 'searchFormCity',
            ),
        ));
        ...
    }
}

view-script /module/Suche/Ansicht/Suche/search/search-form.phtml

<?php echo $this->form()->openTag($form); ?>
<dl>
    ...
    <dt><label><?php echo $form->get('city')->getLabel(); ?></label></dt>
    <dd><?php echo $this->formRow($form->get('city'), null, false, false); ?></dd>
    ...
</dl>
<?php echo $this->form()->closeTag(); ?>
<!-- The formRow(...) is my MyNamespace\Form\View\Helper (extends Zend\Form\View\Helper\FormRow); the fourth argument of it disables the label. -->

Den module/Application/config/module.config.php konfiguriert ist:

return array(
    'router' => ...
    'service_manager' => array(
        'factories' => array(
            'translator' => 'Zend\I18n\Translator\TranslatorServiceFactory',
        ),
    ),
    'translator' => array(
        'locale' => 'de_DE',
        'translation_file_patterns' => array(
            array(
                'type'     => 'gettext',
                'base_dir' => __DIR__ . '/../language',
                'pattern'  => '%s.mo',
            ),
        ),
    ),
    'controllers' => ...
    'view_manager' => ...
);

Ich bearbeitete auch meine Ansicht, und verwenden Sie die FormLabel view Helfer:

<dt><label><?php echo $this->formLabel($form->get('city')); ?></label></dt>

Desweiteren habe ich gedebuggt FormLabel an der Stelle, wo die tranlator verwendet (Zeilen 116-120) -- scheint OK zu sein.

Aber es funktioniert immer noch nicht.


BEARBEITEN

Den (test) - Elemente für Etiketten, die ich Hinzugefügt, um die de_DE.po - Datei manuell, sind tranlated. Die Seite ZF2 problem war eigentlich, dass ich mit $form->get('city')->getLabel() statt $this->formlabel($form->get('city')) im th-Skript anzeigen.

Das problem ist nun, dass die Etiketten nicht auf die de_DE.po - Datei. Aber es ist nicht eine ZF2 Problem mehr, also ich habe akzeptieren Ruben Antwort, und öffnen Sie eine neue Poedit Frage.

  • Bitte fügen Sie einige code, von dem, was Sie derzeit haben. Es wird es einfacher machen, Ihnen zu helfen und sehen, was das problem ist.
  • Danke für eine schnelle Antwort! Ich habe den relevanten code jetzt.
InformationsquelleAutor automatix | 2013-04-12
Schreibe einen Kommentar