# File lib/active_support/vendor/i18n-0.4.1/i18n/backend/base.rb, line 116
        def resolve(locale, object, subject, options = nil)
          return subject if options[:resolve] == false
          case subject
          when Symbol
            I18n.translate(subject, (options || {}).merge(:locale => locale, :raise => true))
          when Proc
            date_or_time = options.delete(:object) || object
            resolve(locale, object, subject.call(date_or_time, options), options = {})
          else
            subject
          end
        rescue MissingTranslationData
          nil
        end