如何在Yii2中为多语言站点设置自动属性标签

时间:2017-06-16 07:31:48

标签: yii2

我有一个多语言网站,我不知道会有多少种语言。我正在使用codemix / yii2-localeurls扩展名,字段名称由inputName_languageCode组成。例如:title_fr,title_en,content_fr,content_en等。所以我可以在我的模型中做到这样:

public function attributeLabels()
{
    return [
        'title_*' => 'Title',
        'content_*' => 'Content',
    ];
}

其中(*) - 是任何语言代码

2 个答案:

答案 0 :(得分:1)

此数组中的键是列名,因此不应重命名。要使用多语言翻译,您应使用Yii::t('category', 'text_to_translate') - 文档:Yii 2 Internationalization

例如:

return [
    'title' => Yii::t('app', 'title_label'),
    'content' => Yii::t('app', 'content_label'),
];

答案 1 :(得分:0)

return [
    'title_'.yii::$app->language => 'Title',
    'content_'.yii::$app->language => 'Content',
];

根据您的OP。仍推荐使用Yii 2国际化