ErrInvalidParams: 'Permintaan tidak sah: {{ .detail }}' ErrTokenParse: 'Token tidak sah: {{ .detail }}' ErrInitialPassword: 'Kata laluan asal salah' ErrInternalServer: 'Ralat pelayan: {{ .detail }}' ErrFileAINotEnabled: 'Carian AI fail dimatikan atau tiada akaun. Dalam Pengurusan Fail, gunakan Akaun AI, aktifkan dan pilih akaun.' ErrFileAISearchBadPattern: 'Corak carian tidak sah (regex dsb.): {{ .detail }}' ErrWgetRemoteFailed: 'Muat turun jauh gagal atau URL tidak boleh diakses: {{ .detail }}' ErrWgetInvalidContentType: 'URL jauh tidak mengembalikan fail (mungkin halaman ralat), {{ .detail }}' ErrWgetProxyNotConfigured: 'Sila konfigurasikan pelayan proksi dalam tetapan panel dahulu' ErrWgetProxyInvalid: 'Alamat pelayan proksi tidak sah: {{ .detail }}' ErrRecordExist: 'Rekod sudah wujud' ErrRecordNotFound: 'Rekod tidak ditemui' ErrStructTransform: 'Ralat penukaran: {{ .err }}' ErrNotLogin: 'Belum log masuk: {{ .detail }}' ErrPasswordExpired: 'Kata laluan tamat: {{ .detail }}' ErrNotSupportType: 'Jenis tidak disokong: {{ .name }}' ErrAlertMethodNotSupported: 'Versi ini tidak menyokong kaedah amaran ini' ErrProxy: 'Permintaan gagal: {{ .detail }}' ErrApiConfigStatusInvalid: 'API dilumpuhkan: {{ .detail }}' ErrApiConfigKeyInvalid: 'Kunci API tidak sah: {{ .detail }}' ErrApiConfigIPInvalid: 'IP tidak dibenarkan: {{ .detail }}' ErrApiConfigDisable: 'API tidak dibenarkan: {{ .detail }}' ErrApiConfigKeyTimeInvalid: 'Cap masa tidak sah: {{ .detail }}' ErrShutDown: 'Arahan diberhentikan manual' ErrMinQuickJump: 'Tambah sekurang-kurangnya satu pintasan pantas' ErrMaxQuickJump: 'Maksimum 4 pintasan pantas' ErrUsernameIsExist: 'Nama pengguna sudah wujud' ErrNameIsExist: 'Nama sudah wujud' ErrDemoEnvironment: 'Tidak tersedia dalam demo' ErrCmdTimeout: 'Arahan tamat masa' ErrCmdIllegal: 'Arahan ada aksara tidak sah' ErrPortExist: 'Port {{ .port }} sudah digunakan 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.' Decrypt: 'Dekripsi' ErrAgentAccountBound: 'Akaun terikat kepada ejen' ErrTerminalAIAccountInUse: 'Akaun model ini sedang digunakan oleh Terminal AI. Tukar akaun dalam tetapan Terminal AI atau nyahaktifkan Terminal AI, kemudian cuba lagi.' ErrAgentAccountUnavailable: 'Sambungan akaun tidak tersedia: {{ .err }}' ErrAgentProviderNotSupported: 'Penyedia ejen tidak disokong' ErrAgentAccountRequired: 'Pilih akaun ejen terlebih dahulu' ErrAgentAccountNotVerified: 'Akaun ejen belum disahkan' ErrAgentAccountModelsRequired: 'Sila konfigur sekurang-kurangnya satu model' ErrAgentAccountSingleInitialModel: 'Hanya satu model awal boleh dikonfigurasi semasa mencipta akaun' ErrAgentModelNotInAccount: 'Model tidak dikonfigurasikan dalam akaun yang dipilih' ErrAgentFallbackModelDuplicate: 'Model fallback tidak boleh berulang' ErrAgentFallbackModelPrimary: 'Model fallback tidak boleh sama dengan model utama' ErrAgentModelInUse: 'Masih ada ejen terikat yang menggunakan model ini: {{ .name }}' ErrAgentBaseURLRequired: 'URL asas diperlukan' ErrAgentApiKeyRequired: 'Kunci API diperlukan' ErrAgentComposeRequired: 'Kandungan compose diperlukan' ErrAgentIDRequired: 'ID ejen diperlukan' ErrAgentAccountIDRequired: 'ID akaun diperlukan' ErrAgentLimitReached: 'Edisi Community menyokong sehingga {{ .max }} ejen AI. Naik taraf ke Edisi Business untuk penggunaan tanpa had' ErrAgentWebsiteBound: 'Ejen ini sudah dipautkan ke laman web' ErrAgentWebsiteTypeUnsupported: 'Hanya laman web proxy atau statik boleh dipautkan' ErrAgentWebsiteInUse: 'Laman web ini sudah dipautkan ke ejen lain' ErrAgentWebsiteUnbindUnsupported: 'Laman web one-click deployment tidak menyokong nyahikat manual' ErrHermesPairingCodeUnavailable: 'Kod pasangan buat sementara waktu tidak wujud dalam Hermes, mungkin disebabkan masalah rangkaian. Sila cuba lagi sebentar nanti.' ErrHermesFeishuGroupAllowlistRequiresAllowlist: 'Apabila dasar kumpulan Feishu ialah senarai benarkan, dasar DM tidak boleh menggunakan kod pasangan.' ErrAIProxyServiceNotInstalled: 'Perkhidmatan {{ .name }} belum dipasang' ErrAIProxyModelAccountNotFound: 'Akaun model {{ .id }} tidak ditemui' ErrAIProxyModelMapRequired: 'Medan ini wajib diisi.' ErrAIProxyModelMapInvalid: 'Pemetaan model mestilah objek JSON yang sah: {{ .err }}' ErrAIProxyModelMapEmpty: 'Pemetaan model tidak boleh kosong' ErrAIProxyModelMapEmptyExternalModel: 'Pemetaan model mengandungi model permintaan kosong' ErrAIProxyModelMapEmptyUpstreamModel: 'Model upstream untuk {{ .model }} tidak boleh kosong' AIProxyUserFallback: 'Pengguna {{ .id }}' Localhost: 'Mesin Tempatan' ErrBackupInUsed: 'Akaun sandaran sedang digunakan oleh tugas' ErrBackupCheck: 'Ujian sambungan gagal: {{ .err }}' ErrBackupLocalDelete: 'Tidak boleh padam sandaran tempatan' ErrBackupLocalCreate: 'Tidak boleh buat sandaran tempatan' ErrAlertConfigInUse: 'Konfigurasi amaran sedang digunakan dan tidak boleh dipadamkan' ErrAlertConfigPhoneExist: 'Nombor telefon sudah wujud' ErrPortInUsed: 'Port {{ .detail }} sudah diduduki' ErrAppLimit: 'Bilangan aplikasi yang dipasang telah melebihi had' ErrNotInstall: 'Aplikasi tidak dipasang' ErrPortInOtherApp: 'Port {{ .port }} sudah diduduki oleh aplikasi {{ .apps }}' ErrDbUserNotValid: 'Pangkalan data sedia ada, nama pengguna dan kata laluan tidak sepadan' 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' 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' 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 }}' 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' AppStoreSyncSuccess: 'Penyegerakan App Store berjaya' SyncAppDetail: 'Segerakkan konfigurasi aplikasi' AppVersionNotMatch: 'Aplikasi {{ .name }} memerlukan versi 1Panel yang lebih tinggi, melangkau penyegerakan' MoveSiteDir: 'Perubahan direktori laman web didapati. Perlu memindahkan direktori laman web OpenResty ke {{ .name }}' MoveSiteDirSuccess: 'Penghijrahan direktori tapak web yang berjaya' DeleteRuntimePHP: 'Padam masa jalan PHP' 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' ErrAppVersionDeprecated: 'Aplikasi {{ .name }} tidak sesuai dengan versi 1Panel saat ini, dilewati' ErrDockerFailed: 'Keadaan Docker tidak normal, sila periksa status perkhidmatan' ErrDockerComposeCmdNotFound: 'Perintah Docker Compose tidak wujud, sila pasang perintah ini di mesin tuan terlebih dahulu' UseExistImage: 'Imej sudah wujud, menggunakan imej sedia ada' ErrDatabaseNotFound: 'Pangkalan data {{ .name }} tidak wujud' ExportIP: 'IP Log Masuk' ExportArea: 'Lokasi' ExportPort: 'Port' ExportAuthMode: 'Kaedah Log Masuk' ExportUser: 'Pengguna' ExportStatus: 'Status Log Masuk' ExportDate: 'Masa' ErrFileCanNotRead: 'Fail ini tidak menyokong pratonton' ErrSensitiveFileRead: 'Membaca fail sensitif tidak dibenarkan' 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' ErrFileSharePath: 'Laluan fail tidak sah atau sasaran bukan fail' ErrFileShareInvalid: 'Pautan kongsi tidak sah atau telah tamat tempoh' ErrFileShareExpired: 'Pautan kongsi telah tamat tempoh' ErrFileSharePassword: 'Kata laluan kongsi tidak betul' ErrFileShareExhausted: 'Had muat turun untuk kongsi ini telah dicapai' ErrFileSharePasswordPolicy: 'Kata laluan mestilah sekurang-kurangnya 4 aksara' ErrFileShareRateLimit: 'Terlalu banyak permintaan, sila cuba lagi kemudian' 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' ErrLogFileToLarge: 'Fail log melebihi 500MB dan tidak boleh dibuka' FileDropFailed: 'Gagal membersihkan fail {{ .name }}: {{ .err }}' FileDropSuccess: 'Berjaya membersihkan fail {{ .name }}, {{ .count }} fail dibersihkan, {{ .size }} ruang cakera dibebaskan' FileDropSum: 'Pembersihan fail selesai, sejumlah {{ .count }} fail dibersihkan, sejumlah {{ .size }} ruang cakera dibebaskan' ErrBadDecrypt: 'Kata laluan penyahsulitan pakej termampat salah, penyahmampatan gagal, sila periksa dan cuba lagi' ErrAliasIsExist: 'Alias sudah wujud' 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' ErrProxyIsUsed: 'Pengimbang beban telah digunakan oleh pengganti terbalik, tidak boleh dipadamkan' ErrSSLValid: 'Fail sijil bermasalah, sila periksa status sijil' ErrWebsiteDir: 'Sila pilih direktori dalam direktori laman web.' ErrComposerFileNotFound: 'Fail composer.json tidak wujud' ErrRuntimeNoPort: 'Persekitaran runtime tidak diset dengan port, sila edit persekitaran runtime terlebih dahulu.' ErrRuntimeProjectDirContainsCodeDir: 'Direktori runtime mengandungi direktori projek yang dipilih. Sila pilih direktori projek lain dan cipta semula.' Status: 'Status' start: 'Mulakan' stop: 'Berhenti' restart: 'Mulakan Semula' kill: 'Hentikan Paksa' pause: 'Jeda' unpause: 'Sambung Semula' remove: 'Padam' delete: 'Padam' ErrDefaultWebsite: 'Laman web lalai telah ditetapkan, sila batalkan sebelum menetapkan' SSL: 'Sijil' Set: 'Tetapan' ErrSSLCannotDelete: 'Sijil {{ .name }} sedang digunakan oleh tapak web dan tidak boleh dipadamkan' ErrAccountCannotDelete: 'Akaun dikaitkan dengan sijil dan tidak boleh dipadamkan' ErrSSLApply: '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' ErrEabKidOrEabHmacKeyCannotBlank: 'EabKid atau EabHmacKey tidak boleh kosong' ErrOpenrestyNotFound: 'Mod HTTP memerlukan OpenResty dipasang terlebih 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' ErrApplySSLCanNotDelete: 'Sertifikat {{ .name }} yang sedang diajukan tidak dapat dihapus, sila cuba lagi kemudian.' StartPushSSLToNode: 'Mula menolak sijil ke nod' PushSSLToNodeFailed: 'Gagal menolak sijil ke nod: {{ .err }}' PushSSLToNodeSuccess: 'Berjaya menolak sijil ke nod' 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' RemoteBackup: 'Untuk menyandarkan pangkalan data jauh, perkhidmatan pangkalan data bekas tempatan perlu dimulakan terlebih dahulu menggunakan imej {{ .name }}, sila tunggu...' RemoteRecover: 'Untuk memulihkan pangkalan data jauh, perkhidmatan pangkalan data bekas tempatan perlu dimulakan terlebih dahulu menggunakan imej {{ .name }}, sila tunggu...' Arg: 'Hujah' ErrTypeOfRedis: 'Jenis fail pemulihan tidak sepadan dengan kaedah kegigihan semasa, sila ubah suai dan cuba lagi' ErrInUsed: '{{ .detail }} sedang digunakan dan tidak boleh dipadam' ErrObjectInUsed: 'Objek ini sedang digunakan dan tidak boleh dipadam' ErrObjectBeDependent: 'Imej ini digantungkan oleh imej lain dan tidak boleh dipadam' 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' PruneHelper: 'Pembersihan ini {{ .name }} membebaskan ruang cakera {{ .size }}' ImageRemoveHelper: 'Padam imej {{ .name }}, membebaskan {{ .size }} ruang cakera' BuildCache: 'Cache binaan' Volume: 'Jilid storan' Network: 'Rangkaian' PruneStart: 'Pembersihan sedang dijalankan, sila tunggu...' ContainerBackupPrepare: 'Sediakan ruang kerja sandaran kontena' ContainerBackupStop: 'Hentikan kontena sebelum sandaran' ContainerBackupInspect: 'Sandarkan inspect dan rangkaian kontena' ContainerBackupMounts: 'Sandarkan mount kontena' ContainerBackupMeta: 'Tulis metadata sandaran kontena' ContainerBackupStart: 'Mulakan kontena selepas sandaran' ContainerRecoverPrepare: 'Sediakan ruang kerja pemulihan kontena' ContainerRecoverExtract: 'Ekstrak arkib sandaran kontena' ContainerRecoverParse: 'Muat metadata sandaran kontena' ContainerRecoverCreate: 'Cipta semula kontena' ContainerRecoverMounts: 'Pulihkan mount kontena' ContainerRecoverStart: 'Mulakan kontena dipulihkan' ContainerRecoverCleanup: 'Bersihkan ruang kerja pemulihan kontena' ComposeBackupPrepare: 'Sediakan ruang kerja sandaran compose' ComposeBackupStop: 'Hentikan compose sebelum sandaran' ComposeBackupFiles: 'Sandarkan fail compose' ComposeBackupContainers: 'Sandarkan kontena compose' ComposeBackupMeta: 'Tulis metadata sandaran compose' ComposeBackupStart: 'Mulakan compose selepas sandaran' ComposeBackupCleanup: 'Bersihkan ruang kerja sandaran compose' ComposeRecoverPrepare: 'Sediakan ruang kerja pemulihan compose' ComposeRecoverExtract: 'Ekstrak arkib sandaran compose' ComposeRecoverMeta: 'Muat metadata sandaran compose' ComposeRecoverMetaLogName: 'Metadata pemulihan compose: nama={{ .name }}' ComposeRecoverMetaLogPath: 'Metadata pemulihan compose: laluanSandaran={{ .backupPath }} laluanSasaran={{ .targetDir }}' ComposeRecoverMetaLogCount: 'Metadata pemulihan compose: fail={{ .files }} kontena={{ .containers }}' ComposeRecoverFiles: 'Pulihkan fail compose' ComposeRecoverContainers: 'Pulihkan kontena compose' ComposeRecoverRecord: 'Simpan rekod compose' ComposeRecoverCleanup: 'Bersihkan ruang kerja pemulihan compose' ErrFileNotExist: 'Fail {{ .detail }} tidak wujud Sila semak integriti fail sumber' ErrImageBuildErr: 'Pembinaan imej gagal' ErrImageExist: 'Imej sudah wujud Sila ubah nama imej.' 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' ErrPHPPortIsDefault: 'Port 9000 ialah port lalai. Sila tukar dan cuba lagi' ErrPHPRuntimePortFailed: 'Port {{ .name }} sudah digunakan oleh runtime semasa. Sila tukar dan cuba lagi' 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 }}' CutWebsiteLogSuccess: '{{ .name }} log tapak web berjaya dipotong, laluan sandaran {{ .path }}' HandleShell: 'Laksanakan skrip {{ .name }}' HandleCurl: 'Akses URL {{ .name }}' HandleNtpSync: 'Penyegerakan masa sistem' HandleSystemClean: 'Pembersihan cache sistem' SystemLog: 'Log Sistem' CutWebsiteLog: 'Putar Log Laman Web' FileOrDir: 'Direktori / Fail' UploadFile: 'Muat naik fail sandaran {{ .file }} ke {{ .backup }}' Upload: 'Muat Naik' IgnoreBackupErr: 'Sandaran gagal, ralat: {{ .detail }}, abaikan ralat ini...' IgnoreUploadErr: 'Muat naik gagal, ralat: {{ .detail }}, abaikan ralat ini...' LoadBackupFailed: 'Gagal mendapatkan sambungan akaun sandaran, ralat: {{ .detail }}' InExecuting: 'Tugas semasa sedang dilaksanakan, jangan ulangi pelaksanaan' NoSuchResource: 'Tiada kandungan sandaran ditemui dalam pangkalan data, dilangkau...' CleanLog: 'Bersihkan log' CleanLogByName: 'Bersihkan log {{ .name }}' WafIpGroupNotFound: 'Kumpulan IP WAF tidak ditemui. Sila pergi ke [Ciri Lanjutan - WAF - Senarai Hitam/Putih - Kumpulan IP] untuk menambah kumpulan IP melalui kaedah muat turun jauh.' 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' TaskSwapSet: 'Tetapkan Swap' SetSwap: 'Tetapkan Swap {{ .path }} - {{ .size }}' CreateSwap: 'Buat Fail Swap' FormatSwap: 'Format Fail Swap' EnableSwap: 'Dayakan Swap' CleanTamperSetting: 'Bersihkan tetapan perlindungan sejarah' SetTamperWithRules: 'Mulakan perlindungan direktori mengikut peraturan' ProtectDir: 'Lindungi direktori {{ .name }}' IgnoreFile: 'Lindungi fail {{ .name }}' TamperSetSuccessful: 'Tetapan perlindungan selesai, mula memantau direktori berikut:' 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' ErrIPGroupAclUse: 'Kumpulan IP digunakan oleh peraturan tersuai tapak web {{ .name }}, 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' javaFilter: 'Penapis fail berbahaya Java' scannerFilter: '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' remoteIpIsNull: 'Senarai IP kosong' OpenrestyVersionErr: 'Versi OpenResty terlalu lama. Naik taraf ke 1.27.1.2-2-2-focal' ErrFileTooLarge: 'Fail melebihi 1 MB dan tidak boleh dimuat naik' 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' TaskProtect: 'Lindungi' TaskBackup: 'Sandaran' TaskRecover: 'Pulihkan' TaskRollback: 'Rollback' TaskPull: 'Tarik' TaskCommit: 'Komit' TaskBuild: 'Bina' TaskPush: 'Hantar' TaskClean: 'Pembersihan' TaskHandle: 'Laksanakan' TaskImport: 'Import' TaskExport: 'Eksport' 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' TaskExec: 'Laksanakan' TaskBatch: 'Operasi Batch' FileConvert: 'Penukaran Format Fail' Clamscan: 'Imbas {{ .name }}' TaskScan: 'Imbas' OllamaModelPull: 'Tarik model Ollama {{ .name }}' OllamaModelSize: 'Dapatkan saiz model Ollama {{ .name }}' 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' SnapInstallAppImageEmpty: 'Tiada imej aplikasi dipilih, dilangkau...' SnapInstallApp: 'Sandaran aplikasi terpasang 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' SnapUploadTo: 'Muat naik fail syot kilat ke {{ .name }}' SnapUploadRes: 'Muat naik fail syot kilat ke {{ .name }}' SnapshotRecover: 'Pulihkan syot kilat' 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' 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' ImageBuild: 'Membina Imej' ImagePull: 'Tarik imej' ImageRepoAuthFromDB: 'Dapatkan maklumat pengesahan repositori daripada pangkalan data' ImagePush: 'Tolak imej' ImageRenameTag: 'Ubah suai teg imej' ImageNewTag: 'Teg imej baharu {{ .name }}' ComposeCreate: 'Buat gubahan' 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' ErrAlertSync: 'Ralat penyegerakan maklumat penggera, sila semak dan cuba lagi' ErrInstallExtension: 'Tugas pemasangan sudah sedang berjalan, silakan tunggu tugas selesai' PanelAlertTitle: 'Notifikasi Amaran Panel' TestAlertTitle: 'E-mel Ujian - Sahkan Sambungan E-mel' TestAlert: 'Ini adalah e-mel ujian untuk mengesahkan konfigurasi penghantaran e-mel anda betul.' LicenseExpirationAlert: 'Panel {{ .node }}{{ .ip }} Anda, lesen akan tamat tempoh dalam {{ .day }} hari. Sila log masuk ke panel untuk butiran lanjut.' CronJobFailedAlert: 'Panel {{ .node }}{{ .ip }} Anda, tugas jadual {{ .name }} gagal dilaksanakan. Sila log masuk ke panel untuk butiran lanjut.' ClamAlert: 'Panel {{ .node }}{{ .ip }} Anda, tugas imbasan virus mengesan {{ .num }} fail yang dijangkiti. Sila log masuk ke panel untuk butiran lanjut.' WebSiteAlert: 'Panel {{ .node }}{{ .ip }} Anda, {{ .num }} laman web akan tamat tempoh dalam {{ .day }} hari. Sila log masuk ke panel untuk butiran lanjut.' SSLAlert: 'Panel {{ .node }}{{ .ip }} Anda, {{ .num }} sijil SSL akan tamat tempoh dalam {{ .day }} hari. Sila log masuk ke panel untuk butiran lanjut.' DiskUsedAlert: 'Panel {{ .node }}{{ .ip }} Anda, penggunaan cakera {{ .name }} telah mencapai {{ .used }}. Sila log masuk ke panel untuk butiran lanjut.' ResourceAlert: 'Panel {{ .node }}{{ .ip }} Anda, kadar penggunaan purata {{ .name }} dalam tempoh {{ .time }} minit ialah {{ .used }}. Sila log masuk ke panel untuk butiran lanjut.' PanelVersionAlert: 'Panel {{ .node }}{{ .ip }} Anda, versi panel terkini tersedia untuk dinaik taraf. Sila log masuk ke panel untuk butiran lanjut.' PanelPwdExpirationAlert: 'Panel {{ .node }}{{ .ip }} Anda, kata laluan panel akan tamat tempoh dalam {{ .day }} hari. Sila log masuk ke panel untuk butiran lanjut.' CommonAlert: 'Panel {{ .node }}{{ .ip }} Anda, {{ .msg }}. Sila log masuk ke panel untuk butiran lanjut.' NodeExceptionAlert: 'Panel {{ .node }}{{ .ip }} Anda, {{ .num }} nod tidak normal. Sila log masuk ke panel untuk butiran lanjut.' LicenseExceptionAlert: 'Panel {{ .node }}{{ .ip }} Anda, {{ .num }} lesen tidak normal. Sila log masuk ke panel untuk butiran lanjut.' SSHAndPanelLoginAlert: 'Panel {{ .node }}{{ .ip }} Anda, log masuk {{ .name }} dari {{ .loginIp }} tidak normal. Sila log masuk ke panel untuk butiran lanjut.' DeviceNotFound: 'Peranti {{ .name }} tidak ditemui' DeviceIsMounted: 'Peranti {{ .name }} telah dikaitkan, sila nyahkaitkan terlebih dahulu' PartitionDiskErr: 'Gagal membahagikan, {{ .err }}' FormatDiskErr: 'Gagal memformat cakera, {{ .err }}' MountDiskErr: 'Gagal mengkaitkan cakera, {{ .err }}' XfsNotFound: 'Sistem fail xfs tidak dikesan, sila pasang xfsprogs terlebih dahulu' # terminal TerminalAIBlockedRiskyCommand: 'Perintah berisiko telah disekat: {{ .command }}' TerminalAIThinking: 'AI sedang berfikir...' TerminalAIReadyToExecute: 'Pemikiran selesai, tekan Enter untuk jalankan (tempoh: {{ .duration }}, token: {{ .tokens }})' TerminalAIRequestFailed: 'Permintaan AI gagal: {{ .err }}' FileAISearchEmptyDir: 'Tiada fail atau direktori di bawah laluan ini (atau semua ditapis).'