Bevor ich den kompletten Mechanismus für Multilanguage-Support einbau ( Tutorial von teknoid z.B. ) möchte ich erst einmal "klein" anfangen um alles nachvollziehen zu können. In diesem Beispiel geht es um eine Benutzerregistrierung und dort habe i18l erst einmal bei den Validation-Messages ausprobiert.
Also ich habe bisher folgendes gemacht:
Eine view erstellt:
- Code: Alles auswählen
- echo $form->create( array( 'action' => 'register' ) );
echo $form->input( 'first_name', array
(
'label' => 'Vorname',
'error' => array( 'empty' => __( 'empty', true ) )
)
);
echo $form->input( 'last_name', array
(
'label' => 'Nachname',
'error' => array( 'empty' => __( 'empty', true ) )
)
);
echo $form->input( 'email', array
(
'label' => 'E-Mail',
'error' => array(
'unique' => __( 'unique', true ),
'email' => __( 'email', true )
)
)
);
[...]
Auszug aus meinem User-Model ( bezüglich den Validations-Regeln )
- Code: Alles auswählen
Auszug aus 'htdocs/app/locale/ger/LC_MESSAGES/default.po'
- Code: Alles auswählen
- [...]
msgid "email"
msgstr "Gültige E-Mail Adresse angeben"
msgid "empty"
msgstr "Bitte trage in dieses Feld ein"
[...]
msgid "unique"
msgstr "Bereits in Benutzung"
[...]
Und zu guter Letzt habe ich in 'htdocs/app/config/bootstrap.php'
folgendes geschrieben
- Code: Alles auswählen
- Configure::write('Config.language', "ger");
So wenn ich jetzt meine register-Action aufrufe und das Formular so absende, dass die Validation-Messages auftauchen, wird mir immer bloß die msgid bzw der erste Parameter der
- Code: Alles auswählen
- __(...)
Funktion angezeigt. ( Auch wenn ich statt der bootstrap.php die core.php direkt editiere )
Was habe ich übersehen???