在我的Rails 4.2应用程序中,所有模块都是使用I18n.t()开发的。以下是index.html.erb的示例:
<table class="table table-hover">
<thead>
<tr>
<th><%= t('Create Date') %></th>
<th><%= t(@for_which.sub('_', ' ').titleize) %></th>
<th><%= t('Brief Note') %></th>
<th><%= t('Ranking Index') %></th>
<th><%= t('Active') %></th>
<th><%= t('Entered By') %></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
在local.rb
下的initializers
,本地设置为en
:
I18n.enforce_available_locales = false
I18n.default_locale = 'en' if Rails.env.production? || Rails.env.development?
I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
但我仍然看到生产和开发中某些translation missing
的{{1}}错误,例如标签和索引标题如下:
如何摆脱I18n.t
的错误?
更新:即使translation missing
中有以下translation missing
后备,production
内的错误也会显示在I18n.t
中:
environment/production.rb
更新: 添加了CSS:
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation cannot be found).
config.i18n.fallbacks = true
以下是显示标签//hide all "translation missing" warnings:
body.production span.translation_missing {
display: none;
}
之一的html源代码的一部分:
Employee Infos
答案 0 :(得分:2)
在您的 #config / application.rb 文件中,您可以执行以下操作
Rails.application.configure do |config|
config.action_view.raise_on_missing_translations = false
end
您可以获得更多here
我希望这能够帮到你:)
答案 1 :(得分:0)
我不知道为什么,但是我只是重新启动了服务器,然后繁荣起来!奏效了。
您也可以尝试重新启动服务器:)
答案 2 :(得分:0)
使用“ Faker :: Job”代替“ Name.title”
Faker::Job
Faker::Job.title #=> "Lead Accounting Associate"
Faker::Job.field #=> "Manufacturing"
Faker::Job.seniority #=> "Lead"
Faker::Job.position #=> "Supervisor"
Faker::Job.key_skill #=> "Teamwork"
Faker::Job.employment_type #=> "Full-time"
Faker::Job.education_level #=> "Bachelor"
它对我有用:)