libre-webui 0.33.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/backend/dist/db.d.ts +2 -2
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +14 -6
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/env.d.ts.map +1 -1
- package/backend/dist/env.js +21 -9
- package/backend/dist/env.js.map +1 -1
- package/backend/dist/index.js +4 -4
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/middleware/cors.d.ts +23 -0
- package/backend/dist/middleware/cors.d.ts.map +1 -0
- package/backend/dist/middleware/cors.js +69 -0
- package/backend/dist/middleware/cors.js.map +1 -0
- package/backend/dist/models/personaModel.d.ts.map +1 -1
- package/backend/dist/models/personaModel.js +2 -2
- package/backend/dist/models/personaModel.js.map +1 -1
- package/backend/dist/models/userModel.d.ts.map +1 -1
- package/backend/dist/models/userModel.js +3 -3
- package/backend/dist/models/userModel.js.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.js +3 -3
- package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.js +3 -3
- package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
- package/backend/dist/routes/calendar.js +2 -2
- package/backend/dist/routes/calendar.js.map +1 -1
- package/backend/dist/routes/documents.js +2 -2
- package/backend/dist/routes/documents.js.map +1 -1
- package/backend/dist/routes/huggingfaceHub.d.ts.map +1 -1
- package/backend/dist/routes/huggingfaceHub.js +47 -21
- package/backend/dist/routes/huggingfaceHub.js.map +1 -1
- package/backend/dist/services/agentCliService.d.ts.map +1 -1
- package/backend/dist/services/agentCliService.js +3 -1
- package/backend/dist/services/agentCliService.js.map +1 -1
- package/backend/dist/services/automationService.d.ts.map +1 -1
- package/backend/dist/services/automationService.js +3 -4
- package/backend/dist/services/automationService.js.map +1 -1
- package/backend/dist/services/chatService.d.ts.map +1 -1
- package/backend/dist/services/chatService.js +11 -11
- package/backend/dist/services/chatService.js.map +1 -1
- package/backend/dist/services/chatToolRuntimeService.d.ts +11 -0
- package/backend/dist/services/chatToolRuntimeService.d.ts.map +1 -1
- package/backend/dist/services/chatToolRuntimeService.js +2 -13
- package/backend/dist/services/chatToolRuntimeService.js.map +1 -1
- package/backend/dist/services/codexOAuthService.js +11 -7
- package/backend/dist/services/codexOAuthService.js.map +1 -1
- package/backend/dist/services/documentService.d.ts.map +1 -1
- package/backend/dist/services/documentService.js +3 -3
- package/backend/dist/services/documentService.js.map +1 -1
- package/backend/dist/services/galleryService.d.ts.map +1 -1
- package/backend/dist/services/galleryService.js +2 -2
- package/backend/dist/services/galleryService.js.map +1 -1
- package/backend/dist/services/libreClawService.d.ts +1 -1
- package/backend/dist/services/libreClawService.d.ts.map +1 -1
- package/backend/dist/services/libreClawService.js +16 -16
- package/backend/dist/services/libreClawService.js.map +1 -1
- package/backend/dist/services/memoryService.d.ts.map +1 -1
- package/backend/dist/services/memoryService.js +2 -2
- package/backend/dist/services/memoryService.js.map +1 -1
- package/backend/dist/services/mutationEngineService.js +2 -2
- package/backend/dist/services/mutationEngineService.js.map +1 -1
- package/backend/dist/services/ollamaService.d.ts +7 -2
- package/backend/dist/services/ollamaService.d.ts.map +1 -1
- package/backend/dist/services/ollamaService.js +120 -98
- package/backend/dist/services/ollamaService.js.map +1 -1
- package/backend/dist/services/ollamaSettingsService.js +1 -1
- package/backend/dist/services/ollamaSettingsService.js.map +1 -1
- package/backend/dist/services/pluginAudioGenerationService.d.ts.map +1 -1
- package/backend/dist/services/pluginAudioGenerationService.js +24 -11
- package/backend/dist/services/pluginAudioGenerationService.js.map +1 -1
- package/backend/dist/services/pluginCredentialsService.js +2 -2
- package/backend/dist/services/pluginCredentialsService.js.map +1 -1
- package/backend/dist/services/pluginEmbeddingService.d.ts.map +1 -1
- package/backend/dist/services/pluginEmbeddingService.js +20 -16
- package/backend/dist/services/pluginEmbeddingService.js.map +1 -1
- package/backend/dist/services/pluginImageGenerationService.d.ts.map +1 -1
- package/backend/dist/services/pluginImageGenerationService.js +93 -62
- package/backend/dist/services/pluginImageGenerationService.js.map +1 -1
- package/backend/dist/services/pluginSTTService.d.ts.map +1 -1
- package/backend/dist/services/pluginSTTService.js +15 -11
- package/backend/dist/services/pluginSTTService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +26 -23
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/pluginTTSService.d.ts.map +1 -1
- package/backend/dist/services/pluginTTSService.js +34 -27
- package/backend/dist/services/pluginTTSService.js.map +1 -1
- package/backend/dist/services/pluginVariablesService.d.ts.map +1 -1
- package/backend/dist/services/pluginVariablesService.js +2 -2
- package/backend/dist/services/pluginVariablesService.js.map +1 -1
- package/backend/dist/services/pluginVideoGenerationService.d.ts.map +1 -1
- package/backend/dist/services/pluginVideoGenerationService.js +33 -24
- package/backend/dist/services/pluginVideoGenerationService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts +5 -0
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +8 -0
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/promptService.d.ts.map +1 -1
- package/backend/dist/services/promptService.js +4 -4
- package/backend/dist/services/promptService.js.map +1 -1
- package/backend/dist/services/skillService.d.ts.map +1 -1
- package/backend/dist/services/skillService.js +6 -6
- package/backend/dist/services/skillService.js.map +1 -1
- package/backend/dist/services/toolApprovalService.d.ts.map +1 -1
- package/backend/dist/services/toolApprovalService.js +2 -3
- package/backend/dist/services/toolApprovalService.js.map +1 -1
- package/backend/dist/services/toolServerService.d.ts.map +1 -1
- package/backend/dist/services/toolServerService.js +4 -5
- package/backend/dist/services/toolServerService.js.map +1 -1
- package/backend/dist/services/workApprovalService.d.ts.map +1 -1
- package/backend/dist/services/workApprovalService.js +3 -3
- package/backend/dist/services/workApprovalService.js.map +1 -1
- package/backend/dist/services/workModelProviderService.d.ts +13 -2
- package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
- package/backend/dist/services/workModelProviderService.js +16 -5
- package/backend/dist/services/workModelProviderService.js.map +1 -1
- package/backend/dist/services/workPolicyService.d.ts.map +1 -1
- package/backend/dist/services/workPolicyService.js +2 -2
- package/backend/dist/services/workPolicyService.js.map +1 -1
- package/backend/dist/services/workTaskService.d.ts.map +1 -1
- package/backend/dist/services/workTaskService.js +7 -7
- package/backend/dist/services/workTaskService.js.map +1 -1
- package/backend/dist/storage.d.ts.map +1 -1
- package/backend/dist/storage.js +2 -2
- package/backend/dist/storage.js.map +1 -1
- package/backend/dist/utils/hash.js +1 -1
- package/backend/dist/utils/hash.js.map +1 -1
- package/backend/dist/utils/pluginDefinitionTrust.js +1 -1
- package/backend/dist/utils/providerFetch.d.ts +90 -0
- package/backend/dist/utils/providerFetch.d.ts.map +1 -0
- package/backend/dist/utils/providerFetch.js +316 -0
- package/backend/dist/utils/providerFetch.js.map +1 -0
- package/backend/dist/utils/websocketCloseCodes.d.ts +31 -0
- package/backend/dist/utils/websocketCloseCodes.d.ts.map +1 -0
- package/backend/dist/utils/websocketCloseCodes.js +134 -0
- package/backend/dist/utils/websocketCloseCodes.js.map +1 -0
- package/backend/dist/workScreenServer.d.ts.map +1 -1
- package/backend/dist/workScreenServer.js +7 -2
- package/backend/dist/workScreenServer.js.map +1 -1
- package/backend/package.json +5 -14
- package/bin/cli-args.js +71 -0
- package/bin/cli.js +14 -3
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/assets/index-By_-fwuh.css +1 -0
- package/frontend/dist/assets/index-D3XhYdgN.js +108 -0
- package/frontend/dist/index.html +25 -25
- package/frontend/dist/js/{ArtifactContainer-BB6A8cT5.js → ArtifactContainer-8ZacPNwg.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-Bf1dW5Z3.js → ArtifactDemoPage-DvvT45ZJ.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-DsZW0Axy.js → ArtifactSandboxFrame-Dbp1bB_9.js} +1 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-Ct9nlG_6.js +1 -0
- package/frontend/dist/js/AutomationModal-Ie_MxC18.js +1 -0
- package/frontend/dist/js/AutomationsPage-Czg-rMEr.js +1 -0
- package/frontend/dist/js/{AvatarUpload-gfZ9QWR3.js → AvatarUpload-DgyIHr7P.js} +1 -1
- package/frontend/dist/js/{Button-BQ5JnUVj.js → Button-BxwbQ5xw.js} +1 -1
- package/frontend/dist/js/CalendarPage-D1ZeHpZ0.js +1 -0
- package/frontend/dist/js/ChannelsPage-DgXZdSLa.js +1 -0
- package/frontend/dist/js/ChatPage-ov4Xlf8Q.js +14 -0
- package/frontend/dist/js/ConnectModels-Cg7Wp-43.js +1 -0
- package/frontend/dist/js/{EvaluationsPage-Cydglp6R.js → EvaluationsPage-BBafHC8o.js} +2 -2
- package/frontend/dist/js/{FirstTimeSetup-C5cc-bc9.js → FirstTimeSetup-Cd9cLLz6.js} +1 -1
- package/frontend/dist/js/{GalleryPage-Dvq2GVoH.js → GalleryPage-6aa0A9fS.js} +1 -1
- package/frontend/dist/js/HomePage-1vKjY6Aw.js +1 -0
- package/frontend/dist/js/LibreClawPage-DXxJP96Q.js +1 -0
- package/frontend/dist/js/{Logo-BlcOFpac.js → Logo-BHz_QQlV.js} +1 -1
- package/frontend/dist/js/{LogoMark-CNeQ6eO9.js → LogoMark-BDqTSfCe.js} +1 -1
- package/frontend/dist/js/{ModelManagerModals-K1oiXMTv.js → ModelManagerModals-BBGWbTTi.js} +1 -1
- package/frontend/dist/js/NotesPage-DCLkl9a9.js +3 -0
- package/frontend/dist/js/{PasswordStrengthMeter-DVFLKG_-.js → PasswordStrengthMeter-DLQ5jaO_.js} +1 -1
- package/frontend/dist/js/{PersonasPage-DK9-SDZQ.js → PersonasPage-HYkaAXAe.js} +2 -2
- package/frontend/dist/js/PluginUsagePage-B2MRIZme.js +1 -0
- package/frontend/dist/js/RichMessageContent-2fzm0XIM.js +1 -0
- package/frontend/dist/js/{RichMessageContent-XMkRvBen.js → RichMessageContent-BnpRgouz.js} +1 -1
- package/frontend/dist/js/SettingsModal-4ITUSJqi.js +19 -0
- package/frontend/dist/js/SettingsToggle-DdhWCK7-.js +1 -0
- package/frontend/dist/js/{ShareDialog-CZpU1itx.js → ShareDialog-BdFJRfxV.js} +1 -1
- package/frontend/dist/js/{SystemPage-BVaaKTRs.js → SystemPage-DkKnu35i.js} +1 -1
- package/frontend/dist/js/UserManagementPanel-Dpn15Nyr.js +1 -0
- package/frontend/dist/js/{WhatsNewModal-CoFCdUpf.js → WhatsNewModal-BH-kE-Wb.js} +1 -1
- package/frontend/dist/js/WorkPage-CCyCPnwr.js +7 -0
- package/frontend/dist/js/api-DOlirnw_.js +1 -0
- package/frontend/dist/js/{api-DQdJeQjd.js → api-HgGU3dII.js} +1 -1
- package/frontend/dist/js/{appNavigation-DRM2Jr4r.js → appNavigation-DAd7SkU_.js} +1 -1
- package/frontend/dist/js/appStore-DefVAJAx.js +2 -0
- package/frontend/dist/js/appVersion-RvElMU1Q.js +1 -0
- package/frontend/dist/js/{ar-C8Izi_rT.js → ar-CM3oZcHT.js} +1 -1
- package/frontend/dist/js/authStore-AE-cc9PJ.js +1 -0
- package/frontend/dist/js/{authStore-DkqtNSYP.js → authStore-DbDFBMx0.js} +3 -3
- package/frontend/dist/js/{bn-BJJgi-6Q.js → bn-BuYroL_j.js} +1 -1
- package/frontend/dist/js/{chatStore-8jYk48hC.js → chatStore-DYm9cXVV.js} +3 -3
- package/frontend/dist/js/{config-D4dduT3C.js → config-BH2zUU2X.js} +1 -1
- package/frontend/dist/js/{cs-DheVrMUl.js → cs-D3NqP5wD.js} +1 -1
- package/frontend/dist/js/{da-BLszIs3a.js → da-BGpE68rg.js} +1 -1
- package/frontend/dist/js/{de-BvWdcr7T.js → de-BjYUQYNL.js} +1 -1
- package/frontend/dist/js/{es-CQ8Yauda.js → es-vNJrO8Lj.js} +1 -1
- package/frontend/dist/js/{evaluationsApi-CBKjxZUn.js → evaluationsApi-v6Qj2fFv.js} +1 -1
- package/frontend/dist/js/{fr-BD5h-w8z.js → fr-BvtHFXNM.js} +1 -1
- package/frontend/dist/js/{hi-IlRhC5IE.js → hi-CUfuHlbY.js} +1 -1
- package/frontend/dist/js/{id-DalGMQEJ.js → id-B4CE64s6.js} +1 -1
- package/frontend/dist/js/{is-DuQqmHeS.js → is-Dr6Is7-Q.js} +1 -1
- package/frontend/dist/js/{it-DDaqAdB1.js → it-Cj4NfoeU.js} +1 -1
- package/frontend/dist/js/{ja-CYCu9F9Y.js → ja-DByiJVO0.js} +1 -1
- package/frontend/dist/js/{ko-P3JZPOXE.js → ko-DqBvZqIv.js} +1 -1
- package/frontend/dist/js/{messageCodeStyles-0_YpQDk4.js → messageCodeStyles-ERvWXB7Y.js} +2 -2
- package/frontend/dist/js/{ms-B3ZIqlUn.js → ms-DobJ-R5X.js} +1 -1
- package/frontend/dist/js/{nl-1Qpsmmz1.js → nl-D4tVIakl.js} +1 -1
- package/frontend/dist/js/{pl-ErrMri3_.js → pl-BIoYiVJA.js} +1 -1
- package/frontend/dist/js/{pt-0T0R9AtX.js → pt-Bzww3XtB.js} +1 -1
- package/frontend/dist/js/{ru-B34INyPg.js → ru-lqQ-JuMd.js} +1 -1
- package/frontend/dist/js/{sv-BSqDwAur.js → sv-9dcksSEJ.js} +1 -1
- package/frontend/dist/js/{teamEventStream-RoMYo102.js → teamEventStream-CTyr4r5f.js} +1 -1
- package/frontend/dist/js/{th-DK9M4-Iy.js → th-DuOX28lk.js} +1 -1
- package/frontend/dist/js/{tr-DUrkEwr1.js → tr-Dz7bMTi1.js} +1 -1
- package/frontend/dist/js/{ui-UU79S5lB.js → ui-CHgZA8lG.js} +2 -2
- package/frontend/dist/js/{ui-vendor-6y6qiSk5.js → ui-vendor-BvD5yGW1.js} +1 -1
- package/frontend/dist/js/{uk-B5DYTi0e.js → uk-aTAky5l4.js} +1 -1
- package/frontend/dist/js/{useChat-ImXXcy0q.js → useChat-CXcosgJB.js} +1 -1
- package/frontend/dist/js/useDictation-BGlY44fp.js +1 -0
- package/frontend/dist/js/{useTranslation-D0mJ4NnO.js → useTranslation-rdLmo6zV.js} +1 -1
- package/frontend/dist/js/{utils-Bn0RE9_8.js → utils-CKWltgs8.js} +1 -1
- package/frontend/dist/js/utils-vendor-Bla8iz2s.js +1 -0
- package/frontend/dist/js/{vi-CrtPQUIM.js → vi-CHcYXhCs.js} +1 -1
- package/frontend/dist/js/webauthnClient-B1yv1m81.js +1 -0
- package/frontend/dist/js/workApi-CntsmsAA.js +6 -0
- package/frontend/dist/js/workApi-nKavXIsg.js +1 -0
- package/frontend/dist/js/{zh-gbOKajYe.js → zh-DvvksD8_.js} +1 -1
- package/package.json +4 -14
- package/plugins/codex-oauth.json +1 -0
- package/frontend/dist/assets/index-DegYzMyw.js +0 -70
- package/frontend/dist/assets/index-gKj8Y1JB.css +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-Cartcixp.js +0 -1
- package/frontend/dist/js/AutomationModal-BI_3nFeg.js +0 -1
- package/frontend/dist/js/AutomationsPage-ChMXj4UG.js +0 -1
- package/frontend/dist/js/CalendarPage-Ce1ud5St.js +0 -1
- package/frontend/dist/js/ChannelsPage-kl8zJ2HA.js +0 -1
- package/frontend/dist/js/ChatPage-Bj98c6rc.js +0 -14
- package/frontend/dist/js/ConnectModels-CPftHmE3.js +0 -1
- package/frontend/dist/js/HomePage-zVjADRoX.js +0 -1
- package/frontend/dist/js/LibreClawPage-x0Qmtcnc.js +0 -1
- package/frontend/dist/js/NotesPage-BnqBv-n1.js +0 -3
- package/frontend/dist/js/PluginUsagePage-DX9uxdRr.js +0 -1
- package/frontend/dist/js/RichMessageContent-BzfhfzQ4.js +0 -1
- package/frontend/dist/js/SettingsModal-CMOwEhkG.js +0 -19
- package/frontend/dist/js/SettingsToggle-B7UynBmZ.js +0 -1
- package/frontend/dist/js/UserManagementPanel-BxAvybHj.js +0 -1
- package/frontend/dist/js/WorkPage-Du6llCSU.js +0 -7
- package/frontend/dist/js/api-CatP45JH.js +0 -1
- package/frontend/dist/js/appStore-BXbVcTeo.js +0 -2
- package/frontend/dist/js/appVersion-BUroqcki.js +0 -1
- package/frontend/dist/js/authStore-bqAN5v4N.js +0 -1
- package/frontend/dist/js/axios-CYkJpKn8.js +0 -1
- package/frontend/dist/js/useDictation-eMIAncoT.js +0 -1
- package/frontend/dist/js/utils-vendor-BbPbaAuC.js +0 -9
- package/frontend/dist/js/webauthnClient-CPSq528Q.js +0 -1
- package/frontend/dist/js/workApi-BM8qVq_w.js +0 -1
- package/frontend/dist/js/workApi-xhF57amo.js +0 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e={common:{loading:`Memuatkan...`,save:`Simpan`,saving:`Menyimpan...`,cancel:`Batal`,delete:`Padam`,edit:`Sunting`,close:`Tutup`,back:`Kembali`,next:`Seterusnya`,confirm:`Sahkan`,error:`Ralat`,success:`Berjaya`,warning:`Amaran`,or:`atau`,optional:`pilihan`,enabled:`Diaktifkan`,disabled:`Dinyahaktifkan`,on:`Hidup`,off:`Mati`,yes:`Ya`,no:`Tidak`,search:`Cari`,noResults:`Tiada hasil ditemui`,retry:`Cuba Semula`,refresh:`Muat Semula`,download:`Muat Turun`,upload:`Muat Naik`,export:`Eksport`,import:`Import`,reset:`Tetapkan Semula`,apply:`Guna`,clear:`Kosongkan`,all:`Semua`,none:`Tiada`,default:`Lalai`,custom:`Tersuai`,remove:`Buang`,home:`Laman utama`,more:`Lebih`},brand:{name:`Libre WebUI`,shortName:`Libre`},appInitialization:{ollamaUnavailable:`Perkhidmatan Ollama tidak tersedia. Model pemalam masih boleh digunakan.`,backendConnectionFailed:`Gagal menyambung ke perkhidmatan backend`},auth:{login:{title:`Selamat Kembali`,subtitle:`Log masuk ke akaun anda untuk meneruskan`,username:`Nama Pengguna`,usernamePlaceholder:`Masukkan nama pengguna anda`,password:`Kata Laluan`,passwordPlaceholder:`Masukkan kata laluan anda`,signIn:`Log Masuk`,signingIn:`Sedang log masuk...`,noAccount:`Belum mempunyai akaun?`,signUpHere:`Daftar di sini`,loginSuccess:`Berjaya log masuk!`,loginFailed:`Gagal log masuk`,checkCredentials:`Gagal log masuk. Sila semak kelayakan anda.`,approvalPending:`Akaun anda sedang menunggu kelulusan pentadbir.`,enterBoth:`Sila masukkan nama pengguna dan kata laluan`,githubSuccess:`Berjaya log masuk melalui GitHub!`,githubFailed:`Pengesahan GitHub gagal`,githubVerifyFailed:`Gagal mengesahkan pengesahan GitHub`,verificationFailed:`Pengesahan keselamatan gagal. Muat semula halaman dan cuba lagi.`},signup:{title:`Cipta Akaun`,subtitle:`Daftar untuk akaun baharu anda`,username:`Nama Pengguna`,usernamePlaceholder:`Pilih nama pengguna`,email:`E-mel`,emailPlaceholder:`emel@anda.com`,password:`Kata Laluan`,passwordPlaceholder:`Pilih kata laluan`,confirmPassword:`Sahkan Kata Laluan`,confirmPasswordPlaceholder:`Sahkan kata laluan anda`,createAccount:`Cipta Akaun`,creatingAccount:`Sedang mencipta akaun...`,hasAccount:`Sudah mempunyai akaun?`,signInHere:`Log masuk di sini`,signupSuccess:`Akaun berjaya dicipta!`,approvalPending:`Pendaftaran diterima. Pentadbir perlu meluluskan akaun anda.`,awaitingApproval:`Menunggu kelulusan`,awaitingApprovalDescription:`Akaun anda telah dicipta, tetapi pentadbir perlu mengaktifkannya sebelum anda boleh log masuk.`,backToSignIn:`Kembali ke log masuk`,signupFailed:`Gagal mendaftar`,tryAgain:`Gagal mendaftar. Sila cuba lagi.`,usernameRequired:`Nama pengguna dan kata laluan diperlukan`,passwordMismatch:`Kata laluan tidak sepadan`},logout:{button:`Log keluar`,success:`Berjaya log keluar`},oauth:{continueWith:`Teruskan dengan {{provider}}`,connectingTo:`Menyambung ke {{provider}}...`,github:`GitHub`,huggingFace:`Hugging Face`,loginSuccess:`Log masuk OAuth berjaya!`,completionFailed:`Gagal melengkapkan pengesahan OAuth`,verificationFailed:`Pengesahan OAuth tidak dapat disahkan`,authenticationFailed:`Pengesahan OAuth gagal`},checkingAuth:`Memeriksa pengesahan...`,welcome:`Selamat datang`,noEmail:`Tiada e-mel`,role:`Peranan`,id:`ID`,userId:`ID pengguna`,signInDescription:`Log masuk dengan akaun GitHub anda untuk meneruskan`,signInWithGitHub:`Log masuk dengan GitHub`,jwtActive:`Pengesahan JWT aktif`,jwtDescription:`Pengesahan berasaskan JWT dengan GitHub OAuth`,github:`GitHub`,provider:`Pembekal`,tagline:`Tindanan AI anda patut menjawab kepada anda.`,selfHosted:`Dihoskan sendiri · Apache 2.0`,highlights:{local:{title:`Tempatan dahulu`,body:`Perbualan dan fail anda kekal pada mesin tempat anda menjalankan ini.`},providers:{title:`Mana-mana penyedia`,body:`Model tempatan melalui Ollama, serta penyedia jauh yang anda pilih untuk ditambah.`},work:{title:`Kerja Terpencil`,body:`Beri model ruang kerja terkotak pasir dengan fail, terminal, dan pratonton.`}},oidc:{defaultProviderName:`Log masuk tunggal`},mfa:{sectionTitle:`Pengesahan dua langkah`,sectionDescription:`Lindungi akaun anda dengan aplikasi pengesah dan kunci laluan.`,totpTitle:`Aplikasi pengesah`,totpEnabledHint:`Diaktifkan. Kod pemulihan belum digunakan: {{count}}`,totpDisabledHint:`Tambah langkah kedua pada log masuk kata laluan dengan kod sekali guna.`,enableButton:`Aktifkan`,disableButton:`Nyahaktifkan`,activateButton:`Sahkan`,regenerateCodes:`Kod pemulihan baharu`,confirmWithCode:`Sahkan dengan kod daripada aplikasi anda atau kod pemulihan`,enabled:`Pengesahan dua langkah diaktifkan.`,disabled:`Pengesahan dua langkah dinyahaktifkan.`,invalidCode:`Kod itu tidak sah.`,enrollFailed:`Persediaan tidak dapat dimulakan.`,challengeExpired:`Cabaran log masuk telah tamat. Sila log masuk semula.`,setupTitle:`Sediakan pengesahan dua langkah`,setupSubtitle:`Instans ini memerlukan langkah log masuk kedua. Tambahkan rahsia ke aplikasi pengesah anda untuk meneruskan.`,verifyTitle:`Masukkan kod anda`,verifyHint:`Masukkan kod 6 digit daripada aplikasi pengesah anda, atau kod pemulihan.`,secretHint:`Tambahkan rahsia ini ke aplikasi pengesah anda, kemudian sahkan dengan kod semasa.`,openAuthenticator:`Buka dalam aplikasi pengesah`,codeLabel:`Kod 6 digit`,codeOrRecoveryLabel:`Kod atau kod pemulihan`,codePlaceholder:`123456`,verifyButton:`Sahkan`,backToSignIn:`Kembali ke log masuk`,recoveryCodesTitle:`Kod pemulihan`,recoveryCodesHint:`Simpan kod ini di tempat selamat. Setiap satu membolehkan satu log masuk jika anda kehilangan pengesah anda.`,recoveryCodesSaved:`Saya telah menyimpan kod pemulihan saya`,recoveryCodesRegenerated:`Kod pemulihan baharu dicipta. Kod lama tidak lagi berfungsi.`},passkeys:{sectionTitle:`Kunci laluan`,sectionDescription:`Log masuk tanpa kata laluan menggunakan kunci skrin peranti anda atau kunci keselamatan.`,addButton:`Tambah kunci laluan`,empty:`Belum ada kunci laluan.`,unnamed:`Kunci laluan`,createdAt:`Ditambah`,lastUsedAt:`Terakhir digunakan`,removeButton:`Buang kunci laluan`,registered:`Kunci laluan ditambah.`,registerFailed:`Kunci laluan tidak dapat ditambah.`,removed:`Kunci laluan dibuang.`,removeFailed:`Kunci laluan tidak dapat dibuang.`,signInButton:`Log masuk dengan kunci laluan`,signInFailed:`Log masuk dengan kunci laluan gagal.`}},setup:{welcome:{title:`Selamat Datang ke Libre WebUI`,subtitle:`Mari Mulakan`,description:`Sediakan Libre WebUI anda dalam beberapa langkah mudah`,createAdmin:`Cipta Akaun Pentadbir`,features:{secure:{title:`Selamat & Peribadi`,description:`Perbualan anda kekal dalam peranti anda`},fast:{title:`Pantas & Responsif`,description:`Dioptimumkan untuk kelajuan dan prestasi`},openSource:{title:`Sumber Terbuka`,description:`Perisian percuma dan sumber terbuka`}}},admin:{title:`Cipta Akaun Pentadbir`,subtitle:`Persediaan Pentadbir`,description:`Cipta akaun pentadbir pertama untuk Libre WebUI anda`,usernamePlaceholder:`Masukkan nama pengguna pentadbir`,passwordPlaceholder:`Masukkan kata laluan (sekurang-kurangnya 12 aksara)`,confirmPlaceholder:`Sahkan kata laluan anda`,creating:`Sedang mencipta...`,createAdmin:`Cipta Pentadbir`,success:`Akaun pentadbir berjaya dicipta!`,failed:`Gagal mencipta akaun pentadbir`,approvalUnexpected:`Pentadbir awal tidak dapat diaktifkan. Sila cuba lagi.`,fillAllFields:`Sila isi semua ruangan`,note:`Ini akan menjadi akaun pentadbir utama untuk Libre WebUI anda`},encryptionKey:{title:`Simpan Kunci Penyulitan Anda`,subtitle:`Penting: Simpan Kunci Ini`,description:`Kunci penyulitan ini melindungi data sensitif anda. Simpan dengan selamat - anda memerlukannya jika perlu memulihkan pangkalan data anda.`,warning:`Amaran`,warningText:`Jika anda kehilangan kunci ini dan perlu memulihkan pangkalan data anda, data yang disulitkan (kunci API, keutamaan) tidak dapat dipulihkan.`,label:`Kunci Penyulitan Anda`,loading:`Memuatkan...`,copyToClipboard:`Salin ke papan keratan`,copied:`Kunci penyulitan disalin ke papan keratan!`,copyFailed:`Gagal menyalin kunci ke papan keratan`,envNote:`Kunci ini juga disimpan dalam fail backend/.env anda sebagai ENCRYPTION_KEY`,acknowledgment:`Saya telah menyimpan kunci penyulitan saya di lokasi yang selamat dan memahami bahawa kehilangannya boleh menyebabkan kehilangan data.`,confirmRequired:`Sila sahkan bahawa anda telah menyimpan kunci penyulitan`,continue:`Teruskan ke Libre WebUI`},connectModels:{title:`Sambungkan model anda`,subtitle:`Tempatan atau awan — pilih apa sahaja yang anda sudah gunakan. Anda sentiasa boleh menukarnya kemudian.`}},chat:{greeting:{morning:`Selamat pagi`,afternoon:`Selamat petang`,evening:`Selamat petang`,night:`Selamat malam`},followUp:`Susulan`,welcome:{helpToday:`Apa yang boleh saya bantu hari ini?`,helpTonight:`Apa yang boleh saya bantu malam ini?`,variety:{create:{title:`Apa yang mahu kita cipta?`,subtitle:`Mulakan dengan buah fikiran, lakaran, atau masalah yang sukar diselesaikan.`},explore:{title:`Dari mana kita patut bermula?`,subtitle:`Bawa persoalan yang sering bermain di fikiran anda.`},imagine:{title:`Apa yang anda bayangkan?`,subtitle:`Kita boleh membentuknya bersama-sama.`},focus:{title:`Apa yang wajar mendapat perhatian anda?`,subtitle:`Mari jelaskan langkah seterusnya.`},untangle:{title:`Apa yang bersimpul?`,subtitle:`Ceritakan dahulu versi yang masih berserabut.`},momentum:{title:`Mulakan apabila anda bersedia.`,subtitle:`Sambung semula idea, rancangan, atau perkara yang belum selesai.`},open:{title:`Apa yang sedang anda fikirkan?`,subtitle:`Fikiran kecil atau projek bercita-cita besar, kedua-duanya boleh.`},challenge:{title:`Apa yang mahu kita selesaikan?`,subtitle:`Beritahu saya bahagian yang masih belum menjadi.`},draft:{title:`Mari bermula di mana-mana.`,subtitle:`Tak perlu sempurna lagi.`},possibility:{title:`Ini boleh menjadi apa?`,subtitle:`Tunjukkan bahan mentahnya.`},unexpected:{title:`Mari cipta sesuatu yang tidak dijangka.`,subtitle:`Beri saya satu kekangan, suasana, atau idea yang masih samar.`}}},input:{placeholder:`Hantar mesej`,messagePlaceholder:`Mesej...`,attachImages:`Lampirkan imej`,attachments:`Lampiran dan ciri lanjutan`,sendMessage:`Hantar mesej`,stopGeneration:`Hentikan penjanaan`,menu:{uploadImages:`Muat naik imej`,attachDocument:`Lampirkan dokumen`,attachWebpage:`Lampirkan halaman web`,structuredOutput:`Output berstruktur`,attach:`Lampirkan`,documentAttached:`Dokumen dilampirkan`,webpageAttached:`Halaman web dilampirkan`,attachFailed:`Tidak dapat melampirkan`,attachKnowledge:`Lampirkan pengetahuan`,noCollections:`Tiada koleksi lagi — cipta satu di Tetapan → Dokumen`},voiceInput:`Input suara`,voiceStop:`Berhenti mendengar`,transcriptionSource:`Sumber pengecaman pertuturan`,browserSpeech:`Perkhidmatan pertuturan pelayar`,providerTranscriptionDisclosure:`Rakam dan hantar audio kepada {{provider}} untuk transkripsi`,webSearchOn:`Carian web hidup — balasan menggunakan hasil langsung`,webSearchOff:`Cari di web untuk mesej ini`,toolsOn:`Alat dihidupkan — model boleh memanggil alat yang diluluskan`,toolsOff:`Benarkan model memanggil alat untuk mesej ini`,thinkingOn:`Pemikiran aktif ({{level}})`,thinkingOff:`Fikir sebelum menjawab`},session:{new:`Sembang Baharu`,work:`Kerja`,chat:`Sembang`,private:`Peribadi`,incognito:`Sembang Inkognito`,privateMode:`Mod Peribadi`,privateDescription:`Perbualan ini tidak akan disimpan`,privateTooltip:`Mulakan perbualan peribadi yang tidak akan disimpan`,deleteConfirm:`Adakah anda pasti mahu memadamkan sembang ini?`,generatingTitle:`Menjana tajuk`,noChats:`Belum ada sembang`,createFirst:`Cipta sembang pertama anda di atas`,chats:`Sembang`,renameChat:`Namakan semula sembang`,openNewTab:`Buka dalam tab baharu`,pinChat:`Semat`,unpinChat:`Nyahsemat`,deleteChat:`Padam sembang`,archiveChat:`Arkibkan sembang`,groups:{pinned:`Disemat`,today:`Hari ini`,yesterday:`Semalam`,previous7Days:`7 hari lepas`,previous30Days:`30 hari lepas`,older:`Lebih lama`},folder:{new:`Folder baharu`,namePlaceholder:`Nama folder`,move:`Alih ke folder`,remove:`Keluarkan dari folder`,delete:`Padam folder`,deleteConfirm:`Padam folder ini? Sembang di dalamnya kekal.`},shareChat:`Kongsi sembang…`},persona:{applied:`Persona digunakan`,label:`Persona`,loadFailed:`Gagal memuatkan butiran persona`,removeFailed:`Gagal mengeluarkan persona`},model:{updated:`Model dikemas kini`,noModels:`Tiada model tersedia`,noModelsDescription:`Tiada model tersedia. Pastikan Ollama sedang berjalan dan mempunyai model yang dipasang.`,pullCommand:`ollama pull llama3.2:3b`,noModelsTooltip:`Tiada model tersedia. Sila pastikan Ollama sedang berjalan dan model telah dipasang.`,selectBeforePrivateChat:`Pilih model yang tersedia sebelum memulakan sembang peribadi`,selectBeforeSending:`Pilih model yang tersedia sebelum menghantar`,selectBeforeRegenerating:`Pilih model yang tersedia sebelum menjana semula`,connectDescription:`Belum ada model disambungkan. Pilih sumber di bawah — masa jalan tempatan, pelayan anda sendiri, atau API awan — dan anda akan mula bersembang dalam masa kurang seminit.`},footer:{disclaimer:`LLM boleh membuat kesilapan - sahkan maklumat penting`,images:`{{count}} imej`,images_plural:`{{count}} imej`,structuredOutput:`Output berstruktur`},mediaUpload:{dropImagesHere:`Lepaskan imej di sini atau`,supportedFormats:`Sokongan: JPG, PNG, GIF, WebP (maks 10MB setiap satu)`,browse:`layari`,unsupportedFileType:`Jenis fail tidak disokong: {{name}}`,maxImagesAllowed:`Maksimum {{count}} imej dibenarkan`,imageTooLarge:`Imej {{name}} terlalu besar (maksimum 10MB)`},structuredOutput:{title:`Format Respons`,none:`Tiada (Bahasa Semula Jadi)`,noneDescription:`Respons bahasa semula jadi lalai`,json:`JSON`,jsonDescription:`Format JSON berstruktur`,list:`Senarai`,listDescription:`Tatasusunan item`,summary:`Ringkasan`,summaryDescription:`Ringkasan dokumen dengan perkara utama`,analysis:`Analisis`,analysisDescription:`Analisis berstruktur dengan kebaikan/keburukan`,custom:`Skema Tersuai`,customDescription:`Tentukan skema JSON anda sendiri`,customSchema:`Skema JSON tersuai`,schemaPreview:`Pratonton Skema`,applySchema:`Gunakan Skema`,cancel:`Batal`,enabled:`Output berstruktur diaktifkan`},controls:{title:`Kawalan sembang`,systemPrompt:`Prompt sistem`,systemPromptPlaceholder:`Arahan yang terpakai untuk sembang ini sahaja…`,advancedParams:`Parameter lanjutan`,advancedParamsDescription:`Penggantian untuk sembang ini. Medan kosong menggunakan lalai global.`,fromModel:`daripada model`,fromModelHint:`Nilai ini datang daripada tetapan yang disyorkan oleh model itu sendiri.`,contextCapped:`Konteks dihadkan pada {{context}} daripada {{trained}} yang dilatih untuk model ini, supaya ia masih dimuatkan.`,saved:`Kawalan disimpan`,saveFailed:`Tidak dapat menyimpan kawalan`,params:{temperature:`Suhu`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`Token maks.`,repeatPenalty:`Penalti ulangan`,seed:`Benih`,contextLength:`Panjang konteks`},thinking:`Pemikiran`,thinkingDescription:`Sebanyak mana model berfikir sebelum menjawab. Model tanpa penaakulan mengabaikannya.`,compaction:`Pemadatan konteks`,compactionDescription:`Apabila pelayan memadatkan perbualan panjang, sembang ini boleh dikecualikan dan menyimpan sejarah penuhnya.`,compactionDefault:`Lalai pelayan`,compactionOff:`Dimatikan untuk sembang ini`},message:{sources:`Sumber`},toasts:{chatCreated:`Chat baharu dicipta`,createFailed:`Gagal mencipta sesi`,loadFailed:`Gagal memuatkan sesi`,chatDeleted:`Chat dipadam`,deleteFailed:`Gagal memadam chat`,deleteSessionFailed:`Gagal memadam sesi`,historyCleared:`Semua sejarah chat dipadamkan`,historyClearFailed:`Gagal memadamkan sejarah chat`,titleUpdated:`Tajuk chat dikemas kini`,updateFailed:`Gagal mengemas kini sesi`,noValidSession:`Tiada sesi chat yang sah. Sila cipta atau pilih chat.`,sessionNotFound:`Sesi tidak ditemui atau tidak sah. Sila pilih atau cipta sesi chat yang sah.`,noModelProvider:`Tiada pembekal model tersedia`,modelUnavailable:`Model yang dipilih "{{model}}" tidak tersedia daripada {{provider}}. Aktifkan semula pembekal itu atau pilih model lain.`,modelSwitched:`Ditukar kepada {{model}} (model sebelumnya tidak lagi tersedia)`,modelsLoadFailed:`Gagal memuatkan model`,modelUpdated:`Model dikemas kini untuk chat semasa`,modelUpdateFailed:`Gagal mengemas kini model sesi`,titlePreviewFallback:`Tajuk tidak dapat dijana; pratonton mesej digunakan`,titleGenerated:`Tajuk sembang dijana`,titleGenerationFailed:`Gagal menjana tajuk sembang`,sessionNotFoundRedirect:`Sesi tidak ditemui. Mencipta sesi baharu...`,comparisonError:`{{model}}: {{error}}`,generationFailed:`penjanaan gagal`,comparisonFailed:`perbandingan gagal`,sendFailed:`Gagal menghantar mesej`,noMessageToRegenerate:`Tiada mesej untuk dijana semula`,regenerateFailed:`Gagal menjana semula mesej`,messageNotFound:`Mesej tidak ditemui`,branchSwitched:`Bertukar kepada varian {{number}}`,branchSelectFailed:`Gagal memilih cabang`,editFailed:`Gagal mengedit mesej`,toolDecisionFailed:`Keputusan alat tidak dapat direkodkan`},documents:{title:`Dokumen dalam konteks`},context:{title:`Tetingkap konteks:`,full:`{{percent}}% penuh`,tokensUsed:`{{used}} / {{budget}} token digunakan`,tokensUsedNoBudget:`{{used}} token digunakan`,capped:`dihadkan daripada {{trained}}`},queue:{title:`Dalam giliran ({{total}})`,moveUp:`Naik`,moveDown:`Turun`,updateFailed:`Tidak dapat mengemas kini prom dalam giliran`,enqueueFailed:`Tidak dapat membariskan prom`},compare:{title:`Banding model`,hint:`Jawab dengan sehingga {{max}} model tambahan`},fork:{action:`Cabangkan dari sini`,created:`Sembang dicabangkan`,failed:`Tidak dapat mencabangkan sembang`,origin:`Dicabangkan daripada {{title}}`,originUnknown:`sembang lain`},sharedReadOnly:`Dikongsi oleh {{owner}} — paparan sahaja`},sidebar:{navigation:{chat:`Sembang`,models:`Model`,personas:`Persona`,imagine:`Bayangkan`,agents:`Ejen`,work:`Kerja`,settings:`Tetapan`,usageAnalytics:`Penggunaan Penyedia`,system:`Sistem`,userManagement:`Pengurusan Pengguna`,signOut:`Log Keluar`,exploreLabel:`Terokai`,notes:`Nota`,calendar:`Kalendar`,automations:`Automasi`,prompts:`Prompt`,skills:`Kemahiran`,tools:`Alat`,channels:`Saluran`},toggleSize:`Togol saiz bar sisi`,expandSidebar:`Kembangkan bar sisi`},user:{menu:{changePicture:`Tukar Gambar`,settings:`Tetapan`,usageAnalytics:`Penggunaan Penyedia`,system:`Sistem`,userManagement:`Pengurusan Pengguna`,logout:`Log keluar`,pinShortcut:`Semat ke bar sisi`,unpinShortcut:`Nyahsemat dari bar sisi`,evaluations:`Penilaian`},avatar:{title:`Tukar Gambar Profil`,updated:`Gambar profil dikemas kini`,updateFailed:`Gagal mengemas kini gambar profil`,saving:`Menyimpan...`,label:`Avatar`,uploadAvatarImage:`Muat naik gambar avatar`,dragAndDrop:`Seret dan lepas gambar atau klik untuk menyemak imbas`,chooseImage:`Pilih Gambar`,uploading:`Memuat naik...`,enterImageUrl:`Atau masukkan URL gambar`,supportedFormats:`Menyokong: JPG, PNG, GIF, WebP (maks. 2MB). Gambar segi empat sama berfungsi paling baik.`,customAvatar:`Gambar avatar tersuai`,clickToChange:`Klik untuk menukar atau mengalih keluar`,removed:`Avatar dialih keluar`,uploaded:`Avatar berjaya dimuat naik`,invalidFile:`Sila pilih fail gambar yang sah`,fileTooLarge:`Saiz gambar avatar mesti kurang daripada 2MB`,readFailed:`Gagal membaca fail gambar`,uploadFailed:`Gagal memuat naik gambar avatar`},profile:{noEmail:`Tiada e-mel diberikan`}},settings:JSON.parse(`{"title":"Tetapan","tabs":{"appearance":"Penampilan","model":"Lalai","systemMessage":"Mesej Sistem","plugins":"Plugin","search":"Carian","generation":"Penjanaan","documents":"Dokumen","tts":"Suara","imageGen":"Imej","data":"Data","shortcuts":"Pintasan","about":"Perihal","sessions":"Sesi","apiKeys":"Kunci API","notifications":"Pemberitahuan"},"appearance":{"title":"Penampilan","language":{"title":"Bahasa","description":"Pilih bahasa pilihan anda"},"theme":{"title":"Tema","light":"Cerah","dark":"Gelap","amoled":"Hitam Tulen","celestial":"Celestial","system":"Sistem"},"accent":{"title":"Warna aksen","custom":"Warna tersuai","useColor":"Gunakan aksen {{color}}","behaviorTitle":"Palet antara muka","behaviorDescription":"Pilih sama ada aksen hanya digunakan pada kawalan atau menyesuaikan seluruh antara muka cerah atau gelap.","defaultStyle":"Lalai","defaultStyleDescription":"Kekalkan permukaan neutral tema cerah dan gelap.","adaptedStyle":"Sesuaikan dengan aksen","adaptedStyleDescription":"Warnakan permukaan, sempadan dan teks dengan warna aksen."},"chatInterface":{"title":"Antara Muka Sembang","showUsername":"Tunjukkan Nama Pengguna","showUsernameDescription":"Paparkan nama pengguna dalam mesej sembang","followUpSuggestions":"Cadangan susulan","followUpSuggestionsDescription":"Cadangkan balasan pantas selepas setiap respons","hapticFeedback":"Maklum balas haptik (Android)","hapticFeedbackDescription":"Gunakan getaran halus untuk tindakan mudah alih penting","autoOpenArtifacts":"Buka artifak secara automatik","autoOpenArtifactsDescription":"Buka panel artifak apabila jawapan menciptanya"},"background":{"title":"Imej Latar Belakang","enable":"Aktifkan imej latar belakang","enableDescription":"Tunjukkan latar belakang tersuai dengan kesan kabur","blur":"Kabur","opacity":"Kelegapan","upload":"Muat naik imej latar belakang","dragDrop":"Seret dan lepas imej atau klik untuk melayari","chooseImage":"Pilih Imej"},"celestial":{"title":"Waktu hari","description":"Celestial mengikut matahari di tempat anda. Seret untuk pratonton mana-mana minit, atau biarkan ia mengikut jam.","followClock":"Ikut jam","sunrise":"Matahari terbit","sunset":"Matahari terbenam","location":"Lokasi","locationHint":"Pilihan. Disimpan hanya dalam pelayar ini dan tidak pernah dihantar ke pelayan; koordinat dibundarkan kira-kira satu kilometer.","useMyLocation":"Guna lokasi saya","locationDenied":"Pelayar tidak berkongsi lokasi. Anda boleh taip koordinat.","latitude":"Latitud","longitude":"Longitud","apply":"Guna","clear":"Kosongkan","approximateDay":"Anggaran panjang hari","weather":"Ikut cuaca","weatherHint":"Mengambil keadaan semasa daripada Open-Meteo untuk lokasi anda: awan, hujan, salji, kabus dan angin membentuk langit. Memerlukan lokasi.","weatherLoading":"Mengambil cuaca…","weatherUnavailable":"Cuaca tidak tersedia sekarang.","wind":"angin {{speed}} km/j","kinds":{"clear":"Cerah","partly":"Sebahagian berawan","overcast":"Mendung","fog":"Kabus","drizzle":"Gerimis","rain":"Hujan","snow":"Salji","thunder":"Ribut petir"}}},"saveSettings":"Simpan Tetapan","preferences":{"updateFailed":"Gagal mengemas kini tetapan: {{error}}"},"model":{"title":"Tetapan Model","defaultModel":"Model Lalai","defaultModelDescription":"Model ini akan digunakan secara lalai untuk perbualan baharu","selectModel":"Pilih model","specializedModels":"Model Khusus","visionModel":"Model Penglihatan","selectVisionModel":"Guna model sembang semasa","visionModelDescription":"Digunakan secara automatik apabila konteks sembang keluar mengandungi imej. Pilih model yang menyokong input imej.","visionModelUpdateFailed":"Gagal mengemas kini model penglihatan: {{error}}","visionModelNoProvider":"Model penglihatan ini tiada identiti pembekal. Pilih model yang tersedia.","persona":"Persona","updateAll":"Kemas Kini Semua Model","updateAllDescription":"Semak kemas kini dan muat turun versi terkini semua model yang dipasang","updateAllButton":"Kemas Kini Semua","updating":"Mengemas kini model...","currentModelInfo":"Maklumat Model Semasa","name":"Nama","size":"Saiz","family":"Keluarga","format":"Format","status":"Status","statusStarting":"Memulakan...","statusComplete":"Selesai","statusError":"Ralat","bulkOperations":"Operasi Pukal","autoTitle":{"title":"Penjanaan Tajuk Auto","enable":"Aktifkan Tajuk Auto","enableDescription":"Jana tajuk secara automatik untuk perbualan baharu","taskModel":"Model Tugas","selectTaskModel":"Pilih model tugas","taskModelDescription":"Model yang digunakan untuk menjana tajuk perbualan"},"updatingModel":"Mengemas kini {{name}} ({{current}}/{{total}})","modelsProgress":"{{current}} daripada {{total}} model","defaultModelUpdated":"Model lalai dikemas kini","allModelsUpdated":"Semua model berjaya dikemas kini!","updateAllFailed":"Gagal mengemas kini model: {{error}}"},"systemMessage":{"title":"Mesej Sistem","description":"Tetapkan mesej sistem tersuai yang akan digunakan untuk semua perbualan baharu.","placeholder":"Masukkan mesej sistem...","saved":"Mesej sistem disimpan","saveFailed":"Gagal menyimpan mesej sistem"},"plugins":{"title":"Plugin","description":"Urus plugin yang dipasang","providerConnections":"Sambungan penyedia","providerConnectionsDescription":"Sambung, konfigur, dan periksa penyedia model melalui pemalam.","providers":"Penyedia","searchProviders":"Cari penyedia","noProvidersFound":"Tiada penyedia sepadan dengan carian anda.","selectProvider":"Pilih penyedia","selectProviderDescription":"Pilih penyedia untuk memeriksa sambungan dan katalog modelnya.","addNew":"Tambah Plugin Baharu","upload":"Muat Naik Plugin","addJson":"Tambah JSON","uploading":"Memuat naik...","jsonPlaceholder":"Tampal konfigurasi JSON plugin...","install":"Pasang Plugin","noPlugins":"Tiada plugin dipasang","noPluginsDescription":"Tambah plugin untuk memanjangkan fungsi","loading":"Memuatkan plugin...","installed":"Plugin Dipasang","active":"Plugin Aktif","activeLabel":"Aktif","inactive":"Tidak Aktif","activate":"Aktifkan","deactivate":"Nyahaktifkan","models":"model","apiKeySet":"Kunci API Ditetapkan","apiKeyConfiguration":"Konfigurasi Kunci API","apiKeyDescription":"Simpan kunci API peribadi untuk {{name}}.","apiKeyEnvAlternative":"Sebagai alternatif, tetapkan","environmentVariable":"pemboleh ubah persekitaran","apiKeyConfigured":"Kunci API dikonfigurasi","apiKeyPlaceholder":"Masukkan kunci API anda...","saveApiKey":"Simpan Kunci API","showApiKey":"Tunjukkan kunci API","hideApiKey":"Sembunyikan kunci API","configure":"Konfigur","providerSettings":"Tetapan penyedia","status":"Status","defaultEndpoint":"Titik akhir lalai","modelCatalog":"Katalog model","modelCatalogDescription":"Model yang ditemui dan dikonfigur untuk penyedia ini serta keupayaannya.","refreshModels":"Segarkan model","noModelsConfigured":"Tiada model dikonfigurasi untuk penyedia ini.","modelId":"ID Model","capabilities":"Keupayaan","modelCatalogUpdated":"Katalog model dikemas kini: {{count}} model.","modelCatalogUnchanged":"Katalog model sudah dikemas kini.","modelCatalogNeedsApiKey":"Tambah kunci API yang sah untuk penyedia ini bagi memuatkan senarai model langsungnya.","modelCatalogUnavailable":"Tidak dapat memuatkan senarai model penyedia.","modelCatalogRefreshFailed":"Gagal memuat semula katalog model","invalidJson":"Format JSON tidak sah","capability":{"chat":"Sembang","embedding":"Pembenaman","image":"Imej","speech":"Ucapan","transcription":"Transkripsi"},"exportPlugin":"Eksport plugin","deletePlugin":"Padam plugin","apiKey":{"title":"Kunci API","placeholder":"Masukkan kunci API","save":"Simpan Kunci","remove":"Buang Kunci","configured":"Kunci API Dikonfigurasi","notConfigured":"Kunci API Diperlukan","saved":"Kunci API berjaya disimpan","removed":"Kunci API dibuang","saveFailed":"Gagal menyimpan kunci API","removeFailed":"Gagal membuang kunci API","enterKey":"Sila masukkan kunci API"},"variables":"Variables"},"generation":{"title":"Pilihan Penjanaan","description":"Konfigurasi cara AI menjana respons","scopeLabel":"Digunakan pada","scopeAll":"Semua model","scopeModel":"Hanya {{model}}","scopeAllHint":"Nilai yang digunakan setiap model melainkan ia mempunyai nilainya sendiri.","scopeModelHint":"Disimpan untuk model ini sahaja dan mengatasi nilai umum.","advancedSettings":"Tetapan penjanaan lanjutan","advancedSettingsDescription":"Persampelan, had token, konteks, penalti, dan jujukan berhenti","coreParameters":"Parameter Teras","temperature":"Suhu","temperatureDescription":"Mengawal rawak. Nilai lebih rendah lebih fokus, nilai lebih tinggi lebih kreatif.","topP":"Top P","topPDescription":"Mengawal kepelbagaian melalui persampelan nukleus. Nilai lebih rendah fokus pada token berkemungkinan.","topK":"Top K","topKDescription":"Menghadkan pemilihan token kepada K teratas yang paling berkemungkinan. Tetapkan 0 untuk nyahaktif.","minP":"Min P","minPDescription":"Ambang kebarangkalian minimum untuk pemilihan token.","generationControl":"Kawalan Penjanaan","maxTokens":"Token Maksimum","maxTokensDescription":"Bilangan maksimum token untuk dijana dalam respons.","repeatPenalty":"Penalti Ulangan","repeatPenaltyDescription":"Menghukum token berulang. Nilai lebih tinggi mengurangkan pengulangan.","contextLength":"Panjang Konteks","contextLengthDescription":"Saiz tingkap konteks maksimum untuk perbualan.","seed":"Benih","optional":"pilihan","random":"Rawak","seedDescription":"Tetapkan benih khusus untuk output yang boleh diulang.","advancedOptions":"Pilihan Lanjutan","presencePenalty":"Penalti Kehadiran","presencePenaltyDescription":"Menghukum token yang muncul dalam konteks.","frequencyPenalty":"Penalti Kekerapan","frequencyPenaltyDescription":"Menghukum token yang kerap digunakan.","stopSequences":"Urutan Berhenti","commaSeparated":"dipisahkan koma","stopSequencesDescription":"Token tersuai yang akan menghentikan penjanaan apabila ditemui.","resetDefaults":"Tetap Semula ke Lalai","saveOptions":"Simpan Pilihan","saveSuccess":"Pilihan penjanaan berjaya dikemas kini","saveFailed":"Gagal mengemas kini pilihan penjanaan: {{error}}","modelDefaultsLoaded":"Tetapan yang disyorkan oleh {{model}} telah dimuatkan","resetSuccess":"Pilihan penjanaan ditetapkan semula kepada lalai","resetFailed":"Gagal menetapkan semula pilihan penjanaan kepada lalai: {{error}}","embeddingSettings":"Tetapan Pembenaman","enableEmbeddings":"Aktifkan Pembenaman Dokumen","thinking":"Pemikiran","thinkingDescription":"Tahap pemikiran lalai untuk jawapan. Setiap sembang boleh mengubahnya.","thinkingLevels":{"default":"Lalai model","defaultWith":"Lalai model ({{level}})","off":"Mati","on":"Hidup","low":"Rendah","medium":"Sederhana","high":"Tinggi"}},"documents":{"title":"Tetapan Dokumen","embeddings":{"title":"Pembenaman","enable":"Aktifkan pembenaman dokumen","model":"Model Pembenaman","modelDescription":"Pilih model yang digunakan untuk pembenaman dokumen","chunkSize":"Saiz Cebisan","chunkSizeInTokens":"(dalam token)","chunkSizeDescription":"Saiz cebisan teks untuk pembenaman","chunkOverlap":"Pertindihan Cebisan","chunkOverlapInTokens":"(dalam token)","chunkOverlapDescription":"Pertindihan antara cebisan berturutan","similarityThreshold":"Ambang Persamaan","similarityDescription":"Skor persamaan minimum untuk memasukkan hasil","status":"Status Pembenaman","statusLabel":"Status","available":"Tersedia","unavailable":"Tidak Tersedia","chunksWithEmbeddings":"Cebisan dengan pembenaman","coverage":"Liputan","regenerate":"Jana Semula Pembenaman","regenerating":"Menjana semula...","regenerateSuccess":"Pembenaman untuk {{count}} dokumen berjaya dijana semula","regeneratePartialSuccess":"{{count}} dokumen dijana semula; {{skipped}} dilangkau","regenerateFailed":"Gagal menjana semula pembenaman: {{error}}","saveSuccess":"Tetapan pembenaman berjaya dikemas kini","saveFailed":"Gagal mengemas kini tetapan pembenaman: {{error}}","resetSuccess":"Tetapan pembenaman ditetapkan semula kepada lalai","resetFailed":"Gagal menetapkan semula tetapan pembenaman kepada lalai: {{error}}"},"collections":{"title":"Koleksi pengetahuan","description":"Kumpulkan dokumen ke dalam koleksi dan lampirkan pada mana-mana sembang.","namePlaceholder":"Nama koleksi","create":"Cipta","none":"Tiada koleksi","deleteConfirm":"Padam koleksi ini? Dokumen di dalamnya kekal.","createFailed":"Gagal mencipta koleksi","deleteFailed":"Gagal memadamkan koleksi","assignFailed":"Gagal memindahkan dokumen","share":"Kongsi koleksi","shared":"dikongsi"},"library":{"title":"Dokumen yang dimuat naik","description":"Dokumen yang tersedia sebagai konteks sembang. Dokumen yang dimuat naik dalam sembang kekal dalam perbualannya; dokumen tanpa sembang dan koleksi menyertai setiap perbualan.","empty":"Tiada dokumen dimuat naik lagi.","chatScope":"Satu sembang","everyChatScope":"Semua sembang","deleteConfirm":"Padam \\"{{name}}\\"? Ia akan hilang daripada semua sembang.","deleteFailed":"Gagal memadamkan dokumen","extractionFailed":"Pengekstrakan gagal","extractionQueued":"Mengekstrak…"}},"tts":{"title":"Teks ke Pertuturan","description":"Konfigurasi tetapan teks ke pertuturan untuk membaca mesej dengan kuat","loadingProviders":"Memuatkan penyedia TTS...","noProviders":"Tiada Penyedia TTS","noProvidersDescription":"Konfigurasi plugin dengan sokongan TTS untuk mengaktifkan teks ke pertuturan","enable":"Aktifkan TTS","enableDescription":"Benarkan teks ke pertuturan untuk mesej pembantu","autoPlay":"Main Auto Respons","autoPlayDescription":"Baca mesej pembantu baharu secara automatik dengan kuat","streamSentences":"Main balik batch semula jadi","streamSentencesDescription":"Jana beberapa batch yang mengambil kira frasa lebih awal dan mainkannya sebagai satu respons berterusan.","voiceConfiguration":"Konfigurasi Suara","model":"Model TTS","modelDescription":"Pilih model untuk penjanaan teks ke pertuturan","voice":"Suara","selectVoice":"Pilih suara","voiceDescription":"Pilih suara untuk teks ke pertuturan","providerDefaultVoice":"Model ini menggunakan suara lalainya melainkan anda memberikan rakaman rujukan semasa menjana pertuturan.","voiceCloningAvailable":"Pengklonan suara tersedia","voiceCloningAvailableDescription":"Gunakan Bayangkan → Audio untuk mencipta pertuturan daripada rakaman rujukan yang telah mendapat persetujuan berserta transkrip tepatnya. Anda boleh menyimpan rujukan sebagai suara yang boleh digunakan semula.","savedVoiceOption":"{{name}} (suara tersimpan)","savedVoices":"Suara tersimpan","loadingSavedVoices":"Memuatkan suara tersimpan…","deleteSavedVoice":"Padam suara tersimpan {{name}}","deleteSavedVoiceConfirm":"Padam suara tersimpan “{{name}}”? Rakaman rujukan dan transkripnya akan dibuang.","savedVoiceDeleted":"Suara tersimpan telah dipadam","savedVoicePreferenceCleanupFailed":"Suara tersimpan telah dipadam, tetapi tetapan Pertuturan tidak dapat ditetapkan semula","savedVoiceDeleteFailed":"Gagal memadam suara tersimpan","speed":"Kelajuan","speedSlow":"0.5x","speedNormal":"1.0x","speedFast":"2.0x","availableProviders":"Penyedia Tersedia","models":"model","test":"Uji","testing":"Menguji...","stop":"Berhenti","consentRevoked":"Persetujuan ditarik balik","consentExpired":"Persetujuan tamat tempoh","transferCount":"dihantar kepada penyedia {{total}} kali","consentExpires":"persetujuan hingga {{date}}","revokeSavedVoice":"Tarik balik persetujuan untuk {{name}}","revokeSavedVoiceConfirm":"Tarik balik persetujuan untuk “{{name}}”? Suara yang disimpan tidak boleh digunakan lagi, tetapi rekod persetujuan dikekalkan.","savedVoiceRevoked":"Persetujuan ditarik balik","savedVoiceRevokeFailed":"Gagal menarik balik persetujuan","savedVoiceUnavailableCleanupFailed":"Suara yang disimpan tidak tersedia dan tidak dapat dikosongkan daripada tetapan Pertuturan","saveSuccess":"Tetapan TTS berjaya disimpan","saveFailed":"Gagal menyimpan tetapan TTS: {{error}}","testFailed":"Ujian TTS gagal: {{error}}"},"imageGen":{"title":"Penjanaan Imej","description":"Konfigurasi tetapan dan penyedia penjanaan imej","loadingProviders":"Memuatkan penyedia penjanaan imej...","noProviders":"Tiada Penyedia Penjanaan Imej","noProvidersDescription":"Konfigurasi plugin dengan sokongan penjanaan imej","enable":"Aktifkan Penjanaan Imej","enableDescription":"Benarkan penjanaan imej AI dalam perbualan","configuration":"Konfigurasi","model":"Model","modelDescription":"Pilih model untuk penjanaan imej","size":"Saiz","sizeDescription":"Resolusi imej yang dijana","quality":"Kualiti","qualityDescription":"Tahap kualiti imej yang dijana","style":"Gaya","styleDescription":"Pratetap gaya untuk imej yang dijana","availableProviders":"Penyedia Tersedia","models":"model","saveSuccess":"Tetapan penjanaan imej berjaya disimpan","saveFailed":"Gagal menyimpan tetapan penjanaan imej: {{error}}"},"data":{"title":"Pengurusan Data","export":"Eksport Data","exportDescription":"Muat turun arkib mudah alih yang mengandungi keutamaan, folder sembang, sesi dan mesej, nota, koleksi pengetahuan serta teks dokumen yang diekstrak.","archiveScopeV3":"Merangkumi keutamaan, sembang, folder, nota, koleksi pengetahuan dan teks dokumen yang diekstrak. Tidak termasuk akaun dan rahsia, suara klon biometrik, media yang dijana, persona dan memori serta data atau volum Work.","exportAll":"Eksport Semua Data","import":"Import Data","importDescription":"Import data dari eksport sebelumnya.","importData":"Import Data","importing":"Mengimport...","clearSessions":"Kosongkan Sesi","clearSessionsDescription":"Padam semua sesi sembang. Tindakan ini tidak boleh dibatalkan.","clearAll":"Kosongkan Semua","clearing":"Mengosongkan...","importOptions":"Pilihan Import","importOptionsDescription":"Pilih cara mengendalikan data sedia ada","validatingArchive":"Mengesahkan arkib dan mengira perubahan…","archiveValidationFailed":"Pengesahan arkib gagal","preflightReport":"Pratonton import","preflightIncoming":"{{folders}} folder · {{sessions}} sembang · {{messages}} mesej · {{notes}} nota · {{collections}} koleksi · {{documents}} dokumen · {{chunks}} cebisan","preflightRemappedIds":"{{count}} ID akan dipetakan semula untuk melindungi data akaun lain.","skipDuplicates":"Langkau pendua","overwrite":"Tulis ganti sedia ada","importResults":"Hasil Import","preferences":"Keutamaan","imported":"Diimport","failed":"Gagal","sessions":"Sesi","sessionFolders":"Folder sesi","notes":"Nota","knowledgeCollections":"Koleksi pengetahuan","importedLabel":"diimport","overwrittenLabel":"ditulis ganti","skipped":"dilangkau","toCreate":"untuk dicipta","toOverwrite":"untuk ditulis ganti","toSkip":"untuk dilangkau","documents":"Dokumen","warnings":"Amaran","refreshAfterImportFailed":"Data telah diimport, tetapi sesetengah paparan tidak dapat disegar semula. Muat semula Libre WebUI untuk melihat semua perubahan.","exportSuccess":"Arkib data mudah alih berjaya dieksport","exportFailed":"Eksport gagal","importSuccess":"Arkib data mudah alih berjaya diimport","importFailed":"Import gagal","archiveErrors":{"invalidJson":"Arkib mudah alih bukan JSON yang sah.","objectRequired":"Arkib mudah alih mesti mengandungi objek JSON.","unsupportedVersion":"Versi arkib mudah alih {{version}} tidak disokong.","unrecognized":"Fail ini bukan arkib mudah alih Libre WebUI."},"errors":"Ralat","archivedChats":{"title":"Sembang diarkibkan","empty":"Tiada sembang diarkibkan","unarchive":"Nyahakrib"}},"about":{"title":"Perihal","versionLabel":"Versi","ollama":{"title":"Status Ollama","version":"Versi","healthy":"Sihat","unhealthy":"Tidak Sihat"},"stats":{"models":"Model","sessions":"Sesi"},"features":{"privacy":{"title":"Privasi Diutamakan","description":"Data anda kekal dalam peranti anda"},"openSource":{"title":"Sumber Terbuka","description":"Perisian percuma dan sumber terbuka"},"localInference":{"title":"Inferens Tempatan","description":"Jalankan model AI secara tempatan dengan Ollama"}},"openSourceBy":"Sumber terbuka oleh {{company}}","links":{"title":"Pautan","github":"GitHub","githubDescription":"Lihat kod sumber dan sumbang","website":"Laman Web","websiteDescription":"Lawati laman web kami","documentation":"Documentation","reportIssue":"Laporkan Isu","reportIssueDescription":"Laporan pepijat & permintaan ciri","documentationDescription":"Guides, tutorials and API reference","forgejo":"Forgejo Mirror","forgejoDescription":"Self-hosted Forgejo repository","sponsor":"Penaja","sponsorDescription":"Bantu biayai projek ini","star":"Bintang di GitHub","starDescription":"Bintang membantu orang lain menemui projek ini"},"version":"Versi {{version}}","updates":{"checking":"Menyemak kemas kini…","upToDate":"Anda menggunakan versi terkini","updateAvailable":"Versi {{version}} tersedia","ahead":"Mendahului keluaran terkini ({{version}})","checkFailed":"Tidak dapat menyemak kemas kini","viewChangelog":"Lihat log perubahan"}},"groups":{"general":"Umum","chat":"Sembang","media":"Suara & imej","connections":"Sambungan","admin":"Pentadbiran"},"search":{"title":"Carian web","description":"Cari di web melalui instans SearXNG yang dihoskan sendiri. Apabila diaktifkan, penggubah sembang menawarkan togol carian dan tugas Work dengan akses rangkaian boleh mencari.","enableLabel":"Dayakan carian web","enableDescription":"Tawarkan carian web kepada sembang dan tugas Work. Carian dijalankan di pihak pelayan terhadap instans yang dikonfigurasi.","urlLabel":"URL SearXNG","urlDescription":"URL asas instans SearXNG yang boleh dicapai dari pelayan. Stack deploy peribadi yang disertakan menyediakan http://searxng:8080.","maxResultsLabel":"Hasil setiap carian","maxResultsDescription":"Berapa banyak hasil dimasukkan ke balasan atau panggilan alat, 1-100.","maxResultsInvalid":"Hasil setiap carian mesti antara 1 dan 100.","safeSearchLabel":"Carian selamat","safeSearchDescription":"Minta enjin menapis hasil eksplisit.","test":"Uji sambungan","testing":"Menguji…","testOk":"Carian berfungsi — {{results}} hasil dikembalikan","testFailed":"Ujian carian gagal","save":"Simpan","saved":"Tetapan carian disimpan","saveFailed":"Tidak dapat menyimpan tetapan carian"},"compaction":{"title":"Pemadatan konteks","description":"Apabila perbualan melepasi ambang token, pelayan akan meringkaskan mesej lamanya dan hanya mengekalkan mesej terbaharu secara kata demi kata. Terpakai kepada setiap pengguna pelayan ini.","thresholdLabel":"Ambang token","thresholdDescription":"Anggaran token konteks yang melebihinya menyebabkan sejarah lama diringkaskan, 500-1,000,000.","thresholdInvalid":"Ambang token mestilah antara 500 dan 1,000,000.","keepRecentLabel":"Mesej terbaharu yang dikekalkan","keepRecentDescription":"Berapa banyak mesej terbaharu yang sentiasa kekal kata demi kata, 2-200.","keepRecentInvalid":"Bilangan mesej terbaharu yang dikekalkan mestilah antara 2 dan 200.","modelLabel":"Model pemadatan","modelDescription":"Model yang menulis ringkasan. Model perbualan itu sendiri digunakan jika tiada yang dipilih.","sessionModelOption":"Guna model perbualan","promptLabel":"Gesaan ringkasan tersuai","promptPlaceholder":"Biarkan kosong untuk menggunakan gesaan terbina dalam","promptDescription":"Pemboleh ubah templat {{previousSummaryVariable}} dan {{messagesVariable}} akan digantikan dengan ringkasan sebelumnya dan mesej yang sedang diringkaskan.","saved":"Tetapan pemadatan disimpan","saveFailed":"Tetapan pemadatan tidak dapat disimpan","loadFailed":"Tetapan pemadatan tidak dapat dimuatkan"},"sessions":{"title":"Sesi","description":"Semua tempat akaun ini dilog masuk. Melog keluar sesi berkuat kuasa serta-merta; log masuk semula akan memulihkan akses.","signOutOthers":"Log keluar sesi lain","signingOutOthers":"Sedang log keluar…","signOut":"Log keluar","signingOut":"Sedang log keluar…","revoked":"Sesi telah dilog keluar.","revokeFailed":"Sesi tidak dapat dilog keluar.","othersRevoked":"Sesi lain yang dilog keluar: {{count}}","loadFailed":"Sesi tidak dapat dimuatkan.","empty":"Tiada sesi ditemui.","current":"Sesi ini","revokedBadge":"Dilog keluar","unknownDevice":"Peranti tidak dikenali","createdAt":"Dilog masuk","lastSeenAt":"Aktif terakhir","expiresAt":"Luput"},"apiKeys":{"title":"Kunci API","description":"Token berskop untuk skrip dan integrasi. Setiap kunci hanya mempunyai akses kepada skop yang anda pilih.","newKeyTitle":"Kunci API baharu anda","copy":"Salin","copied":"Disalin ke papan keratan.","copyFailed":"Gagal menyalin.","showOnceWarning":"Salin sekarang. Ia tidak akan dipaparkan lagi.","dismiss":"Selesai","createTitle":"Cipta kunci","nameLabel":"Nama","namePlaceholder":"cth. saluran CI","nameRequired":"Berikan nama untuk kunci ini.","expiryLabel":"Luput dalam hari (pilihan)","expiryPlaceholder":"Tidak luput","expiryInvalid":"Tempoh luput mestilah nombor bulat dalam hari.","scopesLabel":"Skop","scopesRequired":"Pilih sekurang-kurangnya satu skop.","create":"Cipta kunci","creating":"Mencipta…","created":"Kunci API dicipta.","createFailed":"Kunci API tidak dapat dicipta.","revoke":"Batalkan","revoking":"Membatalkan…","revoked":"Kunci API dibatalkan.","revokeFailed":"Kunci API tidak dapat dibatalkan.","revokedBadge":"Dibatalkan","loadFailed":"Kunci API tidak dapat dimuatkan.","empty":"Belum ada kunci API.","createdAt":"Dicipta","lastUsedAt":"Terakhir digunakan","expiresAt":"Luput","neverExpires":"Tidak luput"},"notifications":{"title":"Pemberitahuan","description":"Bagaimana pelayar ini dimaklumkan tentang sebutan, perkongsian, peringatan dan kerja yang selesai.","pushTitle":"Pemberitahuan pelayar","pushHint":"Tunjukkan pemberitahuan sistem daripada peranti ini walaupun tab berada di latar belakang.","enabled":"Pemberitahuan pelayar diaktifkan pada peranti ini.","disabled":"Pemberitahuan pelayar dimatikan pada peranti ini.","enableFailed":"Pemberitahuan pelayar tidak dapat diaktifkan.","permissionDenied":"Pemberitahuan disekat dalam tetapan pelayar untuk tapak ini.","unsupported":"Pelayar ini tidak menyokong pemberitahuan tolak.","workerMissing":"Tolakan memerlukan aplikasi yang dipasang. Muat semula aplikasi pengeluaran dan cuba lagi.","deviceNote":"Pemberitahuan adalah mengikut peranti. Log keluar sesi turut membuang pendaftaran tolaknya."}}`),models:{title:`Model`,subtitle:`Tarik, urus dan pantau model Ollama anda`,installed:`Model Dipasang`,available:`Model Tersedia`,pull:`Tarik Model`,pulling:`Menarik...`,delete:`Padam Model`,deleting:`Memadamkan...`,size:`Saiz`,modified:`Diubah Suai`,family:`Keluarga`,parameters:`Parameter`,quantization:`Kuantisasi`,noModels:`Tiada model dipasang`,pullFirst:`Tarik model untuk bermula`,noModelsFound:`Tiada model ditemui`},personas:{title:`Persona`,create:`Cipta Persona`,edit:`Sunting Persona`,delete:`Padam Persona`,name:`Nama`,description:`Penerangan`,systemPrompt:`Arahan Sistem`,model:`Model`,avatar:`Avatar`,background:`Latar Belakang`,noPersonas:`Tiada persona dicipta`,createFirst:`Cipta persona pertama anda untuk menyesuaikan pengalaman sembang`},gallery:{title:`Galeri`,subtitle:`Galeri imej yang dijana AI anda`,imageCount:`{{count}} imej`,generate:`Jana Imej`,generateDescription:`Cipta imej dengan AI`,generating:`Menjana...`,prompt:`Arahan`,promptPlaceholder:`Terangkan imej yang anda mahu jana...`,noImages:`Belum ada imej dijana`,download:`Muat Turun`,delete:`Padam`,regenerate:`Jana Semula`,model:`Model`,size:`Saiz`,quality:`Kualiti`,created:`Dicipta`},errors:{generic:`Ralat telah berlaku`,network:`Ralat rangkaian. Sila semak sambungan anda.`,unauthorized:`Anda tidak dibenarkan melakukan tindakan ini.`,notFound:`Sumber yang diminta tidak ditemui.`,serverError:`Ralat pelayan. Sila cuba lagi kemudian.`,validation:`Sila semak input anda dan cuba lagi.`},keyboard:{title:`Pintasan Papan Kekunci`,toggleSidebar:`Togol bar sisi`,openSettings:`Buka tetapan`,toggleDarkMode:`Togol mod gelap`,showShortcuts:`Tunjukkan pintasan papan kekunci`,closeModals:`Tutup modal`,groups:{navigation:`Navigasi`,general:`Umum`,chat:`Sembang`,workspace:`Ruang kerja`},actions:{sendMessage:`Hantar mesej`,newLine:`Baris baharu dalam mesej`,saveEdit:`Simpan mesej yang disunting`,cancelEdit:`Batalkan suntingan`,saveFile:`Simpan fail`,formatCode:`Formatkan kod`},description:`Semua pintasan papan kekunci yang ada dalam Libre WebUI.`,newChat:`Sembang baharu`,newWork:`Sesi Work baharu`,openPalette:`Buka palet arahan`},modelDownload:{success:`{{name}} telah dimuat turun`,failed:`Gagal memuat turun: {{error}}`,startFailed:`Gagal memulakan muat turun`,cancelled:`Muat turun dibatalkan`},modelTools:{toasts:{fetchInfoFailed:`Gagal mendapatkan maklumat`,pushSuccess:`Model berjaya dimuat naik`,createSuccess:`Model berjaya dicipta`,copySuccess:`Model berjaya disalin`,embeddingsSuccess:`Embedding berjaya dijana (lihat konsol)`,failed:`Gagal`,unknownError:`Ralat tidak diketahui`}},modelManager:{title:`Model`,loading:`Memuatkan model...`,systemStatus:{online:`Ollama Dalam Talian`,offline:`Ollama Luar Talian`,models:`model`,models_plural:`model`,running:`berjalan`,vram:`VRAM`},sections:{pull:`Tarik Model Baharu`,library:`Layari Pustaka`,huggingface:`HuggingFace Hub`,running:`Model Sedang Berjalan`,local:`Model Tempatan`,advanced:`Tindakan Lanjutan`,catalog:`Katalog Model`},catalog:{searchPlaceholder:`Cari model mengikut nama atau penyedia...`,noModels:`Belum ada model tersedia.`,empty:`Tiada model sepadan dengan carian anda.`,providerOllama:`Ollama`,hidden:`Tersembunyi`,visibilityFailed:`Keterlihatan model tidak dapat dikemas kini.`,filterAll:`Semua model`,filterLocal:`Tempatan`,filterProviders:`Penyedia`,filterHidden:`Tersembunyi`,enableAll:`Aktifkan yang dipaparkan`,disableAll:`Nyahaktifkan yang dipaparkan`,rename:`Sunting nama dan gambar`,setPicture:`Tetapkan gambar`,clearPicture:`Buang gambar`,pictureInvalid:`Pilih fail imej.`,pictureTooLarge:`Gambar mestilah bawah 192 KB.`,saving:`Menyimpan…`,hide:`Sembunyikan daripada pengguna`,show:`Tunjukkan kepada pengguna`,star:`Bintangkan {{name}}`,unstar:`Buang bintang daripada {{name}}`},pull:{placeholder:`Masukkan nama model (cth., llama3.2:3b, deepseek-r1:14b)`,button:`Tarik`,cancel:`Batal`,popular:`Model popular:`,browseAll:`Layari semua model di ollama.com`,success:`Model {{name}} berjaya ditarik`,cancelled:`Tarikan model dibatalkan`,failed:`Gagal menarik model`,enterName:`Sila masukkan nama model`,restricted:`Pemasangan model dihadkan kepada pentadbir sahaja pada instance ini.`},progress:{starting:`Memulakan...`,pulling:`Memuat turun model...`,pullingLayer:`memuat turun`,verifying:`Mengesahkan integriti...`,verifyingDigest:`mengesahkan digest sha256`,writing:`Menulis manifes...`,cleaning:`Membersihkan...`},library:{available:`tersedia`,search:`Cari model...`,noResults:`Tiada model ditemui yang sepadan dengan kriteria anda`,installed:`Dipasang`,more:`+{{count}} lagi`,refresh:`Muat Semula Pustaka`},huggingface:{browseAll:`Layari semua di HuggingFace`,checkingGguf:`Mencari fail GGUF...`,noGgufAvailable:`Tiada fail GGUF tersedia untuk muat turun terus ke Ollama`,ggufFilesCount:`Fail GGUF ({{count}}) - Muat turun terus ke Ollama`,noModelsFound:`Tiada model dijumpai`,noResults:`Tiada model dijumpai. Cuba laraskan carian atau penapis anda.`,browseAllLink:`Lihat semua`,search:`Cari model HuggingFace...`,by:`oleh`,gated:`Akses terhad`,viewOnHF:`Lihat di HuggingFace`,sortDownloads:`Muat turun`,sortLikes:`Suka`,sortRecent:`Terkini`,taskTextGeneration:`Penjanaan Teks`,taskTextToSpeech:`Teks ke Pertuturan`,taskTextToImage:`Teks ke Imej`,taskSpeechRecognition:`Pengecaman Pertuturan`,tasks:{textGen:`Penjanaan Teks`,tts:`Teks ke Pertuturan`,image:`Teks ke Imej`,stt:`Pengecaman Pertuturan`},sort:{downloads:`Paling Banyak Dimuat Turun`,likes:`Paling Disukai`,recent:`Dikemas Kini Baru-baru Ini`}},local:{noModels:`Belum ada model dipasang`,pullToStart:`Tarik model di atas untuk bermula`,installed:`dipasang`,running:`Berjalan`,info:`Maklumat`,copy:`Salin`,delete:`Padam`,deleteConfirm:`Adakah anda pasti mahu memadamkan model "{{name}}"?`,deleteSuccess:`Model {{name}} berjaya dipadam`,deleteFailed:`Gagal memadamkan model`},advanced:{createModel:`Cipta Model`,fromModelfile:`Dari Modelfile`,copyModel:`Salin Model`,duplicateExisting:`Duplikasi sedia ada`,testEmbeddings:`Uji Pembenaman`,generateVectors:`Jana vektor`,healthCheck:`Semakan Kesihatan`,testConnection:`Uji sambungan`,healthy:`Ollama sihat!`},modals:{details:{title:`Butiran Model`,info:`Maklumat Model`,family:`Keluarga`,parameters:`Parameter`,quantization:`Kuantisasi`,format:`Format`,systemPrompt:`Arahan Sistem`,template:`Templat`,license:`Lesen`,modelfile:`Modelfile`,noDetails:`Tiada butiran tersedia`},copy:{title:`Salin Model`,source:`Model Sumber`,selectModel:`Pilih model...`,newName:`Nama Model Baharu`,placeholder:`cth., model-tersuai-saya`,copying:`Menyalin...`,button:`Salin Model`,success:`Model disalin ke {{name}}`,failed:`Gagal menyalin model`,enterBoth:`Sila masukkan kedua-dua nama sumber dan destinasi`},create:{title:`Cipta Model Tersuai`,name:`Nama Model`,namePlaceholder:`cth., pembantu-saya`,modelfile:`Modelfile`,modelfilePlaceholder:`FROM llama3.2
|
|
1
|
+
var e={common:{loading:`Memuatkan...`,save:`Simpan`,saving:`Menyimpan...`,cancel:`Batal`,delete:`Padam`,edit:`Sunting`,close:`Tutup`,back:`Kembali`,next:`Seterusnya`,confirm:`Sahkan`,error:`Ralat`,success:`Berjaya`,warning:`Amaran`,or:`atau`,optional:`pilihan`,enabled:`Diaktifkan`,disabled:`Dinyahaktifkan`,on:`Hidup`,off:`Mati`,yes:`Ya`,no:`Tidak`,search:`Cari`,noResults:`Tiada hasil ditemui`,retry:`Cuba Semula`,refresh:`Muat Semula`,download:`Muat Turun`,upload:`Muat Naik`,export:`Eksport`,import:`Import`,reset:`Tetapkan Semula`,apply:`Guna`,clear:`Kosongkan`,all:`Semua`,none:`Tiada`,default:`Lalai`,custom:`Tersuai`,remove:`Buang`,home:`Laman utama`,more:`Lebih`},brand:{name:`Libre WebUI`,shortName:`Libre`},appInitialization:{ollamaUnavailable:`Perkhidmatan Ollama tidak tersedia. Model pemalam masih boleh digunakan.`,backendConnectionFailed:`Gagal menyambung ke perkhidmatan backend`},auth:{login:{title:`Selamat Kembali`,subtitle:`Log masuk ke akaun anda untuk meneruskan`,username:`Nama Pengguna`,usernamePlaceholder:`Masukkan nama pengguna anda`,password:`Kata Laluan`,passwordPlaceholder:`Masukkan kata laluan anda`,signIn:`Log Masuk`,signingIn:`Sedang log masuk...`,noAccount:`Belum mempunyai akaun?`,signUpHere:`Daftar di sini`,loginSuccess:`Berjaya log masuk!`,loginFailed:`Gagal log masuk`,checkCredentials:`Gagal log masuk. Sila semak kelayakan anda.`,approvalPending:`Akaun anda sedang menunggu kelulusan pentadbir.`,enterBoth:`Sila masukkan nama pengguna dan kata laluan`,githubSuccess:`Berjaya log masuk melalui GitHub!`,githubFailed:`Pengesahan GitHub gagal`,githubVerifyFailed:`Gagal mengesahkan pengesahan GitHub`,verificationFailed:`Pengesahan keselamatan gagal. Muat semula halaman dan cuba lagi.`},signup:{title:`Cipta Akaun`,subtitle:`Daftar untuk akaun baharu anda`,username:`Nama Pengguna`,usernamePlaceholder:`Pilih nama pengguna`,email:`E-mel`,emailPlaceholder:`emel@anda.com`,password:`Kata Laluan`,passwordPlaceholder:`Pilih kata laluan`,confirmPassword:`Sahkan Kata Laluan`,confirmPasswordPlaceholder:`Sahkan kata laluan anda`,createAccount:`Cipta Akaun`,creatingAccount:`Sedang mencipta akaun...`,hasAccount:`Sudah mempunyai akaun?`,signInHere:`Log masuk di sini`,signupSuccess:`Akaun berjaya dicipta!`,approvalPending:`Pendaftaran diterima. Pentadbir perlu meluluskan akaun anda.`,awaitingApproval:`Menunggu kelulusan`,awaitingApprovalDescription:`Akaun anda telah dicipta, tetapi pentadbir perlu mengaktifkannya sebelum anda boleh log masuk.`,backToSignIn:`Kembali ke log masuk`,signupFailed:`Gagal mendaftar`,tryAgain:`Gagal mendaftar. Sila cuba lagi.`,usernameRequired:`Nama pengguna dan kata laluan diperlukan`,passwordMismatch:`Kata laluan tidak sepadan`},logout:{button:`Log keluar`,success:`Berjaya log keluar`},oauth:{continueWith:`Teruskan dengan {{provider}}`,connectingTo:`Menyambung ke {{provider}}...`,github:`GitHub`,huggingFace:`Hugging Face`,loginSuccess:`Log masuk OAuth berjaya!`,completionFailed:`Gagal melengkapkan pengesahan OAuth`,verificationFailed:`Pengesahan OAuth tidak dapat disahkan`,authenticationFailed:`Pengesahan OAuth gagal`},checkingAuth:`Memeriksa pengesahan...`,welcome:`Selamat datang`,noEmail:`Tiada e-mel`,role:`Peranan`,id:`ID`,userId:`ID pengguna`,signInDescription:`Log masuk dengan akaun GitHub anda untuk meneruskan`,signInWithGitHub:`Log masuk dengan GitHub`,jwtActive:`Pengesahan JWT aktif`,jwtDescription:`Pengesahan berasaskan JWT dengan GitHub OAuth`,github:`GitHub`,provider:`Pembekal`,tagline:`Tindanan AI anda patut menjawab kepada anda.`,selfHosted:`Dihoskan sendiri · Apache 2.0`,highlights:{local:{title:`Tempatan dahulu`,body:`Perbualan dan fail anda kekal pada mesin tempat anda menjalankan ini.`},providers:{title:`Mana-mana penyedia`,body:`Model tempatan melalui Ollama, serta penyedia jauh yang anda pilih untuk ditambah.`},work:{title:`Kerja Terpencil`,body:`Beri model ruang kerja terkotak pasir dengan fail, terminal, dan pratonton.`}},oidc:{defaultProviderName:`Log masuk tunggal`},mfa:{sectionTitle:`Pengesahan dua langkah`,sectionDescription:`Lindungi akaun anda dengan aplikasi pengesah dan kunci laluan.`,totpTitle:`Aplikasi pengesah`,totpEnabledHint:`Diaktifkan. Kod pemulihan belum digunakan: {{count}}`,totpDisabledHint:`Tambah langkah kedua pada log masuk kata laluan dengan kod sekali guna.`,enableButton:`Aktifkan`,disableButton:`Nyahaktifkan`,activateButton:`Sahkan`,regenerateCodes:`Kod pemulihan baharu`,confirmWithCode:`Sahkan dengan kod daripada aplikasi anda atau kod pemulihan`,enabled:`Pengesahan dua langkah diaktifkan.`,disabled:`Pengesahan dua langkah dinyahaktifkan.`,invalidCode:`Kod itu tidak sah.`,enrollFailed:`Persediaan tidak dapat dimulakan.`,challengeExpired:`Cabaran log masuk telah tamat. Sila log masuk semula.`,setupTitle:`Sediakan pengesahan dua langkah`,setupSubtitle:`Instans ini memerlukan langkah log masuk kedua. Tambahkan rahsia ke aplikasi pengesah anda untuk meneruskan.`,verifyTitle:`Masukkan kod anda`,verifyHint:`Masukkan kod 6 digit daripada aplikasi pengesah anda, atau kod pemulihan.`,secretHint:`Tambahkan rahsia ini ke aplikasi pengesah anda, kemudian sahkan dengan kod semasa.`,openAuthenticator:`Buka dalam aplikasi pengesah`,codeLabel:`Kod 6 digit`,codeOrRecoveryLabel:`Kod atau kod pemulihan`,codePlaceholder:`123456`,verifyButton:`Sahkan`,backToSignIn:`Kembali ke log masuk`,recoveryCodesTitle:`Kod pemulihan`,recoveryCodesHint:`Simpan kod ini di tempat selamat. Setiap satu membolehkan satu log masuk jika anda kehilangan pengesah anda.`,recoveryCodesSaved:`Saya telah menyimpan kod pemulihan saya`,recoveryCodesRegenerated:`Kod pemulihan baharu dicipta. Kod lama tidak lagi berfungsi.`},passkeys:{sectionTitle:`Kunci laluan`,sectionDescription:`Log masuk tanpa kata laluan menggunakan kunci skrin peranti anda atau kunci keselamatan.`,addButton:`Tambah kunci laluan`,empty:`Belum ada kunci laluan.`,unnamed:`Kunci laluan`,createdAt:`Ditambah`,lastUsedAt:`Terakhir digunakan`,removeButton:`Buang kunci laluan`,registered:`Kunci laluan ditambah.`,registerFailed:`Kunci laluan tidak dapat ditambah.`,removed:`Kunci laluan dibuang.`,removeFailed:`Kunci laluan tidak dapat dibuang.`,signInButton:`Log masuk dengan kunci laluan`,signInFailed:`Log masuk dengan kunci laluan gagal.`}},setup:{welcome:{title:`Selamat Datang ke Libre WebUI`,subtitle:`Mari Mulakan`,description:`Sediakan Libre WebUI anda dalam beberapa langkah mudah`,createAdmin:`Cipta Akaun Pentadbir`,features:{secure:{title:`Selamat & Peribadi`,description:`Perbualan anda kekal dalam peranti anda`},fast:{title:`Pantas & Responsif`,description:`Dioptimumkan untuk kelajuan dan prestasi`},openSource:{title:`Sumber Terbuka`,description:`Perisian percuma dan sumber terbuka`}}},admin:{title:`Cipta Akaun Pentadbir`,subtitle:`Persediaan Pentadbir`,description:`Cipta akaun pentadbir pertama untuk Libre WebUI anda`,usernamePlaceholder:`Masukkan nama pengguna pentadbir`,passwordPlaceholder:`Masukkan kata laluan (sekurang-kurangnya 12 aksara)`,confirmPlaceholder:`Sahkan kata laluan anda`,creating:`Sedang mencipta...`,createAdmin:`Cipta Pentadbir`,success:`Akaun pentadbir berjaya dicipta!`,failed:`Gagal mencipta akaun pentadbir`,approvalUnexpected:`Pentadbir awal tidak dapat diaktifkan. Sila cuba lagi.`,fillAllFields:`Sila isi semua ruangan`,note:`Ini akan menjadi akaun pentadbir utama untuk Libre WebUI anda`},encryptionKey:{title:`Simpan Kunci Penyulitan Anda`,subtitle:`Penting: Simpan Kunci Ini`,description:`Kunci penyulitan ini melindungi data sensitif anda. Simpan dengan selamat - anda memerlukannya jika perlu memulihkan pangkalan data anda.`,warning:`Amaran`,warningText:`Jika anda kehilangan kunci ini dan perlu memulihkan pangkalan data anda, data yang disulitkan (kunci API, keutamaan) tidak dapat dipulihkan.`,label:`Kunci Penyulitan Anda`,loading:`Memuatkan...`,copyToClipboard:`Salin ke papan keratan`,copied:`Kunci penyulitan disalin ke papan keratan!`,copyFailed:`Gagal menyalin kunci ke papan keratan`,envNote:`Kunci ini juga disimpan dalam fail backend/.env anda sebagai ENCRYPTION_KEY`,acknowledgment:`Saya telah menyimpan kunci penyulitan saya di lokasi yang selamat dan memahami bahawa kehilangannya boleh menyebabkan kehilangan data.`,confirmRequired:`Sila sahkan bahawa anda telah menyimpan kunci penyulitan`,continue:`Teruskan ke Libre WebUI`},connectModels:{title:`Sambungkan model anda`,subtitle:`Tempatan atau awan — pilih apa sahaja yang anda sudah gunakan. Anda sentiasa boleh menukarnya kemudian.`}},chat:{greeting:{morning:`Selamat pagi`,afternoon:`Selamat petang`,evening:`Selamat petang`,night:`Selamat malam`},followUp:`Susulan`,welcome:{helpToday:`Apa yang boleh saya bantu hari ini?`,helpTonight:`Apa yang boleh saya bantu malam ini?`,variety:{create:{title:`Apa yang mahu kita cipta?`,subtitle:`Mulakan dengan buah fikiran, lakaran, atau masalah yang sukar diselesaikan.`},explore:{title:`Dari mana kita patut bermula?`,subtitle:`Bawa persoalan yang sering bermain di fikiran anda.`},imagine:{title:`Apa yang anda bayangkan?`,subtitle:`Kita boleh membentuknya bersama-sama.`},focus:{title:`Apa yang wajar mendapat perhatian anda?`,subtitle:`Mari jelaskan langkah seterusnya.`},untangle:{title:`Apa yang bersimpul?`,subtitle:`Ceritakan dahulu versi yang masih berserabut.`},momentum:{title:`Mulakan apabila anda bersedia.`,subtitle:`Sambung semula idea, rancangan, atau perkara yang belum selesai.`},open:{title:`Apa yang sedang anda fikirkan?`,subtitle:`Fikiran kecil atau projek bercita-cita besar, kedua-duanya boleh.`},challenge:{title:`Apa yang mahu kita selesaikan?`,subtitle:`Beritahu saya bahagian yang masih belum menjadi.`},draft:{title:`Mari bermula di mana-mana.`,subtitle:`Tak perlu sempurna lagi.`},possibility:{title:`Ini boleh menjadi apa?`,subtitle:`Tunjukkan bahan mentahnya.`},unexpected:{title:`Mari cipta sesuatu yang tidak dijangka.`,subtitle:`Beri saya satu kekangan, suasana, atau idea yang masih samar.`}}},input:{placeholder:`Hantar mesej`,messagePlaceholder:`Mesej...`,attachImages:`Lampirkan imej`,attachments:`Lampiran dan ciri lanjutan`,sendMessage:`Hantar mesej`,stopGeneration:`Hentikan penjanaan`,menu:{uploadImages:`Muat naik imej`,attachDocument:`Lampirkan dokumen`,attachWebpage:`Lampirkan halaman web`,structuredOutput:`Output berstruktur`,attach:`Lampirkan`,documentAttached:`Dokumen dilampirkan`,webpageAttached:`Halaman web dilampirkan`,attachFailed:`Tidak dapat melampirkan`,attachKnowledge:`Lampirkan pengetahuan`,noCollections:`Tiada koleksi lagi — cipta satu di Tetapan → Dokumen`},voiceInput:`Input suara`,voiceStop:`Berhenti mendengar`,transcriptionSource:`Sumber pengecaman pertuturan`,browserSpeech:`Perkhidmatan pertuturan pelayar`,providerTranscriptionDisclosure:`Rakam dan hantar audio kepada {{provider}} untuk transkripsi`,webSearchOn:`Carian web hidup — balasan menggunakan hasil langsung`,webSearchOff:`Cari di web untuk mesej ini`,toolsOn:`Alat dihidupkan — model boleh memanggil alat yang diluluskan`,toolsOff:`Benarkan model memanggil alat untuk mesej ini`,thinkingOn:`Pemikiran aktif ({{level}})`,thinkingOff:`Fikir sebelum menjawab`},session:{new:`Sembang Baharu`,work:`Kerja`,chat:`Sembang`,private:`Peribadi`,incognito:`Sembang Inkognito`,privateMode:`Mod Peribadi`,privateDescription:`Perbualan ini tidak akan disimpan`,privateTooltip:`Mulakan perbualan peribadi yang tidak akan disimpan`,deleteConfirm:`Adakah anda pasti mahu memadamkan sembang ini?`,generatingTitle:`Menjana tajuk`,noChats:`Belum ada sembang`,createFirst:`Cipta sembang pertama anda di atas`,chats:`Sembang`,renameChat:`Namakan semula sembang`,openNewTab:`Buka dalam tab baharu`,pinChat:`Semat`,unpinChat:`Nyahsemat`,deleteChat:`Padam sembang`,archiveChat:`Arkibkan sembang`,groups:{pinned:`Disemat`,today:`Hari ini`,yesterday:`Semalam`,previous7Days:`7 hari lepas`,previous30Days:`30 hari lepas`,older:`Lebih lama`},folder:{new:`Folder baharu`,namePlaceholder:`Nama folder`,move:`Alih ke folder`,remove:`Keluarkan dari folder`,delete:`Padam folder`,deleteConfirm:`Padam folder ini? Sembang di dalamnya kekal.`},shareChat:`Kongsi sembang…`},persona:{applied:`Persona digunakan`,label:`Persona`,loadFailed:`Gagal memuatkan butiran persona`,removeFailed:`Gagal mengeluarkan persona`},model:{updated:`Model dikemas kini`,noModels:`Tiada model tersedia`,noModelsDescription:`Tiada model tersedia. Pastikan Ollama sedang berjalan dan mempunyai model yang dipasang.`,pullCommand:`ollama pull llama3.2:3b`,noModelsTooltip:`Tiada model tersedia. Sila pastikan Ollama sedang berjalan dan model telah dipasang.`,selectBeforePrivateChat:`Pilih model yang tersedia sebelum memulakan sembang peribadi`,selectBeforeSending:`Pilih model yang tersedia sebelum menghantar`,selectBeforeRegenerating:`Pilih model yang tersedia sebelum menjana semula`,connectDescription:`Belum ada model disambungkan. Pilih sumber di bawah — masa jalan tempatan, pelayan anda sendiri, atau API awan — dan anda akan mula bersembang dalam masa kurang seminit.`},footer:{disclaimer:`LLM boleh membuat kesilapan - sahkan maklumat penting`,images:`{{count}} imej`,images_plural:`{{count}} imej`,structuredOutput:`Output berstruktur`},mediaUpload:{dropImagesHere:`Lepaskan imej di sini atau`,supportedFormats:`Sokongan: JPG, PNG, GIF, WebP (maks 10MB setiap satu)`,browse:`layari`,unsupportedFileType:`Jenis fail tidak disokong: {{name}}`,maxImagesAllowed:`Maksimum {{count}} imej dibenarkan`,imageTooLarge:`Imej {{name}} terlalu besar (maksimum 10MB)`},structuredOutput:{title:`Format Respons`,none:`Tiada (Bahasa Semula Jadi)`,noneDescription:`Respons bahasa semula jadi lalai`,json:`JSON`,jsonDescription:`Format JSON berstruktur`,list:`Senarai`,listDescription:`Tatasusunan item`,summary:`Ringkasan`,summaryDescription:`Ringkasan dokumen dengan perkara utama`,analysis:`Analisis`,analysisDescription:`Analisis berstruktur dengan kebaikan/keburukan`,custom:`Skema Tersuai`,customDescription:`Tentukan skema JSON anda sendiri`,customSchema:`Skema JSON tersuai`,schemaPreview:`Pratonton Skema`,applySchema:`Gunakan Skema`,cancel:`Batal`,enabled:`Output berstruktur diaktifkan`},controls:{title:`Kawalan sembang`,systemPrompt:`Prompt sistem`,systemPromptPlaceholder:`Arahan yang terpakai untuk sembang ini sahaja…`,advancedParams:`Parameter lanjutan`,advancedParamsDescription:`Penggantian untuk sembang ini. Medan kosong menggunakan lalai global.`,fromModel:`daripada model`,fromModelHint:`Nilai ini datang daripada tetapan yang disyorkan oleh model itu sendiri.`,contextCapped:`Konteks dihadkan pada {{context}} daripada {{trained}} yang dilatih untuk model ini, supaya ia masih dimuatkan.`,saved:`Kawalan disimpan`,saveFailed:`Tidak dapat menyimpan kawalan`,params:{temperature:`Suhu`,topP:`Top P`,topK:`Top K`,minP:`Min P`,maxTokens:`Token maks.`,repeatPenalty:`Penalti ulangan`,seed:`Benih`,contextLength:`Panjang konteks`},thinking:`Pemikiran`,thinkingDescription:`Sebanyak mana model berfikir sebelum menjawab. Model tanpa penaakulan mengabaikannya.`,compaction:`Pemadatan konteks`,compactionDescription:`Apabila pelayan memadatkan perbualan panjang, sembang ini boleh dikecualikan dan menyimpan sejarah penuhnya.`,compactionDefault:`Lalai pelayan`,compactionOff:`Dimatikan untuk sembang ini`},message:{sources:`Sumber`},toasts:{chatCreated:`Chat baharu dicipta`,createFailed:`Gagal mencipta sesi`,loadFailed:`Gagal memuatkan sesi`,chatDeleted:`Chat dipadam`,deleteFailed:`Gagal memadam chat`,deleteSessionFailed:`Gagal memadam sesi`,historyCleared:`Semua sejarah chat dipadamkan`,historyClearFailed:`Gagal memadamkan sejarah chat`,titleUpdated:`Tajuk chat dikemas kini`,updateFailed:`Gagal mengemas kini sesi`,noValidSession:`Tiada sesi chat yang sah. Sila cipta atau pilih chat.`,sessionNotFound:`Sesi tidak ditemui atau tidak sah. Sila pilih atau cipta sesi chat yang sah.`,noModelProvider:`Tiada pembekal model tersedia`,modelUnavailable:`Model yang dipilih "{{model}}" tidak tersedia daripada {{provider}}. Aktifkan semula pembekal itu atau pilih model lain.`,modelSwitched:`Ditukar kepada {{model}} (model sebelumnya tidak lagi tersedia)`,modelsLoadFailed:`Gagal memuatkan model`,modelUpdated:`Model dikemas kini untuk chat semasa`,modelUpdateFailed:`Gagal mengemas kini model sesi`,titlePreviewFallback:`Tajuk tidak dapat dijana; pratonton mesej digunakan`,titleGenerated:`Tajuk sembang dijana`,titleGenerationFailed:`Gagal menjana tajuk sembang`,sessionNotFoundRedirect:`Sesi tidak ditemui. Mencipta sesi baharu...`,comparisonError:`{{model}}: {{error}}`,generationFailed:`penjanaan gagal`,comparisonFailed:`perbandingan gagal`,sendFailed:`Gagal menghantar mesej`,noMessageToRegenerate:`Tiada mesej untuk dijana semula`,regenerateFailed:`Gagal menjana semula mesej`,messageNotFound:`Mesej tidak ditemui`,branchSwitched:`Bertukar kepada varian {{number}}`,branchSelectFailed:`Gagal memilih cabang`,editFailed:`Gagal mengedit mesej`,toolDecisionFailed:`Keputusan alat tidak dapat direkodkan`},documents:{title:`Dokumen dalam konteks`},context:{title:`Tetingkap konteks:`,full:`{{percent}}% penuh`,tokensUsed:`{{used}} / {{budget}} token digunakan`,tokensUsedNoBudget:`{{used}} token digunakan`,capped:`dihadkan daripada {{trained}}`},queue:{title:`Dalam giliran ({{total}})`,moveUp:`Naik`,moveDown:`Turun`,updateFailed:`Tidak dapat mengemas kini prom dalam giliran`,enqueueFailed:`Tidak dapat membariskan prom`},compare:{title:`Banding model`,hint:`Jawab dengan sehingga {{max}} model tambahan`},fork:{action:`Cabangkan dari sini`,created:`Sembang dicabangkan`,failed:`Tidak dapat mencabangkan sembang`,origin:`Dicabangkan daripada {{title}}`,originUnknown:`sembang lain`},sharedReadOnly:`Dikongsi oleh {{owner}} — paparan sahaja`},sidebar:{navigation:{chat:`Sembang`,models:`Model`,personas:`Persona`,imagine:`Bayangkan`,agents:`Ejen`,work:`Kerja`,settings:`Tetapan`,usageAnalytics:`Penggunaan Penyedia`,system:`Sistem`,userManagement:`Pengurusan Pengguna`,signOut:`Log Keluar`,exploreLabel:`Terokai`,notes:`Nota`,calendar:`Kalendar`,automations:`Automasi`,prompts:`Prompt`,skills:`Kemahiran`,tools:`Alat`,channels:`Saluran`},toggleSize:`Togol saiz bar sisi`,expandSidebar:`Kembangkan bar sisi`},user:{menu:{changePicture:`Tukar Gambar`,settings:`Tetapan`,usageAnalytics:`Penggunaan Penyedia`,system:`Sistem`,userManagement:`Pengurusan Pengguna`,logout:`Log keluar`,pinShortcut:`Semat ke bar sisi`,unpinShortcut:`Nyahsemat dari bar sisi`,evaluations:`Penilaian`},avatar:{title:`Tukar Gambar Profil`,updated:`Gambar profil dikemas kini`,updateFailed:`Gagal mengemas kini gambar profil`,saving:`Menyimpan...`,label:`Avatar`,uploadAvatarImage:`Muat naik gambar avatar`,dragAndDrop:`Seret dan lepas gambar atau klik untuk menyemak imbas`,chooseImage:`Pilih Gambar`,uploading:`Memuat naik...`,enterImageUrl:`Atau masukkan URL gambar`,supportedFormats:`Menyokong: JPG, PNG, GIF, WebP (maks. 2MB). Gambar segi empat sama berfungsi paling baik.`,customAvatar:`Gambar avatar tersuai`,clickToChange:`Klik untuk menukar atau mengalih keluar`,removed:`Avatar dialih keluar`,uploaded:`Avatar berjaya dimuat naik`,invalidFile:`Sila pilih fail gambar yang sah`,fileTooLarge:`Saiz gambar avatar mesti kurang daripada 2MB`,readFailed:`Gagal membaca fail gambar`,uploadFailed:`Gagal memuat naik gambar avatar`},profile:{noEmail:`Tiada e-mel diberikan`}},settings:JSON.parse(`{"title":"Tetapan","tabs":{"appearance":"Penampilan","model":"Lalai","systemMessage":"Mesej Sistem","plugins":"Plugin","search":"Carian","generation":"Penjanaan","documents":"Dokumen","tts":"Suara","imageGen":"Imej","data":"Data","shortcuts":"Pintasan","about":"Perihal","sessions":"Sesi","apiKeys":"Kunci API","notifications":"Pemberitahuan","ollamaDisabled":"Ollama dilumpuhkan oleh pentadbir"},"appearance":{"title":"Penampilan","language":{"title":"Bahasa","description":"Pilih bahasa pilihan anda"},"theme":{"title":"Tema","light":"Cerah","dark":"Gelap","amoled":"Hitam Tulen","celestial":"Celestial","system":"Sistem"},"accent":{"title":"Warna aksen","custom":"Warna tersuai","useColor":"Gunakan aksen {{color}}","behaviorTitle":"Palet antara muka","behaviorDescription":"Pilih sama ada aksen hanya digunakan pada kawalan atau menyesuaikan seluruh antara muka cerah atau gelap.","defaultStyle":"Lalai","defaultStyleDescription":"Kekalkan permukaan neutral tema cerah dan gelap.","adaptedStyle":"Sesuaikan dengan aksen","adaptedStyleDescription":"Warnakan permukaan, sempadan dan teks dengan warna aksen."},"chatInterface":{"title":"Antara Muka Sembang","showUsername":"Tunjukkan Nama Pengguna","showUsernameDescription":"Paparkan nama pengguna dalam mesej sembang","followUpSuggestions":"Cadangan susulan","followUpSuggestionsDescription":"Cadangkan balasan pantas selepas setiap respons","hapticFeedback":"Maklum balas haptik (Android)","hapticFeedbackDescription":"Gunakan getaran halus untuk tindakan mudah alih penting","autoOpenArtifacts":"Buka artifak secara automatik","autoOpenArtifactsDescription":"Buka panel artifak apabila jawapan menciptanya"},"background":{"title":"Imej Latar Belakang","enable":"Aktifkan imej latar belakang","enableDescription":"Tunjukkan latar belakang tersuai dengan kesan kabur","blur":"Kabur","opacity":"Kelegapan","upload":"Muat naik imej latar belakang","dragDrop":"Seret dan lepas imej atau klik untuk melayari","chooseImage":"Pilih Imej"},"celestial":{"title":"Waktu hari","description":"Celestial mengikut matahari di tempat anda. Seret untuk pratonton mana-mana minit, atau biarkan ia mengikut jam.","followClock":"Ikut jam","sunrise":"Matahari terbit","sunset":"Matahari terbenam","location":"Lokasi","locationHint":"Pilihan. Disimpan hanya dalam pelayar ini dan tidak pernah dihantar ke pelayan; koordinat dibundarkan kira-kira satu kilometer.","useMyLocation":"Guna lokasi saya","locationDenied":"Pelayar tidak berkongsi lokasi. Anda boleh taip koordinat.","latitude":"Latitud","longitude":"Longitud","apply":"Guna","clear":"Kosongkan","approximateDay":"Anggaran panjang hari","weather":"Ikut cuaca","weatherHint":"Mengambil keadaan semasa daripada Open-Meteo untuk lokasi anda: awan, hujan, salji, kabus dan angin membentuk langit. Memerlukan lokasi.","weatherLoading":"Mengambil cuaca…","weatherUnavailable":"Cuaca tidak tersedia sekarang.","wind":"angin {{speed}} km/j","kinds":{"clear":"Cerah","partly":"Sebahagian berawan","overcast":"Mendung","fog":"Kabus","drizzle":"Gerimis","rain":"Hujan","snow":"Salji","thunder":"Ribut petir"}}},"saveSettings":"Simpan Tetapan","preferences":{"updateFailed":"Gagal mengemas kini tetapan: {{error}}"},"model":{"title":"Tetapan Model","defaultModel":"Model Lalai","defaultModelDescription":"Model ini akan digunakan secara lalai untuk perbualan baharu","selectModel":"Pilih model","specializedModels":"Model Khusus","visionModel":"Model Penglihatan","selectVisionModel":"Guna model sembang semasa","visionModelDescription":"Digunakan secara automatik apabila konteks sembang keluar mengandungi imej. Pilih model yang menyokong input imej.","visionModelUpdateFailed":"Gagal mengemas kini model penglihatan: {{error}}","visionModelNoProvider":"Model penglihatan ini tiada identiti pembekal. Pilih model yang tersedia.","persona":"Persona","updateAll":"Kemas Kini Semua Model","updateAllDescription":"Semak kemas kini dan muat turun versi terkini semua model yang dipasang","updateAllButton":"Kemas Kini Semua","updating":"Mengemas kini model...","currentModelInfo":"Maklumat Model Semasa","name":"Nama","size":"Saiz","family":"Keluarga","format":"Format","status":"Status","statusStarting":"Memulakan...","statusComplete":"Selesai","statusError":"Ralat","bulkOperations":"Operasi Pukal","autoTitle":{"title":"Penjanaan Tajuk Auto","enable":"Aktifkan Tajuk Auto","enableDescription":"Jana tajuk secara automatik untuk perbualan baharu","taskModel":"Model Tugas","selectTaskModel":"Pilih model tugas","taskModelDescription":"Model yang digunakan untuk menjana tajuk perbualan"},"updatingModel":"Mengemas kini {{name}} ({{current}}/{{total}})","modelsProgress":"{{current}} daripada {{total}} model","defaultModelUpdated":"Model lalai dikemas kini","allModelsUpdated":"Semua model berjaya dikemas kini!","updateAllFailed":"Gagal mengemas kini model: {{error}}"},"systemMessage":{"title":"Mesej Sistem","description":"Tetapkan mesej sistem tersuai yang akan digunakan untuk semua perbualan baharu.","placeholder":"Masukkan mesej sistem...","saved":"Mesej sistem disimpan","saveFailed":"Gagal menyimpan mesej sistem"},"plugins":{"title":"Plugin","description":"Urus plugin yang dipasang","providerConnections":"Sambungan penyedia","providerConnectionsDescription":"Sambung, konfigur, dan periksa penyedia model melalui pemalam.","providers":"Penyedia","searchProviders":"Cari penyedia","noProvidersFound":"Tiada penyedia sepadan dengan carian anda.","selectProvider":"Pilih penyedia","selectProviderDescription":"Pilih penyedia untuk memeriksa sambungan dan katalog modelnya.","addNew":"Tambah Plugin Baharu","upload":"Muat Naik Plugin","addJson":"Tambah JSON","uploading":"Memuat naik...","jsonPlaceholder":"Tampal konfigurasi JSON plugin...","install":"Pasang Plugin","noPlugins":"Tiada plugin dipasang","noPluginsDescription":"Tambah plugin untuk memanjangkan fungsi","loading":"Memuatkan plugin...","installed":"Plugin Dipasang","active":"Plugin Aktif","activeLabel":"Aktif","inactive":"Tidak Aktif","activate":"Aktifkan","deactivate":"Nyahaktifkan","models":"model","apiKeySet":"Kunci API Ditetapkan","apiKeyConfiguration":"Konfigurasi Kunci API","apiKeyDescription":"Simpan kunci API peribadi untuk {{name}}.","apiKeyEnvAlternative":"Sebagai alternatif, tetapkan","environmentVariable":"pemboleh ubah persekitaran","apiKeyConfigured":"Kunci API dikonfigurasi","apiKeyPlaceholder":"Masukkan kunci API anda...","saveApiKey":"Simpan Kunci API","showApiKey":"Tunjukkan kunci API","hideApiKey":"Sembunyikan kunci API","configure":"Konfigur","providerSettings":"Tetapan penyedia","status":"Status","defaultEndpoint":"Titik akhir lalai","modelCatalog":"Katalog model","modelCatalogDescription":"Model yang ditemui dan dikonfigur untuk penyedia ini serta keupayaannya.","refreshModels":"Segarkan model","noModelsConfigured":"Tiada model dikonfigurasi untuk penyedia ini.","modelId":"ID Model","capabilities":"Keupayaan","modelCatalogUpdated":"Katalog model dikemas kini: {{count}} model.","modelCatalogUnchanged":"Katalog model sudah dikemas kini.","modelCatalogNeedsApiKey":"Tambah kunci API yang sah untuk penyedia ini bagi memuatkan senarai model langsungnya.","modelCatalogUnavailable":"Tidak dapat memuatkan senarai model penyedia.","modelCatalogRefreshFailed":"Gagal memuat semula katalog model","invalidJson":"Format JSON tidak sah","capability":{"chat":"Sembang","embedding":"Pembenaman","image":"Imej","speech":"Ucapan","transcription":"Transkripsi"},"exportPlugin":"Eksport plugin","deletePlugin":"Padam plugin","apiKey":{"title":"Kunci API","placeholder":"Masukkan kunci API","save":"Simpan Kunci","remove":"Buang Kunci","configured":"Kunci API Dikonfigurasi","notConfigured":"Kunci API Diperlukan","saved":"Kunci API berjaya disimpan","removed":"Kunci API dibuang","saveFailed":"Gagal menyimpan kunci API","removeFailed":"Gagal membuang kunci API","enterKey":"Sila masukkan kunci API"},"variables":"Variables"},"generation":{"title":"Pilihan Penjanaan","description":"Konfigurasi cara AI menjana respons","scopeLabel":"Digunakan pada","scopeAll":"Semua model","scopeModel":"Hanya {{model}}","scopeAllHint":"Nilai yang digunakan setiap model melainkan ia mempunyai nilainya sendiri.","scopeModelHint":"Disimpan untuk model ini sahaja dan mengatasi nilai umum.","advancedSettings":"Tetapan penjanaan lanjutan","advancedSettingsDescription":"Persampelan, had token, konteks, penalti, dan jujukan berhenti","coreParameters":"Parameter Teras","temperature":"Suhu","temperatureDescription":"Mengawal rawak. Nilai lebih rendah lebih fokus, nilai lebih tinggi lebih kreatif.","topP":"Top P","topPDescription":"Mengawal kepelbagaian melalui persampelan nukleus. Nilai lebih rendah fokus pada token berkemungkinan.","topK":"Top K","topKDescription":"Menghadkan pemilihan token kepada K teratas yang paling berkemungkinan. Tetapkan 0 untuk nyahaktif.","minP":"Min P","minPDescription":"Ambang kebarangkalian minimum untuk pemilihan token.","generationControl":"Kawalan Penjanaan","maxTokens":"Token Maksimum","maxTokensDescription":"Bilangan maksimum token untuk dijana dalam respons.","repeatPenalty":"Penalti Ulangan","repeatPenaltyDescription":"Menghukum token berulang. Nilai lebih tinggi mengurangkan pengulangan.","contextLength":"Panjang Konteks","contextLengthDescription":"Saiz tingkap konteks maksimum untuk perbualan.","seed":"Benih","optional":"pilihan","random":"Rawak","seedDescription":"Tetapkan benih khusus untuk output yang boleh diulang.","advancedOptions":"Pilihan Lanjutan","presencePenalty":"Penalti Kehadiran","presencePenaltyDescription":"Menghukum token yang muncul dalam konteks.","frequencyPenalty":"Penalti Kekerapan","frequencyPenaltyDescription":"Menghukum token yang kerap digunakan.","stopSequences":"Urutan Berhenti","commaSeparated":"dipisahkan koma","stopSequencesDescription":"Token tersuai yang akan menghentikan penjanaan apabila ditemui.","resetDefaults":"Tetap Semula ke Lalai","saveOptions":"Simpan Pilihan","saveSuccess":"Pilihan penjanaan berjaya dikemas kini","saveFailed":"Gagal mengemas kini pilihan penjanaan: {{error}}","modelDefaultsLoaded":"Tetapan yang disyorkan oleh {{model}} telah dimuatkan","resetSuccess":"Pilihan penjanaan ditetapkan semula kepada lalai","resetFailed":"Gagal menetapkan semula pilihan penjanaan kepada lalai: {{error}}","embeddingSettings":"Tetapan Pembenaman","enableEmbeddings":"Aktifkan Pembenaman Dokumen","thinking":"Pemikiran","thinkingDescription":"Tahap pemikiran lalai untuk jawapan. Setiap sembang boleh mengubahnya.","thinkingLevels":{"default":"Lalai model","defaultWith":"Lalai model ({{level}})","off":"Mati","on":"Hidup","low":"Rendah","medium":"Sederhana","high":"Tinggi"}},"documents":{"title":"Tetapan Dokumen","embeddings":{"title":"Pembenaman","enable":"Aktifkan pembenaman dokumen","model":"Model Pembenaman","modelDescription":"Pilih model yang digunakan untuk pembenaman dokumen","chunkSize":"Saiz Cebisan","chunkSizeInTokens":"(dalam token)","chunkSizeDescription":"Saiz cebisan teks untuk pembenaman","chunkOverlap":"Pertindihan Cebisan","chunkOverlapInTokens":"(dalam token)","chunkOverlapDescription":"Pertindihan antara cebisan berturutan","similarityThreshold":"Ambang Persamaan","similarityDescription":"Skor persamaan minimum untuk memasukkan hasil","status":"Status Pembenaman","statusLabel":"Status","available":"Tersedia","unavailable":"Tidak Tersedia","chunksWithEmbeddings":"Cebisan dengan pembenaman","coverage":"Liputan","regenerate":"Jana Semula Pembenaman","regenerating":"Menjana semula...","regenerateSuccess":"Pembenaman untuk {{count}} dokumen berjaya dijana semula","regeneratePartialSuccess":"{{count}} dokumen dijana semula; {{skipped}} dilangkau","regenerateFailed":"Gagal menjana semula pembenaman: {{error}}","saveSuccess":"Tetapan pembenaman berjaya dikemas kini","saveFailed":"Gagal mengemas kini tetapan pembenaman: {{error}}","resetSuccess":"Tetapan pembenaman ditetapkan semula kepada lalai","resetFailed":"Gagal menetapkan semula tetapan pembenaman kepada lalai: {{error}}"},"collections":{"title":"Koleksi pengetahuan","description":"Kumpulkan dokumen ke dalam koleksi dan lampirkan pada mana-mana sembang.","namePlaceholder":"Nama koleksi","create":"Cipta","none":"Tiada koleksi","deleteConfirm":"Padam koleksi ini? Dokumen di dalamnya kekal.","createFailed":"Gagal mencipta koleksi","deleteFailed":"Gagal memadamkan koleksi","assignFailed":"Gagal memindahkan dokumen","share":"Kongsi koleksi","shared":"dikongsi"},"library":{"title":"Dokumen yang dimuat naik","description":"Dokumen yang tersedia sebagai konteks sembang. Dokumen yang dimuat naik dalam sembang kekal dalam perbualannya; dokumen tanpa sembang dan koleksi menyertai setiap perbualan.","empty":"Tiada dokumen dimuat naik lagi.","chatScope":"Satu sembang","everyChatScope":"Semua sembang","deleteConfirm":"Padam \\"{{name}}\\"? Ia akan hilang daripada semua sembang.","deleteFailed":"Gagal memadamkan dokumen","extractionFailed":"Pengekstrakan gagal","extractionQueued":"Mengekstrak…"}},"tts":{"title":"Teks ke Pertuturan","description":"Konfigurasi tetapan teks ke pertuturan untuk membaca mesej dengan kuat","loadingProviders":"Memuatkan penyedia TTS...","noProviders":"Tiada Penyedia TTS","noProvidersDescription":"Konfigurasi plugin dengan sokongan TTS untuk mengaktifkan teks ke pertuturan","enable":"Aktifkan TTS","enableDescription":"Benarkan teks ke pertuturan untuk mesej pembantu","autoPlay":"Main Auto Respons","autoPlayDescription":"Baca mesej pembantu baharu secara automatik dengan kuat","streamSentences":"Main balik batch semula jadi","streamSentencesDescription":"Jana beberapa batch yang mengambil kira frasa lebih awal dan mainkannya sebagai satu respons berterusan.","voiceConfiguration":"Konfigurasi Suara","model":"Model TTS","modelDescription":"Pilih model untuk penjanaan teks ke pertuturan","voice":"Suara","selectVoice":"Pilih suara","voiceDescription":"Pilih suara untuk teks ke pertuturan","providerDefaultVoice":"Model ini menggunakan suara lalainya melainkan anda memberikan rakaman rujukan semasa menjana pertuturan.","voiceCloningAvailable":"Pengklonan suara tersedia","voiceCloningAvailableDescription":"Gunakan Bayangkan → Audio untuk mencipta pertuturan daripada rakaman rujukan yang telah mendapat persetujuan berserta transkrip tepatnya. Anda boleh menyimpan rujukan sebagai suara yang boleh digunakan semula.","savedVoiceOption":"{{name}} (suara tersimpan)","savedVoices":"Suara tersimpan","loadingSavedVoices":"Memuatkan suara tersimpan…","deleteSavedVoice":"Padam suara tersimpan {{name}}","deleteSavedVoiceConfirm":"Padam suara tersimpan “{{name}}”? Rakaman rujukan dan transkripnya akan dibuang.","savedVoiceDeleted":"Suara tersimpan telah dipadam","savedVoicePreferenceCleanupFailed":"Suara tersimpan telah dipadam, tetapi tetapan Pertuturan tidak dapat ditetapkan semula","savedVoiceDeleteFailed":"Gagal memadam suara tersimpan","speed":"Kelajuan","speedSlow":"0.5x","speedNormal":"1.0x","speedFast":"2.0x","availableProviders":"Penyedia Tersedia","models":"model","test":"Uji","testing":"Menguji...","stop":"Berhenti","consentRevoked":"Persetujuan ditarik balik","consentExpired":"Persetujuan tamat tempoh","transferCount":"dihantar kepada penyedia {{total}} kali","consentExpires":"persetujuan hingga {{date}}","revokeSavedVoice":"Tarik balik persetujuan untuk {{name}}","revokeSavedVoiceConfirm":"Tarik balik persetujuan untuk “{{name}}”? Suara yang disimpan tidak boleh digunakan lagi, tetapi rekod persetujuan dikekalkan.","savedVoiceRevoked":"Persetujuan ditarik balik","savedVoiceRevokeFailed":"Gagal menarik balik persetujuan","savedVoiceUnavailableCleanupFailed":"Suara yang disimpan tidak tersedia dan tidak dapat dikosongkan daripada tetapan Pertuturan","saveSuccess":"Tetapan TTS berjaya disimpan","saveFailed":"Gagal menyimpan tetapan TTS: {{error}}","testFailed":"Ujian TTS gagal: {{error}}"},"imageGen":{"title":"Penjanaan Imej","description":"Konfigurasi tetapan dan penyedia penjanaan imej","loadingProviders":"Memuatkan penyedia penjanaan imej...","noProviders":"Tiada Penyedia Penjanaan Imej","noProvidersDescription":"Konfigurasi plugin dengan sokongan penjanaan imej","enable":"Aktifkan Penjanaan Imej","enableDescription":"Benarkan penjanaan imej AI dalam perbualan","configuration":"Konfigurasi","model":"Model","modelDescription":"Pilih model untuk penjanaan imej","size":"Saiz","sizeDescription":"Resolusi imej yang dijana","quality":"Kualiti","qualityDescription":"Tahap kualiti imej yang dijana","style":"Gaya","styleDescription":"Pratetap gaya untuk imej yang dijana","availableProviders":"Penyedia Tersedia","models":"model","saveSuccess":"Tetapan penjanaan imej berjaya disimpan","saveFailed":"Gagal menyimpan tetapan penjanaan imej: {{error}}"},"data":{"title":"Pengurusan Data","export":"Eksport Data","exportDescription":"Muat turun arkib mudah alih yang mengandungi keutamaan, folder sembang, sesi dan mesej, nota, koleksi pengetahuan serta teks dokumen yang diekstrak.","archiveScopeV3":"Merangkumi keutamaan, sembang, folder, nota, koleksi pengetahuan dan teks dokumen yang diekstrak. Tidak termasuk akaun dan rahsia, suara klon biometrik, media yang dijana, persona dan memori serta data atau volum Work.","exportAll":"Eksport Semua Data","import":"Import Data","importDescription":"Import data dari eksport sebelumnya.","importData":"Import Data","importing":"Mengimport...","clearSessions":"Kosongkan Sesi","clearSessionsDescription":"Padam semua sesi sembang. Tindakan ini tidak boleh dibatalkan.","clearAll":"Kosongkan Semua","clearing":"Mengosongkan...","importOptions":"Pilihan Import","importOptionsDescription":"Pilih cara mengendalikan data sedia ada","validatingArchive":"Mengesahkan arkib dan mengira perubahan…","archiveValidationFailed":"Pengesahan arkib gagal","preflightReport":"Pratonton import","preflightIncoming":"{{folders}} folder · {{sessions}} sembang · {{messages}} mesej · {{notes}} nota · {{collections}} koleksi · {{documents}} dokumen · {{chunks}} cebisan","preflightRemappedIds":"{{count}} ID akan dipetakan semula untuk melindungi data akaun lain.","skipDuplicates":"Langkau pendua","overwrite":"Tulis ganti sedia ada","importResults":"Hasil Import","preferences":"Keutamaan","imported":"Diimport","failed":"Gagal","sessions":"Sesi","sessionFolders":"Folder sesi","notes":"Nota","knowledgeCollections":"Koleksi pengetahuan","importedLabel":"diimport","overwrittenLabel":"ditulis ganti","skipped":"dilangkau","toCreate":"untuk dicipta","toOverwrite":"untuk ditulis ganti","toSkip":"untuk dilangkau","documents":"Dokumen","warnings":"Amaran","refreshAfterImportFailed":"Data telah diimport, tetapi sesetengah paparan tidak dapat disegar semula. Muat semula Libre WebUI untuk melihat semua perubahan.","exportSuccess":"Arkib data mudah alih berjaya dieksport","exportFailed":"Eksport gagal","importSuccess":"Arkib data mudah alih berjaya diimport","importFailed":"Import gagal","archiveErrors":{"invalidJson":"Arkib mudah alih bukan JSON yang sah.","objectRequired":"Arkib mudah alih mesti mengandungi objek JSON.","unsupportedVersion":"Versi arkib mudah alih {{version}} tidak disokong.","unrecognized":"Fail ini bukan arkib mudah alih Libre WebUI."},"errors":"Ralat","archivedChats":{"title":"Sembang diarkibkan","empty":"Tiada sembang diarkibkan","unarchive":"Nyahakrib"}},"about":{"title":"Perihal","versionLabel":"Versi","ollama":{"title":"Status Ollama","version":"Versi","healthy":"Sihat","unhealthy":"Tidak Sihat"},"stats":{"models":"Model","sessions":"Sesi"},"features":{"privacy":{"title":"Privasi Diutamakan","description":"Data anda kekal dalam peranti anda"},"openSource":{"title":"Sumber Terbuka","description":"Perisian percuma dan sumber terbuka"},"localInference":{"title":"Inferens Tempatan","description":"Jalankan model AI secara tempatan dengan Ollama"}},"openSourceBy":"Sumber terbuka oleh {{company}}","links":{"title":"Pautan","github":"GitHub","githubDescription":"Lihat kod sumber dan sumbang","website":"Laman Web","websiteDescription":"Lawati laman web kami","documentation":"Documentation","reportIssue":"Laporkan Isu","reportIssueDescription":"Laporan pepijat & permintaan ciri","documentationDescription":"Guides, tutorials and API reference","forgejo":"Forgejo Mirror","forgejoDescription":"Self-hosted Forgejo repository","sponsor":"Penaja","sponsorDescription":"Bantu biayai projek ini","star":"Bintang di GitHub","starDescription":"Bintang membantu orang lain menemui projek ini"},"version":"Versi {{version}}","updates":{"checking":"Menyemak kemas kini…","upToDate":"Anda menggunakan versi terkini","updateAvailable":"Versi {{version}} tersedia","ahead":"Mendahului keluaran terkini ({{version}})","checkFailed":"Tidak dapat menyemak kemas kini","viewChangelog":"Lihat log perubahan"}},"groups":{"general":"Umum","chat":"Sembang","media":"Suara & imej","connections":"Sambungan","admin":"Pentadbiran"},"search":{"title":"Carian web","description":"Cari di web melalui instans SearXNG yang dihoskan sendiri. Apabila diaktifkan, penggubah sembang menawarkan togol carian dan tugas Work dengan akses rangkaian boleh mencari.","enableLabel":"Dayakan carian web","enableDescription":"Tawarkan carian web kepada sembang dan tugas Work. Carian dijalankan di pihak pelayan terhadap instans yang dikonfigurasi.","urlLabel":"URL SearXNG","urlDescription":"URL asas instans SearXNG yang boleh dicapai dari pelayan. Stack deploy peribadi yang disertakan menyediakan http://searxng:8080.","maxResultsLabel":"Hasil setiap carian","maxResultsDescription":"Berapa banyak hasil dimasukkan ke balasan atau panggilan alat, 1-100.","maxResultsInvalid":"Hasil setiap carian mesti antara 1 dan 100.","safeSearchLabel":"Carian selamat","safeSearchDescription":"Minta enjin menapis hasil eksplisit.","test":"Uji sambungan","testing":"Menguji…","testOk":"Carian berfungsi — {{results}} hasil dikembalikan","testFailed":"Ujian carian gagal","save":"Simpan","saved":"Tetapan carian disimpan","saveFailed":"Tidak dapat menyimpan tetapan carian"},"compaction":{"title":"Pemadatan konteks","description":"Apabila perbualan melepasi ambang token, pelayan akan meringkaskan mesej lamanya dan hanya mengekalkan mesej terbaharu secara kata demi kata. Terpakai kepada setiap pengguna pelayan ini.","thresholdLabel":"Ambang token","thresholdDescription":"Anggaran token konteks yang melebihinya menyebabkan sejarah lama diringkaskan, 500-1,000,000.","thresholdInvalid":"Ambang token mestilah antara 500 dan 1,000,000.","keepRecentLabel":"Mesej terbaharu yang dikekalkan","keepRecentDescription":"Berapa banyak mesej terbaharu yang sentiasa kekal kata demi kata, 2-200.","keepRecentInvalid":"Bilangan mesej terbaharu yang dikekalkan mestilah antara 2 dan 200.","modelLabel":"Model pemadatan","modelDescription":"Model yang menulis ringkasan. Model perbualan itu sendiri digunakan jika tiada yang dipilih.","sessionModelOption":"Guna model perbualan","promptLabel":"Gesaan ringkasan tersuai","promptPlaceholder":"Biarkan kosong untuk menggunakan gesaan terbina dalam","promptDescription":"Pemboleh ubah templat {{previousSummaryVariable}} dan {{messagesVariable}} akan digantikan dengan ringkasan sebelumnya dan mesej yang sedang diringkaskan.","saved":"Tetapan pemadatan disimpan","saveFailed":"Tetapan pemadatan tidak dapat disimpan","loadFailed":"Tetapan pemadatan tidak dapat dimuatkan"},"sessions":{"title":"Sesi","description":"Semua tempat akaun ini dilog masuk. Melog keluar sesi berkuat kuasa serta-merta; log masuk semula akan memulihkan akses.","signOutOthers":"Log keluar sesi lain","signingOutOthers":"Sedang log keluar…","signOut":"Log keluar","signingOut":"Sedang log keluar…","revoked":"Sesi telah dilog keluar.","revokeFailed":"Sesi tidak dapat dilog keluar.","othersRevoked":"Sesi lain yang dilog keluar: {{count}}","loadFailed":"Sesi tidak dapat dimuatkan.","empty":"Tiada sesi ditemui.","current":"Sesi ini","revokedBadge":"Dilog keluar","unknownDevice":"Peranti tidak dikenali","createdAt":"Dilog masuk","lastSeenAt":"Aktif terakhir","expiresAt":"Luput"},"apiKeys":{"title":"Kunci API","description":"Token berskop untuk skrip dan integrasi. Setiap kunci hanya mempunyai akses kepada skop yang anda pilih.","newKeyTitle":"Kunci API baharu anda","copy":"Salin","copied":"Disalin ke papan keratan.","copyFailed":"Gagal menyalin.","showOnceWarning":"Salin sekarang. Ia tidak akan dipaparkan lagi.","dismiss":"Selesai","createTitle":"Cipta kunci","nameLabel":"Nama","namePlaceholder":"cth. saluran CI","nameRequired":"Berikan nama untuk kunci ini.","expiryLabel":"Luput dalam hari (pilihan)","expiryPlaceholder":"Tidak luput","expiryInvalid":"Tempoh luput mestilah nombor bulat dalam hari.","scopesLabel":"Skop","scopesRequired":"Pilih sekurang-kurangnya satu skop.","create":"Cipta kunci","creating":"Mencipta…","created":"Kunci API dicipta.","createFailed":"Kunci API tidak dapat dicipta.","revoke":"Batalkan","revoking":"Membatalkan…","revoked":"Kunci API dibatalkan.","revokeFailed":"Kunci API tidak dapat dibatalkan.","revokedBadge":"Dibatalkan","loadFailed":"Kunci API tidak dapat dimuatkan.","empty":"Belum ada kunci API.","createdAt":"Dicipta","lastUsedAt":"Terakhir digunakan","expiresAt":"Luput","neverExpires":"Tidak luput"},"notifications":{"title":"Pemberitahuan","description":"Bagaimana pelayar ini dimaklumkan tentang sebutan, perkongsian, peringatan dan kerja yang selesai.","pushTitle":"Pemberitahuan pelayar","pushHint":"Tunjukkan pemberitahuan sistem daripada peranti ini walaupun tab berada di latar belakang.","enabled":"Pemberitahuan pelayar diaktifkan pada peranti ini.","disabled":"Pemberitahuan pelayar dimatikan pada peranti ini.","enableFailed":"Pemberitahuan pelayar tidak dapat diaktifkan.","permissionDenied":"Pemberitahuan disekat dalam tetapan pelayar untuk tapak ini.","unsupported":"Pelayar ini tidak menyokong pemberitahuan tolak.","workerMissing":"Tolakan memerlukan aplikasi yang dipasang. Muat semula aplikasi pengeluaran dan cuba lagi.","deviceNote":"Pemberitahuan adalah mengikut peranti. Log keluar sesi turut membuang pendaftaran tolaknya."}}`),models:{title:`Model`,subtitle:`Tarik, urus dan pantau model Ollama anda`,installed:`Model Dipasang`,available:`Model Tersedia`,pull:`Tarik Model`,pulling:`Menarik...`,delete:`Padam Model`,deleting:`Memadamkan...`,size:`Saiz`,modified:`Diubah Suai`,family:`Keluarga`,parameters:`Parameter`,quantization:`Kuantisasi`,noModels:`Tiada model dipasang`,pullFirst:`Tarik model untuk bermula`,noModelsFound:`Tiada model ditemui`},personas:{title:`Persona`,create:`Cipta Persona`,edit:`Sunting Persona`,delete:`Padam Persona`,name:`Nama`,description:`Penerangan`,systemPrompt:`Arahan Sistem`,model:`Model`,avatar:`Avatar`,background:`Latar Belakang`,noPersonas:`Tiada persona dicipta`,createFirst:`Cipta persona pertama anda untuk menyesuaikan pengalaman sembang`},gallery:{title:`Galeri`,subtitle:`Galeri imej yang dijana AI anda`,imageCount:`{{count}} imej`,generate:`Jana Imej`,generateDescription:`Cipta imej dengan AI`,generating:`Menjana...`,prompt:`Arahan`,promptPlaceholder:`Terangkan imej yang anda mahu jana...`,noImages:`Belum ada imej dijana`,download:`Muat Turun`,delete:`Padam`,regenerate:`Jana Semula`,model:`Model`,size:`Saiz`,quality:`Kualiti`,created:`Dicipta`},errors:{generic:`Ralat telah berlaku`,network:`Ralat rangkaian. Sila semak sambungan anda.`,unauthorized:`Anda tidak dibenarkan melakukan tindakan ini.`,notFound:`Sumber yang diminta tidak ditemui.`,serverError:`Ralat pelayan. Sila cuba lagi kemudian.`,validation:`Sila semak input anda dan cuba lagi.`},keyboard:{title:`Pintasan Papan Kekunci`,toggleSidebar:`Togol bar sisi`,openSettings:`Buka tetapan`,toggleDarkMode:`Togol mod gelap`,showShortcuts:`Tunjukkan pintasan papan kekunci`,closeModals:`Tutup modal`,groups:{navigation:`Navigasi`,general:`Umum`,chat:`Sembang`,workspace:`Ruang kerja`},actions:{sendMessage:`Hantar mesej`,newLine:`Baris baharu dalam mesej`,saveEdit:`Simpan mesej yang disunting`,cancelEdit:`Batalkan suntingan`,saveFile:`Simpan fail`,formatCode:`Formatkan kod`},description:`Semua pintasan papan kekunci yang ada dalam Libre WebUI.`,newChat:`Sembang baharu`,newWork:`Sesi Work baharu`,openPalette:`Buka palet arahan`},modelDownload:{success:`{{name}} telah dimuat turun`,failed:`Gagal memuat turun: {{error}}`,startFailed:`Gagal memulakan muat turun`,cancelled:`Muat turun dibatalkan`},modelTools:{toasts:{fetchInfoFailed:`Gagal mendapatkan maklumat`,pushSuccess:`Model berjaya dimuat naik`,createSuccess:`Model berjaya dicipta`,copySuccess:`Model berjaya disalin`,embeddingsSuccess:`Embedding berjaya dijana (lihat konsol)`,failed:`Gagal`,unknownError:`Ralat tidak diketahui`}},modelManager:{title:`Model`,loading:`Memuatkan model...`,systemStatus:{online:`Ollama Dalam Talian`,offline:`Ollama Luar Talian`,models:`model`,models_plural:`model`,running:`berjalan`,vram:`VRAM`},sections:{pull:`Tarik Model Baharu`,library:`Layari Pustaka`,huggingface:`HuggingFace Hub`,running:`Model Sedang Berjalan`,local:`Model Tempatan`,advanced:`Tindakan Lanjutan`,catalog:`Katalog Model`},catalog:{searchPlaceholder:`Cari model mengikut nama atau penyedia...`,noModels:`Belum ada model tersedia.`,empty:`Tiada model sepadan dengan carian anda.`,providerOllama:`Ollama`,hidden:`Tersembunyi`,visibilityFailed:`Keterlihatan model tidak dapat dikemas kini.`,filterAll:`Semua model`,filterLocal:`Tempatan`,filterProviders:`Penyedia`,filterHidden:`Tersembunyi`,enableAll:`Aktifkan yang dipaparkan`,disableAll:`Nyahaktifkan yang dipaparkan`,rename:`Sunting nama dan gambar`,setPicture:`Tetapkan gambar`,clearPicture:`Buang gambar`,pictureInvalid:`Pilih fail imej.`,pictureTooLarge:`Gambar mestilah bawah 192 KB.`,saving:`Menyimpan…`,hide:`Sembunyikan daripada pengguna`,show:`Tunjukkan kepada pengguna`,star:`Bintangkan {{name}}`,unstar:`Buang bintang daripada {{name}}`},pull:{placeholder:`Masukkan nama model (cth., llama3.2:3b, deepseek-r1:14b)`,button:`Tarik`,cancel:`Batal`,popular:`Model popular:`,browseAll:`Layari semua model di ollama.com`,success:`Model {{name}} berjaya ditarik`,cancelled:`Tarikan model dibatalkan`,failed:`Gagal menarik model`,enterName:`Sila masukkan nama model`,restricted:`Pemasangan model dihadkan kepada pentadbir sahaja pada instance ini.`},progress:{starting:`Memulakan...`,pulling:`Memuat turun model...`,pullingLayer:`memuat turun`,verifying:`Mengesahkan integriti...`,verifyingDigest:`mengesahkan digest sha256`,writing:`Menulis manifes...`,cleaning:`Membersihkan...`},library:{available:`tersedia`,search:`Cari model...`,noResults:`Tiada model ditemui yang sepadan dengan kriteria anda`,installed:`Dipasang`,more:`+{{count}} lagi`,refresh:`Muat Semula Pustaka`},huggingface:{browseAll:`Layari semua di HuggingFace`,checkingGguf:`Mencari fail GGUF...`,noGgufAvailable:`Tiada fail GGUF tersedia untuk muat turun terus ke Ollama`,ggufFilesCount:`Fail GGUF ({{count}}) - Muat turun terus ke Ollama`,noModelsFound:`Tiada model dijumpai`,noResults:`Tiada model dijumpai. Cuba laraskan carian atau penapis anda.`,browseAllLink:`Lihat semua`,search:`Cari model HuggingFace...`,by:`oleh`,gated:`Akses terhad`,viewOnHF:`Lihat di HuggingFace`,sortDownloads:`Muat turun`,sortLikes:`Suka`,sortRecent:`Terkini`,taskTextGeneration:`Penjanaan Teks`,taskTextToSpeech:`Teks ke Pertuturan`,taskTextToImage:`Teks ke Imej`,taskSpeechRecognition:`Pengecaman Pertuturan`,tasks:{textGen:`Penjanaan Teks`,tts:`Teks ke Pertuturan`,image:`Teks ke Imej`,stt:`Pengecaman Pertuturan`},sort:{downloads:`Paling Banyak Dimuat Turun`,likes:`Paling Disukai`,recent:`Dikemas Kini Baru-baru Ini`}},local:{noModels:`Belum ada model dipasang`,pullToStart:`Tarik model di atas untuk bermula`,installed:`dipasang`,running:`Berjalan`,info:`Maklumat`,copy:`Salin`,delete:`Padam`,deleteConfirm:`Adakah anda pasti mahu memadamkan model "{{name}}"?`,deleteSuccess:`Model {{name}} berjaya dipadam`,deleteFailed:`Gagal memadamkan model`},advanced:{createModel:`Cipta Model`,fromModelfile:`Dari Modelfile`,copyModel:`Salin Model`,duplicateExisting:`Duplikasi sedia ada`,testEmbeddings:`Uji Pembenaman`,generateVectors:`Jana vektor`,healthCheck:`Semakan Kesihatan`,testConnection:`Uji sambungan`,healthy:`Ollama sihat!`},modals:{details:{title:`Butiran Model`,info:`Maklumat Model`,family:`Keluarga`,parameters:`Parameter`,quantization:`Kuantisasi`,format:`Format`,systemPrompt:`Arahan Sistem`,template:`Templat`,license:`Lesen`,modelfile:`Modelfile`,noDetails:`Tiada butiran tersedia`},copy:{title:`Salin Model`,source:`Model Sumber`,selectModel:`Pilih model...`,newName:`Nama Model Baharu`,placeholder:`cth., model-tersuai-saya`,copying:`Menyalin...`,button:`Salin Model`,success:`Model disalin ke {{name}}`,failed:`Gagal menyalin model`,enterBoth:`Sila masukkan kedua-dua nama sumber dan destinasi`},create:{title:`Cipta Model Tersuai`,name:`Nama Model`,namePlaceholder:`cth., pembantu-saya`,modelfile:`Modelfile`,modelfilePlaceholder:`FROM llama3.2
|
|
2
2
|
SYSTEM Anda adalah pembantu yang berguna.`,see:`Lihat`,docs:`Dokumentasi Modelfile`,docsLink:`untuk rujukan sintaks`,creating:`Mencipta...`,button:`Cipta Model`,success:`Model {{name}} berjaya dicipta`,failed:`Gagal mencipta model`,enterBoth:`Sila masukkan nama model dan kandungan Modelfile`},embeddings:{title:`Uji Pembenaman`,model:`Model Pembenaman`,selectModel:`Pilih model...`,recommended:`Disyorkan: nomic-embed-text, mxbai-embed-large`,input:`Teks Input`,placeholder:`Masukkan teks untuk menjana pembenaman...`,generating:`Menjana...`,button:`Jana Pembenaman`,result:`Hasil ({{count}} dimensi)`,success:`Menjana vektor pembenaman {{count}} dimensi`,failed:`Gagal menjana pembenaman`,enterBoth:`Sila pilih model dan masukkan teks`}}},personaManager:{title:`Persona`,subtitle:`Cipta dan urus persona AI dengan personaliti, ingatan dan tingkah laku tersuai`,loading:`Memuatkan persona...`,createButton:`Cipta Persona`,importExport:`Import/Eksport`,stats:{title:`Persona Anda`,count:`{{count}} persona dicipta`,count_plural:`{{count}} persona dicipta`},empty:{title:`Belum ada persona`,description:`Cipta persona pertama anda untuk bermula dengan interaksi AI yang diperibadikan`,button:`Cipta Persona Pertama Anda`},deleteConfirm:`Adakah anda pasti mahu memadamkan "{{name}}"?`,deleteSuccess:`Persona "{{name}}" berjaya dipadam`,downloadSuccess:`Persona "{{name}}" berjaya dimuat turun`,failed:`Gagal {{action}} persona`},personaForm:{title:{create:`Cipta Persona Baharu`,edit:`Sunting Persona`},subtitle:{create:`Cipta persona AI baharu dengan personaliti, sistem ingatan dan keupayaan pembelajaran adaptif tersuai`,edit:`Sesuaikan persona AI anda dengan ingatan lanjutan, pembelajaran adaptif dan parameter pintar`},loading:`Memuatkan borang...`,saved:`Disimpan`,tabs:{basic:`Asas`,parameters:`Parameter`,memory:`Ingatan & Pembelajaran`,advanced:`Lanjutan`,bindings:`Ikatan`},basic:{name:`Nama`,namePlaceholder:`Masukkan nama persona`,model:`Model`,selectModel:`Pilih model`,description:`Penerangan`,descriptionPlaceholder:`Terangkan persona anda...`,systemPrompt:`Arahan Sistem`,systemPromptPlaceholder:`Masukkan arahan sistem yang mentakrifkan tingkah laku persona anda...`,systemPromptHint:`Arahan sistem mentakrifkan cara persona anda akan bertingkah laku dan memberi respons.`},parameters:{temperature:`Suhu`,temperatureHint:`Mengawal kreativiti vs konsistensi`,topP:`Top-P`,topPHint:`Mengawal kepelbagaian respons`,topK:`Top-K`,topKHint:`Menghadkan perbendaharaan kata kepada token top-k`,contextWindow:`Tetingkap Konteks`,contextWindowHint:`Panjang maksimum sejarah perbualan`,maxTokens:`Token Maksimum`,maxTokensHint:`Panjang respons maksimum`,repeatPenalty:`Penalti Ulangan`,repeatPenaltyHint:`Mengurangkan respons berulang`},memory:{title:`Sistem Ingatan`,subtitle:`Persona mengingati perbualan dari masa ke masa`,enableHint:`Aktifkan sistem ingatan untuk membolehkan persona anda mengingati perbualan dan membina konteks dari masa ke masa.`,loading:`Memuatkan status ingatan...`,noData:`Belum ada data ingatan`,memories:`Ingatan`,mbUsed:`MB Digunakan`,lastBackup:`Sandaran Terakhir`,never:`Tidak Pernah`,maxMemories:`Ingatan Maksimum`,maxMemoriesHint:`Berapa banyak ingatan yang boleh disimpan persona ini`,retention:`Pengekalan Ingatan`,retentionHint:`Hari untuk menyimpan ingatan sebelum pembersihan`,autoCleanup:`Pembersihan auto ingatan lama`,wipeAll:`Padam Semua Ingatan`,wipeCannot:`Ini tidak boleh dibatalkan`,wipeButton:`Padam`,wiping:`Memadamkan...`,wipeConfirm:`Adakah anda pasti mahu memadamkan semua ingatan? Ini tidak boleh dibatalkan.`,wipeSuccess:`Memadamkan {{count}} ingatan`},learning:{title:`Pembelajaran Adaptif`,subtitle:`Persona berkembang berdasarkan interaksi`,enableHint:`Aktifkan pembelajaran adaptif untuk membolehkan persona anda berkembang dan memperibadikan respons berdasarkan interaksi anda.`,speed:`Kelajuan Pembelajaran`,slow:`Perlahan`,slowDesc:`Perubahan beransur-ansur`,balanced:`Seimbang`,balancedDesc:`Kadar sederhana`,fast:`Pantas`,fastDesc:`Penyesuaian cepat`,autoAdapt:`Penyesuaian auto kepada keutamaan pengguna`,whatLearns:`Apa yang persona pelajari:`,conversationTone:`Nada perbualan`,responseStyle:`Gaya respons`,userPreferences:`Keutamaan pengguna`,topicInterests:`Minat topik`},advanced:{embeddingModel:`Model Pembenaman`,embeddingHint:`Pilih model yang digunakan untuk pengekodan ingatan dan carian semantik. Model pembenaman ditunjukkan dahulu, diikuti model lain yang tersedia.`,noModels:`Tiada model ditemui`,embeddingModels:`Model Pembenaman`,otherModels:`Model Lain`,installHint:`Pasang model pembenaman:`,recommended:`Disyorkan: nomic-embed-text, mxbai-embed-large, bge-m3, snowflake-arctic-embed`,aboutTitle:`Perihal Tetapan Lanjutan`,aboutDescription:`Model pembenaman digunakan oleh sistem ingatan untuk memahami makna semantik dan mencari ingatan yang berkaitan semasa perbualan. Pilih model yang sepadan dengan kes penggunaan dan sumber anda.`},actions:{cancel:`Batal`,save:`Simpan`,saving:`Menyimpan...`,saveClose:`Simpan & Tutup`,create:`Cipta`},success:{created:`Persona dicipta`,updated:`Persona dikemas kini`},error:{saveFailed:`Gagal menyimpan`},bindings:{toolServers:`Pelayan alat`,toolServersHint:`Pelayan yang boleh dipanggil persona ini. Jika dibiarkan kosong, semua pelayan yang memang boleh dicapai pengguna akan ditawarkan.`,noToolServers:`Tiada pelayan alat tersedia untuk anda.`,builtinTools:`Alat terbina dalam`,builtinToolsHint:`Alat yang dilaksanakan sendiri oleh pelayan. Jika dibiarkan kosong, semuanya ditawarkan.`,noBuiltinTools:`Tiada alat terbina dalam tersedia.`,builtin:{web_search:`Carian web`,search_documents:`Cari dokumen`,load_skill:`Muatkan kemahiran`},skills:`Kemahiran`,skillsHint:`Kemahiran yang boleh dimuatkan model semasa persona ini aktif.`,noSkills:`Anda belum mencipta sebarang kemahiran.`,collections:`Koleksi pengetahuan`,collectionsHint:`Koleksi dokumen yang boleh dicari oleh persona ini.`,noCollections:`Anda belum mencipta sebarang koleksi.`,prompt:`Prompt`,promptHint:`Prompt yang memulakan setiap sembang baharu dengan persona ini.`,noPrompt:`Tiada prompt`,version:`Semakan ikatan {{version}}`}},personaCard:{enhanced:`Dipertingkat`,systemPrompt:`Arahan Sistem`,memories:`ingatan`,use:`Guna`,editTooltip:`Sunting persona`,downloadTooltip:`Muat turun persona`,backup:`Sandaran`,exportDNA:`Eksport DNA`,wipeMemories:`Padam Ingatan`,wipeConfirm:`Adakah anda pasti mahu memadamkan semua ingatan untuk persona ini? Tindakan ini tidak boleh dibatalkan.`,wipeSuccess:`Memadamkan {{count}} ingatan`,backupSuccess:`Sandaran persona berjaya dimuat turun`,dnaSuccess:`DNA persona berjaya dieksport`,failed:`Gagal {{action}}`,shareTooltip:`Kongsi persona ini`},userManager:{title:`Pengurusan Pengguna`,subtitle:`Urus akaun pengguna dan kebenaran`,pageDescription:`Urus akaun pengguna, kebenaran dan kawalan akses untuk contoh Libre WebUI anda.`,loading:`Memuatkan pengguna...`,createUser:`Cipta Pengguna`,search:`Cari pengguna...`,noUsers:`Tiada pengguna ditemui`,noUsersMatching:`Tiada pengguna sepadan dengan carian anda`,columns:{user:`Pengguna`,email:`E-mel`,role:`Peranan`,created:`Dicipta`,actions:`Tindakan`},roles:{admin:`Pentadbir`,user:`Pengguna`},noEmail:`Tiada e-mel`,deleteConfirm:`Adakah anda pasti mahu memadamkan pengguna "{{name}}"?`,deleteSuccess:`Pengguna berjaya dipadam`,deleteFailed:`Gagal memadamkan pengguna`,cannotDeleteSelf:`Anda tidak boleh memadamkan akaun anda sendiri`,approval:{title:`Kelulusan tertangguh`,description:`Semak pendaftaran baharu sebelum membenarkan mereka masuk ke instance ini.`,registered:`Berdaftar`,activate:`Aktifkan akaun`,reject:`Tolak pendaftaran`,approved:`{{name}} kini boleh log masuk.`,failed:`Akaun tidak dapat diluluskan.`,notification:`{{count}} pendaftaran menunggu kelulusan anda.`,notificationBadge:`{{count}} kelulusan pengguna tertangguh`},form:{title:{create:`Cipta Pengguna`,edit:`Sunting Pengguna`},username:`Nama Pengguna`,usernamePlaceholder:`Masukkan nama pengguna`,email:`E-mel`,emailPlaceholder:`Masukkan e-mel (pilihan)`,password:`Kata Laluan`,passwordPlaceholder:`Masukkan kata laluan`,passwordHint:`Biarkan kosong untuk mengekalkan kata laluan semasa`,role:`Peranan`,creating:`Mencipta...`,updating:`Mengemas kini...`,createButton:`Cipta Pengguna`,updateButton:`Kemas Kini Pengguna`,createSuccess:`Pengguna berjaya dicipta`,updateSuccess:`Pengguna berjaya dikemas kini`,createFailed:`Gagal mencipta pengguna`,updateFailed:`Gagal mengemas kini pengguna`},workAccess:{title:`Akses Work`,description:`Benarkan semua pengguna aktif mencipta dan menjalankan tugas Work dalam kotak pasir terpencil. Pentadbir sentiasa mempunyai akses; ruang kerja folder hos kekal untuk pentadbir sahaja.`,saved:`Akses Work dikemas kini`,saveFailed:`Tidak dapat mengemas kini akses Work`},workPolicies:{title:`Dasar Work`,description:`Praset masa jalan bernama (imej, had, henti melahu) untuk mencipta tugas. Medan kosong mewarisi lalai global.`,add:`Tambah dasar`,name:`Nama`,image:`Imej`,memory:`Memori`,cpu:`CPU`,pids:`Had PID`,workspaceSize:`Saiz ruang kerja`,idleMinutes:`Henti melahu (minit)`,networkDefault:`Rangkaian lalai`,networkInherit:`Warisi lalai`,networkOn:`Didayakan`,networkOff:`Dilumpuhkan`,save:`Simpan`,cancel:`Batal`,edit:`Sunting dasar`,delete:`Padam dasar`,deleteConfirm:`Padam dasar ini? Tugas yang menggunakannya kembali kepada lalai global.`,empty:`Tiada dasar lagi. Tugas menggunakan lalai masa jalan global.`,saved:`Dasar Work disimpan`,deleted:`Dasar Work dipadamkan`,failed:`Tidak dapat menyimpan dasar Work`,invalidNumber:`Had PID dan henti melahu mestilah nombor.`,guiEnabled:`Work Computer (GUI + pelayar)`,takeoverEnabled:`Benarkan pengambilalihan skrin`,computerPreset:`Work Computer`,computerPresetHint:`Work Computer memerlukan imej GUI: bina daripada deploy/work-computer dalam repositori dan tag sebagai libre-work-computer:latest.`,approvalsRequired:`Perlukan kelulusan untuk tindakan yang mengubah data`},modelAccess:{title:`Muat turun model`,description:`Benarkan semua pengguna aktif menarik model daripada Ollama dan pelayar Hugging Face. Pentadbir sentiasa boleh memuat turun model.`,saved:`Akses muat turun model dikemas kini`,saveFailed:`Tidak dapat mengemas kini akses muat turun model`},webSearchAccess:{title:`Carian web`,description:`Benarkan semua pengguna aktif menggunakan carian web dalam sembang dan tugas Work. Pentadbir sentiasa boleh menggunakannya. Enjin dikonfigurasi di Tetapan > Carian.`,saved:`Akses carian web dikemas kini`,saveFailed:`Tidak dapat mengemas kini akses carian web`},defaultTheme:{title:`Tema lalai`,description:`Tema untuk halaman log masuk, akaun baharu dan pelayar yang belum memilih tema. Semua orang masih boleh memilih tema sendiri dalam Tetapan.`,saved:`Tema lalai dikemas kini`,saveFailed:`Tidak dapat mengemas kini tema lalai`},agentAccess:{title:`Ejen`,description:`Tawarkan bahagian Ejen (Libre Claw) kepada pentadbir. CLI ejen berjalan pada hos sebagai pengguna pelayan, di luar kotak pasir Work.`,saved:`Akses ejen dikemas kini`,saveFailed:`Tidak dapat mengemas kini akses ejen`,lockedByEnv:`Ditetapkan oleh pemboleh ubah persekitaran AGENT_CLI_MODELS_ENABLED.`},groups:{title:`Kumpulan`,description:`Kumpulkan akaun untuk mengurus akses berkongsi, dan periksa apa yang sebenarnya boleh dilakukan oleh mana-mana akaun.`,newGroup:`Kumpulan baharu`,nameLabel:`Nama`,nameRequired:`Berikan nama untuk kumpulan ini.`,descriptionLabel:`Penerangan (pilihan)`,create:`Cipta kumpulan`,creating:`Mencipta…`,created:`Kumpulan dicipta.`,createFailed:`Kumpulan tidak dapat dicipta.`,deleted:`Kumpulan dipadamkan.`,deleteFailed:`Kumpulan tidak dapat dipadamkan.`,deleteGroup:`Padam kumpulan`,loadFailed:`Kumpulan tidak dapat dimuatkan.`,empty:`Belum ada kumpulan.`,memberCount:`Ahli: {{count}}`,noMembers:`Belum ada ahli.`,addedAt:`Ditambah`,addMember:`Tambah ahli`,add:`Tambah`,selectUser:`Pilih pengguna…`,memberAdded:`Ahli ditambah.`,memberAddFailed:`Ahli tidak dapat ditambah.`,removeMember:`Alih keluar ahli`,memberRemoved:`Ahli dialih keluar.`,memberRemoveFailed:`Ahli tidak dapat dialih keluar.`,effectiveTitle:`Akses berkesan`,effectiveDescription:`Pilih akaun untuk melihat akses akhirnya merentas peranan, kumpulan dan pemberian.`,accessLookupFailed:`Akses berkesan tidak dapat dimuatkan.`,roleLabel:`Peranan`,statusLabel:`Status`,memberOf:`Kumpulan`,featuresLabel:`Akses ciri`,grantsLabel:`Pemberian`,grantVia:`melalui`},audit:{title:`Log audit keselamatan`,description:`Log masuk terkini, semakan kebenaran dan perubahan pentadbiran pada instans ini.`,actionFilter:`Tindakan`,actionPlaceholder:`cth. auth.login`,resultFilter:`Hasil`,resultSuccess:`Berjaya`,resultDenied:`Dinafikan`,resultFailure:`Gagal`,limitFilter:`Had`,loadFailed:`Log audit tidak dapat dimuatkan.`,empty:`Belum ada peristiwa audit direkodkan.`,actor:`Pelaku`,target:`Sasaran`},tools:{title:`Akses alat`,description:`Benarkan semua orang memanggil pelayan alat. Apabila dimatikan, hanya pentadbir boleh.`,saved:`Akses alat dikemas kini`,saveFailed:`Akses alat tidak dapat dikemas kini.`,lockedByEnv:`Dikunci oleh pemboleh ubah persekitaran pada pelayan ini.`},voice:{title:`Akses suara`,description:`Mengawal siapa yang boleh menggunakan ciri suara. Pentadbir sentiasa mempunyai akses.`,lockedByEnv:`Ditetapkan oleh pemboleh ubah persekitaran`,saved:`Akses suara dikemas kini`,saveFailed:`Gagal mengemas kini akses suara`,features:{stt:`Pertuturan ke teks`,tts:`Teks ke pertuturan`,voiceMode:`Mod suara`,voiceCloning:`Pengklonan suara`}},mfaPolicy:{title:`Dasar dua langkah`,description:`Sama ada akaun mesti melengkapkan langkah log masuk kedua.`,requireAll:`Wajibkan dua langkah untuk semua pengguna`,requireAllHint:`Pengguna tanpa faktor kedua perlu menyediakannya pada log masuk seterusnya.`,lockedByEnv:`Ditetapkan oleh MFA_REQUIRED_MODE.`,saved:`Dasar disimpan.`,saveFailed:`Dasar tidak dapat disimpan.`},mfaReset:`Tetapkan semula dua langkah`,mfaResetConfirm:`Buang faktor kedua untuk {{name}}? Mereka masih boleh log masuk dengan kata laluan dan menyediakannya semula.`,mfaResetSuccess:`Dua langkah dibuang untuk {{name}}.`,mfaResetNothing:`{{name}} tiada dua langkah.`,mfaResetFailed:`Penetapan semula gagal.`,ollamaProvider:{title:`Penyedia Ollama`,description:`Apabila dimatikan, apl berhenti menyemak Ollama sepenuhnya — tiada semakan kesihatan, tiada amaran. Endpoint boleh menuju ke mana-mana gerbang yang serasi dengan Ollama.`,saved:`Tetapan penyedia Ollama disimpan`,saveFailed:`Tidak dapat menyimpan tetapan penyedia Ollama`,baseUrlLabel:`URL endpoint Ollama`}},usageAnalytics:{eyebrow:`Pentadbiran`,title:`Penggunaan Penyedia`,description:`Ikut panggilan API keluar dan penggunaan model merentasi plugin yang didayakan pada instance ini.`,days:`{{count}} hari`,refresh:`Muat semula penggunaan`,loadFailed:`Penggunaan penyedia tidak dapat dimuatkan.`,metrics:{calls:`Panggilan`,tokens:`Token`},cards:{calls:`Panggilan API`,callsDetail:`Merentasi {{count}} pengguna aktif`,tokens:`Token dilaporkan`,tokensDetail:`Penggunaan dilaporkan pada {{count}} panggilan`,success:`Kadar kejayaan`,successDetail:`{{count}} panggilan gagal`,latency:`Latensi purata`,latencyDetail:`Masa pembekal hujung ke hujung`},activity:{title:`Penggunaan dari semasa ke semasa`,callsDescription:`Permintaan keluar harian kepada pemalam yang didayakan`,tokensDescription:`Jumlah token harian dilaporkan oleh pembekal`,chartLabel:`Carta {{metric}} pembekal harian`},models:{title:`Penggunaan model`,description:`Model yang membawa trafik paling banyak dalam tempoh ini.`,model:`Model`,success:`Berjaya`,latency:`Latensi`},providers:{title:`Trafik pemalam didayakan`},capabilities:{title:`Campuran keupayaan`,characters:`{{count}} aksara`,bytes:`{{count}} bait`,images:`{{count}} imej`,jobs:`{{count}} kerja video`,inputs:`{{count}} input`,reportedTokens:`{{count}} token dilaporkan`},empty:{title:`Tiada panggilan pembekal lagi`,description:`Panggilan akan dipaparkan di sini selepas pemalam yang didayakan mengendalikan permintaan sembang, Work, pembenaman, imej, pertuturan, bunyi, atau video.`},privacyNote:`Penggunaan diukur pada pelayan di sempadan pemalam keluar. Libre WebUI menyimpan pembekal, model, masa, status, dan pembilang dilaporkan—tidak pernah gesaan, respons, titik akhir, kelayakan, atau badan ralat pembekal. Jumlah token hanya termasuk panggilan di mana pembekal memulangkan metadata penggunaan.`,heatmap:{title:`Setahun aktiviti`,description:`Panggilan penyedia harian sepanjang tahun lalu, diwarnakan mengikut model paling banyak digunakan setiap hari.`,calls:`panggilan`,noCalls:`Tiada panggilan`,other:`Model lain`,less:`Kurang`,more:`Lebih`,yearTotal:`{{formatted}} panggilan dalam setahun lalu`}},systemPage:{eyebrow:`Pentadbiran`,title:`Sistem`,description:`Pantau mesin dan masa jalan yang menempatkan kejadian Libre WebUI ini.`,updated:`Dikemas kini {{date}}`,refresh:`Muat semula maklumat sistem`,loadFailed:`Maklumat sistem tidak dapat dimuatkan.`,cards:{uptime:`Masa hidup hos`,uptimeDetail:`Berjalan sejak {{date}}`,memory:`Ingatan digunakan`,memoryDetail:`{{used}} daripada {{total}}`,freeSpace:`Ruang kosong`,freeSpaceDetail:`{{label}} · {{total}} jumlah`,containers:`Kontena berjalan`,containersDetail:`{{total}} kontena diketahui oleh Docker`,dockerUnavailable:`Docker tidak tersedia`,unavailable:`Tidak tersedia`},host:{title:`Hos & masa jalan`,description:`Butiran sistem pengendalian, pemproses, dan proses Libre WebUI.`,container:`Masa jalan kontena`,native:`Runtime asli`,hostname:`Nama hos`,operatingSystem:`Sistem pengendalian`,processor:`Pemproses`,logicalCpus:`CPU logikal`,loadAverage:`Purata beban · 1 / 5 / 15 min`,libreVersion:`Libre WebUI`,nodeVersion:`Node.js`,process:`Proses`,workingDirectory:`Direktori kerja`},memory:{title:`Memori`,description:`Memori sistem yang kelihatan pada runtime dan penggunaan proses aplikasi.`,usedOf:`{{used}} digunakan daripada {{total}}`,free:`{{value}} bebas`,processRss:`RSS Proses`,heapUsed:`Timbunan V8 digunakan`,heapTotal:`Jumlah timbunan V8`,external:`Memori luaran`},storage:{title:`Storan`,description:`Ruang tersedia untuk sistem fail runtime dan data aplikasi kekal.`,used:`{{value}} digunakan`,free:`{{value}} bebas`,empty:`Maklumat sistem fail tidak tersedia dalam runtime ini.`},docker:{title:`Docker`,description:`Status Docker Engine baca-sahaja dan senarai kontena yang dikurangkan.`,connected:`Disambung`,unavailable:`Tidak tersedia`,unavailableDetail:`Diagnostics Docker Engine tidak tersedia.`,socketStatus:`Soket tempatan: {{status}}`,mounted:`dilekap`,notMounted:`tidak dilekap`,running:`Berjalan`,stopped:`Dihentikan`,paused:`Dijeda`,total:`Jumlah`,version:`Versi`,host:`Hos`,architecture:`Seni bina`,cpus:`CPU`,memory:`Memori`,container:`Kontena`,image:`Imej`,state:`Keadaan`,created:`Dicipta`,empty:`Docker disambung dan tiada kontena disenaraikan buat masa ini.`},network:{title:`Rangkaian`,description:`Antara muka, alamat dan pengira trafik Linux yang boleh dilihat pada masa jalan.`,internal:`dalaman`,empty:`Tiada antara muka rangkaian yang boleh dilihat oleh masa jalan aplikasi.`},securityNote:`Halaman ini terhad kepada pentadbir. Pelayan hanya memulangkan ringkasan operasi: ia tidak mendedahkan pembolehubah persekitaran, kelayakan, label Docker, lekap, arahan kontena atau muatan pemeriksaan. Apabila Libre WebUI berjalan dalam kontena, butiran CPU dan ingatan peringkat hos datang dari Docker Engine apabila soket tempatannya tersedia; nilai lain menerangkan masa jalan aplikasi.`,work:{title:`Work`,description:`Kotak pasir semua pengguna`,access:`Akses`,accessAdmins:`Pentadbir sahaja`,accessAllUsers:`Semua pengguna`,runtimeAvailable:`Tersedia`,runtimeUnavailable:`Tidak tersedia`,activeRuntimes:`Masa jalan aktif`,pendingCleanups:`Pembersihan tertunda`,orphans:`Kontena yatim`,owner:`Pemilik`,task:`Tugas`,state:`Keadaan`,preview:`Pratonton`,terminals:`Terminal`,updated:`Dikemas kini`,stateRunning:`Berjalan`,stateStopped:`Berhenti`,stateStarting:`Bermula`,stateUnknown:`Tidak diketahui`,noTasks:`Tiada tugas Work lagi.`},recovery:{title:`Latihan pemulihan`,scheduleOn:`Berjalan secara automatik setiap {{hours}} jam — setiap latihan menyandarkan, memulihkan ke salinan terpencil dan mengesahkan hasilnya.`,scheduleOff:`Tidak dijadualkan — tetapkan RECOVERY_DRILL_INTERVAL_HOURS untuk latihan automatik.`,teamUnsupported:`Latihan meliputi profil solo (SQLite); profil pasukan menggunakan CLI sandaran terselaras.`,runNow:`Jalankan latihan sekarang`,running:`Sedang berjalan…`,passed:`Latihan pemulihan berjaya.`,failed:`Latihan pemulihan gagal.`,lastPassed:`Terakhir berjaya`,restoreTime:`Masa pemulihan (RTO)`,drillSpacing:`Selang latihan (RPO)`,archiveSize:`Saiz arkib`,lastFailed:`Latihan terakhir gagal pada {{date}}`,originManual:`Manual`,originScheduled:`Berjadual`,columns:{when:`Bila`,origin:`Asal`,status:`Status`,restore:`Pemulihan`},status:{passed:`Berjaya`,failed:`Gagal`,running:`Berjalan`}}},chatHistory:{label:`Sejarah perbualan`,jumpToTurn:`Pergi ke giliran {{index}} daripada {{total}}`},chatMessage:{you:`Anda`,assistant:`Pembantu`,system:`Sistem`,conversationSummary:`Ringkasan perbualan`,restoreCompacted:`Pulihkan mesej yang diringkaskan`,restoreFailed:`Mesej yang diringkaskan tidak dapat dipulihkan`,copy:`Salin`,copyMessage:`Salin mesej`,copied:`Disalin!`,regenerate:`Jana Semula`,regenerateResponse:`Jana semula respons`,edit:`Sunting`,editSystemMessage:`Sunting mesej sistem`,saveChanges:`Simpan perubahan`,cancelEditing:`Batal penyuntingan`,saveAndSubmit:`Simpan & hantar`,goodResponse:`Respons baik`,badResponse:`Respons buruk`,delete:`Padam`,deleteConfirm:`Padam mesej ini?`,branch:`Cabang`,speaking:`Bercakap...`,speakMessage:`Sebut mesej`,stopSpeaking:`Hentikan pertuturan`,showMore:`Tunjuk lebih`,showLess:`Tunjuk kurang`,thinking:`Berfikir`,thoughtFor:`Berfikir selama {{duration}}`,hiddenLines:`{{count}} baris tersembunyi`,systemMessagePlaceholder:`Masukkan mesej sistem anda...`,fullSizeImage:`Imej saiz penuh`,startConversation:`Mulakan perbualan`,startConversationDescription:`Hantar mesej untuk mula berbual dengan pembantu AI anda. Tanya soalan, dapatkan bantuan dengan kod atau berbual secara semula jadi.`,scrollToBottom:`Tatal ke bawah`,newMessages:`Mesej baharu`,feedbackTags:{accuracy:`Ketepatan`,style:`Gaya`,incomplete:`Tidak lengkap`,harmful:`Berbahaya`,formatting:`Pemformatan`},feedbackComment:`Tambah komen…`},imageGallery:{title:`Galeri Imej`,noImages:`Belum ada imej`,noImagesHint:`Jana imej pertama anda menggunakan panel di sebelah kanan`,delete:`Padam`,download:`Muat Turun`,deleteConfirm:`Adakah anda pasti mahu memadamkan imej ini?`,deleteSuccess:`Imej dipadam`,deleteFailed:`Gagal memadamkan imej`,downloadFailed:`Gagal memuat turun imej`,loadMore:`Muatkan Lagi ({{current}} daripada {{total}})`,loadFailed:`Gagal memuatkan galeri`},imageGeneration:{title:`Jana Imej`,prompt:`Arahan`,promptPlaceholder:`Terangkan imej yang anda mahu cipta...`,model:`Model`,selectModel:`Pilih model`,noModels:`Tiada model penjanaan imej tersedia`,configurePlugin:`Konfigurasi plugin dengan sokongan penjanaan imej`,size:`Saiz`,quality:`Kualiti`,style:`Gaya`,generate:`Jana`,generating:`Menjana...`,success:`Imej berjaya dijana`,failed:`Gagal menjana imej`,enterPrompt:`Sila masukkan arahan`,promptTooLong:`Prompt melebihi panjang maksimum {{max}} aksara`},mediaGeneration:{title:`Jana media`,description:`Cipta video, bunyi, muzik atau ucapan dengan penyedia media yang diaktifkan.`,image:`Imej`,video:`Video`,audio:`Audio`,sound:`Bunyi`,speech:`Ucapan`,model:`Model`,voice:`Suara atau ID suara`,cloneVoice:`Klon suara rujukan`,cloneVoiceDescription:`Jana pertuturan ini berdasarkan rakaman rujukan dan bukannya suara pratetap.`,referenceAudio:`Audio rujukan`,referenceTranscript:`Transkrip rujukan yang tepat`,referenceTranscriptPlaceholder:`Masukkan dengan tepat perkara yang dituturkan dalam rakaman rujukan…`,referenceAudioTooLarge:`Audio rujukan mestilah {{max}} atau lebih kecil.`,cloneConsent:`Klon suara hanya apabila anda mendapat kebenaran penutur. Rakaman dihantar kepada penyedia yang dipilih untuk penjanaan ini dan tidak disimpan oleh Libre WebUI.`,saveVoiceProfile:`Simpan sebagai suara yang boleh digunakan semula`,saveVoiceProfileDescription:`Simpan rakaman rujukan dan transkrip ini dengan selamat. Libre WebUI menghantar kedua-duanya kepada penyedia yang dipilih untuk setiap kelompok Pertuturan yang menggunakan suara ini.`,voiceProfileName:`Nama suara tersimpan`,voiceProfileNamePlaceholder:`Contohnya, Suara saya`,voiceStorageConsent:`Saya mengesahkan bahawa saya mendapat kebenaran penutur untuk mengklon dan menyimpan suara ini. Rujukan akan kekal tersimpan sehingga saya memadamkannya.`,resolution:`Resolusi`,aspectRatio:`Nisbah bidang`,duration:`Tempoh`,providerDefault:`Lalai penyedia`,generateAudio:`Jana audio dengan video apabila disokong`,prompt:`Gesaan`,text:`Teks untuk dilafazkan`,videoPlaceholder:`Huraikan adegan, gerakan, kamera dan pencahayaan...`,audioPlaceholder:`Masukkan teks yang anda mahu suara lafazkan...`,soundPlaceholder:`Huraikan bunyi, muzik, suasana atau respons lisan yang anda mahu...`,generate:`Jana`,generating:`Menjana… ini boleh mengambil masa beberapa minit`,success:`Media dijana dan disimpan ke Imagine`,successWithSavedVoice:`Media telah dijana dan “{{name}}” kini tersedia dalam tetapan Pertuturan`,failed:`Gagal menjana media`,loadFailed:`Gagal memuatkan penyedia media`,noModels:`Tiada model {{kind}} tersedia. Aktifkan penyedia yang serasi dan simpan kelayakannya dahulu.`,consentTtl:{label:`Tempoh persetujuan`,never:`Sehingga saya menariknya balik`,days30:`30 hari`,days90:`90 hari`,days365:`Setahun`}},mediaGallery:{itemCount:`{{count}} item`,empty:`Belum ada media dijana`,emptyHint:`Jana imej, video atau klip suara dan ia akan dipaparkan di sini.`,filters:{all:`Semua`,image:`Imej`,video:`Video`,audio:`Audio`}},errorBoundary:{title:`Sesuatu tidak kena`,description:`Kami menghadapi ralat yang tidak dijangka. Sila cuba muat semula halaman.`,tryAgain:`Muat Semula Halaman`,goHome:`Pergi ke Laman Utama`,errorDetails:`Butiran Ralat (Pembangunan)`},documents:{title:`Dokumen`,upload:`Muat Naik Dokumen`,uploading:`Memuat naik...`,noDocuments:`Tiada dokumen dimuat naik`,uploadHint:`Muat naik dokumen untuk digunakan dalam perbualan anda`,delete:`Padam`,deleteConfirm:`Adakah anda pasti mahu memadamkan dokumen ini?`,deleteSuccess:`Dokumen dipadam`,deleteFailed:`Gagal memadamkan dokumen`,uploadSuccess:`Dokumen berjaya dimuat naik`,uploadFailed:`Gagal memuat naik dokumen`,types:`Disokong: PDF, TXT, MD, DOCX`,unsupportedFileType:`Jenis fail ini tidak disokong`,fileSizeTooLarge:`Saiz fail mesti kurang daripada 10MB`,uploadSuccessWithName:`Dokumen "{{name}}" berjaya dimuat naik`,removeSuccess:`Dokumen berjaya dibuang`,removeFailed:`Gagal membuang dokumen`,removeError:`Ralat berlaku semasa membuang dokumen`,clickToUpload:`Klik untuk muat naik`,orDragAndDrop:`atau seret dan lepas`,fileTypesAndSize:`Fail PDF, Office, Markdown, HTML, kod, CSV, imej dan audio sehingga 10 MB`,uploadedDocuments:`Dokumen Dimuat Naik`,removeDocument:`Buang dokumen`,fullContextToggle:`Hantar dokumen penuh`,fullContextEstimate:`≈ {{tokens}} token`,fullContextTooLarge:`Dokumen yang dilampirkan melebihi had konteks penuh, jadi dapatan semula digunakan`,fullDocument:`Dokumen penuh`},ttsButton:{speak:`Sebut`,stop:`Berhenti`,speaking:`Bercakap...`,generateFailed:`Gagal menjana pertuturan`,playbackFailed:`Main balik audio gagal`,stopSpeaking:`Hentikan pertuturan`,preparingSpeech:`Menyediakan pertuturan...`,generatingSpeech:`Menjana pertuturan...`,bufferingSpeech:`Memuatkan pertuturan...`,enableAudio:`Dayakan audio dan baca dengan kuat`,enableAudioShort:`Dayakan audio`,readAloud:`Baca dengan kuat`},artifacts:{title:`Artifak`,code:`Kod`,preview:`Pratonton`,copy:`Salin kod`,copied:`Disalin!`,download:`Muat Turun`,expand:`Kembangkan`,collapse:`Kecilkan`,openInNewTab:`Buka dalam tab baharu`,invalidSvg:`Kandungan SVG tidak sah`,invalidJson:`Kandungan JSON tidak sah`,previewMode:`Mod pratonton`,codeMode:`Mod kod`,copyContent:`Salin kandungan`,openInPanel:`Buka dalam panel`,created:`Dicipta`,closePanelEsc:`Tutup panel (Esc)`,copyButton:`Salin`,dragEdgeToResize:`Seret tepi untuk mengubah saiz`,previewUnavailable:`Preview unavailable`,previewUnavailableDescription:`This artifact does not contain renderable preview content. Switch to code view to inspect the source.`,versionOf:`Versi {{current}} daripada {{total}}`,previousVersion:`Versi sebelumnya`,nextVersion:`Versi seterusnya`},personaImportExport:{title:`Import & Eksport Persona`,description:`Eksport persona anda untuk dikongsi atau import persona daripada orang lain`,exportPersonas:`Eksport Persona`,importPersonas:`Import Persona`,noPersonasToExport:`Tiada persona untuk dieksport`,personasAvailable:`{{count}} persona tersedia`,personasAvailable_plural:`{{count}} persona tersedia`,exportAll:`Eksport Semua`,uploadJsonFile:`Muat Naik Fail JSON`,pasteJsonLabel:`Tampal Data JSON`,pasteJsonPlaceholder:`Tampal data JSON persona di sini...`,importing:`Mengimport...`,importButton:`Import Persona`,expectedFormat:`Format JSON yang Dijangka:`,exportSuccess:`Persona "{{name}}" berjaya dieksport`,exportFailed:`Gagal mengeksport persona`,exportAllSuccess:`Semua {{count}} persona berjaya dieksport`,exportAllFailed:`Gagal mengeksport persona`,pasteJsonData:`Sila tampal data JSON persona`,importMultipleSuccess:`Berjaya mengimport {{count}} persona`,importMultipleFailed:`Gagal mengimport {{count}} persona`,importNoneFailed:`Gagal mengimport mana-mana persona`,importSuccess:`Persona berjaya diimport`,importFailed:`Gagal mengimport persona`},generationStats:{details:`Butiran`,promptTokens:`Token prompt:`,generatedTokens:`Token dijana:`,totalTokens:`Jumlah token:`,speed:`Kelajuan:`,promptEval:`Penilaian prompt:`,generation:`Penjanaan:`,modelLoad:`Muat model:`,totalTime:`Jumlah masa:`,generatedAt:`Dijana pada:`},userMenu:{loggedOut:`Berjaya log keluar`,pictureUpdated:`Gambar profil dikemas kini`,failedUpdateAvatar:`Gagal mengemas kini avatar`,failedUpdatePicture:`Gagal mengemas kini gambar profil`,noEmail:`Tiada e-mel`,changePicture:`Tukar gambar`,settings:`Tetapan`,userManagement:`Pengurusan pengguna`,signOut:`Log keluar`,changeProfilePicture:`Tukar gambar profil`},pluginManager:{title:`Pengurus plugin`,upload:`Muat naik`,addJson:`Tambah JSON`,browseHF:`Layari HF Hub`,confirmDelete:`Adakah anda pasti mahu memadam plugin ini?`,uploading:`Memuat naik plugin...`,pasteJson:`Tampal JSON plugin di sini...`,installPlugin:`Pasang plugin`,loading:`Memuatkan plugin...`,noPlugins:`Tiada plugin dipasang`,noPluginsDescription:`Muat naik fail plugin atau tambah plugin dari JSON untuk bermula.`,active:`Aktif`,id:`ID`,endpoint:`Endpoint`,activate:`Aktifkan`,deactivate:`Nyahaktifkan`,activePlugin:`Plugin aktif`,activePluginDescription:`Semua permintaan sembang akan dihalakan melalui plugin ini`,variables:{title:`Pembolehubah`,save:`Simpan`,saving:`Menyimpan...`,saved:`Pembolehubah disimpan`,saveFailed:`Gagal menyimpan pembolehubah`,resetDefaults:`Set semula lalai`,reset:`Pembolehubah ditetapkan semula`,resetFailed:`Gagal menetapkan semula pemboleh ubah`,sensitiveSet:`Nilai ditetapkan (masukkan nilai baharu untuk menukar)`,showValue:`Tunjuk nilai {{label}}`,hideValue:`Sembunyi nilai {{label}}`,connection:`Sambungan`,advanced:`Parameter lanjutan`,inherited:`Gunakan lalai penyedia`,inheritedValue:`Gunakan lalai penyedia ({{value}})`,enabled:`Diaktifkan`,disabled:`Dinyahaktifkan`,required:`Nilai diperlukan`,fullApiEndpoint:`URL endpoint API penuh`,endpointHelp:`Masukkan URL permintaan lengkap, termasuk laluan operasinya (contohnya, /v1/chat/completions), bukan hanya URL asas penyedia.`,invalidUrl:`Masukkan URL endpoint API penuh yang sah, contohnya https://provider.example/v1/chat/completions`,insecureUrl:`Endpoint API mesti menggunakan HTTP atau HTTPS.`,httpWarning:`HTTP tidak menyulitkan kelayakan atau trafik. Gunakannya hanya pada rangkaian yang dipercayai.`,invalidBaseUrl:`URL asas tidak boleh mengandungi rentetan pertanyaan atau cebisan.`,invalidApiPath:`Mesti bermula dengan / dan tidak mengandungi URL, pertanyaan, cebisan, atau segmen ..`,tooLong:`Nilai terlalu panjang`}},huggingface:{title:`Pelayar model HuggingFace`,subtitle:`Layari dan pilih model dari Hub`,searchPlaceholder:`Cari model...`,filters:`Penapis`,task:`Tugas`,sortBy:`Isih mengikut`,noModels:`Tiada model ditemui`,adjustSearch:`Cuba laraskan carian atau penapis anda`,gated:`Terhad`,selected:`Dipilih`,select:`Pilih`,refresh:`Muat semula`,modelsFound:`model ditemui`},demoMode:{title:`Mod demo`,github:`GitHub`},libreClaw:{title:`Ejen`,subtitle:`Ejen tempatan menjalankan, kelulusan, jadual, ingatan, alatan dan penggunaan.`,dashboard:`Papan pemuka`,connection:{disconnectedTitle:`Daemon Libre Claw tidak disambungkan`,disconnectedDescription:`Mulakannya secara setempat dengan <command>libre-claw start</command> atau tetapkan <env>LIBRE_CLAW_BASE_URL</env> dalam persekitaran bahagian belakang.`},status:{connected:`Bersambung`,disconnected:`Terputus sambungan`,activeRuns:`{{count}} aktif`,activeRuns_plural:`{{count}} aktif`},states:{queued:`Beratur`,running:`Sedang berjalan`,blocked:`Disekat`,done:`Selesai`,failed:`gagal`,cancelled:`Dibatalkan`},startRun:{title:`Mulakan tugas ejen`,placeholder:`Minta Libre Claw untuk memeriksa repo, membetulkan pepijat, menjalankan semakan, menjadualkan laporan...`,chatRun:`Larian sembang`,goalMode:`Mod matlamat`,providerOverride:`Pembatalan pembekal`,modelOverride:`Model menimpa`,run:`Jalankan`},modelRoute:{title:`Laluan Model`,providerPlaceholder:`pembekal`,modelPlaceholder:`model`,persistGlobal:`Berterusan untuk Libre Claw konfigurasi global`,saveModel:`Simpan model`,theme:`Tema Libre Claw`,saveTheme:`Simpan tema`},runs:{title:`Tugas`,empty:`Belum ada tugas Libre Claw.`},timeline:{title:`Garis masa tugas`,empty:`Pilih larian untuk memeriksa acaranya.`,streaming:`Menstrim...`,assistantResponse:`Jawapan pembantu`,resultOk:`ok`,resultError:`kesilapan`,labels:{userMessage:`Mesej pengguna`,toolCall:`Panggilan alat`,toolResult:`Hasil alat`,approvalRequest:`Permintaan kelulusan`,approvalResponse:`Maklum balas kelulusan`,runStarted:`Tugas dimulakan`,runFinished:`Tugas selesai`,usage:`Penggunaan`,error:`ralat`}},approvals:{needed:`Kelulusan diperlukan`,allowOnce:`Izinkan sekali`,alwaysAllowTool:`Sentiasa benarkan alat`,deny:`Tolak`,toolApprovalRequested:`Kelulusan alat diminta`},automations:{title:`Automasi`,namePlaceholder:`Nama`,schedulePlaceholder:`daily 09:00`,promptPlaceholder:`Gesaan automasi`,create:`Buat`,empty:`Tiada automasi Libre Claw yang dijadualkan.`,runNow:`Jalankan sekarang`,pause:`jeda`,resume:`Sambung`,routes:{report:`Laporan`,telegram:`Telegram`},status:{active:`Aktif`,paused:`Dijeda`}},usageFallback:{title:`Penggunaan Dan Fallback`,usage:`Penggunaan`,fallbackRoute:`Laluan Fallback`,noUsage:`Tiada rekod penggunaan lagi.`},metrics:{provider:`Pembekal`,model:`Model`,input:`Input`,output:`Output`,cached:`Dicache`,reasoning:`Penaakulan`,cost:`kos`,tool:`alat`,resolution:`Resolusi`,state:`Status`,stopReason:`Sebab berhenti`,tokens:`{{formatted}} token`,tokens_plural:`{{formatted}} token`},fallbacks:{tool:`alat`,unknown:`tidak diketahui`,resolved:`diselesaikan`,unknownError:`Ralat tidak diketahui`},toasts:{loadStatusFailed:`Tidak dapat memuatkan status Libre Claw`,enterTask:`Masukkan tugasan untuk Libre Claw`,runStarted:`Tugas Libre Claw dimulakan`,startRunFailed:`Tidak dapat memulakan tugas Libre Claw`,runCancelled:`Tugas dibatalkan`,cancelRunFailed:`Tidak dapat membatalkan tugas`,approved:`Diluluskan`,denied:`dinafikan`,resolvePermissionFailed:`Tidak dapat menyelesaikan kebenaran`,providerModelRequired:`Pembekal dan model diperlukan`,modelUpdated:`Model Libre Claw dikemas kini`,updateModelFailed:`Tidak dapat mengemas kini model`,themeUpdated:`Tema Libre Claw dikemas kini`,updateThemeFailed:`Tidak dapat mengemas kini tema`,automationRequired:`Nama automasi, jadual dan segera diperlukan`,automationCreated:`Automasi dibuat`,createAutomationFailed:`Tidak dapat membuat automasi`,automationUpdated:`Automasi dikemas kini`,updateAutomationFailed:`Tidak dapat mengemas kini automasi`}},work:JSON.parse(`{"title":"Kerja","subtitle":"Ruang kerja model terasing","tasks":{"title":"Tugas Kerja","subtitle":"Ruang kerja setempat yang berkekalan","new":"Tugas baharu","emptyTitle":"Belum ada tugas Kerja","empty":"Tugas Kerja anda akan dipaparkan di sini selepas anda menghantar mesej pertama.","untitled":"Tugas tanpa tajuk","actions":"Tindakan tugas","delete":"Padam tugas","deleteNamed":"Padam {{title}}","deleteConfirm":"Padam “{{title}}” dan ruang kerjanya secara kekal?","close":"Tutup tugas Kerja","open":"Buka tugas Kerja","rename":"Tajuk tugas","loading":"Memuatkan tugas…","notFound":"Tugas Kerja ini tidak tersedia","back":"Mulakan tugas baharu","status":"Status: {{status}}"},"landing":{"title":"Mulakan tugas Kerja baharu","description":"Berikan model setempat atau model penyedia yang dikonfigurasi ruang kerja yang berkekalan dan terasing. Model boleh memeriksa fail, menjalankan alat dan menyambung kerja apabila anda kembali.","isolated":"Terasing","isolatedBody":"Setiap tugas mempunyai bekas dan failnya sendiri.","durable":"Berkekalan","durableBody":"Kembali kepada perbualan dan ruang kerjanya kemudian.","controlled":"Terkawal","controlledBody":"Masa jalan dan fail tugas kekal terasing daripada hos."},"composer":{"placeholder":"Terangkan perkara yang ingin anda bina atau ubah…","model":"Model Kerja","noModels":"Tiada model yang serasi dengan Kerja","cancel":"Hentikan","send":"Jalankan","hint":"Setiap tugas menyimpan fail dan sejarahnya sendiri. Semak output model sebelum menggunakannya.","remoteTitle":"Penyedia jauh","remoteHint":"Perbualan dan output alat dihantar kepada perkhidmatan yang dikonfigurasi. Satu pelaksanaan autonomi boleh membuat beberapa panggilan penyedia dan mungkin dikenakan caj. Fail ruang kerja kekal setempat melainkan alat mengembalikan kandungannya.","remoteDismiss":"Tutup","remoteDismissLabel":"Tutup notis penyedia jauh","remoteDismissFailed":"Tidak dapat menyimpan pilihan penyedia jauh.","noModelSelected":"Tiada model serasi Kerja yang dipilih.","mentionAgents":"Sebut ejen"},"conversation":{"ready":"Ruang kerja sedia","empty":"Teruskan tugas di bawah. Perbualan dan failnya kekal dilampirkan pada ruang kerja ini.","loadOlder":"Muatkan mesej lama","openFile":"Buka {{name}}","delegatedBy":"Diwakilkan oleh {{agent}}","reportFrom":"Laporan daripada {{agent}}"},"status":{"preparing":"Menyediakan ruang kerja terasing…","running":"Sedang bekerja dalam ruang kerja setempat…"},"statusLabels":{"idle":"Tidak aktif","thinking":"Berfikir","complete":"Selesai","needsInput":"Memerlukan input","error":"Ralat"},"live":{"connecting":"Menyambung ke kemas kini langsung…","reconnecting":"Menyambung semula ke kemas kini langsung…","unavailable":"Kemas kini langsung tidak tersedia","newActivity":"Aktiviti baharu","skillsLoaded":"Kemahiran ruang kerja · {{count}}","skillWorked":"Prosedur ini berjaya","skillFailed":"Prosedur ini gagal","skillTraceSaved":"dicatat","stats":{"title":"Ringkasan larian","rounds":"Pusingan","toolCalls":"Panggilan alat","screenshots":"Tangkapan skrin","fences":"Penahan","checksPassed":"Semakan lulus","checksPending":"Semakan tertunda","stallNudges":"Peringatan tersekat","ambiguityNudges":"Peringatan penjajaran semula","stoppedBy":"Dihentikan oleh"}},"runtime":{"unavailable":"Masa jalan tidak tersedia","ready":"Masa jalan sedia","readyOllama":"Docker sedia","readyPlugin":"Docker + pemalam sedia","readyHybrid":"Docker + model sedia","reason":"Docker dan penyedia model Ollama atau pemalam yang tersedia diperlukan."},"workspace":{"label":"Paparan ruang kerja","files":"Fail","activity":"Aktiviti","preview":"Pratonton","resize":"Ubah saiz perbualan dan ruang kerja","resizeHint":"Seret untuk mengubah saiz. Gunakan kekunci anak panah untuk kawalan tepat. Klik dua kali atau tekan Enter untuk menetapkan semula.","splitSize":"Perbualan {{conversation}}%, ruang kerja {{workspace}}%","terminal":"Terminal","git":"Git","screen":"Skrin","agent":"Ejen"},"files":{"discard":"Buang perubahan fail yang belum disimpan?","leaveWithDraft":"Tinggalkan fail ini? Suntingan yang belum disimpan akan kekal sebagai draf pelayar.","up":"Folder induk","back":"Kembali ke fail","empty":"Belum ada fail dalam folder ini.","select":"Pilih fail untuk diperiksa dan disunting.","editorLabel":"Penyunting fail: {{path}}","format":"Format","formatted":"Kod telah diformat.","formatFailed":"Tidak dapat memformat fail ini.","formatShortcut":"Format (Shift+Alt+F)","formatTooLarge":"Pemformatan terhad kepada fail di bawah 100,000 aksara dan 4,000 baris.","formatUnsupported":"Pemformatan tidak tersedia untuk jenis fail ini.","saveShortcut":"Simpan (⌘/Ctrl+S)","highlightPaused":"Penyerlahan langsung dijeda untuk fail besar agar penyuntingan kekal responsif.","plainTextLarge":"Teks biasa · fail besar","changes":"Perubahan","changesSince":"Apa yang berubah sejak giliran terakhir","diffLabel":"Perubahan sejak giliran terakhir: {{path}}","diffFolded":"{{count}} baris tidak berubah"},"activity":{"empty":"Perintah, operasi fail dan hasil alat akan dipaparkan di sini.","toolActivity":"Aktiviti alat","details":"Butiran","kinds":{"message":"Mesej","toolCall":"Panggilan alat","toolResult":"Hasil alat","error":"Ralat"}},"preview":{"command":"Perintah mula pilihan","start":"Mulakan pratonton","stop":"Hentikan pratonton","open":"Buka","starting":"Memulakan pratonton…","frameTitle":"Pratonton ruang kerja","failed":"Pratonton tidak dapat dimulakan. Semak Aktiviti, kemudian cuba perintah lain.","empty":"Mulakan aplikasi dalam ruang kerja ini untuk memeriksanya di sini."},"mobile":{"surface":"Paparan tugas","conversation":"Perbualan","workspace":"Ruang kerja"},"toasts":{"runFailed":"Tidak dapat memulakan tugas Kerja.","updateFailed":"Tidak dapat mengemas kini tugas ini.","renameFailed":"Tidak dapat menamakan semula tugas ini.","cancelled":"Pelaksanaan Kerja dihentikan.","cancelFailed":"Tidak dapat menghentikan pelaksanaan Kerja.","deleteFailed":"Tidak dapat memadam tugas Kerja ini.","saveFailed":"Tidak dapat menyimpan fail ini.","saved":"Fail disimpan.","previewFailed":"Tidak dapat memulakan pratonton.","previewStopFailed":"Tidak dapat menghentikan pratonton."},"terminal":{"connecting":"Membuka shell dalam kotak pasir…","closed":"Sesi terminal tamat.","failed":"Sesi terminal tidak dapat dimulakan.","reconnect":"Sambung semula","unavailable":"Terminal interaktif tidak tersedia dalam penggunaan ini.","blockedByRun":"Model sedang menggunakan bekas ini. Terminal dibuka apabila giliran selesai.","taskRunning":"Giliran model sedang berjalan"},"policy":{"label":"Dasar masa jalan","default":"Lalai (had global)","setupHint":"Dasar masa jalan membuka Work Computer — desktop pelayar yang boleh ditonton untuk ejen — dan had setiap tugasan.","setupLink":"Sediakan dasar Work"},"git":{"actionFailed":"Tindakan Git gagal.","blockedByPreview":"Hentikan pratonton sebelum mengubah keadaan Git.","blockedByRun":"Tindakan tulis Git terbuka selepas giliran model tamat.","branchCreated":"{{name}} dicipta.","branchSwitched":"Bertukar ke {{name}}.","clean":"Pokok kerja bersih.","commit":"Commit perubahan berperingkat","commitMessage":"Mesej commit","committed":"Commit dicipta.","detached":"HEAD terpisah","diff":"Pratonton diff","diffFailed":"Tidak dapat memuatkan diff ini.","history":"Sejarah setempat","initialize":"Mulakan Git","initializeDescription":"Cipta repositori setempat untuk status, diff, cabang dan commit. Tiada kelayakan jauh disambungkan.","initialized":"Repositori Git dimulakan.","loadFailed":"Tidak dapat memuatkan status Git.","localOnly":"Git setempat sahaja. Push, pull dan pull request memerlukan broker kelayakan dipercayai yang berasingan.","newBranch":"Cabang setempat baharu","noCommits":"Belum ada commit.","noDiff":"Belum ada diff teks. Fail tidak dijejak muncul selepas peringkat.","notInitialized":"Git belum dimulakan","selectChange":"Pilih fail yang berubah untuk memeriksa diffnya.","selectPath":"Pilih {{path}}","stageAll":"Peringkat semua","stageSelected":"Peringkat {{count}}","staged":"Perubahan diperingkat.","switchBranch":"Tukar cabang setempat","changes":"Perubahan","createBranch":"Cipta","filterFiles":"Tapis fail yang berubah","noFilterMatches":"Tiada fail berubah yang sepadan dengan tapisan ini.","allChanges":"Semua perubahan","diffTruncated":"Diff ini dipotong.","binaryFile":"Fail binari, tiada diff teks."},"hostWorkspace":{"hint":"Biarkan kosong untuk ruang kerja terpencil, atau halakan tugas ke folder pada mesin ini.","label":"Folder ruang kerja (pilihan)","warning":"Tugas boleh membaca dan menulis folder ini terus. Biarkan kosong untuk ruang kerja terpencil."},"screen":{"starting":"Memulakan Work Computer…","disconnected":"Skrin terputus.","reconnect":"Sambung semula","viewOnly":"Memerhati","takeOver":"Ambil alih","handBack":"Saya selesai","youHaveControl":"Anda memegang kawalan","otherHasControl":"{{name}} memegang kawalan","agentWaiting":"Ejen meminta anda mengambil alih","teach":"Ajar tugasan","recording":"Merakam","teachSave":"Simpan","teachDiscard":"Buang","teachNamePlaceholder":"Namakan tugasan ini","teachSaved":"Disimpan sebagai kemahiran \\"{{name}}\\"","watchingLearning":"Ejen sedang memerhati dan belajar","unmute":"Nyahsenyapkan","mute":"Senyapkan"},"computerSetup":{"title":"Work Computer","description":"Beri ejen anda desktop sebenar dengan pelayar — semuanya disediakan secara automatik.","building":"Membina imej desktop... kali pertama mengambil beberapa minit.","enable":"Dayakan","retry":"Cuba lagi"},"agents":{"title":"Ejen"},"persona":{"label":"Ambil bekerja sebagai ejen (pilihan)","none":"Tiada persona (tugas sekali sahaja)","hint":"Tugas ini menjadi ejen bernama: ia mengekalkan persona, kekal disemat pada bar sisi dan melaporkan satu baris status selepas setiap larian.","description":"Pilih persona untuk menjadikan tugas ini ejen kekal dengan identitinya sendiri."},"agent":{"openScreen":"Buka paparan skrin penuh","personaLine":"Persona: {{name}}","screen":"Skrin","routines":"Rutin","addRoutine":"Rutin","noRoutines":"Belum ada rutin. Rutin menjalankan arahan mengikut jadual, di dalam ruang kerja ejen ini.","routineToggleFailed":"Rutin tidak dapat dikemas kini.","routineSaveFailed":"Rutin tidak dapat disimpan.","skills":"Kemahiran yang diajar","noSkills":"Belum ada yang diajar. Gunakan Teach pada tab Skrin untuk menunjukkan prosedur sekali; ia menjadi kemahiran yang boleh dimainkan semula.","skillToggleFailed":"Kemahiran tidak dapat dikemas kini.","unread":"Aktiviti baharu","approvals":"Semakan Auto","approvalsHint":"Apabila dihidupkan, arahan, pemadaman dan pemindahan fail, serta tindakan komputer akan dijeda sehingga anda meluluskannya.","approvalsPolicyForced":"Dasar Work ejen ini memerlukan kelulusan untuk tindakan yang mengubah data.","approvalsToggleFailed":"Tetapan kelulusan tidak dapat dikemas kini.","approvalRuleLine":"Sentiasa dibenarkan","approvalRuleDelete":"Buang peraturan","approvalRuleDeleteFailed":"Peraturan tidak dapat dibuang."},"approval":{"title":"Kelulusan diperlukan","description":"Ejen mahu menjalankan {{tool}}. Tindakan ini boleh mengubah data atau bertindak di luar perbualan.","allowOnce":"Izinkan sekali","allowAlways":"Izinkan sentiasa","deny":"Tolak","failed":"Keputusan tidak dapat dihantar."}}`),personaBackground:{label:`Imej Latar Belakang`,uploadBackgroundImage:`Muat naik imej latar belakang`,dragAndDrop:`Seret dan lepas imej atau klik untuk melayari`,chooseImage:`Pilih Imej`,uploading:`Memuat naik...`,enterImageUrl:`Atau masukkan URL imej`,supportedFormats:`Menyokong: JPG, PNG, GIF, WebP (maks 5MB). Imej landskap lebar berfungsi terbaik.`,customBackground:`Imej latar belakang tersuai`,clickToChange:`Klik untuk menukar atau membuang`,removed:`Latar belakang dibuang`,uploaded:`Latar belakang berjaya dimuat naik`,invalidFile:`Sila pilih fail imej yang sah`,fileTooLarge:`Saiz imej latar belakang mestilah kurang daripada 5MB`,readFailed:`Gagal membaca fail imej`,uploadFailed:`Gagal memuat naik imej latar belakang`},modelSelector:{searchInstalled:`Search installed models...`,searchOllama:`Search Ollama library...`,searchHuggingFace:`Search HuggingFace...`,selectModel:`Select Model`,personas:`Personas`,ollamaModels:`Ollama Models`,pluginModels:`Plugin Models`,actions:`Actions`,installed:`Installed`,use:`Use`,pull:`Pull`,pullRestricted:`Pemasangan model dihadkan kepada pentadbir sahaja pada instance ini.`,adminOnlyPull:`Pentadbir sahaja`,legacyProvider:`penyedia tidak direkodkan`,providerNotRecorded:`Penyedia tidak direkodkan`,providerUnavailable:`penyedia tidak tersedia`,reselectProvider:`pilih semula penyedia untuk menyemat model ini`,unavailable:`tidak tersedia`,unavailableSelections:`Pilihan tidak tersedia`,agentModels:`Ejen`},whatsNew:{title:`Apa yang baharu`,releaseNotes:`Nota keluaran`,cta:`Okay, mari mula`,starAsk:`Suka Libre WebUI? Beri bintang di GitHub`},notes:{title:`Nota`,new:`Nota baharu`,untitled:`Tanpa tajuk`,empty:`Tiada nota lagi`,selectOrCreate:`Pilih nota atau cipta yang baharu`,contentPlaceholder:`Tulis dalam Markdown…`,saved:`Disimpan`,saveFailed:`Tidak dapat menyimpan nota`,createFailed:`Tidak dapat mencipta nota`,deleteConfirm:`Padam nota ini?`,deleteFailed:`Tidak dapat memadam nota`,tools:`Alatan nota`,revisions:`Sejarah`,attachments:`Lampiran`,share:`Kongsi`,assist:`Suntingan AI`,noRevisions:`Belum ada versi terdahulu`,restore:`Pulihkan`,revisionRestored:`Versi dipulihkan`,revisionRestoreFailed:`Tidak dapat memulihkan versi ini`,addAttachment:`Tambah lampiran`,noAttachments:`Belum ada lampiran`,attachmentAdded:`Lampiran ditambah`,attachmentFailed:`Tidak dapat menambah lampiran`,attachmentDownloadFailed:`Tidak dapat memuat turun lampiran`,shareUsernamePlaceholder:`Nama pengguna`,permissionRead:`Boleh lihat`,permissionWrite:`Boleh sunting`,shareAction:`Kongsi`,notShared:`Belum dikongsi dengan sesiapa`,revokeShare:`Tarik balik akses`,shareHint:`Nota yang dikongsi muncul dalam senarai nota orang lain. Akses boleh ditarik balik pada bila-bila masa.`,shareUserNotFound:`Tiada pengguna dengan nama itu`,shareAdded:`Dikongsi dengan {{username}}`,shareFailed:`Tidak dapat berkongsi nota`,assistPlaceholder:`Terangkan perubahan, cth. pendekkan ringkasan atau betulkan tatabahasa`,assistGenerate:`Cadangkan suntingan`,assistNoModel:`Pilih model dalam Chat dahulu`,assistNoChanges:`Model tidak mencadangkan perubahan`,assistApply:`Guna pakai`,assistDiscard:`Buang`,assistApplied:`Suntingan digunakan`,assistRevisionHint:`Apabila digunakan, versi sebelumnya kekal dalam sejarah supaya setiap suntingan AI boleh diundurkan.`,assistFailed:`Tidak dapat menjana suntingan`,pin:`Semat nota`,unpin:`Nyahsemat nota`,pinned:`Disemat`,export:`Muat turun sebagai Markdown`,sharedWithYou:`Dikongsi dengan anda`},calendar:{title:`Kalendar`,today:`Hari ini`,month:`Bulan`,week:`Minggu`,previous:`Sebelumnya`,next:`Seterusnya`,newEvent:`Acara baharu`,editEvent:`Edit acara`,eventTitle:`Tajuk`,titlePlaceholder:`Tajuk acara`,date:`Tarikh`,start:`Mula`,end:`Tamat`,allDay:`Sepanjang hari`,repeat:`Ulang`,repeatNone:`Tidak berulang`,repeatDaily:`Harian`,repeatWeekly:`Mingguan`,repeatMonthly:`Bulanan`,repeatYearly:`Tahunan`,notes:`Nota`,more:`+{{n}} lagi`,loadFailed:`Gagal memuatkan kalendar`,saveFailed:`Gagal menyimpan acara`,deleteFailed:`Gagal memadamkan acara`,day:`Hari`,calendarLabel:`Kalendar`,personalCalendar:`Peribadi`,reminderLabel:`Peringatan`,reminderNone:`Tiada peringatan`,reminderMinutes:`{{minutes}} minit sebelum`,reminderHour:`1 jam sebelum`,reminderDay:`1 hari sebelum`,sharedReadOnly:`Acara ini dikongsi dengan anda untuk paparan sahaja.`,sharedBadge:`dikongsi`,shareCalendar:`Kongsi kalendar`,newCalendarPlaceholder:`Kalendar baharu…`,calendarSaveFailed:`Kalendar tidak dapat disimpan`,exportFailed:`Kalendar tidak dapat dieksport`,importFailed:`Fail tidak dapat diimport`,importResult:`{{total}} acara diimport`,importIcs:`Import`,exportIcs:`Eksport`},automations:{title:`Automasi`,tab:{automations:`Automasi`,runs:`Larian`},newAutomation:`Automasi baharu`,editAutomation:`Edit automasi`,empty:`Belum ada automasi. Cipta satu untuk menjalankan tugas mengikut jadual.`,loadFailed:`Gagal memuatkan automasi`,saveFailed:`Gagal menyimpan automasi`,actionFailed:`Tindakan gagal`,runQueued:`Larian dimulakan`,status:{active:`Aktif`,paused:`Dijeda`},nextRun:`Larian seterusnya {{when}}`,actions:`Tindakan`,pause:`Jeda`,resume:`Sambung semula`,runNow:`Jalankan sekarang`,openChat:`Buka sembang`,noRuns:`Belum ada larian`,deletedAutomation:`Automasi dipadamkan`,runHistory:`Sejarah larian (30 hari lepas)`,succeeded:`berjaya`,failed:`gagal`,form:{name:`Nama`,namePlaceholder:`Automasi saya`,triggers:`Pencetus`,addTrigger:`Tambah pencetus`,instructions:`Arahan`,instructionsPlaceholder:`Apa yang patut dijalankan mengikut jadual ini?`,model:`Model`,modelAuto:`Auto`,notification:`Pemberitahuan`,notifyApp:`Aplikasi`,notifyOff:`Mati`,frequency:`Kekerapan`,time:`Masa`,minute:`Minit`,fromHour:`Dari`,toHour:`Hingga`,weekday:`Hari`,dayOfMonth:`Hari bulan`,month:`Bulan`,target:`Jalankan sebagai`,targetChat:`Sesi sembang`,targetWork:`Tugas Work`,workPolicy:`Dasar Work`,workPolicyDefault:`Lalai (had global)`,taskBoundNote:`Rutin ini berjalan di dalam ruang kerja dan perbualan ejen itu sendiri, dengan model dan masa jalan ejen.`},kind:{once:`Sekali`,hourly:`Setiap jam`,daily:`Harian`,weekly:`Mingguan`,monthly:`Bulanan`,yearly:`Tahunan`},trigger:{once:`Sekali pada {{when}}`,hourly:`Setiap jam pada minit :{{minute}}`,daily:`Setiap hari pada {{time}}`,weekly:`Setiap {{day}} pada {{time}}`,monthly:`Setiap {{day}} haribulan pada {{time}}`,yearly:`Setiap tahun pada {{date}} {{time}}`},finishedNotification:`{{n}} larian automasi selesai`,templatesTitle:`Templat`,templates:{morningBrief:{name:`Ringkasan pagi`,description:`Mulakan hari dengan tajuk utama dan keutamaan.`},newsDigest:{name:`Ringkasan berita AI`,description:`Keluaran model, penyelidikan dan pembiayaan yang penting.`},weeklyReview:{name:`Ulasan mingguan`,description:`Tutup minggu: kejayaan, kerja tertangguh, keutamaan seterusnya.`},monthlyReport:{name:`Laporan bulanan`,description:`Rangka laporan status pada satu haribulan setiap bulan.`}},openTask:`Buka tugas`,webhook:{title:`Pencetus webhook`,enabledHint:`Sistem luaran boleh melancarkan automasi ini dengan rahsia tersebut. Putaran membatalkan rahsia sebelumnya.`,disabledHint:`Benarkan sistem luaran (CI, cron, automasi rumah) melancarkan automasi ini melalui POST dan satu rahsia.`,rotate:`Putar rahsia`,enable:`Dayakan`,disable:`Nyahdayakan`,revealHint:`Dipaparkan sekali sahaja. Hantar sebagai token Bearer atau pengepala X-Libre-Webhook-Secret.`,failed:`Webhook tidak dapat dikemas kini.`}},home:{active:`aktif`,continue:`Teruskan`,start:`Mula`,explore:`Terokai`},palette:{empty:`Tiada padanan.`,placeholder:`Cari sembang, Work, tindakan…`,toggleTheme:`Tukar tema`,actions:`Tindakan`,chats:`Sembang`,search:`Cari`,settings:`Tetapan`,work:`Kerja`,messages:`Mesej`,notes:`Nota`,documents:`Dokumen`},tabs:{actions:`Tindakan tab`,close:`Tutup tab`,closeAll:`Tutup semua tab`,closeOthers:`Tutup tab lain`,closeRight:`Tutup tab di kanan`,home:`Laman utama`,label:`Tab terbuka`,new:`Tab baharu`,newWork:`Work baharu`,chat:`Sembang`,newChat:`Sembang Baharu`,work:`Kerja`},tools:{arguments:`Argumen`,result:`Keputusan`,callStatus:{awaiting_approval:`Menunggu kelulusan`,running:`Sedang berjalan`,succeeded:`Selesai`,failed:`Gagal`,denied:`Ditolak`,cancelled:`Dibatalkan`},approval:{title:`Alat perlukan kelulusan`,description:`Model mahu menjalankan {{tool}} pada {{server}}. Panggilan ini boleh mengubah data di luar sembang ini.`,builtinSource:`pelayan ini`,allowOnce:`Izinkan sekali`,allowSession:`Izinkan dalam sembang ini`,allowAlways:`Izinkan sentiasa`,deny:`Tolak`}},promptsPage:{title:`Prompt`,description:`Templat prompt boleh guna semula dengan pemboleh ubah bertaip. Taip / dalam ruang sembang untuk menyisipkan satu.`,newPrompt:`Prompt baharu`,editPrompt:`Edit prompt`,empty:`Belum ada prompt`,emptyHint:`Prompt ialah templat mesej yang disimpan. Setelah anda mencipta satu, menaip /slug dalam ruang sembang akan menyisipkannya dan bertanya pemboleh ubah yang diisytiharkannya.`,loadFailed:`Prompt anda tidak dapat dimuatkan.`,saved:`Prompt disimpan`,saveFailed:`Prompt tidak dapat disimpan.`,deleted:`Prompt dipadam`,deleteFailed:`Prompt tidak dapat dipadam.`,deleteTitle:`Padam prompt`,deleteConfirm:`Padam "{{title}}"? Sejarah versinya turut hilang.`,exportFailed:`Prompt tidak dapat dieksport.`,imported:`Prompt diimport`,importFailed:`Fail itu tidak dapat diimport.`,historyFailed:`Sejarah versi tidak dapat dimuatkan.`,rolledBack:`Prompt dikembalikan`,rollbackFailed:`Prompt tidak dapat dikembalikan.`,versionLabel:`v{{version}}`,updated:`Dikemas kini {{when}}`,form:{slug:`Slug`,slugPlaceholder:`weekly-report`,slugHint:`Digunakan sebagai /slug dalam ruang sembang.`,slugInvalid:`Huruf kecil, digit dan sengkang sahaja.`,title:`Tajuk`,titlePlaceholder:`Laporan mingguan`,description:`Penerangan`,descriptionPlaceholder:`Untuk apa prompt ini`,content:`Kandungan`,contentPlaceholder:`Tulis prompt itu. Balut apa-apa yang mahu diisi kemudian dengan kurungan kerinting berganda.`,contentHint:`Pemegang tempat ialah nama dalam kurungan kerinting berganda. Isytiharkannya di bawah untuk memberi label atau nilai lalai.`,tags:`Tag`,tagsPlaceholder:`penyelidikan, penulisan`,variables:`Pemboleh ubah`,variablesHint:`Pilihan. Isytiharkan pemegang tempat di sini untuk memberinya label, nilai lalai atau satu set pilihan.`,variableName:`Nama`,variableType:`Jenis`,variableLabel:`Label`,variableDefault:`Lalai`,variableRequired:`Diperlukan`,variableOptions:`Pilihan`,variableOptionsPlaceholder:`Pilihan dipisahkan koma`,addVariable:`Tambah pemboleh ubah`,removeVariable:`Buang pemboleh ubah`},variableTypes:{text:`Teks`,number:`Nombor`,select:`Pilihan`,boolean:`Ya atau tidak`},history:{open:`Sejarah versi`,title:`Sejarah {{title}}`,subtitle:`Mengembalikan versi menyimpan semakan yang dipilih sebagai versi baharu. Tiada apa-apa ditulis ganti.`,empty:`Belum ada versi terdahulu.`,current:`Semasa`,rollback:`Kembalikan`,rollingBack:`Mengembalikan...`},templatesTitle:`Mula daripada templat`,templates:{reviewPr:{name:`Semakan pull request`,description:`Semakan kod berstruktur dengan tahap ketegasan boleh laras.`},summarize:{name:`Ringkaskan untuk khalayak tertentu`,description:`Ringkasan bentuk poin yang disesuaikan dengan pembaca.`},translate:{name:`Terjemah`,description:`Terjemahan yang mengekalkan nada dan format.`},explainCode:{name:`Terangkan kod`,description:`Penerangan langkah demi langkah serta kes tepi dan risiko.`}}},skillsPage:{title:`Kemahiran`,description:`Set arahan bernama yang boleh dimuatkan model apabila diperlukan semasa bekerja.`,newSkill:`Kemahiran baharu`,editSkill:`Edit kemahiran`,empty:`Belum ada kemahiran`,emptyHint:`Kemahiran ialah set arahan yang dimuatkan model hanya apabila ia perlukannya. Sebut $slug dalam mesej, atau biarkan model mencapainya melalui alat load_skill.`,loadFailed:`Kemahiran anda tidak dapat dimuatkan.`,saved:`Kemahiran disimpan`,saveFailed:`Kemahiran tidak dapat disimpan.`,toggleFailed:`Kemahiran tidak dapat diubah.`,deleted:`Kemahiran dipadam`,deleteFailed:`Kemahiran tidak dapat dipadam.`,deleteTitle:`Padam kemahiran`,deleteConfirm:`Padam "{{name}}"? Sejarah versinya turut hilang.`,exportFailed:`Kemahiran tidak dapat dieksport.`,imported:`Kemahiran diimport`,importFailed:`Fail itu tidak dapat diimport.`,historyFailed:`Sejarah versi tidak dapat dimuatkan.`,rolledBack:`Kemahiran dikembalikan`,rollbackFailed:`Kemahiran tidak dapat dikembalikan.`,versionLabel:`v{{version}}`,updated:`Dikemas kini {{when}}`,form:{slug:`Slug`,slugPlaceholder:`code-review`,slugHint:`Digunakan sebagai $slug apabila anda menyebut kemahiran itu.`,slugInvalid:`Huruf kecil, digit dan sengkang sahaja.`,name:`Nama`,namePlaceholder:`Semakan kod`,description:`Penerangan`,descriptionPlaceholder:`Bila kemahiran ini digunakan`,descriptionHint:`Inilah manifes yang dilihat model. Tulis supaya model tahu bila kemahiran ini sesuai tanpa memuatkannya.`,instructions:`Arahan`,instructionsPlaceholder:`Arahan Markdown yang dibaca model setelah memuatkan kemahiran ini.`,instructionsHint:`Dimuatkan hanya apabila kemahiran digunakan, jadi panjangnya tidak menelan kos sehingga waktu itu.`,enabled:`Diaktifkan`,enabledHint:`Kemahiran yang dilumpuhkan kekal tersimpan tetapi tidak pernah ditawarkan kepada model.`},history:{open:`Sejarah versi`,title:`Sejarah {{name}}`},templatesTitle:`Mula daripada templat`,templates:{citeSources:{name:`Nyatakan sumber`,description:`Rujukan bernombor dengan URL, tiada dakwaan tanpa sumber.`},releaseNotes:{name:`Gaya nota keluaran`,description:`Entri berkumpulan untuk pengguna, tanpa id dalaman.`},meetingNotes:{name:`Format nota mesyuarat`,description:`Keputusan, tindakan susulan dan soalan terbuka daripada transkrip.`}},importUrl:{button:`Dari URL`,title:`Import kemahiran daripada URL`,hint:`Tampal pautan skills.sh atau GitHub, owner/repo/skill, atau pautan terus ke fail SKILL.md.`,placeholder:`https://skills.sh/owner/repo/skill atau owner/repo/skill`,overwrite:`Tulis ganti kemahiran saya jika slug sudah wujud`},files:{title:`Fail yang disertakan`,hint:`Dokumen rujukan dan skrip yang dibaca model apabila perlu melalui read_skill_file.`,add:`Tambah fail`,empty:`Belum ada fail yang disertakan.`,pathPlaceholder:`docs/reference.md`,contentPlaceholder:`Kandungan fail…`,loadFailed:`Gagal memuatkan fail`,saveFailed:`Gagal menyimpan fail`,deleteFailed:`Gagal memadam fail`},folderImport:{button:`Dari folder`,missingSkillMd:`Folder mesti mengandungi fail SKILL.md`,done:`Kemahiran diimport dengan {{count}} fail yang disertakan`}},toolsPage:{title:`Alat`,description:`Pelayan alat yang boleh dipanggil model, dan kelulusan yang anda berikan kepadanya.`,approvalNotice:`Alat yang mengubah data di luar sembang sentiasa meminta kelulusan, melainkan anda telah memberi alat itu kelulusan kekal atau kelulusan untuk sembang ini.`,registerServer:`Daftar pelayan`,registerHint:`Libre WebUI membaca pelayan sekali dan menyemat alat yang didedahkannya. Segarkan pelayan kemudian untuk menangkap perubahan.`,editServer:`Edit pelayan`,empty:`Tiada pelayan alat`,emptyHintAdmin:`Daftarkan pelayan OpenAPI atau MCP supaya model ada sesuatu untuk dipanggil.`,emptyHintUser:`Pentadbir belum berkongsi mana-mana pelayan alat dengan anda.`,loadFailed:`Pelayan alat tidak dapat dimuatkan.`,saved:`Pelayan alat disimpan`,saveFailed:`Pelayan alat tidak dapat disimpan.`,deleted:`Pelayan alat dipadam`,deleteFailed:`Pelayan alat tidak dapat dipadam.`,deleteTitle:`Padam pelayan alat`,deleteConfirm:`Padam "{{name}}"? Semua orang hilang akses kepada alatnya.`,refresh:`Segarkan alat`,refreshed:`Alat dibaca semula daripada pelayan`,refreshFailed:`Pelayan tidak dapat dibaca.`,toolsLoadFailed:`Alat yang disemat tidak dapat dimuatkan.`,overrideFailed:`Alat tidak dapat diubah.`,pinnedTools:`Alat yang disemat`,noPinnedTools:`Pelayan ini tidak mendedahkan sebarang alat.`,sideEffect:`Kesan sampingan`,sideEffectOverride:`Kesan sampingan`,specRevision:`Semakan {{revision}}`,credential:`Kelayakan peribadi`,credentialHint:`Disimpan tersulit dan digunakan hanya untuk panggilan anda sendiri ke pelayan ini.`,credentialPlaceholder:`Tampal token anda`,credentialSet:`Kelayakan ditetapkan`,credentialMissing:`Kelayakan diperlukan`,credentialSaved:`Kelayakan disimpan`,credentialSaveFailed:`Kelayakan tidak dapat disimpan.`,credentialRemove:`Buang`,credentialRemoved:`Kelayakan dibuang`,credentialRemoveFailed:`Kelayakan tidak dapat dibuang.`,builtinSource:`Pelayan ini`,kinds:{openapi:`OpenAPI`,mcp:`MCP`},authModes:{none:`Tiada pengesahan`,bearer:`Token bearer`,header:`Pengepala tersuai`},accessModes:{"admins-only":`Pentadbir sahaja`,"all-users":`Semua orang`,granted:`Hanya mereka yang diberi akses`},form:{name:`Nama`,namePlaceholder:`API cuaca`,kind:`Jenis`,description:`Penerangan`,descriptionPlaceholder:`Apa yang dilakukan pelayan ini`,baseUrl:`URL asas`,specUrl:`URL spesifikasi`,specUrlHint:`Pilihan. URL asas digunakan apabila dibiarkan kosong.`,authMode:`Pengesahan`,authHeader:`Nama pengepala`,accessMode:`Siapa yang boleh menggunakannya`,timeoutMs:`Had masa (ms)`,maxResponseBytes:`Respons maksimum (bait)`,serverDefault:`Lalai pelayan`,enabled:`Diaktifkan`,enabledHint:`Pelayan yang dilumpuhkan kekal berdaftar tetapi tidak pernah ditawarkan kepada model.`},approvals:{title:`Kelulusan kekal`,description:`Alat yang anda benarkan berjalan tanpa ditanya lagi. Tarik balik satu, dan ia akan bertanya lain kali.`,empty:`Tiada kelulusan kekal.`,revoke:`Tarik balik`,revoked:`Kelulusan ditarik balik`,revokeFailed:`Kelulusan tidak dapat ditarik balik.`,scope:{once:`Sekali`,session:`Sembang ini`,always:`Sentiasa`}},templatesTitle:`Mula daripada templat`,templates:{petstore:{name:`Demo Petstore`,description:`API demo awam untuk ujian hujung ke hujung pertama yang selamat.`},internalOpenApi:{name:`API dalaman`,description:`Titik permulaan untuk perkhidmatan OpenAPI anda sendiri.`},mcpServer:{name:`Pelayan MCP`,description:`Titik permulaan untuk pelayan MCP melalui Streamable HTTP.`}}},composer:{promptMenu:{label:`Pustaka prompt`,empty:`Belum ada prom — cipta satu di Tetapan → Prom, atau mula taip slug.`},skillMenu:{label:`Kemahiran`,empty:`Belum ada kemahiran — cipta satu di Tetapan → Kemahiran.`},variables:{title:`Isikan {{title}}`,insert:`Sisipkan`,cancel:`Batal`,required:`{{name}} diperlukan`},toolsMenu:{enable:`Guna alat untuk mesej ini`,builtin:`Alat terbina dalam`,servers:`Pelayan alat`,hint:`Panggilan dengan kesan sampingan masih meminta kelulusan sebelum dijalankan.`}},share:{title:`Kongsi “{{name}}”`,subtitle:`Beri akses kepada orang atau kumpulan. Hanya anda mengurus perkongsian.`,kindUser:`Pengguna`,kindGroup:`Kumpulan`,usernamePlaceholder:`Nama pengguna tepat`,groupPlaceholder:`Nama kumpulan tepat`,permissionRead:`Boleh lihat`,permissionWrite:`Boleh sunting`,action:`Kongsi`,empty:`Belum dikongsi dengan sesiapa.`,hint:`Masukkan nama pengguna atau kumpulan yang tepat. Penerima melihatnya dalam ruang kerja mereka; pembatalan menarik akses serta-merta.`,revoke:`Batalkan akses`,added:`Dikongsi dengan {{name}}`,failed:`Perkongsian gagal`,userNotFound:`Tiada pengguna dengan nama itu`,groupNotFound:`Tiada kumpulan dengan nama itu`},channels:{title:`Saluran`,browsePublic:`Layari saluran awam`,newDm:`Mesej terus baharu`,newChannel:`Saluran baharu`,empty:`Belum ada saluran. Cipta satu atau layari saluran awam.`,selectPrompt:`Pilih saluran untuk bermula`,pins:`Disemat`,members:`Ahli`,settings:`Tetapan saluran`,sendFailed:`Mesej tidak dapat dihantar`,uploadFailed:`Fail tidak dapat dimuat naik`,memberAdded:`Ahli ditambah`,memberAddFailed:`Pengguna itu tidak dapat ditambah`,attach:`Lampirkan fail`,askModel:`Tanya model dengan mesej ini`,noModel:`Tiada model`,composerPlaceholder:`Tulis mesej…`,thread:`Bebenang`,replyPlaceholder:`Balas…`,invitePlaceholder:`Pengguna untuk dijemput`,roleOwner:`pemilik`,removeMember:`Keluarkan dari saluran`,leave:`Tinggalkan saluran`,noPins:`Belum ada yang disemat.`,noMessages:`Belum ada mesej — sapa dahulu.`,create:`Cipta`,createFailed:`Saluran tidak dapat dicipta`,nameLabel:`Nama`,typeLabel:`Jenis`,typePublic:`Awam — sesiapa boleh sertai`,typePrivate:`Peribadi — jemputan sahaja`,descriptionLabel:`Penerangan`,openDm:`Buka perbualan`,dmFailed:`Perbualan tidak dapat dibuka`,dmHint:`Mesej terus kekal peribadi antara anda berdua.`,dmPlaceholder:`Nama pengguna tepat`,noPublic:`Tiada saluran awam.`,joined:`Menyertai`,join:`Sertai`,save:`Simpan`,delete:`Padam saluran`,modelAuthor:`Model`,unknownAuthor:`Seseorang`,edited:`disunting`,deletedMessage:`Mesej ini telah dipadamkan`,modelThinking:`Model sedang berfikir…`,react:`Tambah reaksi`,reply:`Balas dalam bebenang`,pin:`Semat mesej`,unpin:`Nyahsemat mesej`,edit:`Sunting mesej`,deleteMessage:`Padam mesej`,replyCount:`{{total}} balasan`},notifications:{title:`Pemberitahuan`,empty:`Semuanya sudah dibaca.`,markAllRead:`Tanda semua sudah dibaca`,markRead:`Tanda sudah dibaca`},voiceMode:{title:`Mod suara`,open:`Mulakan mod suara`,close:`Tutup mod suara`,starting:`Memulakan…`,listening:`Mendengar…`,muted:`Mikrofon disenyapkan`,transcribing:`Mentranskripsi…`,generating:`Berfikir…`,speaking:`Bercakap…`,mute:`Senyapkan mikrofon`,unmute:`Nyahsenyapkan mikrofon`,finishTurn:`Selesai bercakap`,skipReply:`Langkau jawapan`,microphoneFailed:`Mikrofon tidak tersedia`,transcriptionFailed:`Transkripsi gagal`,replyTimeout:`Jawapan mengambil masa terlalu lama`,unsupported:`Mod suara tidak tersedia`,unsupportedHint:`Mod suara memerlukan mikrofon serta penyedia pertuturan-ke-teks atau pengecaman pertuturan pelayar.`},imageEdit:{title:`Edit imej`,prompt:`Terangkan perubahan`,promptPlaceholder:`Contohnya: gantikan langit dengan matahari terbenam`,model:`Model`,apply:`Gunakan suntingan`,maskHint:`Cat kawasan yang perlu dilukis semula; biarkan kanvas tidak disentuh untuk mengedit keseluruhan imej.`,brushSize:`Saiz berus`,clearMask:`Kosongkan topeng`,referenceImages:`Imej rujukan (sehingga {{total}})`,noModels:`Tiada model yang dikonfigurasi menyokong suntingan imej.`,saved:`Imej yang disunting disimpan ke galeri`,failed:`Suntingan imej gagal`,loadFailed:`Gagal memuatkan imej sumber`},costs:{title:`Kos dan bajet`,description:`Harga tarif digunakan pada lejar penggunaan; bajet memantau atau mengehadkan perbelanjaan.`,loadFailed:`Gagal memuatkan data kos`,saveFailed:`Gagal menyimpan`,exportFailed:`Gagal mengeksport`,exportCsv:`Eksport CSV`,totalSpend:`Jumlah perbelanjaan`,meteredEvents:`Peristiwa berharga`,unmeteredEvents:`Peristiwa tanpa harga`,topModel:`Model teratas`,budgets:`Bajet`,noBudgets:`Belum ada bajet.`,budgetName:`Nama bajet`,principalId:`ID pengguna atau kumpulan`,addBudget:`Tambah bajet`,deleteBudget:`Padam bajet`,budgetSaved:`Bajet disimpan`,scope:{instance:`Seluruh instans`,user:`Pengguna`,group:`Kumpulan`},period:{daily:`Harian`,weekly:`Mingguan`,monthly:`Bulanan`},mode:{observe:`Pantau`,soft:`Beri amaran`,hard:`Beri amaran dan sekat`},tariffs:`Tarif`,noTariffs:`Belum ada tarif — kos kekal tanpa harga sehingga anda menambah harga.`,plugin:`Plugin`,model:`Model`,modelOptional:`Model (pilihan)`,allModels:`Semua model`,inputPerMillion:`Input $/M token`,outputPerMillion:`Output $/M token`,unitPrice:`Harga seunit`,effectiveFrom:`Berkuat kuasa dari`,addTariff:`Tambah tarif`,deleteTariff:`Padam tarif`,tariffSaved:`Tarif disimpan`},evaluations:{title:`Penilaian`,description:`Pertarungan arena buta, papan pendahulu Elo, set penilaian boleh guna semula dan set data maklum balas anda.`,loadFailed:`Gagal memuatkan penilaian`,matchFailed:`Pertarungan arena gagal`,voteRecorded:`Undian direkodkan`,voteFailed:`Gagal merekodkan undian`,saveFailed:`Gagal menyimpan`,exportFailed:`Gagal mengeksport`,setSaved:`Set penilaian disimpan`,runStarted:`Larian penilaian dimulakan`,pickModel:`Pilih model`,tabs:{arena:`Arena`,leaderboard:`Papan pendahulu`,sets:`Set penilaian`,feedback:`Maklum balas`},arenaModelA:`Model A`,arenaModelB:`Model B`,arenaPrompt:`Tanya soalan yang sama kepada kedua-dua model…`,startMatch:`Mulakan pertarungan`,arenaHint:`Identiti model kekal tersembunyi sehingga anda mengundi.`,candidate:`Jawapan {{letter}}`,voteFirst:`Pertama lebih baik`,voteSecond:`Kedua lebih baik`,voteTie:`Seri`,voteBothBad:`Kedua-duanya teruk`,model:`Model`,rating:`Skor`,record:`Rekod`,votes:`Undian`,noVotes:`Belum ada undian — mulakan pertarungan untuk membina papan pendahulu.`,newSet:`Set penilaian baharu`,setName:`Nama set`,setPrompts:`Satu prom setiap baris…`,saveSet:`Simpan set`,yourSets:`Set anda`,noSets:`Belum ada set penilaian.`,itemCount:`{{total}} prom`,run:`Jalankan`,deleteSet:`Padam set`,cancelRun:`Batalkan larian`,exportRun:`Eksport larian`,status:{queued:`Menunggu`,running:`Berjalan`,completed:`Selesai`,failed:`Gagal`,cancelled:`Dibatalkan`},noFeedback:`Belum ada maklum balas — nilai jawapan untuk membina set data anda.`},passwordStrength:{levels:{weak:`Lemah`,fair:`Sederhana`,good:`Baik`,strong:`Kukuh`},checks:{minLength:`Sekurang-kurangnya 12 aksara`,hasCase:`Huruf besar dan kecil`,hasNumber:`Sekurang-kurangnya satu nombor`,tooLong:`Tidak melebihi 72 bait`}},connectModels:{adminOnly:`Minta pentadbir anda menyambungkan penyedia model.`,skip:`Langkau buat masa ini — saya akan sambungkan model kemudian`,ollama:{status:{checking:`Menyemak ketersediaan…`,healthy:`Berjalan dan sedia untuk model tempatan`,offline:`Tidak dikesan pada mesin ini`,disabled:`Dilumpuhkan — tiada semakan akan dijalankan`},recheck:`Semak semula`,enable:`Aktifkan`,disable:`Hentikan semakan Ollama`,enabledToast:`Penyedia Ollama diaktifkan`,disabledToast:`Semakan Ollama dilumpuhkan — anda boleh aktifkan semula dalam Tetapan`,settingsFailed:`Tidak dapat mengemas kini tetapan Ollama`,offlineHint:`Pasang Ollama dari ollama.com dan ia akan dikesan secara automatik — atau gunakan salah satu pilihan di bawah sebagai gantinya. Jika anda tidak merancang untuk menggunakan Ollama, anda boleh matikan semakannya.`,healthyHint:`Ollama telah disambungkan. Tarik model dari Model dan anda sedia untuk bersembang.`},local:{title:`Pelayan tempatan`,subtitle:`llama.cpp, vLLM, llama-swap, LM Studio, mlx-lm`,keyPlaceholder:`Kunci API (pilihan)`,test:`Uji sambungan`,testing:`Menguji…`,reachable:`Disambungkan — {{count}} model ditemui`,unreachable:`Tiada API model menjawab di alamat itu`,noModels:`Endpoint menjawab tetapi tiada model disenaraikan. Muatkan model dalam pelayan anda dan uji semula.`,enable:`Aktifkan penyedia`,enabling:`Mengaktifkan…`,enabled:`{{name}} disambungkan — modelnya kini tersedia`,enableFailed:`Tidak dapat mengaktifkan penyedia`},cloud:{title:`API Awan`,subtitle:`OpenAI, Anthropic, Groq, OpenRouter dan banyak lagi`,keyPlaceholder:`Tampal kunci API {{name}} anda`,connect:`Sambung`,connecting:`Menyambung…`,connected:`{{name}} disambungkan — modelnya kini tersedia`,saveFailed:`Tidak dapat menyimpan kunci API`}}};export{e as default};
|