4

Rails プロジェクトのモデル名と属性名を変換する通常の方法は次のとおりです。

MyModel.model_name.human

MyModel.human_attribute_name :myattribute

または、MyModel のフォームを使用している場合:

form.label :myattribute

ロケール ファイルconfig/locales/en.ymlは次のようになります。

en:
  activerecord:
    models:
      mymodel:
        one: TranslatedMyModel
        other: TranslatedMyModels
  attributes:
    mymodel:
      myattribute: translated attribute

そして、これは通常の Rails プロジェクトで機能します。同じモデルが と呼ばれるエンジンの一部である場合、同じモデルがエンジンMyEngineに配置されconfig/locales/en.yml、my_engine という接頭辞が付けられます。

en:
  my_engine:
      activerecord:
        models:
          mymodel:
            one: TranslatedMyModel
            other: TranslatedMyModels
      attributes:
        mymodel:
          myattribute: translated attribute

my_engine プレフィックスは、上記の方法でモデル名または属性名を取得しようとする場合を除き、さまざまな翻訳で機能します。

それをテストするために、Rails 3.2.11 を使用して新しい Rails プロジェクトと Engine をセットアップしましたが、成功しませんでした。

これを機能させる方法を知っている人はいますか?

4

1 に答える 1