code: func (l *Locale) MarshalBinary() ([]byte, error) {
  	obj := new(LocaleEncoding)
  	obj.DefaultDomain = l.defaultDomain
  	obj.Domains = make(map[string][]byte)
  	for k, v := range l.Domains {
  		var err error
  		obj.Domains[k], err = v.MarshalBinary()
  		if err != nil {
  			return nil, err
  		}
  	}
  	obj.Lang = l.lang
  	obj.Path = l.path
  
  	var buff bytes.Buffer
  	encoder := gob.NewEncoder(&buff)
  	err := encoder.Encode(obj)
  
  	return buff.Bytes(), err
  }
docs: // MarshalBinary implements encoding BinaryMarshaler interface