Skip to content

Commit b15bf1d

Browse files
committed
Add zh,zh_tw datetime translation
1 parent c68441b commit b15bf1d

File tree

4 files changed

+46
-2
lines changed

4 files changed

+46
-2
lines changed

translations/zh/zh.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1308,6 +1308,21 @@ func RegisterDefaultTranslations(v *validator.Validate, trans ut.Translator) (er
13081308
return s
13091309
},
13101310
},
1311+
{
1312+
tag: "datetime",
1313+
translation: "{0}与{1}格式不匹配",
1314+
override: false,
1315+
customTransFunc: func(ut ut.Translator, fe validator.FieldError) string {
1316+
1317+
t, err := ut.T(fe.Tag(), fe.Field(), fe.Param())
1318+
if err != nil {
1319+
log.Printf("警告: 翻译字段错误: %#v", fe)
1320+
return fe.(error).Error()
1321+
}
1322+
1323+
return t
1324+
},
1325+
},
13111326
}
13121327

13131328
for _, t := range translations {

translations/zh/zh_test.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import (
44
"testing"
55
"time"
66

7+
. "github.com/go-playground/assert/v2"
78
zhongwen "github.com/go-playground/locales/zh"
89
ut "github.com/go-playground/universal-translator"
9-
. "github.com/go-playground/assert/v2"
1010
"github.com/go-playground/validator/v10"
1111
)
1212

@@ -138,6 +138,7 @@ func TestTranslations(t *testing.T) {
138138
StrPtrGte *string `validate:"gte=10"`
139139
OneOfString string `validate:"oneof=red green"`
140140
OneOfInt int `validate:"oneof=5 63"`
141+
Datetime string `validate:"datetime=2006-01-02"`
141142
}
142143

143144
var test Test
@@ -184,6 +185,8 @@ func TestTranslations(t *testing.T) {
184185
test.StrPtrMaxLen = &s
185186
test.StrPtrLen = &s
186187

188+
test.Datetime = "2008-Feb-01"
189+
187190
err = validate.Struct(test)
188191
NotEqual(t, err, nil)
189192

@@ -614,6 +617,10 @@ func TestTranslations(t *testing.T) {
614617
ns: "Test.OneOfInt",
615618
expected: "OneOfInt必须是[5 63]中的一个",
616619
},
620+
{
621+
ns: "Test.Datetime",
622+
expected: "Datetime与2006-01-02格式不匹配",
623+
},
617624
}
618625

619626
for _, tt := range tests {

translations/zh_tw/zh_tw.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1304,6 +1304,21 @@ func RegisterDefaultTranslations(v *validator.Validate, trans ut.Translator) (er
13041304
return s
13051305
},
13061306
},
1307+
{
1308+
tag: "datetime",
1309+
translation: "{0}與{1}格式不匹配",
1310+
override: false,
1311+
customTransFunc: func(ut ut.Translator, fe validator.FieldError) string {
1312+
1313+
t, err := ut.T(fe.Tag(), fe.Field(), fe.Param())
1314+
if err != nil {
1315+
log.Printf("警告: 翻譯欄位錯誤: %#v", fe)
1316+
return fe.(error).Error()
1317+
}
1318+
1319+
return t
1320+
},
1321+
},
13071322
}
13081323

13091324
for _, t := range translations {

translations/zh_tw/zh_tw_test.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import (
44
"testing"
55
"time"
66

7+
. "github.com/go-playground/assert/v2"
78
zhongwen "github.com/go-playground/locales/zh_Hant_TW"
89
ut "github.com/go-playground/universal-translator"
9-
. "github.com/go-playground/assert/v2"
1010
"github.com/go-playground/validator/v10"
1111
)
1212

@@ -138,6 +138,7 @@ func TestTranslations(t *testing.T) {
138138
StrPtrGte *string `validate:"gte=10"`
139139
OneOfString string `validate:"oneof=red green"`
140140
OneOfInt int `validate:"oneof=5 63"`
141+
Datetime string `validate:"datetime=2006-01-02"`
141142
}
142143

143144
var test Test
@@ -184,6 +185,8 @@ func TestTranslations(t *testing.T) {
184185
test.StrPtrMaxLen = &s
185186
test.StrPtrLen = &s
186187

188+
test.Datetime = "2008-Feb-01"
189+
187190
err = validate.Struct(test)
188191
NotEqual(t, err, nil)
189192

@@ -614,6 +617,10 @@ func TestTranslations(t *testing.T) {
614617
ns: "Test.OneOfInt",
615618
expected: "OneOfInt必須是[5 63]中的一個",
616619
},
620+
{
621+
ns: "Test.Datetime",
622+
expected: "Datetime與2006-01-02格式不匹配",
623+
},
617624
}
618625

619626
for _, tt := range tests {

0 commit comments

Comments
 (0)