diff options
author | Sameer Rahmani <lxsameer@gnu.org> | 2015-12-01 19:19:44 +0330 |
---|---|---|
committer | Sameer Rahmani <lxsameer@gnu.org> | 2015-12-18 22:45:05 +0330 |
commit | c1dbb13eacf0e579f351a46c9ee2ec845ae0cc2d (patch) | |
tree | c2fef94c1127e7732ed7ab87728d522960fbdad6 /actionview | |
parent | cd53b05be8f74dfc9c872eb1e84cd024e754f48d (diff) | |
download | rails-c1dbb13eacf0e579f351a46c9ee2ec845ae0cc2d.tar.gz rails-c1dbb13eacf0e579f351a46c9ee2ec845ae0cc2d.tar.bz2 rails-c1dbb13eacf0e579f351a46c9ee2ec845ae0cc2d.zip |
debug_missing_translation configuration added to action_view
`I18n.translate` helper will wrap the missing translation keys
in a <span> tag only if `debug_missing_translation` configuration has
a truthy value. Default value is `true`. For example in `application.rb`:
# in order to turn off missing key wrapping
config.action_view.debug_missing_translation = false
Diffstat (limited to 'actionview')
-rw-r--r-- | actionview/CHANGELOG.md | 9 | ||||
-rw-r--r-- | actionview/lib/action_view/helpers/translation_helper.rb | 10 | ||||
-rw-r--r-- | actionview/lib/action_view/railtie.rb | 1 | ||||
-rw-r--r-- | actionview/test/template/translation_helper_test.rb | 10 |
4 files changed, 30 insertions, 0 deletions
diff --git a/actionview/CHANGELOG.md b/actionview/CHANGELOG.md index 794306c7f2..dc9ec974bb 100644 --- a/actionview/CHANGELOG.md +++ b/actionview/CHANGELOG.md @@ -1,3 +1,12 @@ +* `I18n.translate` helper will wrap the missing translation keys + in a <span> tag only if `debug_missing_translation` configuration + be true. Default value is `true`. For example in `application.rb`: + + # in order to turn off missing key wrapping + config.action_view.debug_missing_tranlation = false + + *Sameer Rahmani* + * Respect value of `:object` if `:object` is false when rendering. Fixes #22260. diff --git a/actionview/lib/action_view/helpers/translation_helper.rb b/actionview/lib/action_view/helpers/translation_helper.rb index 4c4d2c4457..152e1b1211 100644 --- a/actionview/lib/action_view/helpers/translation_helper.rb +++ b/actionview/lib/action_view/helpers/translation_helper.rb @@ -6,7 +6,15 @@ module ActionView # = Action View Translation Helpers module Helpers module TranslationHelper + extend ActiveSupport::Concern + include TagHelper + + included do + mattr_accessor :debug_missing_translation + self.debug_missing_translation = true + end + # Delegates to <tt>I18n#translate</tt> but also performs three additional # functions. # @@ -95,6 +103,8 @@ module ActionView title << ", " << interpolations.map { |k, v| "#{k}: #{ERB::Util.html_escape(v)}" }.join(', ') end + return title unless ActionView::Base.debug_missing_translation + content_tag('span', keys.last.to_s.titleize, class: 'translation_missing', title: title) end end diff --git a/actionview/lib/action_view/railtie.rb b/actionview/lib/action_view/railtie.rb index e829d86c99..59d869d92d 100644 --- a/actionview/lib/action_view/railtie.rb +++ b/actionview/lib/action_view/railtie.rb @@ -6,6 +6,7 @@ module ActionView class Railtie < Rails::Railtie # :nodoc: config.action_view = ActiveSupport::OrderedOptions.new config.action_view.embed_authenticity_token_in_remote_forms = false + config.action_view.debug_missing_translation = true config.eager_load_namespaces << ActionView diff --git a/actionview/test/template/translation_helper_test.rb b/actionview/test/template/translation_helper_test.rb index 631bceadd8..597936d7ae 100644 --- a/actionview/test/template/translation_helper_test.rb +++ b/actionview/test/template/translation_helper_test.rb @@ -54,6 +54,16 @@ class TranslationHelperTest < ActiveSupport::TestCase end end + def test_returns_missing_tranlation_message_without_span_wrap + old_value = ActionView::Base.debug_missing_translation + ActionView::Base.debug_missing_translation = false + + expected = 'translation missing: en.translations.missing' + assert_equal expected, translate(:"translations.missing") + ensure + ActionView::Base.debug_missing_translation = old_value + end + def test_returns_missing_translation_message_wrapped_into_span expected = '<span class="translation_missing" title="translation missing: en.translations.missing">Missing</span>' assert_equal expected, translate(:"translations.missing") |