package vdext import ( "github.com/go-playground/locales" "github.com/go-playground/locales/en" uts "github.com/go-playground/universal-translator" "github.com/go-playground/validator/v10" en_translations "github.com/go-playground/validator/v10/translations/en" ) var ( languages = []locales.Translator{ en.New(), } uni = initI8n() ) func initI8n() *uts.UniversalTranslator { return uts.New(languages[0], languages[1:]...) } func New(tagName string) *validator.Validate { vd := validator.New() if trans, found := uni.GetTranslator("en"); found { en_translations.RegisterDefaultTranslations(vd, trans) } vd.SetTagName(tagName) return vd }