errors/format.go
func Format(format string, values Attributes) string {
	formatter, err := messageformat.New()
	if err != nil {
		return format
	}

	fm, err := formatter.Parse(format)
	if err != nil {
		return format
	}

	fixed := make(map[string]interface{}, len(values))
	for k, v := range values {
		fixed[k] = fix(v)
	}

	// todo format unsupported types
	res, err := fm.FormatMap(fixed)
	if err != nil {
		fmt.Println("err", err)
		return format
	}

	return res
}
func Format(format string, values Attributes) string {
	formatter, err := messageformat.New()
	if err != nil {
		return format
	}

	fm, err := formatter.Parse(format)
	if err != nil {
		return format
	}

	fixed := make(map[string]interface{}, len(values))
	for k, v := range values {
		fixed[k] = fix(v)
	}

	// todo format unsupported types
	res, err := fm.FormatMap(fixed)
	if err != nil {
		fmt.Println("err", err)
		return format
	}

	return res
}
// Format formats the values into the provided string