我想在整个应用程序中更改英语验证消息.
因此,例如:
显示“必填字段”而不是“必填出生日期”.
我尝试将I18N组件配置如下:
'i18n' => [
'translations' => [
'*' => [
'class' => 'yii\i18n\PHPMessageSource',
'basePath' => '@common/messages',
'sourceLanguage' => 'en',
'fileMap' => [
'yii' => 'yii.PHP',
]
// 'on missingTranslation' => ['app\components\TranslationEventHandler', 'handleMissingTranslation']
],
],
但不起作用
解决方法:
要全局更改整个应用程序的语言,请将language添加到您的配置中:
return [
...
'language' => 'ru',
...
],
这是俄语,您可以设置任何想要的语言.但是框架消息仅以流行语言翻译,您可以打开vendor/yiisoft/yii2/messages文件夹以查看完整列表.您也可以参考IETF language tags page.
要仅针对特定验证规则更改消息,请使用message选项:
['attributeName', 'validatorName', 'message' => 'Your customized message'],
请注意,如果您的应用程序是多语言的,则可以在此处使用国际化(Yii::t()).