rails'.variable'表示法?

时间:2012-08-13 05:31:25

标签: ruby-on-rails ruby

我正在查看rubygems.org的source code以进一步了解Rails以及如何将其用于功能性网站。

我遇到的一个问题是它们到底做了什么?:

<%= t 'download_count', :count => number_with_delimiter(@downloads_count) %>
<%= t '.welcome_blurb' %>

download_count.welcome_blurb变量存储在哪里?如果是这样,我在哪里找到它以及它如何知道在哪里看?

2 个答案:

答案 0 :(得分:7)

download_count.welcome_blurb是已翻译的字符串,您可以在config/locales/目录中的文件中找到它们,文件名与该语言相对应,在本例中为en.yml英文:

download_counthttps://github.com/rubygems/rubygems.org/blob/master/config/locales/en.yml#L11 .welcome_blurbhttps://github.com/rubygems/rubygems.org/blob/master/config/locales/en.yml#L31

welcome_blurb之前的点表示延迟查找,这意味着翻译的命名空间默认为您调用它的视图,如您在en.yml文件中所示:

home:
  index:
...
    welcome_blurb: "Welcome to your community RubyGem host."

所以.welcome_blurb实际上意味着home.index.welcome_blurb

有关详细信息,请参阅rails i18n documentation

答案 1 :(得分:1)

t是编写I18n.translate的简写方式,它将使用区域设置文件(可能在config / locales中)来呈现适合当前语言设置的文本。

有关详细信息,请参阅http://guides.rubyonrails.org/i18n.html