我的rails应用程序遇到以下问题: 我想翻译一些这样的模型属性,以便它们在验证错误消息中正确显示,例如。
de:
activerecord:
models:
account:
attributes:
email:
one: 'Email'
other: 'Emails'
现在在rails控制台中我可以检查
I18n.t 'activerecord.models.account.attributes.email', count: 1
返回“电子邮件”,一切似乎都没问题。
但如果我去浏览器并发布表单,我会收到错误
I18n::InvalidPluralizationData in AccountsController#create
translation data {:attributes=>{:email=>{:one=>"Email", :other=>"Emails"}}} can not be used with :count => 1
我该如何解决这个问题? rails希望获得哪些翻译数据?
由于
答案 0 :(得分:2)
模型名称和属性名称都有自己的i18n范围。
尝试
activerecord.attributes.account.email
而不是
activerecord.models.account.attributes.email
(并相应地调整你的yaml文件)。
另见方便的Rails Guide on the I18n API。
HTH!