I came across some opensource code in views, with a t()
tag similar to the HTML escape sequence h()
.
<%= f.label :password, t(:password, :scope => "activerecord.attributes.user") -%>
What does t()
mean?
t(keys, options = {})
Alias for translate
translate(keys, options = {})
Delegates to I18n#translate
but also performs two additional functions. First, it‘ll catch MissingTranslationData
exceptions and turn them into inline spans that contains the missing key, such that you can see in a view what is missing where.
Second, it‘ll scope the key by the current partial if the key starts with a period. So if you call translate(".foo")
from the people/index.html.erb template, you‘ll actually be calling I18n.translate("people.index.foo")
. This makes it less repetitive to translate many keys within the same partials and gives you a simple framework for scoping them consistently. If you don‘t prepend the key with a period, nothing is converted.
This method is also aliased as t
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With