繁体   English   中英

Ruby on Rails中't()'标记的含义是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM