我在当前的 Rails 项目中遇到了一个非常奇怪的 i18n 问题。每当我尝试使用 key 时,我都会收到翻译缺失消息notifications
。例如:
#en-US.yml
en-US:
notifications:
index:
title: 'notification page'
#/notifications/index.html.erb
<%= content_for :title, t('.title') -%>
这将失败并告诉我翻译丢失
#en-US.yml
en-US:
notifications:
index:
title: 'notification page'
#/notifications/index.html.erb
<%= content_for :title, t('notifications.index.title') -%>
这也会失败。
#en-US.yml
en-US:
notification:
index:
title: 'notification page'
#/notifications/index.html.erb
<%= content_for :title, t('notification.index.title') -%>
奇怪的是,这将起作用,删除s
将允许它找到翻译。
#en-US.yml
en-US:
notifications1:
index:
title: 'notification page'
#/notifications/index.html.erb
<%= content_for :title, t('notifications1.index.title') -%>
这也将起作用,1
在通知的末尾添加一个。
Rails 似乎不喜欢通知这个词。这是一个问题,因为我不想为此重命名整个模型,而且我想使用 i18n.t 视图快捷方式来保持一致性。是notifications
保留字吗?是否有任何原因无法找到它?