【发布时间】:2013-12-24 05:27:25
【问题描述】:
我使用rails-i18n gem 来使用:hr 作为我的主要语言。
gem 有效,但对于 header message 无效。
(4 errors prohibited this list from being saved: 部分)
这是我提交带有无效属性的表单时得到的结果:
4 errors prohibited this list from being saved: #doesn't translate
Field1 ne smije biti prazan #translates/presence
Field2 ne smije biti prazan #translates/presence
Field3 ne smije biti prazan #translates/presence
Filed4 nije odgovarajuće duljine (treba biti 11 znakova) #translates/length
至于代码,我只在config/application.rb中添加了config.i18n.default_locale = :hr。
在文档中说:
以下语言环境已完成:
bs, da, en, en-US, es-PA, hr, is, ja, nl, sr, ur, zh-HK
用其他语言环境测试,但仍然不能翻译 4 errors prohibited this list from being saved: 部分。
是我做错了什么还是.yml 文件中缺少翻译?
注意:我使用的是 rails 4.0.0
更新:
<%= form_for(@report) do |f| %>
<% if @report.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@report.errors.count, "error") %> prohibited this list from being saved:</h2>
<ul>
<% @report.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-container">
<div class="inline half">
<div class="field">
<%= f.label :field1 %><br>
<%= f.text_field :field1 %>
</div>
<div class="field">
<%= f.label :field2 %><br>
<%= f.text_field :field2 %>
</div>
<div class="field">
<%= f.label :field3 %><br>
<%= f.text_field :field3 %>
</div>
<div class="field">
<%= f.label :field4 %><br>
<%= f.text_field :field4 %>
</div>
</div>
<div class="inline half">
<div class="actions">
<%= f.submit "Create", class: "continue-button" %>
</div>
</div>
</div>
<% end %>
【问题讨论】:
-
您的语言环境文件是最新的吗?尝试下载最新的 yml 文件并将其放入您的 config/locales 文件夹:github.com/svenfuchs/rails-i18n/tree/master/rails/locale
-
@Baldrick 已经尝试过了,我手动将
.yml放入了locales文件夹,但结果是一样的。 -
您可以张贴您的表格吗?
-
@joseramonc 更新了问题。
标签: ruby-on-rails ruby-on-rails-4 rails-i18n