0

我正在構建一個應用程序,使用I18n來顯示不同的語言。在這一刻,以這種方式顯示驗證消息。使用I18n與Rails ActiveRecord增強消息

連接

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來翻譯arribute。