# ralat asas ErrInvalidParams: 'Permintaan tidak sah: {{ .detail }}' ErrTokenParse: 'Token tidak sah: {{ .detail }}' ErrInitialPassword: 'Kata laluan asal salah' ErrInternalServer: 'Ralat pelayan: {{ .detail }}' ErrInternalServerKey: "Ralat dalaman pelayan:" ErrRecordExist: 'Rekod sudah wujud' ErrRecordNotFound: 'Rekod tidak ditemui' ErrStructTransform: 'Ralat penukaran: {{ .detail }}' ErrNotSupportType: 'Jenis tidak disokong: {{ .name }}' ErrDemoEnvironment: 'Tidak tersedia dalam demo' ErrCmdTimeout: 'Arahan tamat masa' ErrPortInUsed: "Port {{ .name }} telah digunakan" ErrFileNotFound: "Fail {{ .name }} tidak wujud" ErrReqFailed: "{{.name}} permintaan gagal: {{ .err }}" # permintaan dan pintu masuk keselamatan 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 }}" ErrProxy: 'Permintaan gagal: {{ .detail }}' ErrProxySetting: "Maklumat pelayan proksi tidak tersedia {{ .err }}, sila periksa dan cuba lagi" ErrEntrance: "Maklumat pintu masuk keselamatan salah, sila periksa dan cuba lagi" ErrEntranceFormat: "Pintu masuk keselamatan {{ .name }} tidak disokong buat masa ini. Sila periksa dan cuba lagi" # log masuk dan keselamatan ErrNotLogin: 'Belum log masuk: {{ .detail }}' ErrSessionDataNotFound: "Sesi semasa telah tamat tempoh" ErrSessionDataFormat: "Format data sesi semasa tidak normal" ErrPasswordExpired: 'Kata laluan tamat: {{ .detail }}' ErrLoginLocked: "Terlalu banyak percubaan gagal. Log masuk dikunci sementara selama 5 minit." 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 }}' ErrPasskeyDisabled: "Passkey memerlukan HTTPS diaktifkan" ErrPasskeyNotConfigured: "Tiada Passkey dikonfigurasikan" ErrPasskeyLimit: "Had Passkey telah dicapai (maksimum 5)" ErrPasskeySession: "Sesi Passkey telah tamat tempoh atau tidak sah" ErrPasskeyDuplicate: "Passkey sudah wujud" ErrPasskeyVerify: "Pengesahan Passkey gagal" ErrOIDCNotEnabled: "Pengesahan OIDC belum diaktifkan" ErrOIDCConfigInvalid: "Konfigurasi OIDC tidak sah" ErrOIDCConfigChanged: "Konfigurasi OIDC telah berubah; mulakan semula pengesahan" ErrOIDCDiscoveryFailed: "Gagal menemui konfigurasi Provider OIDC" ErrOIDCIssuerMismatch: "Issuer OIDC tidak sepadan dengan Issuer yang dikonfigurasi" ErrOIDCUnsupportedPKCE: "Provider OIDC tidak menyokong kaedah PKCE yang diperlukan" ErrOIDCUnsupportedSigningAlgorithm: "Algoritma tandatangan OIDC tidak disokong" ErrOIDCInvalidState: "Status log masuk OIDC tidak sah atau telah digunakan" ErrOIDCLoginExpired: "Permintaan log masuk OIDC telah tamat tempoh; cuba lagi" ErrOIDCTokenExchange: "Gagal menukar kod kebenaran OIDC" ErrOIDCTokenValidation: "Gagal mengesahkan Token OIDC" ErrOIDCUserInfoValidation: "Gagal mengesahkan maklumat pengguna OIDC" ErrOIDCNameClaimMissing: "Claim nama pengguna OIDC yang dikonfigurasi tiada atau tidak sah" ErrOIDCNameConflictLocal: "Nama pengguna OIDC bercanggah dengan pengguna tempatan" ErrOIDCNameConflictLDAP: "Nama pengguna OIDC bercanggah dengan pengguna LDAP" ErrOIDCNameConflictOIDC: "Nama pengguna OIDC bercanggah dengan identiti OIDC lain" ErrOIDCDefaultRoleInvalid: "Peranan lalai yang dikonfigurasi untuk OIDC tidak tersedia" ErrOIDCPrivateAddressDenied: "Alamat Endpoint OIDC tidak dibenarkan oleh dasar keselamatan rangkaian" ErrOIDCTLSValidation: "Pengesahan sijil TLS OIDC gagal" ErrOIDCTestExpired: "Ujian pelayar OIDC telah tamat tempoh; jalankan semula ujian" ErrOIDCLocalCredentialsReadonly: "Nama pengguna dan kata laluan OIDC diurus oleh Provider identiti dan tidak boleh diubah secara tempatan." ErrOIDCPasswordExpirationUnsupported: "Pengguna OIDC tidak menggunakan dasar tamat tempoh kata laluan tempatan." ErrOIDCInternal: "Pengesahan OIDC mengalami ralat dalaman. Cuba lagi kemudian." # pengguna dan kebenaran ErrNoSuchUser: "Maklumat pengguna tidak ditemui, sila semak dan cuba lagi" ErrToMaster: "Pengguna ini tiada kebenaran untuk melakukan operasi ini pada nod utama, sila semak dan cuba lagi" ErrToNode: "Pengguna ini tiada kebenaran untuk melakukan operasi ini pada nod ini, sila semak dan cuba lagi" ErrRBAC: "Kebenaran pengguna tidak mencukupi, operasi ini tidak boleh dilakukan. Sila semak dan cuba lagi" ErrNoneNode: "Pengguna ini tidak mempunyai sebarang kebenaran nod. Sila hubungi pentadbir atau semak dan cuba lagi" ErrOnlySuperAdmin: "Hanya super admin boleh menggunakan fungsi ini" ErrRolePresetCannotDelete: "Peranan pratetap sistem tidak boleh dipadam" ErrRolePresetCannotUpdate: "Peranan pratetap sistem tidak boleh dikemas kini" ErrRoleBoundToUser: "Peranan ini sudah terikat kepada pengguna dan tidak boleh dipadam" ErrRolePresetCannotBind: "Peranan pratetap sistem tidak boleh diberikan kepada pengguna" ErrNodeAdminMasterForbidden: "Kebenaran Pentadbir Nod tidak boleh ditambah pada nod utama" ErrSuperAdminCannotDelete: "Pengguna super admin tidak boleh dipadam" ErrGroupIsDefault: "Kumpulan lalai tidak boleh dihapuskan" ErrGroupIsInUse: "Kumpulan sedang digunakan dan tidak boleh dipadam." # lesen 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 memerlukan Edisi Business. Import lesen di Tetapan Panel > Lesen" ErrXpackExceptional: "Bahagian ini memerlukan Edisi Business. Segerakkan status lesen di Tetapan Panel > Lesen" ErrXpackLost: "Lesen telah mencapai had percubaan semula. Pergi ke Tetapan Panel > Lesen dan jalankan penyelarasan manual" ErrEnterpriseLicenseRequired: "Lesen Edisi Enterprise belum diimport. Sila import lesen terlebih dahulu" 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: "Bilangan nod yang boleh ditambah telah mencapai had. Sila beli dan cuba lagi." 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: "Lesen ini masih terikat pada nod Edisi Community. Nyahikat di Tetapan Panel > Lesen dan cuba lagi" ErrLicenseBindCount: "Bilangan nod percuma lesen baharu kurang daripada bilangan nod Edisi Community yang sedang terikat. Sila semak 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. Jalankan '1pctl restore' secara manual untuk rollback" ErrIntlLicense: "Versi semasa belum menyokong import lesen edisi antarabangsa. Nantikan" InvalidRequestBodyType: "Format badan permintaan tidak sah, sila periksa dan pastikan kandungan memenuhi format yang diperlukan sebelum mencuba semula" InvalidLicenseCodeType: "Format kod lesen yang diberikan tidak sah, sila periksa dan cuba lagi" LicenseNotFoundType: "Lesen tidak dijumpai, tiada rekod yang sepadan dengan lesen yang diberikan dalam sistem. Sila periksa dan cuba lagi" LicenseRevokedType: "Lesen yang diminta telah dibatalkan dan tidak boleh digunakan lagi. Sila periksa dan cuba lagi" LicenseExpiredType: "Lesen telah tamat tempoh. Sila perbaharui atau import semula lesen dalam Tetapan Panel - Bahagian Lesen sebelum mencuba semula" LicenseProductMismatchType: "Lesen tidak sepadan dengan produk atau perkhidmatan yang diminta" InvalidAssigneeType: "Maklumat pengguna atau peranti sasaran untuk penugasan lesen tidak sah. Sila periksa dan cuba lagi" LicenseUsageNotFoundType: "Tiada rekod penggunaan dijumpai. Lesen ini belum diaktifkan atau digunakan. Sila periksa dan cuba lagi" LicenseUsageLimitExceededType: "Lesen ini sudah terikat pada nod lain. Sila periksa dan cuba lagi" # nod dan kluster MasterNode: "Nod Induk" Node: "Nod" ErrLocalDelete: "Nod tempatan tidak boleh dihapuskan" 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." # mesin maya ErrVMNotFound: "Mesin maya tidak wujud" ErrVMAlreadyExists: "Mesin maya sudah wujud" ErrVMCountLimit: "Edisi Professional membenarkan penciptaan sehingga {{ .limit }} mesin maya. Padamkan mesin maya sedia ada atau naik taraf kepada Enterprise dan cuba lagi." ErrVMImageAlreadyExists: "Fail imej mesin maya sudah wujud: {{ .detail }}" ErrVMStoragePathInUse: "Laluan kolam storan sudah digunakan oleh [{{ .name }}]" ErrVMHelperNotFound: "1panel-kvm tidak ditemui" ErrVMBridgeManaged: "Nama bridge telah diurus oleh libvirt atau Docker" ErrVMNetworkInUse: "Rangkaian sedang digunakan dan tidak boleh dipadamkan" ErrVMStorageInUse: "Kumpulan storan sedang digunakan dan tidak boleh dipadamkan" ErrVMStorageNameCannotChange: "Nama kumpulan storan tidak boleh diubah" ErrVMStoragePathCannotChange: "Laluan kumpulan storan tidak boleh diubah" ErrVMRunning: "Mesin maya sedang berjalan" ErrVMLibvirtConnect: "Gagal menyambung ke libvirt: {{ .detail }}" ErrVMPermission: "Tiada kebenaran untuk mengendalikan mesin maya: {{ .detail }}" ErrVMNetworkNotFound: "Rangkaian mesin maya tidak wujud: {{ .detail }}" ErrVMInvalidPath: "Laluan mesin maya tidak sah: {{ .detail }}" ErrVMInvalidInput: "Parameter mesin maya tidak sah: {{ .detail }}" ErrVMCommandFailed: "Arahan mesin maya gagal: {{ .err }}" VMCreateTask: "Cipta mesin maya [{{ .name }}]" VMCreateFromTemplateTask: "Cipta mesin maya [{{ .name }}] daripada templat" VMUpdateTask: "Kemas kini mesin maya [{{ .name }}]" VMRenameTask: "Namakan semula mesin maya [{{ .name }}] kepada [{{ .newName }}]" VMDeleteTask: "Padam mesin maya [{{ .name }}]" VMTemplateCreateTask: "Simpan mesin maya [{{ .name }}] sebagai templat [{{ .template }}]" VMTemplateDeleteTask: "Padam templat mesin maya [{{ .name }}]" VMForceDeleteMetadataOnly: "1panel-kvm tidak ditemui, memadam metadata mesin maya [{{ .name }}] sahaja secara paksa" VMForceDeleteMetadataAfterLibvirtFailed: "Gagal memadam mesin maya [{{ .name }}] daripada libvirt, memadam metadata secara paksa: {{ .err }}" VMForceDeleteDiskFailed: "Gagal memadam fail cakera mesin maya [{{ .path }}] secara paksa: {{ .err }}" VMForceDeleteDiskSuccess: "Fail cakera mesin maya [{{ .path }}] telah dipadam secara paksa" VMSnapshotCreateTask: "Cipta syot kilat [{{ .snapshot }}] untuk mesin maya [{{ .vm }}]" VMSnapshotCreateStep: "Cipta syot kilat mesin maya [{{ .snapshot }}]" VMSnapshotRecoverTask: "Pulihkan syot kilat [{{ .snapshot }}] untuk mesin maya [{{ .vm }}]" VMSnapshotRecoverStep: "Pulihkan syot kilat mesin maya [{{ .snapshot }}]" VMSnapshotDeleteTask: "Padam syot kilat [{{ .snapshot }}] untuk mesin maya [{{ .vm }}]" VMSnapshotDeleteStep: "Padam syot kilat mesin maya [{{ .snapshot }}]" # aplikasi CustomAppStoreFileValid: "Pakej stor aplikasi perlu dalam format .tar.gz" AppBackup: "Sandaran aplikasi" AppBackupPush: "Pindahkan fail sandaran aplikasi {{.file}} ke nod {{ .name }}" ErrSourceTargetSame: "Nod sumber dan nod sasaran tidak boleh sama!" AppInstall: "Pasang aplikasi {{ .name }} pada nod {{ .targetNode }}" AppInstallCheck: "Semak persekitaran pemasangan aplikasi" # sandaran ErrBackupInUsed: 'Akaun sandaran sedang digunakan oleh tugas' ErrBackupCheck: 'Ujian sambungan 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." MvBackup: "Alihkan data ke direktori sandaran" # amaran ErrAlertSync: "Ralat penyinkronan maklumat amaran, sila semak dan cuba lagi" # gerbang AI ErrAIProxyUserGroupIsDefault: "Kumpulan pengguna lalai tidak boleh dipadam." ErrAIProxyUserGroupInUse: "Kumpulan pengguna sedang digunakan dan tidak boleh dipadam." ErrAIProxyUserGroupExists: "Nama kumpulan pengguna sudah wujud." ErrAIProxyBackendAccountExists: "Akaun model ini telah diimport ke dalam kolam akaun AI Gateway." ErrAIProxyModelGroupInUse: "Kumpulan model sedang digunakan dan tidak boleh dipadam." ErrAIProxyModelGroupExists: "Nama kumpulan model sudah wujud." ErrAIProxySensitiveGroupInUse: "Kumpulan kata sensitif sedang digunakan dan tidak boleh dipadam." ErrAIProxySensitiveGroupExists: "Nama kumpulan kata sensitif sudah wujud." AIProxyContentPolicyViolation: "Maaf, saya tidak dapat memproses permintaan ini kerana kandungannya mungkin tidak mematuhi dasar kandungan. Sila ubah kandungan dan cuba lagi." AIBenchmarkRun: "Jalankan penanda aras AI" # tugas 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' TaskSyncForNode: "Segerakan Data Nod" TaskBackup: "Sandaran" TaskPush: "Hantar" TaskRsync: "Selaraskan" SuccessStatus: "{{ .name }} berjaya" FailedStatus: "{{ .name }} gagal {{ .err }}" Start: "Mula" SubTask: "Tugas Sub" Skip: "Abaikan ralat dan teruskan..." Success: "Berjaya" # tugas penghalaan pintar get laluan AI AIProxySmartRouteCreateTask: "Cipta sampel penghalaan pintar get laluan AI" AIProxySmartRouteCreateSubTask: "Cipta sampel dan jana vektor" AIProxySmartRouteCreateStart: "Memulakan penciptaan sampel, jumlah {{ .total }}" AIProxySmartRouteCreateFailed: "[{{ .current }}/{{ .total }}] Penciptaan gagal: type={{ .type }} label={{ .label }} error={{ .err }}" AIProxySmartRouteCreateSuccess: "[{{ .current }}/{{ .total }}] Berjaya dicipta: sampleID={{ .id }} type={{ .type }} label={{ .label }}" AIProxySmartRouteCreateComplete: "Penciptaan selesai: {{ .success }} berjaya, {{ .failed }} gagal" AIProxySmartRouteCreateError: "Penciptaan sampel gagal: {{ .failed }} gagal, ralat terakhir" AIProxySmartRouteRebuildTask: "Bina semula vektor sampel penghalaan pintar get laluan AI" AIProxySmartRouteRebuildSubTask: "Bina semula vektor sampel" AIProxySmartRouteEmbeddingRequired: "Endpoint dan model Embedding diperlukan" AIProxySmartRouteRebuildStart: "Memulakan pembinaan semula vektor sampel, jumlah {{ .total }}" AIProxySmartRouteRebuildFailed: "[{{ .current }}/{{ .total }}] Pembinaan semula gagal: sampleID={{ .id }} type={{ .type }} label={{ .label }} error={{ .err }}" AIProxySmartRouteRebuildSuccess: "[{{ .current }}/{{ .total }}] Berjaya dibina semula: sampleID={{ .id }} type={{ .type }} label={{ .label }}" AIProxySmartRouteRebuildComplete: "Pembinaan semula selesai: {{ .success }} berjaya, {{ .failed }} gagal" AIProxySmartRouteRebuildError: "Pembinaan semula vektor sampel gagal: {{ .failed }} gagal, ralat terakhir" # tugas kelompok ejen BatchInstallAgent: "Pasang ejen secara pukal" DispatchAgentInstallTasks: "Hantar tugas pemasangan ejen" BatchUpgradeAgent: "Naik taraf ejen secara pukal" DispatchAgentUpgradeTasks: "Hantar tugas naik taraf ejen" BatchAgentInstallDispatchFailed: "Nod {{ .node }} gagal menghantar tugas pemasangan {{ .agentType }} Message: {{ .err }}" BatchAgentInstallSubmitted: "Nod {{ .node }} berjaya menghantar tugas pemasangan {{ .agentType }}!" BatchAgentUpgradeDispatchFailed: "Nod {{ .node }} gagal menghantar tugas naik taraf {{ .agentType }} Message: {{ .err }}" BatchAgentUpgradeAlreadyLatest: "Nod {{ .node }} {{ .agent }} sudah pada versi sasaran, dilangkau" BatchAgentUpgradeSubmitted: "Nod {{ .node }} berjaya menghantar tugas naik taraf {{ .agent }}!" BatchAgentUpgradeFailed: "Nod {{ .node }} gagal menghantar tugas naik taraf {{ .agent }} Message: {{ .err }}" BatchInstallAgentSkill: "Hantar Skill secara pukal" DispatchAgentSkillInstallTasks: "Hantar tugas pemasangan Skill" BatchAgentSkillDispatchFailed: "Nod {{ .node }} gagal menghantar {{ .skill }} ke {{ .target }} Message: {{ .err }}" BatchAgentNoAgentsFound: "Nod {{ .node }} tidak menemui ejen {{ .agentType }}, dilangkau" BatchAgentSkillSkipped: "Nod {{ .node }} {{ .agent }} dilangkau Message: {{ .msg }}" BatchAgentSkillInstallSubmitted: "Nod {{ .node }} berjaya menghantar tugas pemasangan {{ .skill }} ke {{ .agent }}!" BatchAgentSkillInstallFailed: "Nod {{ .node }} gagal menghantar tugas pemasangan {{ .skill }} ke {{ .agent }} Message: {{ .err }}" BatchAgentOperateDispatchFailed: "Nod {{ .node }} gagal menghantar tugas {{ .operate }} {{ .agentType }} Message: {{ .err }}" BatchAgentOperateSkipped: "Nod {{ .node }} {{ .agent }} dilangkau Message: {{ .msg }}" BatchAgentOperateSubmitted: "Nod {{ .node }} berjaya menghantar tugas {{ .operate }} {{ .agent }}!" BatchAgentOperateFailed: "Nod {{ .node }} gagal menghantar tugas {{ .operate }} {{ .agent }} Message: {{ .err }}" BatchStartAgent: "Mula ejen secara pukal" DispatchAgentStartTasks: "Hantar tugas mula ejen" BatchStopAgent: "Henti ejen secara pukal" DispatchAgentStopTasks: "Hantar tugas henti ejen" BatchRestartAgent: "Mula semula ejen secara pukal" DispatchAgentRestartTasks: "Hantar tugas mula semula ejen" BatchDeleteAgent: "Padam ejen secara pukal" DispatchAgentDeleteTasks: "Hantar tugas padam ejen" AgentOperateStart: "Mula" AgentOperateStop: "Henti" AgentOperateRestart: "Mula semula" AgentOperateDelete: "Padam" # tugas aplikasi dan kemahiran PushAppInstallTaskToNode: "Hantar tugas pemasangan aplikasi ke nod [{{ .name }}]" AppInstallTask: "Tugas pemasangan aplikasi" PushAppFailed: "Gagal menghantar tugas pemasangan aplikasi" SkillHubInstallTask: "Pasang kemahiran [{{ .name }}]" SkillHubInstallToTarget: "Pasang kemahiran [{{ .name }}] ke sasaran [{{ .target }}]" # pustaka skrip ScriptLibrary: "Pustaka Skrip" RemoteScriptLibrary: "Pustaka Skrip Jauh" 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..." # penyegerakan nod SyncNode: "Selaraskan data ke nod {{ .name }}" LocalName: "Nama 'local' hanya digunakan untuk pengenalpastian tempatan sistem" SyncPackageData: "Pakej data segerak" 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" SyncSystemProxy: "Tetapan Proksi Sistem" SyncScripts: "Pustaka Skrip" SyncBackupAccounts: "Akaun Sandaran" SyncAlertSetting: "Tetapan Amaran" SyncCustomApp: "Aplikasi Tersuai" SyncLanguage: "Bahasa Sistem" SyncEdition: "Wilayah Operasi" # naik taraf nod 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" LoadAutoUpgradeNodesFailed: "Gagal memuatkan nod naik taraf automatik, ralat: {{ .err }}" AutoUpgradeNodes: "Nod naik taraf automatik: {{ .nodes }}" UpdateAutoUpgradeNodesStatusFailed: "Gagal mengemas kini status nod naik taraf automatik, ralat: {{ .err }}" # tambah nod MasterData: "Data Nod Master" LoadSftpClient: "Dapatkan Klien SFTP" PackageMasterData: "Hasilkan pakej sandaran nod master" UploadBackup: "Muat naik data 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" # penyegerakan fail dan imej nod LocalNodeIpFailed: "Gagal mendapatkan IP nod induk. Edit nod induk dan tambahkan alamat IP serta maklumat pengesahan SSH." HandlePrivateKey: "Kendalikan kunci peribadi nod" HandlePublicKey: "Kendalikan kunci awam nod" ExchangeFile: "Mulakan penyegerakan {{ .sourcePath }} dari nod {{ .source }} ke nod {{ .dest }}:{{ .destPath }}" NodeFile: "Fail nod" ImageSyncTaskName: "Segerakkan {{ .count }} imej" SSLSyncTaskName: "Segerakkan {{ .count }} sijil" AppSyncTaskName: "Segerakkan aplikasi {{ .name }}" SSLSyncToNode: "Hantar sijil [{{ .cert }}] ke nod [{{ .node }}]" ImageSyncSave: "Simpan imej {{ .image }}" ImageSyncSaveTags: "Simpan tag imej {{ .tags }}" ImageSyncToNode: "Segerakkan imej {{ .image }} ke nod {{ .node }}" ImageSyncLoad: "Muatkan imej {{ .image }} pada nod {{ .node }}" ImageSyncClean: "Bersihkan fail sementara imej {{ .image }}" ImageSyncNoTag: "Imej {{ .image }} tidak mempunyai tag dan akan disimpan menggunakan ID imej" ImageSyncFrontendTagsIgnored: "Tiada tag ditemui untuk imej {{ .image }} pada nod sumber. Tag frontend telah diabaikan." ImageSyncHandlePrivateKey: "Kendalikan kunci peribadi nod penyegerakan imej" ImageSyncHandlePublicKey: "Kendalikan kunci awam nod penyegerakan imej" ImageSyncTransfer: "Mulakan pemindahan fail sementara imej: {{ .source }}:{{ .sourcePath }} -> {{ .dest }}:{{ .destPath }}" # baris perintah SudoHelper: "Sila gunakan {{ .cmd }} atau tukar ke pengguna root" UsernameNeed: "Edisi Enterprise mesti menentukan --username" DBConnErr: "Ralat: Gagal memulakan sambungan pangkalan data, {{ .err }}" SystemVersion: "Versi: " SystemMode: "Mod: " # baris perintah - aplikasi 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 }}" # baris perintah - IP dengar ListenIPCommands: "Tukar IP mendengar" ListenIPv4: "Mendengar pada IPv4" ListenIPv6: "Mendengar pada IPv6" ListenChangeSuccessful: "Tukar berjaya Kini mendengar pada {{ .value }}" # baris perintah - tetapan semula 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" ResetPasskey: "Kosongkan passkey 1Panel" # baris perintah - pengguna UserList: "Dapatkan senarai pengguna 1Panel" UserTableName: "Nama" UserTableMFAStatus: "Status MFA" UserTableSuperAdmin: "Pentadbir Super" UserTableCreatedAt: "Dicipta Pada" UserEmptyList: "Tiada pengguna ditemui" UserInfo: "Dapatkan maklumat panel" UserInfoAddr: "Alamat panel: " UserInfoPassHelp: "Petua: Untuk menukar kata laluan, anda boleh menjalankan arahan: " # baris perintah - pulih RestoreCommands: "Rollback perkhidmatan dan data 1Panel" RestoreNoSuchFile: "Tiada fail rollback ditemui" RestoreStep1: "(1/5) Memulakan rollback perkhidmatan dan data 1Panel daripada direktori {{ .name }}..." RestoreStep2: "(2/5) Rollback binari 1Panel berjaya" RestoreStep3: "(3/5) Rollback skrip 1Panel berjaya" RestoreStep4: "(4/5) Rollback perkhidmatan 1Panel berjaya" RestoreStep5: "(5/5) Rollback data 1Panel berjaya" RestoreSuccessful: "Rollback berjaya. Dikembalikan ke {{ .version }}. Perkhidmatan sedang dimulakan semula..." # baris perintah - kemas kini UpdateCommands: "Kemas kini maklumat panel" UpdateUser: "Kemas kini maklumat pengguna" UpdatePassword: "Kemas kini kata laluan pengguna" UpdatePort: "Kemas kini port panel" UpdateUserNull: "Ralat: Pengguna kosong" UpdateUserBlank: "Ralat: Pengguna mengandungi ruang kosong" UpdateUserFormat: "Ralat: Format pengguna tidak sah Hanya menyokong huruf Inggeris, Cina, nombor, dan _, dengan panjang 3-30 aksara" UpdateUserErr: "Ralat: Gagal mengemas kini pengguna, {{ .err }}" UpdateSuccessful: "Kemas kini berjaya" UpdateUserResult: "Pengguna: {{ .name }}" UpdatePasswordRead: "Ralat: Gagal membaca maklumat kata laluan pengguna, {{ .err }}" UpdatePasswordNull: "Ralat: Kata laluan pengguna kosong" UpdateUPasswordBlank: "Ralat: Kata laluan pengguna mengandungi ruang kosong" UpdatePasswordFormat: "Ralat: Kata laluan pengguna 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 pengguna, {{ .err }}" UpdatePasswordSame: "Ralat: Kedua-dua kata laluan tidak sepadan, sila semak dan cuba lagi" UpdatePasswordResult: "Kata laluan pengguna: {{ .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." # aplikasi mudah alih ErrVerifyToken: "Ralat pengesahan token, sila tetapkan semula dan imbas semula" ErrInvalidToken: "Token tidak sah, sila tetapkan semula dan imbas semula" ErrExpiredToken: 'Kod QR tidak lagi sah. Jana kod baharu dan imbas semula.' # eksport perintah Name: "Nama" Command: "Arahan" # LDAP ErrLDAPConnectionTest: "Ujian sambungan LDAP gagal. Semak alamat pelayan, akaun pengikatan dan tetapan rangkaian." ErrLDAPLoginTest: "Ujian log masuk LDAP gagal. Semak nama pengguna dan kata laluan." LDAPConnectionTestSuccess: "Ujian sambungan LDAP berjaya." ErrLDAPDirectorySearch: "Gagal membaca pengguna LDAP. Semak tetapan sambungan dan carian." ErrLDAPConfigLoad: "Gagal memuatkan konfigurasi LDAP." ErrLDAPConfigSave: "Gagal menyimpan konfigurasi LDAP." ErrLDAPURLInvalid: "Alamat pelayan LDAP mesti menggunakan ldap:// atau ldaps:// dan mengandungi hos yang sah." ErrLDAPBindDNRequired: "DN pengikatan diperlukan." ErrLDAPBindPasswordRequired: "Kata laluan pengikatan diperlukan." ErrLDAPUserOURequired: "OU pengguna diperlukan." ErrLDAPConnectTimeoutRange: "Had masa sambungan mestilah antara 1 hingga 120 saat." ErrLDAPSearchPageSizeRange: "Saiz halaman pertanyaan LDAP mestilah antara 1 hingga 10000." ErrLDAPResultPageSizeRange: "Saiz halaman hasil tidak boleh melebihi 200." ErrLDAPAttributeMapOnlyName: "Pemetaan atribut hanya menyokong medan name." ErrLDAPNameAttributeRequired: "Atribut LDAP yang dipetakan kepada name diperlukan." ErrLDAPAttributeNameInvalid: "Pemetaan atribut mengandungi nama atribut LDAP yang tidak sah." ErrLDAPUserFilterRequired: "Penapis pengguna diperlukan." ErrLDAPUserFilterInvalid: "Penapis pengguna bukan penapis LDAP yang sah." ErrLDAPAttributeMapObject: "Pemetaan atribut mestilah objek JSON yang sah." ErrLDAPImportModeInvalid: "Mod import mestilah pengguna terpilih atau semua pengguna." ErrLDAPImportSelectionRequired: "Pilih sekurang-kurangnya seorang pengguna LDAP untuk diimport." ErrLDAPImportSelectionInvalid: "Pengguna LDAP yang dipilih tidak sah atau tidak lagi wujud. Baca semula direktori." ErrLDAPConfigChanged: "Konfigurasi LDAP telah berubah. Baca semula direktori dan pratonton import sekali lagi." ErrLDAPRoleRequired: "Pilih peranan untuk pengguna LDAP baharu." ErrLDAPImportPlanIncomplete: "Pelan import LDAP yang tidak lengkap tidak boleh dilaksanakan." ErrLDAPQueryTokenInvalid: "Hasil pertanyaan LDAP telah tamat tempoh. Baca semula direktori." ErrLDAPPlanTokenInvalid: "Pratonton import LDAP telah tamat tempoh. Pratonton semula import." ErrLDAPOperationFailed: "Operasi LDAP gagal. Cuba lagi." ErrLDAPEntryIdentityMissing: "Entri LDAP tiada ID stabil atau nama pengguna." ErrLDAPDuplicateExternalID: "LDAP mengembalikan ID pengguna yang berulang." ErrLDAPUsernameConflict: "Nama pengguna telah digunakan oleh pengguna lain." ErrLDAPUsernameSourceConflict: "Nama pengguna telah digunakan oleh pengguna tempatan atau sumber pengesahan lain." ErrLDAPUsernameConcurrentConflict: "Nama pengguna telah diambil oleh pengguna lain semasa import." ErrLDAPLocalCredentialsReadonly: "Nama pengguna dan kata laluan LDAP diurus oleh LDAP dan tidak boleh diubah secara tempatan." ErrLDAPPasswordExpirationUnsupported: "Pengguna LDAP tidak menggunakan dasar tamat tempoh kata laluan tempatan." ErrLDAPSyncSourceDisabled: "Dayakan AD/LDAP sebelum mendayakan atau menjalankan penyegerakan." ErrLDAPSyncConfigSave: "Gagal menyimpan tetapan penyegerakan LDAP." ErrLDAPSyncSchedule: "Gagal mengemas kini jadual penyegerakan LDAP." ErrLDAPSyncCronInvalid: "Masukkan ungkapan Cron lima medan yang sah." ErrLDAPSyncWeekdayInvalid: "Pilih hari dalam minggu yang sah." ErrLDAPSyncCronRequired: "Masukkan ungkapan Cron." ErrLDAPSyncScheduleTypeInvalid: "Pilih jenis jadual penyegerakan yang sah." ErrLDAPSyncTimeInvalid: "Masukkan masa pelaksanaan yang sah." ErrLDAPSyncRunning: "Tugas penyegerakan LDAP sedang berjalan." ErrLDAPSyncDirectoryIncomplete: "LDAP mengembalikan hasil pertanyaan penuh yang tidak lengkap. Tiada status pengguna diubah." ErrLDAPSyncFailed: "Penyegerakan pengguna LDAP gagal." LDAPSyncSuccess: "Penyegerakan pengguna LDAP berjaya diselesaikan." ErrSAML2NotEnabled: "Pengesahan SAML2 tidak didayakan." ErrSAML2ConfigInvalid: "Konfigurasi SAML2 tidak sah." ErrSAML2ConfigChanged: "Konfigurasi SAML2 telah berubah. Mulakan pengesahan sekali lagi." ErrSAML2PanelOriginMissing: "Masukkan URL awam 1Panel yang sah dan hanya mengandungi skema, hos serta port pilihan." ErrSAML2MetadataInvalid: "Metadata IdP tiada atau tidak sah." ErrSAML2MetadataURLInvalid: "URL metadata IdP atau titik akhir dalam metadata tidak dibenarkan." ErrSAML2MetadataFetch: "Gagal memuatkan metadata IdP." ErrSAML2MetadataCertificate: "Metadata IdP tidak mengandungi sijil tandatangan yang boleh digunakan." ErrSAML2KeyPairInvalid: "Kunci peribadi dan sijil SP tidak sah atau tidak sepadan." ErrSAML2NameAttributeMissing: "Atribut nama pengguna SAML2 yang dikonfigurasikan tiada atau tidak sah." ErrSAML2DefaultRoleInvalid: "Peranan lalai yang dikonfigurasikan untuk SAML2 tidak tersedia." ErrSAML2SLOUnavailable: "IdP tidak menyediakan perkhidmatan Single Logout yang disokong." ErrSAML2TestExpired: "Ujian SAML2 telah tamat tempoh. Jalankan sekali lagi." ErrSAML2LoginExpired: "Permintaan log masuk SAML2 telah tamat tempoh. Cuba lagi." ErrSAML2InvalidState: "Keadaan log masuk SAML2 tidak sah atau telah digunakan." ErrSAML2RequestBuild: "Gagal membina permintaan SAML2." ErrSAML2ResponseInvalid: "Respons SAML2 tidak sah." ErrSAML2SignatureInvalid: "Tandatangan SAML2 tidak sah." ErrSAML2Replay: "Mesej SAML2 telah digunakan." ErrSAML2NameIDMissing: "NameID SAML2 tiada atau tidak sah." ErrSAML2SessionIndexMissing: "SessionIndex SAML2 tiada atau tidak sah." ErrSAML2NameConflictLocal: "Nama pengguna SAML2 bercanggah dengan pengguna setempat." ErrSAML2NameConflictLDAP: "Nama pengguna SAML2 bercanggah dengan pengguna LDAP." ErrSAML2NameConflictOIDC: "Nama pengguna SAML2 bercanggah dengan pengguna OIDC." ErrSAML2NameConflictSAML2: "Nama pengguna SAML2 bercanggah dengan identiti SAML2 lain." ErrSAML2Internal: "Ralat dalaman berlaku semasa pengesahan SAML2. Cuba lagi kemudian." ErrSAML2LogoutExpired: "Permintaan log keluar SAML2 telah tamat tempoh." ErrSAML2LogoutInvalid: "Mesej log keluar SAML2 tidak sah." ErrSAML2LocalCredentialsReadonly: "Nama pengguna dan kata laluan SAML2 diurus oleh penyedia identiti dan tidak boleh diubah secara setempat." ErrSAML2PasswordExpirationUnsupported: "Pengguna SAML2 tidak menggunakan dasar tamat tempoh kata laluan setempat."