blob: 0cfbf6bfa38bcaf7d05e3de66cb33c342ad55fb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# frozen_string_literal: true
module I18n
module Backend
module InterpolationFallbacks
def translate(locale, key, options = {})
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, I18n::InvalidPluralizationData => e
original_exception ||= e
end
end
return super(locale, nil, options) if default
raise original_exception
end
end
end
end
|