package api import ( "errors" "fmt" "strings" ) type Message int type MessageMap map[Message]string // msgParams replaces message params with the actual values. func msgParams(msg string, params ...interface{}) string { if strings.Contains(msg, "%") { msg = fmt.Sprintf(msg, params...) } return msg } func Msg(id Message, params ...interface{}) string { return msgParams(Messages[id], params...) } func ErrorMsg(id Message, params ...interface{}) error { return errors.New(Msg(id, params...)) }