2015-01-16 33 views
0

更改默認語言後,js驗證消息也會更改爲目標語言。 然而,屬性名稱仍然是英文的,例如, {屬性}(英文)XXXXXXXX(目標語言)。 我的問題是:如何將這些屬性名稱翻譯成目標語言?Yii2 - i18n用於js驗證消息中的{attribute}

謝謝!

回答

1

出於這些目的,在模型中有一種稱爲attributeLabels()的特殊方法。它返回的數組中的鍵是原始屬性名稱和值 - 根據標籤。您應該根據使用的語言和期望的輸出手動填寫。

舉例俄語:

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

您可以使用i18n這裏還有:

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

默認驗證使用該標籤顯示錯誤。

+0

非常感謝!這是我需要的。 – Alex