1

我正在运行一个带有英语和西班牙语翻译文件的网站,默认使用英语。

使用以下翻译:

en:
  tenants:
    about: "About" 

es:
  tenants:
    about: "Acera" 

使用

t "tenants.about"

正常工作,并在适当时从 en.yml 和 es.yml 文件中正确读取。

但是,当尝试使用 human_attribute_name 属性从西班牙语 es.yml 文件的另一部分中提取模型属性时,不会读取这些值。

所以像

Job.human_attribute_name(:title)

返回“title”而不是“Título”。

同一个es.yml文件的人性化属性部分如下:

 es:
  tenants:
    about: "Acerca"
  activerecord:
    attributes:
      job:
        title: "Título de la oferta de trabajo"
        location: "Localización de la oferta de trabajo"
        job_type: "Tipo de trabajo"
        description: "Descripción"

任何见解将不胜感激。

4

2 回答 2

4

哇 - 超级烦人。

这是来自 github 的长 es.yml 翻译文件的底部:https ://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale

# remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from 
Rails repository
  activemodel:
    errors:
      <<: *errors
  activerecord:
    errors:
      <<: *errors

这覆盖了我的 activerecord: 文件顶部的声明。

考虑到它是一个超过 200 行的文件,这不是最好的位置,但我很遗憾没有阅读整个内容。希望这可以帮助某人。

于 2012-12-03T23:24:48.210 回答
-1

我认为 'es:' 丢失了,或者缩进不正确。"没有必要:

es: 
  activerecord:
    attributes:
      job:
        title: Título
于 2012-12-03T14:44:49.463 回答