Ich bekomme nicht it! .. Kann bitte jemand erklären, wie man Formularetiketten übersetzt? Ein einfaches Beispiel wäre großartig.Wie übersetzt man Formular-Etiketten in Zend Framework 2?
Vielen Dank im Voraus!
Klasse Search \ Formular \ 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 Skript /module/Search/view/search/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. -->
Die 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' => ...
);
I edited auch meine Ansicht und verwenden Sie die FormLabel
View Helfer:
<dt><label><?php echo $this->formLabel($form->get('city')); ?></label></dt>
Außerdem gedebuggt ich die FormLabel
an der Stelle, wo die tranlator (Linien 116-120) verwendet wird - - scheint ok zu sein.
Aber es funktioniert immer noch nicht.
EDIT
Die (Test) Artikel für Etiketten, ich in die de_DE.po
Datei manuell hinzugefügt werden tranlated. Das ZF2-Seitenproblem war eigentlich, dass ich $form->get('city')->getLabel()
anstelle von $this->formlabel($form->get('city'))
in diesem Skript verwendete.
Das Problem ist jetzt, dass die Etiketten nicht zur Datei de_DE.po
hinzugefügt werden. Aber es ist kein ZF2-Problem mehr, also habe ich Rubens Antwort akzeptiert und eine neue Poedit-Frage eröffnet.
Bitte fügen Sie einen Code von dem, was Sie im Moment haben. Es wird Ihnen leichter helfen und sehen, was das Problem ist. – Ruben
Vielen Dank für eine schnelle Antwort! Ich habe jetzt den entsprechenden Code hinzugefügt. – automatix