1

我已将 Twitter Bootstrap 安装到我的项目中,并为我发现了未知的语法:

<%=t '.title', :default => model_class.model_name.human.pluralize %>
<%= link_to t('.new', :default => t("helpers.links.new")),
            new_article_path,
            :class => 'btn btn-primary' %>

我无法理解 和的'.title'含义。这些结构如何与语言环境字典交互?'.new''helpers.links.new'

另外我从来没有遇到过方法中的构造:default =>t我可以在哪里阅读它?

4

1 回答 1

5

t 是 Rails 的 I18n 国际化机制提供的辅助方法,是 I18n.translate 方法的快捷方式。

I18n 读取的语言环境文件默认设置为 Rails.root/config/locales/en.yml,假设 en 是您的默认语言环境。

第一个参数是 I18n 将在您的语言环境文件中查找的键。该语句t('.new', :default => t("helpers.links.new"))意味着 I18n 将寻找构造

en:
  new: "new string"

在您的语言环境文件中。

:default 是在未找到第一个键的情况下将返回的字符串。

:default => t("helpers.links.new")只是意味着 I18n 将在 en.yml 中查找以下构造:

en:
  helpers:
    links:
      new: "new string"

并在第一个不存在的情况下返回它。

你可以在这里找到I18n translate 方法的完整文档。

于 2012-07-22T17:26:08.510 回答