我正在使用遗留数据库模式,该模式使用camelCase作为其属性,Rails不能很好地转换为人类可读的形式。对于一个模型,我可以定义例如。
en:
active_record:
attributes:
user:
createDate: "Create date"
但这仅适用于User模型。有没有办法定义“全局属性翻译”?像
这样的东西en:
activerecord:
attributes:
global:
createDate: "Create date"
谢谢你。
答案 0 :(得分:6)
Rails将在以下位置查找属性的翻译(如果您的属性名称未命名空间):
(请查看human_attribute_name)
的ruby文档为了实现您正在寻找的目标,您应该使用以下内容:
en:
attributes:
createDate: "Create date"
您仍然可以通过添加翻译来覆盖这些“默认”属性名称,例如您的第一个例子。
en:
active_record:
attributes:
user:
createDate: "User creation date"
将导致:
User.human_attribute_name(:createDate) => "User creation date"
Topic.human_attribute_name(:createDate) => "Create date"
SomeOtherModelClass.human_attribute_name(:createDate) => "Create date"