對於標題或任何我試圖在app/views/layout中轉換的項目,我總是收到「翻譯缺失:en.layouts.application.title」 /application.html.erb文件。Rails國際化(i18n):除佈局之外的所有內容翻譯/ 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(即使是最小的測試內容),我仍然得到翻譯缺失。
您能澄清一下,當您將轉換置於嵌套層次結構中時(不要將它們移動到根層次結構),並且在視圖中使用完整查找而不是懶惰查找,仍會得到缺失的轉換錯誤,即「t ( 'layouts.application.title')'? –
感謝您的回覆。它仍然給我翻譯失蹤。更新原始帖子。 – preOtep
奇怪......你使用Spork嗎?如果是這樣,你重新啓動它,以確保它重新加載在** locales **目錄下所做的更改嗎? –