ErrInvalidParams: "Parameter permintaan tidak sah: {{ .detail }}"
ErrTokenParse: "Ralat penjanaan token: {{ .detail }}"
ErrInitialPassword: "Kata laluan asal salah"
ErrInternalServer: "Ralat dalaman pelayan: {{ .detail }}"
ErrRecordExist: "Rekod sudah wujud"
ErrRecordNotFound: "Rekod tidak ditemui"
ErrStructTransform: "Penukaran jenis gagal: {{ .detail }}"
ErrNotLogin: "Pengguna belum log masuk: {{ .detail }}"
ErrPasswordExpired: "Kata laluan semasa telah tamat tempoh: {{ .detail }}"
ErrNotSupportType: "Jenis ini tidak disokong: {{ .detail }}"
ErrProxy: "Ralat permintaan, sila semak status nod ini: {{ .detail }}"
ErrApiConfigStatusInvalid: "Akses API dilarang: {{ .detail }}"
ErrApiConfigKeyInvalid: "Kunci API tidak sah: {{ .detail }}"
ErrApiConfigIPInvalid: "IP permintaan API tidak dalam senarai putih: {{ .detail }}"
ErrApiConfigDisable: "Antara muka ini melarang panggilan API: {{ .detail }}"
ErrApiConfigKeyTimeInvalid: "Ralat cap masa API: {{ .detail }}"

# request
ErrNoSuchHost: "Pelayan yang diminta tidak dapat ditemui {{ .err }}"
ErrHttpReqNotFound: "Sumber yang diminta tidak dapat ditemui {{ .err }}"
ErrHttpReqFailed: "Permintaan gagal {{ .err }}"
ErrHttpReqTimeOut: "Permintaan telah tamat masa {{ .err }}"
ErrCreateHttpClient: "Gagal mencipta permintaan {{ .err }}"

# common
ErrDemoEnvironment: "Pelayan demo, operasi ini dilarang!"
ErrCmdTimeout: "Perintah telah tamat masa!"
ErrEntrance: "Maklumat pintu masuk keselamatan salah, sila periksa dan cuba lagi!"
ErrGroupIsDefault: "Kumpulan lalai tidak boleh dihapuskan"
ErrGroupIsInUse: "Kumpulan sedang digunakan dan tidak boleh dipadam."
ErrLocalDelete: "Nod tempatan tidak boleh dihapuskan!"
ErrPortInUsed: "Port {{ .name }} telah digunakan!"
ErrInternalServerKey: "Ralat dalaman pelayan:"

# app
CustomAppStoreFileValid: "Pakej stor aplikasi perlu dalam format .tar.gz"
ErrFileNotFound: "Fail {{ .name }} tidak wujud"

# backup
ErrBackupInUsed: "Akaun sandaran ini telah digunakan dalam tugas berjadual dan tidak boleh dihapuskan"
ErrBackupCheck: "Ujian sambungan akaun sandaran gagal {{ .err }}"
ErrBackupLocal: "Akaun sandaran pelayan tempatan tidak menyokong operasi ini!"
ErrBackupPublic: "Akaun sandaran ini dikesan tidak awam, sila semak semula dan cuba lagi!"
ErrOSSConn: "Tidak dapat mendapatkan versi terkini, sila semak sambungan rangkaian luar pelayan."

#license
LicenseCheck: 'Periksa sama ada lesen tersedia'
ErrLicenseInUsed: 'Lesen ini telah terikat. Sila periksa dan cuba lagi!'
ErrLicenseExpired: 'Lesen ini telah tamat tempoh. Sila periksa dan cuba lagi!'
ErrLicense: "Format lesen tidak sah, sila semak dan cuba lagi!"
ErrLicenseCheck: "Pengesahan lesen gagal, sila semak dan cuba lagi!"
ErrXpackVersion: "Pengesahan lesen gagal, lesen ini terhad kepada versi tertentu, sila semak dan cuba lagi!"
ErrLicenseSave: "Gagal menyimpan maklumat lesen {{ .err }}, sila cuba lagi!"
ErrLicenseSync: "Penyelarasan maklumat lesen gagal, maklumat lesen tidak ditemui dalam pangkalan data!"
ErrLicenseExist: "Rekod lesen ini sudah wujud. Anda boleh terus ke halaman lesen untuk mengikat nod."
ErrXpackNotFound: "Bahagian ini adalah fungsi profesional, sila muatkan lesen di Tetapan Papan Pemuka terlebih dahulu."
ErrXpackExceptional: "Bahagian ini adalah fungsi profesional, sila selaraskan lesen di Tetapan Papan Pemuka terlebih dahulu."
ErrXpackOutOfDate: "Lesen semasa telah tamat tempoh, sila muatkan lesen baru di Tetapan Papan Pemuka."
ErrXpackLost: "Lesen telah mencapai bilangan percubaan maksimum, sila ke [Tetapan Papan Pemuka][Lesen] dan klik butang penyelarasan secara manual."
ErrDeviceLost: "Fail yang diperlukan untuk pengesahan lesen hilang, sila semak dan cuba lagi!"
ErrDeviceErr: "Persekitaran semasa tidak sepadan dengan persekitaran import lesen. Sila edit lesen dan import semula!"
ErrXpackTimeout: "Permintaan tamat masa, sambungan rangkaian mungkin tidak stabil, sila cuba lagi kemudian!"
ErrUnbindMaster: "Terdapat nod dalam pengurusan nod, sila keluarkan dahulu dan cuba lagi!"
ErrFreeNodeLimit: "Jumlah nod versi komuniti telah mencapai had percuma, sila lawati www.lxware.cn/1panel untuk pembelian!"
ErrNodeBound: "Lesen ini telah diikat dengan nod lain, sila semak dan cuba lagi!"
ErrNodeBoundDelete: "Lisensi ini telah diikat dan tidak menyokong operasi penghapusan. Sila semak dan cuba lagi!"
ErrNodeBoundLimit: "Nod percuma semasa telah mencapai had, sila semak dan cuba lagi!"
ErrLicenseFree: "Nod percuma hanya boleh digunakan apabila lesen terikat dengan betul pada nod. Sila semak dan cuba lagi!"
ErrLicenseUnbind: "Nod Edisi Komuniti dikesan untuk lesen ini. Sila lepaskan ikatan dalam [Tetapan Panel - Lesen] dan cuba lagi!"
ErrNoSuchNode: "Maklumat nod tidak ditemui, sila semak dan cuba lagi!"
ErrNodeUnbind: "Nod di luar skop lesen dikesan, sila semak dan cuba lagi!"
ErrNodeBind: "Nod ini telah diikat dengan lesen, sila semak dan cuba lagi!"
ErrNodeLocalRollback: "Nod utama tidak menyokong rollback secara langsung. Sila laksanakan arahan '1pctl restore' secara manual untuk rollback!"

# alert
ErrAlertSync: "Ralat penyinkronan maklumat amaran, sila semak dan cuba lagi!"

#task
TaskStart: "{{ .name }} tugas bermula [START]"
TaskEnd: "{{ .name }} tugas tamat [COMPLETED]"
TaskFailed: "{{ .name }} tugas gagal"
TaskTimeout: "{{ .name }} tamat masa"
TaskSuccess: "{{ .name }} tugas berjaya"
TaskRetry: "Mula percubaan semula {{ .name }}"
SubTaskSuccess: "{{ .name }} berjaya"
SubTaskFailed: "{{ .name }} gagal: {{ .err }}"
TaskInstall: "Pasang"
TaskUpgrade: "Kemas kini"
TaskSync: 'Selaraskan'
TaskBackup: "Sandaran"
SuccessStatus: "{{ .name }} berjaya"
FailedStatus: "{{ .name }} gagal {{ .err }}"
Start: "Mula"
SubTask: "Tugas Sub"
Skip: "Abaikan ralat dan teruskan..."

#script 
ScriptLibrary: "Pustaka Skrip"
ScriptSyncSkip: "Pustaka skrip semasa sudah versi terkini!"
DownloadData: "Muat turun fail pustaka skrip data.yaml"
DownloadPackage: "Muat turun pakej pustaka skrip"
AnalyticCompletion: "Analisis selesai, sedang menyegerakkan ke pangkalan data..."

Node: "Nod"
SyncNode: "Segerakkan data nod"
LocalName: "Nama 'local' hanya digunakan untuk pengenalpastian tempatan sistem"
SyncPackageData: "Pakej data segerak [{{ .detail }}]"
SyncPackageEncrypt: "Enkripsi pakej data"
SyncRequest: "Permintaan API segerak nod"
SyncFailedRetry: "Segerakan data nod tamat masa (percubaan ke-{{ .index }}), mencuba semula..."
SyncFailed: "Segerakan gagal, sila segerakkan secara manual dalam senarai nod!"

#upgrade node
NodeUpgrade: "Naik taraf node {{ .name }}"
UpgradeCheck: "Periksa kemas kini nod"
UpgradeCheckLocal: "Nod tempatan tidak menyokong peningkatan kelompok, dilangkau..."
UpgradeCheckLatest: "Nod sudah versi terkini, dilangkau..."
NewSSHClient: "Memulakan sambungan SSH"
BackupBeforeUpgrade: "Menyandarkan data sebelum naik taraf"
UploadUpgradeFile: "Sebarkan fail naik taraf"
RestartAfterUpgrade: "Mulakan perkhidmatan selepas naik taraf"

#add node
MasterData: "Data Nod Master"
LoadSftpClient: "Dapatkan Klien SFTP"
PackageMasterData: "Hasilkan pakej sandaran nod master"
UploadBackup: "Muat naik data sandaran"
MvBackup: "Alihkan data ke direktori sandaran"
TaskAddNode: "Tambah nod"
LoadNodeArch: "Dapatkan maklumat seni bina nod"
LoadNodeArchDetail: "Mengesan seni bina nod induk: {{ .local }}, seni bina nod anak: {{ .node }}"
LoadNodeUpgradeDetail: "Menggunakan direktori pemasangan sejarah versi v1: {{ .baseDir }}, port mendengar perkhidmatan: {{ .port }}"
SyncAgentBaseInfo: "Sinkronkan maklumat asas nod"
GenerateSSLInfo: "Cipta maklumat SSL nod"
ConnInfoNotMatch: "Maklumat sambungan tidak sepadan"
MakeAgentPackage: "Cipta pakej pemasangan nod"
SendAgent: "Muat naik pakej pemasangan nod"
StartService: "Mulakan perkhidmatan"
NoBackupNode: "Nod sandaran kosong. Sila pilih nod sandaran untuk disimpan 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: "

#cluster
ErrMasterDelete: "Tidak dapat menghapus nod utama, sila hapuskan nod perantara dahulu."
ClusterNameIsExist: "Nama kluster sudah wujud."
AppStatusUnHealthy: "Pengambilan status aplikasi tidak normal, sila periksa status nod pemasangan dalam senarai nod."
MasterNodePortNotAvailable: "Pengesahan kesambungan pelabuhan {{ .name }} nod {{ .port }} gagal, sila periksa tetapan firewall/kumpulan keselamatan dan status nod utama."
ClusterMasterNotExist: "Node utama kluster terputus, sila padamkan nod anak."