如何在I18n语言环境文件中指定模型之间的共享属性转换?

时间:2011-10-14 05:20:41

标签: ruby-on-rails activerecord internationalization locale models

我尝试了以下内容:

es:
  activerecord:
    attributes:
      name: Nombre

它不起作用。

但以下工作:

es:
  activerecord:
    attributes:
      person:
        name: Nombre

在模型中定义默认属性的正确方法是什么?

我也在使用Formtastic和Active Admin。

3 个答案:

答案 0 :(得分:32)

将公共attributes向上移动一级:

es:
  attributes:
    name: Nombre
  activerecord:
    attributes:
      user:
        birthday: Etc

Example

答案 1 :(得分:9)

这就是我在做的事情。不完美但会完成这项工作。

activerecord:
  attributes:
    attribute_commons: &commons
      name: Nome
      description: Descrição
    user:
      <<: *commons
    role:
      <<: *commons
      level: Nível
    product:
      <<: *commons
      size: Tamanho

答案 2 :(得分:1)

如果您使用yaml来存储您的翻译,您应该在yaml引用中查找别名和锚点: http://yaml.org/spec/1.2/spec.html

但它根本不完美。例如:

bill-to:  &id001
    street: |
            123 Tornado Alley
            Suite 16
    city:   East Centerville
    state:  KS

ship-to:  *id001