如何自定义Yii2英语验证邮件翻译?

问题描述 投票:3回答:2

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

例如:

显示“必填字段”而不是“必须填写出生日期”。

我尝试如下配置I18N组件:

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

但不起作用

php yii yii2 yii2-advanced-app
2个回答
4
投票

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

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

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

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

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

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


0
投票
['attribute', 'validator', 'message' => 'Your message {attribute}'],
© www.soinside.com 2019 - 2024. All rights reserved.