Rails/i18n:默认范围?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (51)

我使用Rails的默认i18n模块来转换视图中的字符串。

<%= t("registration.heading") %>

现在,当我在注册视图中时,我的所有字符串都以registration...。我总是要写

<%= t("registration.heading.notice") %>
// or
<%= t(:heading, :scope => :registration) %>

最好为该文件(甚至在控制器中)定义一个默认范围,因此调用t自动添加定义的范围。

// controller
set_i18n_default_scope :registration

// view
<%= t(:heading) %>

// --> looks in "registration.heading"

这个是可能的吗?

提问于
用户回答回答于

如果组织添加视图名称的翻译,如下所示:

en:
  registration:
    index:
      heading: "Registration heading"

然后你可以使用这个:

<%= t(".heading") %>

注意,第一个字符是点。

用户回答回答于
  es:   books:
          index:
             title: "Título" 

您可以在里面查找books.index.title值

app/view/book/index.html.erb模板如下(注意点):

<%= t '.title' %>

扫码关注云+社区

领取腾讯云代金券