rails t 函数显示 i18n

Cat*_*ish 3 ruby ruby-on-rails refinerycms ruby-on-rails-3

我正在处理我的第一个炼油厂项目,页脚中有这一行:

<%= t('.copyright', :year => Time.now.year, :site_name => Refinery::Core.site_name) %>
Run Code Online (Sandbox Code Playgroud)

它在我的网站上显示:

i18n: Copyright
Run Code Online (Sandbox Code Playgroud)

i18n 来自哪里,是否需要 t 函数?

编辑:

我的 /config/locales/en.yml 包含以下代码。我需要为此添加一些东西还是最好只删除 t() 标签?

en:
  hello: "Hello world"
Run Code Online (Sandbox Code Playgroud)

小智 5

关于你的第二个问题 -t('.copyright')期待在你的文件夹树结构下有正确的键(因为它.在开始时)。例如,如果您的共享文件夹下有一个页脚(完整路径将为app/views/shared/_footer.erb),那么您的 YML 应该具有下一个结构:

en:
  shared:
    footer:
      copyright: "All rights reserved. (c) %{site_name} at %{year}"
Run Code Online (Sandbox Code Playgroud)

%{site_name}并且%{year}是您的值的插值占位符:

<%= t('.copyright', :year => Time.now.year, :site_name => Refinery::Core.site_name) %>
Run Code Online (Sandbox Code Playgroud)