エラーメッセージの翻訳を行うには、以下の様にします。
ロケールを日本語とする
module/Application/config/module.config.php
// 'locale' => 'en_US',
'locale' => 'ja_JP'
翻訳ファイルを設定する
module/Application/Module.php
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
// 以下を追加
$sm = $e->getApplication()->getServiceManager();
$translator = $sm->get('MvcTranslator');
$translator->addTranslationFile(
'phpArray',
'vendor/zendframework/zendframework/resources/languages/ja/' .
'Zend_Validate.php',
'default',
'ja_JP'
);
\Zend\Validator\AbstractValidator::setDefaultTranslator(
new \Zend\Mvc\I18n\Translator($translator)
);
}
実行結果
Zend_Validate.php
の指定がダサいです。なんか _DIR_
とか使って格好良くしたいんですけど、力不足ですすいません。
以下を参考にしました。
http://stackoverflow.com/questions/23151917/zf2-3-translate-validation-message