ljw 1 год назад
Родитель
Сommit
476f251d2c
2 измененных файлов с 142 добавлено и 2 удалено
  1. 13 2
      global/apiValidator.go
  2. 129 0
      resources/i18n/ru.toml

+ 13 - 2
global/apiValidator.go

@@ -4,11 +4,13 @@ import (
4 4
 	"github.com/gin-gonic/gin"
5 5
 	"github.com/go-playground/locales/en"
6 6
 	"github.com/go-playground/locales/ko"
7
+	"github.com/go-playground/locales/ru"
7 8
 	"github.com/go-playground/locales/zh_Hans_CN"
8 9
 
9 10
 	ut "github.com/go-playground/universal-translator"
10 11
 	"github.com/go-playground/validator/v10"
11 12
 	en_translations "github.com/go-playground/validator/v10/translations/en"
13
+	ru_translations "github.com/go-playground/validator/v10/translations/ru"
12 14
 	zh_translations "github.com/go-playground/validator/v10/translations/zh"
13 15
 	"reflect"
14 16
 )
@@ -20,12 +22,14 @@ func ApiInitValidator() {
20 22
 	enT := en.New()
21 23
 	cn := zh_Hans_CN.New()
22 24
 	koT := ko.New()
25
+	ruT := ru.New()
23 26
 
24
-	uni := ut.New(enT, cn, koT)
27
+	uni := ut.New(enT, cn, koT, ruT)
25 28
 
26 29
 	enTrans, _ := uni.GetTranslator("en")
27 30
 	zhTrans, _ := uni.GetTranslator("zh_Hans_CN")
28 31
 	koTrans, _ := uni.GetTranslator("ko")
32
+	ruTrans, _ := uni.GetTranslator("ru")
29 33
 
30 34
 	err := zh_translations.RegisterDefaultTranslations(validate, zhTrans)
31 35
 	if err != nil {
@@ -35,11 +39,16 @@ func ApiInitValidator() {
35 39
 	if err != nil {
36 40
 		panic(err)
37 41
 	}
42
+
38 43
 	//validate没有ko的翻译,使用zh的翻译
39 44
 	err = zh_translations.RegisterDefaultTranslations(validate, koTrans)
40 45
 	if err != nil {
41 46
 		panic(err)
42 47
 	}
48
+	err = ru_translations.RegisterDefaultTranslations(validate, ruTrans)
49
+	if err != nil {
50
+		panic(err)
51
+	}
43 52
 
44 53
 	validate.RegisterTagNameFunc(func(field reflect.StructField) string {
45 54
 		label := field.Tag.Get("label")
@@ -90,7 +99,6 @@ func ApiInitValidator() {
90 99
 		}
91 100
 		return errList
92 101
 	}
93
-
94 102
 }
95 103
 func getTranslatorForLang(lang string) ut.Translator {
96 104
 	switch lang {
@@ -104,6 +112,9 @@ func getTranslatorForLang(lang string) ut.Translator {
104 112
 	case "ko":
105 113
 		trans, _ := Validator.UT.GetTranslator("ko")
106 114
 		return trans
115
+	case "ru":
116
+		trans, _ := Validator.UT.GetTranslator("ru")
117
+		return trans
107 118
 	case "en":
108 119
 		fallthrough
109 120
 	default:

+ 129 - 0
resources/i18n/ru.toml

@@ -0,0 +1,129 @@
1
+[Test]
2
+description = "test"
3
+one = "тест 1 {{.P0}}"
4
+other = "тест 2 {{.P0}}"
5
+
6
+[ParamsError]
7
+description = "Params validation failed."
8
+one = "Ошибка параметра."
9
+other = "Ошибка параметра."
10
+
11
+[OperationFailed]
12
+description = "OperationFailed."
13
+one = "Операция не удалась."
14
+other = "Операция не удалась."
15
+
16
+[OperationSuccess]
17
+description = "OperationSuccess."
18
+one = "Операция успешна."
19
+other = "Операция успешна."
20
+
21
+[ItemExists]
22
+description = "Item already exists."
23
+one = "Данные уже существуют."
24
+other = "Данные уже существуют."
25
+
26
+[ItemNotFound]
27
+description = "Item not found."
28
+one = "Данные не найдены."
29
+other = "Данные не найдены."
30
+
31
+[NoAccess]
32
+description = "No access."
33
+one = "Нет доступа."
34
+other = "Нет доступа."
35
+
36
+[UsernameOrPasswordError]
37
+description = "Username or password error."
38
+one = "Неправильное имя пользователя или пароль."
39
+other = "Неправильное имя пользователя или пароль."
40
+
41
+[SystemError]
42
+description = "System error."
43
+one = "Системная ошибка."
44
+other = "Системная ошибка."
45
+
46
+[ConfigNotFound]
47
+description = "Config not found."
48
+one = "Конфигурация не найдена."
49
+other = "Конфигурация не найдена."
50
+
51
+[OauthExpired]
52
+description = "Oauth expired."
53
+one = "Авторизация истекла, пожалуйста, авторизуйтесь снова."
54
+other = "Авторизация истекла, пожалуйста, авторизуйтесь снова."
55
+
56
+[OauthFailed]
57
+description = "Oauth failed."
58
+one = "Авторизация не удалась."
59
+other = "Авторизация не удалась."
60
+
61
+[OauthHasBindOtherUser]
62
+description = "Oauth has bind other user."
63
+one = "Авторизация уже привязана к другому пользователю."
64
+other = "Авторизация уже привязана к другому пользователю."
65
+
66
+[ParamIsEmpty]
67
+description = "Param is empty."
68
+one = "{{.P0}} пуст."
69
+other = "{{.P0}} пуст."
70
+
71
+[BindFail]
72
+description = "Bind fail."
73
+one = "Привязка не удалась."
74
+other = "Привязка не удалась."
75
+
76
+[BindSuccess]
77
+description = "Bind success."
78
+one = "Привязка успешна."
79
+other = "Привязка успешна."
80
+
81
+[OauthHasBeenSuccess]
82
+description = "Oauth has been success."
83
+one = "Авторизация уже выполнена успешно."
84
+other = "Авторизация уже выполнена успешно."
85
+
86
+[OauthSuccess]
87
+description = "Oauth success."
88
+one = "Авторизация успешна."
89
+other = "Авторизация успешна."
90
+
91
+[OauthRegisterSuccess]
92
+description = "Oauth register success."
93
+one = "Регистрация авторизации успешна."
94
+other = "Регистрация авторизации успешна."
95
+
96
+[OauthRegisterFailed]
97
+description = "Oauth register failed."
98
+one = "Ошибка регистрации авторизации."
99
+other = "Ошибка регистрации авторизации."
100
+
101
+[GetOauthTokenError]
102
+description = "Get oauth token error."
103
+one = "Не удалось получить токен авторизации."
104
+other = "Не удалось получить токен авторизации."
105
+
106
+[GetOauthUserInfoError]
107
+description = "Get oauth user info error."
108
+one = "Не удалось получить информацию о пользователе авторизации."
109
+other = "Не удалось получить информацию о пользователе авторизации."
110
+
111
+[DecodeOauthUserInfoError]
112
+description = "Decode oauth user info error."
113
+one = "Не удалось декодировать информацию о пользователе авторизации."
114
+other = "Не удалось декодировать информацию о пользователе авторизации."
115
+
116
+[OldPasswordError]
117
+description = "Old password error."
118
+one = "Неправильный старый пароль."
119
+other = "Неправильный старый пароль."
120
+
121
+[DefaultGroup]
122
+description = "Default group."
123
+one = "Группа по умолчанию"
124
+other = "Группа по умолчанию"
125
+
126
+[ShareGroup]
127
+description = "Share group."
128
+one = "Общая группа"
129
+other = "Общая группа"