add ru lang
This commit is contained in:
@@ -4,11 +4,13 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/go-playground/locales/en"
|
"github.com/go-playground/locales/en"
|
||||||
"github.com/go-playground/locales/ko"
|
"github.com/go-playground/locales/ko"
|
||||||
|
"github.com/go-playground/locales/ru"
|
||||||
"github.com/go-playground/locales/zh_Hans_CN"
|
"github.com/go-playground/locales/zh_Hans_CN"
|
||||||
|
|
||||||
ut "github.com/go-playground/universal-translator"
|
ut "github.com/go-playground/universal-translator"
|
||||||
"github.com/go-playground/validator/v10"
|
"github.com/go-playground/validator/v10"
|
||||||
en_translations "github.com/go-playground/validator/v10/translations/en"
|
en_translations "github.com/go-playground/validator/v10/translations/en"
|
||||||
|
ru_translations "github.com/go-playground/validator/v10/translations/ru"
|
||||||
zh_translations "github.com/go-playground/validator/v10/translations/zh"
|
zh_translations "github.com/go-playground/validator/v10/translations/zh"
|
||||||
"reflect"
|
"reflect"
|
||||||
)
|
)
|
||||||
@@ -20,12 +22,14 @@ func ApiInitValidator() {
|
|||||||
enT := en.New()
|
enT := en.New()
|
||||||
cn := zh_Hans_CN.New()
|
cn := zh_Hans_CN.New()
|
||||||
koT := ko.New()
|
koT := ko.New()
|
||||||
|
ruT := ru.New()
|
||||||
|
|
||||||
uni := ut.New(enT, cn, koT)
|
uni := ut.New(enT, cn, koT, ruT)
|
||||||
|
|
||||||
enTrans, _ := uni.GetTranslator("en")
|
enTrans, _ := uni.GetTranslator("en")
|
||||||
zhTrans, _ := uni.GetTranslator("zh_Hans_CN")
|
zhTrans, _ := uni.GetTranslator("zh_Hans_CN")
|
||||||
koTrans, _ := uni.GetTranslator("ko")
|
koTrans, _ := uni.GetTranslator("ko")
|
||||||
|
ruTrans, _ := uni.GetTranslator("ru")
|
||||||
|
|
||||||
err := zh_translations.RegisterDefaultTranslations(validate, zhTrans)
|
err := zh_translations.RegisterDefaultTranslations(validate, zhTrans)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -35,11 +39,16 @@ func ApiInitValidator() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
//validate没有ko的翻译,使用zh的翻译
|
//validate没有ko的翻译,使用zh的翻译
|
||||||
err = zh_translations.RegisterDefaultTranslations(validate, koTrans)
|
err = zh_translations.RegisterDefaultTranslations(validate, koTrans)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
err = ru_translations.RegisterDefaultTranslations(validate, ruTrans)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
validate.RegisterTagNameFunc(func(field reflect.StructField) string {
|
validate.RegisterTagNameFunc(func(field reflect.StructField) string {
|
||||||
label := field.Tag.Get("label")
|
label := field.Tag.Get("label")
|
||||||
@@ -90,7 +99,6 @@ func ApiInitValidator() {
|
|||||||
}
|
}
|
||||||
return errList
|
return errList
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
func getTranslatorForLang(lang string) ut.Translator {
|
func getTranslatorForLang(lang string) ut.Translator {
|
||||||
switch lang {
|
switch lang {
|
||||||
@@ -104,6 +112,9 @@ func getTranslatorForLang(lang string) ut.Translator {
|
|||||||
case "ko":
|
case "ko":
|
||||||
trans, _ := Validator.UT.GetTranslator("ko")
|
trans, _ := Validator.UT.GetTranslator("ko")
|
||||||
return trans
|
return trans
|
||||||
|
case "ru":
|
||||||
|
trans, _ := Validator.UT.GetTranslator("ru")
|
||||||
|
return trans
|
||||||
case "en":
|
case "en":
|
||||||
fallthrough
|
fallthrough
|
||||||
default:
|
default:
|
||||||
|
|||||||
129
resources/i18n/ru.toml
Normal file
129
resources/i18n/ru.toml
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
[Test]
|
||||||
|
description = "test"
|
||||||
|
one = "тест 1 {{.P0}}"
|
||||||
|
other = "тест 2 {{.P0}}"
|
||||||
|
|
||||||
|
[ParamsError]
|
||||||
|
description = "Params validation failed."
|
||||||
|
one = "Ошибка параметра."
|
||||||
|
other = "Ошибка параметра."
|
||||||
|
|
||||||
|
[OperationFailed]
|
||||||
|
description = "OperationFailed."
|
||||||
|
one = "Операция не удалась."
|
||||||
|
other = "Операция не удалась."
|
||||||
|
|
||||||
|
[OperationSuccess]
|
||||||
|
description = "OperationSuccess."
|
||||||
|
one = "Операция успешна."
|
||||||
|
other = "Операция успешна."
|
||||||
|
|
||||||
|
[ItemExists]
|
||||||
|
description = "Item already exists."
|
||||||
|
one = "Данные уже существуют."
|
||||||
|
other = "Данные уже существуют."
|
||||||
|
|
||||||
|
[ItemNotFound]
|
||||||
|
description = "Item not found."
|
||||||
|
one = "Данные не найдены."
|
||||||
|
other = "Данные не найдены."
|
||||||
|
|
||||||
|
[NoAccess]
|
||||||
|
description = "No access."
|
||||||
|
one = "Нет доступа."
|
||||||
|
other = "Нет доступа."
|
||||||
|
|
||||||
|
[UsernameOrPasswordError]
|
||||||
|
description = "Username or password error."
|
||||||
|
one = "Неправильное имя пользователя или пароль."
|
||||||
|
other = "Неправильное имя пользователя или пароль."
|
||||||
|
|
||||||
|
[SystemError]
|
||||||
|
description = "System error."
|
||||||
|
one = "Системная ошибка."
|
||||||
|
other = "Системная ошибка."
|
||||||
|
|
||||||
|
[ConfigNotFound]
|
||||||
|
description = "Config not found."
|
||||||
|
one = "Конфигурация не найдена."
|
||||||
|
other = "Конфигурация не найдена."
|
||||||
|
|
||||||
|
[OauthExpired]
|
||||||
|
description = "Oauth expired."
|
||||||
|
one = "Авторизация истекла, пожалуйста, авторизуйтесь снова."
|
||||||
|
other = "Авторизация истекла, пожалуйста, авторизуйтесь снова."
|
||||||
|
|
||||||
|
[OauthFailed]
|
||||||
|
description = "Oauth failed."
|
||||||
|
one = "Авторизация не удалась."
|
||||||
|
other = "Авторизация не удалась."
|
||||||
|
|
||||||
|
[OauthHasBindOtherUser]
|
||||||
|
description = "Oauth has bind other user."
|
||||||
|
one = "Авторизация уже привязана к другому пользователю."
|
||||||
|
other = "Авторизация уже привязана к другому пользователю."
|
||||||
|
|
||||||
|
[ParamIsEmpty]
|
||||||
|
description = "Param is empty."
|
||||||
|
one = "{{.P0}} пуст."
|
||||||
|
other = "{{.P0}} пуст."
|
||||||
|
|
||||||
|
[BindFail]
|
||||||
|
description = "Bind fail."
|
||||||
|
one = "Привязка не удалась."
|
||||||
|
other = "Привязка не удалась."
|
||||||
|
|
||||||
|
[BindSuccess]
|
||||||
|
description = "Bind success."
|
||||||
|
one = "Привязка успешна."
|
||||||
|
other = "Привязка успешна."
|
||||||
|
|
||||||
|
[OauthHasBeenSuccess]
|
||||||
|
description = "Oauth has been success."
|
||||||
|
one = "Авторизация уже выполнена успешно."
|
||||||
|
other = "Авторизация уже выполнена успешно."
|
||||||
|
|
||||||
|
[OauthSuccess]
|
||||||
|
description = "Oauth success."
|
||||||
|
one = "Авторизация успешна."
|
||||||
|
other = "Авторизация успешна."
|
||||||
|
|
||||||
|
[OauthRegisterSuccess]
|
||||||
|
description = "Oauth register success."
|
||||||
|
one = "Регистрация авторизации успешна."
|
||||||
|
other = "Регистрация авторизации успешна."
|
||||||
|
|
||||||
|
[OauthRegisterFailed]
|
||||||
|
description = "Oauth register failed."
|
||||||
|
one = "Ошибка регистрации авторизации."
|
||||||
|
other = "Ошибка регистрации авторизации."
|
||||||
|
|
||||||
|
[GetOauthTokenError]
|
||||||
|
description = "Get oauth token error."
|
||||||
|
one = "Не удалось получить токен авторизации."
|
||||||
|
other = "Не удалось получить токен авторизации."
|
||||||
|
|
||||||
|
[GetOauthUserInfoError]
|
||||||
|
description = "Get oauth user info error."
|
||||||
|
one = "Не удалось получить информацию о пользователе авторизации."
|
||||||
|
other = "Не удалось получить информацию о пользователе авторизации."
|
||||||
|
|
||||||
|
[DecodeOauthUserInfoError]
|
||||||
|
description = "Decode oauth user info error."
|
||||||
|
one = "Не удалось декодировать информацию о пользователе авторизации."
|
||||||
|
other = "Не удалось декодировать информацию о пользователе авторизации."
|
||||||
|
|
||||||
|
[OldPasswordError]
|
||||||
|
description = "Old password error."
|
||||||
|
one = "Неправильный старый пароль."
|
||||||
|
other = "Неправильный старый пароль."
|
||||||
|
|
||||||
|
[DefaultGroup]
|
||||||
|
description = "Default group."
|
||||||
|
one = "Группа по умолчанию"
|
||||||
|
other = "Группа по умолчанию"
|
||||||
|
|
||||||
|
[ShareGroup]
|
||||||
|
description = "Share group."
|
||||||
|
one = "Общая группа"
|
||||||
|
other = "Общая группа"
|
||||||
Reference in New Issue
Block a user