0

さまざまな言語でI18nを使用してアプリを構築しています。この瞬間に、このように示された検証メッセージ。RailsでI18nを使用するActiveRecord Vaildationメッセージ

エン
USERNAME CAN'T BE BLANK 

ZH-CN

USERNAME 不能为空字符 

私はいくつかの他の文字列に属性USERNAMEを翻訳したいと思います。だから私はRails Guideの指示に従い、私のロケールファイルに次の行を追加しました。

en: 
    activerecord: 
    attributes: 
     user: 
     username: "User Name" 


zh-CN: 
    activerecord: 
    attributes: 
     user: 
     username: "用户名" 

私はhuman_attribute_nameコマンドを実行すると、それを翻訳することができます。

ruby-1.9.2-p290 :001 > User.human_attribute_name("username") 
=> "Username" 

しかし、検証メッセージでは、属性名のすべての文字を大文字にしました。

CURRENT_PASSWORD 不能为空字符 

私は何も忘れましたか?どうすれば修正できますか?

ありがとうございます。 :)

答えて

1

私はあなたが私がミスを犯した

en: 
    activerecord: 
    errors: 
     models: 
     user: 
      attributes: 
      username: "User Name" 
+0

ありがとう@chrispanda。あなたの方法を試しましたが、問題は解決されていません。私は質問を更新しました。アドバイスはありますか? –

+0

あなたの質問を再読し、答えを調整しました... – chrispanda

+0

ありがとうございました。私はちょうど私が検証メッセージの設定を無効にするヘルパーメソッドを使用することがわかりました。ごめんなさい。 –

0

を必要とするかもしれないと思います。検証メッセージを処理するカスタムヘルパーを追加しました。問題のI18n翻訳は正しいです。私は、human_attribute_nameを使用して属性を変換することができます。

関連する問題