æ·feat: commplete init process
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"github.com/go-playground/locales/en"
|
||||
"github.com/go-playground/locales/zh"
|
||||
"github.com/go-playground/universal-translator"
|
||||
"github.com/go-playground/validator/v10"
|
||||
zh_trans "github.com/go-playground/validator/v10/translations/zh"
|
||||
"reflect"
|
||||
"strings"
|
||||
)
|
||||
|
||||
//var trans ut.Translator
|
||||
|
||||
func TransInit() (trans ut.Translator, validate *validator.Validate) {
|
||||
// 创建翻译器
|
||||
zhTrans := zh.New() // 中文转换器
|
||||
enTrans := en.New() // 因为转换器
|
||||
|
||||
uni := ut.New(zhTrans, zhTrans, enTrans) // 创建一个通用转换器
|
||||
|
||||
curLocales := "zh" // 设置当前语言类型
|
||||
trans, _ = uni.GetTranslator(curLocales) // 获取对应语言的转换器
|
||||
|
||||
validate = validator.New() // 创建验证器
|
||||
_ = zh_trans.RegisterDefaultTranslations(validate, trans)
|
||||
|
||||
//switch curLocales {
|
||||
//case "zh":
|
||||
// // 内置tag注册 中文翻译器
|
||||
// _ = zh_trans.RegisterDefaultTranslations(validate, trans)
|
||||
//case "en":
|
||||
// // 内置tag注册 英文翻译器
|
||||
// _ = en_trans.RegisterDefaultTranslations(validate, trans)
|
||||
//}
|
||||
|
||||
// 注册 RegisterTagNameFunc
|
||||
validate.RegisterTagNameFunc(func(field reflect.StructField) string {
|
||||
name := strings.SplitN(field.Tag.Get("label"), ",", 2)[0]
|
||||
if name == "-" {
|
||||
return ""
|
||||
}
|
||||
|
||||
return name
|
||||
})
|
||||
return trans, validate
|
||||
}
|
||||
|
||||
var Trans, CustomerValidate = TransInit()
|
||||
Reference in New Issue
Block a user