46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/ab_admin/models/locator.rb', line 46
def prepare_files
message = nil
locale_replace_regexp = Regexp.new("(^#{I18n.default_locale}|(?<=\.)#{I18n.default_locale}(?=\.yml))")
locale_files = @files.map { |path| self.class.prepare_data(path) }
main_locale_files = locale_files.find_all { |file| file.locale == I18n.default_locale }
main_locale_files.each do |main_file|
I18n.available_locales.each do |locale|
next if locale == I18n.default_locale
clean_locale_hash = main_file.data.deep_clear_values
path = File.join(main_file.dir, main_file.filename.sub(locale_replace_regexp, locale.to_s))
if File.exists?(path)
file = self.class.prepare_data(path)
self.class.save(path, {locale.to_s => clean_locale_hash.deep_add(file.data)})
else
self.class.save(path, {locale.to_s => clean_locale_hash})
message = 'Reload application to pick up new locale files'
end
end
end
{message: message}
end
|