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
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"

#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"

#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: "Pengubahsuaian konfigurasi ini tidak disokong"
ErrStateChange: "Pengubahsuaian status gagal"
ErrRuleExist: "Peraturan sudah wujud"
ErrRuleNotExist: "Peraturan tidak wujud"
ErrParseIP: "Format IP salah"
ErrDefaultIP: "default adalah nama terpelihara, sila tukar kepada nama lain"
ErrGroupInUse: "Kumpulan IP sedang digunakan oleh senarai hitam/putih dan tidak boleh dihapuskan"
ErrGroupExist: "Nama kumpulan IP sudah wujud"
ErrIPRange: "Julat IP salah"
ErrIPExist: "IP sudah wujud"

#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: "
