ruby-on-rails-3 - 如何使Rails 3 I18n翻译自动安全?

标签 ruby-on-rails-3 internationalization automation html-safe

我使用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/

相关文章:

ruby-on-rails - rails-collection_select选择的值(如果已定义)?

django - 需要帮助选择双语网站的框架

algorithm - 树递归斐波那契算法需要线性空间?

ruby-on-rails - Rails 的日期有什么问题

ruby-on-rails - Rails3 插件 - rake 任务的加载环境

windows - 有什么方法可以在您自己的应用程序中使用 Windows 本地化数据吗?

ruby-on-rails - 在 I18n 插值中使用另一个 I18n 键

eclipse - AWS Device Farm。如何将测试用例后生成的自定义报告保存到本地空间

c# - 如何使用C#获取Excel中当前打开的文档?

ruby-on-rails - 将字符串转换为Datetime Rails