翻译模型属性rails

时间:2015-04-19 10:43:19

标签: ruby-on-rails internationalization translation pluralize

我的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希望获得哪些翻译数据?

由于

1 个答案:

答案 0 :(得分:2)

模型名称和属性名称都有自己的i18n范围。

尝试

activerecord.attributes.account.email

而不是

activerecord.models.account.attributes.email

(并相应地调整你的yaml文件)。

另见方便的Rails Guide on the I18n API

HTH!