diff options
author | José Valim <jose.valim@gmail.com> | 2011-11-23 20:43:06 +0000 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-11-23 20:43:06 +0000 |
commit | e62de52aa398341a29b7ecef4ec9f9df8e1743e2 (patch) | |
tree | 3a87677e000259ecc0ced6bc93afc03fea73493b /actionpack/lib/action_view/helpers/translation_helper.rb | |
parent | afd7140b66e7cb32e1be58d9e44489e6bcbde0dc (diff) | |
parent | fd86a1b6b068df87164d5763bdcd4a323a1e76f4 (diff) | |
download | rails-e62de52aa398341a29b7ecef4ec9f9df8e1743e2.tar.gz rails-e62de52aa398341a29b7ecef4ec9f9df8e1743e2.tar.bz2 rails-e62de52aa398341a29b7ecef4ec9f9df8e1743e2.zip |
Merge branch 'master' into serializers
Diffstat (limited to 'actionpack/lib/action_view/helpers/translation_helper.rb')
-rw-r--r-- | actionpack/lib/action_view/helpers/translation_helper.rb | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/actionpack/lib/action_view/helpers/translation_helper.rb b/actionpack/lib/action_view/helpers/translation_helper.rb index be64dc823e..cc74eff53a 100644 --- a/actionpack/lib/action_view/helpers/translation_helper.rb +++ b/actionpack/lib/action_view/helpers/translation_helper.rb @@ -45,11 +45,18 @@ module ActionView # you know what kind of output to expect when you call translate in a template. def translate(key, options = {}) options.merge!(:rescue_format => :html) unless options.key?(:rescue_format) - translation = I18n.translate(scope_key_by_partial(key), options) - if html_safe_translation_key?(key) && translation.respond_to?(:html_safe) - translation.html_safe + if html_safe_translation_key?(key) + html_safe_options = options.dup + options.except(*I18n::RESERVED_KEYS).each do |name, value| + unless name == :count && value.is_a?(Numeric) + html_safe_options[name] = ERB::Util.html_escape(value.to_s) + end + end + translation = I18n.translate(scope_key_by_partial(key), html_safe_options) + + translation.respond_to?(:html_safe) ? translation.html_safe : translation else - translation + I18n.translate(scope_key_by_partial(key), options) end end alias :t :translate |