Я использую ZF2 с альфы, так что я не совсем новичок. Однако, чтобы не мешать моему текущему проекту, я установил новый SkeletonApp, и он работает. Я добавил необходимые мне переводы для английского и немецкого языков, и они работают должным образом. Однако сообщения об ошибках формы не переводятся на немецкий или любой другой язык.
Я прочитал руководство, но в нем рассказывается только о том, как настроить переводы на основе фабрик, и в нем нет подробностей о том, как настроить внутри module.config.php. Как и в ZF1, в ZF2 также есть папка ресурсов/языков, которая содержит все уже переведенные сообщения об ошибках проверки формы. Я хотел бы использовать их! И в этом моя проблема. Я понятия не имею, как добавить конфигурацию, чтобы это работало со всеми моими формами.
В моем файле module.config.php, основанном на SkeletonApp, уже была поддержка переводов, поэтому я взял эту конфигурацию и добавил еще один массив, предполагая, что это сработает.
'translator' => array(
'locale' => 'en_US',
'translation_file_patterns' => array(
array(
'type' => 'gettext',
'base_dir' => __DIR__ . '/../language',
'pattern' => '%s.mo'
),
array(
'type' => 'phparray',
'base_dir' => __DIR__ . '/../resources/languages',
'pattern' => '%s.php'
)
)
),
Однако безрезультатно это не сработало. В моем контроллере у меня есть eventManager, в котором я устанавливаю свою локаль следующим образом:
$self->getServiceLocator()->get('translator')->setLocale('en_US'); // изменить на de_DE для немецкого языка
Выполнение этого, как я упоминал выше, переводит мой текст с английского на немецкий и так далее.
Чего мне не хватает, чтобы перевести ошибки формы? Спасибо за любые рекомендации, которыми вы можете поделиться в этой ситуации.