chore: refine en and zh-Hant i18n wording (#11987)

This commit is contained in:
CityFun
2026-02-28 07:11:52 +00:00
committed by GitHub
parent 961ebd30a1
commit 5a67a62733
6 changed files with 862 additions and 895 deletions
+17 -17
View File
@@ -55,8 +55,8 @@ ErrAgentAccountIDRequired: 'Account ID is required'
Localhost: 'Local'
ErrBackupInUsed: 'Backup account is in use by a scheduled task'
ErrBackupCheck: 'Backup account connectivity test failed: {{ .err }}'
ErrBackupLocalDelete: 'Deleting local backup accounts is not supported'
ErrBackupLocalCreate: 'Creating local backup accounts is not supported'
ErrBackupLocalDelete: 'Local backup accounts cannot be deleted'
ErrBackupLocalCreate: 'Local backup accounts cannot be created'
#app
ErrPortInUsed: '{{ .detail }} port is already occupied!'
@@ -121,7 +121,7 @@ ExportStatus: "Login Status"
ExportDate: "Time"
#file
ErrFileCanNotRead: 'File preview not supported'
ErrFileCanNotRead: 'File preview is not supported'
ErrFileToLarge: 'File is larger than 10 MB'
ErrPathNotFound: 'Directory does not exist'
ErrMovePathFailed: 'Target path cannot include source path'
@@ -235,7 +235,7 @@ PruneStart: 'Cleaning in progress'
#runtime
ErrFileNotExist: 'Source file not found: {{ .detail }}'
ErrImageBuildErr: 'Image build failed'
ErrImageExist: "Image already exists. Please use a different image name."
ErrImageExist: "Image already exists. Use a different image name."
ErrDelWithWebsite: 'Runtime is linked to a website and cannot be deleted'
ErrRuntimeStart: 'Startup failed'
ErrPackageJsonNotFound: 'package.json file does not exist'
@@ -510,19 +510,19 @@ ErrInstallExtension: 'Another extension install task is running'
PanelAlertTitle: "Panel Alert Notification"
TestAlertTitle: "Test Email - Verify Email Connectivity"
TestAlert: "This is a test email to verify that your email sending configuration is correct."
LicenseExpirationAlert: "Your {{ .node }}{{ .ip }} Panel, the license will expire in {{ .day }} days. Please log in to the panel for details."
CronJobFailedAlert: "Your {{ .node }}{{ .ip }} Panel, scheduled task - {{ .name }} execution failed. Please log in to the panel for details."
ClamAlert: "Your {{ .node }}{{ .ip }} Panel, the virus scan task detected {{ .num }} infected files. Please log in to the panel for details."
WebSiteAlert: "Your {{ .node }}{{ .ip }} Panel, {{ .num }} websites will expire in {{ .day }} days. Please log in to the panel for details."
SSLAlert: "Your {{ .node }}{{ .ip }} Panel, {{ .num }} SSL certificates will expire in {{ .day }} days. Please log in to the panel for details."
DiskUsedAlert: "Your {{ .node }}{{ .ip }} Panel, disk {{ .name }} usage has reached {{ .used }}. Please log in to the panel for details."
ResourceAlert: "Your {{ .node }}{{ .ip }} Panel, the average {{ .name }} usage rate in {{ .time }} minutes is {{ .used }}. Please log in to the panel for details."
PanelVersionAlert: "Your {{ .node }}{{ .ip }} Panel, the latest panel version is available for upgrade. Please log in to the panel for details."
PanelPwdExpirationAlert: "Your {{ .node }}{{ .ip }} Panel, the panel password will expire in {{ .day }} days. Please log in to the panel for details."
CommonAlert: "Your {{ .node }}{{ .ip }} Panel, {{ .msg }}. Please log in to the panel for details."
NodeExceptionAlert: "Your {{ .node }}{{ .ip }} Panel, {{ .num }} nodes are abnormal. Please log in to the panel for details."
LicenseExceptionAlert: "Your {{ .node }}{{ .ip }} Panel, {{ .num }} licenses are abnormal. Please log in to the panel for details."
SSHAndPanelLoginAlert: "Your {{ .node }}{{ .ip }} Panel, {{ .name }} login from {{ .loginIp }} is abnormal. Please log in to the panel for details."
LicenseExpirationAlert: "Panel {{ .node }}{{ .ip }}: license expires in {{ .day }} days. Log in to view details."
CronJobFailedAlert: "Panel {{ .node }}{{ .ip }}: scheduled task {{ .name }} failed. Log in to view details."
ClamAlert: "Panel {{ .node }}{{ .ip }}: virus scan found {{ .num }} infected files. Log in to view details."
WebSiteAlert: "Panel {{ .node }}{{ .ip }}: {{ .num }} websites expire in {{ .day }} days. Log in to view details."
SSLAlert: "Panel {{ .node }}{{ .ip }}: {{ .num }} SSL certificates expire in {{ .day }} days. Log in to view details."
DiskUsedAlert: "Panel {{ .node }}{{ .ip }}: disk {{ .name }} usage reached {{ .used }}. Log in to view details."
ResourceAlert: "Panel {{ .node }}{{ .ip }}: average {{ .name }} usage in {{ .time }} minutes is {{ .used }}. Log in to view details."
PanelVersionAlert: "Panel {{ .node }}{{ .ip }}: a new panel version is available. Log in to view details."
PanelPwdExpirationAlert: "Panel {{ .node }}{{ .ip }}: panel password expires in {{ .day }} days. Log in to view details."
CommonAlert: "Panel {{ .node }}{{ .ip }}: {{ .msg }}. Log in to view details."
NodeExceptionAlert: "Panel {{ .node }}{{ .ip }}: {{ .num }} nodes are abnormal. Log in to view details."
LicenseExceptionAlert: "Panel {{ .node }}{{ .ip }}: {{ .num }} licenses are abnormal. Log in to view details."
SSHAndPanelLoginAlert: "Panel {{ .node }}{{ .ip }}: abnormal {{ .name }} login from {{ .loginIp }}. Log in to view details."
#disk
DeviceNotFound: "Device {{ .name }} not found"
+80 -80
View File
@@ -34,17 +34,17 @@ SystemRestart: '系統重新啟動導致任務中斷'
ErrGroupIsDefault: '預設分組,無法刪除'
ErrGroupIsInWebsiteUse: '分組正在被其他網站使用,無法刪除'
Decrypt: '解密'
ErrAgentAccountBound: '該帳號已綁定到智能體,無法刪除,請重試'
ErrAgentAccountBound: '該帳號已綁定到智能體,無法刪除,請重試'
ErrAgentAccountUnavailable: '帳號連線資訊不可用,錯誤:{{ .err }},請重試'
ErrAgentProviderNotSupported: '暫不支援該智能體提供商,請重試'
ErrAgentAccountRequired: '請選擇智能體帳號後重試'
ErrAgentAccountNotVerified: '帳號未驗證通過,請重試'
ErrAgentProviderMismatch: '帳號提供商不匹配,請重試'
ErrAgentBaseURLRequired: 'Base URL 不為空,請重試'
ErrAgentApiKeyRequired: 'API Key 不為空,請重試'
ErrAgentComposeRequired: '自訂編排內容不為空,請重試'
ErrAgentIDRequired: '智能體 ID 不為空,請重試'
ErrAgentAccountIDRequired: '帳號 ID 不為空,請重試'
ErrAgentProviderMismatch: '帳號提供商不,請重試'
ErrAgentBaseURLRequired: 'Base URL 不為空,請重試'
ErrAgentApiKeyRequired: 'API Key 不為空,請重試'
ErrAgentComposeRequired: '自訂編排內容不為空,請重試'
ErrAgentIDRequired: '智能體 ID 不為空,請重試'
ErrAgentAccountIDRequired: '帳號 ID 不為空,請重試'
Localhost: '本機'
ErrBackupInUsed: '此備份帳號已在排程任務中使用,無法刪除'
ErrBackupCheck: '備份帳號測試連線失敗{{ .err }}'
@@ -57,7 +57,7 @@ ErrPortInOtherApp: '{{ .port }} 連接埠已被應用程式{{ .apps }} 佔用!
ErrDbUserNotValid: '存量資料庫,使用者名稱密碼不符!'
ErrUpdateBuWebsite: '應用程式更新成功,但網站設定檔修改失敗,請檢查設定!'
Err1PanelNetworkFailed: '預設容器網路建立失敗! {{ .detail }}'
ErrFileParse: '應用docker-compose 檔解析失敗!'
ErrFileParse: '應用docker-compose 檔解析失敗!'
ErrInstallDirNotFound: '安裝目錄不存在,如需移除,請選擇強制移除'
AppStoreIsUpToDate: '應用程式商店已經是最新版本'
LocalAppVersionNull: '{{ .name }} 應用程式未同步到版本!無法加入到應用程式列表'
@@ -73,9 +73,9 @@ ErrHttpReqFailed: '請求失敗{{ .err }}'
ErrNoSuchHost: '無法找到請求的伺服器{{ .err }}'
ErrHttpReqNotFound: '無法找到要求的資源{{ .err }}'
ErrContainerNotFound: '{{ .name }} 容器不存在'
ErrContainerMsg: '{{ .name }} 容器異常,請在容器頁面上查看日誌'
ErrContainerMsg: '{{ .name }} 容器異常,請在容器頁面上檢視日誌'
ErrAppBackup: '{{ .name }} 應用備份失敗 {{ .err }}'
ErrVersionTooLow: '目前1Panel 版本過低,無法更新應用程式商店,請升級版本之後操作'
ErrVersionTooLow: '目前 1Panel 版本過低,無法更新應用程式商店,請升級版本之後操作'
ErrAppNameExist: '應用程式名稱已存在'
AppStoreIsSyncing: '應用程式商店正在同步中,請稍後重試'
ErrGetCompose: 'docker-compose.yml 檔案取得失敗!{{ .detail }}'
@@ -83,16 +83,16 @@ ErrAppWarn: '狀態異常,請檢視日誌'
ErrAppParamKey: '參數{{ .name }} 欄位異常'
ErrAppUpgrade: '應用程式{{ .name }} 升級失敗{{ .err }}'
AppRecover: '應用程式{{ .name }} 回滾'
PullImageStart: '開始拉取像 [{{ .name }}]'
PullImageSuccess: '像拉取成功'
PullImageStart: '開始拉取像 [{{ .name }}]'
PullImageSuccess: '像拉取成功'
AppStoreSyncSuccess: '應用程式商店同步成功'
SyncAppDetail: '同步應用程式設定'
AppVersionNotMatch: '{{ .name }} 應用程式需要更高的 1Panel 版本,跳過同步'
MoveSiteDir: '測到網站目錄變更 需要遷移 OpenResty 網站目錄到 {{ .name }}'
MoveSiteDir: '測到網站目錄變更 需要遷移 OpenResty 網站目錄到 {{ .name }}'
MoveSiteDirSuccess: '遷移網站目錄成功'
DeleteRuntimePHP: '刪除PHP 執行環境'
CustomAppStoreFileValid: '應用程式商店包需要.tar.gz 格式'
PullImageTimeout: '拉取像逾時,請嘗試增加像加速或更換其他像加速'
PullImageTimeout: '拉取像逾時,請嘗試增加像加速或更換其他像加速'
ErrAppIsDown: '{{ .name }} 應用程式狀態異常,請檢查'
ErrCustomApps: '存在已安裝的應用程式,請先解除安裝'
ErrCustomRuntimes: '存在已安裝的運作環境,請先刪除'
@@ -111,7 +111,7 @@ ExportDate: '時間'
ErrFileCanNotRead: '此檔案不支援預覽'
ErrFileToLarge: '檔案超過10M,無法開啟'
ErrPathNotFound: '目錄不存在'
ErrMovePathFailed: '目標路徑不包含原路徑!'
ErrMovePathFailed: '目標路徑不包含原路徑!'
ErrLinkPathNotFound: '目標路徑不存在!'
ErrFileIsExist: '檔案或資料夾已存在!'
ErrFileUpload: '{{ .name }} 上傳檔案失敗{{ .detail }}'
@@ -122,15 +122,15 @@ ErrFavoriteExist: '已收藏此路徑'
ErrInvalidChar: '禁止使用無效字元'
ErrPathNotDelete: '所選目錄不可刪除'
ErrLogFileToLarge: '日誌檔案超過 500M,無法開啟'
FileDropFailed: '清理文件 {{ .name }} 失敗: {{ .err }}'
FileDropSuccess: '清理文件 {{ .name }} 成功,清理 {{ .count }} 個文件,釋放 {{ .size }} 磁碟空間'
FileDropSum: '文件清理完成,共清理 {{ .count }} 個文件,共釋放 {{ .size }} 磁碟空間'
ErrBadDecrypt: '壓縮檔解壓密碼錯誤,解壓失敗,請重試'
FileDropFailed: '清理檔案 {{ .name }} 失敗: {{ .err }}'
FileDropSuccess: '清理檔案 {{ .name }} 成功,清理 {{ .count }} 個檔案,釋放 {{ .size }} 磁碟空間'
FileDropSum: '檔案清理完成,共清理 {{ .count }} 個檔案,共釋放 {{ .size }} 磁碟空間'
ErrBadDecrypt: '壓縮檔解壓密碼錯誤,解壓失敗,請重試'
ErrAliasIsExist: '代號已存在'
ErrBackupMatch: '該備份檔案與目前網站部分資料不符{{ .detail }}'
ErrBackupExist: '該備份檔案對應部分來源資料不存在{{ .detail }}'
ErrPHPResource: '本機執行環境不支援切換!'
ErrPathPermission: 'index 目錄下偵測到非 1000:1000 權限資料夾,可能導致網站存取 Access denied 錯誤,請點上方儲存按鈕'
ErrPathPermission: 'index 目錄下偵測到非 1000:1000 權限資料夾,可能導致網站存取 Access denied 錯誤,請點上方儲存按鈕'
ErrDomainIsUsed: '網域名稱已被網站【{{ .name }}】使用'
ErrDomainFormat: '{{ .name }} 網域格式不正確'
ErrDefaultAlias: 'default 為保留代號,請使用其他代號'
@@ -138,33 +138,33 @@ ErrParentWebsite: '需要先移除子網站{{ .name }}'
ErrBuildDirNotFound: '建置目錄不存在'
ErrImageNotExist: '執行環境{{ .name }} 映像不存在,請重新編輯執行環境'
ErrProxyIsUsed: '負載均衡已被反向代理使用,無法刪除'
ErrSSLValid: '證書文件異常,請檢查證狀態!'
ErrSSLValid: '憑證檔案異常,請檢查證狀態!'
ErrWebsiteDir: '請選擇網站目錄下的目錄'
ErrComposerFileNotFound: 'composer.json 檔案不存在'
ErrRuntimeNoPort: '執行環境未設定埠,請先編輯執行環境'
Status: '狀態'
start: '開啟'
stop: '關閉'
restart: '重'
restart: '重新啟動'
kill: '強制停止'
pause: '暫停'
unpause: '恢復'
remove: '刪除'
delete: '刪除'
ErrDefaultWebsite: '已經設預設網站,請取消後再設'
ErrDefaultWebsite: '已經設預設網站,請取消後再設'
SSL: '憑證'
Set: '設定'
ErrSSLCannotDelete: '{{ .name }} 憑證正在被網站使用,無法刪除'
ErrAccountCannotDelete: '帳號關聯證,無法刪除'
ErrAccountCannotDelete: '帳號關聯證,無法刪除'
ErrSSLApply: '憑證續簽成功,openresty reload 失敗,請檢查設定!'
ErrEmailIsExist: '信箱已存在'
ErrSSLKeyNotFound: '私鑰檔案不存在'
ErrSSLCertificateNotFound: '憑證檔案不存在'
ErrSSLKeyFormat: '私鑰檔案驗失敗'
ErrSSLKeyFormat: '私鑰檔案驗失敗'
ErrSSLCertificateFormat: '憑證檔案格式錯誤,請使用 pem 格式'
ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid 或 EabHmacKey 不為空'
ErrOpenrestyNotFound: 'Http 模式需要先安裝Openresty'
ApplySSLStart: '開始申請證,網域名稱[{{ .domain }}] 申請方式[{{ .type }}]'
ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid 或 EabHmacKey 不為空'
ErrOpenrestyNotFound: 'Http 模式需要先安裝OpenResty'
ApplySSLStart: '開始申請證,網域名稱[{{ .domain }}] 申請方式[{{ .type }}]'
dnsAccount: 'DNS 自動'
dnsManual: 'DNS 手排'
http: 'HTTP'
@@ -172,9 +172,9 @@ ApplySSLFailed: '申請[{{ .domain }}] 憑證失敗, {{ .detail }}'
ApplySSLSuccess: '申請[{{ .domain }}] 憑證成功!'
DNSAccountName: 'DNS 帳號[{{ .name }}] 廠商[{{ .type }}]'
PushDirLog: '憑證推送到目錄[{{ .path }}] {{ .status }}'
ErrDeleteCAWithSSL: '目前機構下存在已簽發證,無法刪除'
ErrDeleteWithPanelSSL: '面板SSL 配置使用此證,無法刪除'
ErrDefaultCA: '預設機構不刪除'
ErrDeleteCAWithSSL: '目前機構下存在已簽發證,無法刪除'
ErrDeleteWithPanelSSL: '面板SSL 設定使用此證,無法刪除'
ErrDefaultCA: '預設機構不刪除'
ApplyWebSiteSSLLog: '開始更新{{ .name }} 網站憑證'
ErrUpdateWebsiteSSL: '{{ .name }} 網站更新憑證失敗: {{ .err }}'
ApplyWebSiteSSLSuccess: '更新網站憑證成功'
@@ -184,10 +184,10 @@ ExecShellSuccess: '腳本執行成功'
StartUpdateSystemSSL: '開始更新系統憑證'
UpdateSystemSSLSuccess: '更新系統憑證成功'
ErrWildcardDomain: 'HTTP 模式無法申請泛網域憑證'
ErrApplySSLCanNotDelete: '正在申請的證 {{ .name }} 無法刪除,請稍後重試'
StartPushSSLToNode: '開始推送證到節點'
PushSSLToNodeFailed: '推送證到節點失敗: {{ .err }}'
PushSSLToNodeSuccess: '推送證到節點成功'
ErrApplySSLCanNotDelete: '正在申請的證 {{ .name }} 無法刪除,請稍後重試'
StartPushSSLToNode: '開始推送證到節點'
PushSSLToNodeFailed: '推送證到節點失敗: {{ .err }}'
PushSSLToNodeSuccess: '推送證到節點成功'
ErrUserIsExist: '目前使用者已存在,請重新輸入'
ErrDatabaseIsExist: '目前資料庫已存在,請重新輸入'
ErrExecTimeOut: 'SQL 執行逾時,請檢查資料庫'
@@ -200,17 +200,17 @@ ErrTypeOfRedis: '復原檔案類型與目前持久化方式不符,請修改後
ErrInUsed: '{{ .detail }} 正被使用,無法刪除!'
ErrObjectInUsed: '該對象正被使用,無法刪除!'
ErrObjectBeDependent: '該映像正被其他映像所依賴,無法刪除!'
ErrPortRules: '連接埠數目不匹配,請重新輸入!'
ErrPgImagePull: '像拉取逾時,請配置鏡像加速或手動拉取{{ .name }} 像後重試'
ErrPortRules: '連接埠數目不,請重新輸入!'
ErrPgImagePull: '像拉取逾時,請設定映像加速或手動拉取{{ .name }} 像後重試'
PruneHelper: '本次清理 {{ .name }} 釋放磁碟空間 {{ .size }}'
ImageRemoveHelper: '刪除像 {{ .name }} ,釋放磁碟空間 {{ .size }}'
ImageRemoveHelper: '刪除像 {{ .name }} ,釋放磁碟空間 {{ .size }}'
BuildCache: '構建快取'
Volume: '磁碟區'
Network: '網路'
PruneStart: '清理中,請稍候...'
ErrFileNotExist: '{{ .detail }} 檔案不存在!請檢查來源檔案完整性!'
ErrImageBuildErr: '像build 失敗'
ErrImageExist: '像已存在!請修改像名稱。'
ErrImageBuildErr: '像build 失敗'
ErrImageExist: '像已存在!請修改像名稱。'
ErrDelWithWebsite: '執行環境已經關聯網站,無法刪除'
ErrRuntimeStart: '啟動失敗'
ErrPackageJsonNotFound: 'package.json 檔案不存在'
@@ -246,7 +246,7 @@ CleanLogByName: '清理 {{ .name }} 日誌'
WafIpGroupNotFound: 'WAF IP 群組未找到,請先到【進階功能-WAF-黑白名單-IP群組】添加遠端下載方式的IP群組'
ErrNotExistUser: '目前使用者不存在,請修改後重試!'
ErrBanAction: '設定失敗,目前{{ .name }} 服務不可用,請重試'
ErrClamdscanNotFound: '未偵測到clamdscan 指令,請參考文件安裝!'
ErrClamdscanNotFound: '未偵測到clamdscan 指令,請參考檔案安裝!'
TaskSwapSet: '設定 Swap'
SetSwap: '設定 Swap {{ .path }} - {{ .size }}'
CreateSwap: '建立 Swap 檔案'
@@ -257,7 +257,7 @@ SetTamperWithRules: '根據規則啟動目錄防護'
ProtectDir: '防護目錄 {{ .name }}'
IgnoreFile: '保護檔案 {{ .name }}'
TamperSetSuccessful: '防護設定完成,開始監聽以下目錄:'
ErrScope: '不支援修改此配置'
ErrScope: '不支援修改此設定'
ErrStateChange: '狀態修改失敗'
ErrRuleExist: '規則已存在'
ErrRuleNotExist: '規則不存在'
@@ -307,9 +307,9 @@ sqlInject: 'SQL 注入'
ErrDBNotExist: '資料庫不存在'
allow: '允許'
deny: '禁止'
OpenrestyNotFound: 'Openresty 未安裝'
OpenrestyNotFound: 'OpenResty 未安裝'
remoteIpIsNull: 'IP 列表為空'
OpenrestyVersionErr: 'Openresty 版本過低,請升級 Openresty 至 1.27.1.2-2-2-focal'
OpenrestyVersionErr: 'OpenResty 版本過低,請升級 OpenResty 至 1.27.1.2-2-2-focal'
ErrFileTooLarge: '檔案超過 1MB,無法上傳'
TaskStart: '{{ .name }} 任務開始[START]'
TaskEnd: '{{ .name }} 任務結束[COMPLETED]'
@@ -325,7 +325,7 @@ TaskCreate: '建立'
TaskDelete: '刪除'
TaskUpgrade: '升級'
TaskUpdate: '更新'
TaskRestart: '重'
TaskRestart: '重新啟動'
TaskProtect: '防護'
TaskBackup: '備份'
TaskRecover: '復原'
@@ -343,7 +343,7 @@ App: '應用程式'
Runtime: '運作環境'
Database: '資料庫'
ConfigFTP: '建立FTP 使用者{{ .name }}'
ConfigOpenresty: '建立Openresty 設定檔'
ConfigOpenresty: '建立OpenResty 設定檔'
InstallAppSuccess: '應用程式{{ .name }} 安裝成功'
ConfigRuntime: '設定執行環境'
ConfigApp: '設定應用程式'
@@ -352,11 +352,11 @@ FailedStatus: '{{ .name }} 失敗{{ .err }}'
HandleLink: '處理應用程式關聯'
HandleDatabaseApp: '處理應用程式參數'
ExecShell: '執行{{ .name }} 腳本'
PullImage: '拉取像'
PullImage: '拉取像'
Start: '開始'
Run: '啟動'
Stop: '停止'
Image: '像'
Image: '像'
Compose: '編排'
Container: '容器'
AppLink: '關聯應用程式'
@@ -384,7 +384,7 @@ SnapDeleteLoginLog: '刪除存取日誌'
SnapDeleteMonitor: '刪除監控資料'
SnapRemoveSystemIP: '移除系統IP'
SnapBaseInfo: '寫入1Panel 基本資料'
SnapInstallAppImageEmpty: '目前未勾選應用像,跳過...'
SnapInstallAppImageEmpty: '目前未勾選應用像,跳過...'
SnapInstallApp: '備份 1Panel 已安裝應用'
SnapDockerSave: '壓縮已安裝應用'
SnapLocalBackup: '備份1Panel 本機備份目錄'
@@ -407,69 +407,69 @@ RecoverDownloadAccount: '取得快照下載備份帳號{{ .name }}'
RecoverDecompress: '解壓縮快照壓縮檔'
Decompress: '解壓縮'
BackupBeforeRecover: '快照前備份系統相關資料'
ReadJson: '讀取快照內Json 檔案'
ReadJsonPath: '取得快照內Json 檔案路徑'
ReadJsonContent: '讀取Json 檔案'
ReadJsonMarshal: 'Json 轉義處理'
ReadJson: '讀取快照內JSON 檔案'
ReadJsonPath: '取得快照內JSON 檔案路徑'
ReadJsonContent: '讀取JSON 檔案'
ReadJsonMarshal: 'JSON 轉義處理'
RecoverApp: '復原已安裝應用程式'
RecoverWebsite: '復原網站目錄'
RecoverAppImage: '復原快照像備份'
RecoverAppImage: '復原快照像備份'
RecoverCompose: '復原其他編排內容'
RecoverComposeList: '取得所有待復原編排'
RecoverComposeItem: '復原編排{{ .name }}'
RecoverAppEmpty: '快照檔案中未發現應用程式像備份'
RecoverAppEmpty: '快照檔案中未發現應用程式像備份'
RecoverBaseData: '復原基礎資料及檔案'
RecoverDaemonJsonEmpty: '快照檔案及目前機器都不存在容器配置daemon.json 檔'
RecoverDaemonJson: '復原容器配置daemon.json 檔'
RecoverDaemonJsonEmpty: '快照檔案及目前機器都不存在容器設定daemon.json 檔'
RecoverDaemonJson: '復原容器設定daemon.json 檔'
RecoverDBData: '復原資料庫資料'
RecoverBackups: '還原本機備份目錄'
RecoverPanelData: '復原資料目錄'
ContainerImagePull: '拉取容器像{{ .name }}'
ContainerImagePull: '拉取容器像{{ .name }}'
ContainerRemoveOld: '刪除原容器{{ .name }}'
ContainerImageCheck: '檢查像是否正常拉取'
ContainerImageCheck: '檢查像是否正常拉取'
ContainerLoadInfo: '取得容器基本資訊'
ContainerRecreate: '容器更新失敗,現在開始復原原容器'
ContainerCreate: '建立新容器{{ .name }}'
ContainerCreateFailed: '容器建立失敗,刪除失敗容器'
ContainerStartCheck: '檢查容器是否已啟動'
ImageBuild: '像建置'
ImagePull: '拉取像'
ImageBuild: '像建置'
ImagePull: '拉取像'
ImageRepoAuthFromDB: '從資料庫取得倉庫認證資訊'
ImagePush: '推播像'
ImageRenameTag: '修改像Tag'
ImageNewTag: '新像Tag {{ .name }}'
ImagePush: '推播像'
ImageRenameTag: '修改像Tag'
ImageNewTag: '新像Tag {{ .name }}'
ComposeCreate: '建立編排'
BackupNginxConfig: '備份網站OpenResty 設定檔'
CompressFileSuccess: '壓縮目錄成功,壓縮為{{ .name }}'
CompressDir: '壓縮目錄'
DeCompressFile: '解壓縮檔案{{ .name }}'
ErrCheckValid: '驗備份檔失敗,{{ .name }}'
ErrCheckValid: '驗備份檔失敗,{{ .name }}'
Rollback: '回滾'
websiteDir: '網站目錄'
RecoverFailedStartRollBack: '復原失敗,開始回溯'
AppBackupFileIncomplete: '備份檔案不完整缺少 app.json 或 app.tar.gz 檔案'
AppAttributesNotMatch: '應用程式類型或名稱不一致'
ErrAlertSync: '警告訊息同步錯誤,請重試'
ErrAlertSync: '警告訊息同步錯誤,請重試'
ErrInstallExtension: '已有安裝任務正在進行,請等待任務結束'
PanelAlertTitle: '面板警示通知'
TestAlertTitle: '測試郵件 - 驗證信箱連通性'
TestAlert: '這是一封測試郵件,用於確認您的郵件發送設定是否正確。'
LicenseExpirationAlert: '您的 {{ .node }}{{ .ip }} 面板,授權將於 {{ .day }} 天後到期,詳情請登入面板查看。'
CronJobFailedAlert: '您的 {{ .node }}{{ .ip }} 面板,排程任務{{ .name }}執行失敗,詳情請登入面板查看。'
ClamAlert: '您的 {{ .node }}{{ .ip }} 面板,病毒掃描任務偵測到 {{ .num }} 個感染檔案,詳情請登入面板查看。'
WebSiteAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 個網站將於 {{ .day }} 天後到期,詳情請登入面板查看。'
SSLAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 張SSL憑證將於 {{ .day }} 天後到期,詳情請登入面板查看。'
DiskUsedAlert: '您的 {{ .node }}{{ .ip }} 面板,磁碟 {{ .name }} 使用率已達 {{ .used }},詳情請登入面板查看。'
ResourceAlert: '您的 {{ .node }}{{ .ip }} 面板,過去 {{ .time }} 分鐘內 {{ .name }} 平均使用率為 {{ .used }},詳情請登入面板查看。'
PanelVersionAlert: '您的 {{ .node }}{{ .ip }} 面板,已有最新版本可供升級,詳情請登入面板查看。'
PanelPwdExpirationAlert: '您的 {{ .node }}{{ .ip }} 面板,面板密碼將於 {{ .day }} 天後到期,詳情請登入面板查看。'
CommonAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .msg }},詳情請登入面板查看。'
NodeExceptionAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 個節點出現異常,詳情請登入面板查看。'
LicenseExceptionAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 個授權出現異常,詳情請登入面板查看。'
SSHAndPanelLoginAlert: '您的 {{ .node }}{{ .ip }} 面板,來自 {{ .loginIp }} 的 {{ .name }} 登入出現異常,詳情請登入面板查看。'
LicenseExpirationAlert: '您的 {{ .node }}{{ .ip }} 面板,授權將於 {{ .day }} 天後到期,詳情請登入面板檢視。'
CronJobFailedAlert: '您的 {{ .node }}{{ .ip }} 面板,排程任務{{ .name }}執行失敗,詳情請登入面板檢視。'
ClamAlert: '您的 {{ .node }}{{ .ip }} 面板,病毒掃描任務偵測到 {{ .num }} 個感染檔案,詳情請登入面板檢視。'
WebSiteAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 個網站將於 {{ .day }} 天後到期,詳情請登入面板檢視。'
SSLAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 張SSL憑證將於 {{ .day }} 天後到期,詳情請登入面板檢視。'
DiskUsedAlert: '您的 {{ .node }}{{ .ip }} 面板,磁碟 {{ .name }} 使用率已達 {{ .used }},詳情請登入面板檢視。'
ResourceAlert: '您的 {{ .node }}{{ .ip }} 面板,過去 {{ .time }} 分鐘內 {{ .name }} 平均使用率為 {{ .used }},詳情請登入面板檢視。'
PanelVersionAlert: '您的 {{ .node }}{{ .ip }} 面板,已有最新版本可供升級,詳情請登入面板檢視。'
PanelPwdExpirationAlert: '您的 {{ .node }}{{ .ip }} 面板,面板密碼將於 {{ .day }} 天後到期,詳情請登入面板檢視。'
CommonAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .msg }},詳情請登入面板檢視。'
NodeExceptionAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 個節點出現異常,詳情請登入面板檢視。'
LicenseExceptionAlert: '您的 {{ .node }}{{ .ip }} 面板,{{ .num }} 個授權出現異常,詳情請登入面板檢視。'
SSHAndPanelLoginAlert: '您的 {{ .node }}{{ .ip }} 面板,來自 {{ .loginIp }} 的 {{ .name }} 登入出現異常,詳情請登入面板檢視。'
DeviceNotFound: '裝置 {{ .name }} 未找到'
DeviceIsMounted: '裝置 {{ .name }} 已掛載,請先移除'
PartitionDiskErr: '分區失敗,{{ .err }}'
FormatDiskErr: '格式化磁碟失敗,{{ .err }}'
MountDiskErr: '掛載磁碟失敗,{{ .err }}'
XfsNotFound: '未測到 xfs 檔案系統,請先安裝 xfsprogs'
XfsNotFound: '未測到 xfs 檔案系統,請先安裝 xfsprogs'
+69 -69
View File
@@ -6,16 +6,16 @@ ErrRecordExist: "Record already exists"
ErrRecordNotFound: "Record not found"
ErrStructTransform: "Type conversion failed: {{ .detail }}"
ErrNotLogin: "User not logged in: {{ .detail }}"
ErrSessionDataNotFound: "Current session has expired!"
ErrSessionDataFormat: "Current session data format is abnormal!"
ErrPasswordExpired: "Current password has expired: {{ .detail }}"
ErrNotSupportType: "The current type is not supported: {{ .detail }}"
ErrProxy: "Request error, please check the status of this node: {{ .detail }}"
ErrApiConfigStatusInvalid: "API access is prohibited: {{ .detail }}"
ErrApiConfigKeyInvalid: "API key error: {{ .detail }}"
ErrSessionDataNotFound: "Session expired"
ErrSessionDataFormat: "Invalid session data format"
ErrPasswordExpired: "Password expired: {{ .detail }}"
ErrNotSupportType: "Unsupported type: {{ .detail }}"
ErrProxy: "Request failed; check this node status: {{ .detail }}"
ErrApiConfigStatusInvalid: "API access disabled: {{ .detail }}"
ErrApiConfigKeyInvalid: "Invalid API key: {{ .detail }}"
ErrApiConfigIPInvalid: "The API request IP is not on the whitelist: {{ .detail }}"
ErrApiConfigDisable: "This interface prohibits API calls: {{ .detail }}"
ErrApiConfigKeyTimeInvalid: "API timestamp error: {{ .detail }}"
ErrApiConfigKeyTimeInvalid: "Invalid API timestamp: {{ .detail }}"
ErrPasskeyDisabled: "Passkey requires HTTPS to be enabled"
ErrPasskeyNotConfigured: "No passkey configured"
ErrPasskeyLimit: "Passkey limit reached (max 5)"
@@ -24,18 +24,18 @@ ErrPasskeyDuplicate: "Passkey already exists"
ErrPasskeyVerify: "Passkey verification failed"
# request
ErrNoSuchHost: "Unable to find the requested server {{ .err }}"
ErrHttpReqNotFound: "Unable to find the requested resource {{ .err }}"
ErrNoSuchHost: "Host resolution failed: {{ .err }}"
ErrHttpReqNotFound: "Requested resource not found: {{ .err }}"
ErrHttpReqFailed: "Request failed {{ .err }}"
ErrHttpReqTimeOut: "Request timed out {{ .err }}"
ErrCreateHttpClient: "Failed to create request {{ .err }}"
ErrProxySetting: "Proxy server information unavailable {{ .err }}, please check and try again!"
ErrEntranceFormat: "Security entrance {{ .name }} is not currently supported. Please check and try again!"
ErrProxySetting: "Proxy server information unavailable {{ .err }}, check and try again!"
ErrEntranceFormat: "Security entry {{ .name }} is not supported. Check and try again."
# common
ErrDemoEnvironment: "Demo server, this operation is prohibited!"
ErrCmdTimeout: "Command execution timeout!"
ErrEntrance: "Security entrance information error, please check and try again!"
ErrEntrance: "Security entrance information error, check and try again!"
ErrGroupIsDefault: "Default group, unable to delete"
ErrGroupIsInUse: "The group is in use and cannot be deleted."
ErrLocalDelete: "Cannot delete the local node!"
@@ -56,50 +56,50 @@ AppInstallCheck: 'Check application installation environment'
ErrBackupInUsed: "This backup account is used in scheduled tasks and cannot be deleted"
ErrBackupCheck: "Backup account connection test failed {{ .err }}"
ErrBackupLocal: "Local server backup account does not support this operation!"
ErrBackupPublic: "Detected that this backup account is not public, please check and try again!"
ErrOSSConn: "Unable to get the latest version, please check the server's external network connectivity."
ErrBackupPublic: "Detected that this backup account is not public, check and try again!"
ErrOSSConn: "Unable to get the latest version. Check server internet connectivity."
#license
LicenseCheck: 'Check if the license is available'
ErrLicenseInUsed: 'The license is already bound. Please check and try again!'
ErrLicenseExpired: 'The license has expired. Please check and try again!'
ErrLicense: "License format error, please check and retry!"
ErrLicenseCheck: "License validation failed, please check and retry!"
ErrXpackVersion: "License validation failed, this license is version-limited, cannot import, please check and retry!"
ErrLicenseSave: "Failed to save license information, error {{ .err }}, please retry!"
ErrLicenseInUsed: 'The license is already bound. Check and try again!'
ErrLicenseExpired: 'The license has expired. Check and try again!'
ErrLicense: "License format error, check and retry!"
ErrLicenseCheck: "License validation failed, check and retry!"
ErrXpackVersion: "License validation failed, this license is version-limited, cannot import, check and retry!"
ErrLicenseSave: "Failed to save license information, error {{ .err }}, retry!"
ErrLicenseSync: "License synchronization failed, no license info detected in database!"
ErrLicenseExist: "This license record already exists. You can directly go to the license page for node binding."
ErrXpackNotFound: "This section is for professional edition, please import the license in Panel Settings - License"
ErrXpackExceptional: "This section is for professional edition, please sync license status in Panel Settings - License"
ErrXpackLost: "License has reached the maximum retry count, please go to the [Panel Settings] [License] page and click the sync button manually to ensure the professional features work correctly"
ErrDeviceLost: "Required files for license verification are missing, please check and try again!"
ErrDeviceErr: "The current environment does not match the license import environment. Please edit the license and re-import!"
ErrXpackTimeout: "Request timeout, network connection might be unstable, please try again later!"
ErrUnbindMaster: "Detected nodes in node management, unable to unbind the current license, please remove nodes first and retry!"
ErrFreeNodeLimit: "Community version node limit reached, please go to www.lxware.cn/1panel to purchase and retry!"
ErrNodeBound: "This license is bound to another node, please check and retry!"
ErrNodeBoundDelete: "This license is bound and does not support delete operations. Please check and try again!"
ErrNodeBoundLimit: "The current free node has reached its limit, please check and try again!"
ErrLicenseFree: "Free nodes can only be used when the license is properly bound to a node. Please verify and try again!"
ErrLicenseUnbind: "Community Edition nodes detected for this license. Please unbind in [Panel Settings - License] and try again!"
ErrNoSuchNode: "Node information not found, please check and retry!"
ErrNodeUnbind: "This node is not within the license binding range, please check and retry!"
ErrNodeBind: "This node is already bound to a license, please check and retry!"
ErrNodeLocalRollback: "The primary node does not support direct rollback. Please manually execute the '1pctl restore' command to rollback!"
ErrXpackNotFound: "This section requires Professional Edition. Import a license in Panel Settings - License"
ErrXpackExceptional: "This section requires Professional Edition. Sync license status in Panel Settings - License"
ErrXpackLost: "License reached max retry count. Go to [Panel Settings] [License] and run manual sync"
ErrDeviceLost: "Required files for license verification are missing, check and try again!"
ErrDeviceErr: "Current environment does not match the license import environment. Edit the license and re-import."
ErrXpackTimeout: "Request timeout, network connection might be unstable, try again later!"
ErrUnbindMaster: "Nodes exist in node management. Remove nodes first, then unbind the current license."
ErrFreeNodeLimit: "Community edition node limit reached. Go to www.lxware.cn/1panel to purchase and retry."
ErrNodeBound: "This license is bound to another node, check and retry!"
ErrNodeBoundDelete: "This license is bound and does not support delete operations. Check and try again!"
ErrNodeBoundLimit: "The current free node has reached its limit, check and try again!"
ErrLicenseFree: "Free nodes are available only when the license is correctly bound to a node. Verify and retry."
ErrLicenseUnbind: "Community Edition nodes detected for this license. Unbind in [Panel Settings - License] and retry."
ErrNoSuchNode: "Node information not found, check and retry!"
ErrNodeUnbind: "This node is not within the license binding range, check and retry!"
ErrNodeBind: "This node is already bound to a license, check and retry!"
ErrNodeLocalRollback: "The primary node does not support direct rollback. Manually execute the '1pctl restore' command to rollback!"
ErrIntlLicense: "The current version does not support importing international licenses yet. Stay tuned!"
InvalidRequestBodyType: "Invalid request body format, please check and ensure the content meets the required format before retrying!"
InvalidLicenseCodeType: "Invalid license code format provided, please check and try again!"
LicenseNotFoundType: "License not found, no matching record exists in the system for the provided license. Please check and try again!"
LicenseRevokedType: "The requested license has been revoked and is no longer usable. Please check and try again!"
LicenseExpiredType: "The license has expired. Please renew it or re-import the license in the Panel Settings - License section before retrying!"
InvalidRequestBodyType: "Invalid request body format. Ensure content matches the required format and retry."
InvalidLicenseCodeType: "Invalid license code format provided, check and try again!"
LicenseNotFoundType: "License not found, no matching record exists in the system for the provided license. Check and try again!"
LicenseRevokedType: "The requested license has been revoked and is no longer usable. Check and try again!"
LicenseExpiredType: "License expired. Renew it or re-import it in Panel Settings - License before retrying."
LicenseProductMismatchType: "The license does not match the requested product or service!"
InvalidAssigneeType: "Invalid target user or device information for license assignment. Please check and try again!"
LicenseUsageNotFoundType: "No usage records found. This license has not been activated or used yet. Please check and try again!"
LicenseUsageLimitExceededType: "This license is already bound to another node. Please check and try again!"
InvalidAssigneeType: "Invalid target user or device information for license assignment. Check and try again!"
LicenseUsageNotFoundType: "No usage records found. This license has not been activated or used yet. Check and try again!"
LicenseUsageLimitExceededType: "This license is already bound to another node. Check and try again!"
# alert
ErrAlertSync: "Alert information sync error, please check and retry!"
ErrAlertSync: "Alert information sync error, check and retry!"
# task
TaskStart: "{{ .name }} task started [START]"
@@ -107,19 +107,19 @@ TaskEnd: "{{ .name }} task ended [COMPLETED]"
TaskFailed: "{{ .name }} task failed"
TaskTimeout: "{{ .name }} timed out"
TaskSuccess: "{{ .name }} task succeeded"
TaskRetry: "Starting retry {{ .name }}"
TaskRetry: "Retry {{ .name }}"
SubTaskSuccess: "{{ .name }} succeeded"
SubTaskFailed: "{{ .name }} failed: {{ .err }}"
TaskInstall: "Install"
TaskUpgrade: "Upgrade"
TaskSync: 'Synchronize'
TaskSyncForNode: "Sync Node Data"
TaskSync: 'Sync'
TaskSyncForNode: "Sync node data"
TaskBackup: "Backup"
SuccessStatus: "{{ .name }} succeeded"
FailedStatus: "{{ .name }} failed {{ .err }}"
Start: "Start"
SubTask: "Subtask"
Skip: "Skip errors and continue..."
Skip: "Ignore errors and continue"
PushAppInstallTaskToNode: "Push app installation task to node [{{ .name }}]"
TaskPush: "Push"
AppInstallTask: "App installation task"
@@ -129,7 +129,7 @@ Success: "Success"
#script
ScriptLibrary: "Script Library"
RemoteScriptLibrary: "Remote Script Library"
ScriptSyncSkip: "Current script library is already the latest version!"
ScriptSyncSkip: "Script library is already up to date"
DownloadData: "Downloading script library file data.yaml"
DownloadPackage: "Downloading script library package"
AnalyticCompletion: "Analysis completed, now syncing to database..."
@@ -141,7 +141,7 @@ SyncPackageData: "Package sync data"
SyncPackageEncrypt: "Data package encryption"
SyncRequest: "Request node sync API"
SyncFailedRetry: "Node data sync timeout (attempt {{ .index }}), retrying..."
SyncFailed: "Sync failed, please manually sync in the node list!"
SyncFailed: "Sync failed, manually sync in the node list!"
SyncSystemProxy: "System Proxy Settings"
SyncScripts: "Script Library"
SyncBackupAccounts: "Backup Accounts"
@@ -175,7 +175,7 @@ ConnInfoNotMatch: "Connection info mismatch"
MakeAgentPackage: "Generate node installation package"
SendAgent: "Distribute node installation package"
StartService: "Start service"
NoBackupNode: "The backup node is currently empty. Please select a backup node to save and try again!"
NoBackupNode: "Backup node is empty. Select one and save first"
#cmd
AppVersion: "App version"
@@ -189,7 +189,7 @@ AppMissVersion: "App version missing, use -v to specify"
AppVersionExist: "Version already exists!"
AppCreateSuccessful: "Creation successful!"
AppWriteErr: "File {{ .name }} write failed {{ .err }}"
SudoHelper: "Please use {{ .cmd }} or switch to root user"
SudoHelper: "Use {{ .cmd }} or switch to root user"
ListenIPCommands: "Switch listening ip"
ListenIPv4: "Listen on IPv4"
ListenIPv6: "Listen on IPv6"
@@ -202,13 +202,13 @@ ResetIPs: "Cancel 1Panel authorized ip restrictions"
ResetDomain: "Cancel 1Panel domain binding"
ResetPasskey: "Clear 1Panel passkeys"
RestoreCommands: "Rollback 1Panel service and data"
RestoreNoSuchFile: "No files available for rollback"
RestoreNoSuchFile: "No rollback files found"
RestoreStep1: "(1/5) Starting rollback of 1Panel service and data from {{ .name }} directory..."
RestoreStep2: "(2/5) 1Panel binary rollback successful"
RestoreStep3: "(3/5) 1Panel script rollback successful"
RestoreStep4: "(4/5) 1Panel service rollback successful"
RestoreStep5: "(5/5) 1Panel data rollback successful"
RestoreSuccessful: "Rollback successful! Rolled back to {{ .version }}, restarting service, please wait..."
RestoreSuccessful: "Rollback succeeded. Reverted to {{ .version }}, restarting service..."
UpdateCommands: "Update panel info"
UpdateUser: "Update panel user"
UpdatePassword: "Update panel password"
@@ -223,18 +223,18 @@ UpdatePasswordRead: "Error: Failed to read panel password information, {{ .err }
UpdatePasswordNull: "Error: Panel password is empty!"
UpdateUPasswordBlank: "Error: Panel password contains spaces!"
UpdatePasswordFormat: "Error: Panel password supports only letters, numbers, and special characters (!@#$%*_,.?) with a length of 8-30."
UpdatePasswordLen: "Error: Please enter a password longer than 6 characters!"
UpdatePasswordLen: "Error: Enter a password longer than 6 characters"
UpdatePasswordRe: "Confirm password:"
UpdatePasswordErr: "Error: Failed to update panel password, {{ .err }}"
UpdatePasswordSame: "Error: The two passwords do not match, please check and try again!"
UpdatePasswordSame: "Error: The two passwords do not match, check and try again!"
UpdatePasswordResult: "Panel password: {{ .name }}"
UpdatePortFormat: "Error: The input port number must be between 1 and 65535!"
UpdatePortUsed: "Error: The port number is already in use, please check and try again!"
UpdatePortUsed: "Error: The port number is already in use, check and try again!"
UpdatePortErr: "Error: Failed to update panel port, {{ .err }}"
UpdatePortResult: "Panel Port: {{ .name }}"
UpdatePortFirewallAdd: "Failed to add firewall port rule, {{ .err }}, please manually add the {{ .name }} port to the firewall rules."
UpdatePortFirewallAdd: "Failed to add firewall port rule, {{ .err }}, manually add the {{ .name }} port to the firewall rules."
UpdatePortFirewallDel: "Error: Failed to delete firewall port, {{ .err }}"
UpdatePortFirewallReload: "Failed to reload the firewall, {{ .err }}, please manually reload the firewall."
UpdatePortFirewallReload: "Failed to reload the firewall, {{ .err }}, manually reload the firewall."
UserInfo: "Get panel information"
UserInfoAddr: "Panel address: "
UserInfoPassHelp: "Tip: To change the password, you can execute the command: "
@@ -243,16 +243,16 @@ SystemVersion: "version: "
SystemMode: "mode: "
#mobile app
ErrVerifyToken: 'Token verification error, please reset and scan again.'
ErrInvalidToken: 'Invalid token, please reset and scan again.'
ErrExpiredToken: 'Token has expired, please reset and scan again.'
ErrVerifyToken: 'Token verification failed. Reset and scan again.'
ErrInvalidToken: 'Invalid token. Reset and scan again.'
ErrExpiredToken: 'Token expired. Reset and scan again.'
#cluster
ErrMasterDelete: "Unable to delete the master node, please delete the slave nodes first."
ErrMasterDelete: "Unable to delete the master node. Delete slave nodes first."
ClusterNameIsExist: "Cluster name already exists."
AppStatusUnHealthy: "Application status acquisition is abnormal, please check the installation node status in the node list."
MasterNodePortNotAvailable: "Node {{ .name }} port {{ .port }} connectivity verification failed, please check firewall/security group settings and master node status."
ClusterMasterNotExist: "The master node of the cluster is disconnected, please delete the child nodes."
AppStatusUnHealthy: "Failed to fetch application status. Check installation node status in the node list."
MasterNodePortNotAvailable: "Node {{ .name }} port {{ .port }} connectivity check failed. Check firewall/security group settings and master node status."
ClusterMasterNotExist: "Cluster master node is disconnected. Delete child nodes."
#ssl
ErrReqFailed: "{{.name}} request failed: {{ .err }}"
+55 -55
View File
@@ -1,13 +1,13 @@
ErrInvalidParams: "請求參數錯誤: {{ .detail }}"
ErrTokenParse: "Token 生錯誤: {{ .detail }}"
ErrTokenParse: "Token 生錯誤: {{ .detail }}"
ErrInitialPassword: "原密碼錯誤"
ErrInternalServer: "服務內部錯誤: {{ .detail }}"
ErrRecordExist: "記錄已存在"
ErrRecordNotFound: "記錄未找到"
ErrStructTransform: "類型轉換失敗: {{ .detail }}"
ErrNotLogin: "使用者未登入: {{ .detail }}"
ErrSessionDataNotFound: "目前工作階段已過期!"
ErrSessionDataFormat: "目前工作階段資料格式異常!"
ErrSessionDataNotFound: "目前工作階段已過期!"
ErrSessionDataFormat: "目前工作階段資料格式異常!"
ErrPasswordExpired: "目前密碼已過期: {{ .detail }}"
ErrNotSupportType: "系統暫不支援目前類型: {{ .detail }}"
ErrProxy: "請求錯誤,請檢查該節點狀態: {{ .detail }}"
@@ -23,13 +23,13 @@ ErrHttpReqNotFound: "無法找到請求的資源 {{ .err }}"
ErrHttpReqFailed: "請求失敗 {{ .err }}"
ErrHttpReqTimeOut: "請求逾時 {{ .err }}"
ErrCreateHttpClient: "建立請求失敗 {{ .err }}"
ErrProxySetting: "代理伺服器資訊不可用 {{ .err }},請檢查後重試"
ErrEntranceFormat: "暫不支援安全入口 {{ .name }} ,請檢查後重試"
ErrProxySetting: "代理伺服器資訊不可用 {{ .err }},請檢查後重試"
ErrEntranceFormat: "暫不支援安全入口 {{ .name }} ,請檢查後重試"
#common
ErrDemoEnvironment: "示範伺服器,禁止此操作!"
ErrCmdTimeout: "指令執行逾時!"
ErrEntrance: "安全入口資訊錯誤,請檢查後再試"
ErrEntrance: "安全入口資訊錯誤,請檢查後再試"
ErrGroupIsDefault: "預設分組無法刪除"
ErrGroupIsInUse: "分組正被使用,無法刪除。"
ErrLocalDelete: "無法刪除本機節點!"
@@ -42,7 +42,7 @@ CustomAppStoreFileValid: "應用商店包需要 .tar.gz 格式"
ErrFileNotFound: "{{ .name }} 檔案不存在"
AppBackup: '應用備份'
AppBackupPush: '傳輸應用備份檔案 {{.file}} 到節點 {{ .name }}'
ErrSourceTargetSame: '源節點和目標節點不相同!'
ErrSourceTargetSame: '源節點和目標節點不相同!'
AppInstall: '在 {{ .targetNode }} 節點安裝應用 {{ .name }}'
AppInstallCheck: '檢查應用安裝環境'
@@ -50,56 +50,56 @@ AppInstallCheck: '檢查應用安裝環境'
ErrBackupInUsed: "該備份帳號已在排程任務中使用,無法刪除"
ErrBackupCheck: "備份帳號測試連線失敗 {{ .err }}"
ErrBackupLocal: "本機伺服器備份帳號暫不支援該操作!"
ErrBackupPublic: "測到該備份帳號為非公用,請檢查後再試"
ErrBackupPublic: "測到該備份帳號為非公用,請檢查後再試"
ErrOSSConn: "無法取得最新版本,請確認伺服器是否能夠連接外部網路。"
#license
LicenseCheck: '檢查許可證是否可用'
ErrLicenseInUsed: '測到該許可證已被綁定,請檢查後重試'
ErrLicenseExpired: '測到該許可證已過期,請檢查後重試'
ErrLicense: "許可證格式錯誤,請檢查後重試"
ErrLicenseCheck: "許可證驗失敗,請檢查後重試"
ErrXpackVersion: "許可證驗失敗,該許可證受版本限制,無法成功匯入,請檢查後重試"
ErrLicenseSave: "許可證資訊儲存失敗,錯誤 {{ .err }},請重試"
ErrLicenseSync: "許可證資訊同步失敗,資料庫中未測到許可證資訊!"
ErrLicenseInUsed: '測到該許可證已被綁定,請檢查後重試'
ErrLicenseExpired: '測到該許可證已過期,請檢查後重試'
ErrLicense: "許可證格式錯誤,請檢查後重試"
ErrLicenseCheck: "許可證驗失敗,請檢查後重試"
ErrXpackVersion: "許可證驗失敗,該許可證受版本限制,無法成功匯入,請檢查後重試"
ErrLicenseSave: "許可證資訊儲存失敗,錯誤 {{ .err }},請重試"
ErrLicenseSync: "許可證資訊同步失敗,資料庫中未測到許可證資訊!"
ErrLicenseExist: "該許可證記錄已存在,您可直接前往許可證頁面進行節點綁定。"
ErrXpackNotFound: "該部分為專業版功能,請先在 面板設定-許可證 介面匯入許可證"
ErrXpackExceptional: "該部分為專業版功能,請先在 面板設定-許可證 介面同步許可證狀態"
ErrXpackLost: "許可證已達到最大重試次數,請進入【面板設定】【許可證】頁面手動點同步按鈕,以確保專業版功能正常使用"
ErrDeviceLost: "許可證驗必要檔案遺失,請檢查後重試"
ErrXpackLost: "許可證已達到最大重試次數,請進入【面板設定】【許可證】頁面手動點同步按鈕,以確保專業版功能正常使用"
ErrDeviceLost: "許可證驗必要檔案遺失,請檢查後重試"
ErrDeviceErr: "目前環境與許可證匯入環境不一致,請編輯許可證重新匯入!"
ErrXpackTimeout: "請求時,網路連接可能不穩定,請稍後再試"
ErrUnbindMaster: "測到節點管理內存在節點,無法解綁目前許可證,請先移除後重試!"
ErrXpackTimeout: "請求時,網路連接可能不穩定,請稍後再試"
ErrUnbindMaster: "測到節點管理內存在節點,無法解綁目前許可證,請先移除後重試!"
ErrFreeNodeLimit: "社區版節點數量已達免費上限,請前往 www.lxware.cn/1panel 購買後重試!"
ErrNodeBound: "該許可證已綁定到其他節點,請檢查後重試"
ErrNodeBoundDelete: "該許可證已被綁定,不支援刪除操作,請檢查後重試"
ErrNodeBoundLimit: "目前免費節點已達上限,請檢查後重試"
ErrLicenseFree: "僅當許可證正常綁定到節點後,才能使用其免費節點,請檢查後重試"
ErrLicenseUnbind: "測到該許可證存在社區版節點,請在 [面板設定 - 許可證] 中解除綁定後重試!"
ErrNoSuchNode: "未能找到該節點資訊,請檢查後重試"
ErrNodeUnbind: "測到該節點未在許可證綁定範圍內,請檢查後重試"
ErrNodeBind: "測到該節點已綁定許可證,請檢查後重試"
ErrNodeBound: "該許可證已綁定到其他節點,請檢查後重試"
ErrNodeBoundDelete: "該許可證已被綁定,不支援刪除操作,請檢查後重試"
ErrNodeBoundLimit: "目前免費節點已達上限,請檢查後重試"
ErrLicenseFree: "僅當許可證正常綁定到節點後,才能使用其免費節點,請檢查後重試"
ErrLicenseUnbind: "測到該許可證存在社區版節點,請在 [面板設定 - 許可證] 中解除綁定後重試!"
ErrNoSuchNode: "未能找到該節點資訊,請檢查後重試"
ErrNodeUnbind: "測到該節點未在許可證綁定範圍內,請檢查後重試"
ErrNodeBind: "測到該節點已綁定許可證,請檢查後重試"
ErrNodeLocalRollback: "主節點暫不支援直接回滾,請手動執行「1pctl restore」指令回滾!"
ErrIntlLicense: "當前版本暫不支援匯入國際版許可證,敬請期待!"
InvalidRequestBodyType: "請求格式錯誤,請檢查請求內容是否符合格式要求後重試!"
InvalidLicenseCodeType: "提供的許可證格式錯誤,請檢查後重試"
LicenseNotFoundType: "許可證不存在,系統中未找到與提供許可證匹配的紀錄,請檢查後重試"
LicenseRevokedType: "請求的許可證已被廢棄,無法使用,請檢查後重試"
InvalidRequestBodyType: "請求內容格式錯誤,請檢查請求內容是否符合格式要求後重試!"
InvalidLicenseCodeType: "提供的許可證格式錯誤,請檢查後重試"
LicenseNotFoundType: "許可證不存在,系統中未找到與提供許可證符合的紀錄,請檢查後重試"
LicenseRevokedType: "請求的許可證已被廢棄,無法使用,請檢查後重試"
LicenseExpiredType: "許可證已超過有效期,請續費或在 面板設定-許可證 介面重新匯入許可證後重試!"
LicenseProductMismatchType: "許可證與目前請求的產品或服務不匹配"
InvalidAssigneeType: "許可證分配的目標使用者或裝置資訊無效,請檢查後重試"
LicenseUsageNotFoundType: "無使用記錄,目前許可證尚未被啟動或使用,請檢查後重試"
LicenseUsageLimitExceededType: "該許可證已綁定到其他節點,請檢查後重試"
LicenseProductMismatchType: "許可證與目前請求的產品或服務不"
InvalidAssigneeType: "許可證分配的目標使用者或裝置資訊無效,請檢查後重試"
LicenseUsageNotFoundType: "無使用記錄,目前許可證尚未被啟動或使用,請檢查後重試"
LicenseUsageLimitExceededType: "該許可證已綁定到其他節點,請檢查後重試"
# alert
ErrAlertSync: "告警資訊同步錯誤,請檢查後重試"
ErrAlertSync: "告警資訊同步錯誤,請檢查後重試"
#task
TaskStart: "{{ .name }} 任務開始 [START]"
TaskEnd: "{{ .name }} 任務結束 [COMPLETED]"
TaskFailed: "{{ .name }} 任務失敗"
TaskTimeout: "{{ .name }} 時"
TaskTimeout: "{{ .name }} 時"
TaskSuccess: "{{ .name }} 任務成功"
TaskRetry: "開始第 {{ .name }} 次重試"
SubTaskSuccess: "{{ .name }} 成功"
@@ -124,7 +124,7 @@ Success: "成功"
ScriptLibrary: "腳本庫"
RemoteScriptLibrary: "遠端腳本庫"
ScriptSyncSkip: "目前腳本庫已是最新版本!"
DownloadData: "下載腳本庫文件 data.yaml"
DownloadData: "下載腳本庫檔案 data.yaml"
DownloadPackage: "下載腳本庫壓縮檔"
AnalyticCompletion: "解析成功,現在開始同步到資料庫..."
@@ -137,7 +137,7 @@ SyncPackageEncrypt: "封包加密"
SyncRequest: "請求節點同步介面"
SyncFailedRetry: "第 {{ .index }} 次同步節點資料失敗逾時,正在重試..."
SyncFailed: "同步失敗,請在節點列表中手動同步!"
SyncSystemProxy: "系統代理配置"
SyncSystemProxy: "系統代理設定"
SyncScripts: "腳本庫"
SyncBackupAccounts: "備份帳號"
SyncAlertSetting: "告警設定"
@@ -149,26 +149,26 @@ SyncLanguage: "系統語言"
NodeUpgrade: "升級節點 {{ .name }}"
UpgradeCheck: "檢查節點更新"
UpgradeCheckLocal: "本機節點不支援批次升級,跳過..."
UpgradeCheckLatest: "測到該節點已是最新版本,跳過..."
UpgradeCheckLatest: "測到該節點已是最新版本,跳過..."
NewSSHClient: "初始化 SSH 連接"
BackupBeforeUpgrade: "升級前備份資料"
UploadUpgradeFile: "發送升級所需文件"
UploadUpgradeFile: "發送升級所需檔案"
RestartAfterUpgrade: "升級後啟動服務"
#add node
MasterData: "主節點資料"
LoadSftpClient: "取得上傳用戶端"
PackageMasterData: "生主節點備份壓縮檔"
PackageMasterData: "生主節點備份壓縮檔"
UploadBackup: "上傳備份資料"
MvBackup: "行動資料到備份目錄"
TaskAddNode: "新增節點"
LoadNodeArch: "取得節點架構資訊"
LoadNodeArchDetail: "測到主節點架構: {{ .local }},子節點架構: {{ .node }}"
LoadNodeArchDetail: "測到主節點架構: {{ .local }},子節點架構: {{ .node }}"
LoadNodeUpgradeDetail: "使用 v1 版本歷史安裝目錄: {{ .baseDir }},服務監聽埠: {{ .port }}"
SyncAgentBaseInfo: "同步節點基礎資料"
GenerateSSLInfo: "生節點 SSL 資訊"
ConnInfoNotMatch: "連接資訊不匹配"
MakeAgentPackage: "生節點安裝包"
GenerateSSLInfo: "生節點 SSL 資訊"
ConnInfoNotMatch: "連接資訊不"
MakeAgentPackage: "生節點安裝包"
SendAgent: "下發節點安裝包"
StartService: "啟動服務"
NoBackupNode: "目前備份節點為空,請選擇備份節點儲存後重試!"
@@ -178,13 +178,13 @@ AppVersion: "應用版本"
AppCommands: "應用相關指令"
AppInit: "初始化應用"
AppKeyVal: "應用的 key(僅支援英文)"
AppCreateFileErr: "文件 {{ .name }} 建立失敗 {{ .err }}"
AppCreateFileErr: "檔案 {{ .name }} 建立失敗 {{ .err }}"
AppCreateDirErr: "資料夾 {{ .name }} 建立失敗 {{ .err }}"
AppMissKey: "應用的 key 缺失,使用 -k 指定"
AppMissVersion: "應用版本缺失,使用 -v 指定"
AppVersionExist: "版本已存在!"
AppCreateSuccessful: "建立成功!"
AppWriteErr: "文件 {{ .name }} 寫入失敗 {{ .err }}"
AppWriteErr: "檔案 {{ .name }} 寫入失敗 {{ .err }}"
SudoHelper: "請使用 {{ .cmd }} 或切換到 root 使用者"
ListenIPCommands: "切換監聽 IP"
ListenIPv4: "監聽 IPv4"
@@ -198,13 +198,13 @@ ResetIPs: "取消 1Panel 授權 IP 限制"
ResetDomain: "取消 1Panel 存取網域綁定"
ResetPasskey: "清空 1Panel 通行密鑰"
RestoreCommands: "回滾 1Panel 服務及資料"
RestoreNoSuchFile: "暫無可回滾文件"
RestoreNoSuchFile: "暫無可回滾檔案"
RestoreStep1: "1/5)開始從 {{ .name }} 目錄回滾 1Panel 服務及資料... "
RestoreStep2: "2/51Panel 二進回滾成功"
RestoreStep2: "2/51Panel 二進回滾成功"
RestoreStep3: "3/51Panel 腳本回滾成功"
RestoreStep4: "4/51Panel 服務回滾成功"
RestoreStep5: "5/51Panel 資料回滾成功"
RestoreSuccessful: "回滾成功!已回滾到 {{ .version },正在重服務,請稍候..."
RestoreSuccessful: "回滾成功!已回滾到 {{ .version }},正在重新啟動服務,請稍候..."
UpdateCommands: "修改面板資訊"
UpdateUser: "修改面板使用者"
UpdatePassword: "修改面板密碼"
@@ -222,10 +222,10 @@ UpdatePasswordFormat: "錯誤: 面板密碼僅支援字母、數字、特殊字
UpdatePasswordLen: "錯誤: 請輸入 6 位以上密碼!"
UpdatePasswordRe: "確認密碼: "
UpdatePasswordErr: "錯誤: 面板密碼修改失敗,{{ .err }}"
UpdatePasswordSame: "錯誤: 兩次密碼不匹配,請檢查後重試"
UpdatePasswordSame: "錯誤: 兩次密碼不,請檢查後重試"
UpdatePasswordResult: "面板密碼: {{ .name }}"
UpdatePortFormat: "錯誤: 輸入的埠號必須在 1 到 65535 之間!"
UpdatePortUsed: "錯誤: 該埠號正被佔用,請檢查後重試"
UpdatePortUsed: "錯誤: 該埠號正被佔用,請檢查後重試"
UpdatePortErr: "錯誤: 面板埠修改失敗,{{ .err }}"
UpdatePortResult: "面板埠: {{ .name }}"
UpdatePortFirewallAdd: "新增防火牆埠規則失敗,{{ .err }},請您手動將 {{ .name }} 埠新增至防火牆規則中。"
@@ -244,7 +244,7 @@ HandlePrivateKey: "處理節點私鑰"
HandlePublicKey: "處理節點公鑰"
ExchangeFile: "開始從 {{ .source }} 節點同步 {{ .sourcePath }} 到 {{ .dest }} 節點 {{ .destPath }}"
TaskRsync: "同步"
NodeFile: "節點文件"
NodeFile: "節點檔案"
#mobile app
ErrVerifyToken: '令牌驗證錯誤,請重設後再次掃碼'
@@ -255,7 +255,7 @@ ErrExpiredToken: '令牌過期,請重設後再次掃碼'
ErrMasterDelete: "無法刪除主節點,請先刪除從節點"
ClusterNameIsExist: "叢集名稱已存在"
AppStatusUnHealthy: "應用取得狀態異常,請在節點列表檢查安裝節點狀態"
MasterNodePortNotAvailable: "節點 {{ .name }} 埠 {{ .port }} 連通性驗失敗,請檢查防火牆/安全組設定和主節點狀態"
MasterNodePortNotAvailable: "節點 {{ .name }} 埠 {{ .port }} 連通性驗失敗,請檢查防火牆/安全組設定和主節點狀態"
ClusterMasterNotExist: "叢集主節點失聯,請刪除子節點"
#ssl
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff