yii2 gridview列标题未翻译

时间:2015-09-01 12:21:47

标签: php gridview widget yii2

当使用由Yii自己提供的GridView Widget时,目前存在翻译标题的问题。

正在翻译页面和项目指示器以及页面的所有其他功能,当我在没有GridView Widget的情况下构建此表时,一切都很好。但是现在手动完成几个表后,我想看看是否有人知道这个问题的解决方案。

总结一下:

  • i18N在整个网站上正常运作
  • 翻译不适用于GridView Widget
  • 翻译正在进行,例如ActiveForm
  • 所有标头都会添加到正确的邮件文件中。

这里有相应的代码:

messageHash

1 个答案:

答案 0 :(得分:1)

检查您的模型中是否在attributeLabel中有i18n

喜欢这个样本(如果你没有,你必须在gridview的label参数中添加或添加它们)

public function attributeLabels()
{
    return [
        'name' => Yii::t('app', 'Name'),
        'type' => Yii::t('app', 'Type'),
        'description' => Yii::t('app', 'Description'),
        'rule_name' => Yii::t('app', 'Rule Name'),
        'data' => Yii::t('app', 'Data'),
        'created_at' => Yii::t('app', 'Created At'),
        'updated_at' => Yii::t('app', 'Updated At'),
    ];
}

如果使用gii remenber生成模型以设置i18n复选框

如果在查询中使用新的列名,这些在gridview e中成为属性,则必须使用正确的翻译功能管理相对标签

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        ['attribute' => 'Amount',
         'label' => Yii::t('app', 'Amount'),],
        .......

    ],
]) ?>