[英]What does the 't()' tag mean in Ruby on Rails?
我在视图中遇到了一些开源代码,其中t()
标记类似于HTML转义序列h()
。
<%= f.label :password, t(:password, :scope => "activerecord.attributes.user") -%>
t()
是什么意思?
t(keys,options = {})
翻译的别名
translate(keys,options = {})
代表参加I18n#translate
但还执行了两项附加功能。 首先,它会捕获MissingTranslationData
异常并将它们转换为包含缺失键的内联跨度,这样您就可以在视图中看到缺少的内容。
其次,如果密钥以句点开始,它将按当前部分对密钥进行范围调整。 因此,如果您从people / index.html.erb模板调用translate(".foo")
,您实际上将调用I18n.translate("people.index.foo")
。 这使得在同一部分内翻译多个键的重复性降低,并为您提供了一个简单的框架,可以一致地确定它们的范围。 如果您没有为句点添加前缀,则不会转换任何内容。 此方法也别名为t
在config/locales
翻译.yml
文件中的密钥
t(:password)
关键是“密码”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.