我使用rails3。是否有任何简单的方法告诉I18n尊重插值中使用的字符串的“html安全性”,并默认情况下使所有已转换的字符串html安全?因此,如果我有这个en.yml
:
en:
user_with_name: 'User with name <em>%{name}</em>'
并且我使用
t('user_with_name', :name => @user.name)
,使用户名html转义,但是<em>
和</em>
保持原样?
最佳答案
古老的问题,但是如果有人想实现这一目标,这是我想出的猴子补丁:
module ActionView
module Helpers
module TranslationHelper
private
def html_safe_translation_key?(key)
true
end
end
end
end
把它放在一个初始化器中就可以了!
适用于Rails 3.2.6。
仅将本地化文件中的文本标记为安全,而不标记插值参数。
关于ruby-on-rails-3 - 如何使Rails 3 I18n翻译自动安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5502182/