feat: i18n

This commit is contained in:
krank 2024-10-01 06:27:31 +08:00
parent 4ea8acc018
commit 6e78340e7c
6 changed files with 32 additions and 9 deletions

View File

@ -496,7 +496,14 @@
"gvaPluginUserInjection": "اختبار حقن Gva Plugin User", "gvaPluginUserInjection": "اختبار حقن Gva Plugin User",
"chineseInjection": "اختبار حقن اللغة الصينية", "chineseInjection": "اختبار حقن اللغة الصينية",
"gvaPluginUserRollback": "اختبار تراجع Gva Plugin User" "gvaPluginUserRollback": "اختبار تراجع Gva Plugin User",
"registrationError": "تم تسجيله بالفعل ولا يمكن تسجيله مرة أخرى",
"valueCannotBeEmpty": "لا يمكن أن تكون فارغة",
"formatValidationFailed": "فشل التحقق من تنسيق",
"lengthOrValueOutOfRange": "طول أو القيمة خارج النطاق القانوني",
"sysNoSupport": "النظام غير مدعوم",
"fileNameInvalid": "اسم الملف غير صالح"
}, },
"router": { "router": {

View File

@ -499,7 +499,14 @@
"gvaPluginUserInjection": "Test injection of Gva Plugin User", "gvaPluginUserInjection": "Test injection of Gva Plugin User",
"chineseInjection": "Test injection of Chinese", "chineseInjection": "Test injection of Chinese",
"gvaPluginUserRollback": "Test rollback of Gva Plugin User" "gvaPluginUserRollback": "Test rollback of Gva Plugin User",
"registrationError": "is already registered and cannot be registered again",
"valueCannotBeEmpty": "cannot be empty",
"formatValidationFailed": "format validation failed",
"lengthOrValueOutOfRange": "length or value is out of valid range",
"sysNoSupport": "The system does not support",
"fileNameInvalid": "File name is invalid"
}, },
"router": { "router": {

View File

@ -514,8 +514,14 @@
"gvaPluginUserInjection": "测试 Gva插件User 注入", "gvaPluginUserInjection": "测试 Gva插件User 注入",
"chineseInjection": "测试 中文 注入", "chineseInjection": "测试 中文 注入",
"gvaPluginUserRollback": "测试 Gva插件User 回滚" "gvaPluginUserRollback": "测试 Gva插件User 回滚",
"registrationError": "已注册,无法重复注册",
"valueCannotBeEmpty": "值不能为空",
"formatValidationFailed": "格式校验不通过",
"lengthOrValueOutOfRange": "长度或值不在合法范围",
"sysNoSupport": "系统不支持",
"fileNameInvalid": "文件名不合法"
}, },
"router": { "router": {

View File

@ -2,6 +2,7 @@ package utils
import ( import (
"errors" "errors"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"os" "os"
"os/exec" "os/exec"
"runtime" "runtime"
@ -10,7 +11,7 @@ import (
func Reload() error { func Reload() error {
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
return errors.New("系统不支持") return errors.New(global.Translate("utils.sysNoSupport"))
} }
pid := os.Getpid() pid := os.Getpid()
cmd := exec.Command("kill", "-1", strconv.Itoa(pid)) cmd := exec.Command("kill", "-1", strconv.Itoa(pid))

View File

@ -2,6 +2,7 @@ package utils
import ( import (
"errors" "errors"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"reflect" "reflect"
"regexp" "regexp"
"strconv" "strconv"
@ -22,7 +23,7 @@ var CustomizeMap = make(map[string]Rules)
func RegisterRule(key string, rule Rules) (err error) { func RegisterRule(key string, rule Rules) (err error) {
if CustomizeMap[key] != nil { if CustomizeMap[key] != nil {
return errors.New(key + "已注册,无法重复注册") return errors.New(key + global.Translate("utils.registrationError"))
} else { } else {
CustomizeMap[key] = rule CustomizeMap[key] = rule
return nil return nil
@ -147,15 +148,15 @@ func Verify(st interface{}, roleMap Rules) (err error) {
switch { switch {
case v == "notEmpty": case v == "notEmpty":
if isBlank(val) { if isBlank(val) {
return errors.New(tagVal.Name + "值不能为空") return errors.New(tagVal.Name + global.Translate("utils.valueCannotBeEmpty"))
} }
case strings.Split(v, "=")[0] == "regexp": case strings.Split(v, "=")[0] == "regexp":
if !regexpMatch(strings.Split(v, "=")[1], val.String()) { if !regexpMatch(strings.Split(v, "=")[1], val.String()) {
return errors.New(tagVal.Name + "格式校验不通过") return errors.New(tagVal.Name + global.Translate("utils.formatValidationFailed"))
} }
case compareMap[strings.Split(v, "=")[0]]: case compareMap[strings.Split(v, "=")[0]]:
if !compareVerify(val, v) { if !compareVerify(val, v) {
return errors.New(tagVal.Name + "长度或值不在合法范围," + v) return errors.New(tagVal.Name + global.Translate("utils.lengthOrValueOutOfRange") + v)
} }
} }
} }

View File

@ -3,6 +3,7 @@ package utils
import ( import (
"archive/zip" "archive/zip"
"fmt" "fmt"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"io" "io"
"os" "os"
"path/filepath" "path/filepath"
@ -20,7 +21,7 @@ func Unzip(zipFile string, destDir string) ([]string, error) {
for _, f := range zipReader.File { for _, f := range zipReader.File {
if strings.Index(f.Name, "..") > -1 { if strings.Index(f.Name, "..") > -1 {
return []string{}, fmt.Errorf("%s 文件名不合法", f.Name) return []string{}, fmt.Errorf("%s %s", f.Name, global.Translate("utils.fileNameInvalid"))
} }
fpath := filepath.Join(destDir, f.Name) fpath := filepath.Join(destDir, f.Name)
paths = append(paths, fpath) paths = append(paths, fpath)