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)

「Título」の代わりに「title」を返します。

人間化された属性を持つ同じ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 に答える