Ruby on rails 将I18n与Rails ActiveRecord消息一起使用
我正在构建一个应用程序,使用I18n进行不同语言的显示。此时,验证消息以这种方式显示 enRuby on rails 将I18n与Rails ActiveRecord消息一起使用,ruby-on-rails,ruby-on-rails-3,validation,activerecord,internationalization,Ruby On Rails,Ruby On Rails 3,Validation,Activerecord,Internationalization,我正在构建一个应用程序,使用I18n进行不同语言的显示。此时,验证消息以这种方式显示 en USERNAME CAN'T BE BLANK zh CN USERNAME 不能为空字符 我想将属性USERNAME转换为其他字符串。因此,我按照中的说明在我的语言环境文件中添加了以下行 en: activerecord: attributes: user: username: "User Name" zh-CN: activerecord:
USERNAME CAN'T BE BLANK
zh CN
USERNAME 不能为空字符
我想将属性USERNAME转换为其他字符串。因此,我按照中的说明在我的语言环境文件中添加了以下行
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 不能为空字符
我错过什么了吗?我怎样才能修好它
谢谢大家。:) 我想你可能需要
en:
activerecord:
errors:
models:
user:
attributes:
username: "User Name"
我犯了一个错误。我添加了一个自定义助手来处理验证消息。有关的I18n翻译是正确的。我可以使用human\u attribute\u name来翻译arribute 谢谢@chrispanda。我试过你的方法,但问题没有解决。我更新了问题。你有什么建议吗?谢谢老兄。我刚刚发现我使用了一个helper方法来覆盖验证消息设置。对此我很抱歉。