我正在使用 Ruby on Rails 3.1,我想知道如何正确处理与部分模板文件相关的国际化。那是, ...
... 在我的app/views/users/flag.html.erb
我有的文件:
<%= t('.test_key1') %>
<%= render :partial => "/users/flag_form" %>
... 在我的app/views/users/_flag_form.html.erb
我有的文件:
<%= t('.test_key2') %>
如果在我的config/locales/views/users/en.yml
file (note:我正在按照中所述整理文件官方 RoR 指南 http://guides.rubyonrails.org/i18n.html#organization-of-locale-files) I use
en:
users:
flag:
test_key1: Test 1 text
test_key2: Test 2 text
the Test 1 text
显示在“主”模板中 (app/views/users/flag.html.erb
) but the Test 2 text
不适用于部分模板 (app/views/users/_flag_form.html.erb
). 我应该如何解决这个问题才能正确显示Test 2 text
?
配置/语言环境/en.yml
en:
users:
flag:
test_key1: Test 1 text
flag_form:
test_key2: Test 2 text
应用程序/视图/用户/flag.html.erb
<%= t('.test_key1') %>
<%= render :partial => "/users/flag_form" %>
应用程序/视图/用户/_flag_form.html.erb
<%= t('.test_key2') %>
NB:
- 视图的 Rails 路径必须与符号的 YAML 路径匹配。您需要在 YAML 文件中创建一个与视图名称匹配的条目。省略尾随下划线,因为它是部分的。
- 阅读更多关于懒惰查找 http://guides.rubyonrails.org/i18n.html#looking-up-translations
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)