如何自定义Yii2英语验证信息翻译?

时间:2015-10-23 00:29:18

标签: php yii yii2 yii2-advanced-app

我想在整个应用中更改英语验证消息。

所以例如:

显示"所需字段"而不是"出生日期是必需的"。

我尝试将I18N组件配置如下:

'i18n' => [
            'translations' => [
                '*' => [
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => '@common/messages',
                    'sourceLanguage' => 'en',
                    'fileMap' => [
                        'yii' => 'yii.php',
                    ]
                    // 'on missingTranslation' => ['app\components\TranslationEventHandler', 'handleMissingTranslation']
                ],
            ],

但没有工作

2 个答案:

答案 0 :(得分:4)

要为整个应用程序全局更改语言,请在您的配置中添加language

return [
    ...
    'language' => 'ru',
    ...
],

这是俄语,您可以设置任何您想要的语言。但框架消息仅以流行语言翻译,您可以打开vendor/yiisoft/yii2/messages文件夹查看完整列表。您也可以参考IETF language tags page

要仅针对特定验证规则更改消息,请使用message选项:

['attributeName', 'validatorName', 'message' => 'Your customized message'],

请注意,如果您的应用是多语言,则可以在此处使用国际化(Yii::t())。

答案 1 :(得分:0)

['attribute', 'validator', 'message' => 'Your message {attribute}'],