- 有一个应用程序构建在来自高级程序集的最新版本的 Yii2 之上。
- 管理面板,它具有多个实体的 CRUD 表单。
- 在管理面板中,所有表单都可以正常翻译。
- 相同的表格适用于网站的公共部分,翻译也一样。
- 该文件
frontend\messages\ru\app.php存在,所有常量都存在于其中,并以 Gii 制作的所有形式工作。 - 在工具包附带的两种标准形式中,登录和注册,翻译不起作用。
- 这些字段的错误消息以俄语显示,而标签本身则保留为英语。
- 一切都写在前端配置中,翻译了 3 种形式,但没有翻译 2 种。
该模型common\models\User.php有一个方法。
/**
* {@inheritdoc}
*/
public function attributeLabels()
{
return [
'username' => Yii::t('app', 'Login'),
'phone' => Yii::t('app', 'Phone'),
'religion' => Yii::t('app', 'Religion'),
'password' => Yii::t('app', 'Password'),
];
}
在哪里看,已经很困惑了?
一切都是陈腐而简单的。
正如我上面指出的,该方法
attributeLabels在common\models\User.php并且表单模型不继承它,它们继承了Moldel,因此必须将此方法添加到common\models\LoginForm.php和frontend\models\SignupForm.php