Я использую ZF 2,4, и я хотел бы изменить сообщения проверки формы на немецкий, так что я использовал код, совместимый с доком - https://framework.zend.com/manual/2.4/en/modules/zend.validator.messages.htmlZF 2 Form Validation Перевод
$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 используется еще .. Например, сообщение «Значение является обязательным и не может быть пустым» отображается из vendor/zendframework/zendframework/library/Zend/Validator/NotEmpty.php
и не переводится с vendor/zendframework/zendframework/resources/languages/de/Zend_Validate.php
ошибок не существует ...
может кто-нибудь помочь мне, пожалуйста? Это очень важно для меня ...
Это не работает. Я использовал что-то похожее - http://stackoverflow.com/questions/24956272/zend-framework-2-how-to -make-a-language-switcher, потому что методов из вашего сообщения не существует (Resources :: getBasePath(), Resources :: getPatternForValidator()) –
do You hav Есть идеи? Я думал, что код из моего первого сообщения должен работать, потому что в массиве «default» был передан .. поэтому я подумал, что он установлен как default locale –
Ой, извините, я должен был использовать FQCN вместо простого ресурса. Обновит мой ответ. BTW: вам не нужно создавать новый экземпляр переводчика. Используйте «Переводчик» по умолчанию, который включен в 'ServiceManager'. Если вы выберете «Переводчик», вы создали локаль, это probaly null, поскольку вы не установили его, и внутри класса по умолчанию нет. И возможно, вы могли бы создать переводчик, используя: 'Translator :: factory ($ options)' – Kwido