Что делает 't ()', отмечают средний на Ruby on Rails?

Я столкнулся с некоторым открытым исходным кодом в представлениях с a t() отметьте подобный escape-последовательности HTML h().

<%= f.label :password, t(:password, :scope => "activerecord.attributes.user") -%>

Что делает t() средний?

9
задан the Tin Man 26 December 2011 в 23:51
поделиться

2 ответа

t (keys, options = {})

Псевдоним для translate

translate (keys, options = {})

Делегирует на I18n # translate , но также выполняет две дополнительные функции. Во-первых, он перехватывает исключения MissingTranslationData и преобразует их во встроенные промежутки, содержащие отсутствующий ключ, чтобы вы могли видеть в представлении, что где отсутствует.

Во-вторых, он будет охватывать ключ текущей партией, если ключ начинается с точки. Итак, если вы вызовете translate (". Foo") из шаблона people / index.html.erb, вы на самом деле вызовете I18n.translate ("people.index.foo") . Это делает менее повторяющимся перевод множества ключей в рамках одних и тех же частей и дает вам простую структуру для их последовательного определения. Если вы не добавите точку перед ключом, ничего не будет преобразовано. Этот метод также имеет псевдоним t

21
ответ дан 4 December 2019 в 10:03
поделиться

Выполните перевод ключа в .yml файлах в config/locales

t(:password)

key is "password"

0
ответ дан 4 December 2019 в 10:03
поделиться