diff --git a/lib/i18n_interpolation_fallbacks.rb b/lib/i18n_interpolation_fallbacks.rb index f5af4b1de..d379a965e 100644 --- a/lib/i18n_interpolation_fallbacks.rb +++ b/lib/i18n_interpolation_fallbacks.rb @@ -5,17 +5,19 @@ module I18n default = extract_non_symbol_default!(options) if options[:default] options.merge!(:default => default) if default + original_exception = nil + I18n.fallbacks[locale].each do |fallback| begin result = super(fallback, key, options) return result unless result.nil? - rescue I18n::MissingInterpolationArgument - rescue I18n::InvalidPluralizationData + rescue I18n::MissingInterpolationArgument, I18n::InvalidPluralizationData => e + original_exception ||= e end end return super(locale, nil, options) if default - raise(I18n::MissingInterpolationArgument.new(key, options, locale)) + raise original_exception end end end