Rails错误消息中的翻译属性(Rails 2.3.2,I18N)

Rai*_*ing 7 ruby-on-rails internationalization

我在翻译文件中定义了翻译的属性和模型名称,Modelname.human_attribute_name(...)返回正确翻译的属性名称,但错误消息中的属性名称未翻译.需要翻译错误消息中的属性名称是什么?

Ian*_*ell 15

从主题指南中,您需要使用模型名称和属性名称正确设置本地化文件:

en: 
  activerecord: 
    models: 
      user: Dude 
    attributes: 
      user: 
        login: "Handle"
Run Code Online (Sandbox Code Playgroud)

由于这是YAML,请确保所有"标签"实际上都是两个软空间.然后,你可以把他们救出来与User.human_nameUser.human_attribute_name(:login).

我没有把它当作福音 - 可能有一个错误.我测试了它,它工作正常.我创建了一个以Model属性命名的模型title.以下是我的fr.yml文件片段config/locales:

fr:
  activerecord:
    models:
      model: "Sumfink"
    attributes:
      model:
        title: "Tiltile"
Run Code Online (Sandbox Code Playgroud)

这是相关的视图代码:

<h1>New <%= Model.human_name %></h1>
<% form_for(@model) do |f| %>
  <%= f.error_messages %>
  <%= Model.human_attribute_name("title") %><br />
  <%= f.text_field :title %>
  <%= f.error_message_on :title %>
...
Run Code Online (Sandbox Code Playgroud)

以及正确翻译输出的屏幕截图:http: //screencast.com/t/et5FhVe1Gp