add ko lang,but validator dont have translations ko

This commit is contained in:
ljw
2024-10-22 12:21:32 +08:00
parent 3f9b370dd6
commit e2fa928648

View File

@@ -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: