class I18n::Railtie

def self.initialize_i18n(app)

Setup i18n configuration.
def self.initialize_i18n(app)
  return if @i18n_inited
  fallbacks = app.config.i18n.delete(:fallbacks)
  # Avoid issues with setting the default_locale by disabling available locales
  # check while configuring.
  enforce_available_locales = app.config.i18n.delete(:enforce_available_locales)
  enforce_available_locales = I18n.enforce_available_locales unless I18n.enforce_available_locales.nil?
  I18n.enforce_available_locales = false
  app.config.i18n.each do |setting, value|
    case setting
    when :railties_load_path
      app.config.i18n.load_path.unshift(*value)
    when :load_path
      I18n.load_path += value
    else
      I18n.send("#{setting}=", value)
    end
  end
  init_fallbacks(fallbacks) if fallbacks && validate_fallbacks(fallbacks)
  # Restore available locales check so it will take place from now on.
  I18n.enforce_available_locales = enforce_available_locales
  reloader = ActiveSupport::FileUpdateChecker.new(I18n.load_path.dup){ I18n.reload! }
  app.reloaders << reloader
  ActionDispatch::Reloader.to_prepare { reloader.execute_if_updated }
  reloader.execute
  @i18n_inited = true
end