8

我想用 i18n 系统翻译一个 rails 表格。

我的模型属性翻译正确,但是当我想翻译提交动作时,模型名称没有翻译。

这是我的 fr.yml 语言环境文件

fr:
  activerecord:
    model:
      character:
        one: "Personnage"
        other: "Personnages"
    attributes:
      character:
        name: "Nom"
        title: "Titre"
        biography: "Biographie"
  helpers:
    submit:
      update: "Mise à jour %{model}"

我的 _form.html.erb 是

<%= form_for(@character) do |f| %>
  <% if @character.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@character.errors.count, "error") %> prohibited this character from being saved:</h2>

      <ul>
      <% @character.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :title %><br />
    <%= f.text_field :title %>
  </div>
  <div class="field">
    <%= f.label :biography %><br />
    <%= f.text_area :biography, :rows => 8%>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

在我的表格上,我希望更新按钮是“Mise à jour Personnage ”,但我仍然有“Mise à jour Character ”。

谢谢你的帮助 !

4

2 回答 2

12

看起来你有一个model你应该有的地方models

将您的 fr.yml 更改为如下所示:

fr:
  activerecord:
    models:
      character:
        one: "Personnage"
        other: "Personnages"
    ...

有关详细信息,请参阅有关Active Record 模型的翻译的 rails i18n 文档部分。

于 2012-11-05T12:44:36.033 回答
1

这是在 form_for 标记中使用时提交按钮的默认行为...它将显示更新字符而不是“更新 #{Model.name}”...

于 2012-11-05T12:08:36.957 回答