func WithLang(ctx context.Context, lang language.Tag) context.Context {
	return context.WithValue(ctx, ctxLangKey{}, lang)
}
WithLang sets the language on the context
package i18n
import (
	"context"
	"fmt"
	"golang.org/x/text/language"
	"golang.org/x/text/message"
	"golang.org/x/text/message/catalog"
)
type MessageKey string
func Expand(ctx context.Context, key MessageKey, inserts ...interface{}) string {
	return pFor(ctx).Sprintf(string(key), inserts...)
}
func ExpandWithCode(ctx context.Context, key MessageKey, inserts ...interface{}) string {
	return string(key) + ": " + pFor(ctx).Sprintf(string(key), inserts...)
}