module I18n::Backend::Gettext

def normalize_pluralization(locale, key, value)

def normalize_pluralization(locale, key, value)
  # FIXME po_parser includes \000 chars that can not be turned into Symbols
  key = key.gsub("\000", I18n::Gettext::PLURAL_SEPARATOR).split(I18n::Gettext::PLURAL_SEPARATOR).first
  keys = I18n::Gettext.plural_keys(locale)
  values = value.split("\000")
  raise "invalid number of plurals: #{values.size}, keys: #{keys.inspect} on #{locale} locale for msgid #{key.inspect} with values #{values.inspect}" if values.size != keys.size
  result = {}
  values.each_with_index { |_value, ix| result[keys[ix]] = _value }
  [key, result]
end