Home > PHP > Symfony2: Formular-Fehlermeldungen übersetzen

Symfony2: Formular-Fehlermeldungen übersetzen

In meinem vorherigen Post habe ich beschrieben wie man mit Symfony 2 auf bequeme Art und Weise eine Webseite in eine andere Sprache übersetzt. Dies ist sehr vorteilhaft, weil man nur Sprachdateien anlegen muss. In den Templates selbst müssen nur die trans Tags eingebaut werden.

Die zweite wichtige Sache sind die Fehlermeldung bei Formularen. Bei der Validation von Formularen werden in den allermeisten Fällen eigene Fehlermeldungen und Fehlerbeschreibungen benötigt. Diese Meldungen werden im jeweiligen Bundle im /Resources/config Ordner in der Datei validation.yml angelgt. Die eigens definierten Fehler werden aber nicht in eine andere Sprache übersetzt. Dies kann man ändern und wie im vorherigen Post auch für die Validation eine eigene Sprachdatei anlegen. Nehmen wir an, wir haben in der validation.yml folgende Prüfregel  für unser Entity User definiert.

ProgrammierenOptimieren/POBundle/Resources/config/validation.yml:

Um die Fehlermeldung „Das Feld Vorname darf nicht leer sein.“ auch ins Englische zu übersetzen, wenn die Locale in der Session auf „en“ gesetzt ist, dann müssen wir im Ordner  Resources/translations die Datei validators.en.yml anlegen und folgenden Inhalt eingeben:

ProgrammierenOptimieren/POBundle/Resources/translations/validators.yml:

Anschließend sollte man zur Sicherheit noch den Cache leeren und es sollte nun die entsprechende Übersetzung bei Locale „en“ angezeigt werden.

  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks