7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 
     | 
    
      # File 'activesupport/lib/active_support/html_safe_translation.rb', line 7
def translate(key, **options)
  if html_safe_translation_key?(key)
    html_safe_options = html_escape_translation_options(options)
    exception = false
    exception_handler = ->(*args) do
      exception = true
      I18n.exception_handler.call(*args)
    end
    translation = I18n.translate(key, **html_safe_options, exception_handler: exception_handler)
    if exception
      translation
    else
      html_safe_translation(translation)
    end
  else
    I18n.translate(key, **options)
  end
end
     |