Das Ausschneiden von Validierungsfehlermeldungen ist ziemlich einfach, kann aber auf den ersten Blick schwierig erscheinen.
Standardgebietsschema
Zunächst sollten Sie das Standardgebietsschema Ihrer Anwendung ändern. In den Versionen 2.0.x ist der korrekte zu ändernde Wert framework.session.default_locale
. Als zukünftige Referenz wird ab 2.1.0 framework.default_locale
angezeigt. Konsultieren Sie die Dokumente für die korrekte Syntax.
Ein Gebietsschema sollte aus Ihrer Sprache und Region bestehen und wird als language_REGION
( Liste der Sprachen , Länderliste ). Das in Deutschland für Deutsch verwendete Gebietsschema wäre beispielsweise de_DE
.
Validierungsnachrichten
Validierungsnachrichten sind in ihren jeweiligen Einschränkungsklassen fest codiert.
Validierungsnachrichten werden übersetzt
Symfony verwendet Twig, um alle Validierungsnachrichten zu rendern. Der Prozess selbst ist kompliziert und fällt nicht in den Rahmen dieser Frage, aber der wichtige Teil ist, dass jede Constraint-Nachricht über einen Übersetzungsfilter gesendet wird, der abhängig vom Gebietsschema des Benutzers ( default_locale
standardmäßig) die Nachrichten in das richtige übersetzt Sprache.
Um eine der Übersetzungen zu ändern, kopieren Sie einfach die Validierungsübersetzungsdatei von vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.{lang}.xlf
nach app/Resources/translations/validators.{lang}.xlf
, wobei {lang}
der Sprachteil Ihres Standardgebietsschemas ist.
Nachdem Sie das erste getan haben, ändern Sie einfach die Standardnachrichten in das, was Sie sehen. Wenn die Sprache, für die Sie Unterstützung benötigen, nicht vorhanden ist, kopieren Sie eine Übersetzungsdatei in das gleiche Verzeichnis und ändern Sie stattdessen diese Datei.
Wenn Sie mehr darüber erfahren möchten, wie die Übersetzung in Symfony2 funktioniert, besuchen Sie die offizielle Dokumentation zur Übersetzung .
Zusätzlich zu den Anweisungen von gilden müssen Sie sicherstellen, dass der framework.translator
-Block in config/config.yml
unkommentiert ist (er ist heutzutage standardmäßig kommentiert). Wenn Sie das nicht tun, werden Sie immer noch mit den ursprünglichen englischen Nachrichten enden.
Tags und Links symfony