github.com/loafoe/cli@v7.1.0+incompatible/command/translatableerror/multi_error.go (about) 1 package translatableerror 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 type MultiError struct { 9 Messages []string 10 } 11 12 func (MultiError) Error() string { 13 return "Multiple errors occurred:\n{{.Errors}}" 14 } 15 16 func (e MultiError) Translate(translate func(string, ...interface{}) string) string { 17 var formattedErrs []string 18 for _, err := range e.Messages { 19 formattedErrs = append(formattedErrs, fmt.Sprintf("- %s", err)) 20 } 21 return translate(e.Error(), map[string]interface{}{ 22 "Errors": strings.Join(formattedErrs, "\n"), 23 }) 24 }