Php 翻译Zend表单验证错误消息?
我有一个用不同语言运行的应用程序。自定义标签headerPhp 翻译Zend表单验证错误消息?,php,zend-framework2,Php,Zend Framework2,我有一个用不同语言运行的应用程序。自定义标签header$this->translate('message')可以很好地解决任何问题。我只是面临翻译zend错误消息表单的问题。下面是我在module.config.php中添加的内容。有人能帮我用不同的语言显示错误信息表格吗 'translator' => array( 'locale' => 'pl', 'translation_file_patterns' => array( array(
$this->translate('message')
可以很好地解决任何问题。我只是面临翻译zend错误消息表单的问题。下面是我在module.config.php
中添加的内容。有人能帮我用不同的语言显示错误信息表格吗
'translator' => array(
'locale' => 'pl',
'translation_file_patterns' => array(
array(
'type' => 'gettext',
'base_dir' => __DIR__ . '/../language',
'pattern' => '%s.mo',
),
array(
'type' => 'phpArray',
'base_dir' => 'vendor/zendframework/zend-i18n-resources/languages',
'pattern' => '%s/Zend_Captcha.php',
'text_domain' => 'formvalidation',
),
array(
'type' => 'phpArray',
'base_dir' => 'vendor/zendframework/zend-i18n-resources/languages',
'pattern' => '%s/Zend_Validate.php',
'text_domain' => 'formvalidation',
),
),
),
这是我在getInputFilter表单函数中执行此操作的方式。这样,我可以在Poedit中检索字符串并继续翻译:
public function getInputFilter() {
if (!$this->filter) {
$inputFilter = new InputFilter();
$factory = new InputFactory ();
$inputFilter->add($factory->createInput(array(
'name' => 'email',
'filters' => array(
array(
'name' => 'StripTags'
),
array(
'name' => 'StringTrim'
)
),
'validators' => array(
array(
'name' => 'EmailAddress',
'options' => array(
'messages' => array(
'emailAddressInvalidFormat' => _('Email address format is not invalid')
)
)
),
array(
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
'isEmpty' => _('Email address is required')
)
)
),
array(
'name' => 'StringLength',
'options' => array(
'min'=>6,
'max'=>128,
'messages' => array(
\Zend\Validator\StringLength::TOO_LONG => _('Invalid length for this field')
)
)
)
)
)));
$this->filter = $inputFilter;
}
return $this->filter;
}