翻译模型属性 rails
translating model attributes rails
我的 rails 应用程序出现以下问题:
我想像这样翻译一些模型属性,以便它们在验证错误消息中正确显示。
de:
activerecord:
models:
account:
attributes:
email:
one: 'Email'
other: 'Emails'
现在在 rails 控制台中我可以检查
I18n.t 'activerecord.models.account.attributes.email', count: 1
which returns "Email" 一切似乎都很好。
但是如果我转到浏览器并post一个表单,我会得到错误
I18n::InvalidPluralizationData in AccountsController#create
translation data {:attributes=>{:email=>{:one=>"Email", :other=>"Emails"}}} can not be used with :count => 1
我该如何解决这个问题? rails 期望得到什么翻译数据?
谢谢
模型名称和属性名称都有自己的国际化范围。
尝试
activerecord.attributes.account.email
而不是
activerecord.models.account.attributes.email
(并相应地调整您的 yaml 文件)。
另请参阅方便的 Rails Guide on the I18n API。
HTH!
使用Rails辅助方法:
Model.human_attribute_name(attribute)
你的翻译 yaml 看起来像这样:
activerecord:
models:
model_name:
attributes:
attribute: attribute name
我的 rails 应用程序出现以下问题: 我想像这样翻译一些模型属性,以便它们在验证错误消息中正确显示。
de:
activerecord:
models:
account:
attributes:
email:
one: 'Email'
other: 'Emails'
现在在 rails 控制台中我可以检查
I18n.t 'activerecord.models.account.attributes.email', count: 1
which returns "Email" 一切似乎都很好。
但是如果我转到浏览器并post一个表单,我会得到错误
I18n::InvalidPluralizationData in AccountsController#create
translation data {:attributes=>{:email=>{:one=>"Email", :other=>"Emails"}}} can not be used with :count => 1
我该如何解决这个问题? rails 期望得到什么翻译数据?
谢谢
模型名称和属性名称都有自己的国际化范围。
尝试
activerecord.attributes.account.email
而不是
activerecord.models.account.attributes.email
(并相应地调整您的 yaml 文件)。
另请参阅方便的 Rails Guide on the I18n API。
HTH!
使用Rails辅助方法:
Model.human_attribute_name(attribute)
你的翻译 yaml 看起来像这样:
activerecord:
models:
model_name:
attributes:
attribute: attribute name