code: func (po *Po) UnmarshalBinary(data []byte) error {
  	buff := bytes.NewBuffer(data)
  	obj := new(TranslatorEncoding)
  
  	decoder := gob.NewDecoder(buff)
  	err := decoder.Decode(obj)
  	if err != nil {
  		return err
  	}
  
  	po.Headers = obj.Headers
  	po.Language = obj.Language
  	po.PluralForms = obj.PluralForms
  	po.nplurals = obj.Nplurals
  	po.plural = obj.Plural
  	po.translations = obj.Translations
  	po.contexts = obj.Contexts
  
  	if expr, err := plurals.Compile(po.plural); err == nil {
  		po.pluralforms = expr
  	}
  
  	return nil
  }
docs: // UnmarshalBinary implements encoding.BinaryUnmarshaler interface