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 をセットアップしましたが、成功しませんでした。
これを機能させる方法を知っている人はいますか?