Я столкнулся с некоторым открытым исходным кодом в представлениях с a t()
отметьте подобный escape-последовательности HTML h()
.
<%= f.label :password, t(:password, :scope => "activerecord.attributes.user") -%>
Что делает t()
средний?
t (keys, options = {})
Псевдоним для translate
translate (keys, options = {})
Делегирует на I18n # translate
, но также выполняет две дополнительные функции. Во-первых, он перехватывает исключения MissingTranslationData
и преобразует их во встроенные промежутки, содержащие отсутствующий ключ, чтобы вы могли видеть в представлении, что где отсутствует.
Во-вторых, он будет охватывать ключ текущей партией, если ключ начинается с точки. Итак, если вы вызовете translate (". Foo")
из шаблона people / index.html.erb, вы на самом деле вызовете I18n.translate ("people.index.foo")
. Это делает менее повторяющимся перевод множества ключей в рамках одних и тех же частей и дает вам простую структуру для их последовательного определения. Если вы не добавите точку перед ключом, ничего не будет преобразовано.
Этот метод также имеет псевдоним t
Выполните перевод ключа в .yml
файлах в config/locales
t(:password)
key is "password"