FIX: Extra-locale merging didn't account for fallbacks (#17128)
Regressed in #17027
This commit is contained in:
parent
84b0a6414d
commit
2eeb50dfc1
|
@ -202,8 +202,9 @@ module JsLocaleHelper
|
|||
|
||||
def self.output_extra_locales(bundle, locale)
|
||||
translations = translations_for(locale)
|
||||
locales = translations.keys
|
||||
|
||||
translations.keys.each do |l|
|
||||
locales.each do |l|
|
||||
translations[l].keys.each do |k|
|
||||
bundle_translations = translations[l].delete(k)
|
||||
translations[l].deep_merge!(bundle_translations) if k == bundle
|
||||
|
@ -212,17 +213,15 @@ module JsLocaleHelper
|
|||
|
||||
return "" if translations.blank?
|
||||
|
||||
<<~JS
|
||||
if (!I18n.extras) {
|
||||
I18n.extras = {}
|
||||
}
|
||||
output = +"if (!I18n.extras) { I18n.extras = {}; }"
|
||||
locales.each do |l|
|
||||
output << <<~JS
|
||||
if (!I18n.extras["#{l}"]) { I18n.extras["#{l}"] = {}; }
|
||||
Object.assign(I18n.extras["#{l}"], #{translations[l].to_json});
|
||||
JS
|
||||
end
|
||||
|
||||
if (!I18n.extras["#{locale}"]) {
|
||||
I18n.extras["#{locale}"] = {};
|
||||
}
|
||||
|
||||
Object.assign(I18n.extras["#{locale}"], #{translations[locale].to_json});
|
||||
JS
|
||||
output
|
||||
end
|
||||
|
||||
MOMENT_LOCALE_MAPPING ||= {
|
||||
|
|
Loading…
Reference in New Issue