我有一个依赖于单独引擎(存储在 中vendor/engine_name
)的 Rails 应用程序。该引擎有一个 ActiveRecord 对象Bar
:
module Foo
class Bar < ActiveRecord::Base
# has an attribute bar_attr
end
end
在该引擎的config/locales/en.yml
文件中,我尝试过:
en:
activerecord:
attributes:
bar_attr: "TEST"
我也试过:
en:
activerecord:
attributes:
bar:
bar_attr: "TEST"
和:
en:
activerecord:
attributes:
foo:
bar:
bar_attr: "TEST"
但无论如何,当我Foo::Bar.human_attribute_name("bar_attr")
从父应用程序调用时,我得到“Bar attr”(例如默认的人类属性名称)。请注意,Foo::Bar.model_name.human
当我尝试使用以下方法进行翻译时,也会出现同样的问题:
en:
activerecord:
models:
...
我不确定应用程序/引擎结构是否相关,因为我已经尝试了上述三个en.yml
父应用程序的翻译文件中尝试了上述三种格式,但没有运气。
为了使这些模型名称/属性正确翻译,我缺少什么?