翻译 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 项目和带有 Rails 3.2.11 的引擎来测试它,但没有成功。
有谁知道如何使这项工作?