我不断收到“缺少翻译:en.layouts.application.title”的标题或我尝试在 app/views/layouts/application.html.erb 文件中翻译的任何项目。
配置/语言环境/en.yml
en:
layouts:
application:
title: "My Catalog"
home: "Home"
store: "Store"
faq: "FAQ"
contact: "Contact"
about: "About"
应用程序/视图/布局/application.html.erb
<div id="banner">
<% t('.title') %>
</div>
<div id="nav_menu" class="sidebar_menu">
<a href="/"><%= t('.home') %></a>
<a href="/store"><%= t('.store') %></a>
<a href="/faq"><%= t('.faq') %></a>
<a href="/contact"><%= t('.contact') %></a>
<a href="/about"><%= t('.about') %></a>
</div>
视图中的所有翻译都正常工作,但布局中的任何内容都表明它丢失了。我正在使用 en.yml、fr.yml 和 es.yml,它们都是相同的问题(分别为 fr.layouts.application.title 和 es.layouts.application.title)
如果我将行移出布局:应用程序:嵌套并进入 .yml 文件的根层次结构(当然从 t 方法中删除句点),那么一切都会翻译。一旦我将它们移回布局下:应用程序:我再次缺少翻译。
有什么问题?我正在使用 Rails 3.2.7
编辑1:刚刚尝试使用 <% t('layouts.application.title') %> 但仍然说翻译丢失。
编辑 2:如果我将 application.html.erb 复制或重命名为不同的名称(并相应地更改 *.yml 文件),则会找到解决方法。
如果我开始一个新项目,翻译在 application.html.erb 中工作得很好。但是在当前项目中:只要我使用 application.html.erb(即使测试内容很少),我仍然会丢失翻译。