module I18n::MissingTranslation::Base

def html_message

def html_message
  key = keys.last.to_s.gsub('_', ' ').gsub(/\b('?[a-z])/) { $1.capitalize }
  %(<span class="translation_missing" title="translation missing: #{keys.join('.')}">#{key}</span>)
end

def initialize(locale, key, options = nil)

def initialize(locale, key, options = nil)
  @key, @locale, @options = key, locale, options.dup || {}
  options.each { |k, v| self.options[k] = v.inspect if v.is_a?(Proc) }
end

def keys

def keys
  @keys ||= I18n.normalize_keys(locale, key, options[:scope]).tap do |keys|
    keys << 'no key' if keys.size < 2
  end
end

def message

def message
  "translation missing: #{keys.join('.')}"
end

def to_exception

def to_exception
  MissingTranslationData.new(locale, key, options)
end