verwende ich ZF 2.4 und ich möchte Formularvalidierung Nachrichten Deutsch ändern, so habe ich Code kompatibel mit doc - https://framework.zend.com/manual/2.4/en/modules/zend.validator.messages.htmlZF2 Form Validation Übersetzungen
$translator = new \Zend\Mvc\I18n\Translator();
$translator->addTranslationFile(
'phpArray',
'./vendor/zendframework/zendframework/resources/languages/en/Zend_Validate.php', //or Zend_Captcha
'default',
'de_DE'
);
\Zend\Validator\AbstractValidator::setDefaultTranslator($translator);
Unfortunatelly EN verwendet wird, nach wie vor .. Zum Beispiel Nachricht „Wert ist erforderlich und darf nicht leer sein“ wird von vendor/zendframework/zendframework/library/Zend/Validator/NotEmpty.php
angezeigt und wird nicht von vendor/zendframework/zendframework/resources/languages/de/Zend_Validate.php
keine Fehler gibt es ...
Könnte jemand mir bitte helfen? Das ist sehr wichtig für mich ...
Es funktioniert immer noch nicht .... Ich habe etwas ähnliches - http://stackoverflow.com/questions/24956272/zend-framework-2-how-to -make-a-language-switcher, weil Methoden aus Deinem Post nicht existieren (Resources :: getBasePath(), Resources :: getPatternForValidator()) –
hast du e irgendeine Idee? Ich dachte, dass Code aus meinem ersten Beitrag funktionieren sollte, weil im Array "default" übergeben wurde .. also dachte ich, dass es als Standard-Locale eingestellt ist –
Oh Entschuldigung, ich hätte die FQCN anstatt nur 'Resource' verwenden sollen. Wird meine Antwort aktualisieren. Übrigens: Sie müssen keine neue Instanz des Übersetzers erstellen. Verwenden Sie den Standard 'Translator', der im' ServiceManager' enthalten ist. Wenn Sie den "Translator" auschecken, den Sie erstellt haben, ist das Gebietsschema wahrscheinlich null, da Sie es nicht festgelegt haben, und innerhalb der Klasse gibt es keinen Standardwert. Und vielleicht könnten Sie den Übersetzer mit Hilfe von: 'Translator :: factory ($ options)' – Kwido