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