# File lib/i18n/backend/fallbacks.rb, line 37
      def translate(locale, key, options = {})
        return super if options[:fallback]
        default = extract_non_symbol_default!(options) if options[:default]

        options[:fallback] = true
        I18n.fallbacks[locale].each do |fallback|
          catch(:exception) do
            result = super(fallback, key, options)
            return result unless result.nil?
          end
        end
        options.delete(:fallback)

        return super(locale, nil, options.merge(:default => default)) if default
        throw(:exception, I18n::MissingTranslation.new(locale, key, options))
      end