Yii2 - i18n 用于 js 验证消息中的 {attribute}

Yii2 - i18n for the {attribute} in js validation messages

更改默认语言后,js验证消息也更改为目标语言。 但是属性名称仍然是英文的,例如{属性}(英文)XXXXXXXX(目标语言)。 我的问题是:如何将这些属性名称也翻译成目标语言?

谢谢!

为了这些目的,模型中有一个名为 attributeLabels() 的特殊方法。它 returns 数组,其中键是原始属性名称和值 - 根据标签。您应该根据使用的语言和所需的输出手动填写。

俄语示例:

public function attributeLabels()
{
    return [
        'city_id' => 'Город',
    ];
}

你也可以在这里使用i18n:

public function attributeLabels()
{
    return [
        'city_id' => \Yii::t('app', 'City');,
    ];
}

默认验证使用此标签显示错误。