Adding default interpolations into I18n

By ayates

Heres a quick and dirty monkeypatch for adding default Interpolations into I18n.

module I18n
  class << self
    attr_accessor :default_interpolations

    def interpolate_hash_with_default_interpolations(string, values)
      values ||= {}
      values = (default_interpolations || {}).merge(values)

      interpolate_hash_without_default_interpolations(string, values)
    end

    alias_method_chain :interpolate_hash, :default_interpolations

  end
end

In my case I'm adding the defaults in using a before filter, allowing me to set a customer's currency e.g.

def set_default_interpolations
  I18n.default_interpolations = { currency: current_currency.symbol }
end