【发布时间】:2016-11-30 12:55:31
【问题描述】:
我正在尝试翻译以下错误:
上面写着:
1 个错误禁止保存此项目:
这是我从 Rails Internationalization (I18n) API 获得的 en yml 文件中的内容:
en:
activerecord:
errors:
[?]:
[?]:
one: "1 error prohibited this %{model} from being saved"
other: "%{count} errors prohibited this %{model} from being saved"
[?]: "There were problems with the following fields:"
messages:
record_invalid: "Validation failed: %{errors}"
restrict_dependent_destroy:
has_one: "Cannot delete record because a dependent %{record} exists"
has_many: "Cannot delete record because dependent %{record} exist"
这是我在表单中显示错误的一个示例
<% if @project.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@project.errors.count, "error") %> prohibited this project from being saved:</h2>
<ul>
<% @project.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
我几乎没有接触过 Rails 的本地化,所以如果我做的一切都完全错误,我很抱歉,但是我需要在我的 yml 文件中的[?]s 中添加什么,或者我需要更改什么,以便当我更改为西班牙语时
1 个错误禁止保存此项目:
改成
Un error prohibido este proyecto de ser salvado
更新
这是我最终使用的:
在我的 .yml 文件中
en:
activerecord:
form_errors:
one: One error prohibited this %{model} from being saved
other: "%{count} errors prohibited this %{model} from being saved"
在我的表格中:
<% if @project.errors.any? %>
<div id="error_explanation">
<h2><%= t('activerecord.form_errors', :count => @project.errors.count,
:model => t('models.project').downcase) %></h2>
<ul>
<% @project.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
【问题讨论】:
标签: ruby-on-rails ruby localization yaml