def text(key, options = {})
      options = html_safe_options(options)
      text = I18n.t(key, {
        scope: self.translation_scope,
        default: "!#{key}!"
      }.merge(options)).strip

      interpolation_options = options.dup
      interpolation_options[:cascade] = true unless interpolation_options.has_key?(:cascade)

      # Interpolate any keypaths (e.g., `!some.lookup.path/key!`) found in the text.
      while text =~ /!([\w._\/]+)!/ do
        text = text.gsub(/!([\w._\/]+)!/) { |match| I18n.t($1, interpolation_options) }
      end

      text = smartify(text) if options.fetch(:smart, true)
      text.html_safe
    end
def text(key, options = {})
      options = html_safe_options(options)
      text = I18n.t(key, {
        scope: self.translation_scope,
        default: "!#{key}!"
      }.merge(options)).strip

      interpolation_options = options.dup
      interpolation_options[:cascade] = true unless interpolation_options.has_key?(:cascade)

      # Interpolate any keypaths (e.g., `!some.lookup.path/key!`) found in the text.
      while text =~ /!([\w._\/]+)!/ do
        text = text.gsub(/!([\w._\/]+)!/) { |match| I18n.t($1, interpolation_options) }
      end

      text = smartify(text) if options.fetch(:smart, true)
      text.html_safe
    end
Public: Get the I18n localized text for the passed key.

 key     - The desired I18n lookup key.
 options - A Hash of options to forward to the `I18n.t` lookup.
           :smart - Whether or not to apply smart quoting to the output.
                    Defaults to true.

 Returns a String resulting from the I18n lookup.