code: func (l *Locale) UnmarshalBinary(data []byte) error {
  	buff := bytes.NewBuffer(data)
  	obj := new(LocaleEncoding)
  
  	decoder := gob.NewDecoder(buff)
  	err := decoder.Decode(obj)
  	if err != nil {
  		return err
  	}
  
  	l.defaultDomain = obj.DefaultDomain
  	l.lang = obj.Lang
  	l.path = obj.Path
  
  	// Decode Domains
  	l.Domains = make(map[string]Translator)
  	for k, v := range obj.Domains {
  		var tr TranslatorEncoding
  		buff := bytes.NewBuffer(v)
  		trDecoder := gob.NewDecoder(buff)
  		err := trDecoder.Decode(&tr)
  		if err != nil {
  			return err
  		}
  
  		l.Domains[k] = tr.GetTranslator()
  	}
  
  	return nil
  }
docs: // UnmarshalBinary implements encoding BinaryUnmarshaler interface