Rails - I18n:我如何找到翻译路径?

时间:2016-02-27 15:19:01

标签: ruby-on-rails

我有一个包含“资源”的表单,我想翻译。我在xx.yml中定义了翻译:

xx:
  activerecord:
    models: 
      user:
        email: "xx"

还为标签“email”尝试了“one”和“other”。但我仍然有问题,要么遇到:

I18n::InvalidPluralizationData (translation data {:email=>"xxx"} can not be used with :count => 1):
  i18n (0.7.0) lib/i18n/backend/pluralization.rb:35:in `pluralize'
  i18n (0.7.0) lib/i18n/backend/base.rb:40:in `translate'
  i18n (0.7.0) lib/i18n.rb:158:in `block in translate'
  i18n (0.7.0) lib/i18n.rb:154:in `catch'
  i18n (0.7.0) lib/i18n.rb:154:in `translate'
  activemodel (4.2.5) lib/active_model/naming.rb:188:in `human'
  activemodel (4.2.5) lib/active_model/errors.rb:437:in `generate_message'
  activemodel (4.2.5) lib/active_model/errors.rb:449:in `normalize_message'
  activemodel (4.2.5) lib/active_model/errors.rb:300:in `add'
  ...

```

或翻译没有。

1 个答案:

答案 0 :(得分:1)

我相信你想在用户模型上翻译email属性。在这种情况下,您需要:

xx:
  activerecord:
    attributes:
      user:
        email: "xx"

models键用于转换模型名称,而不是其属性。