diff --git a/global/apiValidator.go b/global/apiValidator.go index 707df91..4862044 100644 --- a/global/apiValidator.go +++ b/global/apiValidator.go @@ -3,7 +3,9 @@ package global import ( "github.com/gin-gonic/gin" "github.com/go-playground/locales/en" + "github.com/go-playground/locales/ko" "github.com/go-playground/locales/zh_Hans_CN" + ut "github.com/go-playground/universal-translator" "github.com/go-playground/validator/v10" en_translations "github.com/go-playground/validator/v10/translations/en" @@ -17,11 +19,13 @@ func ApiInitValidator() { // 定义不同的语言翻译 enT := en.New() cn := zh_Hans_CN.New() + koT := ko.New() - uni := ut.New(enT, cn) + uni := ut.New(enT, cn, koT) enTrans, _ := uni.GetTranslator("en") zhTrans, _ := uni.GetTranslator("zh_Hans_CN") + koTrans, _ := uni.GetTranslator("ko") err := zh_translations.RegisterDefaultTranslations(validate, zhTrans) if err != nil { @@ -31,6 +35,11 @@ func ApiInitValidator() { if err != nil { panic(err) } + //validate没有ko的翻译,使用zh的翻译 + err = zh_translations.RegisterDefaultTranslations(validate, koTrans) + if err != nil { + panic(err) + } validate.RegisterTagNameFunc(func(field reflect.StructField) string { label := field.Tag.Get("label") @@ -92,6 +101,9 @@ func getTranslatorForLang(lang string) ut.Translator { case "zh": trans, _ := Validator.UT.GetTranslator("zh_Hans_CN") return trans + case "ko": + trans, _ := Validator.UT.GetTranslator("ko") + return trans case "en": fallthrough default: