mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-09-22 08:00:53 +00:00
fix: Fix the problem that the website directory is not backed up duri… (#8280)
This commit is contained in:
@@ -469,6 +469,13 @@ func (a *AppInstallService) SyncAll(systemInit bool) error {
|
||||
}
|
||||
continue
|
||||
}
|
||||
if i.Status == constant.StatusWaitingRestart {
|
||||
dockerComposePath := i.GetComposePath()
|
||||
_, _ = compose.Up(dockerComposePath)
|
||||
i.Status = constant.StatusRunning
|
||||
_ = appInstallRepo.Save(context.Background(), &i)
|
||||
continue
|
||||
}
|
||||
if !systemInit {
|
||||
if err = syncAppInstallStatus(&i, false); err != nil {
|
||||
global.LOG.Errorf("sync install app[%s] error,mgs: %s", i.Name, err.Error())
|
||||
|
||||
@@ -135,6 +135,7 @@ func (u *SnapshotService) UpdateDescription(req dto.UpdateDescription) error {
|
||||
|
||||
type SnapshotJson struct {
|
||||
BaseDir string `json:"baseDir"`
|
||||
OperestyDir string `json:"operestyDir"`
|
||||
BackupDataDir string `json:"backupDataDir"`
|
||||
Size uint64 `json:"size"`
|
||||
}
|
||||
@@ -322,12 +323,12 @@ func loadPanelFile(fileOp fileUtils.FileOp) ([]dto.DataTree, error) {
|
||||
Path: path.Join(global.Dir.DataDir, fileItem.Name()),
|
||||
}
|
||||
switch itemData.Label {
|
||||
case "agent", "conf", "runtime", "docker", "secret", "task":
|
||||
case "agent", "runtime", "docker", "task", "geo", "secret", "uploads":
|
||||
itemData.IsDisable = true
|
||||
case "clamav":
|
||||
case "clamav", "download", "resource":
|
||||
panelPath := path.Join(global.Dir.DataDir, itemData.Label)
|
||||
itemData.Children, _ = loadFile(panelPath, 5, fileOp)
|
||||
default:
|
||||
case "apps", "backup", "log", "db", "tmp":
|
||||
continue
|
||||
}
|
||||
if fileItem.IsDir() {
|
||||
@@ -351,6 +352,19 @@ func loadPanelFile(fileOp fileUtils.FileOp) ([]dto.DataTree, error) {
|
||||
data = append(data, itemData)
|
||||
}
|
||||
|
||||
openrestySite, _ := settingRepo.GetValueByKey("WEBSITE_DIR")
|
||||
if len(openrestySite) != 0 && !strings.Contains(openrestySite, global.Dir.DataDir) {
|
||||
sizeItem, _ := fileOp.GetDirSize(openrestySite)
|
||||
data = append(data, dto.DataTree{
|
||||
ID: uuid.NewString(),
|
||||
Label: "www",
|
||||
IsCheck: true,
|
||||
IsDisable: true,
|
||||
Path: openrestySite,
|
||||
Size: uint64(sizeItem),
|
||||
})
|
||||
}
|
||||
|
||||
return data, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -116,7 +116,8 @@ func (u *SnapshotService) SnapshotReCreate(id uint) error {
|
||||
|
||||
func handleSnapshot(req dto.SnapshotCreate, taskItem *task.Task, jobID uint) error {
|
||||
rootDir := path.Join(global.Dir.TmpDir, "system", req.Name)
|
||||
itemHelper := snapHelper{SnapID: req.ID, Task: *taskItem, FileOp: files.NewFileOp(), Ctx: context.Background()}
|
||||
openrestyDir, _ := settingRepo.GetValueByKey("WEBSITE_DIR")
|
||||
itemHelper := snapHelper{SnapID: req.ID, Task: *taskItem, FileOp: files.NewFileOp(), Ctx: context.Background(), OpenrestyDir: openrestyDir}
|
||||
baseDir := path.Join(rootDir, "base")
|
||||
_ = os.MkdirAll(baseDir, os.ModePerm)
|
||||
|
||||
@@ -168,7 +169,7 @@ func handleSnapshot(req dto.SnapshotCreate, taskItem *task.Task, jobID uint) err
|
||||
req.InterruptStep = ""
|
||||
}
|
||||
|
||||
taskItem.AddSubTask(
|
||||
taskItem.AddSubTaskWithAlias(
|
||||
"SnapCloseDBConn",
|
||||
func(t *task.Task) error {
|
||||
taskItem.Log("---------------------- 6 / 8 ----------------------")
|
||||
@@ -214,6 +215,8 @@ type snapHelper struct {
|
||||
FileOp files.FileOp
|
||||
Wg *sync.WaitGroup
|
||||
Task task.Task
|
||||
|
||||
OpenrestyDir string
|
||||
}
|
||||
|
||||
func loadDbConn(snap *snapHelper, targetDir string, req dto.SnapshotCreate) error {
|
||||
@@ -247,6 +250,12 @@ func loadDbConn(snap *snapHelper, targetDir string, req dto.SnapshotCreate) erro
|
||||
return err
|
||||
}
|
||||
}
|
||||
if !req.WithTaskLog {
|
||||
err = os.Remove(path.Join(targetDir, "db/task.db"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if !req.WithOperationLog {
|
||||
err = snap.snapCoreDB.Exec("DELETE FROM operation_logs").Error
|
||||
snap.Task.LogWithStatus(i18n.GetMsgByKey("SnapDeleteOperationLog"), err)
|
||||
@@ -312,6 +321,7 @@ func snapBaseData(snap snapHelper, targetDir string) error {
|
||||
|
||||
remarkInfo, _ := json.MarshalIndent(SnapshotJson{
|
||||
BaseDir: global.Dir.BaseDir,
|
||||
OperestyDir: snap.OpenrestyDir,
|
||||
BackupDataDir: global.Dir.LocalBackupDir,
|
||||
}, "", "\t")
|
||||
err = os.WriteFile(path.Join(targetDir, "snapshot.json"), remarkInfo, 0640)
|
||||
@@ -327,6 +337,12 @@ func snapAppImage(snap snapHelper, req dto.SnapshotCreate, targetDir string) err
|
||||
snap.Task.Log("---------------------- 3 / 8 ----------------------")
|
||||
snap.Task.LogStart(i18n.GetMsgByKey("SnapInstallApp"))
|
||||
|
||||
var appInstalls []model.AppInstall
|
||||
_ = snap.snapAgentDB.Where("1 = 1").Find(&appInstalls).Error
|
||||
for _, item := range appInstalls {
|
||||
_ = snap.snapAgentDB.Where("id = ?", item.ID).Updates(map[string]interface{}{"status": constant.StatusWaitingRestart}).Error
|
||||
}
|
||||
|
||||
var imageList []string
|
||||
existStr, _ := cmd.Exec("docker images | awk '{print $1\":\"$2}' | grep -v REPOSITORY:TAG")
|
||||
existImages := strings.Split(existStr, "\n")
|
||||
@@ -334,6 +350,9 @@ func snapAppImage(snap snapHelper, req dto.SnapshotCreate, targetDir string) err
|
||||
for _, item := range app.Children {
|
||||
if item.Label == "appImage" && item.IsCheck {
|
||||
for _, existImage := range existImages {
|
||||
if len(existImage) == 0 {
|
||||
continue
|
||||
}
|
||||
if existImage == item.Name {
|
||||
imageList = append(imageList, item.Name)
|
||||
}
|
||||
@@ -342,10 +361,10 @@ func snapAppImage(snap snapHelper, req dto.SnapshotCreate, targetDir string) err
|
||||
}
|
||||
}
|
||||
|
||||
snap.Task.Log(strings.Join(imageList, " "))
|
||||
if len(imageList) != 0 {
|
||||
snap.Task.Logf("docker save %s | gzip -c > %s", strings.Join(imageList, " "), path.Join(targetDir, "images.tar.gz"))
|
||||
std, err := cmd.Execf("docker save %s | gzip -c > %s", strings.Join(imageList, " "), path.Join(targetDir, "images.tar.gz"))
|
||||
snap.Task.LogWithStatus(i18n.GetMsgByKey("SnapDockerSave"), errors.New(std))
|
||||
if err != nil {
|
||||
snap.Task.LogFailedWithErr(i18n.GetMsgByKey("SnapDockerSave"), errors.New(std))
|
||||
return errors.New(std)
|
||||
@@ -421,25 +440,32 @@ func snapPanelData(snap snapHelper, req dto.SnapshotCreate, targetDir string) er
|
||||
}
|
||||
}
|
||||
}
|
||||
excludes = append(excludes, "./tmp")
|
||||
excludes = append(excludes, "./cache")
|
||||
excludes = append(excludes, "./uploads")
|
||||
excludes = append(excludes, "./db")
|
||||
excludes = append(excludes, "./resource")
|
||||
excludes = append(excludes, "./tmp")
|
||||
if !req.WithSystemLog {
|
||||
excludes = append(excludes, "./log/1Panel*")
|
||||
}
|
||||
if !req.WithTaskLog {
|
||||
excludes = append(excludes, "./log/AI")
|
||||
excludes = append(excludes, "./log/AppStore")
|
||||
excludes = append(excludes, "./log/Cronjob")
|
||||
excludes = append(excludes, "./log/Image")
|
||||
excludes = append(excludes, "./log/Compose")
|
||||
excludes = append(excludes, "./log/Database")
|
||||
excludes = append(excludes, "./log/RuntimeExtension")
|
||||
excludes = append(excludes, "./log/Website")
|
||||
excludes = append(excludes, "./log/App")
|
||||
excludes = append(excludes, "./log/Snapshot")
|
||||
excludes = append(excludes, "./log/AppStore")
|
||||
excludes = append(excludes, "./log/Website")
|
||||
}
|
||||
|
||||
rootDir := global.Dir.DataDir
|
||||
if strings.Contains(global.Dir.LocalBackupDir, rootDir) {
|
||||
excludes = append(excludes, "."+strings.ReplaceAll(global.Dir.LocalBackupDir, rootDir, ""))
|
||||
}
|
||||
if len(snap.OpenrestyDir) != 0 && strings.Contains(snap.OpenrestyDir, rootDir) {
|
||||
excludes = append(excludes, "."+strings.ReplaceAll(snap.OpenrestyDir, rootDir, ""))
|
||||
}
|
||||
ignoreVal, _ := settingRepo.Get(settingRepo.WithByKey("SnapshotIgnore"))
|
||||
rules := strings.Split(ignoreVal.Value, ",")
|
||||
for _, ignore := range rules {
|
||||
@@ -450,6 +476,16 @@ func snapPanelData(snap snapHelper, req dto.SnapshotCreate, targetDir string) er
|
||||
}
|
||||
err := snap.FileOp.TarGzCompressPro(false, rootDir, path.Join(targetDir, "1panel_data.tar.gz"), "", strings.Join(excludes, ";"))
|
||||
snap.Task.LogWithStatus(i18n.GetMsgByKey("SnapCompressPanel"), err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(snap.OpenrestyDir) != 0 {
|
||||
err := snap.FileOp.TarGzCompressPro(false, snap.OpenrestyDir, path.Join(targetDir, "website.tar.gz"), "", "")
|
||||
snap.Task.LogWithStatus(i18n.GetMsgByKey("SnapWebsite"), err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/1Panel-dev/1Panel/agent/app/repo"
|
||||
|
||||
@@ -19,7 +17,6 @@ import (
|
||||
"github.com/1Panel-dev/1Panel/agent/i18n"
|
||||
"github.com/1Panel-dev/1Panel/agent/utils/cmd"
|
||||
"github.com/1Panel-dev/1Panel/agent/utils/common"
|
||||
"github.com/1Panel-dev/1Panel/agent/utils/compose"
|
||||
"github.com/1Panel-dev/1Panel/agent/utils/files"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
@@ -160,6 +157,17 @@ func (u *SnapshotService) SnapshotRecover(req dto.SnapshotRecover) error {
|
||||
itemHelper.Task.LogStart(i18n.GetWithName("RecoverPanelData", snap.Name))
|
||||
err := itemHelper.FileOp.TarGzExtractPro(path.Join(rootDir, snap.Name, "/1panel_data.tar.gz"), path.Join(snapJson.BaseDir, "1panel"), "")
|
||||
itemHelper.Task.LogWithStatus(i18n.GetMsgByKey("Decompress"), err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(snapJson.OperestyDir) != 0 {
|
||||
err := itemHelper.FileOp.TarGzExtractPro(path.Join(rootDir, snap.Name, "/website.tar.gz"), snapJson.OperestyDir, "")
|
||||
itemHelper.Task.LogWithStatus(i18n.GetMsgByKey("RecoverWebsite"), err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return err
|
||||
},
|
||||
nil,
|
||||
@@ -219,11 +227,24 @@ func backupBeforeRecover(name string, itemHelper *snapRecoverHelper) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = itemHelper.FileOp.CopyDirWithExclude(global.Dir.LocalBackupDir, rootDir, []string{"system_snapshot"})
|
||||
itemHelper.Task.LogWithStatus(i18n.GetWithName("SnapCopy", global.Dir.LocalBackupDir), err)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
openrestyDir, _ := settingRepo.GetValueByKey("WEBSITE_DIR")
|
||||
if len(openrestyDir) != 0 && !strings.Contains(openrestyDir, global.Dir.DataDir) {
|
||||
err := itemHelper.FileOp.CopyDirWithExclude(openrestyDir, rootDir, nil)
|
||||
itemHelper.Task.LogWithStatus(i18n.GetWithName("SnapCopy", openrestyDir), err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if len(global.Dir.LocalBackupDir) != 0 && !strings.Contains(global.Dir.LocalBackupDir, global.Dir.DataDir) {
|
||||
err = itemHelper.FileOp.CopyDirWithExclude(global.Dir.LocalBackupDir, rootDir, []string{"system_snapshot"})
|
||||
itemHelper.Task.LogWithStatus(i18n.GetWithName("SnapCopy", global.Dir.LocalBackupDir), err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
err = itemHelper.FileOp.CopyFile("/usr/local/bin/1pctl", baseDir)
|
||||
itemHelper.Task.LogWithStatus(i18n.GetWithName("SnapCopy", "/usr/local/bin/1pctl"), err)
|
||||
if err != nil {
|
||||
@@ -235,19 +256,17 @@ func backupBeforeRecover(name string, itemHelper *snapRecoverHelper) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
err = itemHelper.FileOp.CopyFile("/usr/local/bin/1panel-agent", baseDir)
|
||||
itemHelper.Task.LogWithStatus(i18n.GetWithName("SnapCopy", "/usr/local/bin/1panel-agent"), err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if global.IsMaster {
|
||||
err = itemHelper.FileOp.CopyFile("/etc/systemd/system/1panel-core.service", baseDir)
|
||||
itemHelper.Task.LogWithStatus(i18n.GetWithName("SnapCopy", "/etc/systemd/system/1panel-core.service"), err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
err = itemHelper.FileOp.CopyFile("/usr/local/bin/1panel-agent", baseDir)
|
||||
itemHelper.Task.LogWithStatus(i18n.GetWithName("SnapCopy", "/usr/local/bin/1panel-agent"), err)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = itemHelper.FileOp.CopyFile("/etc/systemd/system/1panel-agent.service", baseDir)
|
||||
itemHelper.Task.LogWithStatus(i18n.GetWithName("SnapCopy", "/etc/systemd/system/1panel-agent.service"), err)
|
||||
if err != nil {
|
||||
@@ -294,35 +313,13 @@ func recoverAppData(src string, itemHelper *snapRecoverHelper) error {
|
||||
if _, err := os.Stat(path.Join(src, "images.tar.gz")); err != nil {
|
||||
itemHelper.Task.Log(i18n.GetMsgByKey("RecoverAppEmpty"))
|
||||
return nil
|
||||
} else {
|
||||
std, err := cmd.Execf("docker load < %s", path.Join(src, "images.tar.gz"))
|
||||
if err != nil {
|
||||
itemHelper.Task.LogFailedWithErr(i18n.GetMsgByKey("RecoverAppImage"), errors.New(std))
|
||||
return fmt.Errorf("docker load images failed, err: %v", err)
|
||||
}
|
||||
itemHelper.Task.LogSuccess(i18n.GetMsgByKey("RecoverAppImage"))
|
||||
}
|
||||
|
||||
appInstalls, err := appInstallRepo.ListBy(context.Background())
|
||||
itemHelper.Task.LogWithStatus(i18n.GetMsgByKey("RecoverAppList"), err)
|
||||
std, err := cmd.Execf("docker load < %s", path.Join(src, "images.tar.gz"))
|
||||
if err != nil {
|
||||
return err
|
||||
itemHelper.Task.LogFailedWithErr(i18n.GetMsgByKey("RecoverAppImage"), errors.New(std))
|
||||
return fmt.Errorf("docker load images failed, err: %v", err)
|
||||
}
|
||||
|
||||
var wg sync.WaitGroup
|
||||
for i := 0; i < len(appInstalls); i++ {
|
||||
wg.Add(1)
|
||||
appInstalls[i].Status = constant.StatusRebuilding
|
||||
_ = appInstallRepo.Save(context.Background(), &appInstalls[i])
|
||||
go func(app model.AppInstall) {
|
||||
defer wg.Done()
|
||||
dockerComposePath := app.GetComposePath()
|
||||
_, _ = compose.Up(dockerComposePath)
|
||||
app.Status = constant.StatusRunning
|
||||
_ = appInstallRepo.Save(context.Background(), &app)
|
||||
}(appInstalls[i])
|
||||
}
|
||||
wg.Wait()
|
||||
itemHelper.Task.LogSuccess(i18n.GetMsgByKey("RecoverAppImage"))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -89,6 +89,16 @@ func (u *SnapshotService) SnapshotRollback(req dto.SnapshotRecover) error {
|
||||
},
|
||||
nil,
|
||||
)
|
||||
openrestyDir, _ := settingRepo.GetValueByKey("WEBSITE_DIR")
|
||||
if len(openrestyDir) != 0 {
|
||||
taskItem.AddSubTask(
|
||||
i18n.GetWithName("SnapCopy", openrestyDir),
|
||||
func(t *task.Task) error {
|
||||
return FileOp.CopyDir(path.Join(rootDir, "www"), openrestyDir)
|
||||
},
|
||||
nil,
|
||||
)
|
||||
}
|
||||
taskItem.AddSubTask(
|
||||
i18n.GetWithName("SnapCopy", global.Dir.BaseDir),
|
||||
func(t *task.Task) error {
|
||||
|
||||
+34
-33
@@ -1,39 +1,40 @@
|
||||
package constant
|
||||
|
||||
const (
|
||||
StatusRunning = "Running"
|
||||
StatusCanceled = "Canceled"
|
||||
StatusDone = "Done"
|
||||
StatusWaiting = "Waiting"
|
||||
StatusSuccess = "Success"
|
||||
StatusFailed = "Failed"
|
||||
StatusUploading = "Uploading"
|
||||
StatusEnable = "Enable"
|
||||
StatusDisable = "Disable"
|
||||
StatusNone = "None"
|
||||
StatusDeleted = "Deleted"
|
||||
StatusExecuting = "Executing"
|
||||
StatusBuilding = "Building"
|
||||
StatusReCreating = "Recreating"
|
||||
StatusStopped = "Stopped"
|
||||
StatusCreating = "Creating"
|
||||
StatusStartErr = "StartErr"
|
||||
StatusNormal = "Normal"
|
||||
StatusError = "Error"
|
||||
StatusStarting = "Starting"
|
||||
StatusRestarting = "ReStarting"
|
||||
StatusUnHealthy = "UnHealthy"
|
||||
StatusInstalling = "Installing"
|
||||
StatusDownloadErr = "DownloadErr"
|
||||
StatusUpgrading = "Upgrading"
|
||||
StatusUpgradeErr = "UpgradeErr"
|
||||
StatusRebuilding = "Rebuilding"
|
||||
StatusSyncing = "Syncing"
|
||||
StatusSyncSuccess = "SyncSuccess"
|
||||
StatusPaused = "Paused"
|
||||
StatusUpErr = "UpErr"
|
||||
StatusInstallErr = "InstallErr"
|
||||
StatusUninstalling = "Uninstalling"
|
||||
StatusRunning = "Running"
|
||||
StatusCanceled = "Canceled"
|
||||
StatusDone = "Done"
|
||||
StatusWaiting = "Waiting"
|
||||
StatusSuccess = "Success"
|
||||
StatusFailed = "Failed"
|
||||
StatusUploading = "Uploading"
|
||||
StatusEnable = "Enable"
|
||||
StatusDisable = "Disable"
|
||||
StatusNone = "None"
|
||||
StatusDeleted = "Deleted"
|
||||
StatusExecuting = "Executing"
|
||||
StatusBuilding = "Building"
|
||||
StatusReCreating = "Recreating"
|
||||
StatusStopped = "Stopped"
|
||||
StatusCreating = "Creating"
|
||||
StatusStartErr = "StartErr"
|
||||
StatusNormal = "Normal"
|
||||
StatusError = "Error"
|
||||
StatusStarting = "Starting"
|
||||
StatusRestarting = "ReStarting"
|
||||
StatusUnHealthy = "UnHealthy"
|
||||
StatusInstalling = "Installing"
|
||||
StatusDownloadErr = "DownloadErr"
|
||||
StatusUpgrading = "Upgrading"
|
||||
StatusUpgradeErr = "UpgradeErr"
|
||||
StatusRebuilding = "Rebuilding"
|
||||
StatusSyncing = "Syncing"
|
||||
StatusSyncSuccess = "SyncSuccess"
|
||||
StatusPaused = "Paused"
|
||||
StatusUpErr = "UpErr"
|
||||
StatusInstallErr = "InstallErr"
|
||||
StatusUninstalling = "Uninstalling"
|
||||
StatusWaitingRestart = "WaitingRestart"
|
||||
|
||||
OrderDesc = "descending"
|
||||
OrderAsc = "ascending"
|
||||
|
||||
+378
-335
@@ -1,379 +1,422 @@
|
||||
ErrInvalidParams: "Request parameter error: {{ .detail }}"
|
||||
ErrInternalServer: "Service internal error: {{ .detail }}"
|
||||
ErrRecordExist: "Record already exists"
|
||||
ErrRecordNotFound: "Records not found"
|
||||
ErrStructTransform: "Type conversion failure: {{ .detail }}"
|
||||
ErrNotSupportType: "The system does not support the current type: {{ .detail }}"
|
||||
ErrInvalidParams: 'Request parameter error: {{ .detail }}'
|
||||
ErrTokenParse: 'Token generation error: {{ .detail }}'
|
||||
ErrInitialPassword: 'Original password is incorrect'
|
||||
ErrInternalServer: 'Internal server error: {{ .detail }}'
|
||||
ErrRecordExist: 'Record already exists'
|
||||
ErrRecordNotFound: 'Record not found'
|
||||
ErrStructTransform: 'Type conversion failed: {{ .err }}'
|
||||
ErrNotLogin: 'User not logged in: {{ .detail }}'
|
||||
ErrPasswordExpired: 'The current password has expired: {{ .detail }}'
|
||||
ErrNotSupportType: 'The system does not support the current type: {{ .name }}'
|
||||
ErrProxy: 'Request error, please check the node status: {{ .detail }}'
|
||||
ErrApiConfigStatusInvalid: 'Access to the API interface is prohibited: {{ .detail }}'
|
||||
ErrApiConfigKeyInvalid: 'API interface key error: {{ .detail }}'
|
||||
ErrApiConfigIPInvalid: 'The IP used to call the API interface is not in the whitelist: {{ .detail }}'
|
||||
ErrApiConfigDisable: 'This interface prohibits the use of API interface calls: {{ .detail }}'
|
||||
ErrApiConfigKeyTimeInvalid: 'API interface timestamp error: {{ .detail }}'
|
||||
|
||||
#common
|
||||
ErrUsernameIsExist: "Username already exists"
|
||||
ErrNameIsExist: "Name is already exist"
|
||||
ErrDemoEnvironment: "Demo server, prohibit this operation!"
|
||||
ErrCmdTimeout: "Command execution timed out!"
|
||||
ErrCmdIllegal: "The command contains illegal characters. Please modify and try again!"
|
||||
ErrPortExist: "{{ .port }} port is already occupied by {{ .type }} [{{ .name }}]"
|
||||
TYPE_APP: "Application"
|
||||
TYPE_RUNTIME: "Runtime environment"
|
||||
TYPE_DOMAIN: "Domain name"
|
||||
ErrTypePort: "Port {{ .name }} format error"
|
||||
Success: "Success"
|
||||
Failed: "Failed"
|
||||
SystemRestart: "System restart causes task interruption"
|
||||
ErrGroupIsDefault: "Default group, cannot be deleted"
|
||||
ErrGroupIsInWebsiteUse: "Group is being used by other websites, cannot be deleted"
|
||||
ErrUsernameIsExist: 'Username already exists'
|
||||
ErrNameIsExist: 'Name already exists'
|
||||
ErrDemoEnvironment: 'Demo server, this operation is forbidden!'
|
||||
ErrCmdTimeout: 'Command execution timed out!'
|
||||
ErrCmdIllegal: 'There are illegal characters in the execution command, please modify it and try again!'
|
||||
ErrPortExist: '{{ .port }} port is already occupied by {{ .type }} [{{ .name }}]'
|
||||
TYPE_APP: 'Application'
|
||||
TYPE_RUNTIME: 'Runtime environment'
|
||||
TYPE_DOMAIN: 'Domain Name'
|
||||
ErrTypePort: 'Port {{ .name }} format is incorrect'
|
||||
ErrTypePortRange: 'The port range needs to be between 1-65535'
|
||||
Success: 'Success'
|
||||
Failed: 'Failed'
|
||||
SystemRestart: 'Task interrupted due to system restart'
|
||||
ErrGroupIsDefault: 'Default group, cannot be deleted'
|
||||
ErrGroupIsInWebsiteUse: 'The group is being used by another website and cannot be deleted.'
|
||||
|
||||
#backup
|
||||
ErrBackupLocalDelete: "Deleting local server backup accounts is not currently supported."
|
||||
ErrBackupLocalCreate: "Creating local server backup accounts is not currently supported."
|
||||
ErrBackupInUsed: 'The backup account has been used in the scheduled task and cannot be deleted.'
|
||||
ErrBackupCheck: 'Backup account test connection failed {{ .err }}'
|
||||
ErrBackupLocalDelete: 'Deleting the local server backup account is not supported yet'
|
||||
ErrBackupLocalCreate: 'Creating local server backup accounts is not supported yet'
|
||||
|
||||
#app
|
||||
ErrPortInUsed: "{{ .detail }} port already in use"
|
||||
ErrAppLimit: "App exceeds install limit"
|
||||
ErrAppRequired: "{{ .detail }} app is required"
|
||||
ErrNotInstall: "App not installed"
|
||||
ErrPortInOtherApp: "{{ .port }} port already in use by app {{ .apps }}"
|
||||
ErrDbUserNotValid: "Stock database, username and password do not match!"
|
||||
ErrDockerComposeNotValid: "docker-compose file format error!"
|
||||
ErrUpdateBuWebsite: "The application was updated successfully, but the modification of the website configuration file failed, please check the configuration!"
|
||||
Err1PanelNetworkFailed: "Default container network creation failed! {{ .detail }}"
|
||||
ErrFileParse: "Application docker-compose file parsing failed!"
|
||||
ErrInstallDirNotFound: "The installation directory does not exist. To uninstall it, please choose to force uninstall."
|
||||
AppStoreIsUpToDate: "The app store is already up to date!"
|
||||
LocalAppVersionNull: "The {{.name}} app is not synced to version! Could not add to application list"
|
||||
LocalAppVersionErr: "{{.name}} failed to sync version {{.version}}! {{.err}}"
|
||||
ErrFileNotFound: "{{.name}} file does not exist"
|
||||
ErrFileParseApp: "Failed to parse {{.name}} file {{.err}}"
|
||||
ErrAppDirNull: "version folder does not exist"
|
||||
LocalAppErr: "App {{.name}} sync failed! {{.err}}"
|
||||
ErrContainerName: "ContainerName is already exist"
|
||||
ErrAppSystemRestart: "1Panel restart causes the task to terminate"
|
||||
ErrCreateHttpClient: "Failed to create HTTP request {{.err}}"
|
||||
ErrHttpReqTimeOut: "Request timed out {{.err}}"
|
||||
ErrHttpReqFailed: "Request failed {{.err}}"
|
||||
ErrHttpReqNotFound: "The file does not exist"
|
||||
ErrNoSuchHost: "Network connection failed"
|
||||
ErrImagePullTimeOut: "Image pull timeout"
|
||||
ErrContainerNotFound: "{{ .name }} container does not exist"
|
||||
ErrContainerMsg: "{{ .name }} container is abnormal, please check the log on the container page for details"
|
||||
ErrAppBackup: "{{ .name }} application backup failed err {{.err}}"
|
||||
ErrImagePull: "{{ .name }} image pull failed err {{.err}}"
|
||||
ErrVersionTooLow: "The current 1Panel version is too low to update the app store, please upgrade the version"
|
||||
ErrAppNameExist: "App name is already exist"
|
||||
AppStoreIsSyncing: "The App Store is syncing, please try again later"
|
||||
ErrGetCompose: "Failed to obtain docker-compose.yml file! {{ .detail }}"
|
||||
ErrAppWarn: "Abnormal status, please check the log"
|
||||
ErrAppParamKey: "Parameter {{ .name }} field exception"
|
||||
ErrAppUpgrade: "Failed to upgrade application {{ .name }} {{ .err }}"
|
||||
AppRecover: "App {{ .name }} rolled back "
|
||||
PullImageStart: "Start pulling image {{ .name }}"
|
||||
PullImageSuccess: "Image pulled successfully"
|
||||
UpgradeAppStart: "Start upgrading application {{ .name }}"
|
||||
UpgradeAppSuccess: "App {{ .name }} upgraded successfully"
|
||||
AppStoreIsLastVersion: "The app store is up to date"
|
||||
AppStoreSyncSuccess: "App store synchronized successfully"
|
||||
SyncAppDetail: "Synchronize app configuration"
|
||||
AppVersionNotMatch: "{{ .name }} app requires an update to 1Panel, skipping synchronization"
|
||||
MoveSiteDir: "The current upgrade requires migrating the OpenResty website directory"
|
||||
MoveSiteToDir: "Migrate the website directory to {{ .name }}"
|
||||
ErrMoveSiteDir: "Failed to migrate the website directory"
|
||||
MoveSiteDirSuccess: "Successfully migrated the website directory"
|
||||
DeleteRuntimePHP: "Delete PHP runtime environment",
|
||||
CustomAppStoreNotConfig: "Please configure the offline package address in the app store settings",
|
||||
CustomAppStoreNotFound: "Failed to retrieve app store package, please check if it exists",
|
||||
CustomAppStoreFileValid: "App store package must be in .tar.gz format"
|
||||
PullImageTimeout: "Image pull timeout, please check the network and try again"
|
||||
ErrAppIsDown: "{{ .name }} application status is abnormal, please check"
|
||||
ErrPortInUsed: '{{ .detail }} port is already occupied!'
|
||||
ErrAppLimit: 'The number of applications installed has exceeded the limit'
|
||||
ErrAppRequired: 'Please install the {{ .detail }} application first'
|
||||
ErrNotInstall: 'Application not installed'
|
||||
ErrPortInOtherApp: '{{ .port }} port is already occupied by application {{ .apps }}!'
|
||||
ErrDbUserNotValid: 'Existing database, username and password do not match!'
|
||||
ErrDockerComposeNotValid: 'The docker-compose file format is incorrect'
|
||||
ErrUpdateBuWebsite: 'The application was updated successfully, but the website configuration file modification failed. Please check the configuration! '
|
||||
Err1PanelNetworkFailed: 'Default container network creation failed! {{ .detail }}'
|
||||
ErrFileParse: 'Application docker-compose file parsing failed!'
|
||||
ErrInstallDirNotFound: 'The installation directory does not exist. If you need to uninstall, please select Force Uninstall'
|
||||
AppStoreIsUpToDate: 'The app store is already the latest version'
|
||||
LocalAppVersionNull: '{{ .name }} application is not synchronized to the version! Cannot be added to the application list'
|
||||
LocalAppVersionErr: '{{ .name }} sync version {{ .version }} failed! {{ .err }}'
|
||||
ErrFileNotFound: '{{ .name }} file does not exist'
|
||||
ErrFileParseApp: '{{ .name }} file parsing failed {{ .err }}'
|
||||
ErrAppDirNull: 'The version folder does not exist'
|
||||
LocalAppErr: 'Application {{ .name }} sync failed! {{ .err }}'
|
||||
ErrContainerName: 'Container name already exists'
|
||||
ErrAppSystemRestart: '1Panel restart caused the task to terminate'
|
||||
ErrCreateHttpClient: 'Failed to create request {{ .err }}'
|
||||
ErrHttpReqTimeOut: 'Request timed out {{ .err }}'
|
||||
ErrHttpReqFailed: 'Request failed {{ .err }}'
|
||||
ErrNoSuchHost: 'Unable to find the requested server {{ .err }}'
|
||||
ErrHttpReqNotFound: 'The requested resource {{ .err }} could not be found'
|
||||
ErrImagePullTimeOut: 'Image pull timeout'
|
||||
ErrContainerNotFound: '{{ .name }} container does not exist'
|
||||
ErrContainerMsg: '{{ .name }} container is abnormal. Please check the log on the container page for details'
|
||||
ErrAppBackup: '{{ .name }} application backup failed {{ .err }}'
|
||||
ErrImagePull: 'Image pull failed {{ .err }}'
|
||||
ErrVersionTooLow: 'The current 1Panel version is too low to update the App Store. Please upgrade the version before operating.'
|
||||
ErrAppNameExist: 'The application name already exists'
|
||||
AppStoreIsSyncing: 'The App Store is syncing, please try again later'
|
||||
ErrGetCompose: 'Failed to obtain the docker-compose.yml file! {{ .detail }}'
|
||||
ErrAppWarn: 'Abnormal status, please check the log'
|
||||
ErrAppParamKey: 'Parameter {{ .name }} field is abnormal'
|
||||
ErrAppUpgrade: 'Application {{ .name }} upgrade failed {{ .err }}'
|
||||
AppRecover: 'Rollback application {{ .name }}'
|
||||
PullImageStart: 'Start pulling image {{ .name }}'
|
||||
PullImageSuccess: 'Image pull successful'
|
||||
UpgradeAppStart: 'Start upgrading application {{ .name }}'
|
||||
UpgradeAppSuccess: 'Application {{ .name }} upgraded successfully'
|
||||
AppStoreIsLastVersion: 'The App Store is already the latest version'
|
||||
AppStoreSyncSuccess: 'App Store synchronization successful'
|
||||
SyncAppDetail: 'Synchronize application configuration'
|
||||
AppVersionNotMatch: '{{ .name }} application requires a higher 1Panel version, skipping synchronization'
|
||||
MoveSiteDir: 'The current upgrade requires migration of the OpenResty website directory'
|
||||
MoveSiteToDir: 'Migrate site directory to {{ .name }}'
|
||||
ErrMoveSiteDir: 'Failed to migrate site directory'
|
||||
MoveSiteDirSuccess: 'Successful migration of website directory'
|
||||
DeleteRuntimePHP: 'Delete PHP runtime'
|
||||
CustomAppStoreNotConfig: 'Please set the offline package address in the app store'
|
||||
CustomAppStoreNotFound: 'Failed to obtain the app store package, please check whether it exists'
|
||||
CustomAppStoreFileValid: 'App store packages need to be in .tar.gz format'
|
||||
PullImageTimeout: 'Pull image timeout, please try to increase the image acceleration or change to another image acceleration'
|
||||
ErrAppIsDown: '{{ .name }} application status is abnormal, please check'
|
||||
ErrCustomApps: 'There is an installed application, please uninstall it first'
|
||||
ErrCustomRuntimes: 'There is an installed runtime environment, please delete it first'
|
||||
|
||||
#file
|
||||
ErrFileCanNotRead: "File can not read"
|
||||
ErrFileToLarge: "file is too large"
|
||||
ErrPathNotFound: "Path is not found"
|
||||
ErrMovePathFailed: "The target path cannot contain the original path!"
|
||||
ErrLinkPathNotFound: "Target path does not exist!"
|
||||
ErrFileIsExist: "File or directory already exists!"
|
||||
ErrFileUpload: "Failed to upload file {{.name}} {{.detail}}"
|
||||
ErrFileDownloadDir: "Download folder not supported"
|
||||
ErrCmdNotFound: "{{ .name}} command does not exist, please install this command on the host first"
|
||||
ErrSourcePathNotFound: "Source directory does not exist"
|
||||
ErrFavoriteExist: "This path has been collected"
|
||||
ErrInvalidChar: "Illegal characters are prohibited"
|
||||
ErrPathNotDelete: "The selected directory cannot be deleted"
|
||||
ErrFileCanNotRead: 'This file does not support preview'
|
||||
ErrFileToLarge: 'The file is larger than 10M and cannot be opened'
|
||||
ErrPathNotFound: 'Directory does not exist'
|
||||
ErrMovePathFailed: 'The target path cannot contain the original path!'
|
||||
ErrLinkPathNotFound: 'The target path does not exist!'
|
||||
ErrFileIsExist: 'The file or folder already exists!'
|
||||
ErrFileUpload: '{{ .name }} failed to upload file {{ .detail }}'
|
||||
ErrFileDownloadDir: 'Download folder is not supported'
|
||||
ErrCmdNotFound: '{{ .name}} command does not exist, please install this command on the host first'
|
||||
ErrSourcePathNotFound: 'Source directory does not exist'
|
||||
ErrFavoriteExist: 'This path has already been favorited'
|
||||
ErrInvalidChar: 'Illegal characters are not allowed'
|
||||
ErrPathNotDelete: 'The selected directory cannot be deleted'
|
||||
|
||||
#website
|
||||
ErrDomainIsExist: "Domain is already exist"
|
||||
ErrAliasIsExist: "Alias is already exist"
|
||||
ErrAppDelete: "Other Website use this App"
|
||||
ErrGroupIsUsed: "The group is in use and cannot be deleted"
|
||||
ErrBackupMatch: "the backup file does not match the current partial data of the website: {{ .detail}}"
|
||||
ErrBackupExist: "the backup file corresponds to a portion of the original data that does not exist: {{ .detail}}"
|
||||
ErrPHPResource: "The local runtime does not support switching!"
|
||||
ErrPathPermission: "A folder with non-1000:1000 permissions was detected in the index directory, which may cause an Access denied error when accessing the website. Please click the save button above"
|
||||
ErrDomainIsUsed: "Domain is already used by website {{ .name }}"
|
||||
ErrDomainFormat: "{{ .name }} domain format error"
|
||||
ErrDefaultAlias: "default is a reserved code name, please use another code name"
|
||||
ErrParentWebsite: "You need to delete the subsite(s) {{ .name }} first"
|
||||
ErrBuildDirNotFound: "Build directory does not exist"
|
||||
ErrImageNotExist: "Running environment {{.name}} image does not exist, please re-edit the running environment"
|
||||
ErrDomainIsExist: 'Domain name already exists'
|
||||
ErrAliasIsExist: 'Alias already exists'
|
||||
ErrAppDelete: 'Other websites use this app and cannot delete it'
|
||||
ErrBackupMatch: 'The backup file does not match some of the current website data {{ .detail }}'
|
||||
ErrBackupExist: 'The corresponding part of the source data in the backup file does not exist {{ .detail }}'
|
||||
ErrPHPResource: 'The local operating environment does not support switching! '
|
||||
ErrPathPermission: 'A folder with non-1000:1000 permissions was detected in the index directory, which may cause an Access denied error on the website. Please click the Save button above'
|
||||
ErrDomainIsUsed: 'The domain name is already used by the website [{{ .name }}]'
|
||||
ErrDomainFormat: '{{ .name }} domain name format is incorrect'
|
||||
ErrDefaultAlias: 'default is a reserved code, please use another code'
|
||||
ErrParentWebsite: 'You need to delete the subsite {{ .name }} first'
|
||||
ErrBuildDirNotFound: 'The build directory does not exist'
|
||||
ErrImageNotExist: 'The operating environment {{ .name }} image does not exist, please re-edit the operating environment'
|
||||
|
||||
#ssl
|
||||
ErrSSLCannotDelete: "The certificate {{ .name }} is being used by the website and cannot be removed"
|
||||
ErrAccountCannotDelete: "The certificate associated with the account cannot be deleted"
|
||||
ErrSSLApply: "The certificate continues to be signed successfully, but openresty reload fails, please check the configuration!"
|
||||
ErrEmailIsExist: "Email is already exist"
|
||||
ErrSSLKeyNotFound: "The private key file does not exist"
|
||||
ErrSSLCertificateNotFound: "The certificate file does not exist"
|
||||
ErrSSLKeyFormat: "Private key file verification error"
|
||||
ErrSSLCertificateFormat: "Certificate file format error, please use pem format"
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: "EabKid or EabHmacKey cannot be empty"
|
||||
ErrOpenrestyNotFound: "Http mode requires Openresty to be installed first"
|
||||
ApplySSLStart: "Start applying for certificate, domain name [{{ .domain }}] application method [{{ .type }}] "
|
||||
dnsAccount: "DNS Automatic"
|
||||
dnsManual: "DNS Manual"
|
||||
http: "HTTP"
|
||||
ApplySSLFailed: "Application for [{{ .domain }}] certificate failed, {{.detail}} "
|
||||
ApplySSLSuccess: "Application for [{{ .domain }}] certificate successful! ! "
|
||||
DNSAccountName: "DNS account [{{ .name }}] manufacturer [{{.type}}]"
|
||||
PushDirLog: "Certificate pushed to directory [{{ .path }}] {{ .status }}"
|
||||
ErrDeleteCAWithSSL: "There is an issued certificate under the current organization and cannot be deleted"
|
||||
ErrDeleteWithPanelSSL: "Panel SSL configuration uses this certificate and cannot be deleted"
|
||||
ErrDefaultCA: "The default organization cannot be deleted"
|
||||
ApplyWebSiteSSLLog: "Start updating {{ .name }} website certificate"
|
||||
ErrUpdateWebsiteSSL: "{{ .name }} website failed to update certificate: {{ .err }}"
|
||||
ApplyWebSiteSSLSuccess: "Update website certificate successfully"
|
||||
StartUpdateSystemSSL: "Start updating system certificate"
|
||||
UpdateSystemSSLSuccess: "Update system certificate successfully"
|
||||
ErrExecShell: "Exec Shell err {{.err}}"
|
||||
ExecShellStart: "Start executing script"
|
||||
ExecShellSuccess: "Script executed successfully"
|
||||
ErrSSLCannotDelete: 'The {{ .name }} certificate is being used by a website and cannot be deleted'
|
||||
ErrAccountCannotDelete: 'The account is associated with a certificate and cannot be deleted'
|
||||
ErrSSLApply: 'Certificate renewal successful, openresty reload failed, please check the configuration!'
|
||||
ErrEmailIsExist: 'The mailbox already exists'
|
||||
ErrSSLKeyNotFound: 'The private key file does not exist'
|
||||
ErrSSLCertificateNotFound: 'The certificate file does not exist'
|
||||
ErrSSLKeyFormat: 'Private key file verification failed'
|
||||
ErrSSLCertificateFormat: 'The certificate file format is incorrect, please use pem format'
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid or EabHmacKey cannot be blank'
|
||||
ErrOpenrestyNotFound: 'Http mode requires Openresty to be installed first'
|
||||
ApplySSLStart: 'Start applying for a certificate, domain name [{{ .domain }}] application method [{{ .type }}] '
|
||||
dnsAccount: 'DNS Auto'
|
||||
dnsManual: 'DNS Manual'
|
||||
http: 'HTTP'
|
||||
ApplySSLFailed: 'Application for [{{ .domain }}] certificate failed, {{ .detail }} '
|
||||
ApplySSLSuccess: 'Apply for [{{ .domain }}] certificate successfully! !'
|
||||
DNSAccountName: 'DNS account [{{ .name }}] vendor [{{ .type }}]'
|
||||
PushDirLog: 'Certificate pushed to directory [{{ .path }}] {{ .status }}'
|
||||
ErrDeleteCAWithSSL: 'The current organization has a certificate that has been issued and cannot be deleted.'
|
||||
ErrDeleteWithPanelSSL: 'Panel SSL configuration uses this certificate and cannot be deleted'
|
||||
ErrDefaultCA: 'The default authority cannot be deleted'
|
||||
ApplyWebSiteSSLLog: 'Starting to renew the {{ .name }} website certificate'
|
||||
ErrUpdateWebsiteSSL: '{{ .name }} website certificate update failed: {{ .err }}'
|
||||
ApplyWebSiteSSLSuccess: 'Update website certificate successfully'
|
||||
ErrExecShell: 'Failed to execute script {{ .err }}'
|
||||
ExecShellStart: 'Start executing the script'
|
||||
ExecShellSuccess: 'Script execution successful'
|
||||
StartUpdateSystemSSL: 'Start updating system certificate'
|
||||
UpdateSystemSSLSuccess: 'Update system certificate successfully'
|
||||
ErrWildcardDomain: 'Unable to apply for wildcard domain name certificate in HTTP mode'
|
||||
|
||||
#mysql
|
||||
ErrUserIsExist: "The current user already exists. Please enter a new user"
|
||||
ErrDatabaseIsExist: "The current database already exists. Please enter a new database"
|
||||
ErrExecTimeOut: "SQL execution timed out, please check the database"
|
||||
ErrRemoteExist: "The remote database already exists with that name, please modify it and try again"
|
||||
ErrLocalExist: "The local database already exists with that name, please modify it and try again"
|
||||
ErrUserIsExist: 'The current user already exists, please re-enter'
|
||||
ErrDatabaseIsExist: 'The current database already exists, please re-enter'
|
||||
ErrExecTimeOut: 'SQL execution timed out, please check the database'
|
||||
ErrRemoteExist: 'The remote database already exists with this name, please modify it and try again'
|
||||
ErrLocalExist: 'The name already exists in the local database, please modify it and try again'
|
||||
|
||||
#redis
|
||||
ErrTypeOfRedis: "The recovery file type does not match the current persistence mode. Modify the file type and try again"
|
||||
ErrTypeOfRedis: 'The recovery file type does not match the current persistence method, please modify it and try again'
|
||||
|
||||
#container
|
||||
ErrInUsed: "{{ .detail }} is in use and cannot be deleted"
|
||||
ErrObjectInUsed: "This object is in use and cannot be deleted"
|
||||
ErrObjectBeDependent: "This image is dependent on other images and can't be deleted"
|
||||
ErrPortRules: "The number of ports does not match, please re-enter!"
|
||||
ErrPgImagePull: "Image pull timeout. Please configure image acceleration or manually pull the postgres:16.0-alpine image and try again"
|
||||
ErrInUsed: '{{ .detail }} is in use and cannot be deleted'
|
||||
ErrObjectInUsed: 'The object is in use and cannot be deleted'
|
||||
ErrObjectBeDependent: 'This image depends on other images and cannot be deleted'
|
||||
ErrPortRules: 'Port number does not match, please re-enter!'
|
||||
ErrPgImagePull: 'Image pull timed out, please configure image acceleration or manually pull the {{ .name }} image and try again'
|
||||
|
||||
#runtime
|
||||
ErrDirNotFound: "The build folder does not exist! Please check file integrity!"
|
||||
ErrFileNotExist: "{{ .detail }} file does not exist! Please check source file integrity!"
|
||||
ErrImageBuildErr: "Image build failed"
|
||||
ErrImageExist: "Image is already exist!"
|
||||
ErrDelWithWebsite: "The operating environment has been associated with a website and cannot be deleted"
|
||||
ErrRuntimeStart: "Failed to start"
|
||||
ErrPackageJsonNotFound: "package.json file does not exist"
|
||||
ErrScriptsNotFound: "No scripts configuration item was found in package.json"
|
||||
ErrContainerNameNotFound: "Unable to get container name, please check .env file"
|
||||
ErrNodeModulesNotFound: "The node_modules folder does not exist! Please edit the running environment or wait for the running environment to start successfully"
|
||||
ErrContainerNameIsNull: "Container name cannot be empty"
|
||||
|
||||
#setting
|
||||
ErrBackupInUsed: "The backup account is already being used in a cronjob and cannot be deleted."
|
||||
ErrBackupCheck: "Backup account test connection failed {{ .err}}"
|
||||
ErrOSSConn: "Unable to retrieve the latest version, please check if the server can connect to the external network."
|
||||
ErrEntrance: "Security entrance information error. Please check and try again!"
|
||||
ErrDirNotFound: 'The build folder does not exist! Please check the file integrity!'
|
||||
ErrFileNotExist: '{{ .detail }} file does not exist! Please check the integrity of the source file!'
|
||||
ErrImageBuildErr: 'Image build failed'
|
||||
ErrImageExist: 'Image already exists!'
|
||||
ErrDelWithWebsite: 'The operating environment is already associated with a website and cannot be deleted'
|
||||
ErrRuntimeStart: 'Startup failed'
|
||||
ErrPackageJsonNotFound: 'package.json file does not exist'
|
||||
ErrScriptsNotFound: 'The scripts configuration item was not found in package.json'
|
||||
ErrContainerNameNotFound: 'Unable to get container name, please check .env file'
|
||||
ErrNodeModulesNotFound: 'The node_modules folder does not exist! Please edit the runtime environment or wait for the runtime environment to start successfully'
|
||||
ErrContainerNameIsNull: 'Container name does not exist'
|
||||
|
||||
#tool
|
||||
ErrConfigNotFound: "Configuration file does not exist"
|
||||
ErrConfigParse: "Configuration file format error"
|
||||
ErrConfigIsNull: "The configuration file is not allowed to be empty"
|
||||
ErrConfigDirNotFound: "The running directory does not exist"
|
||||
ErrConfigAlreadyExist: "A configuration file with the same name already exists"
|
||||
ErrUserFindErr: "Failed to find user {{ .name }} {{ .err }}"
|
||||
ErrConfigNotFound: 'Configuration file does not exist'
|
||||
ErrConfigParse: 'The configuration file format is incorrect'
|
||||
ErrConfigIsNull: 'Configuration file cannot be empty'
|
||||
ErrConfigDirNotFound: 'The running directory does not exist'
|
||||
ErrConfigAlreadyExist: 'A configuration file with the same name already exists'
|
||||
ErrUserFindErr: 'User {{ .name }} search failed {{ .err }}'
|
||||
|
||||
#ssh
|
||||
ErrFirewallNone: "No firewalld or ufw service detected on the system. Please check and try again!"
|
||||
ErrFirewallBoth: "Both firewalld and ufw services are detected on the system. To avoid conflicts, please uninstall one and try again!"
|
||||
ErrFirewallNone: 'No system firewalld or ufw service detected, please check and try again!'
|
||||
ErrFirewallBoth: 'It is detected that the system has both firewalld and ufw services. To avoid conflicts, please uninstall and try again!'
|
||||
|
||||
#cronjob
|
||||
ErrCutWebsiteLog: "{{ .name }} website log cutting failed, error {{ .err }}"
|
||||
CutWebsiteLogSuccess: "{{ .name }} website log cut successfully, backup path {{ .path }}"
|
||||
HandleShell: "Execute script {{ .name }}"
|
||||
HandleNtpSync: "System time synchronization"
|
||||
HandleSystemClean: "System cache cleanup"
|
||||
ErrCutWebsiteLog: '{{ .name }} website log cutting failed, error {{ .err }}'
|
||||
CutWebsiteLogSuccess: '{{ .name }} website log cut successfully, backup path {{ .path }}'
|
||||
HandleShell: 'Execute script {{ .name }}'
|
||||
HandleNtpSync: 'System time synchronization'
|
||||
HandleSystemClean: 'System cache cleanup'
|
||||
|
||||
#toolbox
|
||||
ErrNotExistUser: "The current user does not exist. Please modify and retry!"
|
||||
ErrBanAction: "Setting failed, the current {{ .name }} service is unavailable, please check and try again!"
|
||||
ErrClamdscanNotFound: "The clamdscan command was not detected, please refer to the documentation to install it!"
|
||||
ErrNotExistUser: 'The current user does not exist, please modify and try again!'
|
||||
ErrBanAction: 'Setting failed. The current {{ .name }} service is unavailable. Please check and try again!'
|
||||
ErrClamdscanNotFound: 'The clamdscan command was not detected, please refer to the documentation to install it!'
|
||||
|
||||
#waf
|
||||
ErrScope: "Modification of this configuration is not supported"
|
||||
ErrStateChange: "State modification failed"
|
||||
ErrRuleExist: "Rule is Exist"
|
||||
ErrRuleNotExist: "Rule is not Exist"
|
||||
ErrParseIP: "IP format error"
|
||||
ErrDefaultIP: "default is a reserved name, please change it to another name"
|
||||
ErrGroupInUse: "The IP group is used by the black/white list and cannot be deleted"
|
||||
ErrGroupExist: "IP group name already exists"
|
||||
ErrIPRange: "Wrong IP range"
|
||||
ErrIPExist: "IP is exit"
|
||||
urlDefense: 'URL Rules'
|
||||
urlHelper: 'Forbidden Access URLs'
|
||||
dirFilter: 'Directory Filtering'
|
||||
ErrScope: 'Modifying this configuration is not supported'
|
||||
ErrStateChange: 'State change failed'
|
||||
ErrRuleExist: 'Rule already exists'
|
||||
ErrRuleNotExist: 'Rule does not exist'
|
||||
ErrParseIP: 'Wrong IP format'
|
||||
ErrDefaultIP: 'default is a reserved name, please change it to another name'
|
||||
ErrGroupInUse: 'IP group is used by blacklist/whitelist and cannot be deleted'
|
||||
ErrGroupExist: 'IP group name already exists'
|
||||
ErrIPRange: 'Wrong IP range'
|
||||
ErrIPExist: 'IP already exists'
|
||||
urlDefense: 'URL rules'
|
||||
urlHelper: 'Prohibited URL'
|
||||
dirFilter: 'Directory filter'
|
||||
xss: 'XSS'
|
||||
phpExec: 'PHP Script Execution'
|
||||
oneWordTrojan: 'One-Liner Trojan'
|
||||
appFilter: 'Application Dangerous Directory Filtering'
|
||||
phpExec: 'PHP script execution'
|
||||
oneWordTrojan: 'One Word Trojan'
|
||||
appFilter: 'Apply dangerous directory filtering'
|
||||
webshell: 'Webshell'
|
||||
args: 'Parameter Rules'
|
||||
protocolFilter: 'Protocol Filtering'
|
||||
javaFileter: 'Java Dangerous File Filtering'
|
||||
scannerFilter: 'Scanner Filtering'
|
||||
escapeFilter: 'Escape Filtering'
|
||||
customRule: 'Custom Rules'
|
||||
httpMethod: 'HTTP Method Filtering'
|
||||
fileExt: 'File Upload Restrictions'
|
||||
defaultIpBlack: 'Malicious IP Group'
|
||||
args: 'Parameter rules'
|
||||
protocolFilter: 'Protocol filtering'
|
||||
javaFileter: 'Java dangerous file filter'
|
||||
scannerFilter: 'Scanner filter'
|
||||
escapeFilter: 'escape filter'
|
||||
customRule: 'Custom rule'
|
||||
httpMethod: 'HTTP method filtering'
|
||||
fileExt: 'File upload restrictions'
|
||||
defaultIpBlack: 'Malicious IP group'
|
||||
cookie: 'Cookie Rules'
|
||||
urlBlack: 'URL Blacklist'
|
||||
uaBlack: 'User-Agent Blacklist'
|
||||
attackCount: 'Attack Frequency Limit'
|
||||
fileExtCheck: 'File Upload Restrictions'
|
||||
geoRestrict: 'Geographical Access Restrictions'
|
||||
unknownWebsite: 'Unauthorized Domain Access'
|
||||
notFoundCount: '404 Frequency Limit'
|
||||
headerDefense: 'Header Rules'
|
||||
defaultUaBlack: 'User-Agent Rules'
|
||||
methodWhite: 'HTTP Rules'
|
||||
captcha: 'Captcha'
|
||||
fiveSeconds: '5 Seconds Verification'
|
||||
vulnCheck: 'Supplementary Rules'
|
||||
acl: 'Custom Rules'
|
||||
sql: 'SQL Injection'
|
||||
cc: 'Access Frequency Limit'
|
||||
defaultUrlBlack: 'URL Rules'
|
||||
sqlInject: 'SQL Injection'
|
||||
ErrDBNotExist: "Database does not exist"
|
||||
allow: "Allow"
|
||||
deny: "Deny"
|
||||
urlBlack: 'URL blacklist'
|
||||
uaBlack: 'User-Agent blacklist'
|
||||
attackCount: 'Attack frequency limit'
|
||||
fileExtCheck: 'File upload restrictions'
|
||||
geoRestrict: 'Regional access restrictions'
|
||||
unknownWebsite: 'Unauthorized domain name access'
|
||||
notFoundCount: '404 Rate Limit'
|
||||
headerDefense: 'Header rules'
|
||||
defaultUaBlack: 'User-Agent rules'
|
||||
methodWhite: 'HTTP rules'
|
||||
captcha: 'human-machine verification'
|
||||
fiveSeconds: '5 seconds verification'
|
||||
vulnCheck: 'Supplementary rules'
|
||||
acl: 'Custom rules'
|
||||
sql: 'SQL injection'
|
||||
cc: 'Access frequency limit'
|
||||
defaultUrlBlack: 'URL rules'
|
||||
sqlInject: 'SQL injection'
|
||||
ErrDBNotExist: 'Database does not exist'
|
||||
allow: 'allow'
|
||||
deny: 'deny'
|
||||
OpenrestyNotFound: 'Openresty is not installed'
|
||||
|
||||
#task
|
||||
TaskStart: "{{.name}} Start [START]"
|
||||
TaskEnd: "{{.name}} End [COMPLETED]"
|
||||
TaskFailed: "{{.name}} Failed"
|
||||
TaskTimeout: "{{.name}} Timeout"
|
||||
TaskSuccess: "{{.name}} Success"
|
||||
TaskRetry: "Starting {{.name}} Retry"
|
||||
SubTaskSuccess: "{{ .name }} Success"
|
||||
SubTaskFailed: "{{ .name }} Failed: {{ .err }}"
|
||||
TaskInstall: "Install"
|
||||
TaskUninstall: "Uninstall"
|
||||
TaskCreate: "Create"
|
||||
TaskDelete: "Delete"
|
||||
TaskUpgrade: "Upgrade"
|
||||
TaskUpdate: "Update"
|
||||
TaskRestart: "Restart"
|
||||
TaskRollback: "Rollback"
|
||||
TaskPull: "Pull"
|
||||
TaskBuild: "Build"
|
||||
TaskPush: "Push"
|
||||
TaskHandle: "Execute"
|
||||
Website: "Website"
|
||||
App: "App"
|
||||
Runtime: "Runtime"
|
||||
Database: "Database"
|
||||
ConfigFTP: "Create FTP User {{ .name }}"
|
||||
ConfigOpenresty: "Create Openresty Configuration File"
|
||||
InstallAppSuccess: "App {{ .name }} Installed Successfully"
|
||||
ConfigRuntime: "Configure Runtime"
|
||||
ConfigApp: "Configure App"
|
||||
SuccessStatus: "{{ .name }} Success"
|
||||
FailedStatus: "{{ .name }} Failed {{.err}}"
|
||||
HandleLink: "Handle App Link"
|
||||
HandleDatabaseApp: "Handle App Parameters"
|
||||
ExecShell: "Execute {{ .name }} Script"
|
||||
PullImage: "Pull Image"
|
||||
Start: "Start"
|
||||
Run: "Run"
|
||||
Stop: "Stop"
|
||||
Image: "Image"
|
||||
Container: "Container"
|
||||
Compose: "Compose"
|
||||
AppLink: "Associated Application"
|
||||
EnableSSL: "Enable HTTPS"
|
||||
AppStore: "App Store"
|
||||
TaskSync: "Sync"
|
||||
LocalApp: "Local App"
|
||||
SubTask: "Subtask"
|
||||
RuntimeExtension: "Runtime Extension"
|
||||
TaskIsExecuting: "Task is executing"
|
||||
TaskStart: '{{ .name }} task starts [START]'
|
||||
TaskEnd: '{{ .name }} Task completed [COMPLETED]'
|
||||
TaskFailed: '{{ .name }} task failed'
|
||||
TaskTimeout: '{{ .name }} timed out'
|
||||
TaskSuccess: '{{ .name }} Task succeeded'
|
||||
TaskRetry: 'Start {{ .name }}th retry'
|
||||
SubTaskSuccess: '{{ .name }} succeeded'
|
||||
SubTaskFailed: '{{ .name }} failed: {{ .err }}'
|
||||
TaskInstall: 'Install'
|
||||
TaskUninstall: 'Uninstall'
|
||||
TaskCreate: 'Create'
|
||||
TaskDelete: 'Delete'
|
||||
TaskUpgrade: 'Upgrade'
|
||||
TaskUpdate: 'Update'
|
||||
TaskRestart: 'Restart'
|
||||
TaskBackup: 'Backup'
|
||||
TaskRecover: 'Recover'
|
||||
TaskRollback: 'Rollback'
|
||||
TaskPull: 'Pull'
|
||||
TaskBuild: 'Build'
|
||||
TaskPush: 'Push'
|
||||
TaskHandle: 'Execute'
|
||||
Website: 'Website'
|
||||
App: 'Application'
|
||||
Runtime: 'Runtime environment'
|
||||
Database: 'Database'
|
||||
ConfigFTP: 'Create FTP user {{ .name }}'
|
||||
ConfigOpenresty: 'Create Openresty configuration file'
|
||||
InstallAppSuccess: 'Application {{ .name }} installed successfully'
|
||||
ConfigRuntime: 'Configure the runtime environment'
|
||||
ConfigApp: 'Configuration Application'
|
||||
SuccessStatus: '{{ .name }} succeeded'
|
||||
FailedStatus: '{{ .name }} failed {{ .err }}'
|
||||
HandleLink: 'Handle application association'
|
||||
HandleDatabaseApp: 'Handling application parameters'
|
||||
ExecShell: 'Execute {{ .name }} script'
|
||||
PullImage: 'Pull image'
|
||||
Start: 'Start'
|
||||
Run: 'Start'
|
||||
Stop: 'Stop'
|
||||
Image: 'Mirror'
|
||||
Compose: 'Orchestration'
|
||||
Container: 'Container'
|
||||
AppLink: 'Linked Application'
|
||||
EnableSSL: 'Enable HTTPS'
|
||||
AppStore: 'App Store'
|
||||
TaskSync: 'Synchronize'
|
||||
LocalApp: 'Local Application'
|
||||
SubTask: 'Subtask'
|
||||
RuntimeExtension: 'Runtime Environment Extension'
|
||||
TaskIsExecuting: 'Task is running'
|
||||
CustomAppstore: 'Custom application warehouse'
|
||||
|
||||
# task - snapshot
|
||||
Snapshot: "Snapshot"
|
||||
SnapDBInfo: "Write 1Panel database information"
|
||||
SnapCopy: "Copy files & directories {{ .name }} "
|
||||
SnapNewDB: "Initialize database {{ .name }} connection "
|
||||
SnapDeleteOperationLog: "Delete operation log"
|
||||
SnapDeleteLoginLog: "Delete access log"
|
||||
SnapDeleteMonitor: "Delete monitoring data"
|
||||
SnapRemoveSystemIP: "Remove system IP"
|
||||
SnapBaseInfo: "Write 1Panel basic information"
|
||||
SnapInstallApp: "Backup installed applications in 1Panel"
|
||||
SnapDockerSave: "Compress installed applications"
|
||||
SnapLocalBackup: "Backup 1Panel local backup directory"
|
||||
SnapCompressBackup: "Compress local backup directory"
|
||||
SnapPanelData: "Backup 1Panel data directory"
|
||||
SnapCompressPanel: "Compress data directory"
|
||||
SnapCloseDBConn: "Close database connection"
|
||||
SnapCompress: "Create snapshot file"
|
||||
SnapCompressFile: "Compress snapshot file"
|
||||
SnapCheckCompress: "Check snapshot compressed file"
|
||||
SnapCompressSize: "Snapshot file size {{ .name }}"
|
||||
SnapUpload: "Upload snapshot file"
|
||||
SnapLoadBackup: "Get backup account information"
|
||||
SnapUploadTo: "Upload snapshot file to {{ .name }}"
|
||||
SnapUploadRes: "Upload snapshot file to {{ .name }}"
|
||||
# task - ai
|
||||
OllamaModelPull: 'Pull Ollama model {{ .name }}'
|
||||
OllamaModelSize: 'Get the size of Ollama model {{ .name }}'
|
||||
|
||||
# task-snapshot
|
||||
Snapshot: 'Snapshot'
|
||||
SnapDBInfo: 'Write 1Panel database information'
|
||||
SnapCopy: 'Copy files & directories {{ .name }}'
|
||||
SnapNewDB: 'Initialize database {{ .name }} connection'
|
||||
SnapDeleteOperationLog: 'Delete operation log'
|
||||
SnapDeleteLoginLog: 'Delete access log'
|
||||
SnapDeleteMonitor: 'Delete monitoring data'
|
||||
SnapRemoveSystemIP: 'Remove system IP'
|
||||
SnapBaseInfo: 'Write 1Panel basic information'
|
||||
SnapInstallApp: 'Backup 1Panel installed applications'
|
||||
SnapDockerSave: 'Compress installed applications'
|
||||
SnapLocalBackup: 'Backup 1Panel local backup directory'
|
||||
SnapCompressBackup: 'Compress local backup directory'
|
||||
SnapPanelData: 'Backup 1Panel data directory'
|
||||
SnapCompressPanel: 'Compressed Data Directory'
|
||||
SnapWebsite: 'Backup 1Panel website directory'
|
||||
SnapCloseDBConn: 'Close the database connection'
|
||||
SnapCompress: 'Make snapshot files'
|
||||
SnapCompressFile: 'Compress snapshot file'
|
||||
SnapCheckCompress: 'Check snapshot compression file'
|
||||
SnapCompressSize: 'Snapshot file size {{ .name }}'
|
||||
SnapUpload: 'Upload snapshot file'
|
||||
SnapLoadBackup: 'Get backup account information'
|
||||
SnapUploadTo: 'Upload snapshot file to {{ .name }}'
|
||||
SnapUploadRes: 'Upload snapshot file to {{ .name }}'
|
||||
|
||||
SnapshotRecover: 'Snapshot Restore'
|
||||
RecoverDownload: 'Download snapshot file'
|
||||
Download: 'Download'
|
||||
RecoverDownloadAccount: 'Get snapshot download backup account {{ .name }}'
|
||||
RecoverDecompress: 'Decompress snapshot compressed files'
|
||||
Decompress: 'Decompression'
|
||||
BackupBeforeRecover: 'Backup system-related data before snapshot'
|
||||
Readjson: 'Read the Json file in the snapshot'
|
||||
ReadjsonPath: 'Get the Json file path in the snapshot'
|
||||
ReadjsonContent: 'Read Json file'
|
||||
ReadjsonMarshal: 'Json escape processing'
|
||||
RecoverApp: 'Restore installed apps'
|
||||
RecoverWebsite: 'Recover website directory'
|
||||
RecoverAppImage: 'Restore snapshot image backup'
|
||||
RecoverCompose: 'Restore other composer content'
|
||||
RecoverComposeList: 'Get all composers to be restored'
|
||||
RecoverComposeItem: 'Recover compose {{ .name }}'
|
||||
RecoverAppEmpty: 'No application image backup was found in the snapshot file'
|
||||
RecoverBaseData: 'Recover base data and files'
|
||||
RecoverDaemonJsonEmpty: 'Both the snapshot file and the current machine do not have the container configuration daemon.json file'
|
||||
RecoverDaemonJson: 'Restore container configuration daemon.json file'
|
||||
RecoverDBData: 'Recover database data'
|
||||
RecoverBackups: 'Restore local backup directory'
|
||||
RecoverPanelData: 'Recovery data directory'
|
||||
|
||||
# task - container
|
||||
ContainerNewCliet: "Initialize Docker Client"
|
||||
ContainerImagePull: "Pull container image {{ .name }}"
|
||||
ContainerRemoveOld: "Remove the original container { .name }"
|
||||
ContainerImageCheck: "Check if the image is pulled correctly"
|
||||
ContainerLoadInfo: "Retrieve basic information about the container"
|
||||
ContainerRecreate: "Container update failed, now starting to restore the original container"
|
||||
ContainerCreate: "Create new container {{ .name }}"
|
||||
ContainerCreateFailed: "Container creation failed, delete the failed container"
|
||||
ContainerStartCheck: "Check if the container has started"
|
||||
ContainerNewCliet: 'Initialize Docker Client'
|
||||
ContainerImagePull: 'Pull container image {{ .name }}'
|
||||
ContainerRemoveOld: 'Remove the original container {{ .name }}'
|
||||
ContainerImageCheck: 'Check if the image is pulled normally'
|
||||
ContainerLoadInfo: 'Get basic container information'
|
||||
ContainerRecreate: 'Container update failed, now starting to restore the original container'
|
||||
ContainerCreate: 'Create a new container {{ .name }}'
|
||||
ContainerCreateFailed: 'Container creation failed, delete the failed container'
|
||||
ContainerStartCheck: 'Check if the container has been started'
|
||||
|
||||
# task - image
|
||||
ImageBuild: "Image build"
|
||||
ImageBuildStdoutCheck: "Parse image output"
|
||||
ImaegBuildRes: "Image build output: {{ .name }}"
|
||||
ImagePull: "Pull image"
|
||||
ImageRepoAuthFromDB: "Get repository authentication information from database"
|
||||
ImaegPullRes: "Image pull output: {{ .name }}"
|
||||
ImagePush: "Push image"
|
||||
ImageRenameTag: "Rename image tag"
|
||||
ImageNewTag: "New image tag {{ .name }}"
|
||||
ImaegPushRes: "Image push output: {{ .name }}"
|
||||
ComposeCreate: "Create compose"
|
||||
ComposeCreateRes: "Compose creation output: {{ .name }}"
|
||||
ImageBuild: 'Image Build'
|
||||
ImageBuildStdoutCheck: 'Parse image output content'
|
||||
ImaegBuildRes: 'Image build output: {{ .name }}'
|
||||
ImagePull: 'Pull image'
|
||||
ImageRepoAuthFromDB: 'Get repository authentication information from the database'
|
||||
ImaegPullRes: 'Image pull output: {{ .name }}'
|
||||
ImagePush: 'Push image'
|
||||
ImageRenameTag: 'Modify image tag'
|
||||
ImageNewTag: 'New image tag {{ .name }}'
|
||||
ImaegPushRes: 'Image push output: {{ .name }}'
|
||||
ComposeCreate: 'Create a composition'
|
||||
ComposeCreateRes: 'Compose create output: {{ .name }}'
|
||||
|
||||
# task - website
|
||||
BackupNginxConfig: "Backup website OpenResty configuration file"
|
||||
CompressFileSuccess: "Directory compression successful, compressed as {{.name}}"
|
||||
CompressDir: "Compress directory"
|
||||
DeCompressFile: "Decompress file {{ .name }}"
|
||||
ErrCheckValid: "Failed to validate backup file, {{ .name }}"
|
||||
Rollback: "Rollback"
|
||||
websiteDir: "Website directory"
|
||||
RecoverFailedStartRollBack: "Recovery failed, starting rollback"
|
||||
AppBackupFileIncomplete: "Backup file is incomplete; missing app.json or app.tar.gz file"
|
||||
AppAttributesNotMatch: "Application type or name does not match"
|
||||
BackupNginxConfig: 'Backup website OpenResty configuration file'
|
||||
CompressFileSuccess: 'Compress directory successfully, compressed to {{ .name }}'
|
||||
CompressDir: 'Compression directory'
|
||||
DeCompressFile: 'Decompress file {{ .name }}'
|
||||
ErrCheckValid: 'Backup file verification failed, {{ .name }}'
|
||||
Rollback: 'Rollback'
|
||||
websiteDir: 'Website Directory'
|
||||
RecoverFailedStartRollBack: 'Recovery failed, start rollback'
|
||||
AppBackupFileIncomplete: 'The backup file is incomplete and lacks app.json or app.tar.gz files'
|
||||
AppAttributesNotMatch: 'Application type or name does not match'
|
||||
|
||||
#alert
|
||||
ErrAlert: "Alert information format error, please check and try again!"
|
||||
ErrAlertPush: "Alert push error, please check and try again!"
|
||||
ErrAlertSave: "Alert save error, please check and try again!"
|
||||
ErrAlertSync: "Alert sync error, please check and try again!"
|
||||
ErrAlertRemote: "Remote alert error, please check and try again!"
|
||||
ErrAlert: 'The format of the warning message is incorrect, please check and try again!'
|
||||
ErrAlertPush: 'Error in pushing alert information, please check and try again!'
|
||||
ErrAlertSave: 'Error saving the alarm information, please check and try again!'
|
||||
ErrAlertSync: 'Alarm information synchronization error, please check and try again!'
|
||||
ErrAlertRemote: 'Alarm message remote error, please check and try again!'
|
||||
+391
-295
@@ -1,326 +1,422 @@
|
||||
ErrInvalidParams: "リクエストパラメーターエラー:{{.Detail}}"
|
||||
ErrTokenParse: "トークン生成エラー:{{.Detail}}"
|
||||
ErrInitialPassword: "初期パスワードエラー"
|
||||
ErrInternalServer: "サービス内部エラー:{{.Detail}}"
|
||||
ErrRecordExist: "レコードはすでに存在します"
|
||||
ErrRecordNotFound: "記録が見つかりません"
|
||||
ErrStructTransform: "タイプ変換障害:{{.Detail}}"
|
||||
ErrNotLogin: "ユーザーはログインしません:{{.Detail}}"
|
||||
ErrPasswordExpired: "現在のパスワードが期限切れになっています:{{.Detail}}"
|
||||
ErrNotSupportType: "システムは現在のタイプをサポートしていません:{{.Detail}}"
|
||||
ErrApiConfigStatusInvalid: "APIインターフェイスアクセス禁止:{{.Detail}}"
|
||||
ErrApiConfigKeyInvalid: "APIインターフェイスキーエラー:{{.Detail}}"
|
||||
ErrApiConfigIPInvalid: "APIインターフェイスIPはホワイトリストにありません:{{.Detail}}"
|
||||
ErrApiConfigDisable: "このインターフェイスは、APIインターフェイスコールの使用を禁止しています:{{.Detail}}"
|
||||
ErrInvalidParams: 'リクエストパラメータエラー: {{ .detail }}'
|
||||
ErrTokenParse: 'トークン生成エラー: {{ .detail }}'
|
||||
ErrInitialPassword: '元のパスワードが正しくありません'
|
||||
ErrInternalServer: '内部サーバーエラー: {{ .detail }}'
|
||||
ErrRecordExist: 'レコードがすでに存在します'
|
||||
ErrRecordNotFound: 'レコードが見つかりません'
|
||||
ErrStructTransform: '型変換に失敗しました: {{ .err }}'
|
||||
ErrNotLogin: 'ユーザーがログインしていません: {{ .detail }}'
|
||||
ErrPasswordExpired: '現在のパスワードの有効期限が切れています: {{ .detail }}'
|
||||
ErrNotSupportType: 'システムは現在のタイプ: {{ .name }} をサポートしていません'
|
||||
ErrProxy: 'リクエスト エラーです。ノードのステータスを確認してください: {{ .detail }}'
|
||||
ErrApiConfigStatusInvalid: 'API インターフェースへのアクセスは禁止されています: {{ .detail }}'
|
||||
ErrApiConfigKeyInvalid: 'API インターフェース キー エラー: {{ .detail }}'
|
||||
ErrApiConfigIPInvalid: 'API インターフェースの呼び出しに使用された IP がホワイトリストにありません: {{ .detail }}'
|
||||
ErrApiConfigDisable: 'このインターフェースは、API インターフェース呼び出しの使用を禁止しています: {{ .detail }}'
|
||||
ErrApiConfigKeyTimeInvalid: 'API インターフェースのタイムスタンプ エラー: {{ .detail }}'
|
||||
|
||||
#common
|
||||
ErrUsernameIsExist: "ユーザー名は既に存在します"
|
||||
ErrNameIsExist: "名前はすでに存在しています"
|
||||
ErrDemoEnvironment: "デモサーバー、この操作を禁止します!"
|
||||
ErrCmdTimeout: "コマンド実行がタイムアウトしました!"
|
||||
ErrCmdIllegal: "コマンドには違法な文字が含まれています。変更してもう一度やり直してください!"
|
||||
ErrPortExist: '{{.port}}ポートはすでに{{.type}} [{{.name}}]によって占有されています。'
|
||||
TYPE_APP: "応用"
|
||||
TYPE_RUNTIME: "ランタイム環境"
|
||||
TYPE_DOMAIN: "ドメイン名"
|
||||
ErrTypePort: 'port {{.name}}フォーマットエラー'
|
||||
ErrTypePortRange: 'ポートレンジは1-65535の間である必要があります'
|
||||
Success: "成功"
|
||||
Failed: "失敗した"
|
||||
SystemRestart: "システムの再起動により、タスクが中断されます"
|
||||
ErrGroupIsDefault: "デフォルトグループ、削除できません"
|
||||
ErrGroupIsInWebsiteUse: "グループは他のウェブサイトで使用されています、削除できません"
|
||||
ErrUsernameIsExist: 'ユーザー名は既に存在します'
|
||||
ErrNameIsExist: '名前は既に存在します'
|
||||
ErrDemoEnvironment: 'デモ サーバー、この操作は禁止されています!'
|
||||
ErrCmdTimeout: 'コマンドの実行がタイムアウトしました!'
|
||||
ErrCmdIllegal: '実行コマンドに不正な文字が含まれています。修正してもう一度お試しください。'
|
||||
ErrPortExist: '{{ .port }} ポートは、{{ .type }} [{{ .name }}] によって既に使用されています'
|
||||
TYPE_APP: 'アプリケーション'
|
||||
TYPE_RUNTIME: 'ランタイム環境'
|
||||
TYPE_DOMAIN: 'ドメイン名'
|
||||
ErrTypePort: 'ポート {{ .name }} の形式が正しくありません'
|
||||
ErrTypePortRange: 'ポート範囲は 1 ~ 65535 である必要があります'
|
||||
Success: '成功'
|
||||
Failed: '失敗'
|
||||
SystemRestart: 'システムの再起動によりタスクが中断されました'
|
||||
ErrGroupIsDefault: 'デフォルト グループ、削除できません'
|
||||
ErrGroupIsInWebsiteUse: 'グループは別の Web サイトで使用されているため、削除できません。'
|
||||
|
||||
#backup
|
||||
ErrBackupInUsed: 'バックアップ アカウントはスケジュールされたタスクで使用されているため、削除できません。'
|
||||
ErrBackupCheck: 'バックアップ アカウントのテスト接続に失敗しました {{ .err }}'
|
||||
ErrBackupLocalDelete: 'ローカル サーバーのバックアップ アカウントの削除はまだサポートされていません'
|
||||
ErrBackupLocalCreate: 'ローカル サーバーのバックアップ アカウントの作成はまだサポートされていません'
|
||||
|
||||
#app
|
||||
ErrPortInUsed: "{{.Detail}}ポートはすでに使用されています"
|
||||
ErrAppLimit: "アプリはインストール制限を超えています"
|
||||
ErrAppRequired: "{{.Detail}}アプリが必要です"
|
||||
ErrNotInstall: "アプリがインストールされていません"
|
||||
ErrPortInOtherApp: "{{.port}}ポートは既にapp {{.apps}}で使用されています"
|
||||
ErrDbUserNotValid: "ストックデータベース、ユーザー名、パスワードが一致しません!"
|
||||
ErrDockerComposeNotValid: "Docker-Composeファイル形式のエラー!"
|
||||
ErrUpdateBuWebsite: 'アプリケーションは正常に更新されましたが、Webサイト構成ファイルの変更に失敗しました。構成を確認してください!'
|
||||
Err1PanelNetworkFailed: 'デフォルトのコンテナネットワークの作成に失敗しました!{{ 。詳細 }}'
|
||||
ErrFileParse: 'アプリケーションDocker-Composeファイルの解析は失敗しました!'
|
||||
ErrInstallDirNotFound: 'インストールディレクトリは存在しません'
|
||||
AppStoreIsUpToDate: '最新の'
|
||||
LocalAppVersionNull: '{{.name}}アプリはバージョンに同期されません!アプリケーションリストに追加できませんでした'
|
||||
LocalAppVersionErr: '{{.name}}}バージョン{{.version}}の同期に失敗しました!{{.err}}'
|
||||
ErrFileNotFound: '{{.name}}ファイルは存在しません'
|
||||
ErrFileParseApp: '{{.name}} file {{.err}}を解析できなかった'
|
||||
ErrAppDirNull: 'バージョンフォルダーは存在しません'
|
||||
LocalAppErr: "app {{.name}}同期が失敗しました!{{.err}}"
|
||||
ErrContainerName: "cantablernameはすでに存在しています"
|
||||
ErrAppSystemRestart: "1パネルの再起動により、タスクが終了します"
|
||||
ErrCreateHttpClient: "http request {{.err}}の作成に失敗しました"
|
||||
ErrHttpReqTimeOut: "リクエスト{{.err}}"
|
||||
ErrHttpReqFailed: "リクエストが失敗しました{{.err}}"
|
||||
ErrHttpReqNotFound: "ファイルは存在しません"
|
||||
ErrNoSuchHost: "ネットワーク接続に失敗しました"
|
||||
ErrImagePullTimeOut: '画像プルタイムアウト'
|
||||
ErrContainerNotFound: '{{.name}}コンテナは存在しません'
|
||||
ErrContainerMsg: '{{.name}}コンテナは異常です。詳細については、コンテナページのログを確認してください'
|
||||
ErrAppBackup: '{{.name}}アプリケーションバックアップが失敗したerr {{.err}}'
|
||||
ErrImagePull: '{{.name}}画像プルFailed err {{.err}}'
|
||||
ErrVersionTooLow: '現在の1パネルバージョンが低すぎてApp Storeを更新できないので、バージョンをアップグレードしてください'
|
||||
ErrAppNameExist: 'アプリ名はすでに存在しています'
|
||||
AppStoreIsSyncing: 'App Storeが同期しています。後でもう一度やり直してください'
|
||||
ErrGetCompose: "docker-compose.ymlファイルを取得できませんでした!{{ 。詳細 }}"
|
||||
ErrAppWarn: "異常なステータス、ログを確認してください"
|
||||
ErrAppParamKey: "parameter {{.name}}フィールド例外"
|
||||
ErrAppUpgrade: "アプリケーションのアップグレードに失敗しました{{.name}} {{.err}}"
|
||||
AppRecover: "app {{.name}}ロールバック"
|
||||
PullImageStart: "画像の引っ張りを開始{{.name}}"
|
||||
PullImageSuccess: "画像が正常に引っ張られました"
|
||||
UpgradeAppStart: "アプリケーションのアップグレードを起動{{.name}}"
|
||||
UpgradeAppSuccess: "App {{.Name}}アップグレードされました"
|
||||
ErrAppIsDown: "{{ .name }} アプリケーションの状態が異常です、確認してください"
|
||||
ErrPortInUsed: '{{ .detail }} ポートはすでに使用されています!'
|
||||
ErrAppLimit: 'インストールされているアプリケーションの数が制限を超えました'
|
||||
ErrAppRequired: 'まず {{ .detail }} アプリケーションをインストールしてください'
|
||||
ErrNotInstall: 'アプリケーションがインストールされていません'
|
||||
ErrPortInOtherApp: '{{ .port }} ポートは既にアプリケーション {{ .apps }} によって使用されています!'
|
||||
ErrDbUserNotValid: '既存のデータベース、ユーザー名、およびパスワードが一致しません!'
|
||||
ErrDockerComposeNotValid: 'docker-compose ファイルの形式が正しくありません'
|
||||
ErrUpdateBuWebsite: 'アプリケーションは正常に更新されましたが、Web サイト構成ファイルの変更に失敗しました。設定を確認してください! '
|
||||
Err1PanelNetworkFailed: 'デフォルトのコンテナ ネットワークの作成に失敗しました。 {{ .detail }}'
|
||||
ErrFileParse: 'アプリケーションの docker-compose ファイルの解析に失敗しました!'
|
||||
ErrInstallDirNotFound: 'インストール ディレクトリが存在しません。アンインストールする必要がある場合は、強制アンインストールを選択してください。'
|
||||
AppStoreIsUpToDate: 'アプリストアはすでに最新バージョンです'
|
||||
LocalAppVersionNull: '{{ .name }} アプリケーションはバージョンに同期されていません。アプリリストに追加できません'
|
||||
LocalAppVersionErr: '{{ .name }} バージョン {{ .version }} の同期に失敗しました! {{ .err }}'
|
||||
ErrFileNotFound: '{{ .name }} ファイルが存在しません'
|
||||
ErrFileParseApp: '{{ .name }} ファイルの解析に失敗しました {{ .err }}'
|
||||
ErrAppDirNull: 'バージョン フォルダーが存在しません'
|
||||
LocalAppErr: 'アプリケーション {{ .name }} の同期に失敗しました! {{ .err }}'
|
||||
ErrContainerName: 'コンテナ名が既に存在します'
|
||||
ErrAppSystemRestart: '1Panel の再起動によりタスクが終了しました'
|
||||
ErrCreateHttpClient: 'リクエスト {{ .err }} の作成に失敗しました'
|
||||
ErrHttpReqTimeOut: 'リクエストがタイムアウトしました {{ .err }}'
|
||||
ErrHttpReqFailed: 'リクエストが失敗しました {{ .err }}'
|
||||
ErrNoSuchHost: '要求されたサーバー {{ .err }} が見つかりません'
|
||||
ErrHttpReqNotFound: '要求されたリソース {{ .err }} が見つかりませんでした'
|
||||
ErrImagePullTimeOut: 'イメージ プル タイムアウト'
|
||||
ErrContainerNotFound: '{{ .name }} コンテナが存在しません'
|
||||
ErrContainerMsg: '{{ .name }} コンテナが異常です。詳細についてはコンテナページのログを確認してください。'
|
||||
ErrAppBackup: '{{ .name }} アプリケーションのバックアップに失敗しました。エラー {{ .err }}'
|
||||
ErrImagePull: 'イメージのプルに失敗しました {{ .err }}'
|
||||
ErrVersionTooLow: '現在の 1Panel のバージョンが低すぎるため、App Store を更新できません。操作する前にバージョンをアップグレードしてください。'
|
||||
ErrAppNameExist: 'アプリケーション名がすでに存在します'
|
||||
AppStoreIsSyncing: 'App Store が同期中です。しばらくしてからもう一度お試しください'
|
||||
ErrGetCompose: 'docker-compose.yml ファイルの取得に失敗しました! {{ .detail }}'
|
||||
ErrAppWarn: '異常な状態です。ログを確認してください'
|
||||
ErrAppParamKey: 'パラメータ {{ .name }} フィールドが異常です'
|
||||
ErrAppUpgrade: 'アプリケーション {{ .name }} のアップグレードに失敗しました {{ .err }}'
|
||||
AppRecover: 'アプリケーション {{ .name }} をロールバックします'
|
||||
PullImageStart: "イメージ {{ .name }} のプルを開始します"
|
||||
PullImageSuccess: 'イメージのプルが成功しました'
|
||||
UpgradeAppStart: 'アプリケーション {{ .name }} のアップグレードを開始します'
|
||||
UpgradeAppSuccess: 'アプリケーション {{ .name }} が正常にアップグレードされました'
|
||||
AppStoreIsLastVersion: 'App Store はすでに最新バージョンです'
|
||||
AppStoreSyncSuccess: 'App Store の同期が成功しました'
|
||||
SyncAppDetail: 'アプリケーション構成を同期する'
|
||||
AppVersionNotMatch: '{{ .name }} アプリケーションには、より高い 1Panel バージョンが必要なため、同期をスキップします'
|
||||
MoveSiteDir: '現在のアップグレードでは、OpenResty Web サイト ディレクトリの移行が必要です'
|
||||
MoveSiteToDir: 'サイト ディレクトリを {{ .name }} に移行します'
|
||||
ErrMoveSiteDir: 'サイト ディレクトリの移行に失敗しました'
|
||||
MoveSiteDirSuccess: 'Web サイト ディレクトリの移行に成功しました'
|
||||
DeleteRuntimePHP: 'PHP ランタイムを削除する'
|
||||
CustomAppStoreNotConfig: 'アプリストアでオフライン パッケージ アドレスを設定してください'
|
||||
CustomAppStoreNotFound: 'アプリストア パッケージを取得できませんでした。存在するかどうかを確認してください'
|
||||
CustomAppStoreFileValid: 'App Store パッケージは .tar.gz 形式である必要があります'
|
||||
PullImageTimeout: 'プル イメージのタイムアウトです。イメージのアクセラレーションを増やすか、別のイメージのアクセラレーションに変更してください'
|
||||
ErrAppIsDown: '{{ .name }} アプリケーションの状態が異常です。確認してください'
|
||||
ErrCustomApps: 'インストールされているアプリケーションがあります。まずアンインストールしてください'
|
||||
ErrCustomRuntimes: 'ランタイム環境がインストールされています。まずそれを削除してください'
|
||||
|
||||
#file
|
||||
ErrFileCanNotRead: "ファイルは読み取れません"
|
||||
ErrFileToLarge: "ファイルが大きすぎます"
|
||||
ErrPathNotFound: "パスは見つかりません"
|
||||
ErrMovePathFailed: "ターゲットパスには元のパスが含まれていません!"
|
||||
ErrLinkPathNotFound: "ターゲットパスは存在しません!"
|
||||
ErrFileIsExist: "ファイルまたはディレクトリはすでに存在します!"
|
||||
ErrFileUpload: "file {{.name}} {{.detail}}}のアップロードに失敗しました"
|
||||
ErrFileDownloadDir: "サポートされていないフォルダーをダウンロードします"
|
||||
ErrCmdNotFound: "{{.name}}コマンドは存在しません。最初にホストにこのコマンドをインストールしてください"
|
||||
ErrSourcePathNotFound: "ソースディレクトリは存在しません"
|
||||
ErrFavoriteExist: "このパスが収集されました"
|
||||
ErrInvalidChar: "違法なキャラクターは禁止されています"
|
||||
ErrPathNotDelete: "選択したディレクトリを削除することはできません"
|
||||
ErrFileCanNotRead: 'このファイルはプレビューをサポートしていません'
|
||||
ErrFileToLarge: 'ファイルは 10M より大きいため開けません'
|
||||
ErrPathNotFound: 'ディレクトリが存在しません'
|
||||
ErrMovePathFailed: 'ターゲット パスに元のパスを含めることはできません!'
|
||||
ErrLinkPathNotFound: 'ターゲット パスが存在しません!'
|
||||
ErrFileIsExist: 'ファイルまたはフォルダーは既に存在します!'
|
||||
ErrFileUpload: '{{ .name }} はファイル {{ .detail }} のアップロードに失敗しました'
|
||||
ErrFileDownloadDir: 'ダウンロード フォルダーはサポートされていません'
|
||||
ErrCmdNotFound: '{{ .name}} コマンドが存在しません。まずこのコマンドをホストにインストールしてください'
|
||||
ErrSourcePathNotFound: 'ソース ディレクトリが存在しません'
|
||||
ErrFavoriteExist: 'このパスはすでにお気に入りに登録されています'
|
||||
ErrInvalidChar: '不正な文字は許可されません'
|
||||
ErrPathNotDelete: '選択されたディレクトリは削除できません'
|
||||
|
||||
#website
|
||||
ErrDomainIsExist: "ドメインはすでに存在しています"
|
||||
ErrAliasIsExist: "エイリアスはすでに存在しています"
|
||||
ErrAppDelete: '他のウェブサイトはこのアプリを使用します'
|
||||
ErrGroupIsUsed: "グループは使用されており、削除することはできません"
|
||||
ErrBackupMatch: "バックアップファイルは、ウェブサイトの現在の部分的なデータと一致しません:{{.Detail}}"
|
||||
ErrBackupExist: 'バックアップファイルは、存在しない元のデータの一部に対応しています。{{.Detail}}'
|
||||
ErrPHPResource: 'ローカルランタイムはスイッチングをサポートしません!'
|
||||
ErrPathPermission: 'インデックスディレクトリで1000:1000以外のアクセス許可を持つフォルダーが検出されたため、Webサイトにアクセスするとアクセスが拒否された場合があります。上の[保存]ボタンをクリックしてください'
|
||||
ErrDomainIsUsed: "ドメインはすでにWebサイトで使用されています{{.Name}}"
|
||||
ErrDomainFormat: "{{.name}}ドメイン形式エラー"
|
||||
ErrDefaultAlias: "デフォルトは予約済みのコード名です。別のコード名を使用してください"
|
||||
ErrImageNotExist: "実行中の環境{{.name}}画像は存在しません。実行中の環境を再編集してください"
|
||||
ErrDomainIsExist: 'ドメイン名は既に存在します'
|
||||
ErrAliasIsExist: 'エイリアスがすでに存在します'
|
||||
ErrAppDelete: '他のウェブサイトがこのアプリを使用しているため、削除できません'
|
||||
ErrBackupMatch: 'バックアップ ファイルは、現在の Web サイト データ {{ .detail }} の一部と一致しません'
|
||||
ErrBackupExist: 'バックアップ ファイル内のソース データの対応する部分が存在しません {{ .detail }}'
|
||||
ErrPHPResource: 'ローカルオペレーティング環境は切り替えをサポートしていません! '
|
||||
ErrPathPermission: 'インデックス ディレクトリに 1000:1000 以外の権限を持つフォルダーが検出されました。これにより、Web サイトでアクセス拒否エラーが発生する可能性があります。上記の保存ボタンをクリックしてください。'
|
||||
ErrDomainIsUsed: 'ドメイン名はウェブサイト [{{ .name }}] で既に使用されています'
|
||||
ErrDomainFormat: '{{ .name }} ドメイン名の形式が正しくありません'
|
||||
ErrDefaultAlias: 'デフォルトは予約済みのコードです。別のコードを使用してください'
|
||||
ErrParentWebsite: 'まずサブサイト {{ .name }} を削除する必要があります'
|
||||
ErrBuildDirNotFound: 'ビルド ディレクトリが存在しません'
|
||||
ErrImageNotExist: 'オペレーティング環境 {{ .name }} イメージが存在しません。オペレーティング環境を再編集してください'
|
||||
|
||||
#ssl
|
||||
ErrSSLCannotDelete: "証明書{{.Name}}はWebサイトで使用されており、削除できません"
|
||||
ErrAccountCannotDelete: "アカウントに関連付けられた証明書を削除することはできません"
|
||||
ErrSSLApply: "証明書は引き続き正常に署名されていますが、OpenRestyリロードが失敗します。構成を確認してください!"
|
||||
ErrEmailIsExist: 'メールはすでに存在しています'
|
||||
ErrSSLKeyNotFound: '秘密キーファイルは存在しません'
|
||||
ErrSSLCertificateNotFound: '証明書ファイルは存在しません'
|
||||
ErrSSLKeyFormat: '秘密キーファイル検証エラー'
|
||||
ErrSSLCertificateFormat: '証明書ファイル形式エラー、PEM形式を使用してください'
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: 'eabkidまたはeabhmackeyは空にすることはできません'
|
||||
ErrOpenrestyNotFound: 'HTTPモードでは、最初にOpenRestyをインストールする必要があります'
|
||||
ApplySSLStart: '証明書、ドメイン名[{{.domain}}]アプリケーションメソッド[{{.type}}]の申請を開始します'
|
||||
dnsAccount: "DNSオートマチック"
|
||||
dnsManual: "DNSマニュアル"
|
||||
http: "http"
|
||||
ApplySSLFailed: '[{{.domain}}]証明書のアプリケーションが失敗しました、{{.detail}}'
|
||||
ApplySSLSuccess: '[{{{.domain}}]証明書のアプリケーションが成功しました!!'
|
||||
DNSAccountName: 'dnsアカウント[{{.name}}]メーカー[{{.type}}]'
|
||||
PushDirLog: 'ディレクトリにプッシュされた証明書[{{.Path}}] {{.Status}}'
|
||||
ErrDeleteCAWithSSL: "現在の組織の下に発行された証明書があり、削除できません"
|
||||
ErrDeleteWithPanelSSL: "パネルSSL構成はこの証明書を使用しており、削除できません"
|
||||
ErrDefaultCA: "デフォルトの証明書当局は削除できません"
|
||||
ApplyWebSiteSSLLog: "{{.name}} Webサイト証明書の更新を開始します"
|
||||
ErrUpdateWebsiteSSL: "{{.name}}ウェブサイトは証明書の更新に失敗しました:{{.err}}"
|
||||
ApplyWebSiteSSLSuccess: "ウェブサイトの証明書を正常に更新します"
|
||||
ErrExecShell: "スクリプトの実行に失敗した{{.err}}"
|
||||
ExecShellStart: "スクリプトの実行を開始します"
|
||||
ExecShellSuccess: "スクリプトは正常に実行されました"
|
||||
StartUpdateSystemSSL: "システム証明書の更新を開始します"
|
||||
UpdateSystemSSLSuccess: "システム証明書を正常に更新します"
|
||||
ErrSSLCannotDelete: '{{ .name }} 証明書は Web サイトで使用されているため、削除できません'
|
||||
ErrAccountCannotDelete: 'アカウントは証明書に関連付けられているため、削除できません'
|
||||
ErrSSLApply: '証明書の更新は成功しましたが、openresty の再ロードに失敗しました。設定を確認してください。'
|
||||
ErrEmailIsExist: 'メールボックスは既に存在します'
|
||||
ErrSSLKeyNotFound: '秘密鍵ファイルが存在しません'
|
||||
ErrSSLCertificateNotFound: '証明書ファイルが存在しません'
|
||||
ErrSSLKeyFormat: '秘密鍵ファイルの検証に失敗しました'
|
||||
ErrSSLCertificateFormat: '証明書ファイルの形式が正しくありません。pem 形式を使用してください'
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid または EabHmacKey は空白にできません'
|
||||
ErrOpenrestyNotFound: 'Http モードでは、まず Openresty をインストールする必要があります'
|
||||
ApplySSLStart: '証明書の申請を開始します。ドメイン名 [{{ .domain }}] 申請方法 [{{ .type }}] '
|
||||
dnsAccount: 'DNS 自動'
|
||||
dnsManual: 'DNS マニュアル'
|
||||
http: "HTTP"
|
||||
ApplySSLFailed: '[{{ .domain }}] 証明書の申請に失敗しました、{{ .detail }}'
|
||||
ApplySSLSuccess: '[{{ .domain }}] 証明書の申請に成功しました! '
|
||||
DNSAccountName: 'DNS アカウント [{{ .name }}] ベンダー [{{ .type }}]'
|
||||
PushDirLog: '証明書がディレクトリ [{{ .path }}] {{ .status }} にプッシュされました'
|
||||
ErrDeleteCAWithSSL: '現在の組織には発行済みの証明書があり、削除できません。'
|
||||
ErrDeleteWithPanelSSL: 'パネル SSL 構成はこの証明書を使用しているため、削除できません'
|
||||
ErrDefaultCA: 'デフォルトの権限を削除できません'
|
||||
ApplyWebSiteSSLLog: '{{ .name }} ウェブサイト証明書の更新を開始しています'
|
||||
ErrUpdateWebsiteSSL: '{{ .name }} Web サイト証明書の更新に失敗しました: {{ .err }}'
|
||||
ApplyWebSiteSSLSuccess: 'Web サイトの証明書を正常に更新しました'
|
||||
ErrExecShell: 'スクリプト {{ .err }} の実行に失敗しました'
|
||||
ExecShellStart: 'スクリプトの実行を開始します'
|
||||
ExecShellSuccess: 'スクリプトの実行が成功しました'
|
||||
StartUpdateSystemSSL: 'システム証明書の更新を開始します'
|
||||
UpdateSystemSSLSuccess: 'システム証明書を正常に更新しました'
|
||||
ErrWildcardDomain: 'HTTP モードでワイルドカード ドメイン名証明書を申請できません'
|
||||
|
||||
#mysql
|
||||
ErrUserIsExist: "現在のユーザーはすでに存在しています。新しいユーザーを入力してください"
|
||||
ErrDatabaseIsExist: "現在のデータベースはすでに存在しています。新しいデータベースを入力してください"
|
||||
ErrExecTimeOut: "SQL実行のタイミングを出して、データベースを確認してください"
|
||||
ErrRemoteExist: "リモートデータベースはすでにその名前に存在しています。それを変更して、再試行してください"
|
||||
ErrLocalExist: "ローカルデータベースはすでにその名前に存在しています。それを変更して、もう一度試してください"
|
||||
ErrUserIsExist: '現在のユーザーは既に存在します。再入力してください'
|
||||
ErrDatabaseIsExist: '現在のデータベースは既に存在します。再入力してください'
|
||||
ErrExecTimeOut: 'SQL 実行がタイムアウトしました。データベースを確認してください'
|
||||
ErrRemoteExist: 'この名前のリモート データベースは既に存在します。変更してもう一度お試しください'
|
||||
ErrLocalExist: '名前はローカル データベースに既に存在します。変更してもう一度お試しください'
|
||||
|
||||
#redis
|
||||
ErrTypeOfRedis: "回復ファイルのタイプは、現在の永続性モードと一致しません。ファイルタイプを変更して、再試行してください"
|
||||
ErrTypeOfRedis: 'リカバリ ファイルの種類が現在の永続化方法と一致しません。変更して再試行してください'
|
||||
|
||||
#container
|
||||
ErrInUsed: "{{.Detail}}が使用されており、削除できません"
|
||||
ErrObjectInUsed: "このオブジェクトは使用されており、削除することはできません"
|
||||
ErrPortRules: "ポートの数が一致しません。再入力してください!"
|
||||
ErrPgImagePull: "画像プルタイムアウト。画像の加速を構成するか、Postgres:16.0-Alpine画像を手動で引いて、再試行してください"
|
||||
ErrInUsed: '{{ .detail }} は使用中のため削除できません'
|
||||
ErrObjectInUsed: 'オブジェクトは使用中のため削除できません'
|
||||
ErrObjectBeDependent: 'このイメージは他のイメージに依存しているため、削除できません'
|
||||
ErrPortRules: 'ポート番号が一致しません。再入力してください。'
|
||||
ErrPgImagePull: 'イメージのプルがタイムアウトしました。イメージのアクセラレーションを設定するか、{{ .name }} イメージを手動でプルして再試行してください'
|
||||
|
||||
#runtime
|
||||
ErrDirNotFound: "ビルドフォルダーは存在しません!ファイルの整合性を確認してください!"
|
||||
ErrFileNotExist: "{{.Detail}}ファイルは存在しません!ソースファイルの完全性を確認してください!"
|
||||
ErrImageBuildErr: "画像ビルドが失敗しました"
|
||||
ErrImageExist: "画像はすでに存在しています!"
|
||||
ErrDelWithWebsite: "運用環境はウェブサイトに関連付けられており、削除することはできません"
|
||||
ErrRuntimeStart: "開始に失敗しました"
|
||||
ErrPackageJsonNotFound: "package.jsonファイルは存在しません"
|
||||
ErrScriptsNotFound: "Package.jsonにスクリプト構成アイテムは見つかりませんでした"
|
||||
ErrContainerNameNotFound: "コンテナ名を取得できない場合は、.envファイルを確認してください"
|
||||
ErrNodeModulesNotFound: "node_modulesフォルダーは存在しません!実行中の環境を編集するか、実行中の環境が正常に開始するのを待ちます"
|
||||
|
||||
#setting
|
||||
ErrBackupInUsed: "バックアップアカウントは既にCronjobで使用されており、削除することはできません。"
|
||||
ErrBackupCheck: "バックアップアカウントテスト接続に失敗した{{.err}}"
|
||||
ErrOSSConn: "最新バージョンを取得できない場合は、サーバーが外部ネットワークに接続できるかどうかを確認してください。"
|
||||
ErrEntrance: "セキュリティ入り口情報エラー。チェックしてもう一度やり直してください!"
|
||||
ErrDirNotFound: 'ビルド フォルダーが存在しません。ファイルの整合性を確認してください。'
|
||||
ErrFileNotExist: '{{ .detail }} ファイルが存在しません。ソース ファイルの整合性を確認してください。'
|
||||
ErrImageBuildErr: 'イメージのビルドに失敗しました'
|
||||
ErrImageExist: '画像がすでに存在します!'
|
||||
ErrDelWithWebsite: 'オペレーティング環境は既に Web サイトに関連付けられているため、削除できません'
|
||||
ErrRuntimeStart: '起動に失敗しました'
|
||||
ErrPackageJsonNotFound: 'package.json ファイルが存在しません'
|
||||
ErrScriptsNotFound: 'スクリプト構成項目が package.json に見つかりませんでした'
|
||||
ErrContainerNameNotFound: 'コンテナ名を取得できません。.env ファイルを確認してください'
|
||||
ErrNodeModulesNotFound: 'node_modules フォルダが存在しません。ランタイム環境を編集するか、ランタイム環境が正常に起動するまでお待ちください。'
|
||||
ErrContainerNameIsNull: 'コンテナ名が存在しません'
|
||||
|
||||
#tool
|
||||
ErrConfigNotFound: "構成ファイルは存在しません"
|
||||
ErrConfigParse: "構成ファイル形式エラー"
|
||||
ErrConfigIsNull: "構成ファイルは空にすることは許可されていません"
|
||||
ErrConfigDirNotFound: "実行中のディレクトリは存在しません"
|
||||
ErrConfigAlreadyExist: "同じ名前の構成ファイルが既に存在しています"
|
||||
ErrUserFindErr: "ユーザー{{.name}} {{.err}}を見つけられなかった"
|
||||
ErrConfigNotFound: '構成ファイルが存在しません'
|
||||
ErrConfigParse: '構成ファイルの形式が正しくありません'
|
||||
ErrConfigIsNull: '構成ファイルは空にできません'
|
||||
ErrConfigDirNotFound: '実行ディレクトリが存在しません'
|
||||
ErrConfigAlreadyExist: '同じ名前の設定ファイルがすでに存在します'
|
||||
ErrUserFindErr: 'ユーザー {{ .name }} の検索に失敗しました {{ .err }}'
|
||||
|
||||
#ssh
|
||||
ErrFirewallNone: "システムでFirewalldまたはUFWサービスは検出されませんでした。チェックしてもう一度やり直してください!"
|
||||
ErrFirewallBoth: "FirewalldサービスとUFWサービスの両方がシステムで検出されます。競合を避けるために、1つをアンインストールして再試行してください!"
|
||||
ErrFirewallNone: 'システムのファイアウォールまたは ufw サービスが検出されませんでした。確認してもう一度お試しください。'
|
||||
ErrFirewallBoth: 'システムにfirewalldとufwの両方のサービスがあることが検出されました。競合を避けるため、アンインストールしてもう一度お試しください。'
|
||||
|
||||
#cronjob
|
||||
ErrBashExecute: "スクリプト実行エラー、タスク出力テキスト領域の特定の情報を確認してください。"
|
||||
ErrCutWebsiteLog: "{{.Name}} Webサイトログの切断が失敗した、エラー{{.err}}"
|
||||
CutWebsiteLogSuccess: "{{.Name}} Webサイトログカットに正常にカット、バックアップパス{{.Path}}"
|
||||
ErrCutWebsiteLog: '{{ .name }} ウェブサイトのログの切り取りに失敗しました。エラー {{ .err }}'
|
||||
CutWebsiteLogSuccess: '{{ .name }} ウェブサイトのログが正常にカットされました。バックアップ パス {{ .path }}'
|
||||
HandleShell: 'スクリプト {{ .name }} を実行します'
|
||||
HandleNtpSync: 'システム時刻の同期'
|
||||
HandleSystemClean: 'システム キャッシュのクリーンアップ'
|
||||
|
||||
#toolbox
|
||||
ErrNotExistUser: "現在のユーザーは存在しません。変更して再試行してください!"
|
||||
ErrBanAction: "失敗した設定では、現在の{{.name}}サービスが利用できません。チェックして再試行してください!"
|
||||
ErrClamdscanNotFound: "Clamdscanコマンドは検出されませんでした。インストールするためにドキュメントを参照してください!"
|
||||
ErrNotExistUser: '現在のユーザーは存在しません。変更してもう一度お試しください。'
|
||||
ErrBanAction: '設定に失敗しました。現在の {{ .name }} サービスは利用できません。確認してもう一度お試しください。'
|
||||
ErrClamdscanNotFound: 'clamdscan コマンドが検出されませんでした。インストールするにはドキュメントを参照してください。'
|
||||
|
||||
#waf
|
||||
ErrScope: "この設定の変更はサポートされていません"
|
||||
ErrStateChange: "ステータスの変更に失敗しました"
|
||||
ErrRuleExist: "ルールはすでに存在します"
|
||||
ErrRuleNotExist: "ルールが存在しません"
|
||||
ErrParseIP: "IP 形式が正しくありません"
|
||||
ErrDefaultIP: "default は予約名です。他の名前を使用してください"
|
||||
ErrGroupInUse: "IP グループはブラックリスト/ホワイトリストで使用中です。削除できません"
|
||||
ErrGroupExist: "IP グループ名はすでに存在します"
|
||||
ErrIPRange: "IP 範囲が正しくありません"
|
||||
ErrIPExist: "IP はすでに存在します"
|
||||
urlDefense: "URL ルール"
|
||||
urlHelper: "禁止された URL"
|
||||
dirFilter: "ディレクトリフィルタ"
|
||||
xss: "XSS"
|
||||
phpExec: "PHP スクリプト実行"
|
||||
oneWordTrojan: "ワンワードトロイの木馬"
|
||||
appFilter: "アプリケーション危険ディレクトリフィルタ"
|
||||
webshell: "Webshell"
|
||||
args: "パラメータルール"
|
||||
protocolFilter: "プロトコルフィルタ"
|
||||
javaFileter: "Java 危険ファイルフィルタ"
|
||||
scannerFilter: "スキャナフィルタ"
|
||||
escapeFilter: "エスケープフィルタ"
|
||||
customRule: "カスタムルール"
|
||||
httpMethod: "HTTP メソッドフィルタ"
|
||||
fileExt: "ファイルアップロード制限"
|
||||
defaultIpBlack: "悪意のある IP グループ"
|
||||
cookie: "Cookie ルール"
|
||||
urlBlack: "URL ブラックリスト"
|
||||
uaBlack: "User-Agent ブラックリスト"
|
||||
attackCount: "攻撃頻度制限"
|
||||
fileExtCheck: "ファイルアップロード制限"
|
||||
geoRestrict: "地域アクセス制限"
|
||||
unknownWebsite: "未承認ドメインアクセス"
|
||||
notFoundCount: "404 頻度制限"
|
||||
headerDefense: "Header ルール"
|
||||
defaultUaBlack: "User-Agent ルール"
|
||||
methodWhite: "HTTP ルール"
|
||||
captcha: "人間と機械の検証"
|
||||
fiveSeconds: "5 秒検証"
|
||||
vulnCheck: "補足ルール"
|
||||
acl: "カスタムルール"
|
||||
sql: "SQL インジェクション"
|
||||
cc: "アクセス頻度制限"
|
||||
defaultUrlBlack: "URL ルール"
|
||||
sqlInject: "SQL インジェクション"
|
||||
ErrDBNotExist: "データベースが存在しません"
|
||||
allow: "許可"
|
||||
deny: "禁止"
|
||||
ErrScope: 'この構成の変更はサポートされていません'
|
||||
ErrStateChange: '状態の変更に失敗しました'
|
||||
ErrRuleExist: 'ルールは既に存在します'
|
||||
ErrRuleNotExist: 'ルールが存在しません'
|
||||
ErrParseIP: 'IP 形式が間違っています'
|
||||
ErrDefaultIP: 'デフォルトは予約名です。別の名前に変更してください'
|
||||
ErrGroupInUse: 'IP グループはブラックリスト/ホワイトリストで使用されており、削除できません'
|
||||
ErrGroupExist: 'IP グループ名がすでに存在します'
|
||||
ErrIPRange: 'IP 範囲が間違っています'
|
||||
ErrIPExist: 'IP がすでに存在します'
|
||||
urlDefense: 'URL ルール'
|
||||
urlHelper: '禁止された URL'
|
||||
dirFilter: 'ディレクトリ フィルター'
|
||||
xss: 'XSS'
|
||||
phpExec: 'PHP スクリプトの実行'
|
||||
oneWordTrojan: 'ワンワードトロイの木馬'
|
||||
appFilter: '危険なディレクトリフィルタリングを適用する'
|
||||
webshell: 'ウェブシェル'
|
||||
args: 'パラメータルール'
|
||||
protocolFilter: 'プロトコルフィルタリング'
|
||||
javaFileter: 'Java 危険ファイル フィルター'
|
||||
scannerFilter: 'スキャナ フィルタ'
|
||||
escapeFilter: 'エスケープフィルター'
|
||||
customRule: 'カスタムルール'
|
||||
httpMethod: 'HTTP メソッド フィルタリング'
|
||||
fileExt: 'ファイルアップロード制限'
|
||||
defaultIpBlack: '悪意のある IP グループ'
|
||||
cookie: 'クッキールール'
|
||||
urlBlack: 'URL ブラックリスト'
|
||||
uaBlack: 'ユーザーエージェント ブラックリスト'
|
||||
attackCount: '攻撃頻度の制限'
|
||||
fileExtCheck: 'ファイルアップロード制限'
|
||||
geoRestrict: '地域アクセス制限'
|
||||
unknownWebsite: '不正なドメイン名アクセス'
|
||||
notFoundCount: '404 レート制限'
|
||||
headerDefense: 'ヘッダールール'
|
||||
defaultUaBlack: 'ユーザーエージェントルール'
|
||||
methodWhite: 'HTTP ルール'
|
||||
captcha: '人間と機械による認証'
|
||||
fiveSeconds: '5秒検証'
|
||||
vulnCheck: '補足ルール'
|
||||
acl: 'カスタムルール'
|
||||
sql: 'SQL インジェクション'
|
||||
cc: 'アクセス頻度制限'
|
||||
defaultUrlBlack: 'URL ルール'
|
||||
sqlInject: 'SQL インジェクション'
|
||||
ErrDBNotExist: 'データベースが存在しません'
|
||||
allow: '許可'
|
||||
deny: '拒否'
|
||||
OpenrestyNotFound: 'Openresty がインストールされていません'
|
||||
|
||||
#license
|
||||
ErrLicense: "ライセンス形式のエラー、チェックして再試行してください!"
|
||||
ErrLicenseCheck: "ライセンスの確認が失敗しました。チェックしてもう一度やり直してください!"
|
||||
ErrLicenseSave: "ライセンス情報の保存に失敗しました、{{.err}}、もう一度やり直してください!"
|
||||
ErrLicenseSync: "ライセンス情報の同期に失敗し、データベースでライセンス情報は検出されませんでした!"
|
||||
ErrXpackNotFound: "このセクションはプロフェッショナルエディション機能です。最初にパネルsettings-licenseインターフェイスにライセンスをインポートしてください"
|
||||
ErrXpackNotActive: "このセクションはプロフェッショナルエディション機能です。最初にパネル設定リセンスインターフェイスでライセンスステータスを同期してください"
|
||||
ErrXpackOutOfDate: "現在のライセンスの有効期限が切れています。パネル設定リセンスインターフェイスにライセンスを再輸入してください"
|
||||
ErrXpackLost: "ライセンスは、再試行の最大数に達しました。[設定] [ライセンス]ページに移動し、[同期]ボタンを手動でクリックして、プロフェッショナルバージョンの機能が適切に機能していることを確認してください。"
|
||||
ErrXpackTimeout: "リクエストタイムアウト、ネットワーク接続が不安定な場合があります。後でもう一度やり直してください!"
|
||||
#task
|
||||
TaskStart: '{{ .name }} タスクが開始されました [START]'
|
||||
TaskEnd: '{{ .name }} タスクが完了しました [COMPLETED]'
|
||||
TaskFailed: '{{ .name }} タスクが失敗しました'
|
||||
TaskTimeout: '{{ .name }} がタイムアウトしました'
|
||||
TaskSuccess: '{{ .name }} タスクが成功しました'
|
||||
TaskRetry: '{{ .name }} 回目の再試行を開始します'
|
||||
SubTaskSuccess: '{{ .name }} が成功しました'
|
||||
SubTaskFailed: '{{ .name }} が失敗しました: {{ .err }}'
|
||||
TaskInstall: 'インストール'
|
||||
TaskUninstall: 'アンインストール'
|
||||
TaskCreate: '作成'
|
||||
TaskDelete: '削除'
|
||||
TaskUpgrade: 'アップグレード'
|
||||
TaskUpdate: '更新'
|
||||
TaskRestart: '再起動'
|
||||
TaskBackup: 'バックアップ'
|
||||
TaskRecover: '回復'
|
||||
TaskRollback: 'ロールバック'
|
||||
TaskPull: 'プル'
|
||||
TaskBuild: 'ビルド'
|
||||
TaskPush: 'プッシュ'
|
||||
TaskHandle: '実行'
|
||||
Website: 'ウェブサイト'
|
||||
App: 'アプリケーション'
|
||||
Runtime: 'ランタイム環境'
|
||||
Database: 'データベース'
|
||||
ConfigFTP: 'FTP ユーザー {{ .name }} を作成します'
|
||||
ConfigOpenresty: 'Openresty 構成ファイルを作成する'
|
||||
InstallAppSuccess: 'アプリケーション {{ .name }} が正常にインストールされました'
|
||||
ConfigRuntime: 'ランタイム環境を構成する'
|
||||
ConfigApp: '構成アプリケーション'
|
||||
SuccessStatus: '{{ .name }} は成功しました'
|
||||
FailedStatus: '{{ .name }} が {{ .err }} に失敗しました'
|
||||
HandleLink: 'ハンドルアプリケーションの関連付け'
|
||||
HandleDatabaseApp: 'アプリケーション パラメータの処理'
|
||||
ExecShell: '{{ .name }} スクリプトを実行する'
|
||||
PullImage: 'イメージをプル'
|
||||
Start: '開始'
|
||||
Run: '開始'
|
||||
Stop: '停止'
|
||||
Image: '鏡'
|
||||
Compose: 'オーケストレーション'
|
||||
Container: 'コンテナ'
|
||||
AppLink: 'リンクされたアプリケーション'
|
||||
EnableSSL: 'HTTPS を有効にする'
|
||||
AppStore: 'Appストア'
|
||||
TaskSync: '同期'
|
||||
LocalApp: 'ローカルアプリケーション'
|
||||
SubTask: 'サブタスク'
|
||||
RuntimeExtension: 'ランタイム環境拡張'
|
||||
TaskIsExecuting: 'タスクは実行中です'
|
||||
CustomAppstore: 'カスタム アプリケーション ウェアハウス'
|
||||
|
||||
#license
|
||||
ErrAlert: "情報形式のエラーをアラートしてください。チェックして再試行してください!"
|
||||
ErrAlertPush: "アラートプッシュエラー、チェックして再試行してください!"
|
||||
ErrAlertSave: "エラーを保存してください、チェックして再試行してください!"
|
||||
ErrAlertSync: "アラート同期エラー、チェックして再試行してください!"
|
||||
ErrAlertRemote: "リモートアラートエラー、チェックして再試行してください!"
|
||||
#task - ai
|
||||
OllamaModelPull: 'Ollama モデル {{ .name }} をプルします'
|
||||
OllamaModelSize: "Ollama モデル {{ .name }} のサイズを取得します"
|
||||
|
||||
#cmd
|
||||
AppVersion: "アプリバージョン"
|
||||
AppCommands: "アプリ関連のコマンド"
|
||||
AppInit: "アプリを初期化します"
|
||||
AppKeyVal: "アプリキー(英語のみをサポートする)"
|
||||
AppCreateFileErr: "file {{.name}}作成に失敗した{{.err}}"
|
||||
AppCreateDirErr: "Folder {{.name}}作成に失敗した{{.err}}"
|
||||
AppMissKey: "アプリキーがありません、-kを使用して指定します"
|
||||
AppMissVersion: "アプリバージョンがありません、-vを使用して指定します"
|
||||
AppVersionExist: "バージョンはすでに存在します!"
|
||||
AppCreateSuccessful: "創造は成功しました!"
|
||||
AppWriteErr: "file {{.name}} write failed {{.err}}"
|
||||
SudoHelper: "{{.cmd}}を使用するか、ルートユーザーに切り替えてください"
|
||||
ListenIPCommands: "リスニングIPを切り替えます"
|
||||
ListenIPv4: "IPv4で聞いてください"
|
||||
ListenIPv6: "IPv6で聞く"
|
||||
ListenChangeSuccessful: "切り替え成功!{{.Value}}で聞いています"
|
||||
ResetCommands: "システム情報をリセットします"
|
||||
ResetMFA: "1パネルの2要素認証をキャンセルします"
|
||||
ResetHttps: "1Panel HTTPSログインをキャンセルします"
|
||||
ResetEntrance: "1パネルの安全な入り口をキャンセルします"
|
||||
ResetIPs: "1パネル認定IP制限をキャンセルします"
|
||||
ResetDomain: "1パネルドメインバインディングをキャンセルします"
|
||||
RestoreCommands: "ロールバック1パネルサービスとデータ"
|
||||
RestoreNoSuchFile: "ロールバックに使用できるファイルはありません"
|
||||
RestoreStep1: "(1/5){{.name}}ディレクトリからの1パネルサービスとデータの開始ロールバック..."
|
||||
RestoreStep2: "(2/5)1パネルバイナリロールバックが成功しました"
|
||||
RestoreStep3: "(3/5)1パネルスクリプトロールバック成功"
|
||||
RestoreStep4: "(4/5)1パネルサービスロールバックが成功しました"
|
||||
RestoreStep5: "(5/5)1パネルデータロールバックが成功しました"
|
||||
RestoreSuccessful: "ロールバックが成功しました!サービスを再起動します、待ってください..."
|
||||
UpdateCommands: "パネル情報を更新します"
|
||||
UpdateUser: "パネルユーザーを更新します"
|
||||
UpdatePassword: "パスワードを更新します"
|
||||
UpdatePort: "パネルポートを更新します"
|
||||
UpdateUserNull: "エラー:パネルユーザーは空です!"
|
||||
UpdateUserBlank: "エラー:パネルユーザーにはスペースが含まれています!"
|
||||
UpdateUserFormat: "エラー:無効なパネルユーザー形式!英語、中国語、数字、_、長さ3〜30のみをサポートしています"
|
||||
UpdateUserErr: "エラー:パネルユーザーの更新に失敗しました{{.err}}"
|
||||
UpdateSuccessful: "更新成功!"
|
||||
UpdateUserResult: "パネルユーザー:{{.name}}"
|
||||
UpdatePasswordRead: "エラー:パネルパスワード情報の読み取りに失敗しました、{{.err}}"
|
||||
UpdatePasswordNull: "エラー:パネルパスワードは空です!"
|
||||
UpdateUPasswordBlank: "エラー:パスワードにはスペースが含まれています!"
|
||||
UpdatePasswordFormat: "エラー:パネルパスワードは、文字、数字、特殊文字のみをサポートします!@#$%*_、。、、長さ8-30!"
|
||||
UpdatePasswordLen: "エラー:6文字より長くパスワードを入力してください!"
|
||||
UpdatePasswordRe: "パスワードを認証する:"
|
||||
UpdatePasswordErr: "エラー:{{.err}}のパスワードの更新に失敗しました"
|
||||
UpdatePasswordSame: "エラー:2つのパスワードが一致しません。チェックして再試行してください!"
|
||||
UpdatePasswordResult: "パネルパスワード:{{.name}}"
|
||||
UpdatePortFormat: "エラー:入力ポート番号は1〜65535でなければなりません!"
|
||||
UpdatePortUsed: "エラー:ポート番号はすでに使用されています。チェックして再試行してください!"
|
||||
UpdatePortErr: "エラー:パネルポートの更新に失敗しました{{.err}}"
|
||||
UpdatePortResult: "パネルポート:{{.name}}"
|
||||
UpdatePortFirewallAdd: "ファイアウォールポートルールの追加に失敗した{{.err}}、ファイアウォールルールに{{.name}}ポートを手動で追加してください。"
|
||||
UpdatePortFirewallDel: "エラー:ファイアウォールポートの削除に失敗しました、{{.err}}"
|
||||
UpdatePortFirewallReload: "ファイアウォールのリロードに失敗しました{{.err}}、ファイアウォールを手動でリロードしてください。"
|
||||
UserInfo: "パネル情報を取得します"
|
||||
UserInfoAddr: "パネルアドレス:"
|
||||
UserInfoPassHelp: "ヒント:パスワードを変更するには、コマンドを実行できます。"
|
||||
DBConnErr: "エラー:データベース接続の初期化に失敗しました、{{.err}}"
|
||||
SystemVersion: "バージョン:"
|
||||
SystemMode: "モード:"
|
||||
#task - snapshot
|
||||
Snapshot: 'スナップショット'
|
||||
SnapDBInfo: '1Panel データベース情報を書き込む'
|
||||
SnapCopy: 'ファイルとディレクトリ {{ .name }} をコピーします'
|
||||
SnapNewDB: 'データベース {{ .name }} 接続を初期化します'
|
||||
SnapDeleteOperationLog: '操作ログの削除'
|
||||
SnapDeleteLoginLog: 'アクセスログを削除する'
|
||||
SnapDeleteMonitor: '監視データを削除する'
|
||||
SnapRemoveSystemIP: 'システム IP を削除します'
|
||||
SnapBaseInfo: '1Panel の基本情報を書き込む'
|
||||
SnapInstallApp: '1Panel にインストールされたアプリケーションをバックアップする'
|
||||
SnapDockerSave: 'インストールされたアプリケーションを圧縮する'
|
||||
SnapLocalBackup: '1Panel ローカル バックアップ ディレクトリをバックアップします'
|
||||
SnapCompressBackup: 'ローカル バックアップ ディレクトリを圧縮する'
|
||||
SnapPanelData: '1Panel データ ディレクトリをバックアップ'
|
||||
SnapCompressPanel: '圧縮データ ディレクトリ'
|
||||
SnapWebsite: '1Panel ウェブサイト ディレクトリのバックアップ'
|
||||
SnapCloseDBConn: 'データベース接続を閉じる'
|
||||
SnapCompress: 'スナップショット ファイルを作成する'
|
||||
SnapCompressFile: 'スナップショット ファイルを圧縮する'
|
||||
SnapCheckCompress: 'スナップショット圧縮ファイルをチェックする'
|
||||
SnapCompressSize: 'スナップショット ファイル サイズ {{ .name }}'
|
||||
SnapUpload: 'スナップショット ファイルをアップロード'
|
||||
SnapLoadBackup: 'バックアップ アカウント情報を取得する'
|
||||
SnapUploadTo: 'スナップショット ファイルを {{ .name }} にアップロードします'
|
||||
SnapUploadRes: 'スナップショット ファイルを {{ .name }} にアップロードします'
|
||||
|
||||
SnapshotRecover: 'スナップショットの復元'
|
||||
RecoverDownload: 'スナップショット ファイルをダウンロード'
|
||||
Download: 'ダウンロード'
|
||||
RecoverDownloadAccount: 'スナップショット ダウンロード バックアップ アカウント {{ .name }} を取得します'
|
||||
RecoverDecompress: 'スナップショット圧縮ファイルを解凍する'
|
||||
Decompress: '減圧'
|
||||
BackupBeforeRecover: 'スナップショットの前にシステム関連データをバックアップする'
|
||||
Readjson: 'スナップショット内の Json ファイルを読み取ります'
|
||||
ReadjsonPath: 'スナップショット内の Json ファイル パスを取得します'
|
||||
ReadjsonContent: 'Json ファイルを読み取ります'
|
||||
ReadjsonMarshal: 'Json エスケープ処理'
|
||||
RecoverApp: 'インストールされたアプリを復元する'
|
||||
RecoverWebsite: 'ウェブサイトディレクトリを回復する'
|
||||
RecoverAppImage: 'スナップショットイメージのバックアップを復元する'
|
||||
RecoverCompose: '他のコンポーザーのコンテンツを復元する'
|
||||
RecoverComposeList: 'すべてのコンポーザーを復元する'
|
||||
RecoverComposeItem: '{{ .name }} の作成を回復する'
|
||||
RecoverAppEmpty: 'スナップショット ファイルにアプリケーション イメージのバックアップが見つかりませんでした'
|
||||
RecoverBaseData: '基本データとファイルを回復する'
|
||||
RecoverDaemonJsonEmpty: 'スナップショット ファイルと現在のマシンの両方に、コンテナー構成 daemon.json ファイルがありません'
|
||||
RecoverDaemonJson: 'コンテナ構成 daemon.json ファイルを復元する'
|
||||
RecoverDBData: 'データベース データを回復する'
|
||||
RecoverBackups: 'ローカル バックアップ ディレクトリを復元する'
|
||||
RecoverPanelData: 'リカバリデータディレクトリ'
|
||||
|
||||
#task - container
|
||||
ContainerNewCliet: 'Docker クライアントを初期化する'
|
||||
ContainerImagePull: 'コンテナ イメージ {{ .name }} をプルします'
|
||||
ContainerRemoveOld: '元のコンテナ {{ .name }} を削除します'
|
||||
ContainerImageCheck: 'イメージが正常にプルされているかどうかを確認します'
|
||||
ContainerLoadInfo: 'コンテナの基本情報を取得する'
|
||||
ContainerRecreate: 'コンテナの更新に失敗しました。元のコンテナの復元を開始しています'
|
||||
ContainerCreate: '新しいコンテナ {{ .name }} を作成します'
|
||||
ContainerCreateFailed: 'コンテナの作成に失敗しました。失敗したコンテナを削除してください'
|
||||
ContainerStartCheck: 'コンテナが起動されているかどうかを確認します'
|
||||
|
||||
#task - image
|
||||
ImageBuild: 'イメージビルド'
|
||||
ImageBuildStdoutCheck: '画像出力コンテンツを解析する'
|
||||
ImaegBuildRes: 'イメージビルド出力: {{ .name }}'
|
||||
ImagePull: '画像をプル'
|
||||
ImageRepoAuthFromDB: 'データベースからリポジトリ認証情報を取得する'
|
||||
ImaegPullRes: "画像プル出力: {{ .name }}"
|
||||
ImagePush: '画像をプッシュ'
|
||||
ImageRenameTag: '画像タグを変更する'
|
||||
ImageNewTag: '新しい画像タグ {{ .name }}'
|
||||
ImaegPushRes: '画像プッシュ出力: {{ .name }}'
|
||||
ComposeCreate: 'コンポジションを作成する'
|
||||
ComposeCreateRes: "Compose 作成出力: {{ .name }}"
|
||||
|
||||
#task - website
|
||||
BackupNginxConfig: 'ウェブサイトの OpenResty 構成ファイルをバックアップする'
|
||||
CompressFileSuccess: 'ディレクトリを正常に圧縮しました。{{ .name }} に圧縮されました'
|
||||
CompressDir: '圧縮ディレクトリ'
|
||||
DeCompressFile: 'ファイル {{ .name }} を解凍します'
|
||||
ErrCheckValid: 'バックアップ ファイルの検証に失敗しました、{{ .name }}'
|
||||
Rollback: 'ロールバック'
|
||||
websiteDir: 'ウェブサイトディレクトリ'
|
||||
RecoverFailedStartRollBack: 'リカバリに失敗しました。ロールバックを開始します'
|
||||
AppBackupFileIncomplete: 'バックアップ ファイルが不完全で、app.json または app.tar.gz ファイルが不足しています'
|
||||
AppAttributesNotMatch: 'アプリケーションの種類または名前が一致しません'
|
||||
|
||||
#alert
|
||||
ErrAlert: '警告メッセージの形式が正しくありません。確認してもう一度お試しください。'
|
||||
ErrAlertPush: 'アラート情報のプッシュ中にエラーが発生しました。確認してもう一度お試しください。'
|
||||
ErrAlertSave: 'アラーム情報の保存中にエラーが発生しました。確認してもう一度お試しください。'
|
||||
ErrAlertSync: 'アラーム情報の同期エラーです。確認してもう一度お試しください。'
|
||||
ErrAlertRemote: 'アラーム メッセージのリモート エラーです。確認してもう一度お試しください。'
|
||||
+404
-311
@@ -1,329 +1,422 @@
|
||||
ErrInvalidParams: "요청 매개변수 오류: {{ .detail }}"
|
||||
ErrTokenParse: "토큰 생성 오류: {{ .detail }}"
|
||||
ErrInitialPassword: "초기 비밀번호 오류"
|
||||
ErrInternalServer: "서버 내부 오류: {{ .detail }}"
|
||||
ErrRecordExist: "기록이 이미 존재합니다"
|
||||
ErrRecordNotFound: "기록을 찾을 수 없습니다"
|
||||
ErrStructTransform: "형식 변환 실패: {{ .detail }}"
|
||||
ErrNotLogin: "사용자가 로그인되지 않았습니다: {{ .detail }}"
|
||||
ErrPasswordExpired: "현재 비밀번호가 만료되었습니다: {{ .detail }}"
|
||||
ErrNotSupportType: "시스템에서 현재 유형을 지원하지 않습니다: {{ .detail }}"
|
||||
ErrApiConfigStatusInvalid: "API 인터페이스 액세스 금지: {{ .detail }}"
|
||||
ErrApiConfigKeyInvalid: "API 인터페이스 키 오류: {{ .detail }}"
|
||||
ErrApiConfigIPInvalid: "API 인터페이스 IP가 화이트리스트에 없습니다: {{ .detail }}"
|
||||
ErrApiConfigDisable: "이 인터페이스는 API 호출을 금지합니다: {{ .detail }}"
|
||||
ErrApiConfigKeyTimeInvalid: "API 인터페이스 타임스탬프 오류: {{ .detail }}"
|
||||
ErrInvalidParams: '요청 매개변수 오류: {{ .detail }}'
|
||||
ErrTokenParse: '토큰 생성 오류: {{ .detail }}'
|
||||
ErrInitialPassword: '원래 비밀번호가 올바르지 않습니다'
|
||||
ErrInternalServer: '내부 서버 오류: {{ .detail }}'
|
||||
ErrRecordExist: '레코드가 이미 존재합니다'
|
||||
ErrRecordNotFound: '레코드를 찾을 수 없습니다'
|
||||
ErrStructTransform: '유형 변환에 실패했습니다: {{ .err }}'
|
||||
ErrNotLogin: '사용자가 로그인하지 않았습니다: {{ .detail }}'
|
||||
ErrPasswordExpired: '현재 비밀번호가 만료되었습니다: {{ .detail }}'
|
||||
ErrNotSupportType: '시스템은 현재 유형 {{ .name }}을 지원하지 않습니다.'
|
||||
ErrProxy: '요청 오류, 노드 상태를 확인하세요: {{ .detail }}'
|
||||
ErrApiConfigStatusInvalid: 'API 인터페이스에 대한 액세스가 금지되었습니다: {{ .detail }}'
|
||||
ErrApiConfigKeyInvalid: 'API 인터페이스 키 오류: {{ .detail }}'
|
||||
ErrApiConfigIPInvalid: 'API 인터페이스를 호출하는 데 사용된 IP가 허용 목록에 없습니다: {{ .detail }}'
|
||||
ErrApiConfigDisable: '이 인터페이스는 API 인터페이스 호출 사용을 금지합니다: {{ .detail }}'
|
||||
ErrApiConfigKeyTimeInvalid: 'API 인터페이스 타임스탬프 오류: {{ .detail }}'
|
||||
|
||||
# 공통
|
||||
ErrUsernameIsExist: "사용자 이름이 이미 존재합니다"
|
||||
ErrNameIsExist: "이름이 이미 존재합니다"
|
||||
ErrDemoEnvironment: "데모 서버에서는 이 작업이 금지되어 있습니다!"
|
||||
ErrCmdTimeout: "명령어 실행 시간이 초과되었습니다!"
|
||||
ErrCmdIllegal: "명령어에 잘못된 문자가 포함되어 있습니다. 수정 후 다시 시도하세요!"
|
||||
ErrPortExist: '{{ .port }} 포트가 {{ .type }} [{{ .name }}]에 의해 이미 사용 중입니다'
|
||||
TYPE_APP: "애플리케이션"
|
||||
TYPE_RUNTIME: "실행 환경"
|
||||
TYPE_DOMAIN: "도메인 이름"
|
||||
ErrTypePort: '포트 {{ .name }} 형식 오류'
|
||||
ErrTypePortRange: '포트 범위는 1-65535 사이여야 합니다'
|
||||
Success: "성공"
|
||||
Failed: "실패"
|
||||
SystemRestart: "시스템 재시작으로 인해 작업이 중단되었습니다"
|
||||
ErrGroupIsDefault: "기본 그룹, 삭제할 수 없습니다"
|
||||
ErrGroupIsInWebsiteUse: "그룹이 다른 웹사이트에서 사용 중입니다, 삭제할 수 없습니다"
|
||||
#흔한
|
||||
ErrUsernameIsExist: '사용자 이름이 이미 존재합니다'
|
||||
ErrNameIsExist: '이름이 이미 존재합니다'
|
||||
ErrDemoEnvironment: '데모 서버, 이 작업은 금지되어 있습니다!'
|
||||
ErrCmdTimeout: '명령 실행 시간이 초과되었습니다!'
|
||||
ErrCmdIllegal: '실행 명령에 잘못된 문자가 있습니다. 수정하여 다시 시도하세요!'
|
||||
ErrPortExist: '{{ .port }} 포트는 이미 {{ .type }} [{{ .name }}]에 의해 사용되고 있습니다.'
|
||||
TYPE_APP: '응용 프로그램'
|
||||
TYPE_RUNTIME: '런타임 환경'
|
||||
TYPE_DOMAIN: '도메인 이름'
|
||||
ErrTypePort: '포트 {{ .name }} 형식이 올바르지 않습니다'
|
||||
ErrTypePortRange: '포트 범위는 1-65535 사이여야 합니다.'
|
||||
Success: '성공'
|
||||
Failed: '실패했습니다'
|
||||
SystemRestart: '시스템 재시작으로 인해 작업이 중단되었습니다'
|
||||
ErrGroupIsDefault: '기본 그룹, 삭제할 수 없습니다'
|
||||
ErrGroupIsInWebsiteUse: '그룹이 다른 웹사이트에서 사용 중이므로 삭제할 수 없습니다.'
|
||||
|
||||
# 애플리케이션
|
||||
ErrPortInUsed: "{{ .detail }} 포트가 이미 사용 중입니다"
|
||||
ErrAppLimit: "앱 설치 제한을 초과했습니다"
|
||||
ErrAppRequired: "{{ .detail }} 앱이 필요합니다"
|
||||
ErrNotInstall: "앱이 설치되지 않았습니다"
|
||||
ErrPortInOtherApp: "{{ .port }} 포트가 {{ .apps }} 앱에 의해 이미 사용 중입니다"
|
||||
ErrDbUserNotValid: "데이터베이스 사용자 이름과 비밀번호가 일치하지 않습니다!"
|
||||
ErrDockerComposeNotValid: "docker-compose 파일 형식 오류!"
|
||||
ErrUpdateBuWebsite: "애플리케이션이 성공적으로 업데이트되었지만, 웹사이트 구성 파일 수정에 실패했습니다. 구성을 확인하세요!"
|
||||
Err1PanelNetworkFailed: "기본 컨테이너 네트워크 생성 실패! {{ .detail }}"
|
||||
ErrFileParse: "애플리케이션 docker-compose 파일 분석 실패!"
|
||||
ErrInstallDirNotFound: "설치 디렉터리가 존재하지 않습니다"
|
||||
AppStoreIsUpToDate: "최신 상태입니다"
|
||||
LocalAppVersionNull: "{{.name}} 앱 버전이 동기화되지 않았습니다! 애플리케이션 목록에 추가할 수 없습니다"
|
||||
LocalAppVersionErr: "{{.name}} 버전 {{.version}} 동기화 실패! {{.err}}"
|
||||
ErrFileNotFound: "{{.name}} 파일이 존재하지 않습니다"
|
||||
ErrFileParseApp: "{{.name}} 파일 분석 실패 {{.err}}"
|
||||
ErrAppDirNull: "버전 폴더가 존재하지 않습니다"
|
||||
LocalAppErr: "앱 {{.name}} 동기화 실패! {{.err}}"
|
||||
ErrContainerName: "컨테이너 이름이 이미 존재합니다"
|
||||
ErrAppSystemRestart: "1Panel 재시작으로 인해 작업이 중단되었습니다"
|
||||
ErrCreateHttpClient: "HTTP 요청 생성 실패 {{.err}}"
|
||||
ErrHttpReqTimeOut: "요청 시간이 초과되었습니다 {{.err}}"
|
||||
ErrHttpReqFailed: "요청 실패 {{.err}}"
|
||||
ErrHttpReqNotFound: "파일이 존재하지 않습니다"
|
||||
ErrNoSuchHost: "네트워크 연결 실패"
|
||||
ErrImagePullTimeOut: "이미지 가져오기 시간 초과"
|
||||
ErrContainerNotFound: "{{ .name }} 컨테이너가 존재하지 않습니다"
|
||||
ErrContainerMsg: "{{ .name }} 컨테이너가 비정상적입니다. 자세한 내용은 컨테이너 페이지의 로그를 확인하세요"
|
||||
ErrAppBackup: "{{ .name }} 애플리케이션 백업 실패 오류 {{.err}}"
|
||||
ErrImagePull: "{{ .name }} 이미지 가져오기 실패 오류 {{.err}}"
|
||||
ErrVersionTooLow: "현재 1Panel 버전이 낮아 앱 스토어를 업데이트할 수 없습니다. 버전을 업그레이드하세요"
|
||||
ErrAppNameExist: "앱 이름이 이미 존재합니다"
|
||||
AppStoreIsSyncing: "앱 스토어가 동기화 중입니다. 나중에 다시 시도하세요"
|
||||
ErrGetCompose: "docker-compose.yml 파일 가져오기 실패! {{ .detail }}"
|
||||
ErrAppWarn: "비정상 상태, 로그를 확인하세요"
|
||||
ErrAppParamKey: "매개변수 {{ .name }} 필드 예외"
|
||||
ErrAppUpgrade: "애플리케이션 {{ .name }} 업그레이드 실패 {{ .err }}"
|
||||
AppRecover: "앱 {{ .name }} 롤백 완료"
|
||||
PullImageStart: "이미지 {{ .name }} 가져오기 시작"
|
||||
PullImageSuccess: "이미지 가져오기 성공"
|
||||
UpgradeAppStart: "애플리케이션 {{ .name }} 업그레이드 시작"
|
||||
UpgradeAppSuccess: "앱 {{ .name }} 업그레이드 성공"
|
||||
ErrAppIsDown: "{{ .name }} 애플리케이션 상태가 비정상입니다. 확인하세요"
|
||||
#지원
|
||||
ErrBackupInUsed: '백업 계정이 예약된 작업에 사용되었으므로 삭제할 수 없습니다.'
|
||||
ErrBackupCheck: '백업 계정 테스트 연결에 실패했습니다 {{ .err }}'
|
||||
ErrBackupLocalDelete: '로컬 서버 백업 계정 삭제는 아직 지원되지 않습니다.'
|
||||
ErrBackupLocalCreate: '로컬 서버 백업 계정 생성은 아직 지원되지 않습니다.'
|
||||
|
||||
# 파일
|
||||
ErrFileCanNotRead: "파일을 읽을 수 없습니다"
|
||||
ErrFileToLarge: "파일이 너무 큽니다"
|
||||
ErrPathNotFound: "경로를 찾을 수 없습니다"
|
||||
ErrMovePathFailed: "대상 경로가 원래 경로를 포함할 수 없습니다!"
|
||||
ErrLinkPathNotFound: "대상 경로가 존재하지 않습니다!"
|
||||
ErrFileIsExist: "파일 또는 디렉터리가 이미 존재합니다!"
|
||||
ErrFileUpload: "파일 업로드 실패 {{.name}} {{.detail}}"
|
||||
ErrFileDownloadDir: "다운로드 폴더는 지원되지 않습니다"
|
||||
ErrCmdNotFound: "{{ .name }} 명령이 존재하지 않습니다. 호스트에 이 명령을 먼저 설치하세요"
|
||||
ErrSourcePathNotFound: "소스 디렉터리가 존재하지 않습니다"
|
||||
ErrFavoriteExist: "이 경로는 이미 즐겨찾기에 추가되었습니다"
|
||||
ErrInvalidChar: "잘못된 문자는 금지됩니다"
|
||||
ErrPathNotDelete: "선택한 디렉터리는 삭제할 수 없습니다"
|
||||
#앱
|
||||
ErrPortInUsed: '{{ .detail }} 포트가 이미 사용 중입니다!'
|
||||
ErrAppLimit: '설치된 애플리케이션 수가 한도를 초과했습니다'
|
||||
ErrAppRequired: '먼저 {{ .detail }} 애플리케이션을 설치하세요'
|
||||
ErrNotInstall: '응용 프로그램이 설치되지 않았습니다'
|
||||
ErrPortInOtherApp: '{{ .port }} 포트는 이미 {{ .apps }} 애플리케이션에 의해 사용되고 있습니다!'
|
||||
ErrDbUserNotValid: '기존 데이터베이스, 사용자 이름 및 비밀번호가 일치하지 않습니다!'
|
||||
ErrDockerComposeNotValid: 'docker-compose 파일 형식이 올바르지 않습니다'
|
||||
ErrUpdateBuWebsite: '응용 프로그램이 성공적으로 업데이트되었지만, 웹사이트 구성 파일 수정에 실패했습니다. 구성을 확인하세요! '
|
||||
Err1PanelNetworkFailed: '기본 컨테이너 네트워크 생성에 실패했습니다! {{ .세부 사항 }}'
|
||||
ErrFileParse: '응용 프로그램 docker-compose 파일 구문 분석에 실패했습니다!'
|
||||
ErrInstallDirNotFound: '설치 디렉토리가 존재하지 않습니다. 제거를 원하실 경우 강제 제거 를 선택해주세요.'
|
||||
AppStoreIsUpToDate: '앱 스토어가 이미 최신 버전입니다'
|
||||
LocalAppVersionNull: '{{ .name }} 애플리케이션이 버전과 동기화되지 않았습니다! 앱 목록에 추가할 수 없습니다.'
|
||||
LocalAppVersionErr: '{{ .name }} 동기화 버전 {{ .version }}이 실패했습니다! {{ .err }}'
|
||||
ErrFileNotFound: '{{ .name }} 파일이 존재하지 않습니다'
|
||||
ErrFileParseApp: '{{ .name }} 파일 구문 분석에 실패했습니다 {{ .err }}'
|
||||
ErrAppDirNull: '버전 폴더가 존재하지 않습니다'
|
||||
LocalAppErr: '애플리케이션 {{ .name }} 동기화에 실패했습니다! {{ .err }}'
|
||||
ErrContainerName: '컨테이너 이름이 이미 존재합니다'
|
||||
ErrAppSystemRestart: '1패널 재시작으로 인해 작업이 종료되었습니다'
|
||||
ErrCreateHttpClient: '요청 {{ .err }}을(를) 생성하지 못했습니다.'
|
||||
ErrHttpReqTimeOut: '요청 시간이 초과되었습니다 {{ .err }}'
|
||||
ErrHttpReqFailed: '요청이 실패했습니다 {{ .err }}'
|
||||
ErrNoSuchHost: '요청한 서버 {{ .err }}을 찾을 수 없습니다'
|
||||
ErrHttpReqNotFound: '요청한 리소스 {{ .err }}을 찾을 수 없습니다.'
|
||||
ErrImagePullTimeOut: '이미지 풀링 시간 초과'
|
||||
ErrContainerNotFound: '{{ .name }} 컨테이너가 존재하지 않습니다'
|
||||
ErrContainerMsg: '{{ .name }} 컨테이너가 비정상입니다. 자세한 내용은 컨테이너 페이지의 로그를 확인하세요.'
|
||||
ErrAppBackup: '{{ .name }} 애플리케이션 백업에 실패했습니다 {{ .err }}'
|
||||
ErrImagePull: '이미지 가져오기에 실패했습니다 {{ .err }}'
|
||||
ErrVersionTooLow: '현재 1Panel 버전이 너무 낮아 App Store를 업데이트할 수 없습니다. 작동하시기 전에 버전을 업그레이드하세요.'
|
||||
ErrAppNameExist: '응용 프로그램 이름이 이미 존재합니다'
|
||||
AppStoreIsSyncing: 'App Store가 동기화 중입니다. 나중에 다시 시도하세요.'
|
||||
ErrGetCompose: 'docker-compose.yml 파일을 가져오지 못했습니다! {{ .detail }}'
|
||||
ErrAppWarn: '비정상적인 상태입니다. 로그를 확인해 주세요.'
|
||||
ErrAppParamKey: '매개변수 {{ .name }} 필드가 비정상입니다.'
|
||||
ErrAppUpgrade: '애플리케이션 {{ .name }} 업그레이드에 실패했습니다 {{ .err }}'
|
||||
AppRecover: '롤백 애플리케이션 {{ .name }}'
|
||||
PullImageStart: '이미지 {{ .name }} 가져오기 시작'
|
||||
PullImageSuccess: '이미지 가져오기 성공'
|
||||
UpgradeAppStart: '애플리케이션 {{ .name }} 업그레이드 시작'
|
||||
UpgradeAppSuccess: '애플리케이션 {{ .name }}이 성공적으로 업그레이드되었습니다.'
|
||||
AppStoreIsLastVersion: '앱스토어가 이미 최신 버전입니다'
|
||||
AppStoreSyncSuccess: '앱스토어 동기화 성공'
|
||||
SyncAppDetail: '애플리케이션 구성 동기화'
|
||||
AppVersionNotMatch: '{{ .name }} 애플리케이션에 더 높은 1Panel 버전이 필요하므로 동기화를 건너뜁니다.'
|
||||
MoveSiteDir: '현재 업그레이드에는 OpenResty 웹사이트 디렉토리 마이그레이션이 필요합니다.'
|
||||
MoveSiteToDir: '사이트 디렉토리를 {{ .name }}로 마이그레이션'
|
||||
ErrMoveSiteDir: '사이트 디렉토리를 마이그레이션하지 못했습니다'
|
||||
MoveSiteDirSuccess: '웹사이트 디렉토리 마이그레이션 성공'
|
||||
DeleteRuntimePHP: 'PHP 런타임 삭제'
|
||||
CustomAppStoreNotConfig: '앱 스토어에서 오프라인 패키지 주소를 설정해주세요'
|
||||
CustomAppStoreNotFound: '앱 스토어 패키지를 가져오지 못했습니다. 해당 패키지가 있는지 확인하세요'
|
||||
CustomAppStoreFileValid: '앱 스토어 패키지는 .tar.gz 형식이어야 합니다.'
|
||||
PullImageTimeout: '이미지 가져오기 시간 초과, 이미지 가속을 높이거나 다른 이미지 가속으로 변경해 보세요.'
|
||||
ErrAppIsDown: '{{ .name }} 애플리케이션 상태가 비정상적입니다. 확인해 주세요'
|
||||
ErrCustomApps: '설치된 애플리케이션이 있습니다. 먼저 제거해 주세요'
|
||||
ErrCustomRuntimes: '설치된 런타임 환경이 있습니다. 먼저 삭제해 주세요'
|
||||
|
||||
# 웹사이트
|
||||
ErrDomainIsExist: "도메인 이름이 이미 존재합니다"
|
||||
ErrAliasIsExist: "별칭이 이미 존재합니다"
|
||||
ErrAppDelete: "다른 웹사이트에서 이 애플리케이션을 사용 중입니다"
|
||||
ErrGroupIsUsed: "그룹이 사용 중이므로 삭제할 수 없습니다"
|
||||
ErrBackupMatch: "백업 파일이 현재 웹사이트 데이터와 일치하지 않습니다: {{ .detail }}"
|
||||
ErrBackupExist: "백업 파일이 원본 데이터의 일부와 일치하지 않습니다: {{ .detail }}"
|
||||
ErrPHPResource: "로컬 런타임에서 전환을 지원하지 않습니다!"
|
||||
ErrPathPermission: "인덱스 디렉터리에 1000:1000 권한이 아닌 폴더가 감지되었습니다. 웹사이트 액세스 시 '접근 거부' 오류가 발생할 수 있습니다. 상단의 저장 버튼을 클릭하세요"
|
||||
ErrDomainIsUsed: "도메인이 웹사이트 {{ .name }}에서 이미 사용 중입니다"
|
||||
ErrDomainFormat: "{{ .name }} 도메인 형식 오류"
|
||||
ErrDefaultAlias: "기본은 예약된 코드 이름입니다. 다른 이름을 사용하세요"
|
||||
ErrImageNotExist: "실행 환경 {{.name}} 이미지가 존재하지 않습니다. 실행 환경을 다시 편집하세요"
|
||||
#파일
|
||||
ErrFileCanNotRead: '이 파일은 미리보기를 지원하지 않습니다'
|
||||
ErrFileToLarge: '파일이 10M보다 커서 열 수 없습니다'
|
||||
ErrPathNotFound: '디렉토리가 존재하지 않습니다'
|
||||
ErrMovePathFailed: '대상 경로에는 원래 경로가 포함될 수 없습니다!'
|
||||
ErrLinkPathNotFound: '대상 경로가 존재하지 않습니다!'
|
||||
ErrFileIsExist: '파일이나 폴더가 이미 존재합니다!'
|
||||
ErrFileUpload: '{{ .name }}이 파일 {{ .detail }}을 업로드하지 못했습니다.'
|
||||
ErrFileDownloadDir: '다운로드 폴더가 지원되지 않습니다'
|
||||
ErrCmdNotFound: '{{ .name}} 명령이 존재하지 않습니다. 먼저 호스트에 이 명령을 설치하세요'
|
||||
ErrSourcePathNotFound: '소스 디렉토리가 존재하지 않습니다'
|
||||
ErrFavoriteExist: '이 경로는 이미 즐겨찾기되었습니다'
|
||||
ErrInvalidChar: '불법 문자는 허용되지 않습니다'
|
||||
ErrPathNotDelete: '선택한 디렉토리를 삭제할 수 없습니다'
|
||||
|
||||
# SSL 관련
|
||||
ErrSSLCannotDelete: "인증서 {{ .name }}은(는) 웹사이트에서 사용 중이므로 삭제할 수 없습니다."
|
||||
ErrAccountCannotDelete: "계정과 연결된 인증서는 삭제할 수 없습니다."
|
||||
ErrSSLApply: "인증서가 성공적으로 서명되었지만 Openresty 다시 로드에 실패했습니다. 구성을 확인하세요!"
|
||||
ErrEmailIsExist: "이메일이 이미 존재합니다."
|
||||
ErrSSLKeyNotFound: "개인 키 파일이 존재하지 않습니다."
|
||||
ErrSSLCertificateNotFound: "인증서 파일이 존재하지 않습니다."
|
||||
ErrSSLKeyFormat: "개인 키 파일 검증 오류"
|
||||
ErrSSLCertificateFormat: "인증서 파일 형식 오류입니다. pem 형식을 사용하세요."
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: "EabKid 또는 EabHmacKey 는 비워둘 수 없습니다."
|
||||
ErrOpenrestyNotFound: "HTTP 모드는 먼저 Openresty 를 설치해야 합니다."
|
||||
ApplySSLStart: "인증서를 신청하기 시작합니다. 도메인 이름 [{{ .domain }}], 신청 방법 [{{ .type }}]"
|
||||
dnsAccount: "DNS 자동"
|
||||
dnsManual: "DNS 수동"
|
||||
http: "HTTP"
|
||||
ApplySSLFailed: "도메인 [{{ .domain }}] 인증서 신청 실패, {{ .detail }}"
|
||||
ApplySSLSuccess: "도메인 [{{ .domain }}] 인증서 신청 성공!"
|
||||
DNSAccountName: "DNS 계정 [{{ .name }}] 제조사 [{{ .type }}]"
|
||||
PushDirLog: "인증서를 디렉토리 [{{ .path }}]에 푸시했습니다. {{ .status }}"
|
||||
ErrDeleteCAWithSSL: "현재 조직에 발급된 인증서가 있으므로 삭제할 수 없습니다."
|
||||
ErrDeleteWithPanelSSL: "패널 SSL 구성이 이 인증서를 사용 중이므로 삭제할 수 없습니다."
|
||||
ErrDefaultCA: "기본 인증 기관은 삭제할 수 없습니다."
|
||||
ApplyWebSiteSSLLog: "{{ .name }} 웹사이트 인증서를 업데이트하기 시작합니다."
|
||||
ErrUpdateWebsiteSSL: "{{ .name }} 웹사이트 인증서 업데이트 실패: {{ .err }}"
|
||||
ApplyWebSiteSSLSuccess: "웹사이트 인증서 업데이트 성공"
|
||||
ErrExecShell: "스크립트 실행 실패 {{ .err }}"
|
||||
ExecShellStart: "스크립트 실행 시작"
|
||||
ExecShellSuccess: "스크립트 실행 성공"
|
||||
StartUpdateSystemSSL: "시스템 인증서 업데이트 시작"
|
||||
UpdateSystemSSLSuccess: "시스템 인증서 업데이트 성공"
|
||||
#웹사이트
|
||||
ErrDomainIsExist: '도메인 이름이 이미 존재합니다'
|
||||
ErrAliasIsExist: '별칭이 이미 존재합니다'
|
||||
ErrAppDelete: '다른 웹사이트에서 이 앱을 사용하고 있어 삭제할 수 없습니다'
|
||||
ErrBackupMatch: '백업 파일이 현재 웹사이트 데이터 중 일부 {{ .detail }}와 일치하지 않습니다.'
|
||||
ErrBackupExist: '백업 파일에 있는 소스 데이터의 해당 부분이 존재하지 않습니다 {{ .detail }}'
|
||||
ErrPHPResource: '로컬 운영 환경이 전환을 지원하지 않습니다! '
|
||||
ErrPathPermission: '인덱스 디렉토리에서 1000:1000이 아닌 권한을 가진 폴더가 감지되었습니다. 이로 인해 웹사이트에서 액세스 거부 오류가 발생할 수 있습니다. 위의 저장 버튼을 클릭해주세요.'
|
||||
ErrDomainIsUsed: '[{{ .name }}] 웹사이트에서 이미 도메인 이름을 사용하고 있습니다.'
|
||||
ErrDomainFormat: '{{ .name }} 도메인 이름 형식이 올바르지 않습니다'
|
||||
ErrDefaultAlias: '기본값은 예약된 코드입니다. 다른 코드를 사용하세요'
|
||||
ErrParentWebsite: '먼저 하위 사이트 {{ .name }}을 삭제해야 합니다.'
|
||||
ErrBuildDirNotFound: '빌드 디렉토리가 존재하지 않습니다'
|
||||
ErrImageNotExist: '운영 환경 {{ .name }} 이미지가 존재하지 않습니다. 운영 환경을 다시 편집하세요.'
|
||||
|
||||
# MySQL
|
||||
ErrUserIsExist: "현재 사용자가 이미 존재합니다. 새로운 사용자를 입력하세요."
|
||||
ErrDatabaseIsExist: "현재 데이터베이스가 이미 존재합니다. 새로운 데이터베이스를 입력하세요."
|
||||
ErrExecTimeOut: "SQL 실행이 시간 초과되었습니다. 데이터베이스를 확인하세요."
|
||||
ErrRemoteExist: "원격 데이터베이스에 동일한 이름이 이미 존재합니다. 이름을 수정한 후 다시 시도하세요."
|
||||
ErrLocalExist: "로컬 데이터베이스에 동일한 이름이 이미 존재합니다. 이름을 수정한 후 다시 시도하세요."
|
||||
#SSL인증
|
||||
ErrSSLCannotDelete: '{{ .name }} 인증서는 웹사이트에서 사용 중이므로 삭제할 수 없습니다.'
|
||||
ErrAccountCannotDelete: '계정이 인증서와 연결되어 있어 삭제할 수 없습니다.'
|
||||
ErrSSLApply: '인증서 갱신이 성공했으나, openresty 재로드에 실패했습니다. 구성을 확인해 주세요!'
|
||||
ErrEmailIsExist: '사서함이 이미 존재합니다'
|
||||
ErrSSLKeyNotFound: '개인 키 파일이 존재하지 않습니다'
|
||||
ErrSSLCertificateNotFound: '인증서 파일이 존재하지 않습니다'
|
||||
ErrSSLKeyFormat: '개인 키 파일 검증에 실패했습니다'
|
||||
ErrSSLCertificateFormat: '인증서 파일 형식이 올바르지 않습니다. pem 형식을 사용하세요.'
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid 또는 EabHmacKey는 비워둘 수 없습니다'
|
||||
ErrOpenrestyNotFound: 'Http 모드를 사용하려면 먼저 Openresty를 설치해야 합니다.'
|
||||
ApplySSLStart: '인증서 신청 시작, 도메인 이름 [{{ .domain }}] 신청 방법 [{{ .type }}] '
|
||||
dnsAccount: 'DNS 자동'
|
||||
dnsManual: 'DNS 매뉴얼'
|
||||
http: 'HTTP'
|
||||
ApplySSLFailed: '[{{ .domain }}] 인증서 신청이 실패했습니다. {{ .detail }} '
|
||||
ApplySSLSuccess: '[{{ .domain }}] 인증서 신청이 성공적으로 완료되었습니다! ! '
|
||||
DNSAccountName: 'DNS 계정 [{{ .name }}] 공급업체 [{{ .type }}]'
|
||||
PushDirLog: '인증서가 [{{ .path }}] {{ .status }} 디렉토리로 푸시되었습니다.'
|
||||
ErrDeleteCAWithSSL: '현재 조직에는 발급된 인증서가 있어 삭제할 수 없습니다.'
|
||||
ErrDeleteWithPanelSSL: '패널 SSL 구성은 이 인증서를 사용하므로 삭제할 수 없습니다.'
|
||||
ErrDefaultCA: '기본 권한을 삭제할 수 없습니다'
|
||||
ApplyWebSiteSSLLog: '{{ .name }} 웹사이트 인증서 갱신 시작'
|
||||
ErrUpdateWebsiteSSL: '{{ .name }} 웹사이트 인증서 업데이트에 실패했습니다: {{ .err }}'
|
||||
ApplyWebSiteSSLSuccess: '웹사이트 인증서 업데이트 성공'
|
||||
ErrExecShell: '스크립트 {{ .err }}을 실행하지 못했습니다.'
|
||||
ExecShellStart: '스크립트 실행 시작'
|
||||
ExecShellSuccess: '스크립트 실행 성공'
|
||||
StartUpdateSystemSSL: '시스템 인증서 업데이트 시작'
|
||||
UpdateSystemSSLSuccess: '시스템 인증서 업데이트가 성공적으로 완료되었습니다.'
|
||||
ErrWildcardDomain: 'HTTP 모드에서 와일드카드 도메인 이름 인증서를 신청할 수 없습니다'
|
||||
|
||||
# Redis
|
||||
ErrTypeOfRedis: "복구 파일 형식이 현재 지속성 모드와 일치하지 않습니다. 파일 형식을 수정한 후 다시 시도하세요."
|
||||
#마이SQL
|
||||
ErrUserIsExist: '현재 사용자가 이미 존재합니다. 다시 입력하세요'
|
||||
ErrDatabaseIsExist: '현재 데이터베이스가 이미 존재합니다. 다시 입력하세요'
|
||||
ErrExecTimeOut: 'SQL 실행 시간이 초과되었습니다. 데이터베이스를 확인하십시오.'
|
||||
ErrRemoteExist: '이 이름을 가진 원격 데이터베이스가 이미 존재합니다. 수정하고 다시 시도하세요'
|
||||
ErrLocalExist: '이름이 로컬 데이터베이스에 이미 존재합니다. 이름을 수정하고 다시 시도하세요'
|
||||
|
||||
# Container
|
||||
ErrInUsed: "{{ .detail }}이(가) 사용 중이므로 삭제할 수 없습니다."
|
||||
ErrObjectInUsed: "이 객체는 사용 중이므로 삭제할 수 없습니다."
|
||||
ErrObjectBeDependent: "이 이미지는 다른 이미지에 의해 의존되고 있어 삭제할 수 없습니다."
|
||||
ErrPortRules: "포트 수가 일치하지 않습니다. 다시 입력하세요!"
|
||||
ErrPgImagePull: "이미지 가져오기 시간이 초과되었습니다. 이미지 가속 구성을 설정하거나 postgres:16.0-alpine 이미지를 수동으로 가져온 후 다시 시도하세요."
|
||||
#레디스
|
||||
ErrTypeOfRedis: '복구 파일 유형이 현재 지속성 방법과 일치하지 않습니다. 수정하고 다시 시도하세요'
|
||||
|
||||
# Runtime
|
||||
ErrDirNotFound: "빌드 폴더가 존재하지 않습니다! 파일의 무결성을 확인하세요!"
|
||||
ErrFileNotExist: "{{ .detail }} 파일이 존재하지 않습니다! 소스 파일의 무결성을 확인하세요!"
|
||||
ErrImageBuildErr: "이미지 빌드 실패"
|
||||
ErrImageExist: "이미지가 이미 존재합니다!"
|
||||
ErrDelWithWebsite: "운영 환경이 웹사이트와 연결되어 있어 삭제할 수 없습니다."
|
||||
ErrRuntimeStart: "실행 시작 실패"
|
||||
ErrPackageJsonNotFound: "package.json 파일이 존재하지 않습니다."
|
||||
ErrScriptsNotFound: "package.json 에서 스크립트 구성 항목을 찾을 수 없습니다."
|
||||
ErrContainerNameNotFound: "컨테이너 이름을 가져올 수 없습니다. .env 파일을 확인하세요."
|
||||
ErrNodeModulesNotFound: "node_modules 폴더가 존재하지 않습니다! 실행 환경을 편집하거나 실행 환경이 성공적으로 시작되기를 기다리세요."
|
||||
#컨테이너
|
||||
ErrInUsed: '{{ .detail }}이 사용 중이므로 삭제할 수 없습니다'
|
||||
ErrObjectInUsed: '개체가 사용 중이므로 삭제할 수 없습니다'
|
||||
ErrObjectBeDependent: '이 이미지는 다른 이미지에 의존하므로 삭제할 수 없습니다'
|
||||
ErrPortRules: '포트 번호가 일치하지 않습니다. 다시 입력하세요!'
|
||||
ErrPgImagePull: '이미지 풀링 시간이 초과되었습니다. 이미지 가속을 구성하거나 {{ .name }} 이미지를 수동으로 풀링한 다음 다시 시도하세요.'
|
||||
|
||||
# Setting
|
||||
ErrBackupInUsed: "백업 계정이 크론 작업에 사용 중이므로 삭제할 수 없습니다."
|
||||
ErrBackupCheck: "백업 계정 연결 테스트 실패 {{ .err }}"
|
||||
ErrOSSConn: "최신 버전을 가져올 수 없습니다. 서버가 외부 네트워크에 연결할 수 있는지 확인하세요."
|
||||
ErrEntrance: "보안 입구 정보 오류. 확인 후 다시 시도하세요!"
|
||||
#실행 시간
|
||||
ErrDirNotFound: '빌드 폴더가 존재하지 않습니다! 파일 무결성을 확인하세요!'
|
||||
ErrFileNotExist: '{{ .detail }} 파일이 존재하지 않습니다! 소스 파일의 무결성을 확인하세요!'
|
||||
ErrImageBuildErr: '이미지 빌드 실패'
|
||||
ErrImageExist: '이미지가 이미 존재합니다!'
|
||||
ErrDelWithWebsite: '운영 환경이 이미 웹사이트와 연결되어 있어 삭제할 수 없습니다'
|
||||
ErrRuntimeStart: '시작 실패'
|
||||
ErrPackageJsonNotFound: 'package.json 파일이 존재하지 않습니다'
|
||||
ErrScriptsNotFound: 'package.json에서 스크립트 구성 항목을 찾을 수 없습니다.'
|
||||
ErrContainerNameNotFound: '컨테이너 이름을 가져올 수 없습니다. .env 파일을 확인하세요.'
|
||||
ErrNodeModulesNotFound: 'node_modules 폴더가 없습니다! 런타임 환경을 편집하거나 런타임 환경이 성공적으로 시작될 때까지 기다리십시오'
|
||||
ErrContainerNameIsNull: '컨테이너 이름이 존재하지 않습니다'
|
||||
|
||||
# Tool
|
||||
ErrConfigNotFound: "구성 파일이 존재하지 않습니다."
|
||||
ErrConfigParse: "구성 파일 형식 오류"
|
||||
ErrConfigIsNull: "구성 파일은 비워둘 수 없습니다."
|
||||
ErrConfigDirNotFound: "실행 디렉토리가 존재하지 않습니다."
|
||||
ErrConfigAlreadyExist: "동일한 이름의 구성 파일이 이미 존재합니다."
|
||||
ErrUserFindErr: "사용자 {{ .name }} 찾기 실패 {{ .err }}"
|
||||
#도구
|
||||
ErrConfigNotFound: '구성 파일이 존재하지 않습니다'
|
||||
ErrConfigParse: '구성 파일 형식이 올바르지 않습니다'
|
||||
ErrConfigIsNull: '구성 파일은 비어 있을 수 없습니다'
|
||||
ErrConfigDirNotFound: '실행 디렉토리가 존재하지 않습니다'
|
||||
ErrConfigAlreadyExist: '같은 이름의 구성 파일이 이미 존재합니다'
|
||||
ErrUserFindErr: '사용자 {{ .name }} 검색에 실패했습니다 {{ .err }}'
|
||||
|
||||
# SSH
|
||||
ErrFirewallNone: "시스템에서 firewalld 또는 ufw 서비스를 감지하지 못했습니다. 확인 후 다시 시도하세요!"
|
||||
ErrFirewallBoth: "시스템에서 firewalld 와 ufw 서비스가 모두 감지되었습니다. 충돌을 방지하려면 하나를 제거한 후 다시 시도하세요!"
|
||||
#ssh
|
||||
ErrFirewallNone: '시스템 방화벽이나 ufw 서비스가 감지되지 않았습니다. 확인하고 다시 시도하세요!'
|
||||
ErrFirewallBoth: '시스템에 방화벽과 ufw 서비스가 모두 있는 것으로 감지되었습니다. 충돌을 피하려면 제거한 후 다시 시도하세요!'
|
||||
|
||||
# Cronjob
|
||||
ErrBashExecute: "스크립트 실행 오류. 작업 출력 텍스트 영역에서 구체적인 정보를 확인하세요."
|
||||
ErrCutWebsiteLog: "{{ .name }} 웹사이트 로그 자르기 실패, 오류 {{ .err }}"
|
||||
CutWebsiteLogSuccess: "{{ .name }} 웹사이트 로그 자르기 성공, 백업 경로 {{ .path }}"
|
||||
#크론잡
|
||||
ErrCutWebsiteLog: '{{ .name }} 웹사이트 로그 잘라내기에 실패했습니다. 오류 {{ .err }}'
|
||||
CutWebsiteLogSuccess: '{{ .name }} 웹사이트 로그가 성공적으로 잘렸습니다. 백업 경로 {{ .path }}'
|
||||
HandleShell: '스크립트 {{ .name }} 실행'
|
||||
HandleNtpSync: '시스템 시간 동기화'
|
||||
HandleSystemClean: '시스템 캐시 정리'
|
||||
|
||||
# Toolbox
|
||||
ErrNotExistUser: "현재 사용자가 존재하지 않습니다. 수정 후 다시 시도하세요!"
|
||||
ErrBanAction: "설정 실패, 현재 {{ .name }} 서비스가 사용할 수 없습니다. 확인 후 다시 시도하세요!"
|
||||
ErrClamdscanNotFound: "clamdscan 명령을 감지하지 못했습니다. 설치 문서를 참조하세요!"
|
||||
#도구상자
|
||||
ErrNotExistUser: '현재 사용자가 존재하지 않습니다. 수정한 후 다시 시도하세요!'
|
||||
ErrBanAction: '설정에 실패했습니다. 현재 {{ .name }} 서비스를 사용할 수 없습니다. 확인하고 다시 시도하세요!'
|
||||
ErrClamdscanNotFound: 'clamdscan 명령이 감지되지 않았습니다. 설명서를 참조하여 설치하세요!'
|
||||
|
||||
# WAF
|
||||
ErrScope: "이 설정의 수정은 지원되지 않습니다"
|
||||
ErrStateChange: "상태 변경 실패"
|
||||
ErrRuleExist: "규칙이 이미 존재합니다"
|
||||
ErrRuleNotExist: "규칙이 존재하지 않습니다"
|
||||
ErrParseIP: "IP 형식이 잘못되었습니다"
|
||||
ErrDefaultIP: "default는 예약된 이름입니다. 다른 이름을 사용하세요"
|
||||
ErrGroupInUse: "IP 그룹이 블랙리스트/화이트리스트에서 사용 중입니다. 삭제할 수 없습니다"
|
||||
ErrGroupExist: "IP 그룹 이름이 이미 존재합니다"
|
||||
ErrIPRange: "IP 범위가 잘못되었습니다"
|
||||
ErrIPExist: "IP가 이미 존재합니다"
|
||||
urlDefense: "URL 규칙"
|
||||
urlHelper: "금지된 URL"
|
||||
dirFilter: "디렉토리 필터"
|
||||
xss: "XSS"
|
||||
phpExec: "PHP 스크립트 실행"
|
||||
oneWordTrojan: "원워드 트로이 목마"
|
||||
appFilter: "애플리케이션 위험 디렉토리 필터"
|
||||
webshell: "Webshell"
|
||||
args: "매개변수 규칙"
|
||||
protocolFilter: "프로토콜 필터"
|
||||
javaFileter: "Java 위험 파일 필터"
|
||||
scannerFilter: "스캐너 필터"
|
||||
escapeFilter: "이스케이프 필터"
|
||||
customRule: "사용자 정의 규칙"
|
||||
httpMethod: "HTTP 메소드 필터"
|
||||
fileExt: "파일 업로드 제한"
|
||||
defaultIpBlack: "악성 IP 그룹"
|
||||
cookie: "쿠키 규칙"
|
||||
urlBlack: "URL 블랙리스트"
|
||||
uaBlack: "User-Agent 블랙리스트"
|
||||
attackCount: "공격 빈도 제한"
|
||||
fileExtCheck: "파일 업로드 제한"
|
||||
geoRestrict: "지역 접근 제한"
|
||||
unknownWebsite: "무단 도메인 접근"
|
||||
notFoundCount: "404 빈도 제한"
|
||||
headerDefense: "헤더 규칙"
|
||||
defaultUaBlack: "User-Agent 규칙"
|
||||
methodWhite: "HTTP 규칙"
|
||||
captcha: "인간-기계 검증"
|
||||
fiveSeconds: "5초 검증"
|
||||
vulnCheck: "보충 규칙"
|
||||
acl: "사용자 정의 규칙"
|
||||
sql: "SQL 인젝션"
|
||||
cc: "접근 빈도 제한"
|
||||
defaultUrlBlack: "URL 규칙"
|
||||
sqlInject: "SQL 인젝션"
|
||||
ErrDBNotExist: "데이터베이스가 존재하지 않습니다"
|
||||
allow: "허용"
|
||||
deny: "금지"
|
||||
#와프
|
||||
ErrScope: '이 구성을 수정하는 것은 지원되지 않습니다'
|
||||
ErrStateChange: '상태 변경에 실패했습니다'
|
||||
ErrRuleExist: '규칙이 이미 존재합니다'
|
||||
ErrRuleNotExist: '규칙이 존재하지 않습니다'
|
||||
ErrParseIP: '잘못된 IP 형식'
|
||||
ErrDefaultIP: '기본값은 예약된 이름입니다. 다른 이름으로 변경해 주세요'
|
||||
ErrGroupInUse: 'IP 그룹이 블랙리스트/화이트리스트에 사용 중이므로 삭제할 수 없습니다.'
|
||||
ErrGroupExist: 'IP 그룹 이름이 이미 존재합니다'
|
||||
ErrIPRange: '잘못된 IP 범위'
|
||||
ErrIPExist: 'IP가 이미 존재합니다'
|
||||
urlDefense: 'URL 규칙'
|
||||
urlHelper: '금지된 URL'
|
||||
dirFilter: '디렉토리 필터'
|
||||
xss: 'XSS'
|
||||
phpExec: 'PHP 스크립트 실행'
|
||||
oneWordTrojan: '한 단어 트로이'
|
||||
appFilter: '위험한 디렉토리 필터링 적용'
|
||||
webshell: '웹쉘'
|
||||
args: '매개변수 규칙'
|
||||
protocolFilter: '프로토콜 필터링'
|
||||
javaFileter: 'Java 위험 파일 필터'
|
||||
scannerFilter: '스캐너 필터'
|
||||
escapeFilter: '탈출 필터'
|
||||
customRule: '사용자 정의 규칙'
|
||||
httpMethod: 'HTTP 메서드 필터링'
|
||||
fileExt: '파일 업로드 제한'
|
||||
defaultIpBlack: '악성 IP 그룹'
|
||||
cookie: '쿠키 규칙'
|
||||
urlBlack: 'URL 블랙리스트'
|
||||
uaBlack: '사용자 에이전트 블랙리스트'
|
||||
attackCount: '공격 빈도 제한'
|
||||
fileExtCheck: '파일 업로드 제한'
|
||||
geoRestrict: '지역 접근 제한'
|
||||
unknownWebsite: '허가받지 않은 도메인 이름 접근'
|
||||
notFoundCount: '404 속도 제한'
|
||||
headerDefense: '헤더 규칙'
|
||||
defaultUaBlack: '사용자 에이전트 규칙'
|
||||
methodWhite: 'HTTP 규칙'
|
||||
captcha: '인간-기계 검증'
|
||||
fiveSeconds: '5초 검증'
|
||||
vulnCheck: '보충 규칙'
|
||||
acl: '사용자 정의 규칙'
|
||||
sql: 'SQL 주입'
|
||||
cc: '접근 주파수 제한'
|
||||
defaultUrlBlack: 'URL 규칙'
|
||||
sqlInject: 'SQL 주입'
|
||||
ErrDBNotExist: '데이터베이스가 존재하지 않습니다'
|
||||
allow: '허용하다'
|
||||
deny: '거부하다'
|
||||
OpenrestyNotFound: 'Openresty가 설치되지 않았습니다'
|
||||
|
||||
# License
|
||||
ErrLicense: "라이선스 형식 오류, 확인 후 다시 시도하세요!"
|
||||
ErrLicenseCheck: "라이선스 검증 실패, 확인 후 다시 시도하세요!"
|
||||
ErrXpackVersion: "라이선스 검증 실패, 이 라이선스는 버전 제한이 있어 성공적으로 가져올 수 없습니다. 확인 후 다시 시도하세요!"
|
||||
ErrLicenseSave: "라이선스 정보 저장 실패, 오류 {{ .err }}. 다시 시도하세요!"
|
||||
ErrLicenseSync: "라이선스 정보 동기화 실패, 데이터베이스에서 라이선스 정보를 감지하지 못했습니다!"
|
||||
ErrXpackNotFound: "이 섹션은 전문가 버전 기능입니다. Panel 설정 - 라이선스 인터페이스에서 먼저 라이선스를 가져오세요."
|
||||
ErrXpackNotActive: "이 섹션은 전문가 버전 기능입니다. Panel 설정 - 라이선스 인터페이스에서 먼저 라이선스 상태를 동기화하세요."
|
||||
ErrXpackOutOfDate: "현재 라이선스가 만료되었습니다. Panel 설정 - 라이선스 인터페이스에서 라이선스를 다시 가져오세요."
|
||||
ErrXpackLost: "라이선스가 최대 재시도 횟수에 도달했습니다. [설정] - [라이선스] 페이지로 이동하여 동기화 버튼을 수동으로 클릭해 전문가 버전 기능을 정상적으로 작동시키세요."
|
||||
ErrXpackTimeout: "요청 시간이 초과되었습니다. 네트워크 연결이 불안정할 수 있으니 나중에 다시 시도하세요!"
|
||||
#일
|
||||
TaskStart: '[START] {{ .name }} 작업이 시작됩니다.'
|
||||
TaskEnd: '{{ .name }} 작업이 완료되었습니다 [완료]'
|
||||
TaskFailed: '{{ .name }} 작업이 실패했습니다'
|
||||
TaskTimeout: '{{ .name }}의 시간이 초과되었습니다'
|
||||
TaskSuccess: '{{ .name }} 작업이 성공했습니다'
|
||||
TaskRetry: '{{ .name }}번째 재시도 시작'
|
||||
SubTaskSuccess: '{{ .name }}이 성공했습니다'
|
||||
SubTaskFailed: '{{ .name }}이 실패했습니다: {{ .err }}'
|
||||
TaskInstall: '설치'
|
||||
TaskUninstall: '제거'
|
||||
TaskCreate: '생성'
|
||||
TaskDelete: '삭제'
|
||||
TaskUpgrade: '업그레이드'
|
||||
TaskUpdate: '업데이트'
|
||||
TaskRestart: '다시 시작'
|
||||
TaskBackup: '백업'
|
||||
TaskRecover: '복구'
|
||||
TaskRollback: '롤백'
|
||||
TaskPull: '당기기'
|
||||
TaskBuild: '빌드'
|
||||
TaskPush: '푸시'
|
||||
TaskHandle: '실행'
|
||||
Website: '웹사이트'
|
||||
App: '애플리케이션'
|
||||
Runtime: '런타임 환경'
|
||||
Database: '데이터베이스'
|
||||
ConfigFTP: 'FTP 사용자 {{ .name }} 생성'
|
||||
ConfigOpenresty: 'Openresty 구성 파일 생성'
|
||||
InstallAppSuccess: '애플리케이션 {{ .name }}이 성공적으로 설치되었습니다.'
|
||||
ConfigRuntime: '런타임 환경 구성'
|
||||
ConfigApp: '구성 애플리케이션'
|
||||
SuccessStatus: '{{ .name }}이 성공했습니다'
|
||||
FailedStatus: '{{ .name }}이(가) {{ .err }}에 실패했습니다'
|
||||
HandleLink: '핸들 애플리케이션 연결'
|
||||
HandleDatabaseApp: '애플리케이션 매개변수 처리'
|
||||
ExecShell: '{{ .name }} 스크립트 실행'
|
||||
PullImage: '이미지 가져오기'
|
||||
Start: '시작'
|
||||
Run: '시작'
|
||||
Stop: '정지'
|
||||
Image: '거울'
|
||||
Compose : '오케스트레이션'
|
||||
Container: '컨테이너'
|
||||
AppLink: '연결된 애플리케이션'
|
||||
EnableSSL: 'HTTPS 활성화'
|
||||
AppStore: '앱스토어'
|
||||
TaskSync: '동기화'
|
||||
LocalApp: '로컬 애플리케이션'
|
||||
SubTask: '하위 작업'
|
||||
RuntimeExtension: '런타임 환경 확장'
|
||||
TaskIsExecuting: '작업이 실행 중입니다'
|
||||
CustomAppstore: '사용자 정의 애플리케이션 웨어하우스'
|
||||
|
||||
# Alert
|
||||
ErrAlert: "알림 정보 형식 오류, 확인 후 다시 시도하세요!"
|
||||
ErrAlertPush: "알림 전송 오류, 확인 후 다시 시도하세요!"
|
||||
ErrAlertSave: "알림 저장 오류, 확인 후 다시 시도하세요!"
|
||||
ErrAlertSync: "알림 동기화 오류, 확인 후 다시 시도하세요!"
|
||||
ErrAlertRemote: "원격 알림 오류, 확인 후 다시 시도하세요!"
|
||||
# 작업 - ai
|
||||
OllamaModelPull: 'Ollama 모델 {{ .name }}을(를) 끌어오세요'
|
||||
OllamaModelSize: 'Ollama 모델 {{ .name }}의 크기를 가져옵니다'
|
||||
|
||||
# CMD
|
||||
AppVersion: "앱 버전"
|
||||
AppCommands: "앱 관련 명령어"
|
||||
AppInit: "앱 초기화"
|
||||
AppKeyVal: "앱 키 (영어만 지원)"
|
||||
AppCreateFileErr: "파일 {{ .name }} 생성 실패 {{ .err }}"
|
||||
AppCreateDirErr: "폴더 {{ .name }} 생성 실패 {{ .err }}"
|
||||
AppMissKey: "앱 키가 없습니다. -k 옵션으로 지정하세요."
|
||||
AppMissVersion: "앱 버전이 없습니다. -v 옵션으로 지정하세요."
|
||||
AppVersionExist: "버전이 이미 존재합니다!"
|
||||
AppCreateSuccessful: "생성 성공!"
|
||||
AppWriteErr: "파일 {{ .name }} 쓰기 실패 {{ .err }}"
|
||||
SudoHelper: "{{ .cmd }} 명령을 사용하거나 root 사용자로 전환하세요."
|
||||
ListenIPCommands: "IP 변경"
|
||||
ListenIPv4: "IPv4 에서 수신 대기"
|
||||
ListenIPv6: "IPv6 에서 수신 대기"
|
||||
ListenChangeSuccessful: "변경 성공! 현재 {{ .value }}에서 수신 대기 중입니다."
|
||||
ResetCommands: "시스템 정보 초기화"
|
||||
ResetMFA: "1Panel 이중 인증 취소"
|
||||
ResetHttps: "1Panel HTTPS 로그인 취소"
|
||||
ResetEntrance: "1Panel 보안 입구 취소"
|
||||
ResetIPs: "1Panel 허용 IP 제한 취소"
|
||||
ResetDomain: "1Panel 도메인 바인딩 취소"
|
||||
RestoreCommands: "1Panel 서비스 및 데이터 복구"
|
||||
RestoreNoSuchFile: "복구 가능한 파일이 없습니다."
|
||||
RestoreStep1: "(1/5) {{ .name }} 디렉토리에서 1Panel 서비스 및 데이터 복구 시작..."
|
||||
RestoreStep2: "(2/5) 1Panel 바이너리 복구 성공"
|
||||
RestoreStep3: "(3/5) 1Panel 스크립트 복구 성공"
|
||||
RestoreStep4: "(4/5) 1Panel 서비스 복구 성공"
|
||||
RestoreStep5: "(5/5) 1Panel 데이터 복구 성공"
|
||||
RestoreSuccessful: "복구 성공! 서비스를 다시 시작합니다. 잠시만 기다려주세요..."
|
||||
UpdateCommands: "패널 정보 업데이트"
|
||||
UpdateUser: "패널 사용자 업데이트"
|
||||
UpdatePassword: "패널 비밀번호 업데이트"
|
||||
UpdatePort: "패널 포트 업데이트"
|
||||
UpdateUserNull: "오류: 패널 사용자가 비어 있습니다!"
|
||||
UpdateUserBlank: "오류: 패널 사용자에 공백이 포함되어 있습니다!"
|
||||
UpdateUserFormat: "오류: 잘못된 패널 사용자 형식! 영어, 중국어, 숫자, _만 지원하며 길이는 3~30자입니다."
|
||||
UpdateUserErr: "오류: 패널 사용자 업데이트 실패 {{ .err }}"
|
||||
UpdateSuccessful: "업데이트 성공!"
|
||||
UpdateUserResult: "패널 사용자: {{ .name }}"
|
||||
UpdatePasswordRead: "오류: 패널 비밀번호 정보 읽기 실패 {{ .err }}"
|
||||
UpdatePasswordNull: "오류: 패널 비밀번호가 비어 있습니다!"
|
||||
UpdateUPasswordBlank: "오류: 패널 비밀번호에 공백이 포함되어 있습니다!"
|
||||
UpdatePasswordFormat: "오류: 패널 비밀번호는 문자, 숫자, 특수 문자 !@#$%*_,.?만 지원하며 길이는 8~30자입니다!"
|
||||
UpdatePasswordLen: "오류: 6자 이상의 비밀번호를 입력하세요!"
|
||||
UpdatePasswordRe: "비밀번호 확인:"
|
||||
UpdatePasswordErr: "오류: 패널 비밀번호 업데이트 실패 {{ .err }}"
|
||||
UpdatePasswordSame: "오류: 두 비밀번호가 일치하지 않습니다. 확인 후 다시 시도하세요!"
|
||||
UpdatePasswordResult: "패널 비밀번호: {{ .name }}"
|
||||
UpdatePortFormat: "오류: 입력한 포트 번호는 1~65535 사이여야 합니다!"
|
||||
UpdatePortUsed: "오류: 포트 번호가 이미 사용 중입니다. 확인 후 다시 시도하세요!"
|
||||
UpdatePortErr: "오류: 패널 포트 업데이트 실패 {{ .err }}"
|
||||
UpdatePortResult: "패널 포트: {{ .name }}"
|
||||
UpdatePortFirewallAdd: "방화벽 포트 규칙 추가 실패 {{ .err }}, 방화벽 규칙에 {{ .name }} 포트를 수동으로 추가하세요."
|
||||
UpdatePortFirewallDel: "오류: 방화벽 포트 삭제 실패 {{ .err }}"
|
||||
UpdatePortFirewallReload: "방화벽 다시 로드 실패 {{ .err }}, 방화벽을 수동으로 다시 로드하세요."
|
||||
UserInfo: "패널 정보 가져오기"
|
||||
UserInfoAddr: "패널 주소: "
|
||||
UserInfoPassHelp: "팁: 비밀번호를 변경하려면 다음 명령어를 실행할 수 있습니다: "
|
||||
DBConnErr: "오류: 데이터베이스 연결 초기화 실패 {{ .err }}"
|
||||
SystemVersion: "버전: "
|
||||
SystemMode: "모드: "
|
||||
# 작업-스냅샷
|
||||
Snapshot: '스냅샷'
|
||||
SnapDBInfo: '1Panel 데이터베이스 정보 쓰기'
|
||||
SnapCopy: '파일 및 디렉토리 {{ .name }} 복사'
|
||||
SnapNewDB: '데이터베이스 {{ .name }} 연결 초기화'
|
||||
SnapDeleteOperationLog: '작업 로그 삭제'
|
||||
SnapDeleteLoginLog: '액세스 로그 삭제'
|
||||
SnapDeleteMonitor: '모니터링 데이터 삭제'
|
||||
SnapRemoveSystemIP: '시스템 IP 제거'
|
||||
SnapBaseInfo: '1패널 기본 정보 쓰기'
|
||||
SnapInstallApp: '1Panel 설치된 애플리케이션 백업'
|
||||
SnapDockerSave: '설치된 애플리케이션 압축'
|
||||
SnapLocalBackup: '1Panel 로컬 백업 디렉토리 백업'
|
||||
SnapCompressBackup: '로컬 백업 디렉토리 압축'
|
||||
SnapPanelData: '1Panel 데이터 디렉토리 백업'
|
||||
SnapCompressPanel: '압축 데이터 디렉토리'
|
||||
SnapWebsite: '1Panel 웹사이트 디렉토리 백업'
|
||||
SnapCloseDBConn: '데이터베이스 연결 닫기'
|
||||
SnapCompress: '스냅샷 파일 만들기'
|
||||
SnapCompressFile: '스냅샷 파일 압축'
|
||||
SnapCheckCompress: '스냅샷 압축 파일 확인'
|
||||
SnapCompressSize: '스냅샷 파일 크기 {{ .name }}'
|
||||
SnapUpload: '스냅샷 파일 업로드'
|
||||
SnapLoadBackup: '백업 계정 정보 가져오기'
|
||||
SnapUploadTo: '스냅샷 파일을 {{ .name }}에 업로드'
|
||||
SnapUploadRes: '스냅샷 파일을 {{ .name }}에 업로드'
|
||||
|
||||
SnapshotRecover: '스냅샷 복원'
|
||||
RecoverDownload: '스냅샷 파일 다운로드'
|
||||
Download: '다운로드'
|
||||
RecoverDownloadAccount: '스냅샷 다운로드 백업 계정 {{ .name }} 가져오기'
|
||||
RecoverDecompress: '스냅샷 압축 파일 압축 해제'
|
||||
Decompress: '감압'
|
||||
BackupBeforeRecover: '스냅샷 전에 시스템 관련 데이터 백업'
|
||||
Readjson: '스냅샷에서 Json 파일을 읽습니다'
|
||||
ReadjsonPath: '스냅샷의 Json 파일 경로 가져오기'
|
||||
ReadjsonContent: 'Json 파일 읽기'
|
||||
ReadjsonMarshal: 'Json 이스케이프 처리'
|
||||
RecoverApp: '설치된 앱 복원'
|
||||
RecoverWebsite: '웹사이트 디렉토리 복구'
|
||||
RecoverAppImage: '스냅샷 이미지 백업 복원'
|
||||
RecoverCompose: '다른 Composer 콘텐츠 복원'
|
||||
RecoverComposeList: '모든 작곡가를 복원합니다'
|
||||
RecoverComposeItem: '작성 {{ .name }} 복구'
|
||||
RecoverAppEmpty: '스냅샷 파일에서 애플리케이션 이미지 백업을 찾을 수 없습니다'
|
||||
RecoverBaseData: '기본 데이터 및 파일 복구'
|
||||
RecoverDaemonJsonEmpty: '스냅샷 파일과 현재 머신 모두 컨테이너 구성 daemon.json 파일이 없습니다.'
|
||||
RecoverDaemonJson: '컨테이너 구성 daemon.json 파일 복원'
|
||||
RecoverDBData: '데이터베이스 데이터 복구'
|
||||
RecoverBackups: '로컬 백업 디렉토리 복원'
|
||||
RecoverPanelData: '복구 데이터 디렉토리'
|
||||
|
||||
# 작업 - 컨테이너
|
||||
ContainerNewCliet: 'Docker 클라이언트 초기화'
|
||||
ContainerImagePull: '컨테이너 이미지 {{ .name }} 가져오기'
|
||||
ContainerRemoveOld: '원래 컨테이너 {{ .name }} 제거'
|
||||
ContainerImageCheck: '이미지가 정상적으로 당겨졌는지 확인'
|
||||
ContainerLoadInfo: '기본 컨테이너 정보 가져오기'
|
||||
ContainerRecreate: '컨테이너 업데이트에 실패했습니다. 이제 원래 컨테이너를 복원하기 시작합니다.'
|
||||
ContainerCreate: '새로운 컨테이너 {{ .name }}를 만듭니다'
|
||||
ContainerCreateFailed: '컨테이너 생성에 실패했습니다. 실패한 컨테이너를 삭제하세요'
|
||||
ContainerStartCheck: '컨테이너가 시작되었는지 확인'
|
||||
|
||||
# 작업 - 이미지
|
||||
ImageBuild: '이미지 빌드'
|
||||
ImageBuildStdoutCheck: '이미지 출력 콘텐츠 구문 분석'
|
||||
ImaegBuildRes: '이미지 빌드 출력: {{ .name }}'
|
||||
ImagePull: '이미지 가져오기'
|
||||
ImageRepoAuthFromDB: '데이터베이스에서 저장소 인증 정보 가져오기'
|
||||
ImaegPullRes: '이미지 풀 출력: {{ .name }}'
|
||||
ImagePush: '이미지 푸시'
|
||||
ImageRenameTag: '이미지 태그 수정'
|
||||
ImageNewTag: '새로운 이미지 태그 {{ .name }}'
|
||||
ImaegPushRes: '이미지 푸시 출력: {{ .name }}'
|
||||
ComposeCreate: '작곡 만들기'
|
||||
ComposeCreateRes: 'Compose 생성 출력: {{ .name }}'
|
||||
|
||||
# 작업 - 웹사이트
|
||||
BackupNginxConfig: '웹사이트 OpenResty 구성 파일 백업'
|
||||
CompressFileSuccess: '디렉토리 압축이 성공했습니다. {{ .name }}으로 압축되었습니다.'
|
||||
CompressDir: '압축 디렉토리'
|
||||
DeCompressFile: '파일 {{ .name }} 압축 해제'
|
||||
ErrCheckValid: '백업 파일 검증에 실패했습니다, {{ .name }}'
|
||||
Rollback: '롤백'
|
||||
websiteDir: '웹사이트 디렉토리'
|
||||
RecoverFailedStartRollBack: '복구 실패, 롤백 시작'
|
||||
AppBackupFileIncomplete: '백업 파일이 불완전하며 app.json 또는 app.tar.gz 파일이 없습니다.'
|
||||
AppAttributesNotMatch: '애플리케이션 유형 또는 이름이 일치하지 않습니다'
|
||||
|
||||
#알리다
|
||||
ErrAlert: '경고 메시지의 형식이 올바르지 않습니다. 확인하고 다시 시도하세요!'
|
||||
ErrAlertPush: '알림 정보를 푸시하는 중 오류가 발생했습니다. 확인하고 다시 시도하세요!'
|
||||
ErrAlertSave: '알람 정보를 저장하는 중 오류가 발생했습니다. 확인하고 다시 시도하세요!'
|
||||
ErrAlertSync: '알람 정보 동기화 오류입니다. 확인하고 다시 시도하세요!'
|
||||
ErrAlertRemote: '알람 메시지 원격 오류, 확인하고 다시 시도하세요!'
|
||||
@@ -0,0 +1,422 @@
|
||||
ErrInvalidParams: 'Permintaan ralat parameter: {{ .detail }}'
|
||||
ErrTokenParse: 'Ralat penjanaan token: {{ .detail }}'
|
||||
ErrInitialPassword: 'Kata laluan asal tidak betul'
|
||||
ErrInternalServer: 'Ralat pelayan dalaman: {{ .detail }}'
|
||||
ErrRecordExist: 'Rekod sudah wujud'
|
||||
ErrRecordNotFound: 'Rekod tidak ditemui'
|
||||
ErrStructTransform: 'Penukaran jenis gagal: {{ .err }}'
|
||||
ErrNotLogin: 'Pengguna tidak log masuk: {{ .detail }}'
|
||||
ErrPasswordExpired: 'Kata laluan semasa telah tamat tempoh: {{ .detail }}'
|
||||
ErrNotSupportType: 'Sistem tidak menyokong jenis semasa: {{ .name }}'
|
||||
ErrProxy: 'Ralat permintaan, sila semak status nod: {{ .detail }}'
|
||||
ErrApiConfigStatusInvalid: 'Akses kepada antara muka API adalah dilarang: {{ .detail }}'
|
||||
ErrApiConfigKeyInvalid: 'Ralat kunci antara muka API: {{ .detail }}'
|
||||
ErrApiConfigIPInvalid: 'IP yang digunakan untuk memanggil antara muka API tiada dalam senarai putih: {{ .detail }}'
|
||||
ErrApiConfigDisable: 'Antara muka ini melarang penggunaan panggilan antara muka API: {{ .detail }}'
|
||||
ErrApiConfigKeyTimeInvalid: 'Ralat cap masa antara muka API: {{ .detail }}'
|
||||
|
||||
#biasa
|
||||
ErrUsernameIsExist: 'Nama pengguna sudah wujud'
|
||||
ErrNameIsExist: 'Nama sudah wujud'
|
||||
ErrDemoEnvironment: 'Pelayan demo, operasi ini dilarang!'
|
||||
ErrCmdTimeout: 'Pelaksanaan arahan tamat masa!'
|
||||
ErrCmdIllegal: 'Terdapat aksara yang menyalahi undang-undang dalam perintah pelaksanaan, sila ubah suainya dan cuba lagi!'
|
||||
ErrPortExist: '{{ .port }} port sudah diduduki oleh {{ .type }} [{{ .name }}]'
|
||||
TYPE_APP: 'Aplikasi'
|
||||
TYPE_RUNTIME: 'Persekitaran masa jalan'
|
||||
TYPE_DOMAIN: 'Nama Domain'
|
||||
ErrTypePort: Format 'Port {{ .name }} tidak betul'
|
||||
ErrTypePortRange: 'Julat port perlu antara 1-65535'
|
||||
Success: 'Kejayaan'
|
||||
Failed: 'Gagal'
|
||||
SystemRestart: 'Tugas terganggu kerana sistem mula semula'
|
||||
ErrGroupIsDefault: 'Kumpulan lalai, tidak boleh dipadamkan'
|
||||
ErrGroupIsInWebsiteUse: 'Kumpulan sedang digunakan oleh tapak web lain dan tidak boleh dipadamkan.'
|
||||
|
||||
#sandaran
|
||||
ErrBackupInUsed: 'Akaun sandaran telah digunakan dalam tugas yang dijadualkan dan tidak boleh dipadamkan.'
|
||||
ErrBackupCheck: 'Sambungan ujian akaun sandaran gagal {{ .err }}'
|
||||
ErrBackupLocalDelete: 'Memadam akaun sandaran pelayan tempatan belum disokong lagi'
|
||||
ErrBackupLocalCreate: 'Membuat akaun sandaran pelayan tempatan belum disokong lagi'
|
||||
|
||||
#app
|
||||
ErrPortInUsed: 'Port {{ .detail }} sudah diduduki!'
|
||||
ErrAppLimit: 'Bilangan aplikasi yang dipasang telah melebihi had'
|
||||
ErrAppRequired: 'Sila pasang aplikasi {{ .detail }} dahulu'
|
||||
ErrNotInstall: 'Aplikasi tidak dipasang'
|
||||
ErrPortInOtherApp: 'Port {{ .port }} sudah diduduki oleh aplikasi {{ .apps }}!'
|
||||
ErrDbUserNotValid: 'Pangkalan data sedia ada, nama pengguna dan kata laluan tidak sepadan!'
|
||||
ErrDockerComposeNotValid: 'Format fail karang docker tidak betul'
|
||||
ErrUpdateBuWebsite: 'Aplikasi telah berjaya dikemas kini, tetapi pengubahsuaian fail konfigurasi tapak web gagal. Sila semak konfigurasi! '
|
||||
Err1PanelNetworkFailed: 'Pembuatan rangkaian kontena lalai gagal! {{ .detail }}'
|
||||
ErrFileParse: 'Penghuraian fail karang docker aplikasi gagal!'
|
||||
ErrInstallDirNotFound: 'Direktori pemasangan tidak wujud. Jika anda perlu menyahpasang, sila pilih Paksa Nyahpasang'
|
||||
AppStoreIsUpToDate: 'Gedung aplikasi sudah pun versi terkini'
|
||||
LocalAppVersionNull: Aplikasi '{{ .name }} tidak disegerakkan ke versi! Tidak dapat menambah pada senarai apl'
|
||||
LocalAppVersionErr: '{{ .name }} versi penyegerakan {{ .version }} gagal! {{ .err }}'
|
||||
ErrFileNotFound: 'Fail {{ .name }} tidak wujud'
|
||||
ErrFileParseApp: '{{ .name }} penghuraian fail gagal {{ .err }}'
|
||||
ErrAppDirNull: 'Folder versi tidak wujud'
|
||||
LocalAppErr: 'Penyegerakan {{ .name }} aplikasi gagal! {{ .err }}'
|
||||
ErrContainerName: 'Nama kontena sudah wujud'
|
||||
ErrAppSystemRestart: '1Panel restart menyebabkan tugas ditamatkan'
|
||||
ErrCreateHttpClient: 'Gagal membuat permintaan {{ .err }}'
|
||||
ErrHttpReqTimeOut: 'Permintaan tamat masa {{ .err }}'
|
||||
ErrHttpReqFailed: 'Permintaan gagal {{ .err }}'
|
||||
ErrNoSuchHost: 'Tidak dapat mencari pelayan yang diminta {{ .err }}'
|
||||
ErrHttpReqNotFound: 'Sumber yang diminta {{ .err }} tidak dapat ditemui'
|
||||
ErrImagePullTimeOut: 'Tamat masa tarik imej'
|
||||
ErrContainerNotFound: 'Bekas {{ .name }} tidak wujud'
|
||||
ErrContainerMsg: Bekas '{{ .name }} adalah tidak normal. Sila semak log pada halaman kontena untuk butiran'
|
||||
ErrAppBackup: '{{ .name }} sandaran aplikasi gagal {{ .err }}'
|
||||
ErrImagePull: 'Tarik imej gagal {{ .err }}'
|
||||
ErrVersionTooLow: 'Versi 1Panel semasa terlalu rendah untuk mengemas kini App Store. Sila tingkatkan versi sebelum beroperasi.'
|
||||
ErrAppNameExist: 'Nama aplikasi sudah wujud'
|
||||
AppStoreIsSyncing: 'App Store sedang menyegerak, sila cuba sebentar lagi'
|
||||
ErrGetCompose: 'Gagal mendapatkan fail docker-compose.yml! {{ .detail }}'
|
||||
ErrAppWarn: 'Status tidak normal, sila semak log'
|
||||
ErrAppParamKey: 'Parameter {{ .name }} medan tidak normal'
|
||||
ErrAppUpgrade: 'Peningkatan {{ .name }} aplikasi gagal {{ .err }}'
|
||||
AppRecover: 'Aplikasi tarik balik {{ .name }}'
|
||||
PullImageStart: 'Mula tarik imej {{ .name }}'
|
||||
PullImageSuccess: 'Tarik imej berjaya'
|
||||
UpgradeAppStart: 'Mulakan naik taraf aplikasi {{ .name }}'
|
||||
UpgradeAppSuccess: 'Aplikasi {{ .name }} berjaya dinaik taraf'
|
||||
AppStoreIsLastVersion: 'App Store sudah pun versi terkini'
|
||||
AppStoreSyncSuccess: 'Penyegerakan App Store berjaya'
|
||||
SyncAppDetail: 'Segerakkan konfigurasi aplikasi'
|
||||
AppVersionNotMatch: 'Aplikasi {{ .name }} memerlukan versi 1Panel yang lebih tinggi, melangkau penyegerakan'
|
||||
MoveSiteDir: 'Peningkatan semasa memerlukan penghijrahan direktori tapak web OpenResty'
|
||||
MoveSiteToDir: 'Pindahkan direktori tapak ke {{ .name }}'
|
||||
ErrMoveSiteDir: 'Gagal memindahkan direktori tapak'
|
||||
MoveSiteDirSuccess: 'Penghijrahan direktori tapak web yang berjaya'
|
||||
DeleteRuntimePHP: 'Padam masa jalan PHP'
|
||||
CustomAppStoreNotConfig: 'Sila tetapkan alamat pakej luar talian dalam gedung aplikasi'
|
||||
CustomAppStoreNotFound: 'Gagal mendapatkan pakej kedai aplikasi, sila semak sama ada ia wujud'
|
||||
CustomAppStoreFileValid: 'Pakej gedung apl perlu dalam format .tar.gz'
|
||||
PullImageTimeout: 'Tarik tamat masa imej, sila cuba tingkatkan pecutan imej atau tukar kepada pecutan imej lain'
|
||||
ErrAppIsDown: 'Status permohonan {{ .name }} tidak normal, sila semak'
|
||||
ErrCustomApps: 'Ada aplikasi yang dipasang, sila nyahpasangnya dahulu'
|
||||
ErrCustomRuntimes: 'Terdapat persekitaran masa jalan yang dipasang, sila padamkannya dahulu'
|
||||
|
||||
#fail
|
||||
ErrFileCanNotRead: 'Fail ini tidak menyokong pratonton'
|
||||
ErrFileToLarge: 'Fail lebih besar daripada 10M dan tidak boleh dibuka'
|
||||
ErrPathNotFound: 'Direktori tidak wujud'
|
||||
ErrMovePathFailed: 'Laluan sasaran tidak boleh mengandungi laluan asal!'
|
||||
ErrLinkPathNotFound: 'Laluan sasaran tidak wujud!'
|
||||
ErrFileIsExist: 'Fail atau folder sudah wujud!'
|
||||
ErrFileUpload: '{{ .name }} gagal memuat naik fail {{ .detail }}'
|
||||
ErrFileDownloadDir: 'Folder muat turun tidak disokong'
|
||||
ErrCmdNotFound: 'Arahan {{ .name}} tidak wujud, sila pasang arahan ini pada hos dahulu'
|
||||
ErrSourcePathNotFound: 'Direktori sumber tidak wujud'
|
||||
ErrFavoriteExist: 'Laluan ini telah digemari'
|
||||
ErrInvalidChar: 'Aksara haram tidak dibenarkan'
|
||||
ErrPathNotDelete: 'Direktori yang dipilih tidak boleh dipadamkan'
|
||||
|
||||
#laman web
|
||||
ErrDomainIsExist: 'Nama domain sudah wujud'
|
||||
ErrAliasIsExist: 'Alias sudah wujud'
|
||||
ErrAppDelete: 'Laman web lain menggunakan aplikasi ini dan tidak boleh memadamkannya'
|
||||
ErrBackupMatch: 'Fail sandaran tidak sepadan dengan beberapa data tapak web semasa {{ .detail }}'
|
||||
ErrBackupExist: 'Bahagian sepadan data sumber dalam fail sandaran tidak wujud {{ .detail }}'
|
||||
ErrPHPResource: 'Persekitaran operasi tempatan tidak menyokong penukaran! '
|
||||
ErrPathPermission: 'Folder dengan keizinan bukan 1000:1000 telah dikesan dalam direktori indeks, yang mungkin menyebabkan ralat dinafikan Akses pada tapak web. Sila klik butang Simpan di atas'
|
||||
ErrDomainIsUsed: 'Nama domain telah digunakan oleh tapak web [{{ .name }}]'
|
||||
ErrDomainFormat: 'Format nama domain {{ .name }} tidak betul'
|
||||
ErrDefaultAlias: 'lalai ialah kod simpanan, sila gunakan kod lain'
|
||||
ErrParentWebsite: 'Anda perlu memadamkan subtapak {{ .name }} dahulu'
|
||||
ErrBuildDirNotFound: 'Direktori binaan tidak wujud'
|
||||
ErrImageNotExist: 'Imej persekitaran operasi {{ .name }} tidak wujud, sila edit semula persekitaran pengendalian'
|
||||
|
||||
#ssl
|
||||
ErrSSLCannotDelete: 'Sijil {{ .name }} sedang digunakan oleh tapak web dan tidak boleh dipadamkan'
|
||||
ErrAccountCannotDelete: 'Akaun dikaitkan dengan sijil dan tidak boleh dipadamkan'
|
||||
ErrSSSLApply: 'Pembaharuan sijil berjaya, muat semula openresty gagal, sila semak konfigurasi!'
|
||||
ErrEmailIsExist: 'Peti mel sudah wujud'
|
||||
ErrSSLKeyNotFound: 'Fail kunci peribadi tidak wujud'
|
||||
ErrSSLCertificateNotFound: 'Fail sijil tidak wujud'
|
||||
ErrSSLKeyFormat: 'Pengesahan fail kunci peribadi gagal'
|
||||
ErrSSLCertificateFormat: 'Format fail sijil tidak betul, sila gunakan format pem'
|
||||
ErrEabKidOrEabHmacKeyCannot Blank: 'EabKid atau EabHmacKey tidak boleh kosong'
|
||||
ErrOpenrestyNotFound: 'Mod Http memerlukan Openresty dipasang dahulu'
|
||||
ApplySSLStart: 'Mula memohon sijil, nama domain [{{ .domain }}] kaedah permohonan [{{ .type }}] '
|
||||
dnsAccount: 'DNS Auto'
|
||||
dnsManual: 'Manual DNS'
|
||||
http: 'HTTP'
|
||||
ApplySSLFailed: 'Permohonan untuk sijil [{{ .domain }}] gagal, {{ .detail }} '
|
||||
ApplySSLSuccess: 'Berjaya memohon sijil [{{ .domain }}]! ! '
|
||||
DNSAccountName: 'Akaun DNS [{{ .name }}] vendor [{{ .type }}]'
|
||||
PushDirLog: 'Sijil ditolak ke direktori [{{ .path }}] {{ .status }}'
|
||||
ErrDeleteCAWithSSL: 'Organisasi semasa mempunyai sijil yang telah dikeluarkan dan tidak boleh dipadamkan.'
|
||||
ErrDeleteWithPanelSSL: 'Konfigurasi SSL Panel menggunakan sijil ini dan tidak boleh dipadamkan'
|
||||
ErrDefaultCA: 'Pihak berkuasa lalai tidak boleh dipadamkan'
|
||||
ApplyWebSiteSSLLog: 'Mula memperbaharui sijil tapak web {{ .name }}'
|
||||
ErrUpdateWebsiteSSL: '{{ .name }} kemas kini sijil tapak web gagal: {{ .err }}'
|
||||
ApplyWebSiteSSLSuccess: 'Berjaya kemas kini sijil tapak web'
|
||||
ErrExecShell: 'Gagal melaksanakan skrip {{ .err }}'
|
||||
ExecShellStart: 'Mula melaksanakan skrip'
|
||||
ExecShellSuccess: 'Pelaksanaan skrip berjaya'
|
||||
StartUpdateSystemSSL: 'Mula mengemas kini sijil sistem'
|
||||
UpdateSystemSSLSuccess: 'Berjaya kemas kini sijil sistem'
|
||||
ErrWildcardDomain: 'Tidak dapat memohon sijil nama domain kad bebas dalam mod HTTP'
|
||||
|
||||
#mysql
|
||||
ErrUserIsExist: 'Pengguna semasa sudah wujud, sila masukkan semula'
|
||||
ErrDatabaseIsExist: 'Pangkalan data semasa sudah wujud, sila masukkan semula'
|
||||
ErrExecTimeOut: 'Pelaksanaan SQL tamat masa, sila semak pangkalan data'
|
||||
ErrRemoteExist: 'Pangkalan data jauh sudah wujud dengan nama ini, sila ubah suainya dan cuba lagi'
|
||||
ErrLocalExist: 'Nama sudah wujud dalam pangkalan data tempatan, sila ubah suai dan cuba lagi'
|
||||
|
||||
#redis
|
||||
ErrTypeOfRedis: 'Jenis fail pemulihan tidak sepadan dengan kaedah kegigihan semasa, sila ubah suai dan cuba lagi'
|
||||
|
||||
#bekas
|
||||
ErrInUsed: '{{ .detail }} sedang digunakan dan tidak boleh dipadamkan'
|
||||
ErrObjectInUsed: 'Objek sedang digunakan dan tidak boleh dipadamkan'
|
||||
ErrObjectBeDependent: 'Imej ini bergantung pada imej lain dan tidak boleh dipadamkan'
|
||||
ErrPortRules: 'Nombor port tidak sepadan, sila masukkan semula!'
|
||||
ErrPgImagePull: 'Tarikh imej tamat masa, sila konfigurasikan pecutan imej atau tarik imej {{ .name }} secara manual dan cuba lagi'
|
||||
|
||||
#masa berjalan
|
||||
ErrDirNotFound: 'Folder binaan tidak wujud! Sila semak integriti fail!'
|
||||
ErrFileNotExist: 'Fail {{ .detail }} tidak wujud! Sila semak integriti fail sumber!'
|
||||
ErrImageBuildErr: 'Pembinaan imej gagal'
|
||||
ErrImageExist: 'Imej sudah wujud!'
|
||||
ErrDelWithWebsite: 'Persekitaran pengendalian sudah dikaitkan dengan tapak web dan tidak boleh dipadamkan'
|
||||
ErrRuntimeStart: 'Permulaan gagal'
|
||||
ErrPackageJsonNotFound: 'fail package.json tidak wujud'
|
||||
ErrScriptsNotFound: 'Item konfigurasi skrip tidak ditemui dalam package.json'
|
||||
ErrContainerNameNotFound: 'Tidak dapat mendapatkan nama kontena, sila semak fail .env'
|
||||
ErrNodeModulesNotFound: 'Folder node_modules tidak wujud! Sila edit persekitaran masa jalan atau tunggu persekitaran masa jalan berjaya dimulakan'
|
||||
ErrContainerNameIsNull: 'Nama kontena tidak wujud'
|
||||
|
||||
#alat
|
||||
ErrConfigNotFound: 'Fail konfigurasi tidak wujud'
|
||||
ErrConfigParse: 'Format fail konfigurasi tidak betul'
|
||||
ErrConfigIsNull: 'Fail konfigurasi tidak boleh kosong'
|
||||
ErrConfigDirNotFound: 'Direktori berjalan tidak wujud'
|
||||
ErrConfigAlreadyExist: 'Fail konfigurasi dengan nama yang sama sudah wujud'
|
||||
ErrUserFindErr: 'Pengguna {{ .name }} carian gagal {{ .err }}'
|
||||
|
||||
#ssh
|
||||
ErrFirewallNone: 'Tiada sistem firewalld atau perkhidmatan ufw dikesan, sila semak dan cuba lagi!'
|
||||
ErrFirewallBoth: 'Telah dikesan bahawa sistem mempunyai perkhidmatan firewalld dan ufw. Untuk mengelakkan konflik, sila nyahpasang dan cuba lagi!'
|
||||
|
||||
#cronjob
|
||||
ErrCutWebsiteLog: '{{ .name }} pemotongan log tapak web gagal, ralat {{ .err }}'
|
||||
CutWebsiteLogSuccess: '{{ .name }} log tapak web berjaya dipotong, laluan sandaran {{ .path }}'
|
||||
HandleShell: 'Laksanakan skrip {{ .name }}'
|
||||
HandleNtpSync: 'Penyegerakan masa sistem'
|
||||
HandleSystemClean: 'Pembersihan cache sistem'
|
||||
|
||||
#kotak alat
|
||||
ErrNotExistUser: 'Pengguna semasa tidak wujud, sila ubah suai dan cuba lagi!'
|
||||
ErrBanAction: 'Tetapan gagal. Perkhidmatan {{ .name }} semasa tidak tersedia. Sila semak dan cuba lagi!'
|
||||
ErrClamdscanNotFound: 'Arahan clamdscan tidak dikesan, sila rujuk dokumentasi untuk memasangnya!'
|
||||
|
||||
#waf
|
||||
ErrScope: 'Mengubah suai konfigurasi ini tidak disokong'
|
||||
ErrStateChange: 'Perubahan keadaan gagal'
|
||||
ErrRuleExist: 'Peraturan sudah wujud'
|
||||
ErrRuleNotExist: 'Peraturan tidak wujud'
|
||||
ErrParseIP: 'Format IP salah'
|
||||
ErrDefaultIP: 'default ialah nama simpanan, sila tukar kepada nama lain'
|
||||
ErrGroupInUse: 'Kumpulan IP digunakan oleh senarai hitam/senarai putih dan tidak boleh dipadamkan'
|
||||
ErrGroupExist: 'Nama kumpulan IP sudah wujud'
|
||||
ErrIPRange: 'Julat IP salah'
|
||||
ErrIPExist: 'IP sudah wujud'
|
||||
urlDefense: 'Peraturan URL'
|
||||
urlHelper: 'URL Terlarang'
|
||||
dirFilter: 'Penapis direktori'
|
||||
xss: 'XSS'
|
||||
phpExec: 'Pelaksanaan skrip PHP'
|
||||
oneWordTrojan: 'One Word Trojan'
|
||||
appFilter: 'Gunakan penapisan direktori berbahaya'
|
||||
webshell: 'Webshell'
|
||||
args: 'Peraturan parameter'
|
||||
protocolFilter: 'Penapisan protokol'
|
||||
javaFileter: 'Penapis fail berbahaya Java'
|
||||
Penapis pengimbas: 'Penapis pengimbas'
|
||||
escapeFilter: 'penapis melarikan diri'
|
||||
customRule: 'Peraturan tersuai'
|
||||
httpMethod: 'Penapisan kaedah HTTP'
|
||||
fileExt: 'Sekatan muat naik fail'
|
||||
defaultIpBlack: 'Kumpulan IP berniat jahat'
|
||||
cookie: 'Peraturan Kuki'
|
||||
urlBlack: 'senarai hitam URL'
|
||||
uaBlack: 'Senarai hitam Ejen Pengguna'
|
||||
attackCount: 'Had kekerapan serangan'
|
||||
fileExtCheck: 'Sekatan muat naik fail'
|
||||
geoRestrict: 'Sekatan akses serantau'
|
||||
unknownWebsite: 'Akses nama domain yang tidak dibenarkan'
|
||||
notFoundCount: '404 Had Kadar'
|
||||
headerDefense: 'Peraturan header'
|
||||
defaultUaBlack: 'Peraturan Ejen Pengguna'
|
||||
methodWhite: 'Peraturan HTTP'
|
||||
captcha: 'pengesahan mesin manusia'
|
||||
fiveSeconds: 'pengesahan 5 saat'
|
||||
vulnCheck: 'Peraturan tambahan'
|
||||
acl: 'Peraturan tersuai'
|
||||
sql: 'suntikan SQL'
|
||||
cc: 'Had kekerapan akses'
|
||||
defaultUrlBlack: 'Peraturan URL'
|
||||
sqlInject: 'Suntikan SQL'
|
||||
ErrDBNotExist: 'Pangkalan data tidak wujud'
|
||||
allow: 'membenarkan'
|
||||
deny: 'menafikan'
|
||||
OpenrestyNotFound: 'Openresty tidak dipasang'
|
||||
|
||||
#tugas
|
||||
TaskStart: '{{ .name }} Task mula [MULA]'
|
||||
TaskEnd: '{{ .name }} Task selesai [SELESAI]'
|
||||
TaskFailed: 'tugas {{ .name }} gagal'
|
||||
TaskTimeout: '{{ .name }} tamat masa'
|
||||
TaskSuccess: '{{ .name }} Task berjaya'
|
||||
TaskRetry: 'Mulakan {{ .name }} cuba semula'
|
||||
SubTaskSuccess: '{{ .name }} berjaya'
|
||||
SubTaskFailed: '{{ .name }} gagal: {{ .err }}'
|
||||
TaskInstall: 'Pasang'
|
||||
TaskUninstall: 'Nyahpasang'
|
||||
TaskCreate: 'Buat'
|
||||
TaskDelete: 'Padam'
|
||||
TaskUpgrade: 'Naik taraf'
|
||||
TaskUpdate: 'Kemas kini'
|
||||
TaskRestart: 'Mulakan semula'
|
||||
TaskBackup: 'Sandaran'
|
||||
TaskRecover: 'Pulihkan'
|
||||
TaskRollback: 'Rollback'
|
||||
TaskPull: 'Tarik'
|
||||
TaskBuild: 'Bina'
|
||||
TaskPush: 'Tolak'
|
||||
TaskHandle: 'Laksanakan'
|
||||
Website: 'Laman web'
|
||||
App: 'Aplikasi'
|
||||
Runtime: 'Persekitaran masa jalan'
|
||||
Database: 'Pangkalan Data'
|
||||
ConfigFTP: 'Buat pengguna FTP {{ .name }}'
|
||||
ConfigOpenresty: 'Buat fail konfigurasi Openresty'
|
||||
InstallAppSuccess: 'Aplikasi {{ .name }} berjaya dipasang'
|
||||
ConfigRuntime: 'Konfigurasikan persekitaran masa jalan'
|
||||
ConfigApp: 'Aplikasi Konfigurasi'
|
||||
SuccessStatus: '{{ .name }} berjaya'
|
||||
FailedStatus: '{{ .name }} gagal {{ .err }}'
|
||||
HandleLink: 'Kendalikan persatuan aplikasi'
|
||||
HandleDatabaseApp: 'Mengendalikan parameter aplikasi'
|
||||
ExecShell: 'Laksanakan skrip {{ .name }}'
|
||||
PullImage: 'Tarik imej'
|
||||
Start: 'Mula'
|
||||
Run: 'Mula'
|
||||
Stop: 'Berhenti'
|
||||
Image: 'Cermin'
|
||||
Compose: 'Orkestrasi'
|
||||
Container: 'Bekas'
|
||||
AppLink: 'Aplikasi Terpaut'
|
||||
EnableSSL: 'Dayakan HTTPS'
|
||||
AppStore: 'App Store'
|
||||
TaskSync: 'Segerakkan'
|
||||
LocalApp: 'Aplikasi Tempatan'
|
||||
SubTask: 'Subtugas'
|
||||
RuntimeExtension: 'Sambungan Persekitaran Runtime'
|
||||
TaskIsExecuting: 'Tugas sedang berjalan'
|
||||
CustomAppstore: 'Gudang aplikasi tersuai'
|
||||
|
||||
# tugasan - ai
|
||||
OllamaModelPull: 'Tarik model Ollama {{ .name }}'
|
||||
OllamaModelSize: 'Dapatkan saiz model Ollama {{ .name }}'
|
||||
|
||||
# gambar tugasan
|
||||
Snapshot: 'Snapshot'
|
||||
SnapDBInfo: 'Tulis maklumat pangkalan data 1Panel'
|
||||
SnapCopy: 'Salin fail & direktori {{ .name }}'
|
||||
SnapNewDB: 'Mulakan sambungan {{ .name }} pangkalan data'
|
||||
SnapDeleteOperationLog: 'Padam log operasi'
|
||||
SnapDeleteLoginLog: 'Padam log akses'
|
||||
SnapDeleteMonitor: 'Padamkan data pemantauan'
|
||||
SnapRemoveSystemIP: 'Alih keluar IP sistem'
|
||||
SnapBaseInfo: 'Tulis maklumat asas 1Panel'
|
||||
SnapInstallApp: 'Aplikasi yang dipasang sandaran 1Panel'
|
||||
SnapDockerSave: 'Mampatkan aplikasi yang dipasang'
|
||||
SnapLocalBackup: 'Sandaran 1Panel direktori sandaran tempatan'
|
||||
SnapCompressBackup: 'Mampatkan direktori sandaran tempatan'
|
||||
SnapPanelData: 'Sandaran direktori data 1Panel'
|
||||
SnapCompressPanel: 'Direktori Data Mampat'
|
||||
SnapWebsite: 'Sandaran direktori tapak web 1Panel'
|
||||
SnapCloseDBConn: 'Tutup sambungan pangkalan data'
|
||||
SnapCompress: 'Buat fail syot kilat'
|
||||
SnapCompressFile: 'Mampatkan fail syot kilat'
|
||||
SnapCheckCompress: 'Semak fail mampatan syot kilat'
|
||||
SnapCompressSize: 'Saiz fail syot kilat {{ .name }}'
|
||||
SnapUpload: 'Muat naik fail syot kilat'
|
||||
SnapLoadBackup: 'Dapatkan maklumat akaun sandaran'
|
||||
SnapUploadTo: 'Muat naik fail syot kilat ke {{ .name }}'
|
||||
SnapUploadRes: 'Muat naik fail syot kilat ke {{ .name }}'
|
||||
|
||||
SnapshotRecover: 'Snapshot Restore'
|
||||
RecoverDownload: 'Muat turun fail syot kilat'
|
||||
Download: 'Muat turun'
|
||||
RecoverDownloadAccount: 'Dapatkan syot kilat muat turun akaun sandaran {{ .name }}'
|
||||
RecoverDecompress: 'Nyahmampatkan fail termampat syot kilat'
|
||||
Decompress: 'Penyahmampatan'
|
||||
BackupBeforeRecover: 'Sandarkan data berkaitan sistem sebelum syot kilat'
|
||||
Readjson: 'Baca fail Json dalam petikan'
|
||||
ReadjsonPath: 'Dapatkan laluan fail Json dalam petikan'
|
||||
ReadjsonContent: 'Baca fail Json'
|
||||
ReadjsonMarshal: 'Pemprosesan melarikan diri Json'
|
||||
RecoverApp: 'Pulihkan apl yang dipasang'
|
||||
RecoverWebsite: 'Pulihkan direktori tapak web'
|
||||
RecoverAppImage: 'Pulihkan sandaran imej syot kilat'
|
||||
RecoverCompose: 'Pulihkan kandungan komposer lain'
|
||||
RecoverComposeList: 'Dapatkan semua komposer untuk dipulihkan'
|
||||
RecoverComposeItem: 'Recover compose {{ .name }}'
|
||||
RecoverAppEmpty: 'Tiada sandaran imej aplikasi ditemui dalam fail syot kilat'
|
||||
RecoverBaseData: 'Pulihkan data asas dan fail'
|
||||
RecoverDaemonJsonEmpty: 'Kedua-dua fail syot kilat dan mesin semasa tidak mempunyai fail daemon.json konfigurasi bekas'
|
||||
RecoverDaemonJson: 'Pulihkan fail daemon.json konfigurasi bekas'
|
||||
RecoverDBData: 'Pulihkan data pangkalan data'
|
||||
RecoverBackups: 'Pulihkan direktori sandaran tempatan'
|
||||
RecoverPanelData: 'Direktori data pemulihan'
|
||||
|
||||
# tugas - bekas
|
||||
ContainerNewCliet: 'Memulakan Klien Docker'
|
||||
ContainerImagePull: 'Tarik imej bekas {{ .name }}'
|
||||
ContainerRemoveOld: 'Alih keluar bekas asal {{ .name }}'
|
||||
ContainerImageCheck: 'Periksa sama ada imej ditarik seperti biasa'
|
||||
ContainerLoadInfo: 'Dapatkan maklumat bekas asas'
|
||||
ContainerRecreate: 'Kemas kini kontena gagal, kini mula memulihkan bekas asal'
|
||||
ContainerCreate: 'Buat bekas baharu {{ .name }}'
|
||||
ContainerCreateFailed: 'Penciptaan bekas gagal, padamkan bekas yang gagal'
|
||||
ContainerStartCheck: 'Periksa sama ada bekas telah dimulakan'
|
||||
|
||||
# tugas - imej
|
||||
ImageBuild: 'Membina Imej'
|
||||
ImageBuildStdoutCheck: 'Menghuraikan kandungan output imej'
|
||||
ImaegBuildRes: 'Output binaan imej: {{ .name }}'
|
||||
ImagePull: 'Tarik imej'
|
||||
ImageRepoAuthFromDB: 'Dapatkan maklumat pengesahan repositori daripada pangkalan data'
|
||||
ImaegPullRes: 'Output tarik imej: {{ .name }}'
|
||||
ImagePush: 'Tolak imej'
|
||||
ImageRenameTag: 'Ubah suai teg imej'
|
||||
ImageNewTag: 'Teg imej baharu {{ .name }}'
|
||||
ImaegPushRes: 'Output tolak imej: {{ .name }}'
|
||||
ComposeCreate: 'Buat gubahan'
|
||||
ComposeCreateRes: 'Karang cipta output: {{ .name }}'
|
||||
|
||||
# tugas - laman web
|
||||
BackupNginxConfig: 'Fail konfigurasi OpenResty tapak web sandaran'
|
||||
CompressFileSuccess: 'Mampatkan direktori berjaya, dimampatkan ke {{ .name }}'
|
||||
CompressDir: 'Direktori mampatan'
|
||||
DeCompressFile: 'Nyahmampatkan fail {{ .name }}'
|
||||
ErrCheckValid: 'Pengesahan fail sandaran gagal, {{ .name }}'
|
||||
Rollback: 'Undur'
|
||||
websiteDir: 'Direktori Laman Web'
|
||||
RecoverFailedStartRollBack: 'Pemulihan gagal, mulakan rollback'
|
||||
AppBackupFileIncomplete: 'Fail sandaran tidak lengkap dan tidak mempunyai fail app.json atau app.tar.gz'
|
||||
AppAttributesNotMatch: 'Jenis atau nama aplikasi tidak sepadan'
|
||||
|
||||
#alert
|
||||
ErrAlert: 'Format mesej amaran tidak betul, sila semak dan cuba lagi!'
|
||||
ErrAlertPush: 'Ralat dalam menolak maklumat amaran, sila semak dan cuba lagi!'
|
||||
ErrAlertSave: 'Ralat menyimpan maklumat penggera, sila semak dan cuba lagi!'
|
||||
ErrAlertSync: 'Ralat penyegerakan maklumat penggera, sila semak dan cuba lagi!'
|
||||
ErrAlertRemote: 'Ralat jauh mesej penggera, sila semak dan cuba lagi!'
|
||||
@@ -1,328 +0,0 @@
|
||||
ErrInvalidParams: "Ralat parameter permintaan: {{ .detail }}"
|
||||
ErrTokenParse: "Ralat penjanaan token: {{ .detail }}"
|
||||
ErrInitialPassword: "Ralat kata laluan awal"
|
||||
ErrInternalServer: "Ralat dalaman perkhidmatan: {{ .detail }}"
|
||||
ErrRecordExist: "Rekod sudah wujud"
|
||||
ErrRecordNotFound: "Rekod tidak dijumpai"
|
||||
ErrStructTransform: "Kegagalan penukaran jenis: {{ .detail }}"
|
||||
ErrNotLogin: "Pengguna belum log masuk: {{ .detail }}"
|
||||
ErrPasswordExpired: "Kata laluan semasa telah tamat tempoh: {{ .detail }}"
|
||||
ErrNotSupportType: "Sistem tidak menyokong jenis semasa: {{ .detail }}"
|
||||
ErrApiConfigStatusInvalid: "Akses antara muka API dilarang: {{ .detail }}"
|
||||
ErrApiConfigKeyInvalid: "Ralat kunci antara muka API: {{ .detail }}"
|
||||
ErrApiConfigIPInvalid: "IP antara muka API tidak berada dalam senarai putih: {{ .detail }}"
|
||||
ErrApiConfigDisable: "Antara muka ini melarang penggunaan panggilan API: {{ .detail }}"
|
||||
ErrApiConfigKeyTimeInvalid: "Ralat cap waktu antara muka API: {{ .detail }}"
|
||||
|
||||
#common
|
||||
ErrUsernameIsExist: "Nama pengguna sudah wujud"
|
||||
ErrNameIsExist: "Nama sudah wujud"
|
||||
ErrDemoEnvironment: "Pelayan demo, operasi ini dilarang!"
|
||||
ErrCmdTimeout: "Pelaksanaan arahan telah tamat masa!"
|
||||
ErrCmdIllegal: "Arahan mengandungi aksara tidak sah. Sila ubah dan cuba lagi!"
|
||||
ErrPortExist: 'Port {{ .port }} sudah digunakan oleh {{ .type }} [{{ .name }}]'
|
||||
TYPE_APP: "Aplikasi"
|
||||
TYPE_RUNTIME: "Persekitaran runtime"
|
||||
TYPE_DOMAIN: "Nama domain"
|
||||
ErrTypePort: 'Format port {{ .name }} adalah salah'
|
||||
ErrTypePortRange: 'Julat port perlu berada di antara 1-65535'
|
||||
Success: "Berjaya"
|
||||
Failed: "Gagal"
|
||||
SystemRestart: "Mulakan semula sistem menyebabkan gangguan tugas"
|
||||
ErrGroupIsDefault: "Kumpulan lalai, tidak boleh dipadam"
|
||||
ErrGroupIsInWebsiteUse: "Kumpulan sedang digunakan oleh laman web lain, tidak boleh dipadam"
|
||||
|
||||
#app
|
||||
ErrPortInUsed: "Port {{ .detail }} sudah digunakan"
|
||||
ErrAppLimit: "Aplikasi melebihi had pemasangan"
|
||||
ErrAppRequired: "Aplikasi {{ .detail }} diperlukan"
|
||||
ErrNotInstall: "Aplikasi tidak dipasang"
|
||||
ErrPortInOtherApp: "Port {{ .port }} sudah digunakan oleh aplikasi {{ .apps }}"
|
||||
ErrDbUserNotValid: "Pangkalan data stok, nama pengguna dan kata laluan tidak sepadan!"
|
||||
ErrDockerComposeNotValid: "Format fail docker-compose adalah salah!"
|
||||
ErrUpdateBuWebsite: "Aplikasi berjaya dikemas kini, tetapi pengubahsuaian fail konfigurasi laman web gagal, sila semak konfigurasi!"
|
||||
Err1PanelNetworkFailed: "Penciptaan rangkaian kontena lalai gagal! {{ .detail }}"
|
||||
ErrFileParse: "Analisis fail docker-compose aplikasi gagal!"
|
||||
ErrInstallDirNotFound: "Direktori pemasangan tidak wujud"
|
||||
AppStoreIsUpToDate: "Terkini"
|
||||
LocalAppVersionNull: "Aplikasi {{.name}} tidak diselaraskan ke versi! Tidak dapat menambah ke senarai aplikasi"
|
||||
LocalAppVersionErr: "{{.name}} gagal diselaraskan ke versi {{.version}}! {{.err}}"
|
||||
ErrFileNotFound: "Fail {{.name}} tidak wujud"
|
||||
ErrFileParseApp: "Gagal menganalisis fail {{.name}} {{.err}}"
|
||||
ErrAppDirNull: "Folder versi tidak wujud"
|
||||
LocalAppErr: "Penyelarasan aplikasi {{.name}} gagal! {{.err}}"
|
||||
ErrContainerName: "Nama Kontena sudah wujud"
|
||||
ErrAppSystemRestart: "Pemulangan semula 1Panel menyebabkan tugas terhenti"
|
||||
ErrCreateHttpClient: "Gagal mencipta permintaan HTTP {{.err}}"
|
||||
ErrHttpReqTimeOut: "Permintaan tamat masa {{.err}}"
|
||||
ErrHttpReqFailed: "Permintaan gagal {{.err}}"
|
||||
ErrHttpReqNotFound: "Fail tidak wujud"
|
||||
ErrNoSuchHost: "Sambungan rangkaian gagal"
|
||||
ErrImagePullTimeOut: "Tarik imej tamat masa"
|
||||
ErrContainerNotFound: "Kontena {{ .name }} tidak wujud"
|
||||
ErrContainerMsg: "Kontena {{ .name }} bermasalah, sila semak log pada halaman kontena untuk maklumat lanjut"
|
||||
ErrAppBackup: "Sandaran aplikasi {{ .name }} gagal err {{.err}}"
|
||||
ErrImagePull: "Tarik imej {{ .name }} gagal err {{.err}}"
|
||||
ErrVersionTooLow: "Versi 1Panel semasa terlalu rendah untuk mengemas kini gedung aplikasi, sila tingkatkan versi"
|
||||
ErrAppNameExist: "Nama aplikasi sudah wujud"
|
||||
AppStoreIsSyncing: "Gedung Aplikasi sedang menyelaraskan, sila cuba lagi nanti"
|
||||
ErrGetCompose: "Gagal mendapatkan fail docker-compose.yml! {{ .detail }}"
|
||||
ErrAppWarn: "Status tidak normal, sila semak log"
|
||||
ErrAppParamKey: "Pengecualian medan parameter {{ .name }}"
|
||||
ErrAppUpgrade: "Gagal menaik taraf aplikasi {{ .name }} {{ .err }}"
|
||||
AppRecover: "Aplikasi {{ .name }} telah dikembalikan"
|
||||
PullImageStart: "Memulakan penarikan imej {{ .name }}"
|
||||
PullImageSuccess: "Imej berjaya ditarik"
|
||||
UpgradeAppStart: "Memulakan peningkatan aplikasi {{ .name }}"
|
||||
UpgradeAppSuccess: "Aplikasi {{ .name }} berjaya dinaik taraf"
|
||||
ErrAppIsDown: "{{ .name }} status aplikasi tidak normal, sila periksa"
|
||||
|
||||
#file
|
||||
ErrFileCanNotRead: "Fail tidak boleh dibaca"
|
||||
ErrFileToLarge: "Fail terlalu besar"
|
||||
ErrPathNotFound: "Laluan tidak dijumpai"
|
||||
ErrMovePathFailed: "Laluan sasaran tidak boleh mengandungi laluan asal!"
|
||||
ErrLinkPathNotFound: "Laluan sasaran tidak wujud!"
|
||||
ErrFileIsExist: "Fail atau direktori sudah wujud!"
|
||||
ErrFileUpload: "Gagal memuat naik fail {{.name}} {{.detail}}"
|
||||
ErrFileDownloadDir: "Muat turun folder tidak disokong"
|
||||
ErrCmdNotFound: "Arahan {{ .name }} tidak wujud, sila pasang arahan ini pada hos terlebih dahulu"
|
||||
ErrSourcePathNotFound: "Direktori sumber tidak wujud"
|
||||
ErrFavoriteExist: "Laluan ini telah dikumpulkan"
|
||||
ErrInvalidChar: "Aksara tidak sah adalah dilarang"
|
||||
ErrPathNotDelete: "Direktori yang dipilih tidak boleh dipadam"
|
||||
|
||||
#website
|
||||
ErrDomainIsExist: "Nama domain sudah wujud"
|
||||
ErrAliasIsExist: "Alias sudah wujud"
|
||||
ErrAppDelete: "Laman web lain menggunakan aplikasi ini"
|
||||
ErrGroupIsUsed: "Kumpulan sedang digunakan dan tidak boleh dipadam"
|
||||
ErrBackupMatch: "Fail sandaran tidak sepadan dengan data separa laman web semasa: {{ .detail }}"
|
||||
ErrBackupExist: "Fail sandaran berkaitan dengan sebahagian data asal yang tidak wujud: {{ .detail }}"
|
||||
ErrPHPResource: "Runtime tempatan tidak menyokong penukaran!"
|
||||
ErrPathPermission: "Folder dengan kebenaran bukan 1000:1000 dikesan dalam direktori indeks, yang mungkin menyebabkan ralat 'Access denied' semasa mengakses laman web. Sila klik butang simpan di atas"
|
||||
ErrDomainIsUsed: "Domain sudah digunakan oleh laman web {{ .name }}"
|
||||
ErrDomainFormat: "Format domain {{ .name }} adalah salah"
|
||||
ErrDefaultAlias: "default ialah nama kod terpelihara, sila gunakan nama kod lain"
|
||||
ErrImageNotExist: "Imej persekitaran runtime {{.name}} tidak wujud, sila sunting semula persekitaran runtime"
|
||||
|
||||
#ssl
|
||||
ErrSSLCannotDelete: "Sijil {{ .name }} sedang digunakan oleh laman web dan tidak boleh dihapuskan"
|
||||
ErrAccountCannotDelete: "Sijil yang dikaitkan dengan akaun tidak boleh dihapuskan"
|
||||
ErrSSLApply: "Sijil berjaya terus ditandatangani, tetapi reload OpenResty gagal, sila semak konfigurasi!"
|
||||
ErrEmailIsExist: "Emel sudah wujud"
|
||||
ErrSSLKeyNotFound: "Fail kunci peribadi tidak wujud"
|
||||
ErrSSLCertificateNotFound: "Fail sijil tidak wujud"
|
||||
ErrSSLKeyFormat: "Ralat pengesahan fail kunci peribadi"
|
||||
ErrSSLCertificateFormat: "Format fail sijil salah, sila gunakan format PEM"
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: "EabKid atau EabHmacKey tidak boleh kosong"
|
||||
ErrOpenrestyNotFound: "Mod HTTP memerlukan OpenResty dipasang terlebih dahulu"
|
||||
ApplySSLStart: "Memulakan permohonan sijil, nama domain [{{ .domain }}], kaedah permohonan [{{ .type }}]"
|
||||
dnsAccount: "DNS Automatik"
|
||||
dnsManual: "DNS Manual"
|
||||
http: "HTTP"
|
||||
ApplySSLFailed: "Permohonan sijil untuk [{{ .domain }}] gagal, {{.detail}}"
|
||||
ApplySSLSuccess: "Permohonan sijil untuk [{{ .domain }}] berjaya!"
|
||||
DNSAccountName: "Akaun DNS [{{ .name }}], pengeluar [{{ .type }}]"
|
||||
PushDirLog: "Sijil dihantar ke direktori [{{ .path }}] {{ .status }}"
|
||||
ErrDeleteCAWithSSL: "Terdapat sijil yang telah dikeluarkan di bawah organisasi semasa dan tidak boleh dihapuskan"
|
||||
ErrDeleteWithPanelSSL: "Konfigurasi SSL panel menggunakan sijil ini dan tidak boleh dihapuskan"
|
||||
ErrDefaultCA: "Pihak Berkuasa Sijil lalai tidak boleh dihapuskan"
|
||||
ApplyWebSiteSSLLog: "Memulakan kemas kini sijil laman web {{ .name }}"
|
||||
ErrUpdateWebsiteSSL: "Sijil laman web {{ .name }} gagal dikemas kini: {{ .err }}"
|
||||
ApplyWebSiteSSLSuccess: "Sijil laman web berjaya dikemas kini"
|
||||
ErrExecShell: "Pelaksanaan skrip gagal {{ .err }}"
|
||||
ExecShellStart: "Memulakan pelaksanaan skrip"
|
||||
ExecShellSuccess: "Skrip berjaya dilaksanakan"
|
||||
StartUpdateSystemSSL: "Memulakan kemas kini sijil sistem"
|
||||
UpdateSystemSSLSuccess: "Sijil sistem berjaya dikemas kini"
|
||||
|
||||
#mysql
|
||||
ErrUserIsExist: "Pengguna semasa sudah wujud. Sila masukkan pengguna baharu"
|
||||
ErrDatabaseIsExist: "Pangkalan data semasa sudah wujud. Sila masukkan pangkalan data baharu"
|
||||
ErrExecTimeOut: "Pelaksanaan SQL tamat masa, sila semak pangkalan data"
|
||||
ErrRemoteExist: "Pangkalan data jauh dengan nama tersebut sudah wujud, sila ubah dan cuba lagi"
|
||||
ErrLocalExist: "Pangkalan data tempatan dengan nama tersebut sudah wujud, sila ubah dan cuba lagi"
|
||||
|
||||
#redis
|
||||
ErrTypeOfRedis: "Jenis fail pemulihan tidak sepadan dengan mod ketekalan semasa. Sila ubah jenis fail dan cuba lagi."
|
||||
|
||||
#container
|
||||
ErrInUsed: "{{ .detail }} sedang digunakan dan tidak boleh dihapuskan"
|
||||
ErrObjectInUsed: "Objek ini sedang digunakan dan tidak boleh dihapuskan"
|
||||
ErrObjectBeDependent: "Imej ini bergantung kepada imej lain dan tidak boleh dihapuskan"
|
||||
ErrPortRules: "Bilangan port tidak sepadan, sila masukkan semula!"
|
||||
ErrPgImagePull: "Tarik imej tamat masa. Sila konfigurasikan pecutan imej atau tarik imej postgres:16.0-alpine secara manual dan cuba lagi"
|
||||
|
||||
#runtime
|
||||
ErrDirNotFound: "Folder binaan tidak wujud! Sila semak integriti fail!"
|
||||
ErrFileNotExist: "Fail {{ .detail }} tidak wujud! Sila semak integriti fail sumber!"
|
||||
ErrImageBuildErr: "Binaan imej gagal"
|
||||
ErrImageExist: "Imej sudah wujud!"
|
||||
ErrDelWithWebsite: "Persekitaran operasi telah dikaitkan dengan laman web dan tidak boleh dihapuskan"
|
||||
ErrRuntimeStart: "Gagal memulakan"
|
||||
ErrPackageJsonNotFound: "Fail package.json tidak wujud"
|
||||
ErrScriptsNotFound: "Tiada item konfigurasi skrip dijumpai dalam package.json"
|
||||
ErrContainerNameNotFound: "Tidak dapat mendapatkan nama kontena, sila semak fail .env"
|
||||
ErrNodeModulesNotFound: "Folder node_modules tidak wujud! Sila sunting persekitaran operasi atau tunggu sehingga persekitaran operasi berjaya dimulakan"
|
||||
|
||||
#setting
|
||||
ErrBackupInUsed: "Akaun sandaran sedang digunakan dalam cronjob dan tidak boleh dihapuskan."
|
||||
ErrBackupCheck: "Ujian sambungan akaun sandaran gagal {{ .err }}"
|
||||
ErrOSSConn: "Tidak dapat mendapatkan versi terkini, sila semak sama ada pelayan boleh menyambung ke rangkaian luaran."
|
||||
ErrEntrance: "Ralat maklumat pintu masuk keselamatan. Sila semak dan cuba lagi!"
|
||||
|
||||
#tool
|
||||
ErrConfigNotFound: "Fail konfigurasi tidak wujud"
|
||||
ErrConfigParse: "Format fail konfigurasi salah"
|
||||
ErrConfigIsNull: "Fail konfigurasi tidak boleh kosong"
|
||||
ErrConfigDirNotFound: "Direktori operasi tidak wujud"
|
||||
ErrConfigAlreadyExist: "Fail konfigurasi dengan nama yang sama sudah wujud"
|
||||
ErrUserFindErr: "Gagal mencari pengguna {{ .name }} {{ .err }}"
|
||||
|
||||
#ssh
|
||||
ErrFirewallNone: "Tiada perkhidmatan firewalld atau ufw dikesan pada sistem. Sila semak dan cuba lagi!"
|
||||
ErrFirewallBoth: "Kedua-dua perkhidmatan firewalld dan ufw dikesan pada sistem. Untuk mengelakkan konflik, sila nyahpasang salah satu dan cuba lagi!"
|
||||
|
||||
#cronjob
|
||||
ErrBashExecute: "Ralat pelaksanaan skrip, sila semak maklumat khusus dalam kawasan teks output tugas."
|
||||
ErrCutWebsiteLog: "Pemotongan log laman web {{ .name }} gagal, ralat {{ .err }}"
|
||||
CutWebsiteLogSuccess: "Log laman web {{ .name }} berjaya dipotong, laluan sandaran {{ .path }}"
|
||||
|
||||
#toolbox
|
||||
ErrNotExistUser: "Pengguna semasa tidak wujud. Sila ubah dan cuba lagi!"
|
||||
ErrBanAction: "Tetapan gagal, perkhidmatan {{ .name }} semasa tidak tersedia, sila semak dan cuba lagi!"
|
||||
ErrClamdscanNotFound: "Perintah clamdscan tidak dikesan, sila rujuk dokumentasi untuk memasangnya!"
|
||||
|
||||
#waf
|
||||
ErrScope: "Tidak menyokong pengubahsuaian konfigurasi ini"
|
||||
ErrStateChange: "Gagal menukar status"
|
||||
ErrRuleExist: "Peraturan sudah wujud"
|
||||
ErrRuleNotExist: "Peraturan tidak wujud"
|
||||
ErrParseIP: "Format IP tidak betul"
|
||||
ErrDefaultIP: "default adalah nama terpelihara, sila gunakan nama lain"
|
||||
ErrGroupInUse: "Kumpulan IP digunakan oleh senarai hitam/putih, tidak boleh dipadam"
|
||||
ErrGroupExist: "Nama kumpulan IP sudah wujud"
|
||||
ErrIPRange: "Julat IP tidak betul"
|
||||
ErrIPExist: "IP sudah wujud"
|
||||
urlDefense: "Peraturan URL"
|
||||
urlHelper: "URL Terlarang"
|
||||
dirFilter: "Penapis Direktori"
|
||||
xss: "XSS"
|
||||
phpExec: "Pelaksanaan Skrip PHP"
|
||||
oneWordTrojan: "Trojan Satu Kata"
|
||||
appFilter: "Penapis Direktori Berbahaya Aplikasi"
|
||||
webshell: "Webshell"
|
||||
args: "Peraturan Parameter"
|
||||
protocolFilter: "Penapis Protokol"
|
||||
javaFileter: "Penapis Fail Berbahaya Java"
|
||||
scannerFilter: "Penapis Pemindai"
|
||||
escapeFilter: "Penapis Pelarian"
|
||||
customRule: "Peraturan Tersuai"
|
||||
httpMethod: "Penapis Kaedah HTTP"
|
||||
fileExt: "Had Muat Naik Fail"
|
||||
defaultIpBlack: "Kumpulan IP Merosakkan"
|
||||
cookie: "Peraturan Kuki"
|
||||
urlBlack: "Senarai Hitam URL"
|
||||
uaBlack: "Senarai Hitam User-Agent"
|
||||
attackCount: "Had Kekerapan Serangan"
|
||||
fileExtCheck: "Had Muat Naik Fail"
|
||||
geoRestrict: "Sekatan Akses Wilayah"
|
||||
unknownWebsite: "Akses Domain Tanpa Kebenaran"
|
||||
notFoundCount: "Had Kekerapan 404"
|
||||
headerDefense: "Peraturan Header"
|
||||
defaultUaBlack: "Peraturan User-Agent"
|
||||
methodWhite: "Peraturan HTTP"
|
||||
captcha: "Pengesahan Manusia-Mesin"
|
||||
fiveSeconds: "Pengesahan 5 Saat"
|
||||
vulnCheck: "Peraturan Tambahan"
|
||||
acl: "Peraturan Tersuai"
|
||||
sql: "Penembakan SQL"
|
||||
cc: "Had Kekerapan Akses"
|
||||
defaultUrlBlack: "Peraturan URL"
|
||||
sqlInject: "Penembakan SQL"
|
||||
ErrDBNotExist: "Pangkalan Data Tidak Wujud"
|
||||
allow: "Benarkan"
|
||||
deny: "Larang"
|
||||
|
||||
#license
|
||||
ErrLicense: "Format lesen salah, sila semak dan cuba lagi!"
|
||||
ErrLicenseCheck: "Pengesahan lesen gagal, sila semak dan cuba lagi!"
|
||||
ErrLicenseSave: "Gagal menyimpan maklumat lesen, ralat {{ .err }}, sila cuba lagi!"
|
||||
ErrLicenseSync: "Gagal menyelaraskan maklumat lesen, tiada maklumat lesen dikesan dalam pangkalan data!"
|
||||
ErrXpackNotFound: "Bahagian ini adalah ciri edisi profesional, sila import lesen terlebih dahulu dalam Tetapan Panel - Antara Muka Lesen"
|
||||
ErrXpackNotActive: "Bahagian ini adalah ciri edisi profesional, sila selaraskan status lesen terlebih dahulu dalam Tetapan Panel - Antara Muka Lesen"
|
||||
ErrXpackOutOfDate: "Lesen semasa telah tamat tempoh, sila import semula lesen dalam Tetapan Panel - Antara Muka Lesen"
|
||||
ErrXpackLost: "Lesen telah mencapai bilangan maksimum percubaan semula. Sila pergi ke halaman [Tetapan] [Lesen] dan klik butang selaraskan secara manual untuk memastikan ciri versi profesional berfungsi dengan baik."
|
||||
ErrXpackTimeout: "Permintaan tamat masa, sambungan rangkaian mungkin tidak stabil, sila cuba lagi nanti!"
|
||||
|
||||
#license
|
||||
ErrAlert: "Format maklumat amaran salah, sila semak dan cuba lagi!"
|
||||
ErrAlertPush: "Ralat penghantaran amaran, sila semak dan cuba lagi!"
|
||||
ErrAlertSave: "Ralat penyimpanan amaran, sila semak dan cuba lagi!"
|
||||
ErrAlertSync: "Ralat penyelarasan amaran, sila semak dan cuba lagi!"
|
||||
ErrAlertRemote: "Ralat amaran jauh, sila semak dan cuba lagi!"
|
||||
|
||||
#cmd
|
||||
AppVersion: "Versi aplikasi"
|
||||
AppCommands: "Arahan berkaitan aplikasi"
|
||||
AppInit: "Inisialisasi aplikasi"
|
||||
AppKeyVal: "Kunci aplikasi (hanya menyokong bahasa Inggeris)"
|
||||
AppCreateFileErr: "Gagal mencipta fail {{ .name }} {{ .err }}"
|
||||
AppCreateDirErr: "Gagal mencipta folder {{ .name }} {{ .err }}"
|
||||
AppMissKey: "Kunci aplikasi hilang, gunakan -k untuk menetapkan"
|
||||
AppMissVersion: "Versi aplikasi hilang, gunakan -v untuk menetapkan"
|
||||
AppVersionExist: "Versi sudah wujud!"
|
||||
AppCreateSuccessful: "Ciptaan berjaya!"
|
||||
AppWriteErr: "Penulisan fail {{ .name }} gagal {{ .err }}"
|
||||
SudoHelper: "Sila gunakan {{ .cmd }} atau tukar ke pengguna root"
|
||||
ListenIPCommands: "Tukar IP mendengar"
|
||||
ListenIPv4: "Mendengar pada IPv4"
|
||||
ListenIPv6: "Mendengar pada IPv6"
|
||||
ListenChangeSuccessful: "Tukar berjaya! Kini mendengar pada {{ .value }}"
|
||||
ResetCommands: "Tetapkan semula maklumat sistem"
|
||||
ResetMFA: "Batal pengesahan dua faktor 1Panel"
|
||||
ResetHttps: "Batal log masuk HTTPS 1Panel"
|
||||
ResetEntrance: "Batal pintu masuk keselamatan 1Panel"
|
||||
ResetIPs: "Batal sekatan IP yang dibenarkan 1Panel"
|
||||
ResetDomain: "Batal pengikatan domain 1Panel"
|
||||
RestoreCommands: "Pulihkan perkhidmatan dan data 1Panel"
|
||||
RestoreNoSuchFile: "Tiada fail tersedia untuk pemulihan"
|
||||
RestoreStep1: "(1/5) Memulakan pemulihan perkhidmatan dan data 1Panel daripada direktori {{ .name }}..."
|
||||
RestoreStep2: "(2/5) Pemulihan binari 1Panel berjaya"
|
||||
RestoreStep3: "(3/5) Pemulihan skrip 1Panel berjaya"
|
||||
RestoreStep4: "(4/5) Pemulihan perkhidmatan 1Panel berjaya"
|
||||
RestoreStep5: "(5/5) Pemulihan data 1Panel berjaya"
|
||||
RestoreSuccessful: "Pemulihan berjaya! Memulakan semula perkhidmatan, sila tunggu..."
|
||||
UpdateCommands: "Kemas kini maklumat panel"
|
||||
UpdateUser: "Kemas kini pengguna panel"
|
||||
UpdatePassword: "Kemas kini kata laluan panel"
|
||||
UpdatePort: "Kemas kini port panel"
|
||||
UpdateUserNull: "Ralat: Pengguna panel kosong!"
|
||||
UpdateUserBlank: "Ralat: Pengguna panel mengandungi ruang kosong!"
|
||||
UpdateUserFormat: "Ralat: Format pengguna panel tidak sah! Hanya menyokong huruf Inggeris, Cina, nombor, dan , dengan panjang 3-30 aksara"
|
||||
UpdateUserErr: "Ralat: Gagal mengemas kini pengguna panel, {{ .err }}"
|
||||
UpdateSuccessful: "Kemas kini berjaya!"
|
||||
UpdateUserResult: "Pengguna panel: {{ .name }}"
|
||||
UpdatePasswordRead: "Ralat: Gagal membaca maklumat kata laluan panel, {{ .err }}"
|
||||
UpdatePasswordNull: "Ralat: Kata laluan panel kosong!"
|
||||
UpdateUPasswordBlank: "Ralat: Kata laluan panel mengandungi ruang kosong!"
|
||||
UpdatePasswordFormat: "Ralat: Kata laluan panel hanya menyokong huruf, nombor, dan aksara khas !@#$%*,.?, dengan panjang 8-30 aksara!"
|
||||
UpdatePasswordLen: "Ralat: Sila masukkan kata laluan lebih panjang daripada 6 aksara!"
|
||||
UpdatePasswordRe: "Sahkan kata laluan:"
|
||||
UpdatePasswordErr: "Ralat: Gagal mengemas kini kata laluan panel, {{ .err }}"
|
||||
UpdatePasswordSame: "Ralat: Kedua-dua kata laluan tidak sepadan, sila semak dan cuba lagi!"
|
||||
UpdatePasswordResult: "Kata laluan panel: {{ .name }}"
|
||||
UpdatePortFormat: "Ralat: Nombor port yang dimasukkan mesti antara 1 hingga 65535!"
|
||||
UpdatePortUsed: "Ralat: Nombor port sudah digunakan, sila semak dan cuba lagi!"
|
||||
UpdatePortErr: "Ralat: Gagal mengemas kini port panel, {{ .err }}"
|
||||
UpdatePortResult: "Port Panel: {{ .name }}"
|
||||
UpdatePortFirewallAdd: "Gagal menambah peraturan port firewall, {{ .err }}, sila tambah port {{ .name }} secara manual ke dalam peraturan firewall."
|
||||
UpdatePortFirewallDel: "Ralat: Gagal memadam port firewall, {{ .err }}"
|
||||
UpdatePortFirewallReload: "Gagal memuat semula firewall, {{ .err }}, sila muat semula firewall secara manual."
|
||||
UserInfo: "Dapatkan maklumat panel"
|
||||
UserInfoAddr: "Alamat panel: "
|
||||
UserInfoPassHelp: "Petua: Untuk menukar kata laluan, anda boleh menjalankan arahan: "
|
||||
DBConnErr: "Ralat: Gagal memulakan sambungan pangkalan data, {{ .err }}"
|
||||
SystemVersion: "Versi: "
|
||||
SystemMode: "Mod: "
|
||||
+398
-302
@@ -1,326 +1,422 @@
|
||||
ErrInvalidParams: "Erro nos parâmetros da solicitação: {{ .detail }}"
|
||||
ErrTokenParse: "Erro na geração do token: {{ .detail }}"
|
||||
ErrInitialPassword: "Erro na senha inicial"
|
||||
ErrInternalServer: "Erro interno do serviço: {{ .detail }}"
|
||||
ErrRecordExist: "Registro já existente"
|
||||
ErrRecordNotFound: "Registros não encontrados"
|
||||
ErrStructTransform: "Falha na conversão de tipo: {{ .detail }}"
|
||||
ErrNotLogin: "Usuário não está logado: {{ .detail }}"
|
||||
ErrPasswordExpired: "A senha atual expirou: {{ .detail }}"
|
||||
ErrNotSupportType: "O sistema não suporta o tipo atual: {{ .detail }}"
|
||||
ErrApiConfigStatusInvalid: "Acesso à interface da API proibido: {{ .detail }}"
|
||||
ErrApiConfigKeyInvalid: "Erro na chave da interface da API: {{ .detail }}"
|
||||
ErrApiConfigIPInvalid: "O IP da interface da API não está na lista de permissões: {{ .detail }}"
|
||||
ErrApiConfigDisable: "Esta interface proíbe o uso de chamadas de API: {{ .detail }}"
|
||||
ErrInvalidParams: 'Erro de parâmetro de solicitação: {{ .detail }}'
|
||||
ErrTokenParse: 'Erro de geração de token: {{ .detail }}'
|
||||
ErrInitialPassword: 'A senha original está incorreta'
|
||||
ErrInternalServer: 'Erro interno do servidor: {{ .detail }}'
|
||||
ErrRecordExist: 'O registro já existe'
|
||||
ErrRecordNotFound: 'Registro não encontrado'
|
||||
ErrStructTransform: 'Falha na conversão de tipo: {{ .err }}'
|
||||
ErrNotLogin: 'Usuário não logado: {{ .detail }}'
|
||||
ErrPasswordExpired: 'A senha atual expirou: {{ .detail }}'
|
||||
ErrNotSupportType: 'O sistema não suporta o tipo atual: {{ .name }}'
|
||||
ErrProxy: 'Erro de solicitação, verifique o status do nó: {{ .detail }}'
|
||||
ErrApiConfigStatusInvalid: 'O acesso à interface da API é proibido: {{ .detail }}'
|
||||
ErrApiConfigKeyInvalid: 'Erro de chave da interface da API: {{ .detail }}'
|
||||
ErrApiConfigIPInvalid: 'O IP usado para chamar a interface da API não está na lista de permissões: {{ .detail }}'
|
||||
ErrApiConfigDisable: 'Esta interface proíbe o uso de chamadas de interface de API: {{ .detail }}'
|
||||
ErrApiConfigKeyTimeInvalid: 'Erro de registro de data e hora da interface da API: {{ .detail }}'
|
||||
|
||||
#common
|
||||
ErrUsernameIsExist: "Nome de usuário já existe"
|
||||
ErrNameIsExist: "O nome já existe"
|
||||
ErrDemoEnvironment: "Servidor de demonstração, operação proibida!"
|
||||
ErrCmdTimeout: "Tempo limite de execução do comando excedido!"
|
||||
ErrCmdIllegal: "O comando contém caracteres ilegais. Por favor, modifique e tente novamente!"
|
||||
#comum
|
||||
ErrUsernameIsExist: 'Nome de usuário já existe'
|
||||
ErrNameIsExist: 'Nome já existe'
|
||||
ErrDemoEnvironment: 'Servidor de demonstração, esta operação é proibida!'
|
||||
ErrCmdTimeout: 'Tempo limite de execução do comando expirou!'
|
||||
ErrCmdIllegal: 'Há caracteres ilegais no comando de execução, modifique-o e tente novamente!'
|
||||
ErrPortExist: 'A porta {{ .port }} já está ocupada por {{ .type }} [{{ .name }}]'
|
||||
TYPE_APP: "Aplicação"
|
||||
TYPE_RUNTIME: "Ambiente de execução"
|
||||
TYPE_DOMAIN: "Nome de domínio"
|
||||
ErrTypePort: 'Erro no formato da porta {{ .name }}'
|
||||
ErrTypePortRange: 'O intervalo da porta deve estar entre 1-65535'
|
||||
Success: "Sucesso"
|
||||
Failed: "Falhou"
|
||||
SystemRestart: "A reinicialização do sistema causa interrupção da tarefa"
|
||||
ErrGroupIsDefault: "Grupo padrão, não pode ser excluído"
|
||||
ErrGroupIsInWebsiteUse: "O grupo está sendo usado por outros sites, não pode ser excluído"
|
||||
TYPE_APP: 'Aplicativo'
|
||||
TYPE_RUNTIME: 'Ambiente de tempo de execução'
|
||||
TYPE_DOMAIN: 'Nome de domínio'
|
||||
ErrTypePort: 'O formato da porta {{ .name }} está incorreto'
|
||||
ErrTypePortRange: 'O intervalo de portas precisa estar entre 1-65535'
|
||||
Success: 'Sucesso'
|
||||
Failed: 'Falhou'
|
||||
SystemRestart: 'Tarefa interrompida devido à reinicialização do sistema'
|
||||
ErrGroupIsDefault: 'Grupo padrão, não pode ser excluído'
|
||||
ErrGroupIsInWebsiteUse: 'O grupo está sendo usado por outro site e não pode ser excluído.'
|
||||
|
||||
#app
|
||||
ErrPortInUsed: "A porta {{ .detail }} já está em uso"
|
||||
ErrAppLimit: "O limite de instalação de aplicativos foi excedido"
|
||||
ErrAppRequired: "O aplicativo {{ .detail }} é necessário"
|
||||
ErrNotInstall: "Aplicativo não instalado"
|
||||
ErrPortInOtherApp: "A porta {{ .port }} já está em uso pelo aplicativo {{ .apps }}"
|
||||
ErrDbUserNotValid: "Banco de dados padrão, nome de usuário e senha não correspondem!"
|
||||
ErrDockerComposeNotValid: "Erro no formato do arquivo docker-compose!"
|
||||
ErrUpdateBuWebsite: "O aplicativo foi atualizado com sucesso, mas a modificação do arquivo de configuração do site falhou. Verifique a configuração!"
|
||||
Err1PanelNetworkFailed: "Falha ao criar a rede padrão do container! {{ .detail }}"
|
||||
ErrFileParse: "Falha ao analisar o arquivo docker-compose do aplicativo!"
|
||||
ErrInstallDirNotFound: "O diretório de instalação não existe"
|
||||
AppStoreIsUpToDate: "Atualizado"
|
||||
LocalAppVersionNull: "O aplicativo {{.name}} não está sincronizado com a versão! Não foi possível adicionar à lista de aplicativos"
|
||||
LocalAppVersionErr: "Falha ao sincronizar a versão {{.version}} do {{.name}}! {{.err}}"
|
||||
ErrFileNotFound: "O arquivo {{.name}} não existe"
|
||||
ErrFileParseApp: "Falha ao analisar o arquivo {{.name}} {{.err}}"
|
||||
ErrAppDirNull: "O diretório da versão não existe"
|
||||
LocalAppErr: "Falha ao sincronizar o aplicativo {{.name}}! {{.err}}"
|
||||
ErrContainerName: "O nome do container já existe"
|
||||
ErrAppSystemRestart: "A reinicialização do 1Panel causa a interrupção da tarefa"
|
||||
ErrCreateHttpClient: "Falha ao criar a solicitação HTTP {{.err}}"
|
||||
ErrHttpReqTimeOut: "Tempo limite da solicitação excedido {{.err}}"
|
||||
ErrHttpReqFailed: "Falha na solicitação {{.err}}"
|
||||
ErrHttpReqNotFound: "O arquivo não existe"
|
||||
ErrNoSuchHost: "Falha na conexão de rede"
|
||||
ErrImagePullTimeOut: "Tempo limite ao puxar a imagem"
|
||||
ErrContainerNotFound: "O container {{ .name }} não existe"
|
||||
ErrContainerMsg: "O container {{ .name }} está anormal, verifique o log na página do container para mais detalhes"
|
||||
ErrAppBackup: "Falha no backup do aplicativo {{ .name }} erro {{.err}}"
|
||||
ErrImagePull: "Falha ao puxar a imagem {{ .name }} erro {{.err}}"
|
||||
ErrVersionTooLow: "A versão atual do 1Panel é muito baixa para atualizar a loja de aplicativos, por favor atualize a versão"
|
||||
ErrAppNameExist: "O nome do aplicativo já existe"
|
||||
AppStoreIsSyncing: "A loja de aplicativos está sincronizando, tente novamente mais tarde"
|
||||
ErrGetCompose: "Falha ao obter o arquivo docker-compose.yml! {{ .detail }}"
|
||||
ErrAppWarn: "Status anormal, verifique o log"
|
||||
ErrAppParamKey: "Exceção no campo do parâmetro {{ .name }}"
|
||||
ErrAppUpgrade: "Falha ao atualizar o aplicativo {{ .name }} {{ .err }}"
|
||||
AppRecover: "Aplicativo {{ .name }} revertido"
|
||||
PullImageStart: "Iniciando o download da imagem {{ .name }}"
|
||||
PullImageSuccess: "Imagem baixada com sucesso"
|
||||
UpgradeAppStart: "Iniciando a atualização do aplicativo {{ .name }}"
|
||||
UpgradeAppSuccess: "Aplicativo {{ .name }} atualizado com sucesso"
|
||||
ErrAppIsDown: "{{ .name }} status do aplicativo é anormal, por favor, verifique"
|
||||
#backup
|
||||
ErrBackupInUsed: 'A conta de backup foi usada na tarefa agendada e não pode ser excluída.'
|
||||
ErrBackupCheck: 'Falha na conexão de teste da conta de backup {{ .err }}'
|
||||
ErrBackupLocalDelete: 'A exclusão da conta de backup do servidor local ainda não é suportada'
|
||||
ErrBackupLocalCreate: 'A criação de contas de backup do servidor local ainda não é suportada'
|
||||
|
||||
#file
|
||||
ErrFileCanNotRead: "Não foi possível ler o arquivo"
|
||||
ErrFileToLarge: "O arquivo é muito grande"
|
||||
ErrPathNotFound: "Caminho não encontrado"
|
||||
ErrMovePathFailed: "O caminho de destino não pode conter o caminho original!"
|
||||
ErrLinkPathNotFound: "O caminho de destino não existe!"
|
||||
ErrFileIsExist: "O arquivo ou diretório já existe!"
|
||||
ErrFileUpload: "Falha ao fazer upload do arquivo {{.name}} {{.detail}}"
|
||||
ErrFileDownloadDir: "Pasta de download não é suportada"
|
||||
ErrCmdNotFound: "O comando {{ .name }} não existe, por favor, instale este comando no host primeiro"
|
||||
ErrSourcePathNotFound: "O diretório de origem não existe"
|
||||
ErrFavoriteExist: "Este caminho já foi adicionado aos favoritos"
|
||||
ErrInvalidChar: "Caracteres ilegais são proibidos"
|
||||
ErrPathNotDelete: "O diretório selecionado não pode ser excluído"
|
||||
#aplicativo
|
||||
ErrPortInUsed: 'A porta {{ .detail }} já está ocupada!'
|
||||
ErrAppLimit: 'O número de aplicativos instalados excedeu o limite'
|
||||
ErrAppRequired: 'Instale primeiro o aplicativo {{ .detail }}'
|
||||
ErrNotInstall: 'Aplicativo não instalado'
|
||||
ErrPortInOtherApp: 'A porta {{ .port }} já está ocupada pelo aplicativo {{ .apps }}!'
|
||||
ErrDbUserNotValid: 'Banco de dados existente, nome de usuário e senha não correspondem!'
|
||||
ErrDockerComposeNotValid: 'O formato do arquivo docker-compose está incorreto'
|
||||
ErrUpdateBuWebsite: 'O aplicativo foi atualizado com sucesso, mas a modificação do arquivo de configuração do site falhou. Por favor, verifique a configuração! '
|
||||
Err1PanelNetworkFailed: 'Falha na criação da rede de contêiner padrão! {{ .detalhe }}'
|
||||
ErrFileParse: 'Falha na análise do arquivo docker-compose do aplicativo!'
|
||||
ErrInstallDirNotFound: 'O diretório de instalação não existe. Se precisar desinstalar, selecione Forçar desinstalação'
|
||||
AppStoreIsUpToDate: 'A loja de aplicativos já é a versão mais recente'
|
||||
LocalAppVersionNull: 'O aplicativo {{ .name }} não está sincronizado com a versão! Não é possível adicionar à lista de aplicativos'
|
||||
LocalAppVersionErr: '{{ .name }} sincronização da versão {{ .version }} falhou! {{ .err }}'
|
||||
ErrFileNotFound: 'arquivo {{ .name }} não existe'
|
||||
ErrFileParseApp: 'Falha na análise do arquivo {{ .name }} {{ .err }}'
|
||||
ErrAppDirNull: 'A pasta da versão não existe'
|
||||
LocalAppErr: 'Falha na sincronização do aplicativo {{ .name }}! {{ .err }}'
|
||||
ErrContainerName: 'O nome do contêiner já existe'
|
||||
ErrAppSystemRestart: '1A reinicialização do painel causou o encerramento da tarefa'
|
||||
ErrCreateHttpClient: 'Falha ao criar solicitação {{ .err }}'
|
||||
ErrHttpReqTimeOut: 'Tempo limite da solicitação esgotado {{ .err }}'
|
||||
ErrHttpReqFailed: 'Falha na solicitação {{ .err }}'
|
||||
ErrNoSuchHost: 'Não foi possível encontrar o servidor solicitado {{ .err }}'
|
||||
ErrHttpReqNotFound: 'O recurso solicitado {{ .err }} não pôde ser encontrado'
|
||||
ErrImagePullTimeOut: 'Tempo limite de extração de imagem'
|
||||
ErrContainerNotFound: '{{ .name }} container não existe'
|
||||
ErrContainerMsg: 'O contêiner {{ .name }} está anormal. Por favor, verifique o log na página do contêiner para obter detalhes.'
|
||||
ErrAppBackup: '{{ .name }} falha no backup do aplicativo {{ .err }}'
|
||||
ErrImagePull: 'Falha na extração de imagem {{ .err }}'
|
||||
ErrVersionTooLow: 'A versão atual do 1Panel é muito antiga para atualizar a App Store. Por favor, atualize a versão antes de operar.'
|
||||
ErrAppNameExist: 'O nome do aplicativo já existe'
|
||||
AppStoreIsSyncing: 'A App Store está sincronizando, tente novamente mais tarde'
|
||||
ErrGetCompose: 'Falha ao obter o arquivo docker-compose.yml! {{ .detail }}'
|
||||
ErrAppWarn: 'Status anormal, verifique o log'
|
||||
ErrAppParamKey: 'O campo de parâmetro {{ .name }} está anormal'
|
||||
ErrAppUpgrade: 'Falha na atualização do aplicativo {{ .name }} {{ .err }}'
|
||||
AppRecover: 'Reverter aplicativo {{ .name }}'
|
||||
PullImageStart: 'Comece a extrair a imagem {{ .name }}'
|
||||
PullImageSuccess: 'Imagem retirada com sucesso'
|
||||
UpgradeAppStart: 'Iniciar atualização do aplicativo {{ .name }}'
|
||||
UpgradeAppSuccess: 'Aplicativo {{ .name }} atualizado com sucesso'
|
||||
AppStoreIsLastVersion: 'A App Store já é a versão mais recente'
|
||||
AppStoreSyncSuccess: 'Sincronização da App Store bem-sucedida'
|
||||
SyncAppDetail: 'Sincronizar configuração do aplicativo'
|
||||
AppVersionNotMatch: 'o aplicativo {{ .name }} requer uma versão superior do 1Panel, ignorando a sincronização'
|
||||
MoveSiteDir: 'A atualização atual requer a migração do diretório do site OpenResty'
|
||||
MoveSiteToDir: 'Migrar diretório do site para {{ .name }}'
|
||||
ErrMoveSiteDir: 'Falha ao migrar o diretório do site'
|
||||
MoveSiteDirSuccess: 'Migração bem-sucedida do diretório do site'
|
||||
DeleteRuntimePHP: 'Excluir tempo de execução do PHP'
|
||||
CustomAppStoreNotConfig: 'Defina o endereço do pacote offline na app store'
|
||||
CustomAppStoreNotFound: 'Falha ao obter o pacote da app store, verifique se ele existe'
|
||||
CustomAppStoreFileValid: 'Os pacotes da App Store precisam estar no formato .tar.gz'
|
||||
PullImageTimeout: 'Tempo limite para puxar imagem, tente aumentar a aceleração da imagem ou altere para outra aceleração de imagem'
|
||||
ErrAppIsDown: 'O status do aplicativo {{ .name }} é anormal, verifique'
|
||||
ErrCustomApps: 'Há um aplicativo instalado, desinstale-o primeiro'
|
||||
ErrCustomRuntimes: 'Há um ambiente de execução instalado, exclua-o primeiro'
|
||||
|
||||
#website
|
||||
ErrDomainIsExist: "O domínio já existe"
|
||||
ErrAliasIsExist: "O alias já existe"
|
||||
ErrAppDelete: "Outro site usa este aplicativo"
|
||||
ErrGroupIsUsed: "O grupo está em uso e não pode ser excluído"
|
||||
ErrBackupMatch: "O arquivo de backup não corresponde aos dados parciais atuais do site: {{ .detail }}"
|
||||
ErrBackupExist: "O arquivo de backup corresponde a uma parte dos dados originais que não existe: {{ .detail }}"
|
||||
ErrPHPResource: "O ambiente local não suporta a troca!"
|
||||
ErrPathPermission: "Foi detectada uma pasta com permissões diferentes de 1000:1000 no diretório de índice, o que pode causar um erro de acesso negado ao acessar o site. Clique no botão salvar acima"
|
||||
ErrDomainIsUsed: "O domínio já está sendo usado pelo site {{ .name }}"
|
||||
ErrDomainFormat: "O formato do domínio {{ .name }} está incorreto"
|
||||
ErrDefaultAlias: "default é um nome reservado, por favor, use outro nome"
|
||||
ErrImageNotExist: "A imagem do ambiente de execução {{.name}} não existe, por favor, reconfigure o ambiente"
|
||||
#arquivo
|
||||
ErrFileCanNotRead: 'Este arquivo não suporta visualização'
|
||||
ErrFileToLarge: 'O arquivo é maior que 10M e não pode ser aberto'
|
||||
ErrPathNotFound: 'O diretório não existe'
|
||||
ErrMovePathFailed: 'O caminho de destino não pode conter o caminho original!'
|
||||
ErrLinkPathNotFound: 'O caminho de destino não existe!'
|
||||
ErrFileIsExist: 'O arquivo ou pasta já existe!'
|
||||
ErrFileUpload: '{{ .name }} falhou ao carregar o arquivo {{ .detail }}'
|
||||
ErrFileDownloadDir: 'A pasta de download não é suportada'
|
||||
ErrCmdNotFound: 'O comando {{ .name}} não existe, instale este comando no host primeiro'
|
||||
ErrSourcePathNotFound: 'O diretório de origem não existe'
|
||||
ErrFavoriteExist: 'Este caminho já foi favorito'
|
||||
ErrInvalidChar: 'Caracteres ilegais não são permitidos'
|
||||
ErrPathNotDelete: 'O diretório selecionado não pode ser excluído'
|
||||
|
||||
#site
|
||||
ErrDomainIsExist: 'Nome de domínio já existe'
|
||||
ErrAliasIsExist: 'Alias já existe'
|
||||
ErrAppDelete: 'Outros sites usam este aplicativo e não podem excluí-lo'
|
||||
ErrBackupMatch: 'O arquivo de backup não corresponde a alguns dados atuais do site {{ .detail }}'
|
||||
ErrBackupExist: 'A parte correspondente dos dados de origem no arquivo de backup não existe {{ .detail }}'
|
||||
ErrPHPResource: 'O ambiente operacional local não suporta comutação! '
|
||||
ErrPathPermission: 'Uma pasta com permissões diferentes de 1000:1000 foi detectada no diretório de índice, o que pode causar um erro de acesso negado no site. Clique no botão Salvar acima'
|
||||
ErrDomainIsUsed: 'O nome de domínio já está sendo usado pelo site [{{ .name }}]'
|
||||
ErrDomainFormat: 'o formato do nome de domínio {{ .name }} está incorreto'
|
||||
ErrDefaultAlias: 'padrão é um código reservado, use outro código'
|
||||
ErrParentWebsite: 'Você precisa excluir o subsite {{ .name }} primeiro'
|
||||
ErrBuildDirNotFound: 'O diretório de compilação não existe'
|
||||
ErrImageNotExist: 'A imagem do ambiente operacional {{ .name }} não existe, edite novamente o ambiente operacional'
|
||||
|
||||
#ssl
|
||||
ErrSSLCannotDelete: "O certificado {{ .name }} está sendo usado pelo site e não pode ser removido"
|
||||
ErrAccountCannotDelete: "O certificado associado à conta não pode ser excluído"
|
||||
ErrSSLApply: "O certificado foi assinado com sucesso, mas o recarregamento do OpenResty falhou, por favor, verifique a configuração!"
|
||||
ErrEmailIsExist: "O email já existe"
|
||||
ErrSSLKeyNotFound: "O arquivo da chave privada não existe"
|
||||
ErrSSLCertificateNotFound: "O arquivo do certificado não existe"
|
||||
ErrSSLKeyFormat: "Erro na verificação do arquivo da chave privada"
|
||||
ErrSSLCertificateFormat: "Erro no formato do arquivo do certificado, por favor, use o formato PEM"
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: "EabKid ou EabHmacKey não podem estar vazios"
|
||||
ErrOpenrestyNotFound: "O modo HTTP requer a instalação prévia do OpenResty"
|
||||
ApplySSLStart: "Iniciando aplicação do certificado, domínio [{{ .domain }}], método de aplicação [{{ .type }}]"
|
||||
dnsAccount: "DNS Automático"
|
||||
dnsManual: "DNS Manual"
|
||||
http: "HTTP"
|
||||
ApplySSLFailed: "A aplicação do certificado para [{{ .domain }}] falhou, {{.detail}}"
|
||||
ApplySSLSuccess: "Certificado para [{{ .domain }}] aplicado com sucesso!"
|
||||
DNSAccountName: "Conta DNS [{{ .name }}], provedor [{{.type}}]"
|
||||
PushDirLog: "Certificado enviado para o diretório [{{ .path }}] {{ .status }}"
|
||||
ErrDeleteCAWithSSL: "Há um certificado emitido sob a organização atual, não pode ser excluído"
|
||||
ErrDeleteWithPanelSSL: "A configuração SSL do painel usa este certificado, não pode ser excluído"
|
||||
ErrDefaultCA: "A autoridade certificadora padrão não pode ser excluída"
|
||||
ApplyWebSiteSSLLog: "Iniciando atualização do certificado do site {{ .name }}"
|
||||
ErrUpdateWebsiteSSL: "Falha ao atualizar o certificado do site {{ .name }}: {{ .err }}"
|
||||
ApplyWebSiteSSLSuccess: "Certificado do site atualizado com sucesso"
|
||||
ErrExecShell: "Falha na execução do script {{ .err }}"
|
||||
ExecShellStart: "Iniciando execução do script"
|
||||
ExecShellSuccess: "Script executado com sucesso"
|
||||
StartUpdateSystemSSL: "Iniciando atualização do certificado do sistema"
|
||||
UpdateSystemSSLSuccess: "Certificado do sistema atualizado com sucesso"
|
||||
ErrSSLCannotDelete: 'O certificado {{ .name }} está sendo usado por um site e não pode ser excluído'
|
||||
ErrAccountCannotDelete: 'A conta está associada a um certificado e não pode ser excluída'
|
||||
ErrSSLApply: 'Renovação do certificado bem-sucedida, falha na recarga do Openresty, verifique a configuração!'
|
||||
ErrEmailIsExist: 'A caixa de correio já existe'
|
||||
ErrSSLKeyNotFound: 'O arquivo de chave privada não existe'
|
||||
ErrSSLCertificateNotFound: 'O arquivo de certificado não existe'
|
||||
ErrSSLKeyFormat: 'Falha na verificação do arquivo de chave privada'
|
||||
ErrSSLCertificateFormat: 'O formato do arquivo de certificado está incorreto, use o formato pem'
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid ou EabHmacKey não podem estar em branco'
|
||||
ErrOpenrestyNotFound: 'O modo HTTP requer que o Openresty seja instalado primeiro'
|
||||
ApplySSLStart: 'Comece a solicitar um certificado, nome de domínio [{{ .domain }}] método de solicitação [{{ .type }}]'
|
||||
dnsAccount: 'DNS Automático'
|
||||
dnsManual: 'Manual DNS'
|
||||
http: 'HTTP'
|
||||
ApplySSLFailed: 'Falha na solicitação de certificado [{{ .domain }}], {{ .detail }} '
|
||||
ApplySSLSuccess: 'Solicitação de certificado [{{ .domain }}] realizada com sucesso! ! '
|
||||
DNSAccountName: 'Conta DNS [{{ .name }}] fornecedor [{{ .type }}]'
|
||||
PushDirLog: 'Certificado enviado para o diretório [{{ .path }}] {{ .status }}'
|
||||
ErrDeleteCAWithSSL: 'A organização atual tem um certificado que foi emitido e não pode ser excluído.'
|
||||
ErrDeleteWithPanelSSL: 'A configuração SSL do painel usa este certificado e não pode ser excluída'
|
||||
ErrDefaultCA: 'A autoridade padrão não pode ser excluída'
|
||||
ApplyWebSiteSSLLog: 'Iniciando a renovação do certificado do site {{ .name }}'
|
||||
ErrUpdateWebsiteSSL: 'Falha na atualização do certificado do site {{ .name }}: {{ .err }}'
|
||||
ApplyWebSiteSSLSuccess: 'Atualizar certificado do site com sucesso'
|
||||
ErrExecShell: 'Falha ao executar o script {{ .err }}'
|
||||
ExecShellStart: 'Iniciar execução do script'
|
||||
ExecShellSuccess: 'Execução do script bem-sucedida'
|
||||
StartUpdateSystemSSL: 'Iniciar atualização do certificado do sistema'
|
||||
UpdateSystemSSLSuccess: 'Atualizar certificado do sistema com sucesso'
|
||||
ErrWildcardDomain: 'Não é possível solicitar certificado de nome de domínio curinga no modo HTTP'
|
||||
|
||||
#mysql
|
||||
ErrUserIsExist: "O usuário atual já existe. Por favor, insira um novo usuário"
|
||||
ErrDatabaseIsExist: "O banco de dados atual já existe. Por favor, insira um novo banco de dados"
|
||||
ErrExecTimeOut: "Tempo de execução SQL expirado, por favor, verifique o banco de dados"
|
||||
ErrRemoteExist: "O banco de dados remoto já existe com este nome, por favor, modifique e tente novamente"
|
||||
ErrLocalExist: "O banco de dados local já existe com este nome, por favor, modifique e tente novamente"
|
||||
ErrUserIsExist: 'O usuário atual já existe, digite novamente'
|
||||
ErrDatabaseIsExist: 'O banco de dados atual já existe, digite novamente'
|
||||
ErrExecTimeOut: 'Tempo limite de execução do SQL expirou, verifique o banco de dados'
|
||||
ErrRemoteExist: 'O banco de dados remoto já existe com este nome, modifique-o e tente novamente'
|
||||
ErrLocalExist: 'O nome já existe no banco de dados local, modifique-o e tente novamente'
|
||||
|
||||
#redis
|
||||
ErrTypeOfRedis: "O tipo do arquivo de recuperação não corresponde ao modo de persistência atual. Modifique o tipo do arquivo e tente novamente"
|
||||
ErrTypeOfRedis: 'O tipo de arquivo de recuperação não corresponde ao método de persistência atual, modifique-o e tente novamente'
|
||||
|
||||
#container
|
||||
ErrInUsed: "{{ .detail }} está em uso e não pode ser excluído"
|
||||
ErrObjectInUsed: "Este objeto está em uso e não pode ser excluído"
|
||||
ErrPortRules: "O número de portas não corresponde. Por favor, insira novamente!"
|
||||
ErrPgImagePull: "Tempo limite ao tentar puxar a imagem. Configure a aceleração de imagem ou puxe manualmente a imagem postgres:16.0-alpine e tente novamente"
|
||||
#recipiente
|
||||
ErrInUsed: '{{ .detail }} está em uso e não pode ser excluído'
|
||||
ErrObjectInUsed: 'O objeto está em uso e não pode ser excluído'
|
||||
ErrObjectBeDependent: 'Esta imagem depende de outras imagens e não pode ser excluída'
|
||||
ErrPortRules: 'O número da porta não corresponde, digite novamente!'
|
||||
ErrPgImagePull: 'Tempo limite para extração de imagem. Configure a aceleração de imagem ou extraia manualmente a imagem {{ .name }} e tente novamente'
|
||||
|
||||
#runtime
|
||||
ErrDirNotFound: "A pasta de build não existe! Por favor, verifique a integridade dos arquivos!"
|
||||
ErrFileNotExist: "O arquivo {{ .detail }} não existe! Por favor, verifique a integridade do arquivo de origem!"
|
||||
ErrImageBuildErr: "Falha ao construir a imagem"
|
||||
ErrImageExist: "A imagem já existe!"
|
||||
ErrDelWithWebsite: "O ambiente operacional está associado a um site e não pode ser excluído"
|
||||
ErrRuntimeStart: "Falha ao iniciar"
|
||||
ErrPackageJsonNotFound: "O arquivo package.json não existe"
|
||||
ErrScriptsNotFound: "Nenhum item de configuração de scripts foi encontrado no package.json"
|
||||
ErrContainerNameNotFound: "Não foi possível obter o nome do contêiner. Por favor, verifique o arquivo .env"
|
||||
ErrNodeModulesNotFound: "A pasta node_modules não existe! Edite o ambiente de execução ou aguarde até que o ambiente seja iniciado com sucesso"
|
||||
#tempo de execução
|
||||
ErrDirNotFound: 'A pasta de compilação não existe! Verifique a integridade do arquivo!'
|
||||
ErrFileNotExist: 'O arquivo {{ .detail }} não existe! Verifique a integridade do arquivo de origem!'
|
||||
ErrImageBuildErr: 'Falha na criação da imagem'
|
||||
ErrImageExist: 'A imagem já existe!'
|
||||
ErrDelWithWebsite: 'O ambiente operacional já está associado a um site e não pode ser excluído'
|
||||
ErrRuntimeStart: 'Falha na inicialização'
|
||||
ErrPackageJsonNotFound: 'o arquivo package.json não existe'
|
||||
ErrScriptsNotFound: 'O item de configuração de scripts não foi encontrado em package.json'
|
||||
ErrContainerNameNotFound: 'Não foi possível obter o nome do contêiner, verifique o arquivo .env'
|
||||
ErrNodeModulesNotFound: 'A pasta node_modules não existe! Edite o ambiente de execução ou aguarde até que o ambiente de execução inicie com sucesso'
|
||||
ErrContainerNameIsNull: 'O nome do contêiner não existe'
|
||||
|
||||
#setting
|
||||
ErrBackupInUsed: "A conta de backup já está sendo usada em um cronjob e não pode ser excluída"
|
||||
ErrBackupCheck: "Falha ao testar a conexão com a conta de backup {{ .err }}"
|
||||
ErrOSSConn: "Não foi possível recuperar a versão mais recente. Por favor, verifique se o servidor pode se conectar à rede externa."
|
||||
ErrEntrance: "Erro nas informações da entrada de segurança. Por favor, verifique e tente novamente!"
|
||||
|
||||
#tool
|
||||
ErrConfigNotFound: "O arquivo de configuração não existe"
|
||||
ErrConfigParse: "Erro no formato do arquivo de configuração"
|
||||
ErrConfigIsNull: "O arquivo de configuração não pode estar vazio"
|
||||
ErrConfigDirNotFound: "O diretório de execução não existe"
|
||||
ErrConfigAlreadyExist: "Um arquivo de configuração com o mesmo nome já existe"
|
||||
ErrUserFindErr: "Falha ao encontrar o usuário {{ .name }} {{ .err }}"
|
||||
#ferramenta
|
||||
ErrConfigNotFound: 'O arquivo de configuração não existe'
|
||||
ErrConfigParse: 'O formato do arquivo de configuração está incorreto'
|
||||
ErrConfigIsNull: 'O arquivo de configuração não pode estar vazio'
|
||||
ErrConfigDirNotFound: 'O diretório de execução não existe'
|
||||
ErrConfigAlreadyExist: 'Um arquivo de configuração com o mesmo nome já existe'
|
||||
ErrUserFindErr: 'Falha na pesquisa do usuário {{ .name }} {{ .err }}'
|
||||
|
||||
#ssh
|
||||
ErrFirewallNone: "Nenhum serviço firewalld ou ufw foi detectado no sistema. Por favor, verifique e tente novamente!"
|
||||
ErrFirewallBoth: "Os serviços firewalld e ufw foram detectados no sistema. Para evitar conflitos, desinstale um deles e tente novamente!"
|
||||
ErrFirewallNone: 'Nenhum firewall de sistema ou serviço ufw detectado, verifique e tente novamente!'
|
||||
ErrFirewallBoth: 'Foi detectado que o sistema possui serviços firewalld e ufw. Para evitar conflitos, desinstale e tente novamente!'
|
||||
|
||||
#cronjob
|
||||
ErrBashExecute: "Erro na execução do script. Por favor, verifique as informações específicas na área de saída da tarefa."
|
||||
ErrCutWebsiteLog: "Falha ao cortar os logs do site {{ .name }}, erro {{ .err }}"
|
||||
CutWebsiteLogSuccess: "Logs do site {{ .name }} cortados com sucesso, caminho do backup {{ .path }}"
|
||||
ErrCutWebsiteLog: '{{ .name }} falha ao cortar o log do site, erro {{ .err }}'
|
||||
CutWebsiteLogSuccess: '{{ .name }} registro do site cortado com sucesso, caminho de backup {{ .path }}'
|
||||
HandleShell: 'Executar script {{ .name }}'
|
||||
HandleNtpSync: 'Sincronização de hora do sistema'
|
||||
HandleSystemClean: 'Limpeza de cache do sistema'
|
||||
|
||||
#toolbox
|
||||
ErrNotExistUser: "O usuário atual não existe. Por favor, modifique e tente novamente!"
|
||||
ErrBanAction: "Falha na configuração. O serviço {{ .name }} atual está indisponível, por favor, verifique e tente novamente!"
|
||||
ErrClamdscanNotFound: "O comando clamdscan não foi detectado. Por favor, consulte a documentação para instalá-lo!"
|
||||
#caixa de ferramentas
|
||||
ErrNotExistUser: 'O usuário atual não existe, modifique e tente novamente!'
|
||||
ErrBanAction: 'Falha na configuração. O serviço atual {{ .name }} não está disponível. Verifique e tente novamente!'
|
||||
ErrClamdscanNotFound: 'O comando clamdscan não foi detectado, consulte a documentação para instalá-lo!'
|
||||
|
||||
#waf
|
||||
ErrScope: "Modificação desta configuração não é suportada"
|
||||
ErrStateChange: "Falha ao alterar o status"
|
||||
ErrRuleExist: "Regra já existe"
|
||||
ErrRuleNotExist: "Regra não existe"
|
||||
ErrParseIP: "Formato de IP incorreto"
|
||||
ErrDefaultIP: "default é um nome reservado, por favor, use outro nome"
|
||||
ErrGroupInUse: "Grupo de IP está em uso pela lista negra/branca, não pode ser excluído"
|
||||
ErrGroupExist: "Nome do grupo de IP já existe"
|
||||
ErrIPRange: "Intervalo de IP incorreto"
|
||||
ErrIPExist: "IP já existe"
|
||||
urlDefense: "Regras de URL"
|
||||
urlHelper: "URLs Proibidas"
|
||||
dirFilter: "Filtro de Diretório"
|
||||
xss: "XSS"
|
||||
phpExec: "Execução de Script PHP"
|
||||
oneWordTrojan: "Trojan de Uma Palavra"
|
||||
appFilter: "Filtro de Diretório Perigoso de Aplicação"
|
||||
webshell: "Webshell"
|
||||
args: "Regras de Parâmetro"
|
||||
protocolFilter: "Filtro de Protocolo"
|
||||
javaFileter: "Filtro de Arquivo Perigoso Java"
|
||||
scannerFilter: "Filtro de Scanner"
|
||||
escapeFilter: "Filtro de Escape"
|
||||
customRule: "Regras Personalizadas"
|
||||
httpMethod: "Filtro de Método HTTP"
|
||||
fileExt: "Restrição de Upload de Arquivo"
|
||||
defaultIpBlack: "Grupo de IP Malicioso"
|
||||
cookie: "Regras de Cookie"
|
||||
urlBlack: "Lista Negra de URL"
|
||||
uaBlack: "Lista Negra de User-Agent"
|
||||
attackCount: "Limite de Frequência de Ataque"
|
||||
fileExtCheck: "Restrição de Upload de Arquivo"
|
||||
geoRestrict: "Restrição de Acesso Regional"
|
||||
unknownWebsite: "Acesso a Domínio Não Autorizado"
|
||||
notFoundCount: "Limite de Frequência de 404"
|
||||
headerDefense: "Regras de Cabeçalho"
|
||||
defaultUaBlack: "Regras de User-Agent"
|
||||
methodWhite: "Regras HTTP"
|
||||
captcha: "Verificação Humano-Máquina"
|
||||
fiveSeconds: "Verificação de 5 Segundos"
|
||||
vulnCheck: "Regras Complementares"
|
||||
acl: "Regras Personalizadas"
|
||||
sql: "Injeção de SQL"
|
||||
cc: "Limite de Frequência de Acesso"
|
||||
defaultUrlBlack: "Regras de URL"
|
||||
sqlInject: "Injeção de SQL"
|
||||
ErrDBNotExist: "Banco de Dados Não Existe"
|
||||
allow: "Permitir"
|
||||
deny: "Negar"
|
||||
ErrScope: 'A modificação desta configuração não é suportada'
|
||||
ErrStateChange: 'Falha na alteração de estado'
|
||||
ErrRuleExist: 'A regra já existe'
|
||||
ErrRuleNotExist: 'A regra não existe'
|
||||
ErrParseIP: 'Formato de IP errado'
|
||||
ErrDefaultIP: 'padrão é um nome reservado, altere-o para outro nome'
|
||||
ErrGroupInUse: 'O grupo de IP é usado pela lista negra/lista branca e não pode ser excluído'
|
||||
ErrGroupExist: 'O nome do grupo IP já existe'
|
||||
ErrIPRange: 'Intervalo de IP errado'
|
||||
ErrIPExist: 'IP já existe'
|
||||
urlDefense: 'regras de URL'
|
||||
urlHelper: 'URL proibido'
|
||||
dirFilter: 'Filtro de diretório'
|
||||
xss: 'XSS'
|
||||
phpExec: 'Execução de script PHP'
|
||||
oneWordTrojan: 'Cavalo de Tróia de Uma Palavra'
|
||||
appFilter: 'Aplicar filtragem de diretório perigosa'
|
||||
webshell: 'Webshell'
|
||||
args: 'Regras de parâmetros'
|
||||
protocolFilter: 'Filtragem de protocolo'
|
||||
javaFileter: 'Filtro de arquivo perigoso Java'
|
||||
scannerFilter: 'Filtro do scanner'
|
||||
escapeFilter: 'filtro de escape'
|
||||
customRule: 'Regra personalizada'
|
||||
httpMethod: 'Filtragem de método HTTP'
|
||||
fileExt: 'Restrições de upload de arquivo'
|
||||
defaultIpBlack: 'Grupo de IP malicioso'
|
||||
cookie: 'Regras de cookies'
|
||||
urlBlack: 'lista negra de URLs'
|
||||
uaBlack: 'Lista negra de agentes do usuário'
|
||||
attackCount: 'Limite de frequência de ataque'
|
||||
fileExtCheck: 'Restrições de upload de arquivo'
|
||||
geoRestrict: 'Restrições de acesso regionais'
|
||||
unknownWebsite: 'Acesso não autorizado ao nome de domínio'
|
||||
notFoundCount: 'Limite de taxa 404'
|
||||
headerDefense: 'Regras de cabeçalho'
|
||||
defaultUaBlack: 'Regras do agente do usuário'
|
||||
methodWhite: 'regras HTTP'
|
||||
captcha: 'verificação homem-máquina'
|
||||
fiveSeconds: 'verificação de 5 segundos'
|
||||
vulnCheck: 'Regras suplementares'
|
||||
acl: 'Regras personalizadas'
|
||||
sql: 'injeção de SQL'
|
||||
cc: 'Limite de frequência de acesso'
|
||||
defaultUrlBlack: 'regras de URL'
|
||||
sqlInject: 'injeção de SQL'
|
||||
ErrDBNotExist: 'O banco de dados não existe'
|
||||
allow: 'permitir'
|
||||
deny: 'negar'
|
||||
OpenrestyNotFound: 'Openresty não está instalado'
|
||||
|
||||
#license
|
||||
ErrLicense: "Erro no formato da licença, por favor, verifique e tente novamente!"
|
||||
ErrLicenseCheck: "Falha na verificação da licença, por favor, verifique e tente novamente!"
|
||||
ErrLicenseSave: "Falha ao salvar as informações da licença, erro {{ .err }}, por favor, tente novamente!"
|
||||
ErrLicenseSync: "Falha ao sincronizar as informações da licença, nenhuma informação de licença detectada no banco de dados!"
|
||||
ErrXpackNotFound: "Esta seção é um recurso da edição profissional. Por favor, importe a licença primeiro na interface Configurações do Painel - Licença."
|
||||
ErrXpackNotActive: "Esta seção é um recurso da edição profissional. Por favor, sincronize o status da licença primeiro na interface Configurações do Painel - Licença."
|
||||
ErrXpackOutOfDate: "A licença atual expirou, por favor, reimporte a licença na interface Configurações do Painel - Licença."
|
||||
ErrXpackLost: "A licença atingiu o número máximo de tentativas de reexecução. Por favor, acesse as páginas [Configurações] [Licença] e clique manualmente no botão de sincronização para garantir que os recursos da versão profissional funcionem corretamente."
|
||||
ErrXpackTimeout: "Tempo limite de solicitação, a conexão de rede pode estar instável, por favor, tente novamente mais tarde!"
|
||||
#tarefa
|
||||
TaskStart: '{{ .name }} A tarefa inicia [START]'
|
||||
TaskEnd: '{{ .name }} Tarefa concluída [CONCLUÍDA]'
|
||||
TaskFailed: '{{ .name }} tarefa falhou'
|
||||
TaskTimeout: '{{ .name }} expirou'
|
||||
TaskSuccess: '{{ .name }} Tarefa bem-sucedida'
|
||||
TaskRetry: 'Iniciar {{ .name }}ª nova tentativa'
|
||||
SubTaskSuccess: '{{ .name }} bem-sucedido'
|
||||
SubTaskFailed: '{{ .name }} falhou: {{ .err }}'
|
||||
TaskInstall: 'Instalar'
|
||||
TaskUninstall: 'Desinstalar'
|
||||
TaskCreate: 'Criar'
|
||||
TaskDelete: 'Excluir'
|
||||
TaskUpgrade: 'Atualizar'
|
||||
TaskUpdate: 'Atualizar'
|
||||
TaskRestart: 'Reiniciar'
|
||||
Backup de Tarefa: 'Backup'
|
||||
TaskRecover: 'Recuperar'
|
||||
TaskRollback: 'Reverter'
|
||||
TaskPull: 'Puxar'
|
||||
TaskBuild: 'Construir'
|
||||
TaskPush: 'Empurrar'
|
||||
TaskHandle: 'Executar'
|
||||
Website: 'Site'
|
||||
App: 'Aplicativo'
|
||||
Runtime: 'Ambiente de tempo de execução'
|
||||
Database: 'Banco de dados'
|
||||
ConfigFTP: 'Criar usuário FTP {{ .name }}'
|
||||
ConfigOpenresty: 'Criar arquivo de configuração Openresty'
|
||||
InstallAppSuccess: 'Aplicativo {{ .name }} instalado com sucesso'
|
||||
ConfigRuntime: 'Configurar o ambiente de tempo de execução'
|
||||
ConfigApp: 'Aplicativo de configuração'
|
||||
SuccessStatus: '{{ .name }} bem-sucedido'
|
||||
FailedStatus: '{{ .name }} falhou {{ .err }}'
|
||||
HandleLink: 'Manipular associação de aplicativos'
|
||||
HandleDatabaseApp: 'Manipulando parâmetros do aplicativo'
|
||||
ExecShell: 'Executar script {{ .name }}'
|
||||
PullImage: 'Puxar imagem'
|
||||
Start: 'Iniciar'
|
||||
Run: 'Iniciar'
|
||||
Stop: 'Pare'
|
||||
Image: 'Espelho'
|
||||
Compose: 'Orquestração'
|
||||
Container: 'Recipiente'
|
||||
AppLink: 'Aplicativo vinculado'
|
||||
EnableSSL: 'Habilitar HTTPS'
|
||||
AppStore: 'Loja de aplicativos'
|
||||
TaskSync: 'Sincronizar'
|
||||
LocalApp: 'Aplicativo local'
|
||||
SubTask: 'Subtarefa'
|
||||
RuntimeExtension: 'Extensão do ambiente de tempo de execução'
|
||||
TaskIsExecuting: 'A tarefa está em execução'
|
||||
CustomAppstore: 'Armazém de aplicativos personalizados'
|
||||
|
||||
#license
|
||||
ErrAlert: "Erro no formato das informações do alerta, por favor, verifique e tente novamente!"
|
||||
ErrAlertPush: "Erro no envio do alerta, por favor, verifique e tente novamente!"
|
||||
ErrAlertSave: "Erro ao salvar o alerta, por favor, verifique e tente novamente!"
|
||||
ErrAlertSync: "Erro na sincronização do alerta, por favor, verifique e tente novamente!"
|
||||
ErrAlertRemote: "Erro de alerta remoto, por favor, verifique e tente novamente!"
|
||||
# tarefa - ai
|
||||
OllamaModelPull: 'Puxar modelo Ollama {{ .name }}'
|
||||
OllamaModelSize: 'Obtenha o tamanho do modelo Ollama {{ .name }}'
|
||||
|
||||
#cmd
|
||||
AppVersion: "Versão do aplicativo"
|
||||
AppCommands: "Comandos relacionados ao aplicativo"
|
||||
AppInit: "Inicializar aplicativo"
|
||||
AppKeyVal: "Chave do aplicativo (somente suporta inglês)"
|
||||
AppCreateFileErr: "Falha ao criar o arquivo {{ .name }} {{ .err }}"
|
||||
AppCreateDirErr: "Falha ao criar a pasta {{ .name }} {{ .err }}"
|
||||
AppMissKey: "Chave do aplicativo ausente, use -k para especificar"
|
||||
AppMissVersion: "Versão do aplicativo ausente, use -v para especificar"
|
||||
AppVersionExist: "A versão já existe!"
|
||||
AppCreateSuccessful: "Criação bem-sucedida!"
|
||||
AppWriteErr: "Falha ao escrever no arquivo {{ .name }} {{ .err }}"
|
||||
SudoHelper: "Por favor, use {{ .cmd }} ou altere para o usuário root"
|
||||
ListenIPCommands: "Trocar IP de escuta"
|
||||
ListenIPv4: "Escutando em IPv4"
|
||||
ListenIPv6: "Escutando em IPv6"
|
||||
ListenChangeSuccessful: "Troca bem-sucedida! Agora escutando em {{ .value }}"
|
||||
ResetCommands: "Redefinir informações do sistema"
|
||||
ResetMFA: "Cancelar autenticação de dois fatores do 1Panel"
|
||||
ResetHttps: "Cancelar login https do 1Panel"
|
||||
ResetEntrance: "Cancelar entrada segura do 1Panel"
|
||||
ResetIPs: "Cancelar restrições de IP autorizado do 1Panel"
|
||||
ResetDomain: "Cancelar vinculação de domínio do 1Panel"
|
||||
RestoreCommands: "Restaurar serviço e dados do 1Panel"
|
||||
RestoreNoSuchFile: "Nenhum arquivo disponível para restauração"
|
||||
RestoreStep1: "(1/5) Iniciando a restauração do serviço e dados do 1Panel a partir do diretório {{ .name }}..."
|
||||
RestoreStep2: "(2/5) Restauração do binário do 1Panel bem-sucedida"
|
||||
RestoreStep3: "(3/5) Restauração dos scripts do 1Panel bem-sucedida"
|
||||
RestoreStep4: "(4/5) Restauração do serviço do 1Panel bem-sucedida"
|
||||
RestoreStep5: "(5/5) Restauração dos dados do 1Panel bem-sucedida"
|
||||
RestoreSuccessful: "Restauração bem-sucedida! Reiniciando o serviço, por favor, aguarde..."
|
||||
UpdateCommands: "Atualizar informações do painel"
|
||||
UpdateUser: "Atualizar usuário do painel"
|
||||
UpdatePassword: "Atualizar senha do painel"
|
||||
UpdatePort: "Atualizar porta do painel"
|
||||
UpdateUserNull: "Erro: usuário do painel está vazio!"
|
||||
UpdateUserBlank: "Erro: o usuário do painel contém espaços!"
|
||||
UpdateUserFormat: "Erro: Formato de usuário do painel inválido! Apenas suporta inglês, chinês, números e _, comprimento de 3-30."
|
||||
UpdateUserErr: "Erro: Falha ao atualizar o usuário do painel, {{ .err }}"
|
||||
UpdateSuccessful: "Atualização bem-sucedida!"
|
||||
UpdateUserResult: "Usuário do painel: {{ .name }}"
|
||||
UpdatePasswordRead: "Erro: Falha ao ler as informações da senha do painel, {{ .err }}"
|
||||
UpdatePasswordNull: "Erro: A senha do painel está vazia!"
|
||||
UpdateUPasswordBlank: "Erro: A senha do painel contém espaços!"
|
||||
UpdatePasswordFormat: "Erro: A senha do painel suporta apenas letras, números, caracteres especiais !@#$%*_,.?, comprimento de 8-30!"
|
||||
UpdatePasswordLen: "Erro: Por favor, insira uma senha com mais de 6 caracteres!"
|
||||
UpdatePasswordRe: "Confirmar senha:"
|
||||
UpdatePasswordErr: "Erro: Falha ao atualizar a senha do painel, {{ .err }}"
|
||||
UpdatePasswordSame: "Erro: As duas senhas não correspondem, por favor, verifique e tente novamente!"
|
||||
UpdatePasswordResult: "Senha do painel: {{ .name }}"
|
||||
UpdatePortFormat: "Erro: O número da porta deve estar entre 1 e 65535!"
|
||||
UpdatePortUsed: "Erro: O número da porta já está em uso, por favor, verifique e tente novamente!"
|
||||
UpdatePortErr: "Erro: Falha ao atualizar a porta do painel, {{ .err }}"
|
||||
UpdatePortResult: "Porta do painel: {{ .name }}"
|
||||
UpdatePortFirewallAdd: "Falha ao adicionar regra de porta ao firewall, {{ .err }}, por favor, adicione manualmente a porta {{ .name }} às regras do firewall."
|
||||
UpdatePortFirewallDel: "Erro: Falha ao excluir a porta do firewall, {{ .err }}"
|
||||
UpdatePortFirewallReload: "Falha ao recarregar o firewall, {{ .err }}, por favor, recarregue o firewall manualmente."
|
||||
UserInfo: "Obter informações do painel"
|
||||
UserInfoAddr: "Endereço do painel: "
|
||||
UserInfoPassHelp: "Dica: Para alterar a senha, você pode executar o comando: "
|
||||
DBConnErr: "Erro: Falha ao inicializar a conexão com o banco de dados, {{ .err }}"
|
||||
SystemVersion: "versão: "
|
||||
SystemMode: "modo: "
|
||||
# tarefa-instantânea
|
||||
Snapshot: 'Instantâneo'
|
||||
SnapDBInfo: 'Escrever informações do banco de dados 1Panel'
|
||||
SnapCopy: 'Copiar arquivos e diretórios {{ .name }}'
|
||||
SnapNewDB: 'Inicializar conexão com o banco de dados {{ .name }}'
|
||||
SnapDeleteOperationLog: 'Excluir log de operação'
|
||||
SnapDeleteLoginLog: 'Excluir log de acesso'
|
||||
SnapDeleteMonitor: 'Excluir dados de monitoramento'
|
||||
SnapRemoveSystemIP: 'Remover IP do sistema'
|
||||
SnapBaseInfo: 'Escreva informações básicas do 1Panel'
|
||||
SnapInstallApp: 'Fazer backup dos aplicativos instalados do 1Panel'
|
||||
SnapDockerSave: 'Compactar aplicativos instalados'
|
||||
SnapLocalBackup: 'Backup do diretório de backup local do 1Panel'
|
||||
SnapCompressBackup: 'Compactar diretório de backup local'
|
||||
SnapPanelData: 'Backup do diretório de dados do 1Panel'
|
||||
SnapCompressPanel: 'Diretório de dados compactados'
|
||||
SnapWebsite: 'Backup do diretório do site 1Panel'
|
||||
SnapCloseDBConn: 'Fechar a conexão com o banco de dados'
|
||||
SnapCompress: 'Criar arquivos de instantâneos'
|
||||
SnapCompressFile: 'Compactar arquivo de instantâneo'
|
||||
SnapCheckCompress: 'Verificar arquivo de compactação de instantâneo'
|
||||
SnapCompressSize: 'Tamanho do arquivo de instantâneo {{ .name }}'
|
||||
SnapUpload: 'Carregar arquivo de instantâneo'
|
||||
SnapLoadBackup: 'Obter informações da conta de backup'
|
||||
SnapUploadTo: 'Carregar arquivo de instantâneo para {{ .name }}'
|
||||
SnapUploadRes: 'Carregar arquivo de instantâneo para {{ .name }}'
|
||||
|
||||
SnapshotRecover: 'Restauração de instantâneo'
|
||||
RecoverDownload: 'Baixar arquivo de instantâneo'
|
||||
Download: 'Baixar'
|
||||
RecoverDownloadAccount: 'Obter conta de backup de download de instantâneo {{ .name }}'
|
||||
RecoverDecompress: 'Descompacte arquivos compactados de instantâneos'
|
||||
Decompress: 'Descompressão'
|
||||
BackupBeforeRecover: 'Fazer backup de dados relacionados ao sistema antes do snapshot'
|
||||
Readjson: 'Ler o arquivo Json no snapshot'
|
||||
ReadjsonPath: 'Obtenha o caminho do arquivo Json no snapshot'
|
||||
ReadjsonContent: 'Ler arquivo Json'
|
||||
ReadjsonMarshal: 'Processamento de escape JSON'
|
||||
RecoverApp: 'Restaurar aplicativos instalados'
|
||||
RecoverWebsite: 'Recuperar diretório de sites'
|
||||
RecoverAppImage: 'Restaurar backup de imagem instantânea'
|
||||
RecoverCompose: 'Restaurar outro conteúdo do compositor'
|
||||
RecoverComposeList: 'Obter todos os compositores para serem restaurados'
|
||||
RecoverComposeItem: 'Recuperar composição {{ .name }}'
|
||||
RecoverAppEmpty: 'Nenhum backup de imagem de aplicativo foi encontrado no arquivo de instantâneo'
|
||||
RecoverBaseData: 'Recuperar dados e arquivos básicos'
|
||||
RecoverDaemonJsonEmpty: 'O arquivo de instantâneo e a máquina atual não têm o arquivo daemon.json de configuração do contêiner'
|
||||
RecoverDaemonJson: 'Restaurar arquivo daemon.json de configuração do contêiner'
|
||||
RecoverDBData: 'Recuperar dados do banco de dados'
|
||||
RecoverBackups: 'Restaurar diretório de backup local'
|
||||
RecoverPanelData: 'Diretório de dados de recuperação'
|
||||
|
||||
# tarefa - contêiner
|
||||
ContainerNewCliet: 'Inicializar cliente Docker'
|
||||
ContainerImagePull: 'Puxar imagem do contêiner {{ .name }}'
|
||||
ContainerRemoveOld: 'Remover o contêiner original {{ .name }}'
|
||||
ContainerImageCheck: 'Verifique se a imagem é extraída normalmente'
|
||||
ContainerLoadInfo: 'Obter informações básicas do contêiner'
|
||||
ContainerRecreate: 'A atualização do contêiner falhou, agora iniciando a restauração do contêiner original'
|
||||
ContainerCreate: 'Criar um novo contêiner {{ .name }}'
|
||||
ContainerCreateFailed: 'Falha na criação do contêiner, exclua o contêiner com falha'
|
||||
ContainerStartCheck: 'Verifique se o contêiner foi iniciado'
|
||||
|
||||
# tarefa - imagem
|
||||
ImageBuild: 'Construção de imagem'
|
||||
ImageBuildStdoutCheck: 'Analisar conteúdo de saída da imagem'
|
||||
ImaegBuildRes: 'Saída da criação da imagem: {{ .name }}'
|
||||
ImagePull: 'Puxar imagem'
|
||||
ImageRepoAuthFromDB: 'Obter informações de autenticação do repositório do banco de dados'
|
||||
ImaegPullRes: 'Saída de extração de imagem: {{ .name }}'
|
||||
ImagePush: 'Enviar imagem'
|
||||
ImageRenameTag: 'Modificar tag de imagem'
|
||||
ImageNewTag: 'Nova tag de imagem {{ .name }}'
|
||||
ImaegPushRes: 'Saída de envio de imagem: {{ .name }}'
|
||||
ComposeCreate: 'Criar uma composição'
|
||||
ComposeCreateRes: 'Compose cria saída: {{ .name }}'
|
||||
|
||||
# tarefa - site
|
||||
BackupNginxConfig: 'Fazer backup do arquivo de configuração do OpenResty do site'
|
||||
CompressFileSuccess: 'Diretório compactado com sucesso, compactado para {{ .name }}'
|
||||
CompressDir: 'Diretório de compressão'
|
||||
DeCompressFile: 'Descompacte o arquivo {{ .name }}'
|
||||
ErrCheckValid: 'Falha na verificação do arquivo de backup, {{ .name }}'
|
||||
Rollback: 'Reversão'
|
||||
websiteDir: 'Diretório de sites'
|
||||
RecoverFailedStartRollBack: 'Falha na recuperação, iniciar reversão'
|
||||
AppBackupFileIncomplete: 'O arquivo de backup está incompleto e não contém os arquivos app.json ou app.tar.gz'
|
||||
AppAttributesNotMatch: 'O tipo ou nome do aplicativo não corresponde'
|
||||
|
||||
#alerta
|
||||
ErrAlert: 'O formato da mensagem de aviso está incorreto, verifique e tente novamente!'
|
||||
ErrAlertPush: 'Erro ao enviar informações de alerta, verifique e tente novamente!'
|
||||
ErrAlertSave: 'Erro ao salvar as informações do alarme. Verifique e tente novamente!'
|
||||
ErrAlertSync: 'Erro de sincronização de informações de alarme, verifique e tente novamente!'
|
||||
ErrAlertRemote: 'Erro remoto na mensagem de alarme, verifique e tente novamente!'
|
||||
+402
-309
@@ -1,329 +1,422 @@
|
||||
ErrInvalidParams: "Ошибка параметра запроса: {{ .detail }}"
|
||||
ErrTokenParse: "Ошибка генерации токена: {{ .detail }}"
|
||||
ErrInitialPassword: "Ошибка исходного пароля"
|
||||
ErrInternalServer: "Внутренняя ошибка сервиса: {{ .detail }}"
|
||||
ErrRecordExist: "Запись уже существует"
|
||||
ErrRecordNotFound: "Записи не найдены"
|
||||
ErrStructTransform: "Ошибка преобразования типа: {{ .detail }}"
|
||||
ErrNotLogin: "Пользователь не вошел в систему: {{ .detail }}"
|
||||
ErrPasswordExpired: "Текущий пароль истек: {{ .detail }}"
|
||||
ErrNotSupportType: "Система не поддерживает текущий тип: {{ .detail }}"
|
||||
ErrApiConfigStatusInvalid: "Доступ к API интерфейсу запрещен: {{ .detail }}"
|
||||
ErrApiConfigKeyInvalid: "Ошибка ключа API интерфейса: {{ .detail }}"
|
||||
ErrApiConfigIPInvalid: "IP API интерфейса отсутствует в белом списке: {{ .detail }}"
|
||||
ErrApiConfigDisable: "Этот интерфейс запрещает использование вызовов API интерфейса: {{ .detail }}"
|
||||
ErrApiConfigKeyTimeInvalid: "Ошибка временной метки интерфейса API: {{ .detail }}"
|
||||
ErrInvalidParams: 'Ошибка параметра запроса: {{ .detail }}'
|
||||
ErrTokenParse: 'Ошибка генерации токена: {{ .detail }}'
|
||||
ErrInitialPassword: 'Исходный пароль неверный'
|
||||
ErrInternalServer: 'Внутренняя ошибка сервера: {{ .detail }}'
|
||||
ErrRecordExist: 'Запись уже существует'
|
||||
ErrRecordNotFound: 'Запись не найдена'
|
||||
ErrStructTransform: 'Не удалось преобразовать тип: {{ .err }}'
|
||||
ErrNotLogin: 'Пользователь не вошел в систему: {{ .detail }}'
|
||||
ErrPasswordExpired: 'Срок действия текущего пароля истек: {{ .detail }}'
|
||||
ErrNotSupportType: 'Система не поддерживает текущий тип: {{ .name }}'
|
||||
ErrProxy: 'Ошибка запроса, проверьте статус узла: {{ .detail }}'
|
||||
ErrApiConfigStatusInvalid: 'Доступ к интерфейсу API запрещен: {{ .detail }}'
|
||||
ErrApiConfigKeyInvalid: 'Ошибка ключа интерфейса API: {{ .detail }}'
|
||||
ErrApiConfigIPInvalid: 'IP-адрес, используемый для вызова интерфейса API, отсутствует в белом списке: {{ .detail }}'
|
||||
ErrApiConfigDisable: 'Этот интерфейс запрещает использование вызовов интерфейса API: {{ .detail }}'
|
||||
ErrApiConfigKeyTimeInvalid: 'Ошибка временной метки интерфейса API: {{ .detail }}'
|
||||
|
||||
#common
|
||||
ErrUsernameIsExist: "Имя пользователя уже существует"
|
||||
ErrNameIsExist: "Имя уже существует"
|
||||
ErrDemoEnvironment: "Демо-сервер, операция запрещена!"
|
||||
ErrCmdTimeout: "Время выполнения команды истекло!"
|
||||
ErrCmdIllegal: "Команда содержит недопустимые символы. Пожалуйста, измените и попробуйте снова!"
|
||||
ErrPortExist: "{{ .port }} порт уже занят {{ .type }} [{{ .name }}]"
|
||||
TYPE_APP: "Приложение"
|
||||
TYPE_RUNTIME: "Среда выполнения"
|
||||
TYPE_DOMAIN: "Доменное имя"
|
||||
ErrTypePort: "Ошибка формата порта {{ .name }}"
|
||||
ErrTypePortRange: "Диапазон портов должен быть между 1-65535"
|
||||
Success: "Успех"
|
||||
Failed: "Неудача"
|
||||
SystemRestart: "Перезагрузка системы приводит к прерыванию задачи"
|
||||
ErrGroupIsDefault: "Группа по умолчанию, невозможно удалить"
|
||||
ErrGroupIsInWebsiteUse: "Группа используется другими сайтами, невозможно удалить"
|
||||
#общий
|
||||
ErrUsernameIsExist: 'Имя пользователя уже существует'
|
||||
ErrNameIsExist: 'Имя уже существует'
|
||||
ErrDemoEnvironment: 'Демо-сервер, эта операция запрещена!'
|
||||
ErrCmdTimeout: 'Время выполнения команды истекло!'
|
||||
ErrCmdIllegal: 'В команде выполнения есть недопустимые символы. Измените ее и повторите попытку!'
|
||||
ErrPortExist: 'Порт {{ .port }} уже занят {{ .type }} [{{ .name }}]'
|
||||
TYPE_APP: 'Приложение'
|
||||
TYPE_RUNTIME: 'Среда выполнения'
|
||||
TYPE_DOMAIN: 'Доменное имя'
|
||||
ErrTypePort: 'Формат порта {{ .name }} неверен'
|
||||
ErrTypePortRange: 'Диапазон портов должен быть в пределах 1-65535'
|
||||
Success: 'Успех'
|
||||
Failed: 'Не удалось'
|
||||
SystemRestart: 'Задача прервана из-за перезапуска системы'
|
||||
ErrGroupIsDefault: 'Группа по умолчанию, не может быть удалена'
|
||||
ErrGroupIsInWebsiteUse: 'Группа используется другим веб-сайтом и не может быть удалена.'
|
||||
|
||||
#app
|
||||
ErrPortInUsed: "Порт {{ .detail }} уже используется"
|
||||
ErrAppLimit: "Превышен лимит установки приложения"
|
||||
ErrAppRequired: "Требуется приложение {{ .detail }}"
|
||||
ErrNotInstall: "Приложение не установлено"
|
||||
ErrPortInOtherApp: "Порт {{ .port }} уже используется приложением {{ .apps }}"
|
||||
ErrDbUserNotValid: "База данных акций, имя пользователя и пароль не совпадают!"
|
||||
ErrDockerComposeNotValid: "Ошибка формата файла docker-compose!"
|
||||
ErrUpdateBuWebsite: "Приложение успешно обновлено, но изменение конфигурационного файла веб-сайта не удалось, пожалуйста, проверьте конфигурацию!"
|
||||
Err1PanelNetworkFailed: "Не удалось создать сеть контейнера по умолчанию! {{ .detail }}"
|
||||
ErrFileParse: "Не удалось разобрать файл docker-compose приложения!"
|
||||
ErrInstallDirNotFound: "Директория установки не существует"
|
||||
AppStoreIsUpToDate: "Обновлено"
|
||||
LocalAppVersionNull: "Приложение {{.name}} не синхронизировано с версией! Невозможно добавить в список приложений"
|
||||
LocalAppVersionErr: "{{.name}} не удалось синхронизировать версию {{.version}}! {{.err}}"
|
||||
ErrFileNotFound: "Файл {{.name}} не существует"
|
||||
ErrFileParseApp: "Не удалось проанализировать файл {{.name}} {{.err}}"
|
||||
ErrAppDirNull: "Папка версии не существует"
|
||||
LocalAppErr: "Синхронизация приложения {{.name}} не удалась! {{.err}}"
|
||||
ErrContainerName: "Имя контейнера уже существует"
|
||||
ErrAppSystemRestart: "Перезапуск 1Panel приводит к завершению задачи"
|
||||
ErrCreateHttpClient: "Не удалось создать HTTP-запрос {{.err}}"
|
||||
ErrHttpReqTimeOut: "Превышено время ожидания запроса {{.err}}"
|
||||
ErrHttpReqFailed: "Запрос не выполнен {{.err}}"
|
||||
ErrHttpReqNotFound: "Файл не существует"
|
||||
ErrNoSuchHost: "Сбой сетевого подключения"
|
||||
ErrImagePullTimeOut: "Тайм-аут загрузки образа"
|
||||
ErrContainerNotFound: "Контейнер {{ .name }} не существует"
|
||||
ErrContainerMsg: "Контейнер {{ .name }} работает ненормально, пожалуйста, проверьте журнал на странице контейнера для подробностей"
|
||||
ErrAppBackup: "Резервное копирование приложения {{ .name }} не удалось, ошибка {{.err}}"
|
||||
ErrImagePull: "Не удалось загрузить образ {{ .name }}, ошибка {{.err}}"
|
||||
ErrVersionTooLow: "Текущая версия 1Panel слишком стара для обновления магазина приложений, пожалуйста, обновите версию"
|
||||
ErrAppNameExist: "Имя приложения уже существует"
|
||||
AppStoreIsSyncing: "Магазин приложений синхронизируется, пожалуйста, попробуйте позже"
|
||||
ErrGetCompose: "Не удалось получить файл docker-compose.yml! {{ .detail }}"
|
||||
ErrAppWarn: "Аномальный статус, пожалуйста, проверьте журнал"
|
||||
ErrAppParamKey: "Исключение в поле параметра {{ .name }}"
|
||||
ErrAppUpgrade: "Не удалось обновить приложение {{ .name }} {{ .err }}"
|
||||
AppRecover: "Приложение {{ .name }} откатилось "
|
||||
PullImageStart: "Начало загрузки образа {{ .name }}"
|
||||
PullImageSuccess: "Образ успешно загружен"
|
||||
UpgradeAppStart: "Начало обновления приложения {{ .name }}"
|
||||
UpgradeAppSuccess: "Приложение {{ .name }} успешно обновлено"
|
||||
ErrAppIsDown: "{{ .name }} статус приложения аномальный, пожалуйста, проверьте"
|
||||
#резервное копирование
|
||||
ErrBackupInUsed: 'Учетная запись резервного копирования использовалась в запланированной задаче и не может быть удалена.'
|
||||
ErrBackupCheck: 'Проверка подключения к резервной копии учетной записи не удалась {{ .err }}'
|
||||
ErrBackupLocalDelete: 'Удаление учетной записи резервного копирования локального сервера пока не поддерживается'
|
||||
ErrBackupLocalCreate: 'Создание учетных записей резервного копирования локального сервера пока не поддерживается'
|
||||
|
||||
#file
|
||||
ErrFileCanNotRead: "Файл недоступен для чтения"
|
||||
ErrFileToLarge: "Файл слишком большой"
|
||||
ErrPathNotFound: "Путь не найден"
|
||||
ErrMovePathFailed: "Целевой путь не может содержать исходный путь!"
|
||||
ErrLinkPathNotFound: "Целевой путь не существует!"
|
||||
ErrFileIsExist: "Файл или каталог уже существует!"
|
||||
ErrFileUpload: "Не удалось загрузить файл {{.name}} {{.detail}}"
|
||||
ErrFileDownloadDir: "Скачивание папки не поддерживается"
|
||||
ErrCmdNotFound: "Команда {{ .name}} не существует, пожалуйста, сначала установите эту команду на хосте"
|
||||
ErrSourcePathNotFound: "Исходный каталог не существует"
|
||||
ErrFavoriteExist: "Этот путь уже в избранном"
|
||||
ErrInvalidChar: "Недопустимые символы запрещены"
|
||||
ErrPathNotDelete: "Выбранный каталог не может быть удален"
|
||||
#приложение
|
||||
ErrPortInUsed: '{{ .detail }} порт уже занят!'
|
||||
ErrAppLimit: 'Количество установленных приложений превысило лимит'
|
||||
ErrAppRequired: 'Сначала установите приложение {{ .detail }}'
|
||||
ErrNotInstall: 'Приложение не установлено'
|
||||
ErrPortInOtherApp: 'Порт {{ .port }} уже занят приложением {{ .apps }}!'
|
||||
ErrDbUserNotValid: 'Существующая база данных, имя пользователя и пароль не совпадают!'
|
||||
ErrDockerComposeNotValid: 'Неверный формат файла docker-compose'
|
||||
ErrUpdateBuWebsite: 'Приложение успешно обновлено, но изменение файла конфигурации веб-сайта не удалось. Пожалуйста, проверьте конфигурацию! '
|
||||
Err1PanelNetworkFailed: 'Создание сети контейнеров по умолчанию не удалось! {{ .detail }}'
|
||||
ErrFileParse: 'Ошибка анализа файла docker-compose приложения!'
|
||||
ErrInstallDirNotFound: 'Каталог установки не существует. Если вам необходимо удалить, выберите Принудительное удаление.'
|
||||
AppStoreIsUpToDate: 'В магазине приложений уже установлена последняя версия'
|
||||
LocalAppVersionNull: 'Приложение {{ .name }} не синхронизировано с версией! Невозможно добавить в список приложений.'
|
||||
LocalAppVersionErr: 'Синхронизация версии {{ .version }} {{ .name }} не удалась! {{ .err }}'
|
||||
ErrFileNotFound: 'Файл {{ .name }} не существует'
|
||||
ErrFileParseApp: '{{ .name }} анализ файла не удался {{ .err }}'
|
||||
ErrAppDirNull: 'Папка версии не существует'
|
||||
LocalAppErr: 'Синхронизация приложения {{ .name }} не удалась! {{ .err }}'
|
||||
ErrContainerName: 'Имя контейнера уже существует'
|
||||
ErrAppSystemRestart: '1Перезапуск панели привел к завершению задачи'
|
||||
ErrCreateHttpClient: 'Не удалось создать запрос {{ .err }}'
|
||||
ErrHttpReqTimeOut: 'Истекло время ожидания запроса {{ .err }}'
|
||||
ErrHttpReqFailed: 'Запрос не выполнен {{ .err }}'
|
||||
ErrNoSuchHost: 'Не удалось найти запрошенный сервер {{ .err }}'
|
||||
ErrHttpReqNotFound: 'Запрошенный ресурс {{ .err }} не найден'
|
||||
ErrImagePullTimeOut: 'Истекло время ожидания извлечения изображения'
|
||||
ErrContainerNotFound: 'Контейнер {{ .name }} не существует'
|
||||
ErrContainerMsg: 'Контейнер {{ .name }} ненормален. Подробности смотрите в журнале на странице контейнера.'
|
||||
ErrAppBackup: '{{ .name }} резервное копирование приложения не удалось {{ .err }}'
|
||||
ErrImagePull: 'Не удалось извлечь изображение {{ .err }}'
|
||||
ErrVersionTooLow: 'Текущая версия 1Panel слишком низкая для обновления App Store. Пожалуйста, обновите версию перед началом работы.'
|
||||
ErrAppNameExist: 'Имя приложения уже существует'
|
||||
AppStoreIsSyncing: 'App Store синхронизируется, повторите попытку позже'
|
||||
ErrGetCompose: 'Не удалось получить файл docker-compose.yml! {{ .detail }}'
|
||||
ErrAppWarn: 'Ненормальное состояние, проверьте журнал'
|
||||
ErrAppParamKey: 'Поле параметра {{ .name }} ненормально'
|
||||
ErrAppUpgrade: 'Обновление приложения {{ .name }} не удалось {{ .err }}'
|
||||
AppRecover: 'Откатить приложение {{ .name }}'
|
||||
PullImageStart: 'Начать извлечение изображения {{ .name }}'
|
||||
PullImageSuccess: 'Изображение извлечено успешно'
|
||||
UpgradeAppStart: 'Начать обновление приложения {{ .name }}'
|
||||
UpgradeAppSuccess: 'Приложение {{ .name }} успешно обновлено'
|
||||
AppStoreIsLastVersion: 'В App Store уже установлена последняя версия'
|
||||
AppStoreSyncSuccess: 'Синхронизация с App Store прошла успешно'
|
||||
SyncAppDetail: 'Синхронизировать конфигурацию приложения'
|
||||
AppVersionNotMatch: 'Приложению {{ .name }} требуется более высокая версия 1Panel, синхронизация пропускается'
|
||||
MoveSiteDir: 'Текущее обновление требует миграции каталога веб-сайта OpenResty'
|
||||
MoveSiteToDir: 'Перенести каталог сайта в {{ .name }}'
|
||||
ErrMoveSiteDir: 'Не удалось перенести каталог сайта'
|
||||
MoveSiteDirSuccess: 'Успешная миграция каталога веб-сайта'
|
||||
DeleteRuntimePHP: 'Удалить среду выполнения PHP'
|
||||
CustomAppStoreNotConfig: 'Укажите адрес автономного пакета в магазине приложений'
|
||||
CustomAppStoreNotFound: 'Не удалось получить пакет магазина приложений. Проверьте, существует ли он'
|
||||
CustomAppStoreFileValid: 'Пакеты магазина приложений должны быть в формате .tar.gz'
|
||||
PullImageTimeout: 'Истекло время ожидания извлечения изображения. Попробуйте увеличить ускорение изображения или выбрать другое ускорение изображения'
|
||||
ErrAppIsDown: '{{ .name }} статус приложения ненормальный, проверьте'
|
||||
ErrCustomApps: 'Установлено приложение. Сначала удалите его'
|
||||
ErrCustomRuntimes: 'Установлена среда выполнения. Сначала удалите ее'
|
||||
|
||||
#website
|
||||
ErrDomainIsExist: "Доменное имя уже существует"
|
||||
ErrAliasIsExist: "Псевдоним уже существует"
|
||||
ErrAppDelete: "Другой веб-сайт использует это приложение"
|
||||
ErrGroupIsUsed: "Группа используется и не может быть удалена"
|
||||
ErrBackupMatch: "файл резервной копии не соответствует текущим данным части сайта: {{ .detail}}"
|
||||
ErrBackupExist: "файл резервной копии соответствует части исходных данных, которая не существует: {{ .detail}}"
|
||||
ErrPHPResource: "Локальная среда выполнения не поддерживает переключение!"
|
||||
ErrPathPermission: "Обнаружена папка с правами доступа не 1000:1000 в каталоге индекса, что может вызвать ошибку отказа в доступе при доступе к веб-сайту. Пожалуйста, нажмите кнопку сохранения выше"
|
||||
ErrDomainIsUsed: "Домен уже используется веб-сайтом {{ .name }}"
|
||||
ErrDomainFormat: "Ошибка формата домена {{ .name }}"
|
||||
ErrDefaultAlias: "default — зарезервированное кодовое имя, пожалуйста, используйте другое кодовое имя"
|
||||
ErrImageNotExist: "Образ рабочей среды {{.name}} не существует, пожалуйста, перенастройте рабочую среду"
|
||||
#файл
|
||||
ErrFileCanNotRead: 'Этот файл не поддерживает предварительный просмотр'
|
||||
ErrFileToLarge: 'Файл больше 10 МБ и не может быть открыт'
|
||||
ErrPathNotFound: 'Каталог не существует'
|
||||
ErrMovePathFailed: 'Целевой путь не может содержать исходный путь!'
|
||||
ErrLinkPathNotFound: 'Целевой путь не существует!'
|
||||
ErrFileIsExist: 'Файл или папка уже существует!'
|
||||
ErrFileUpload: '{{ .name }} не удалось загрузить файл {{ .detail }}'
|
||||
ErrFileDownloadDir: 'Папка загрузки не поддерживается'
|
||||
ErrCmdNotFound: 'Команда {{ .name }} не существует, сначала установите эту команду на хосте'
|
||||
ErrSourcePathNotFound: 'Исходный каталог не существует'
|
||||
ErrFavoriteExist: 'Этот путь уже добавлен в избранное'
|
||||
ErrInvalidChar: 'Недопустимые символы не допускаются'
|
||||
ErrPathNotDelete: 'Выбранный каталог не может быть удален'
|
||||
|
||||
#веб-сайт
|
||||
ErrDomainIsExist: 'Доменное имя уже существует'
|
||||
ErrAliasIsExist: 'Псевдоним уже существует'
|
||||
ErrAppDelete: 'Другие веб-сайты используют это приложение и не могут его удалить'
|
||||
ErrBackupMatch: 'Файл резервной копии не соответствует некоторым текущим данным веб-сайта {{ .detail }}'
|
||||
ErrBackupExist: 'Соответствующая часть исходных данных в файле резервной копии не существует {{ .detail }}'
|
||||
ErrPHPResource: 'Локальная операционная среда не поддерживает переключение!'
|
||||
ErrPathPermission: 'В каталоге index обнаружена папка с разрешениями, отличными от 1000:1000, что может привести к ошибке Отказано в доступе на веб-сайте. Пожалуйста, нажмите кнопку Сохранить выше.'
|
||||
ErrDomainIsUsed: 'Доменное имя уже используется веб-сайтом [{{ .name }}]'
|
||||
ErrDomainFormat: 'Неверный формат доменного имени {{ .name }}'
|
||||
ErrDefaultAlias: 'по умолчанию зарезервирован код, используйте другой код'
|
||||
ErrParentWebsite: 'Сначала вам необходимо удалить дочерний сайт {{ .name }}'
|
||||
ErrBuildDirNotFound: 'Каталог сборки не существует'
|
||||
ErrImageNotExist: 'Образ операционной среды {{ .name }} не существует, пожалуйста, отредактируйте операционную среду заново'
|
||||
|
||||
#ssl
|
||||
ErrSSLCannotDelete: "Сертификат {{ .name }} используется веб-сайтом и не может быть удален"
|
||||
ErrAccountCannotDelete: "Сертификат, связанный с учетной записью, не может быть удален"
|
||||
ErrSSLApply: "Сертификат продолжает успешно подписываться, но перезагрузка openresty не удалась, пожалуйста, проверьте конфигурацию!"
|
||||
ErrEmailIsExist: "Электронная почта уже существует"
|
||||
ErrSSLKeyNotFound: "Файл закрытого ключа не существует"
|
||||
ErrSSLCertificateNotFound: "Файл сертификата не существует"
|
||||
ErrSSLKeyFormat: "Ошибка проверки файла закрытого ключа"
|
||||
ErrSSLCertificateFormat: "Ошибка формата файла сертификата, пожалуйста, используйте формат pem"
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: "EabKid или EabHmacKey не могут быть пустыми"
|
||||
ErrOpenrestyNotFound: "Режим HTTP требует предварительной установки Openresty"
|
||||
ApplySSLStart: "Начать подачу заявки на сертификат, доменное имя [{{ .domain }}] метод подачи заявки [{{ .type }}] "
|
||||
dnsAccount: "Автоматический DNS"
|
||||
dnsManual: "Ручной DNS"
|
||||
http: "HTTP"
|
||||
ApplySSLFailed: "Заявка на сертификат для [{{ .domain }}] не удалась, {{.detail}} "
|
||||
ApplySSLSuccess: "Заявка на сертификат для [{{ .domain }}] успешна! "
|
||||
DNSAccountName: "Учетная запись DNS [{{ .name }}] производитель [{{.type}}]"
|
||||
PushDirLog: "Сертификат отправлен в каталог [{{ .path }}] {{ .status }}"
|
||||
ErrDeleteCAWithSSL: "Существует выданный сертификат под текущей организацией, удаление невозможно"
|
||||
ErrDeleteWithPanelSSL: "Конфигурация SSL панели использует этот сертификат и не может быть удален"
|
||||
ErrDefaultCA: "Уполномоченный центр по умолчанию не может быть удален"
|
||||
ApplyWebSiteSSLLog: "Начать обновление сертификата веб-сайта {{ .name }}"
|
||||
ErrUpdateWebsiteSSL: "Не удалось обновить сертификат веб-сайта {{ .name }}: {{ .err }}"
|
||||
ApplyWebSiteSSLSuccess: "Сертификат веб-сайта успешно обновлен"
|
||||
ErrExecShell: "Не удалось выполнить скрипт {{ .err }}"
|
||||
ExecShellStart: "Начать выполнение скрипта"
|
||||
ExecShellSuccess: "Скрипт успешно выполнен"
|
||||
StartUpdateSystemSSL: "Начать обновление системного сертификата"
|
||||
UpdateSystemSSLSuccess: "Системный сертификат успешно обновлен"
|
||||
ErrSSLCannotDelete: 'Сертификат {{ .name }} используется веб-сайтом и не может быть удален'
|
||||
ErrAccountCannotDelete: 'Учетная запись связана с сертификатом и не может быть удалена'
|
||||
ErrSSLApply: 'Обновление сертификата прошло успешно, перезагрузка OpenResty не удалась, проверьте конфигурацию!'
|
||||
ErrEmailIsExist: 'Почтовый ящик уже существует'
|
||||
ErrSSLKeyNotFound: 'Файл закрытого ключа не существует'
|
||||
ErrSSLCertificateNotFound: 'Файл сертификата не существует'
|
||||
ErrSSLKeyFormat: 'Проверка файла закрытого ключа не удалась'
|
||||
ErrSSLCertificateFormat: 'Неверный формат файла сертификата, используйте формат pem'
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid или EabHmacKey не могут быть пустыми'
|
||||
ErrOpenrestyNotFound: 'Для режима HTTP необходимо сначала установить Openresty'
|
||||
ApplySSLStart: 'Начать подачу заявки на сертификат, доменное имя [{{ .domain }}], метод подачи заявки [{{ .type }}]'
|
||||
dnsAccount: 'DNS Авто'
|
||||
dnsManual: 'Руководство по DNS'
|
||||
http: 'HTTP'
|
||||
ApplySSLFailed: 'Заявка на сертификат [{{ .domain }}] не выполнена, {{ .detail }}'
|
||||
ApplySSLSuccess: 'Заявка на сертификат [{{ .domain }}] успешно подана! '
|
||||
DNSAccountName: 'DNS-аккаунт [{{ .name }}] поставщик [{{ .type }}]'
|
||||
PushDirLog: 'Сертификат перемещен в каталог [{{ .path }}] {{ .status }}'
|
||||
ErrDeleteCAWithSSL: 'Текущая организация имеет сертификат, который был выдан и не может быть удален.'
|
||||
ErrDeleteWithPanelSSL: 'Конфигурация SSL панели использует этот сертификат и не может быть удалена'
|
||||
ErrDefaultCA: 'Невозможно удалить полномочия по умолчанию'
|
||||
ApplyWebSiteSSLLog: 'Начинается обновление сертификата веб-сайта {{ .name }}'
|
||||
ErrUpdateWebsiteSSL: 'Обновление сертификата веб-сайта {{ .name }} не удалось: {{ .err }}'
|
||||
ApplyWebSiteSSLSuccess: 'Сертификат веб-сайта успешно обновлен'
|
||||
ErrExecShell: 'Не удалось выполнить скрипт {{ .err }}'
|
||||
ExecShellStart: 'Начать выполнение скрипта'
|
||||
ExecShellSuccess: 'Скрипт выполнен успешно'
|
||||
StartUpdateSystemSSL: 'Начать обновление системного сертификата'
|
||||
UpdateSystemSSLSuccess: 'Сертификат системы обновлен успешно'
|
||||
ErrWildcardDomain: 'Невозможно подать заявку на получение подстановочного сертификата доменного имени в режиме HTTP'
|
||||
|
||||
#mysql
|
||||
ErrUserIsExist: "Текущий пользователь уже существует. Пожалуйста, введите нового пользователя"
|
||||
ErrDatabaseIsExist: "Текущая база данных уже существует. Пожалуйста, введите новую базу данных"
|
||||
ErrExecTimeOut: "Время выполнения SQL запроса истекло, пожалуйста, проверьте базу данных"
|
||||
ErrRemoteExist: "Удаленная база данных с таким именем уже существует, пожалуйста, измените и попробуйте снова"
|
||||
ErrLocalExist: "Локальная база данных с таким именем уже существует, пожалуйста, измените и попробуйте снова"
|
||||
ErrUserIsExist: 'Текущий пользователь уже существует, пожалуйста, введите еще раз'
|
||||
ErrDatabaseIsExist: 'Текущая база данных уже существует, пожалуйста, введите ее повторно'
|
||||
ErrExecTimeOut: 'Время выполнения SQL истекло, проверьте базу данных'
|
||||
ErrRemoteExist: 'Удаленная база данных с таким именем уже существует. Измените его и повторите попытку'
|
||||
ErrLocalExist: 'Имя уже существует в локальной базе данных, измените его и повторите попытку'
|
||||
|
||||
#redis
|
||||
ErrTypeOfRedis: "Тип восстановленного файла не соответствует текущему режиму сохранения. Измените тип файла и попробуйте снова"
|
||||
#редис
|
||||
ErrTypeOfRedis: 'Тип файла восстановления не соответствует текущему методу сохранения. Измените его и повторите попытку'
|
||||
|
||||
#container
|
||||
ErrInUsed: "{{ .detail }} используется и не может быть удален"
|
||||
ErrObjectInUsed: "Этот объект используется и не может быть удален"
|
||||
ErrObjectBeDependent: "Этот образ зависит от других образов и не может быть удален"
|
||||
ErrPortRules: "Количество портов не совпадает, пожалуйста, введите заново!"
|
||||
ErrPgImagePull: "Тайм-аут загрузки образа. Пожалуйста, настройте ускорение загрузки образа или вручную загрузите образ postgres:16.0-alpine и попробуйте снова"
|
||||
#контейнер
|
||||
ErrInUsed: '{{ .detail }} используется и не может быть удален'
|
||||
ErrObjectInUsed: 'Объект используется и не может быть удален'
|
||||
ErrObjectBeDependent: 'Это изображение зависит от других изображений и не может быть удалено'
|
||||
ErrPortRules: 'Номер порта не совпадает, введите заново!'
|
||||
ErrPgImagePull: 'Время извлечения изображения истекло. Настройте ускорение изображения или вручную извлеките изображение {{ .name }} и повторите попытку'
|
||||
|
||||
#runtime
|
||||
ErrDirNotFound: "Папка сборки не существует! Пожалуйста, проверьте целостность файла!"
|
||||
ErrFileNotExist: "Файл {{ .detail }} не существует! Пожалуйста, проверьте целостность исходного файла!"
|
||||
ErrImageBuildErr: "Не удалось создать образ"
|
||||
ErrImageExist: "Образ уже существует!"
|
||||
ErrDelWithWebsite: "Рабочая среда уже связана с веб-сайтом и не может быть удалена"
|
||||
ErrRuntimeStart: "Не удалось запустить"
|
||||
ErrPackageJsonNotFound: "Файл package.json не существует"
|
||||
ErrScriptsNotFound: "Конфигурационный элемент scripts не найден в package.json"
|
||||
ErrContainerNameNotFound: "Не удалось получить имя контейнера, пожалуйста, проверьте файл .env"
|
||||
ErrNodeModulesNotFound: "Папка node_modules не существует! Пожалуйста, отредактируйте среду выполнения или дождитесь успешного запуска среды выполнения"
|
||||
#время выполнения
|
||||
ErrDirNotFound: 'Папка сборки не существует! Проверьте целостность файла!'
|
||||
ErrFileNotExist: 'Файл {{ .detail }} не существует! Проверьте целостность исходного файла!'
|
||||
ErrImageBuildErr: 'Сборка образа не удалась'
|
||||
ErrImageExist: 'Изображение уже существует!'
|
||||
ErrDelWithWebsite: 'Операционная среда уже связана с веб-сайтом и не может быть удалена'
|
||||
ErrRuntimeStart: 'Запуск не удался'
|
||||
ErrPackageJsonNotFound: 'файл package.json не существует'
|
||||
ErrScriptsNotFound: 'Элемент конфигурации скриптов не найден в package.json'
|
||||
ErrContainerNameNotFound: 'Не удалось получить имя контейнера, проверьте файл .env'
|
||||
ErrNodeModulesNotFound: 'Папка node_modules не существует! Измените среду выполнения или дождитесь ее успешного запуска'
|
||||
ErrContainerNameIsNull: 'Имя контейнера не существует'
|
||||
|
||||
#setting
|
||||
ErrBackupInUsed: "Учетная запись резервного копирования уже используется в cronjob и не может быть удалена."
|
||||
ErrBackupCheck: "Проверка подключения учетной записи резервного копирования не выполнена {{ .err}}"
|
||||
ErrOSSConn: "Не удалось получить последнюю версию, пожалуйста, проверьте возможность подключения сервера к внешней сети."
|
||||
ErrEntrance: "Информация о безопасном входе неверна. Пожалуйста, проверьте и попробуйте снова!"
|
||||
#инструмент
|
||||
ErrConfigNotFound: 'Файл конфигурации не существует'
|
||||
ErrConfigParse: 'Неверный формат файла конфигурации'
|
||||
ErrConfigIsNull: 'Файл конфигурации не может быть пустым'
|
||||
ErrConfigDirNotFound: 'Рабочий каталог не существует'
|
||||
ErrConfigAlreadyExist: 'Файл конфигурации с таким именем уже существует'
|
||||
ErrUserFindErr: 'Поиск пользователя {{ .name }} не удался {{ .err }}'
|
||||
|
||||
#tool
|
||||
ErrConfigNotFound: "Конфигурационный файл не существует"
|
||||
ErrConfigParse: "Ошибка формата конфигурационного файла"
|
||||
ErrConfigIsNull: "Конфигурационный файл не может быть пустым"
|
||||
ErrConfigDirNotFound: "Каталог выполнения не существует"
|
||||
ErrConfigAlreadyExist: "Конфигурационный файл с таким именем уже существует"
|
||||
ErrUserFindErr: "Не удалось найти пользователя {{ .name }} {{ .err }}"
|
||||
|
||||
#ssh
|
||||
ErrFirewallNone: "На системе не обнаружен сервис firewalld или ufw. Пожалуйста, проверьте и попробуйте снова!"
|
||||
ErrFirewallBoth: "На системе обнаружены оба сервиса firewalld и ufw. Чтобы избежать конфликтов, удалите один и попробуйте снова!"
|
||||
#ссш
|
||||
ErrFirewallNone: 'Системные службы firewalld или ufw не обнаружены. Проверьте и повторите попытку!'
|
||||
ErrFirewallBoth: 'Обнаружено, что в системе есть службы firewalld и ufw. Чтобы избежать конфликтов, удалите их и повторите попытку!'
|
||||
|
||||
#cronjob
|
||||
ErrBashExecute: "Ошибка выполнения скрипта, пожалуйста, проверьте конкретную информацию в области вывода задачи."
|
||||
ErrCutWebsiteLog: "Не удалось разрезать лог веб-сайта {{ .name }}, ошибка {{ .err }}"
|
||||
CutWebsiteLogSuccess: "Лог веб-сайта {{ .name }} успешно разрезан, путь к резервной копии {{ .path }}"
|
||||
ErrCutWebsiteLog: '{{ .name }} не удалось вырезать журнал веб-сайта, ошибка {{ .err }}'
|
||||
CutWebsiteLogSuccess: 'Журнал веб-сайта {{ .name }} успешно вырезан, путь к резервной копии {{ .path }}'
|
||||
HandleShell: 'Выполнить скрипт {{ .name }}'
|
||||
HandleNtpSync: 'Синхронизация системного времени'
|
||||
HandleSystemClean: 'Очистка системного кэша'
|
||||
|
||||
#toolbox
|
||||
ErrNotExistUser: "Текущий пользователь не существует. Пожалуйста, измените и попробуйте снова!"
|
||||
ErrBanAction: "Установка не выполнена, текущий сервис {{ .name }} недоступен, пожалуйста, проверьте и попробуйте снова!"
|
||||
ErrClamdscanNotFound: "Команда clamdscan не обнаружена, пожалуйста, обратитесь к документации для установки!"
|
||||
#ящик для инструментов
|
||||
ErrNotExistUser: 'Текущий пользователь не существует, измените его и повторите попытку!'
|
||||
ErrBanAction: 'Настройка не удалась. Текущая служба {{ .name }} недоступна. Проверьте и повторите попытку!'
|
||||
ErrClamdscanNotFound: 'Команда clamdscan не обнаружена, обратитесь к документации, чтобы установить ее!'
|
||||
|
||||
#waf
|
||||
ErrScope: "Неподдерживаемое изменение этой конфигурации"
|
||||
ErrStateChange: "Не удалось изменить статус"
|
||||
ErrRuleExist: "Правило уже существует"
|
||||
ErrRuleNotExist: "Правило не существует"
|
||||
ErrParseIP: "Неверный формат IP"
|
||||
ErrDefaultIP: "default — зарезервированное имя, используйте другое имя"
|
||||
ErrGroupInUse: "Группа IP используется черным/белым списком, не может быть удалена"
|
||||
ErrGroupExist: "Имя группы IP уже существует"
|
||||
ErrIPRange: "Неверный диапазон IP"
|
||||
ErrIPExist: "IP уже существует"
|
||||
urlDefense: "Правила URL"
|
||||
urlHelper: "Запрещенные URL"
|
||||
dirFilter: "Фильтр каталогов"
|
||||
xss: "XSS"
|
||||
phpExec: "Выполнение PHP-скрипта"
|
||||
oneWordTrojan: "Троян с одной командой"
|
||||
appFilter: "Фильтр опасных каталогов приложений"
|
||||
webshell: "Веб-шелл"
|
||||
args: "Правила параметров"
|
||||
protocolFilter: "Фильтр протоколов"
|
||||
javaFileter: "Фильтр опасных файлов Java"
|
||||
scannerFilter: "Фильтр сканеров"
|
||||
escapeFilter: "Экранирование фильтра"
|
||||
customRule: "Пользовательские правила"
|
||||
httpMethod: "Фильтр HTTP-методов"
|
||||
fileExt: "Ограничение загрузки файлов"
|
||||
defaultIpBlack: "Группа вредоносных IP"
|
||||
cookie: "Правила Cookie"
|
||||
urlBlack: "Черный список URL"
|
||||
uaBlack: "Черный список User-Agent"
|
||||
attackCount: "Ограничение частоты атак"
|
||||
fileExtCheck: "Ограничение загрузки файлов"
|
||||
geoRestrict: "Ограничение доступа по региону"
|
||||
unknownWebsite: "Неавторизованный доступ к домену"
|
||||
notFoundCount: "Ограничение частоты 404"
|
||||
headerDefense: "Правила заголовков"
|
||||
defaultUaBlack: "Правила User-Agent"
|
||||
methodWhite: "Правила HTTP"
|
||||
captcha: "Проверка человека-машины"
|
||||
fiveSeconds: "Проверка за 5 секунд"
|
||||
vulnCheck: "Дополнительные правила"
|
||||
acl: "Пользовательские правила"
|
||||
sql: "SQL-инъекция"
|
||||
cc: "Ограничение частоты доступа"
|
||||
defaultUrlBlack: "Правила URL"
|
||||
sqlInject: "SQL-инъекция"
|
||||
ErrDBNotExist: "База данных не существует"
|
||||
allow: "Разрешить"
|
||||
deny: "Запретить"
|
||||
#ваф
|
||||
ErrScope: 'Изменение этой конфигурации не поддерживается'
|
||||
ErrStateChange: 'He удалось изменить состояние'
|
||||
ErrRuleExist: 'Правило уже существует'
|
||||
ErrRuleNotExist: 'Правило не существует'
|
||||
ErrParseIP: 'Неправильный формат IP'
|
||||
ErrDefaultIP: 'по умолчанию это зарезервированное имя, пожалуйста, измените его на другое имя'
|
||||
ErrGroupInUse: 'IP-группа используется черным/белым списком и не может быть удалена'
|
||||
ErrGroupExist: 'Имя группы IP уже существует'
|
||||
ErrIPRange: 'Неверный диапазон IP-адресов'
|
||||
ErrIPExist: 'IP-адрес уже существует'
|
||||
urlDefense: 'Правила URL'
|
||||
urlHelper: 'Запрещенный URL'
|
||||
dirFilter: 'Фильтр каталогов'
|
||||
xss: 'XSS'
|
||||
phpExec: 'Выполнение PHP-скрипта'
|
||||
oneWordTrojan: 'Троян из одного слова'
|
||||
appFilter: 'Применить фильтрацию опасных каталогов'
|
||||
webshell: 'Be6-оболочка'
|
||||
args: 'Правила параметров'
|
||||
protocolFilter: 'Фильтрация протоколов'
|
||||
javaFileter: 'Фильтр опасных файлов Java'
|
||||
scannerFilter: 'Фильтр сканера'
|
||||
escapeFilter: 'фильтр побега'
|
||||
customRule: 'Пользовательское правило'
|
||||
httpMethod: 'Фильтрация метода HTTP'
|
||||
fileExt: 'Ограничения на загрузку файлов'
|
||||
defaultIpBlack: 'Вредоносная группа IP'
|
||||
cookie: 'Правила использования файлов cookie'
|
||||
urlBlack: 'Черный список URL'
|
||||
uaBlack: 'Черный список User-Agent'
|
||||
attackCount: 'Ограничение частоты атак'
|
||||
fileExtCheck: 'Ограничения на загрузку файлов'
|
||||
geoRestrict: 'Региональные ограничения доступа'
|
||||
unknownWebsite: 'Несанкционированный доступ к доменному имени'
|
||||
notFoundCount: 'Ограничение скорости 404'
|
||||
headerDefense: 'Правила заголовка'
|
||||
defaultUaBlack: 'Правила User-Agent'
|
||||
methodWhite: 'Правила HTTP'
|
||||
captcha: 'человеко-машинная верификация'
|
||||
fiveSeconds: '5 секунд проверки'
|
||||
vulnCheck: 'Дополнительные правила'
|
||||
acl: 'Пользовательские правила'
|
||||
sql: 'SQL-инъекция'
|
||||
cc: 'Ограничение частоты доступа'
|
||||
defaultUrlBlack: 'Правила URL'
|
||||
sqlInject: 'SQL-инъекция'
|
||||
ErrDBNotExist: 'База данных не существует'
|
||||
allow: 'разрешить'
|
||||
deny: 'отрицать'
|
||||
OpenrestyNotFound: 'Openresty не установлен'
|
||||
|
||||
#license
|
||||
ErrLicense: "Ошибка формата лицензии, пожалуйста, проверьте и попробуйте снова!"
|
||||
ErrLicenseCheck: "Проверка лицензии не выполнена, пожалуйста, проверьте и попробуйте снова!"
|
||||
ErrXpackVersion: "Ошибка проверки лицензии, эта лицензия ограничена по версии и не может быть успешно импортирована. Пожалуйста, проверьте и попробуйте снова!"
|
||||
ErrLicenseSave: "Не удалось сохранить информацию о лицензии, ошибка {{ .err }}, пожалуйста, попробуйте снова!"
|
||||
ErrLicenseSync: "Не удалось синхронизировать информацию о лицензии, в базе данных не обнаружена информация о лицензии!"
|
||||
ErrXpackNotFound: "Этот раздел является функцией профессионального издания, пожалуйста, сначала импортируйте лицензию в интерфейсе Настройки панели — Лицензия"
|
||||
ErrXpackNotActive: "Этот раздел является функцией профессионального издания, пожалуйста, сначала синхронизируйте статус лицензии в интерфейсе Настройки панели — Лицензия"
|
||||
ErrXpackOutOfDate: "Текущая лицензия истекла, пожалуйста, повторно импортируйте лицензию в интерфейсе Настройки панели — Лицензия"
|
||||
ErrXpackLost: "Лицензия достигла максимального числа попыток повторной попытки. Пожалуйста, перейдите на страницу [Настройки] [Лицензия] и вручную нажмите кнопку синхронизации, чтобы обеспечить корректную работу функций профессиональной версии."
|
||||
ErrXpackTimeout: "Превышено время ожидания запроса, возможно, нестабильное сетевое соединение, пожалуйста, повторите попытку позже!"
|
||||
#задача
|
||||
TaskStart: '{{ .name }} Задача начинается [START]'
|
||||
TaskEnd: '{{ .name }} Задача выполнена [ЗАВЕРШЕНО]'
|
||||
TaskFailed: 'Задача {{ .name }} не выполнена'
|
||||
TaskTimeout: '{{ .name }} истекло время ожидания'
|
||||
TaskSuccess: '{{ .name }} Задача выполнена успешно'
|
||||
TaskRetry: 'Начать {{ .name }}-ю повторную попытку'
|
||||
SubTaskSuccess: '{{ .name }} выполнено успешно'
|
||||
SubTaskFailed: '{{ .name }} не удалось: {{ .err }}'
|
||||
TaskInstall: 'Установить'
|
||||
TaskUninstall: 'Удалить'
|
||||
TaskCreate: 'Создать'
|
||||
TaskDelete: 'Удалить'
|
||||
TaskUpgrade: 'Обновить'
|
||||
TaskUpdate: 'Обновить'
|
||||
TaskRestart: 'Перезапуск'
|
||||
TaskBackup: 'Резервное копирование'
|
||||
TaskRecover: 'Восстановить'
|
||||
TaskRollback: 'Откат'
|
||||
TaskPull: 'Вытянуть'
|
||||
ЗадачаСборка: 'Сборка'
|
||||
TaskPush: 'Push'
|
||||
TaskHandle: 'Выполнить'
|
||||
Website: 'Be6-сайт'
|
||||
App: 'Приложение'
|
||||
Runtime: 'Среда выполнения'
|
||||
Database: 'База данных'
|
||||
ConfigFTP: 'Создать пользователя FTP {{ .name }}'
|
||||
ConfigOpenresty: 'Создать файл конфигурации Openresty'
|
||||
InstallAppSuccess: 'Приложение {{ .name }} успешно установлено'
|
||||
ConfigRuntime: 'Настройка среды выполнения'
|
||||
ConfigApp: 'Приложение конфигурации'
|
||||
SuccessStatus: '{{ .name }} успешно'
|
||||
FailedStatus: '{{ .name }} не удалось {{ .err }}'
|
||||
HandleLink: 'Обработка ассоциации приложений'
|
||||
HandleDatabaseApp: 'Обработка параметров приложения'
|
||||
ExecShell: 'Выполнить скрипт {{ .name }}'
|
||||
PullImage: 'Вытянуть изображение'
|
||||
Start: 'Старт'
|
||||
Run: 'Старт'
|
||||
Stop: 'Стоп'
|
||||
Image: 'Зеркало'
|
||||
Compose: 'Оркестровка'
|
||||
Container: 'Контейнер'
|
||||
AppLink: 'Связанное приложение'
|
||||
EnableSSL: 'Включить HTTPS'
|
||||
AppStore: 'Магазин приложений'
|
||||
TaskSync: 'Синхронизировать'
|
||||
LocalApp: 'Локальное приложение'
|
||||
SubTask: 'Подзадача'
|
||||
RuntimeExtension: 'Расширение среды выполнения'
|
||||
TaskIsExecuting: 'Задача выполняется'
|
||||
CustomAppstore: 'Хранилище пользовательских приложений'
|
||||
|
||||
#license
|
||||
ErrAlert: "Ошибка формата информации об оповещении, пожалуйста, проверьте и попробуйте снова!"
|
||||
ErrAlertPush: "Ошибка отправки оповещения, пожалуйста, проверьте и попробуйте снова!"
|
||||
ErrAlertSave: "Ошибка сохранения оповещения, пожалуйста, проверьте и попробуйте снова!"
|
||||
ErrAlertSync: "Ошибка синхронизации оповещения, пожалуйста, проверьте и попробуйте снова!"
|
||||
ErrAlertRemote: "Ошибка удаленного оповещения, пожалуйста, проверьте и попробуйте снова!"
|
||||
# задача - ай
|
||||
OllamaModelPull: 'Вытянуть модель Ollama {{ .name }}'
|
||||
OllamaModelSize: 'Получить размер модели Ollama {{ .name }}'
|
||||
|
||||
#cmd
|
||||
AppVersion: "Версия приложения"
|
||||
AppCommands: "Команды, связанные с приложением"
|
||||
AppInit: "Инициализировать приложение"
|
||||
AppKeyVal: "Ключ приложения (поддерживает только английский)"
|
||||
AppCreateFileErr: "Не удалось создать файл {{ .name }} {{ .err }}"
|
||||
AppCreateDirErr: "Не удалось создать папку {{ .name }} {{ .err }}"
|
||||
AppMissKey: "Отсутствует ключ приложения, используйте -k для указания"
|
||||
AppMissVersion: "Отсутствует версия приложения, используйте -v для указания"
|
||||
AppVersionExist: "Версия уже существует!"
|
||||
AppCreateSuccessful: "Создание прошло успешно!"
|
||||
AppWriteErr: "Ошибка записи файла {{ .name }} {{ .err }}"
|
||||
SudoHelper: "Пожалуйста, используйте {{ .cmd }} или переключитесь на пользователя root"
|
||||
ListenIPCommands: "Переключить IP прослушивания"
|
||||
ListenIPv4: "Прослушивать IPv4"
|
||||
ListenIPv6: "Прослушивать IPv6"
|
||||
ListenChangeSuccessful: "Переключение успешно! Теперь прослушивается {{ .value }}"
|
||||
ResetCommands: "Сбросить информацию системы"
|
||||
ResetMFA: "Отменить двухфакторную аутентификацию 1Panel"
|
||||
ResetHttps: "Отменить вход в 1Panel по https"
|
||||
ResetEntrance: "Отменить безопасный вход в 1Panel"
|
||||
ResetIPs: "Отменить авторизованные IP-ограничения 1Panel"
|
||||
ResetDomain: "Отменить привязку домена 1Panel"
|
||||
RestoreCommands: "Откатить сервис и данные 1Panel"
|
||||
RestoreNoSuchFile: "Нет доступных файлов для отката"
|
||||
RestoreStep1: "(1/5) Начало отката сервиса и данных 1Panel из каталога {{ .name }}..."
|
||||
RestoreStep2: "(2/5) Откат бинарного файла 1Panel успешен"
|
||||
RestoreStep3: "(3/5) Откат скрипта 1Panel успешен"
|
||||
RestoreStep4: "(4/5) Откат сервиса 1Panel успешен"
|
||||
RestoreStep5: "(5/5) Откат данных 1Panel успешен"
|
||||
RestoreSuccessful: "Откат успешен! Перезапуск службы, пожалуйста, подождите..."
|
||||
UpdateCommands: "Обновить информацию панели"
|
||||
UpdateUser: "Обновить пользователя панели"
|
||||
UpdatePassword: "Обновить пароль панели"
|
||||
UpdatePort: "Обновить порт панели"
|
||||
UpdateUserNull: "Ошибка: пользователь панели пуст!"
|
||||
UpdateUserBlank: "Ошибка: пользователь панели содержит пробелы!"
|
||||
UpdateUserFormat: "Ошибка: неверный формат пользователя панели! Поддерживаются только английский, китайский, цифры и , длина 3-30"
|
||||
UpdateUserErr: "Ошибка: не удалось обновить пользователя панели, {{ .err }}"
|
||||
UpdateSuccessful: "Обновление успешно!"
|
||||
UpdateUserResult: "Пользователь панели: {{ .name }}"
|
||||
UpdatePasswordRead: "Ошибка: не удалось прочитать информацию о пароле панели, {{ .err }}"
|
||||
UpdatePasswordNull: "Ошибка: пароль панели пуст!"
|
||||
UpdateUPasswordBlank: "Ошибка: пароль панели содержит пробелы!"
|
||||
UpdatePasswordFormat: "Ошибка: пароль панели поддерживает только буквы, цифры, специальные символы !@#$%* ,., длина 8-30!"
|
||||
UpdatePasswordLen: "Ошибка: Пожалуйста, введите пароль длиной более 6 символов!"
|
||||
UpdatePasswordRe: "Подтвердите пароль:"
|
||||
UpdatePasswordErr: "Ошибка: не удалось обновить пароль панели, {{ .err }}"
|
||||
UpdatePasswordSame: "Ошибка: два пароля не совпадают, пожалуйста, проверьте и попробуйте снова!"
|
||||
UpdatePasswordResult: "Пароль панели: {{ .name }}"
|
||||
UpdatePortFormat: "Ошибка: введенный номер порта должен быть между 1 и 65535!"
|
||||
UpdatePortUsed: "Ошибка: номер порта уже используется, пожалуйста, проверьте и попробуйте снова!"
|
||||
UpdatePortErr: "Ошибка: не удалось обновить порт панели, {{ .err }}"
|
||||
UpdatePortResult: "Порт панели: {{ .name }}"
|
||||
UpdatePortFirewallAdd: "Не удалось добавить правило порта брандмауэра, {{ .err }}, пожалуйста, вручную добавьте порт {{ .name }} в правила брандмауэра."
|
||||
UpdatePortFirewallDel: "Ошибка: не удалось удалить порт брандмауэра, {{ .err }}"
|
||||
UpdatePortFirewallReload: "Не удалось перезагрузить брандмауэр, {{ .err }}, пожалуйста, вручную перезагрузите брандмауэр."
|
||||
UserInfo: "Получить информацию панели"
|
||||
UserInfoAddr: "Адрес панели: "
|
||||
UserInfoPassHelp: "Подсказка: чтобы изменить пароль, вы можете выполнить команду: "
|
||||
DBConnErr: "Ошибка: не удалось инициализировать подключение к базе данных, {{ .err }}"
|
||||
SystemVersion: "версия: "
|
||||
SystemMode: "режим: "
|
||||
# снимок задачи
|
||||
Snapshot: 'Снимок'
|
||||
SnapDBInfo: 'Запись информации о базе данных 1Panel'
|
||||
SnapCopy: 'Копировать файлы и каталоги {{ .name }}'
|
||||
SnapNewDB: 'Инициализировать соединение с базой данных {{ .name }}'
|
||||
SnapDeleteOperationLog: 'Удалить журнал операций'
|
||||
SnapDeleteLoginLog: 'Удалить журнал доступа'
|
||||
SnapDeleteMonitor: 'Удалить данные мониторинга'
|
||||
SnapRemoveSystemIP: 'Удалить системный IP'
|
||||
SnapBaseInfo: 'Записать основную информацию 1Panel'
|
||||
SnapInstallApp: 'Резервное копирование установленных приложений 1Panel'
|
||||
SnapDockerSave: 'Сжать установленные приложения'
|
||||
SnapLocalBackup: 'Резервное копирование локального каталога резервных копий 1Panel'
|
||||
SnapCompressBackup: 'Сжать локальный каталог резервных копий'
|
||||
SnapPanelData: 'Резервное копирование каталога данных 1Panel'
|
||||
SnapCompressPanel: 'Каталог сжатых данных'
|
||||
SnapWebsite: 'Резервное копирование каталога веб-сайта 1Panel'
|
||||
SnapCloseDBConn: 'Закрыть соединение с базой данных'
|
||||
SnapCompress: 'Создание файлов моментальных снимков'
|
||||
SnapCompressFile: 'Сжать файл моментального снимка'
|
||||
SnapCheckCompress: 'Проверить файл сжатия снимка'
|
||||
SnapCompressSize: 'Размер файла снимка {{ .name }}'
|
||||
SnapUpload: 'Загрузить файл снимка'
|
||||
SnapLoadBackup: 'Получить резервную информацию об учетной записи'
|
||||
SnapUploadTo: 'Загрузить файл снимка в {{ .name }}'
|
||||
SnapUploadRes: 'Загрузить файл снимка в {{ .name }}'
|
||||
|
||||
SnapshotRecover: 'Восстановление моментального снимка'
|
||||
RecoverDownload: 'Загрузить файл снимка'
|
||||
Download: 'Скачать'
|
||||
RecoverDownloadAccount: 'Получить резервную копию учетной записи для загрузки моментального снимка {{ .name }}'
|
||||
RecoverDecompress: 'Распаковка сжатых файлов моментальных снимков'
|
||||
Decompress: 'Декомпрессия'
|
||||
BackupBeforeRecover: 'Резервное копирование системных данных перед созданием снимка'
|
||||
Readjson: 'Прочитать файл JSON в снимке'
|
||||
ReadjsonPath: 'Получить путь к файлу JSON в снимке'
|
||||
ReadjsonContent: 'Прочитать файл Json'
|
||||
ReadjsonMarshal: 'Обработка Json escape'
|
||||
RecoverApp: 'Восстановить установленные приложения'
|
||||
RecoverWebsite: 'Восстановить каталог веб-сайта'
|
||||
RecoverAppImage: 'Восстановить резервную копию образа снимка'
|
||||
RecoverCompose: 'Восстановить содержимое другого композитора'
|
||||
RecoverComposeList: 'Восстановить всех композиторов'
|
||||
RecoverComposeItem: 'Восстановить сообщение {{ .name }}'
|
||||
RecoverAppEmpty: 'В файле снимка не найдено резервной копии образа приложения'
|
||||
RecoverBaseData: 'Восстановить базовые данные и файлы'
|
||||
RecoverDaemonJsonEmpty: 'Ни файл снимка, ни текущая машина не имеют файла конфигурации контейнера daemon.json'
|
||||
RecoverDaemonJson: 'Восстановить файл конфигурации контейнера daemon.json'
|
||||
RecoverDBData: 'Восстановить данные базы данных'
|
||||
RecoverBackups: 'Восстановить локальный каталог резервных копий'
|
||||
RecoverPanelData: 'Каталог данных восстановления'
|
||||
|
||||
# задача - контейнер
|
||||
ContainerNewCliet: 'Инициализировать Docker-клиент'
|
||||
ContainerImagePull: 'Извлечь изображение контейнера {{ .name }}'
|
||||
ContainerRemoveOld: 'Удалить исходный контейнер {{ .name }}'
|
||||
ContainerImageCheck: 'Проверьте, нормально ли извлекается изображение'
|
||||
ContainerLoadInfo: 'Получить основную информацию о контейнере'
|
||||
ContainerRecreate: 'Обновление контейнера не удалось, сейчас начну восстанавливать исходный контейнер'
|
||||
ContainerCreate: 'Создать новый контейнер {{ .name }}'
|
||||
ContainerCreateFailed: 'Создание контейнера не удалось, удалите неудавшийся контейнер'
|
||||
ContainerStartCheck: 'Проверить, запущен ли контейнер'
|
||||
|
||||
# задача - изображение
|
||||
ImageBuild: 'Создание изображения'
|
||||
ImageBuildStdoutCheck: 'Анализ содержимого выходного изображения'
|
||||
ImaegBuildRes: 'Выходные данные сборки образа: {{ .name }}'
|
||||
ImagePull: 'Вытащить изображение'
|
||||
ImageRepoAuthFromDB: 'Получить информацию об аутентификации репозитория из базы данных'
|
||||
ImaegPullRes: 'Выход извлечения изображения: {{ .name }}'
|
||||
ImagePush: 'Отправить изображение'
|
||||
ImageRenameTag: 'Изменить тег изображения'
|
||||
ImageNewTag: 'Новый тег изображения {{ .name }}'
|
||||
ImaegPushRes: 'Вывод push-изображения: {{ .name }}'
|
||||
ComposeCreate: 'Создать композицию'
|
||||
ComposeCreateRes: 'Составить вывод создания: {{ .name }}'
|
||||
|
||||
# задача - веб-сайт
|
||||
BackupNginxConfig: 'Резервное копирование файла конфигурации OpenResty веб-сайта'
|
||||
CompressFileSuccess: 'Каталог успешно сжат, сжат в {{ .name }}'
|
||||
CompressDir: 'Каталог сжатия'
|
||||
DeCompressFile: 'Распаковать файл {{ .name }}'
|
||||
ErrCheckValid: 'Проверка файла резервной копии не удалась, {{ .name }}'
|
||||
Rollback: 'Откат'
|
||||
websiteDir: 'Каталог веб-сайтов'
|
||||
RecoverFailedStartRollBack: 'Восстановление не удалось, начать откат'
|
||||
AppBackupFileIncomplete: 'Файл резервной копии неполный и в нем отсутствуют файлы app.json или app.tar.gz'
|
||||
AppAttributesNotMatch: 'Тип или имя приложения не совпадают'
|
||||
|
||||
#тревога
|
||||
ErrAlert: 'Формат предупреждающего сообщения неверен, проверьте и повторите попытку!'
|
||||
ErrAlertPush: 'Ошибка при отправке оповещения. Проверьте и повторите попытку!'
|
||||
ErrAlertSave: 'Ошибка сохранения информации о тревоге, проверьте и повторите попытку!'
|
||||
ErrAlertSync: 'Ошибка синхронизации информации о тревоге, проверьте и повторите попытку!'
|
||||
ErrAlertRemote: 'Ошибка удаленного сообщения об ошибке, проверьте и повторите попытку!'
|
||||
+353
-315
@@ -1,251 +1,255 @@
|
||||
ErrInvalidParams: "請求參數錯誤: {{ .detail }}"
|
||||
ErrInternalServer: "伺服器內部錯誤: {{ .detail }}"
|
||||
ErrRecordExist: "記錄已存在"
|
||||
ErrRecordNotFound: "記錄未找到"
|
||||
ErrStructTransform: "類型轉換失敗: {{ .detail }}"
|
||||
ErrNotSupportType: "系統暫不支持當前類型: {{ .detail }}"
|
||||
ErrApiConfigStatusInvalid: "API 接口禁止訪問: {{ .detail }}"
|
||||
ErrApiConfigKeyInvalid: "API 接口密钥錯誤: {{ .detail }}"
|
||||
ErrApiConfigIPInvalid: "调用 API 接口 IP 不在白名单: {{ .detail }}"
|
||||
ErrApiConfigDisable: "此接口禁止使用 API 接口調用: {{ .detail }}"
|
||||
ErrInvalidParams: '請求參數錯誤: {{ .detail }}'
|
||||
ErrTokenParse: 'Token 產生錯誤: {{ .detail }}'
|
||||
ErrInitialPassword: '原密碼錯誤'
|
||||
ErrInternalServer: '服務內部錯誤: {{ .detail }}'
|
||||
ErrRecordExist: '記錄已存在'
|
||||
ErrRecordNotFound: '記錄未能找到'
|
||||
ErrStructTransform: '型別轉換失敗: {{ .err }}'
|
||||
ErrNotLogin: '使用者未登入: {{ .detail }}'
|
||||
ErrPasswordExpired: '目前密碼已過期: {{ .detail }}'
|
||||
ErrNotSupportType: '系統暫不支援目前類型: {{ .name }}'
|
||||
ErrProxy: '請求錯誤,請檢查該節點狀態: {{ .detail }}'
|
||||
ErrApiConfigStatusInvalid: 'API 介面禁止存取: {{ .detail }}'
|
||||
ErrApiConfigKeyInvalid: 'API 介面金鑰錯誤: {{ .detail }}'
|
||||
ErrApiConfigIPInvalid: '呼叫API 介面IP 不在白名單: {{ .detail }}'
|
||||
ErrApiConfigDisable: '此介面禁止使用API 介面呼叫: {{ .detail }}'
|
||||
ErrApiConfigKeyTimeInvalid: 'API 介面時間戳記錯誤: {{ .detail }}'
|
||||
|
||||
#common
|
||||
ErrUsernameIsExist: "使用者名稱已存在"
|
||||
ErrNameIsExist: "名稱已存在"
|
||||
ErrDemoEnvironment: "演示伺服器,禁止此操作!"
|
||||
ErrCmdTimeout: "指令執行超時!"
|
||||
ErrCmdIllegal: "執行命令中存在不合法字符,請修改後重試!"
|
||||
ErrPortExist: "{{ .port }} 埠已被 {{ .type }} [{{ .name }}] 佔用"
|
||||
TYPE_APP: "應用"
|
||||
TYPE_RUNTIME: "運作環境"
|
||||
TYPE_DOMAIN: "網域名稱"
|
||||
ErrTypePort: "埠 {{ .name }} 格式錯誤"
|
||||
Success: "成功"
|
||||
Failed: "失敗"
|
||||
SystemRestart: "系統重啟導致任務中斷"
|
||||
ErrInvalidChar: "禁止使用非法字元"
|
||||
ErrGroupIsDefault: "預設分組,無法刪除"
|
||||
ErrGroupIsInWebsiteUse: "分組正在被其他網站使用,無法刪除"
|
||||
ErrUsernameIsExist: '使用者名稱已存在'
|
||||
ErrNameIsExist: '名稱已存在'
|
||||
ErrDemoEnvironment: '示範伺服器,禁止此操作!'
|
||||
ErrCmdTimeout: '指令執行逾時!'
|
||||
ErrCmdIllegal: '執行指令中存在不合法字符,請修改後重試!'
|
||||
ErrPortExist: '{{ .port }} 埠已被{{ .type }} [{{ .name }}] 佔用'
|
||||
TYPE_APP: '應用'
|
||||
TYPE_RUNTIME: '運作環境'
|
||||
TYPE_DOMAIN: '網域名稱'
|
||||
ErrTypePort: '埠{{ .name }} 格式錯誤'
|
||||
ErrTypePortRange: '連接埠範圍需要在1-65535 之間'
|
||||
Success: '成功'
|
||||
Failed: '失敗'
|
||||
SystemRestart: '系統重新啟動導致任務中斷'
|
||||
ErrGroupIsDefault: '預設分組,無法刪除'
|
||||
ErrGroupIsInWebsiteUse: '分組正在被其他網站使用,無法刪除'
|
||||
|
||||
#backup
|
||||
ErrBackupLocalDelete: "暫不支持刪除本地伺服器備份帳號"
|
||||
ErrBackupLocalCreate: "暫不支持創建本地伺服器備份帳號"
|
||||
ErrBackupInUsed: '此備份帳號已在排程任務中使用,無法刪除'
|
||||
ErrBackupCheck: '備份帳號測試連線失敗{{ .err }}'
|
||||
ErrBackupLocalDelete: '暫時不支援刪除本機伺服器備份帳號'
|
||||
ErrBackupLocalCreate: '暫時不支援建立本機伺服器備份帳號'
|
||||
|
||||
#app
|
||||
ErrPortInUsed: "{{ .detail }} 端口已被佔用!"
|
||||
ErrAppLimit: "應用超出安裝數量限制"
|
||||
ErrAppRequired: "請先安裝 {{ .detail }} 應用"
|
||||
ErrNotInstall: "應用未安裝"
|
||||
ErrPortInOtherApp: "{{ .port }} 端口已被應用 {{ .apps }} 佔用!"
|
||||
ErrDbUserNotValid: "儲存資料庫,用戶名密碼不匹配!"
|
||||
ErrDockerComposeNotValid: "docker-compose 文件格式錯誤"
|
||||
ErrUpdateBuWebsite: "應用更新成功,但是網站配置文件修改失敗,請檢查配置!"
|
||||
Err1PanelNetworkFailed: "默認容器網絡創建失敗!{{ .detail }}"
|
||||
ErrFileParse: "應用 docker-compose 文件解析失敗!"
|
||||
ErrInstallDirNotFound: "安裝目錄不存在,如需卸載,請選擇強制卸載"
|
||||
AppStoreIsUpToDate: "應用商店已經是最新版本"
|
||||
LocalAppVersionNull: "{{.name}} 應用未同步到版本!無法添加到應用列表"
|
||||
LocalAppVersionErr: "{{.name}} 同步版本 {{.version}} 失敗!{{.err}}"
|
||||
ErrFileNotFound: "{{.name}} 文件不存在"
|
||||
ErrFileParseApp: "{{.name}} 文件解析失敗 {{.err}}"
|
||||
ErrAppDirNull: "版本資料夾不存在"
|
||||
LocalAppErr: "應用 {{.name}} 同步失敗!{{.err}}"
|
||||
ErrContainerName: "容器名稱已存在"
|
||||
ErrAppSystemRestart: "1Panel 重啟導致任務中斷"
|
||||
ErrCreateHttpClient: "創建HTTP請求失敗 {{.err}}"
|
||||
ErrHttpReqTimeOut: "請求超時 {{.err}}"
|
||||
ErrHttpReqFailed: "請求失敗 {{.err}}"
|
||||
ErrHttpReqNotFound: "文件不存在"
|
||||
ErrNoSuchHost: "網路連接失敗"
|
||||
ErrImagePullTimeOut: "鏡像拉取超時"
|
||||
ErrContainerNotFound: "{{ .name }} 容器不存在"
|
||||
ErrContainerMsg: "{{ .name }} 容器異常,具體請在容器頁面查看日誌"
|
||||
ErrAppBackup: "{{ .name }} 應用備份失敗 err {{.err}}"
|
||||
ErrImagePull: "{{ .name }} 鏡像拉取失敗 err {{.err}}"
|
||||
ErrVersionTooLow: "當前 1Panel 版本過低,無法更新應用商店,請升級版本之後操作"
|
||||
ErrAppNameExist: "應用名稱已存在"
|
||||
AppStoreIsSyncing: "應用程式商店正在同步中,請稍後再試"
|
||||
ErrGetCompose: "docker-compose.yml 檔案取得失敗!{{ .detail }}"
|
||||
ErrAppWarn: "狀態異常,請查看日誌"
|
||||
ErrAppParamKey: "參數 {{ .name }} 欄位異常"
|
||||
ErrAppUpgrade: "應用程式 {{ .name }} 升級失敗 {{ .err }}"
|
||||
AppRecover: "應用程式 {{ .name }} 回滾 "
|
||||
PullImageStart: "開始拉取鏡像 {{ .name }}"
|
||||
PullImageSuccess: "鏡像拉取成功"
|
||||
UpgradeAppStart: "開始升級應用程式 {{ .name }}"
|
||||
UpgradeAppSuccess: "應用程式 {{ .name }} 升級成功"
|
||||
AppStoreIsLastVersion: "應用商店已經是最新版本"
|
||||
AppStoreSyncSuccess: "應用商店同步成功"
|
||||
SyncAppDetail: "同步應用配置"
|
||||
AppVersionNotMatch: "{{ .name }} 應用需要更新 1Panel,跳過同步"
|
||||
MoveSiteDir: "當前升級需要遷移 OpenResty 網站目錄"
|
||||
MoveSiteToDir: "遷移網站目錄到 {{ .name }}"
|
||||
ErrMoveSiteDir: "遷移網站目錄失敗"
|
||||
MoveSiteDirSuccess: "遷移網站目錄成功"
|
||||
DeleteRuntimePHP: "刪除運行環境 PHP 版本",
|
||||
CustomAppStoreNotConfig: "請在應用商店設置離線包地址",
|
||||
CustomAppStoreNotFound: "應用商店包獲取失敗,請檢查是否存在",
|
||||
CustomAppStoreFileValid: "應用商店包需要 .tar.gz 格式"
|
||||
PullImageTimeout: "拉取鏡像超時,請嘗試增加鏡像加速或更換其他鏡像加速"
|
||||
ErrAppIsDown: "{{ .name }} 應用狀態異常,請檢查"
|
||||
ErrPortInUsed: '{{ .detail }} 連接埠已被佔用!'
|
||||
ErrAppLimit: '應用程式超出安裝數量限制'
|
||||
ErrAppRequired: '請先安裝{{ .detail }} 應用'
|
||||
ErrNotInstall: '應用程式未安裝'
|
||||
ErrPortInOtherApp: '{{ .port }} 連接埠已被應用程式{{ .apps }} 佔用!'
|
||||
ErrDbUserNotValid: '存量資料庫,使用者名稱密碼不符!'
|
||||
ErrDockerComposeNotValid: 'docker-compose 檔案格式錯誤'
|
||||
ErrUpdateBuWebsite: '應用程式更新成功,但網站設定檔修改失敗,請檢查設定! '
|
||||
Err1PanelNetworkFailed: '預設容器網路建立失敗! {{ .detail }}'
|
||||
ErrFileParse: '應用docker-compose 檔案解析失敗!'
|
||||
ErrInstallDirNotFound: '安裝目錄不存在,如需卸載,請選擇強制卸載'
|
||||
AppStoreIsUpToDate: '應用程式商店已經是最新版本'
|
||||
LocalAppVersionNull: '{{ .name }} 應用程式未同步到版本!無法加入到應用程式列表'
|
||||
LocalAppVersionErr: '{{ .name }} 同步版本{{ .version }} 失敗! {{ .err }}'
|
||||
ErrFileNotFound: '{{ .name }} 檔案不存在'
|
||||
ErrFileParseApp: '{{ .name }} 檔案解析失敗{{ .err }}'
|
||||
ErrAppDirNull: '版本資料夾不存在'
|
||||
LocalAppErr: '應用程式{{ .name }} 同步失敗!{{ .err }}'
|
||||
ErrContainerName: '容器名稱已存在'
|
||||
ErrAppSystemRestart: '1Panel 重新啟動導致任務終止'
|
||||
ErrCreateHttpClient: '建立請求失敗{{ .err }}'
|
||||
ErrHttpReqTimeOut: '請求逾時{{ .err }}'
|
||||
ErrHttpReqFailed: '請求失敗{{ .err }}'
|
||||
ErrNoSuchHost: '無法找到請求的伺服器{{ .err }}'
|
||||
ErrHttpReqNotFound: '無法找到要求的資源{{ .err }}'
|
||||
ErrImagePullTimeOut: '鏡像拉取逾時'
|
||||
ErrContainerNotFound: '{{ .name }} 容器不存在'
|
||||
ErrContainerMsg: '{{ .name }} 容器異常,請在容器頁面上查看日誌'
|
||||
ErrAppBackup: '{{ .name }} 應用備份失敗 {{ .err }}'
|
||||
ErrImagePull: '鏡像拉取失敗{{ .err }}'
|
||||
ErrVersionTooLow: '目前1Panel 版本過低,無法更新應用程式商店,請升級版本之後操作'
|
||||
ErrAppNameExist: '應用程式名稱已存在'
|
||||
AppStoreIsSyncing: '應用程式商店正在同步中,請稍後再試'
|
||||
ErrGetCompose: 'docker-compose.yml 檔案取得失敗!{{ .detail }}'
|
||||
ErrAppWarn: '狀態異常,請檢視日誌'
|
||||
ErrAppParamKey: '參數{{ .name }} 欄位異常'
|
||||
ErrAppUpgrade: '應用程式{{ .name }} 升級失敗{{ .err }}'
|
||||
AppRecover: '應用程式{{ .name }} 回滾'
|
||||
PullImageStart: '開始拉取鏡像{{ .name }}'
|
||||
PullImageSuccess: '鏡像拉取成功'
|
||||
UpgradeAppStart: '開始升級應用程式{{ .name }}'
|
||||
UpgradeAppSuccess: '應用程式{{ .name }} 升級成功'
|
||||
AppStoreIsLastVersion: '應用程式商店已經是最新版本'
|
||||
AppStoreSyncSuccess: '應用程式商店同步成功'
|
||||
SyncAppDetail: '同步應用程式設定'
|
||||
AppVersionNotMatch: '{{ .name }} 應用程式需要更高的1Panel 版本,跳過同步'
|
||||
MoveSiteDir: '目前升級需要遷移OpenResty 網站目錄'
|
||||
MoveSiteToDir: '遷移網站目錄到{{ .name }}'
|
||||
ErrMoveSiteDir: '遷移網站目錄失敗'
|
||||
MoveSiteDirSuccess: '遷移網站目錄成功'
|
||||
DeleteRuntimePHP: '刪除PHP 運行環境'
|
||||
CustomAppStoreNotConfig: '請在應用程式商店設定離線套件位址'
|
||||
CustomAppStoreNotFound: '應用程式商店套件取得失敗,請檢查是否存在'
|
||||
CustomAppStoreFileValid: '應用程式商店包需要.tar.gz 格式'
|
||||
PullImageTimeout: '拉取鏡像逾時,請嘗試增加鏡像加速或更換其他鏡像加速'
|
||||
ErrAppIsDown: '{{ .name }} 應用程式狀態異常,請檢查'
|
||||
ErrCustomApps: '存在已安裝的應用程式,請先解除安裝'
|
||||
ErrCustomRuntimes: '存在已安裝的運作環境,請先刪除'
|
||||
|
||||
#file
|
||||
ErrFileCanNotRead: "此文件不支持預覽"
|
||||
ErrFileToLarge: "文件超過10M,無法打開"
|
||||
ErrPathNotFound: "目錄不存在"
|
||||
ErrMovePathFailed: "目標路徑不能包含原路徑!"
|
||||
ErrLinkPathNotFound: "目標路徑不存在!"
|
||||
ErrFileIsExist: "文件或文件夾已存在!"
|
||||
ErrFileUpload: "{{ .name }} 上傳文件失敗 {{ .detail}}"
|
||||
ErrFileDownloadDir: "不支持下載文件夾"
|
||||
ErrCmdNotFound: "{{ .name}} 命令不存在,請先在宿主機安裝此命令"
|
||||
ErrSourcePathNotFound: "源目錄不存在"
|
||||
ErrFavoriteExist: "已收藏此路徑"
|
||||
ErrPathNotDelete: "所選目錄不可删除"
|
||||
ErrFileCanNotRead: '此檔案不支援預覽'
|
||||
ErrFileToLarge: '檔案超過10M,無法開啟'
|
||||
ErrPathNotFound: '目錄不存在'
|
||||
ErrMovePathFailed: '目標路徑不能包含原路徑!'
|
||||
ErrLinkPathNotFound: '目標路徑不存在!'
|
||||
ErrFileIsExist: '檔案或資料夾已存在!'
|
||||
ErrFileUpload: '{{ .name }} 上傳檔案失敗{{ .detail }}'
|
||||
ErrFileDownloadDir: '不支援下載資料夾'
|
||||
ErrCmdNotFound: '{{ .name}} 指令不存在,請先在宿主機安裝此指令'
|
||||
ErrSourcePathNotFound: '來源目錄不存在'
|
||||
ErrFavoriteExist: '已收藏此路徑'
|
||||
ErrInvalidChar: '禁止使用非法字元'
|
||||
ErrPathNotDelete: '所選目錄不可刪除'
|
||||
|
||||
#website
|
||||
ErrDomainIsExist: "域名已存在"
|
||||
ErrAliasIsExist: "代號已存在"
|
||||
ErrAppDelete: "其他網站使用此應用,無法刪除"
|
||||
ErrGroupIsUsed: "分組正在使用中,無法刪除"
|
||||
ErrBackupMatch: "該備份文件與當前網站部分數據不匹配: {{ .detail}}"
|
||||
ErrBackupExist: "該備份文件對應部分原數據不存在: {{ .detail}}"
|
||||
ErrPHPResource: "本地運行環境不支持切換!"
|
||||
ErrPathPermission: "index 目錄下偵測到非 1000:1000 權限資料夾,可能導致網站存取 Access denied 錯誤,請點擊上方儲存按鈕"
|
||||
ErrDomainIsUsed: "域名已被網站【{{ .name }}】使用"
|
||||
ErrDomainFormat: "{{ .name }} 域名格式不正確"
|
||||
ErrDefaultAlias: "default 為保留代號,請使用其他代號"
|
||||
ErrParentWebsite: "需要先刪除子網站 {{ .name }}"
|
||||
ErrBuildDirNotFound: "編譯目錄不存在"
|
||||
ErrImageNotExist: "執行環境 {{.name}} 鏡像不存在,請重新編輯執行環境"
|
||||
ErrDomainIsExist: '網域已存在'
|
||||
ErrAliasIsExist: '代號已存在'
|
||||
ErrAppDelete: '其他網站使用此應用程式,無法刪除'
|
||||
ErrBackupMatch: '該備份檔案與目前網站部分資料不符{{ .detail }}'
|
||||
ErrBackupExist: '該備份檔案對應部分來源資料不存在{{ .detail }}'
|
||||
ErrPHPResource: '本地運行環境不支援切換! '
|
||||
ErrPathPermission: 'index 目錄下偵測到非1000:1000 權限資料夾,可能導致網站存取Access denied 錯誤,請點擊上方儲存按鈕'
|
||||
ErrDomainIsUsed: '網域名稱已被網站【{{ .name }}】使用'
|
||||
ErrDomainFormat: '{{ .name }} 網域格式不正確'
|
||||
ErrDefaultAlias: 'default 為保留代號,請使用其他代號'
|
||||
ErrParentWebsite: '需要先移除子網站{{ .name }}'
|
||||
ErrBuildDirNotFound: '建置目錄不存在'
|
||||
ErrImageNotExist: '執行環境{{ .name }} 映像不存在,請重新編輯執行環境'
|
||||
|
||||
#ssl
|
||||
ErrSSLCannotDelete: "{{ .name }} 證書正在被網站使用,無法刪除"
|
||||
ErrAccountCannotDelete: "帳號關聯證書,無法刪除"
|
||||
ErrSSLApply: "證書續簽成功,openresty reload失敗,請檢查配置!"
|
||||
ErrEmailIsExist: "郵箱已存在"
|
||||
ErrSSLKeyNotFound: "私鑰文件不存在"
|
||||
ErrSSLCertificateNotFound: "證書文件不存在"
|
||||
ErrSSLKeyFormat: "私鑰文件校驗錯誤"
|
||||
ErrSSLCertificateFormat: "證書文件格式錯誤,請使用 pem 格式"
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: "EabKid 或 EabHmacKey 不能為空"
|
||||
ErrOpenrestyNotFound: "Http 模式需要先安裝 Openresty"
|
||||
ApplySSLStart: "開始申請憑證,網域 [{{ .domain }}] 申請方式 [{{ .type }}] "
|
||||
dnsAccount: "DNS 自動"
|
||||
dnsManual: "DNS 手排"
|
||||
http: "HTTP"
|
||||
ApplySSLFailed: "申請 [{{ .domain }}] 憑證失敗, {{.detail}} "
|
||||
ApplySSLSuccess: "申請 [{{ .domain }}] 憑證成功! ! "
|
||||
DNSAccountName: "DNS 帳號 [{{ .name }}] 廠商 [{{.type}}]"
|
||||
PushDirLog: "憑證推送到目錄 [{{ .path }}] {{ .status }}"
|
||||
ErrDeleteCAWithSSL: "目前機構下存在已簽發證書,無法刪除"
|
||||
ErrDeleteWithPanelSSL: "面板 SSL 配置使用此證書,無法刪除"
|
||||
ErrDefaultCA: "默認機構不能刪除"
|
||||
ApplyWebSiteSSLLog: "開始更新 {{ .name }} 網站憑證"
|
||||
ErrUpdateWebsiteSSL: "{{ .name }} 網站更新憑證失敗: {{ .err }}"
|
||||
ApplyWebSiteSSLSuccess: "更新網站憑證成功"
|
||||
StartUpdateSystemSSL: "開始更新系統證書"
|
||||
UpdateSystemSSLSuccess: "更新系統證書成功"
|
||||
ErrExecShell: "執行腳本失敗 {{.err}}"
|
||||
ExecShellStart: "開始執行腳本"
|
||||
ExecShellSuccess: "腳本執行成功"
|
||||
|
||||
ErrSSLCannotDelete: '{{ .name }} 憑證正在被網站使用,無法刪除'
|
||||
ErrAccountCannotDelete: '帳號關聯證書,無法刪除'
|
||||
ErrSSLApply: '憑證續簽成功,openresty reload失敗,請檢查設定!'
|
||||
ErrEmailIsExist: '郵箱已存在'
|
||||
ErrSSLKeyNotFound: '私鑰檔案不存在'
|
||||
ErrSSLCertificateNotFound: '憑證檔案不存在'
|
||||
ErrSSLKeyFormat: '私鑰檔案校驗失敗'
|
||||
ErrSSLCertificateFormat: '憑證檔案格式錯誤,請使用pem 格式'
|
||||
ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid 或EabHmacKey 不能為空'
|
||||
ErrOpenrestyNotFound: 'Http 模式需要先安裝Openresty'
|
||||
ApplySSLStart: '開始申請證書,網域名稱[{{ .domain }}] 申請方式[{{ .type }}] '
|
||||
dnsAccount: 'DNS 自動'
|
||||
dnsManual: 'DNS 手排'
|
||||
http: 'HTTP'
|
||||
ApplySSLFailed: '申請[{{ .domain }}] 憑證失敗, {{ .detail }} '
|
||||
ApplySSLSuccess: '申請[{{ .domain }}] 憑證成功! ! '
|
||||
DNSAccountName: 'DNS 帳號[{{ .name }}] 廠商[{{ .type }}]'
|
||||
PushDirLog: '憑證推送到目錄[{{ .path }}] {{ .status }}'
|
||||
ErrDeleteCAWithSSL: '目前機構下存在已簽發證書,無法刪除'
|
||||
ErrDeleteWithPanelSSL: '面板SSL 配置使用此證書,無法刪除'
|
||||
ErrDefaultCA: '預設機構不能刪除'
|
||||
ApplyWebSiteSSLLog: '開始更新{{ .name }} 網站憑證'
|
||||
ErrUpdateWebsiteSSL: '{{ .name }} 網站更新憑證失敗: {{ .err }}'
|
||||
ApplyWebSiteSSLSuccess: '更新網站憑證成功'
|
||||
ErrExecShell: '執行腳本失敗{{ .err }}'
|
||||
ExecShellStart: '開始執行腳本'
|
||||
ExecShellSuccess: '腳本執行成功'
|
||||
StartUpdateSystemSSL: '開始更新系統憑證'
|
||||
UpdateSystemSSLSuccess: '更新系統憑證成功'
|
||||
ErrWildcardDomain: 'HTTP 模式無法申請泛網域憑證'
|
||||
|
||||
#mysql
|
||||
ErrUserIsExist: "當前用戶已存在,請重新輸入"
|
||||
ErrDatabaseIsExist: "當前資料庫已存在,請重新輸入"
|
||||
ErrExecTimeOut: "SQL 執行超時,請檢查數據庫"
|
||||
ErrRemoteExist: "遠程數據庫已存在該名稱,請修改後重試"
|
||||
ErrLocalExist: "本地數據庫已存在該名稱,請修改後重試"
|
||||
ErrUserIsExist: '目前使用者已存在,請重新輸入'
|
||||
ErrDatabaseIsExist: '目前資料庫已存在,請重新輸入'
|
||||
ErrExecTimeOut: 'SQL 執行逾時,請檢查資料庫'
|
||||
ErrRemoteExist: '遠端資料庫已存在該名稱,請修改後重試'
|
||||
ErrLocalExist: '本機資料庫已存在該名稱,請修改後重試'
|
||||
|
||||
#redis
|
||||
ErrTypeOfRedis: "恢復文件類型與當前持久化方式不符,請修改後重試"
|
||||
ErrTypeOfRedis: '恢復檔案類型與目前持久化方式不符,請修改後重試'
|
||||
|
||||
#container
|
||||
ErrInUsed: "{{ .detail }} 正被使用,無法刪除"
|
||||
ErrObjectInUsed: "該對象正被使用,無法刪除"
|
||||
ErrObjectBeDependent: "該鏡像依賴於其他鏡像,無法刪除"
|
||||
ErrPortRules: "端口數目不匹配,請重新輸入!"
|
||||
ErrPgImagePull: "鏡像拉取超時,請配置鏡像加速或手動拉取 postgres:16.0-alpine 鏡像後重試"
|
||||
ErrInUsed: '{{ .detail }} 正被使用,無法刪除'
|
||||
ErrObjectInUsed: '該物件正被使用,無法刪除'
|
||||
ErrObjectBeDependent: '此鏡像依賴其他鏡像,無法刪除'
|
||||
ErrPortRules: '連接埠數目不匹配,請重新輸入!'
|
||||
ErrPgImagePull: '鏡像拉取逾時,請配置鏡像加速或手動拉取{{ .name }} 鏡像後重試'
|
||||
|
||||
#runtime
|
||||
ErrDirNotFound: "build 文件夾不存在!請檢查文件完整性!"
|
||||
ErrFileNotExist: "{{ .detail }} 文件不存在!請檢查源文件完整性!"
|
||||
ErrImageBuildErr: "鏡像 build 失敗"
|
||||
ErrImageExist: "鏡像已存在!"
|
||||
ErrDelWithWebsite: "運行環境已經關聯網站,無法刪除"
|
||||
ErrRuntimeStart: "啟動失敗"
|
||||
ErrPackageJsonNotFound: "package.json 文件不存在"
|
||||
ErrScriptsNotFound: "沒有在 package.json 中找到 scripts 配置項"
|
||||
ErrContainerNameNotFound: "無法取得容器名稱,請檢查 .env 文件"
|
||||
ErrNodeModulesNotFound: "node_modules 文件夾不存在!請編輯運行環境或者等待運行環境啟動成功"
|
||||
ErrContainerNameIsNull: "容器名稱不能為空"
|
||||
|
||||
#setting
|
||||
ErrBackupInUsed: "該備份帳號已在計劃任務中使用,無法刪除"
|
||||
ErrBackupCheck: "備份帳號測試連接失敗 {{ .err}}"
|
||||
ErrOSSConn: "無法獲取最新版本,請確認伺服器是否能夠連接外部網路。"
|
||||
ErrEntrance: "安全入口信息錯誤,請檢查後重試!"
|
||||
ErrDirNotFound: 'build 資料夾不存在!請檢查檔案完整性!'
|
||||
ErrFileNotExist: '{{ .detail }} 檔案不存在!請檢查來源檔案完整性!'
|
||||
ErrImageBuildErr: '鏡像build 失敗'
|
||||
ErrImageExist: '鏡像已存在!'
|
||||
ErrDelWithWebsite: '運行環境已經關聯網站,無法刪除'
|
||||
ErrRuntimeStart: '啟動失敗'
|
||||
ErrPackageJsonNotFound: 'package.json 檔案不存在'
|
||||
ErrScriptsNotFound: '沒有在package.json 中找到scripts 設定項'
|
||||
ErrContainerNameNotFound: '無法取得容器名稱,請檢查.env 檔案'
|
||||
ErrNodeModulesNotFound: 'node_modules 資料夾不存在!請編輯運行環境或等待運行環境啟動成功'
|
||||
ErrContainerNameIsNull: '容器名稱不存在'
|
||||
|
||||
#tool
|
||||
ErrConfigNotFound: "配置文件不存在"
|
||||
ErrConfigParse: "配置文件格式有誤"
|
||||
ErrConfigIsNull: "配置文件不允許為空"
|
||||
ErrConfigDirNotFound: "運行目錄不存在"
|
||||
ErrConfigAlreadyExist: "已存在同名配置文件"
|
||||
ErrUserFindErr: "用戶 {{ .name }} 查找失敗 {{ .err }}"
|
||||
ErrConfigNotFound: '設定檔不存在'
|
||||
ErrConfigParse: '設定檔格式有誤'
|
||||
ErrConfigIsNull: '設定檔不允許為空'
|
||||
ErrConfigDirNotFound: '運行目錄不存在'
|
||||
ErrConfigAlreadyExist: '已存在同名設定檔'
|
||||
ErrUserFindErr: '使用者{{ .name }} 尋找失敗{{ .err }}'
|
||||
|
||||
#ssh
|
||||
ErrFirewallNone: "未檢測到系統 firewalld 或 ufw 服務,請檢查後重試!"
|
||||
ErrFirewallBoth: "檢測到系統同時存在 firewalld 或 ufw 服務,為避免衝突,請卸載後重試!"
|
||||
ErrFirewallNone: '未偵測到系統firewalld 或ufw 服務,請檢查後重試!'
|
||||
ErrFirewallBoth: '偵測到系統同時存在firewalld 或ufw 服務,為避免衝突,請卸載後重試!'
|
||||
|
||||
#cronjob
|
||||
ErrCutWebsiteLog: "{{ .name }} 網站日誌切割失敗,錯誤 {{ .err }}"
|
||||
CutWebsiteLogSuccess: "{{ .name }} 網站日誌切割成功,備份路徑 {{ .path }}"
|
||||
HandleShell: "執行腳本 {{ .name }}"
|
||||
HandleNtpSync: "系統時間同步"
|
||||
HandleSystemClean: "系統快取清理"
|
||||
ErrCutWebsiteLog: '{{ .name }} 網站日誌切割失敗,錯誤{{ .err }}'
|
||||
CutWebsiteLogSuccess: '{{ .name }} 網站日誌切割成功,備份路徑{{ .path }}'
|
||||
HandleShell: '執行腳本{{ .name }}'
|
||||
HandleNtpSync: '系統時間同步'
|
||||
HandleSystemClean: '系統快取清理'
|
||||
|
||||
#toolbox
|
||||
ErrNotExistUser: "當前使用者不存在,請修改後重試!"
|
||||
ErrBanAction: "設置失敗,當前 {{ .name }} 服務不可用,請檢查後重試!"
|
||||
ErrClamdscanNotFound: "未偵測到 clamdscan 指令,請參考文件安裝!"
|
||||
ErrNotExistUser: '目前使用者不存在,請修改後重試!'
|
||||
ErrBanAction: '設定失敗,目前{{ .name }} 服務不可用,請檢查後再試一次!'
|
||||
ErrClamdscanNotFound: '未偵測到clamdscan 指令,請參考文件安裝!'
|
||||
|
||||
#waf
|
||||
ErrScope: "不支援修改此配置"
|
||||
ErrStateChange: "狀態修改失敗"
|
||||
ErrRuleExist: "規則已存在"
|
||||
ErrRuleNotExist: "規則不存在"
|
||||
ErrParseIP: "IP 格式錯誤"
|
||||
ErrDefaultIP: "default 為保留名稱,請更換其他名稱"
|
||||
ErrGroupInUse: "IP 群組被黑/白名單使用,無法刪除"
|
||||
ErrGroupExist: "IP 群組名稱已存在"
|
||||
ErrIPRange: "IP 範圍錯誤"
|
||||
ErrIPExist: "IP 已存在"
|
||||
ErrScope: '不支援修改此配置'
|
||||
ErrStateChange: '狀態修改失敗'
|
||||
ErrRuleExist: '規則已存在'
|
||||
ErrRuleNotExist: '規則不存在'
|
||||
ErrParseIP: 'IP 格式錯誤'
|
||||
ErrDefaultIP: 'default 為保留名稱,請更換其他名稱'
|
||||
ErrGroupInUse: 'IP 群組被駭/白名單使用,無法刪除'
|
||||
ErrGroupExist: 'IP 群組名稱已存在'
|
||||
ErrIPRange: 'IP 範圍錯誤'
|
||||
ErrIPExist: 'IP 已存在'
|
||||
urlDefense: 'URL 規則'
|
||||
urlHelper: '禁止訪問的 URL'
|
||||
urlHelper: '禁止訪問的URL'
|
||||
dirFilter: '目錄過濾'
|
||||
xss: 'XSS'
|
||||
phpExec: 'PHP 腳本執行'
|
||||
oneWordTrojan: '一句話木馬'
|
||||
appFilter: '應用危險目錄過濾'
|
||||
appFilter: '套用危險目錄過濾'
|
||||
webshell: 'Webshell'
|
||||
args: '參數規則'
|
||||
protocolFilter: '協議過濾'
|
||||
protocolFilter: '協定過濾'
|
||||
javaFileter: 'Java 危險檔案過濾'
|
||||
scannerFilter: '掃描器過濾'
|
||||
escapeFilter: '轉義過濾'
|
||||
customRule: '自定義規則'
|
||||
customRule: '自訂規則'
|
||||
httpMethod: 'HTTP 方法過濾'
|
||||
fileExt: '檔案上傳限制'
|
||||
defaultIpBlack: '惡意 IP 組'
|
||||
defaultIpBlack: '惡意IP 群組'
|
||||
cookie: 'Cookie 規則'
|
||||
urlBlack: 'URL 黑名單'
|
||||
uaBlack: 'User-Agent 黑名單'
|
||||
attackCount: '攻擊頻率限制'
|
||||
fileExtCheck: '檔案上傳限制'
|
||||
geoRestrict: '地區訪問限制'
|
||||
unknownWebsite: '未授權域名訪問'
|
||||
unknownWebsite: '未授權網域存取'
|
||||
notFoundCount: '404 頻率限制'
|
||||
headerDefense: 'Header 規則'
|
||||
defaultUaBlack: 'User-Agent 規則'
|
||||
@@ -253,132 +257,166 @@ methodWhite: 'HTTP 規則'
|
||||
captcha: '人機驗證'
|
||||
fiveSeconds: '5 秒驗證'
|
||||
vulnCheck: '補充規則'
|
||||
acl: '自定義規則'
|
||||
acl: '自訂規則'
|
||||
sql: 'SQL 注入'
|
||||
cc: '訪問頻率限制'
|
||||
defaultUrlBlack: 'URL 規則'
|
||||
sqlInject: 'SQL 注入'
|
||||
ErrDBNotExist: "數據庫不存在"
|
||||
allow: "允許"
|
||||
deny: "禁止"
|
||||
ErrDBNotExist: '資料庫不存在'
|
||||
allow: '允許'
|
||||
deny: '禁止'
|
||||
OpenrestyNotFound: 'Openresty 未安裝'
|
||||
|
||||
#task
|
||||
TaskStart: "{{.name}} 開始 [START]"
|
||||
TaskEnd: "{{.name}} 結束 [COMPLETED]"
|
||||
TaskFailed: "{{.name}} 失敗"
|
||||
TaskTimeout: "{{.name}} 超時"
|
||||
TaskSuccess: "{{.name}} 成功"
|
||||
TaskRetry: "開始第 {{.name}} 次重試"
|
||||
SubTaskSuccess: "{{ .name }} 成功"
|
||||
SubTaskFailed: "{{ .name }} 失敗: {{ .err }}"
|
||||
TaskInstall: "安裝"
|
||||
TaskUninstall: "卸載"
|
||||
TaskCreate: "創建"
|
||||
TaskDelete: "刪除"
|
||||
TaskUpgrade: "升級"
|
||||
TaskUpdate: "更新"
|
||||
TaskRestart: "重啟"
|
||||
TaskRollback: "回滚"
|
||||
TaskPull: "拉取"
|
||||
TaskBuild: "建構"
|
||||
TaskPush: "推送"
|
||||
TaskHandle: "執行"
|
||||
Website: "網站"
|
||||
App: "應用"
|
||||
Runtime: "運行環境"
|
||||
Database: "數據庫"
|
||||
ConfigFTP: "創建 FTP 用戶 {{ .name }}"
|
||||
ConfigOpenresty: "創建 Openresty 配置文件"
|
||||
InstallAppSuccess: "應用 {{ .name }} 安裝成功"
|
||||
ConfigRuntime: "配置運行環境"
|
||||
ConfigApp: "配置應用"
|
||||
SuccessStatus: "{{ .name }} 成功"
|
||||
FailedStatus: "{{ .name }} 失敗 {{.err}}"
|
||||
HandleLink: "處理應用關聯"
|
||||
HandleDatabaseApp: "處理應用參數"
|
||||
ExecShell: "執行 {{ .name }} 腳本"
|
||||
PullImage: "拉取鏡像"
|
||||
Start: "開始"
|
||||
Run: "啟動"
|
||||
Stop: "停止"
|
||||
Image: "鏡像"
|
||||
Container: "容器"
|
||||
Compose: "編排"
|
||||
AppLink: "關聯應用"
|
||||
EnableSSL: "開啟 HTTPS"
|
||||
AppStore: "應用商店"
|
||||
TaskSync: "同步"
|
||||
LocalApp: "本地應用"
|
||||
SubTask: "子任務"
|
||||
RuntimeExtension: "運行環境擴展"
|
||||
TaskIsExecuting: "任務正在執行中"
|
||||
TaskStart: '{{ .name }} 任務開始[START]'
|
||||
TaskEnd: '{{ .name }} 任務結束[COMPLETED]'
|
||||
TaskFailed: '{{ .name }} 任務失敗'
|
||||
TaskTimeout: '{{ .name }} 逾時'
|
||||
TaskSuccess: '{{ .name }} 任務成功'
|
||||
TaskRetry: '開始第{{ .name }} 次重試'
|
||||
SubTaskSuccess: '{{ .name }} 成功'
|
||||
SubTaskFailed: '{{ .name }} 失敗: {{ .err }}'
|
||||
TaskInstall: '安裝'
|
||||
TaskUninstall: '卸載'
|
||||
TaskCreate: '建立'
|
||||
TaskDelete: '刪除'
|
||||
TaskUpgrade: '升級'
|
||||
TaskUpdate: '更新'
|
||||
TaskRestart: '重啟'
|
||||
TaskBackup: '備份'
|
||||
TaskRecover: '恢復'
|
||||
TaskRollback: '回滾'
|
||||
TaskPull: '拉取'
|
||||
TaskBuild: '建置'
|
||||
TaskPush: '推送'
|
||||
TaskHandle: '執行'
|
||||
Website: '網站'
|
||||
App: '應用程式'
|
||||
Runtime: '運作環境'
|
||||
Database: '資料庫'
|
||||
ConfigFTP: '建立FTP 使用者{{ .name }}'
|
||||
ConfigOpenresty: '建立Openresty 設定檔'
|
||||
InstallAppSuccess: '應用程式{{ .name }} 安裝成功'
|
||||
ConfigRuntime: '設定運行環境'
|
||||
ConfigApp: '設定應用程式'
|
||||
SuccessStatus: '{{ .name }} 成功'
|
||||
FailedStatus: '{{ .name }} 失敗{{ .err }}'
|
||||
HandleLink: '處理應用程式關聯'
|
||||
HandleDatabaseApp: '處理應用程式參數'
|
||||
ExecShell: '執行{{ .name }} 腳本'
|
||||
PullImage: '拉取鏡像'
|
||||
Start: '開始'
|
||||
Run: '啟動'
|
||||
Stop: '停止'
|
||||
Image: '鏡像'
|
||||
Compose: '編排'
|
||||
Container: '容器'
|
||||
AppLink: '關聯應用程式'
|
||||
EnableSSL: '開啟HTTPS'
|
||||
AppStore: '應用程式商店'
|
||||
TaskSync: '同步'
|
||||
LocalApp: '本地應用'
|
||||
SubTask: '子任務'
|
||||
RuntimeExtension: '運行環境擴充'
|
||||
TaskIsExecuting: '任務正在運作'
|
||||
CustomAppstore: '自訂應用程式倉庫'
|
||||
|
||||
# task - snapshot
|
||||
Snapshot: "快照"
|
||||
SnapDBInfo: "寫入 1Panel 資料庫資訊"
|
||||
SnapCopy: "複製檔案&目錄 {{ .name }} "
|
||||
SnapNewDB: "初始化資料庫 {{ .name }} 連接 "
|
||||
SnapDeleteOperationLog: "刪除操作日誌"
|
||||
SnapDeleteLoginLog: "刪除訪問日誌"
|
||||
SnapDeleteMonitor: "刪除監控數據"
|
||||
SnapRemoveSystemIP: "移除系統 IP"
|
||||
SnapBaseInfo: "寫入 1Panel 基本資訊"
|
||||
SnapInstallApp: "備份 1Panel 已安裝應用"
|
||||
SnapDockerSave: "壓縮已安裝應用"
|
||||
SnapLocalBackup: "備份 1Panel 本地備份目錄"
|
||||
SnapCompressBackup: "壓縮本地備份目錄"
|
||||
SnapPanelData: "備份 1Panel 資料目錄"
|
||||
SnapCompressPanel: "壓縮資料目錄"
|
||||
SnapCloseDBConn: "關閉資料庫連接"
|
||||
SnapCompress: "製作快照檔案"
|
||||
SnapCompressFile: "壓縮快照檔案"
|
||||
SnapCheckCompress: "檢查快照壓縮檔案"
|
||||
SnapCompressSize: "快照檔案大小 {{ .name }}"
|
||||
SnapUpload: "上傳快照檔案"
|
||||
SnapLoadBackup: "獲取備份帳號資訊"
|
||||
SnapUploadTo: "上傳快照檔案到 {{ .name }}"
|
||||
SnapUploadRes: "上傳快照檔案到 {{ .name }}"
|
||||
# task - ai
|
||||
OllamaModelPull: '拉取Ollama 模型{{ .name }} '
|
||||
OllamaModelSize: '取得Ollama 模型{{ .name }} 大小'
|
||||
|
||||
# task - snapshot
|
||||
Snapshot: '快照'
|
||||
SnapDBInfo: '寫入1Panel 資料庫資訊'
|
||||
SnapCopy: '複製檔案&目錄{{ .name }} '
|
||||
SnapNewDB: '初始化資料庫{{ .name }} 連線'
|
||||
SnapDeleteOperationLog: '刪除操作日誌'
|
||||
SnapDeleteLoginLog: '刪除存取日誌'
|
||||
SnapDeleteMonitor: '刪除監控資料'
|
||||
SnapRemoveSystemIP: '移除系統IP'
|
||||
SnapBaseInfo: '寫入1Panel 基本資料'
|
||||
SnapInstallApp: '備份1Panel 已安裝應用程式'
|
||||
SnapDockerSave: '壓縮已安裝應用'
|
||||
SnapLocalBackup: '備份1Panel 本機備份目錄'
|
||||
SnapCompressBackup: '壓縮本機備份目錄'
|
||||
SnapPanelData: '備份1Panel 資料目錄'
|
||||
SnapCompressPanel: '壓縮資料目錄'
|
||||
SnapWebsite: '備份1Panel 網站目錄'
|
||||
SnapCloseDBConn: '關閉資料庫連線'
|
||||
SnapCompress: '製作快照檔案'
|
||||
SnapCompressFile: '壓縮快照檔案'
|
||||
SnapCheckCompress: '檢查快照壓縮檔'
|
||||
SnapCompressSize: '快照檔案大小{{ .name }}'
|
||||
SnapUpload: '上傳快照檔案'
|
||||
SnapLoadBackup: '取得備份帳號資訊'
|
||||
SnapUploadTo: '上傳快照檔案到{{ .name }}'
|
||||
SnapUploadRes: '上傳快照檔案到{{ .name }}'
|
||||
|
||||
SnapshotRecover: '快照恢復'
|
||||
RecoverDownload: '下載快照檔案'
|
||||
Download: '下載'
|
||||
RecoverDownloadAccount: '取得快照下載備份帳號{{ .name }}'
|
||||
RecoverDecompress: '解壓縮快照壓縮檔'
|
||||
Decompress: '解壓縮'
|
||||
BackupBeforeRecover: '快照前備份系統相關資料'
|
||||
Readjson: '讀取快照內Json 檔案'
|
||||
ReadjsonPath: '取得快照內Json 檔案路徑'
|
||||
ReadjsonContent: '讀取Json 檔案'
|
||||
ReadjsonMarshal: 'Json 轉義處理'
|
||||
RecoverApp: '恢復已安裝應用程式'
|
||||
RecoverWebsite: '恢復網站目錄'
|
||||
RecoverAppImage: '恢復快照鏡像備份'
|
||||
RecoverCompose: '恢復其他編排內容'
|
||||
RecoverComposeList: '取得所有待恢復編排'
|
||||
RecoverComposeItem: '恢復編排{{ .name }}'
|
||||
RecoverAppEmpty: '快照檔案中未發現應用程式鏡像備份'
|
||||
RecoverBaseData: '恢復基礎資料及檔案'
|
||||
RecoverDaemonJsonEmpty: '快照檔案及目前機器都不存在容器配置daemon.json 檔案'
|
||||
RecoverDaemonJson: '恢復容器配置daemon.json 檔案'
|
||||
RecoverDBData: '恢復資料庫資料'
|
||||
RecoverBackups: '還原本機備份目錄'
|
||||
RecoverPanelData: '恢復資料目錄'
|
||||
|
||||
# task - container
|
||||
ContainerNewCliet: "初始化 Docker 客戶端"
|
||||
ContainerImagePull: "拉取容器鏡像 {{ .name }}"
|
||||
ContainerRemoveOld: "刪除原容器 { .name }"
|
||||
ContainerImageCheck: "檢查鏡像是否正常拉取"
|
||||
ContainerLoadInfo: "獲取容器基本信息"
|
||||
ContainerRecreate: "容器更新失敗,現在開始恢復原容器"
|
||||
ContainerCreate: "創建新容器 {{ .name }}"
|
||||
ContainerCreateFailed: "容器創建失敗,刪除失敗容器"
|
||||
ContainerStartCheck: "檢查容器是否已啟動"
|
||||
ContainerNewCliet: '初始化Docker Client'
|
||||
ContainerImagePull: '拉取容器鏡像{{ .name }}'
|
||||
ContainerRemoveOld: '刪除原容器{{ .name }}'
|
||||
ContainerImageCheck: '檢查鏡像是否正常拉取'
|
||||
ContainerLoadInfo: '取得容器基本資訊'
|
||||
ContainerRecreate: '容器更新失敗,現在開始恢復原容器'
|
||||
ContainerCreate: '建立新容器{{ .name }}'
|
||||
ContainerCreateFailed: '容器建立失敗,刪除失敗容器'
|
||||
ContainerStartCheck: '檢查容器是否已啟動'
|
||||
|
||||
# task - image
|
||||
ImageBuild: "鏡像構建"
|
||||
ImageBuildStdoutCheck: "解析鏡像輸出內容"
|
||||
ImaegBuildRes: "鏡像構建輸出:{{ .name }}"
|
||||
ImagePull: "拉取鏡像"
|
||||
ImageRepoAuthFromDB: "從數據庫獲取倉庫認證信息"
|
||||
ImaegPullRes: "鏡像拉取輸出:{{ .name }}"
|
||||
ImagePush: "推送鏡像"
|
||||
ImageRenameTag: "修改鏡像 Tag"
|
||||
ImageNewTag: "新鏡像 Tag {{ .name }}"
|
||||
ImaegPushRes: "鏡像推送輸出:{{ .name }}"
|
||||
ComposeCreate: "創建編排"
|
||||
ComposeCreateRes: "編排創建輸出:{{ .name }}"
|
||||
ImageBuild: '鏡像建置'
|
||||
ImageBuildStdoutCheck: '解析鏡像輸出內容'
|
||||
ImaegBuildRes: '鏡像建置輸出:{{ .name }}'
|
||||
ImagePull: '拉取鏡像'
|
||||
ImageRepoAuthFromDB: '從資料庫取得倉庫認證資訊'
|
||||
ImaegPullRes: '鏡像拉取輸出:{{ .name }}'
|
||||
ImagePush: '推播鏡像'
|
||||
ImageRenameTag: '修改鏡像Tag'
|
||||
ImageNewTag: '新鏡像Tag {{ .name }}'
|
||||
ImaegPushRes: '鏡像推播輸出:{{ .name }}'
|
||||
ComposeCreate: '建立編排'
|
||||
ComposeCreateRes: '編排建立輸出:{{ .name }}'
|
||||
|
||||
# task - website
|
||||
BackupNginxConfig: "備份網站 OpenResty 配置檔案"
|
||||
CompressFileSuccess: "壓縮目錄成功,壓縮為 {{.name}}"
|
||||
CompressDir: "壓縮目錄"
|
||||
DeCompressFile: "解壓檔案 {{ .name }}"
|
||||
ErrCheckValid: "校驗備份檔案失敗,{{ .name }}"
|
||||
Rollback: "回滾"
|
||||
websiteDir: "網站目錄"
|
||||
RecoverFailedStartRollBack: "恢復失敗,開始回滾"
|
||||
AppBackupFileIncomplete: "備份文件不完整,缺少 app.json 或 app.tar.gz 文件"
|
||||
AppAttributesNotMatch: "應用類型或名稱不一致"
|
||||
BackupNginxConfig: '備份網站OpenResty 設定檔'
|
||||
CompressFileSuccess: '壓縮目錄成功,壓縮為{{ .name }}'
|
||||
CompressDir: '壓縮目錄'
|
||||
DeCompressFile: '解壓縮檔案{{ .name }}'
|
||||
ErrCheckValid: '校驗備份檔失敗,{{ .name }}'
|
||||
Rollback: '回滾'
|
||||
websiteDir: '網站目錄'
|
||||
RecoverFailedStartRollBack: '恢復失敗,開始回溯'
|
||||
AppBackupFileIncomplete: '備份檔案不完整缺少app.json 或app.tar.gz 檔案'
|
||||
AppAttributesNotMatch: '應用程式類型或名稱不一致'
|
||||
|
||||
# alert
|
||||
ErrAlert: "告警資訊格式錯誤,請檢查後重試!"
|
||||
ErrAlertPush: "告警資訊推送錯誤,請檢查後重試!"
|
||||
ErrAlertSave: "告警資訊保存錯誤,請檢查後重試!"
|
||||
ErrAlertSync: "告警資訊同步錯誤,請檢查後重試!"
|
||||
ErrAlertRemote: "告警資訊遠端錯誤,請檢查後重試!"
|
||||
#alert
|
||||
ErrAlert: '警告訊息格式錯誤,請檢查後重試!'
|
||||
ErrAlertPush: '警告訊息推送錯誤,請檢查後重試!'
|
||||
ErrAlertSave: '警告訊息儲存錯誤,請檢查後重試!'
|
||||
ErrAlertSync: '警告訊息同步錯誤,請檢查後重試!'
|
||||
ErrAlertRemote: '警告訊息遠端錯誤,請檢查後重試!'
|
||||
+18
-17
@@ -52,12 +52,12 @@ Err1PanelNetworkFailed: '默认容器网络创建失败!{{ .detail }}'
|
||||
ErrFileParse: '应用 docker-compose 文件解析失败!'
|
||||
ErrInstallDirNotFound: '安装目录不存在,如需卸载,请选择强制卸载'
|
||||
AppStoreIsUpToDate: '应用商店已经是最新版本'
|
||||
LocalAppVersionNull: '{{.name}} 应用未同步到版本!无法添加到应用列表'
|
||||
LocalAppVersionErr: '{{.name}} 同步版本 {{.version}} 失败!{{ .err }}'
|
||||
ErrFileNotFound: '{{.name}} 文件不存在'
|
||||
ErrFileParseApp: '{{.name}} 文件解析失败 {{ .err }}'
|
||||
LocalAppVersionNull: '{{ .name }} 应用未同步到版本!无法添加到应用列表'
|
||||
LocalAppVersionErr: '{{ .name }} 同步版本 {{ .version }} 失败!{{ .err }}'
|
||||
ErrFileNotFound: '{{ .name }} 文件不存在'
|
||||
ErrFileParseApp: '{{ .name }} 文件解析失败 {{ .err }}'
|
||||
ErrAppDirNull: '版本文件夹不存在'
|
||||
LocalAppErr: "应用 {{.name}} 同步失败!{{ .err }}"
|
||||
LocalAppErr: "应用 {{ .name }} 同步失败!{{ .err }}"
|
||||
ErrContainerName: "容器名称已存在"
|
||||
ErrAppSystemRestart: "1Panel 重启导致任务终止"
|
||||
ErrCreateHttpClient: "创建请求失败 {{ .err }}"
|
||||
@@ -68,7 +68,7 @@ ErrHttpReqNotFound: "无法找到请求的资源 {{ .err }}"
|
||||
ErrImagePullTimeOut: '镜像拉取超时'
|
||||
ErrContainerNotFound: '{{ .name }} 容器不存在'
|
||||
ErrContainerMsg: '{{ .name }} 容器异常,具体请在容器页面查看日志'
|
||||
ErrAppBackup: '{{ .name }} 应用备份失败 err {{ .err }}'
|
||||
ErrAppBackup: '{{ .name }} 应用备份失败 {{ .err }}'
|
||||
ErrImagePull: '镜像拉取失败 {{ .err }}'
|
||||
ErrVersionTooLow: '当前 1Panel 版本过低,无法更新应用商店,请升级版本之后操作'
|
||||
ErrAppNameExist: '应用名称已存在'
|
||||
@@ -127,7 +127,7 @@ ErrDomainFormat: "{{ .name }} 域名格式不正确"
|
||||
ErrDefaultAlias: "default 为保留代号,请使用其他代号"
|
||||
ErrParentWebsite: "需要先删除子网站 {{ .name }}"
|
||||
ErrBuildDirNotFound: "构建目录不存在"
|
||||
ErrImageNotExist: "运行环境 {{.name}} 镜像不存在,请重新编辑运行环境"
|
||||
ErrImageNotExist: "运行环境 {{ .name }} 镜像不存在,请重新编辑运行环境"
|
||||
|
||||
#ssl
|
||||
ErrSSLCannotDelete: "{{ .name }} 证书正在被网站使用,无法删除"
|
||||
@@ -144,9 +144,9 @@ ApplySSLStart: '开始申请证书,域名 [{{ .domain }}] 申请方式 [{{ .ty
|
||||
dnsAccount: "DNS 自动"
|
||||
dnsManual: "DNS 手动"
|
||||
http: "HTTP"
|
||||
ApplySSLFailed: '申请 [{{ .domain }}] 证书失败, {{.detail}} '
|
||||
ApplySSLFailed: '申请 [{{ .domain }}] 证书失败, {{ .detail }} '
|
||||
ApplySSLSuccess: '申请 [{{ .domain }}] 证书成功!!'
|
||||
DNSAccountName: 'DNS 账号 [{{ .name }}] 厂商 [{{.type}}]'
|
||||
DNSAccountName: 'DNS 账号 [{{ .name }}] 厂商 [{{ .type }}]'
|
||||
PushDirLog: '证书推送到目录 [{{ .path }}] {{ .status }}'
|
||||
ErrDeleteCAWithSSL: "当前机构下存在已签发证书,无法删除"
|
||||
ErrDeleteWithPanelSSL: "面板 SSL 配置使用此证书,无法删除"
|
||||
@@ -268,12 +268,12 @@ deny: "禁止"
|
||||
OpenrestyNotFound: "Openresty 未安装"
|
||||
|
||||
#task
|
||||
TaskStart: "{{.name}} 任务开始 [START]"
|
||||
TaskEnd: "{{.name}} 任务结束 [COMPLETED]"
|
||||
TaskFailed: "{{.name}} 任务失败"
|
||||
TaskTimeout: "{{.name}} 超时"
|
||||
TaskSuccess: "{{.name}} 任务成功"
|
||||
TaskRetry: "开始第 {{.name}} 次重试"
|
||||
TaskStart: "{{ .name }} 任务开始 [START]"
|
||||
TaskEnd: "{{ .name }} 任务结束 [COMPLETED]"
|
||||
TaskFailed: "{{ .name }} 任务失败"
|
||||
TaskTimeout: "{{ .name }} 超时"
|
||||
TaskSuccess: "{{ .name }} 任务成功"
|
||||
TaskRetry: "开始第 {{ .name }} 次重试"
|
||||
SubTaskSuccess: "{{ .name }} 成功"
|
||||
SubTaskFailed: "{{ .name }} 失败: {{ .err }}"
|
||||
TaskInstall: "安装"
|
||||
@@ -341,6 +341,7 @@ SnapLocalBackup: "备份 1Panel 本地备份目录"
|
||||
SnapCompressBackup: "压缩本地备份目录"
|
||||
SnapPanelData: "备份 1Panel 数据目录"
|
||||
SnapCompressPanel: "压缩数据目录"
|
||||
SnapWebsite: "备份 1Panel 网站目录"
|
||||
SnapCloseDBConn: "关闭数据库连接"
|
||||
SnapCompress: "制作快照文件"
|
||||
SnapCompressFile: "压缩快照文件"
|
||||
@@ -363,8 +364,8 @@ ReadjsonPath: "获取快照内 Json 文件路径"
|
||||
ReadjsonContent: "读取 Json 文件"
|
||||
ReadjsonMarshal: "Json 转义处理"
|
||||
RecoverApp: "恢复已安装应用"
|
||||
RecoverWebsite: "恢复网站目录"
|
||||
RecoverAppImage: "恢复快照镜像备份"
|
||||
RecoverAppList: "获取所有待恢复应用"
|
||||
RecoverCompose: "恢复其他编排内容"
|
||||
RecoverComposeList: "获取所有待恢复编排"
|
||||
RecoverComposeItem: "恢复编排 {{ .name }}"
|
||||
@@ -403,7 +404,7 @@ ComposeCreateRes: "编排创建输出:{{ .name }}"
|
||||
|
||||
# task - website
|
||||
BackupNginxConfig: "备份网站 OpenResty 配置文件"
|
||||
CompressFileSuccess: "压缩目录成功,压缩为 {{.name}}"
|
||||
CompressFileSuccess: "压缩目录成功,压缩为 {{ .name }}"
|
||||
CompressDir: "压缩目录"
|
||||
DeCompressFile: "解压文件 {{ .name }}"
|
||||
ErrCheckValid: "校验备份文件失败,{{ .name }}"
|
||||
|
||||
@@ -18,6 +18,7 @@ func Init() {
|
||||
global.Dir.LogDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/log"))
|
||||
global.Dir.TmpDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/tmp"))
|
||||
|
||||
global.Dir.AppDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/apps"))
|
||||
global.Dir.ResourceDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/resource"))
|
||||
global.Dir.AppResourceDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/resource/apps"))
|
||||
global.Dir.AppInstallDir, _ = fileOp.CreateDirWithPath(true, path.Join(baseDir, "1panel/apps"))
|
||||
|
||||
@@ -79,7 +79,7 @@ SubTaskFailed: "{{ .name }} failed: {{ .err }}"
|
||||
TaskInstall: "Install"
|
||||
TaskUpgrade: "Upgrade"
|
||||
SuccessStatus: "{{ .name }} succeeded"
|
||||
FailedStatus: "{{ .name }} failed {{.err}}"
|
||||
FailedStatus: "{{ .name }} failed {{ .err }}"
|
||||
Start: "Start"
|
||||
SubTask: "Subtask"
|
||||
|
||||
|
||||
+16
-16
@@ -80,7 +80,7 @@ SubTaskFailed: "{{ .name }} 失敗: {{ .err }}"
|
||||
TaskInstall: "インストール"
|
||||
TaskUpgrade: "アップグレード"
|
||||
SuccessStatus: "{{ .name }} 成功"
|
||||
FailedStatus: "{{ .name }} 失敗 {{.err}}"
|
||||
FailedStatus: "{{ .name }} 失敗 {{ .err }}"
|
||||
Start: "開始"
|
||||
SubTask: "サブタスク"
|
||||
|
||||
@@ -108,13 +108,13 @@ AppVersion: "アプリバージョン"
|
||||
AppCommands: "アプリ関連のコマンド"
|
||||
AppInit: "アプリを初期化します"
|
||||
AppKeyVal: "アプリキー(英語のみをサポートする)"
|
||||
AppCreateFileErr: "file {{.name}}作成に失敗した{{.err}}"
|
||||
AppCreateDirErr: "Folder {{.name}}作成に失敗した{{.err}}"
|
||||
AppCreateFileErr: "file {{ .name }}作成に失敗した{{ .err }}"
|
||||
AppCreateDirErr: "Folder {{ .name }}作成に失敗した{{ .err }}"
|
||||
AppMissKey: "アプリキーがありません、-kを使用して指定します"
|
||||
AppMissVersion: "アプリバージョンがありません、-vを使用して指定します"
|
||||
AppVersionExist: "バージョンはすでに存在します!"
|
||||
AppCreateSuccessful: "創造は成功しました!"
|
||||
AppWriteErr: "file {{.name}} write failed {{.err}}"
|
||||
AppWriteErr: "file {{ .name }} write failed {{ .err }}"
|
||||
SudoHelper: "{{.cmd}}を使用するか、ルートユーザーに切り替えてください"
|
||||
ListenIPCommands: "リスニングIPを切り替えます"
|
||||
ListenIPv4: "IPv4で聞いてください"
|
||||
@@ -128,7 +128,7 @@ ResetIPs: "1パネル認定IP制限をキャンセルします"
|
||||
ResetDomain: "1パネルドメインバインディングをキャンセルします"
|
||||
RestoreCommands: "ロールバック1パネルサービスとデータ"
|
||||
RestoreNoSuchFile: "ロールバックに使用できるファイルはありません"
|
||||
RestoreStep1: "(1/5){{.name}}ディレクトリからの1パネルサービスとデータの開始ロールバック..."
|
||||
RestoreStep1: "(1/5){{ .name }}ディレクトリからの1パネルサービスとデータの開始ロールバック..."
|
||||
RestoreStep2: "(2/5)1パネルバイナリロールバックが成功しました"
|
||||
RestoreStep3: "(3/5)1パネルスクリプトロールバック成功"
|
||||
RestoreStep4: "(4/5)1パネルサービスロールバックが成功しました"
|
||||
@@ -141,28 +141,28 @@ UpdatePort: "パネルポートを更新します"
|
||||
UpdateUserNull: "エラー:パネルユーザーは空です!"
|
||||
UpdateUserBlank: "エラー:パネルユーザーにはスペースが含まれています!"
|
||||
UpdateUserFormat: "エラー:無効なパネルユーザー形式!英語、中国語、数字、_、長さ3〜30のみをサポートしています"
|
||||
UpdateUserErr: "エラー:パネルユーザーの更新に失敗しました{{.err}}"
|
||||
UpdateUserErr: "エラー:パネルユーザーの更新に失敗しました{{ .err }}"
|
||||
UpdateSuccessful: "更新成功!"
|
||||
UpdateUserResult: "パネルユーザー:{{.name}}"
|
||||
UpdatePasswordRead: "エラー:パネルパスワード情報の読み取りに失敗しました、{{.err}}"
|
||||
UpdateUserResult: "パネルユーザー:{{ .name }}"
|
||||
UpdatePasswordRead: "エラー:パネルパスワード情報の読み取りに失敗しました、{{ .err }}"
|
||||
UpdatePasswordNull: "エラー:パネルパスワードは空です!"
|
||||
UpdateUPasswordBlank: "エラー:パスワードにはスペースが含まれています!"
|
||||
UpdatePasswordFormat: "エラー:パネルパスワードは、文字、数字、特殊文字のみをサポートします!@#$%*_、。、、長さ8-30!"
|
||||
UpdatePasswordLen: "エラー:6文字より長くパスワードを入力してください!"
|
||||
UpdatePasswordRe: "パスワードを認証する:"
|
||||
UpdatePasswordErr: "エラー:{{.err}}のパスワードの更新に失敗しました"
|
||||
UpdatePasswordErr: "エラー:{{ .err }}のパスワードの更新に失敗しました"
|
||||
UpdatePasswordSame: "エラー:2つのパスワードが一致しません。チェックして再試行してください!"
|
||||
UpdatePasswordResult: "パネルパスワード:{{.name}}"
|
||||
UpdatePasswordResult: "パネルパスワード:{{ .name }}"
|
||||
UpdatePortFormat: "エラー:入力ポート番号は1〜65535でなければなりません!"
|
||||
UpdatePortUsed: "エラー:ポート番号はすでに使用されています。チェックして再試行してください!"
|
||||
UpdatePortErr: "エラー:パネルポートの更新に失敗しました{{.err}}"
|
||||
UpdatePortResult: "パネルポート:{{.name}}"
|
||||
UpdatePortFirewallAdd: "ファイアウォールポートルールの追加に失敗した{{.err}}、ファイアウォールルールに{{.name}}ポートを手動で追加してください。"
|
||||
UpdatePortFirewallDel: "エラー:ファイアウォールポートの削除に失敗しました、{{.err}}"
|
||||
UpdatePortFirewallReload: "ファイアウォールのリロードに失敗しました{{.err}}、ファイアウォールを手動でリロードしてください。"
|
||||
UpdatePortErr: "エラー:パネルポートの更新に失敗しました{{ .err }}"
|
||||
UpdatePortResult: "パネルポート:{{ .name }}"
|
||||
UpdatePortFirewallAdd: "ファイアウォールポートルールの追加に失敗した{{ .err }}、ファイアウォールルールに{{ .name }}ポートを手動で追加してください。"
|
||||
UpdatePortFirewallDel: "エラー:ファイアウォールポートの削除に失敗しました、{{ .err }}"
|
||||
UpdatePortFirewallReload: "ファイアウォールのリロードに失敗しました{{ .err }}、ファイアウォールを手動でリロードしてください。"
|
||||
UserInfo: "パネル情報を取得します"
|
||||
UserInfoAddr: "パネルアドレス:"
|
||||
UserInfoPassHelp: "ヒント:パスワードを変更するには、コマンドを実行できます。"
|
||||
DBConnErr: "エラー:データベース接続の初期化に失敗しました、{{.err}}"
|
||||
DBConnErr: "エラー:データベース接続の初期化に失敗しました、{{ .err }}"
|
||||
SystemVersion: "バージョン:"
|
||||
SystemMode: "モード:"
|
||||
|
||||
@@ -79,7 +79,7 @@ SubTaskFailed: "{{ .name }} 실패: {{ .err }}"
|
||||
TaskInstall: "설치"
|
||||
TaskUpgrade: "업그레이드"
|
||||
SuccessStatus: "{{ .name }} 성공"
|
||||
FailedStatus: "{{ .name }} 실패 {{.err}}"
|
||||
FailedStatus: "{{ .name }} 실패 {{ .err }}"
|
||||
Start: "시작"
|
||||
SubTask: "서브 작업"
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ SubTaskFailed: "{{ .name }} gagal: {{ .err }}"
|
||||
TaskInstall: "Pasang"
|
||||
TaskUpgrade: "Kemas kini"
|
||||
SuccessStatus: "{{ .name }} berjaya"
|
||||
FailedStatus: "{{ .name }} gagal {{.err}}"
|
||||
FailedStatus: "{{ .name }} gagal {{ .err }}"
|
||||
Start: "Mula"
|
||||
SubTask: "Tugas Sub"
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ SubTaskFailed: "{{ .name }} falhou: {{ .err }}"
|
||||
TaskInstall: "Instalar"
|
||||
TaskUpgrade: "Atualizar"
|
||||
SuccessStatus: "{{ .name }} bem-sucedido"
|
||||
FailedStatus: "{{ .name }} falhou {{.err}}"
|
||||
FailedStatus: "{{ .name }} falhou {{ .err }}"
|
||||
Start: "Iniciar"
|
||||
SubTask: "Subtarefa"
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ SubTaskFailed: "{{ .name }} не удалось: {{ .err }}"
|
||||
TaskInstall: "Установить"
|
||||
TaskUpgrade: "Обновить"
|
||||
SuccessStatus: "{{ .name }} успешно"
|
||||
FailedStatus: "{{ .name }} не удалось {{.err}}"
|
||||
FailedStatus: "{{ .name }} не удалось {{ .err }}"
|
||||
Start: "Начать"
|
||||
SubTask: "Подзадача"
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ SubTaskFailed: "{{ .name }} 失敗: {{ .err }}"
|
||||
TaskInstall: "安裝"
|
||||
TaskUpgrade: "升級"
|
||||
SuccessStatus: "{{ .name }} 成功"
|
||||
FailedStatus: "{{ .name }} 失敗 {{.err}}"
|
||||
FailedStatus: "{{ .name }} 失敗 {{ .err }}"
|
||||
Start: "開始"
|
||||
SubTask: "子任務"
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ ErrInternalServerKey: "服务内部错误:"
|
||||
|
||||
#app
|
||||
CustomAppStoreFileValid: "应用商店包需要 .tar.gz 格式"
|
||||
ErrFileNotFound: '{{.name}} 文件不存在'
|
||||
ErrFileNotFound: '{{ .name }} 文件不存在'
|
||||
|
||||
#backup
|
||||
ErrBackupInUsed: "该备份账号已在计划任务中使用,无法删除"
|
||||
@@ -80,7 +80,7 @@ SubTaskFailed: "{{ .name }} 失败: {{ .err }}"
|
||||
TaskInstall: "安装"
|
||||
TaskUpgrade: "升级"
|
||||
SuccessStatus: "{{ .name }} 成功"
|
||||
FailedStatus: "{{ .name }} 失败 {{.err}}"
|
||||
FailedStatus: "{{ .name }} 失败 {{ .err }}"
|
||||
Start: "开始"
|
||||
SubTask: "子任务"
|
||||
|
||||
|
||||
@@ -93,9 +93,9 @@
|
||||
:props="defaultProps"
|
||||
show-checkbox
|
||||
>
|
||||
<template #default="{ node, data }">
|
||||
<template #default="{ data }">
|
||||
<div class="float-left">
|
||||
<span>{{ load18n(node, data.label) }}</span>
|
||||
<span>{{ data.label }}</span>
|
||||
</div>
|
||||
<div class="ml-4 float-left">
|
||||
<span v-if="data.size">{{ computeSize(data.size) }}</span>
|
||||
@@ -220,6 +220,7 @@ const emit = defineEmits(['search']);
|
||||
const acceptParams = (): void => {
|
||||
form.downloadAccountID = '';
|
||||
form.fromAccounts = [];
|
||||
nowIndex.value = 0;
|
||||
search();
|
||||
loadBackups();
|
||||
drawerVisible.value = true;
|
||||
@@ -360,12 +361,7 @@ const changeAccount = async () => {
|
||||
const load18n = (node: any, label: string) => {
|
||||
if (node.level === 1) {
|
||||
switch (label) {
|
||||
case 'agent':
|
||||
case 'conf':
|
||||
case 'docker':
|
||||
case 'log':
|
||||
case 'runtime':
|
||||
case 'task':
|
||||
case 'app':
|
||||
case 'database':
|
||||
case 'website':
|
||||
@@ -483,7 +479,6 @@ const setAppDefaultCheck = async (list: any) => {
|
||||
for (const item of list) {
|
||||
if (item.isCheck) {
|
||||
appRef.value.setChecked(item.id, true, true);
|
||||
continue;
|
||||
}
|
||||
if (item.children) {
|
||||
setAppDefaultCheck(item.children);
|
||||
|
||||
@@ -309,7 +309,7 @@ const openTaskLog = (taskID: string) => {
|
||||
taskLogRef.value.openWithTaskID(taskID);
|
||||
};
|
||||
const openWithResource = (row: any, op: string) => {
|
||||
op = 'create' ? 'TaskCreate' : 'TaskRecover';
|
||||
op = op === 'create' ? 'TaskCreate' : 'TaskRecover';
|
||||
taskLogRef.value.openWithResourceID('Snapshot', op, row.id);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user