Rails 3.1翻译模型属性名称

Bav*_*sjo 4 ruby-on-rails internationalization

我正在尝试在rails 3.1("first_name")中自定义(翻译)活动记录属性名称.这是我的语言环境文件(config/locales/sv.yml)的开头:

"sv":
  activerecord:
    models:
      employee: "Anställd"
    attributes:
      employee:
        first_name: "Förnamn"
Run Code Online (Sandbox Code Playgroud)

我确信这个文件是由rails使用的,因为在文件中进一步向下更改翻译可以正常工作.这是表单字段erb代码,应该说"Förnamn"而不是"名字":

  <div class="field">
    <%= f.label :first_name %><br />
    <%= f.text_field :first_name %>
  </div>
Run Code Online (Sandbox Code Playgroud)

Employee.human_attribute_name(:first_name)在rails控制台中运行会返回"名字".非常感谢你

Vol*_*ldy 7

在Rails 3.1中你也可以这样做:

<% form_for @post do |f| %>
  <%= f.label :title %>
  <%= f.text_field :title %>
  <%= f.submit %>
<% end %>

en:
  helpers:
    label:
      post:
        title: 'Customized title'
Run Code Online (Sandbox Code Playgroud)

这种方法与ORM无关,适用于活动模型(例如,使用mongoid).