1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/install-PK32tiu8.js","assets/slotKeys-BY9TYVQB.js","assets/i18n-vendor-BrUIoOSg.js","assets/react-vendor-DbzdS4FP.js","assets/ui-vendor-DCtmHMLE.js","assets/markdown-vendor-DonjKQI4.js","assets/ui-vendor-CS7tQW8N.css","assets/dnd-vendor-DdAwup11.js","assets/registerBuiltinCards-C46HIZ6m.js","assets/v1Adapter-WWRAvqZ5.js","assets/index-4CUxCnTY.js","assets/index-kItWBLGU.css","assets/one-dark-DH5OkDEf.js","assets/useBackgroundTaskWatcher-TX0co-VU.js","assets/toolCalls-CC2B6OZC.js","assets/v1Adapter-BWbtmATx.css","assets/internalFileLinks-CvVEwrm1.js","assets/ACPCard-C4zOJgWk.js","assets/ACPDrawer-B9sxzYjX.js","assets/index-BbHZtuPQ.js","assets/index-BSocZh1V.js","assets/index-CY2dj66M.css","assets/error-AqWg9PNT.js","assets/index-BBRYdjlN.css","assets/CheckpointGraph-BAUhTaXQ.js","assets/index.module-B2d6FHZR.js","assets/index-COCDsWpa.css","assets/RestoreModal-BQdLWM-x.js","assets/index-W-1h6qhM.js","assets/graphLayout-DsTwB23q.js","assets/ADBPGConfigCard-D1fyqxY7.js","assets/AgentLoopCard-B7kUN2Pi.js","assets/index.module-CzrQATot.js","assets/index-BOpol2mu.css","assets/AgentLoopCard-D0gyRPms.css","assets/EmbeddingModelCard-MQvhvOg6.js","assets/embeddingUtils-DgIXRuaC.js","assets/memoryMaintenanceContext-DxqV1BjJ.js","assets/useEmbeddingVerification-DpzZmoLo.js","assets/LightContextCard-xZFovL48.js","assets/SliderWithValue-BmS3E491.js","assets/toolResultSettings-CZtTKPre.js","assets/VisualCompactSettings-DPQgdbZX.js","assets/LlmRateLimiterCard-BySMFRa7.js","assets/LlmRetryCard-Dl8ob0-U.js","assets/PowerContextConfigCard-D0yPt9T2.js","assets/ReMeLightMemoryCard-CyEqqCwm.js","assets/ReMeStatusModal-tYHKCjZ5.js","assets/ReactAgentCard-Cma5GYB8.js","assets/useTimezoneOptions-CoMuKKSC.js","assets/backendMappings-Cw_6_At-.js","assets/ReactAgentCard-BJD7tF9W.css","assets/ToolExecutionLevelCard-DEQT8N7H.js","assets/index-Dx53S_Nf.js","assets/index-D5gjzlxZ.js","assets/useAgentConfig-D4LWtFt2.js","assets/useReMeRuntimeStatus-Dpz9ksxo.js","assets/MCPAccessClientPanel-BbipD0DW.js","assets/accessPolicy-D5yKlKW-.js","assets/index.module-Cl1f8c8i.js","assets/index-CHmdd6AS.css","assets/MCPAccessPolicySegmented-BJjO0LlT.js","assets/MCPAccessRuleRows-CMvVLGsw.js","assets/MCPAccessModal-Dtrt8tw5.js","assets/MCPAccessToolPanel-BBSNAQFW.js","assets/index-SvwHl0E2.js","assets/MCPOAuthSection-BAobGauy.js","assets/index-BmidOtem.js","assets/useMCP-Br23EKE8.js","assets/harness-B4JVY2Eg.js","assets/AddSkillDropdown-b8A3tmUb.js","assets/HeaderActions-zK81qe0n.js","assets/index.module-DBV_778j.js","assets/index-DLY2iJKY.css","assets/ImportHubModal-BaYsg7hB.js","assets/SkillCard-D7d4Jpnf.js","assets/SkillDrawer-DI2-Qvlw.js","assets/markdown-B8mVm3vi.js","assets/index-DyV_w88U.js","assets/RenderableCodeBlock-DDCh5c_v.js","assets/RenderableCodeBlock-BhKKlhZT.css","assets/skillMetadata-TCIsEf6A.js","assets/SkillDrawer-CYeIxOeI.css","assets/useConflictRenameModal-9kvRZJRC.js","assets/PoolTransferModal-Skd0LWHz.js","assets/useSkillFilter-V336M0s8.js","assets/skill-CXem7BIX.js","assets/SkillFilterDropdown-BnkqN8Up.js","assets/SkillsToolbar-KBqTox-g.js","assets/SkillListItem-D7o-Xxk6.js","assets/ProviderSkillDrawer-hO4TzOYa.js","assets/ProviderSkillDrawer-DxR_ylsw.css","assets/ImportHubModal-3SIq6Km5.css","assets/index-DKnpJuil.js","assets/useSkillsPage-BPrT-_CL.js","assets/useProgressiveRender-DtuLq6OS.js","assets/scanError-DQCLOqLD.js","assets/useSkills-GDHB4qmu.js","assets/skillChangeEvents-D5hsAokE.js","assets/WebSearchConfigModal-91UVSbuS.js","assets/index-DXLgk3RU.js","assets/useTools-BgEYIo1s.js","assets/index-BMWuWSDL.css","assets/AppCard-CEOX4XpT.js","assets/index.module-DThFtgIN.js","assets/index-Bbob454p.css","assets/AppMarket-C7wzVsK9.js","assets/pluginCompatibility-CgCY97bP.js","assets/plugin-DmECWo2h.js","assets/marketAppState-CGOAFj9K.js","assets/index-TFPDXvqg.js","assets/index-BWoiKPyv.js","assets/index-B5MhiQlt.css","assets/pawapp-D4r2lX_e.js","assets/osCleanup-T-v_r8ES.js","assets/context-BcZ9rHDt.js","assets/HostBubbles-B0QmsmHA.js","assets/FileGlyph-D-MOCoHl.js","assets/messageDisplay-BSbvVkKY.js","assets/LazyAccordion-BDYN5571.js","assets/HostBubbles-Ew3Dz7dH.css","assets/AgentModelSettings-DiMAMvxB.js","assets/index.module-BmTmeHGb.js","assets/index-5scRJX_f.css","assets/CandidateModelSection-D4hisvK-.js","assets/ProviderIconComponent-BxmHkMKR.js","assets/providerIcon-C-5dBp3Z.js","assets/providerLetterIcon-B_5oy5OF.js","assets/ProviderIconComponent-sVLSBzDp.css","assets/modelSelectorModels-DMgK-EX7.js","assets/OAuthConfirmModal-BkdR5UvF.js","assets/index-D7k2s-Bl.js","assets/freeModelSwitchWarning-Der3TVnK.js","assets/modelSelectorApi-BQMo_uy8.js","assets/useModelSelectorData-Ba7nXSmG.js","assets/RichFileReferenceInput-BCcP_FXx.js","assets/lastEditorCopy-CUqkqeK4.js","assets/fileReferenceFormatting-DRtp_cZv.js","assets/RichFileReferenceInput-CMdduEpj.css","assets/ApprovalLevelToggle-CUDfNY0C.js","assets/useIsMobile-CrxOArvB.js","assets/OsOverlay-BHZwWE2W.js","assets/osWindowContainer-B-Et0jle.js","assets/ApprovalToggle.module-aZlZmt8r.js","assets/ApprovalToggle-C6SEj9yd.css","assets/Backgroun
1dTaskPanel-B_R9A_iC.js","assets/index-BQ7xgpEo.js","assets/useCreateNewSession-DRMSAwOn.js","assets/index-D2Znodb4.css","assets/index-CH7P5TIH.js","assets/index-C84Vrjbl.css","assets/index-CoZdZ5rN.js","assets/index-BvNjHIDo.css","assets/ChatSenderTabsPanel-B3W66Q-L.js","assets/MessageQueuePanel-DLrrXvXA.js","assets/index-nyqj9R32.js","assets/sessionTime-M1-RaxUO.js","assets/index-dt3koKRQ.css","assets/index-Ck21JYev.js","assets/index-DS9PMsST.js","assets/formatNumber-CkfI-tbp.js","assets/cacheUsage-CTPPZqFQ.js","assets/HarnessApprovalToggle-Cvatd3JO.js","assets/HarnessApprovalToggle-DQuOYRrz.css","assets/HarnessModelSelector-CTu69e5m.js","assets/HarnessModelSelector-5vdnDA8b.css","assets/index-BO8NyFcY.js","assets/index-DE2MiYaN.js","assets/chatInputDraft-DjTYFPOs.js","assets/backgroundQueueRegistry-DcoIKQBo.js","assets/defaultConfig-DqDT_JBN.js","assets/loopSlashSuggestions-BnC1fISh.js","assets/replayFastForward-HOU_ABil.js","assets/fallbackNotice-BDnCml1J.js","assets/ApprovalCard-BqfL4fpn.js","assets/ApprovalCard-BZ68DQE6.css","assets/commands-Cf7Hyyxa.js","assets/approvalPayload-D8R4MEha.js","assets/headlineFilter-CYyh7i0b.js","assets/FilePreview-DpljDfWN.js","assets/FilePreview-DjPwGnaN.css","assets/SessionProjectDirectory-DCqOUsdl.js","assets/SessionProjectDirectory-DvTo--TC.css","assets/codingTabsStore-DyMcMMU3.js","assets/messageScroll-CvP4Dz0H.js","assets/longChatPerformance-qL7rrUkY.js","assets/index-DLu9rRdt.css","assets/GitPanel-C0AqP1_2.js","assets/GitPanel-BGR6hE_j.css","assets/TabbedEditor-CkqmFBSN.js","assets/editor-vendor-B_WExrnz.js","assets/editor-vendor-Cgso7ViX.css","assets/editorCopyFormatting-CEBvKJJN.js","assets/getLanguage-DPW4aTiG.js","assets/TabbedEditor-B3KF421A.css","assets/AccessControlDrawer-Cn35PL5G.js","assets/ChannelDrawer-CWMsZZha.js","assets/QrcodeAuthBlock-p3Fedopp.js","assets/useChannelQrcode-CBf0RJIs.js","assets/index-E6z3IerU.js","assets/useChannels-BcJkW6zv.js","assets/index-C43OEexS.js","assets/channelConfig-DvnzDYx1.js","assets/JobDrawer-CePOBq-b.js","assets/constants-D_bHuLWc.js","assets/index.module-DKJ6u8jI.js","assets/index-CGD9qKSu.css","assets/TemplatePickerModal-C6Uu8E66.js","assets/templates-w_DtCC5j.js","assets/columns-BAMZM8Cu.js","assets/parseCron-x4KbODrB.js","assets/index-D3FwRs2J.js","assets/useCronJobs-Bu_5LGfg.js","assets/index-BbCsebvC.js","assets/calendar-C0fhfIib.js","assets/index-Dnt2O03I.js","assets/parseEvery-DLpkEJ2R.js","assets/index-CFyuobL2.css","assets/FilterBar-DDBwrC0c.js","assets/index.module-D6pydUic.js","assets/index-DLlHdVmj.css","assets/SessionDrawer-BRgdgXyS.js","assets/columns-7F6Oqr-E.js","assets/constants-hQbnZLJ2.js","assets/index-dgW_LPtK.js","assets/index-CJdzQc6F.js","assets/useSessions-SuFxaNQi.js","assets/index-DEVlwNas.js","assets/FilesWorkspace-BxlhpaDZ.js","assets/FilesWorkspace-iiBvoLKD.css","assets/index-hrHI94Iw.css","assets/index-C_kk7iNE.js","assets/pageUtils-Bjq7LafW.js","assets/index-CdDmN1hs.css","assets/ApprovalCard-CYg5263g.js","assets/ApprovalCard-DCMj6Sia.css","assets/CreateHarvestModal-BeFlOCvX.js","assets/CreateHarvestModal-D-elwlMs.css","assets/HarvestCard-Bx_flfCZ.js","assets/useHarvestCountdown-B6sY9m-2.js","assets/HarvestCard-r6dLAVZ1.css","assets/MagazineStackViewer-CE3Wwmo4.js","assets/useMockHarvestContent-u_jzVWfp.js","assets/MagazineStackViewer-BID-hsNh.css","assets/MailAccessControlDrawer-BnGaIHY-.js","assets/mailAccessControl-BoJ9LCNz.js","assets/PushMessageCard-T4HRfjc9.js","assets/PushMessageCard-DpaajPdi.css","assets/index-BBODEF4T.js","assets/useInboxData-ClejyQP5.js","assets/inboxEvents-BfjGbJwM.js","assets/useMailPendingCount-BUgH-dsI.js","assets/useTraceViewer-BUjD7h2R.js","assets/traceUtils-BDB8GBWN.js","assets/index-B8w7vB10.js","assets/index-CqAuL1V6.css","assets/index-5mbuJ9A7.js","assets/index-w793Z5lh.css","assets/index-C1xdFnG7.js","assets/index-C7VD8sSj.js","assets/usePluginManager-CVRjZoIm.js","assets/useInstallModal-DIVLvUEI.js","assets/utils-Dd3MJpM-.js","assets/InstallPluginModal-BBGtrTGX.js","assets/InstallPluginModal-FIb3MBpg.css","assets/InstalledPluginList-CCr29e4S.js","assets/usePluginColumns-DVeq6euH.js","assets/PluginTypeTag-BBF8LoQC.js","assets/PluginViewToggle-eem-N1PU.js","assets/PluginViewToggle-BBfOCgj3.css","assets/PluginListToolbar.module-DUGIY8MU.js","assets/PluginListToolbar-CMlboHKS.css","assets/InstalledPluginList-BhqTblH0.css","assets/Off
1icialPluginList-7T3mW_po.js","assets/useOfficialPlugins-CMyTx9wV.js","assets/MarketPluginList-DoUiRqXV.js","assets/useMarketPlugins-DhRsQKm2.js","assets/MarketPanel-BrPhNizX.js","assets/useMarketSearch-DMfaUnpQ.js","assets/EmptyState-BRZ1sRDw.js","assets/EmptyState-DJwHlXzG.css","assets/ResultCard-CKgKZ5g3.js","assets/SkillIcon-DNdbo6yj.js","assets/SkillIcon-BCiA6HCV.css","assets/ResultCard-Bz8gzwYu.css","assets/DetailDrawer-C5PYlzdN.js","assets/DetailDrawer-B9ZAKAZN.css","assets/QueueItem-DKXFaIdj.js","assets/QueueItem-CjizKYU3.css","assets/MarketPanel-XvmFFbyW.css","assets/useMarketInstall-BvBPC-Yc.js","assets/index-DlOFsfIX.css","assets/SummaryCard-BYmi_in0.js","assets/SummaryCard-CquDqBd6.css","assets/index-CGS0W1aZ.js","assets/charts-vendor-BpTB0noD.js","assets/AgentBackendFields-DCqayr1D.js","assets/AgentBackendFields-D1IoXWhf.css","assets/AgentModal-BAbAa3ls.js","assets/index.module-HiDHtt1A.js","assets/index-ClCTR-mC.css","assets/mailDomains-DIDmgc71.js","assets/AgentTable-C8_A5Ehc.js","assets/SortableAgentRow-C90tOa9k.js","assets/CopyAgentModal-CAzuPSiI.js","assets/index-CHNKsSLs.js","assets/index-BJRDoBow.js","assets/useAgents-CwIzu_KG.js","assets/reorder-BF63alpm.js","assets/AgentMultiSelect-rbe_Dfoq.js","assets/BackupProgress-C8KEDIS5.js","assets/BackupProgress-Bp9E7tbE.css","assets/BackupScopeForm-DKht73bZ.js","assets/BackupScopeForm-5jkRK7xb.css","assets/CreateBackupModal-Doieov_1.js","assets/useBackupRunner-CEkr8O2K.js","assets/progress-SVYNRtvp.js","assets/scope-CEwDNAj7.js","assets/backup-lqMPH_9f.js","assets/CreateBackupModal-_rzO0OGl.css","assets/SilentBackupModal-BQ7VYvaF.js","assets/ImportButton-DoUvy1sC.js","assets/ImportConflictModal-DbFkMTfV.js","assets/useImportFlow-rUwt8oF9.js","assets/trustErrors-Cnu7JLRc.js","assets/index-_iaRDZCs.js","assets/BackupTable-C55hj7Ie.js","assets/ScopeTags-BzXcQgZS.js","assets/ScopeTags-KNeMDNxi.css","assets/BackupTable-ZkEB3TUP.css","assets/BackupToolbar-CUYq6qDG.js","assets/BackupToolbar-4ETJZqRs.css","assets/BackupTrustDialog-BXCD7aTH.js","assets/PreRestoreConfirmModal-DDy_6jvi.js","assets/RestoreBackupModal-ORqF8TAH.js","assets/RestoreAgentTable-T1XW8oqW.js","assets/RestoreAgentTable-BtAMBNOA.css","assets/RestoreBackupModal-BDYgVzpq.css","assets/useRestoreFlow-BLnpDcZi.js","assets/index-CqcrxKqW.css","assets/index-RB1aLeDl.js","assets/index-CiMQgTWc.css","assets/index-Du8lfCnN.js","assets/useDebugLogs-D1PB1HZB.js","assets/AddButton-Bs1xq6-L.js","assets/index.module-toTChVDG.js","assets/index-CvD2bYdm.css","assets/EmptyState-CgEYv1_w.js","assets/EnvRow-C8pgSXfo.js","assets/Toolbar-C55cQMV5.js","assets/index--9yHCggP.js","assets/index-BkOxdHz
1X.js","assets/useEnvVars-GHeG5Pm-.js","assets/index-Cp4fV27k.js","assets/LocalProviderCard-Dh_I_Plx.js","assets/index.module-mJ0s0yAc.js","assets/index-BQTR0pFk.css","assets/ProviderCard-B_Wtdi0T.js","assets/RemoteProviderCard-jNC8geCw.js","assets/utils-B_sR6IXl.js","assets/ProviderGroupCard-AFuE1Xgs.js","assets/index-Ccr3OggZ.js","assets/index-CXsHQBx-.js","assets/LoadingState-D-lx13xQ.js","assets/ModelsSection-tlZ8o75i.js","assets/CustomProviderModal-IoceEC_N.js","assets/ProviderConfigModal-BZ9ITqw9.js","assets/testConnectionMessage-_eg2MXHW.js","assets/apiKeyValidation-cDjnNy7b.js","assets/ModelManageModal-D5PNaLHd.js","assets/LocalModelManageModal--mWa9yEx.js","assets/JsonConfigEditor-DR5bt9uJ.js","assets/LocalModelRow-D_CzZ0Hu.js","assets/index-AyFIb-2h.js","assets/LocalRuntimePanel-CjFmGqqr.js","assets/shared-9V1PnZCE.js","assets/RemoteModelManageModal-VrSt_Jc3.js","assets/ModelCapabilityTags-BlCwnT9k.js","assets/ModelConfigEditor-g1TTWrm_.js","assets/OpenRouterFilterSection-Dfkq-T_6.js","assets/OpenRouterFilterSection-bX9nQX8d.css","assets/index-C1x5PzL1.js","assets/index-IJWa7fnx.js","assets/index-DdhgX1-w.js","assets/useProviders-C6vQL7RZ.js","assets/OffloadPolicyCard-CdpaSbJh.js","assets/index-_Hnm-qKi.js","assets/index-BiBTtAH2.js","assets/index-CBfaeGB9.css","assets/AllowNoAuthHostsTab-DOfKmzVb.js","assets/index.module-BhtR1ueo.js","assets/index-nEzPtbGY.css","assets/FileGuardSection-CIsCAA8V.js","assets/PreviewModal-DSwwUYls.js","assets/RuleModal-CB3K58Pn.js","assets/RuleTable-D4UQzEMr.js","assets/ShellEvasionSection-iYW3_lTM.js","assets/SkillScannerSection-DXoW6cCc.js","assets/useSkillScanner-IpycXNcJ.js","assets/ToolGuardTab-LAbIX09C.js","assets/index-CG1mzu8c.js","assets/index-YRdhft9t.js","assets/useSecurityPage-_cNgWly1.js","assets/useToolGuard-DUiIYmfb.js","assets/BroadcastModal-Du4rREE_.js","assets/ImportBuiltinModal-BdeMaxFX.js","assets/builtinNotice-ah4GEsD1.js","assets/index.module-_PflA4dS.js","assets/index-BcC89eeG.css","assets/PoolSkillCard-CO4zxpFW.js","assets/index-BV6HvXQo.js","assets/PoolSkillDrawer-Cnhir3K1.js","assets/PoolSkillListItem-Dz7u2Rxq.js","assets/SkillMeta-S_GzmCcz.js","assets/index-BgcWHpJ1.js","assets/index-q__8LHRI.js","assets/useSkillPool-Cx57ZCgp.js","assets/DataTables-DlyLvJ9q.js","assets/index.module-Bh11-nXv.js","assets/index-KZlFauec.css","assets/EmptyState-CC4TFPnF.js","assets/LoadingState-BnFaU9HC.js","assets/ModelTrendChart-B-VZf3G_.js","assets/SummaryCards-2bHf9hVX.js","assets/TokenTypeChart-DDaVAR-J.js","assets/index-BA4JBs_R.js","assets/lineChartChrome-B0o4v2PL.js","assets/useDataAggregation-BrDVFzJK.js","assets/useModelTrendConfig-0r4ezO3L.js","assets/useTokenTypeConfig-9ollBZEW.js","assets/index-sXrDNJQX.js","assets/tokenUsageRows-rhvieyre.js","assets/AudioModeCard-CgISeoMg.js","assets/index.module-Dl8MjCBp.js","assets/index-DYzLHWbe.css","assets/ProviderSelectCard-DmFrQYkq.js","assets/ProviderTypeCard-BRyEzJLI.js","assets/index-D_AwKCzM.js","assets/index-DFglmXC1.js","assets/useVoiceTranscription-kmB_QBuF.js","assets/DesktopOS-Co1B_JSN.js","assets/DesktopOS-C0Pqulza.css"])))=>i.map(i=>d[i]); 2var Xp=Object.defineProperty;var Zp=(e,t,a)=>t in e?Xp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var V=(e,t,a)=>Zp(e,typeof t!="symbol"?t+"":t,a);import{g as em,r as h,j as c,b as Ne,i as Cd,d as Qi,e as tm,l as Ji,m as wd,n as Ln,o as am,B as nm,N as go,p as om}from"./react-vendor-DbzdS4FP.js";import{kb as fo,h7 as Pd,cj as mt,je as Ut,cv as Nt,cL as im,dW as bo,kc as sm,kd as rm,eH as Qa,c_ as lm,dX as dm,cI as cm,ke as um,k6 as pm,k9 as mm,k7 as zs,cb as hm,cO as Ad,d1 as oa,ck as Se,cx as gm,ek as En,dF as Md,dp as fm,d4 as bm,el as km,eP as Dd,eK as xd,kf as ym,jF as vm,cp as Rd,ct as Ct,gQ as oi,gR as Id,cn as ha,co as _d,iQ as Tm,kg as Sm,dh as Cm,cg as Yi,df as wm,h2 as Pm,cw as nn,kh as Ro,ki as Am,kj as Mm,kk as Dm,kl as xm,km as Ld,kn as Ed,ko as Rm,kp as Im,kq as Fd,jr as _m,kr as Ja,ch as Lt,ks as Lm,kt as ii,ku as Ks,kv as $s,d9 as Em,kw as Fm,h4 as Od,kx as Om,ky as Bm,kz as Nm,ex as Hm,iR as Bd,ep as Nd,dn as Um,kA as qm,kB as jm,e$ as Gm,jn as Vm,kC as Qs,kD as Js,f3 as Wm,i2 as zm,cX as ct,j7 as Km,eS as $m,cV as Qm,kE as Jm,e2 as Ys,eu as Ym,ht as Xm,dL as Zm,j6 as eh,kF as th,kG as ah,_ as f,eU as si,kH as nh,eN as oh,dv as ri,kI as ih,kJ as sh,kK as rh,kL as lh,kM as li,kN as dh,kO as ch,ji as Xs,kP as uh,kQ as ph,kR as mh,eA as hh,kS as gh,kT as Zs,kU as fh,kV as bh,kW as kh,kX as yh,kY as vh,kZ as Th,k_ as Sh,k$ as Ch,gU as wh,l0 as Ph,l1 as Ah,l2 as Mh,l3 as Dh,l4 as xh,l5 as Rh,l6 as Ih,ej as _h,l7 as Lh}from"./ui-vendor-DCtmHMLE.js";import{u as ve,i as Ht,a as Eh}from"./i18n-vendor-BrUIoOSg.js";import{e as Fh,f as Oh,C as Bh,u as Nh,a as er,T as Hh,M as Uh,D as qh,g as jh,h as Gh,i as Vh}from"./dnd-vendor-DdAwup11.js";import{M as Wh,a as zh}from"./markdown-vendor-DonjKQI4.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function a(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(o){if(o.ep)return;o.ep=!0;const i=a(o);fetch(o.href,i)}})();var Fn={exports:{}},Kh=Fn.exports,tr;function $h(){return tr||(tr=1,(function(e,t){(function(a,n){e.exports=n()})(Kh,(function(){return function(a,n,o){a=a||{};var i=n.prototype,s={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function r(d,u,p,m){return i.fromToBase(d,u,p,m)}o.en.relativeTime=s,i.fromToBase=function(d,u,p,m,k){for(var g,b,y,T=p.$locale().relativeTime||s,S=a.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],P=S.length,w=0;w<P;w+=1){var C=S[w];C.d&&(g=m?o(d).diff(p,C.d,!0):p.diff(d,C.d,!0));
2var x=(a.rounding||Math.round)(Math.abs(g));if(y=g>0,x<=C.r||!C.r){x<=1&&w>0&&(C=S[w-1]);var I=T[C.l];k&&(x=k(""+x)),b=typeof I=="string"?I.replace("%d",x):I(x,u,C.l,y);break}}if(u)return b;var R=y?T.future:T.past;return typeof R=="function"?R(b):R.replace("%s",b)},i.to=function(d,u){return r(d,u,this,!0)},i.from=function(d,u){return r(d,u,this)};var l=function(d){return d.$u?o.utc():o()};i.toNow=function(d){return this.to(l(this),d)},i.fromNow=function(d){return this.from(l(this),d)}}}))})(Fn)),Fn.exports}var Qh=$h();const Jh=em(Qh);var On={exports:{}},Yh=On.exports,ar;function Xh(){return ar||(ar=1,(function(e,t){(function(a,n){e.exports=n(fo())})(Yh,(function(a){function n(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var o=n(a),i={name:"zh-cn",weekdays:"æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå
".split("_"),weekdaysShort:"卿¥_å¨ä¸_å¨äº_å¨ä¸_å¨å_å¨äº_å¨å
".split("_"),weekdaysMin:"æ¥_ä¸_äº_ä¸_å_äº_å
".split("_"),months:"䏿_äºæ_䏿_åæ_äºæ_å
æ_䏿_å
«æ_乿_åæ_å䏿_åäºæ".split("_"),monthsShort:"1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ".split("_"),ordinal:function(s,r){return r==="W"?s+"å¨":s+"æ¥"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYYå¹´MæDæ¥",LLL:"YYYYå¹´MæDæ¥Ahç¹mmå",LLLL:"YYYYå¹´MæDæ¥ddddAhç¹mmå",l:"YYYY/M/D",ll:"YYYYå¹´MæDæ¥",lll:"YYYYå¹´MæDæ¥ HH:mm",llll:"YYYYå¹´MæDæ¥dddd HH:mm"},relativeTime:{future:"%så
",past:"%så",s:"å ç§",m:"1 åé",mm:"%d åé",h:"1 å°æ¶",hh:"%d å°æ¶",d:"1 天",dd:"%d 天",M:"1 个æ",MM:"%d 个æ",y:"1 å¹´",yy:"%d å¹´"},meridiem:function(s,r){var l=100*s+r;return l<600?"忍":l<900?"æ©ä¸":l<1100?"ä¸å":l<1300?"ä¸å":l<1800?"ä¸å":"æä¸"}};return o.default.locale(i,null,!0),i}))})(On)),On.exports}Xh();var Bn={exports:{}},Zh=Bn.exports,nr;function eg(){return nr||(nr=1,(function(e,t){(function(a,n){e.exports=n(fo())})(Zh,(function(a){function n(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var o=n(a),i={name:"ja",weekdays:"æ¥ææ¥_æææ¥_ç«ææ¥_æ°´ææ¥_æ¨ææ¥_éææ¥_åææ¥".split("_"),weekdaysShort:"æ¥_æ_ç«_æ°´_æ¨_é_å".split("_"),weekdaysMin:"æ¥_æ_ç«_æ°´_æ¨_é_å".split("_"),months:"1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ".split("_"),monthsShort:"1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ".split("_"),ordinal:function(s){return s+"æ¥"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYYå¹´MæDæ¥",LLL:"YYYYå¹´MæDæ¥ HH:mm",LLLL:"YYYYå¹´MæDæ¥ dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYYå¹´MæDæ¥",lll:"YYYYå¹´MæDæ¥ HH:mm",llll:"YYYYå¹´MæDæ¥(ddd) HH:mm"},meridiem:function(s){return s<12?"åå":"åå¾"},relativeTime:{future:"%så¾",past:"%så",s:"æ°ç§",m:"1å",mm:"%då",h:"1æé",hh:"%dæé",d:"1æ¥",dd:"%dæ¥",M:"1ã¶æ",MM:"%dã¶æ",y:"1å¹´",yy:"%då¹´"}};return o.default.locale(i,null,!0),i}))})(Bn)),Bn.exports}eg();var Nn={exports:{}},tg=Nn.exports,or;function ag(){return or||(or=1,(function(e,t){(function(a,n){e.exports=n(fo())})(tg,(function(a){function n(g){return g&&typeof g=="object"&&"default"in g?g:{default:g}}var o=n(a),i="ÑнваÑÑ_ÑевÑалÑ_маÑÑа_апÑелÑ_маÑ_иÑнÑ_иÑлÑ_авгÑÑÑа_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ".split("_"),s="ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ".split("_"),r="Ñнв._ÑевÑ._маÑ._апÑ._маÑ_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.".split("_"),l="Ñнв._ÑевÑ._маÑÑ_апÑ._май_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.".split("_"),d=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function u(g,b,y){var T,S;return y==="m"?b?"минÑÑа":"минÑÑÑ":g+" "+(T=+g,S={mm:b?"минÑÑа_минÑÑÑ_минÑÑ":"минÑÑÑ_минÑÑÑ_минÑÑ",hh:"ÑаÑ_ÑаÑа_ÑаÑов",dd:"денÑ_днÑ_дней",MM:"меÑÑÑ_меÑÑÑа_меÑÑÑев",yy:"год_года_леÑ"}[y].split("_"),T%10==1&&T%100!=11?S[0]:T%10>=2&&T%10<=4&&(T%100<10||T%100>=20)?S[1]:S[2])}var p=function(g,b){return d.test(b)?i[g.month()]:s[g.month()]};p.s=s,p.f=i;var m=function(g,b){return d.test(b)?r[g.month()]:l[g.month()]};
2m.s=l,m.f=r;var k={name:"ru",weekdays:"воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑеда_ÑеÑвеÑг_пÑÑниÑа_ÑÑббоÑа".split("_"),weekdaysShort:"вÑк_пнд_вÑÑ_ÑÑд_ÑÑв_пÑн_ÑбÑ".split("_"),weekdaysMin:"вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб".split("_"),months:p,monthsShort:m,weekStart:1,yearStart:4,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},relativeTime:{future:"ÑеÑез %s",past:"%s назад",s:"неÑколÑко ÑекÑнд",m:u,mm:u,h:"ÑаÑ",hh:u,d:"денÑ",dd:u,M:"меÑÑÑ",MM:u,y:"год",yy:u},ordinal:function(g){return g},meridiem:function(g){return g<4?"ноÑи":g<12?"ÑÑÑа":g<17?"днÑ":"веÑеÑа"}};return o.default.locale(k,null,!0),k}))})(Nn)),Nn.exports}ag();var Hn={exports:{}},ng=Hn.exports,ir;function og(){return ir||(ir=1,(function(e,t){(function(a,n){e.exports=n(fo())})(ng,(function(a){function n(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var o=n(a),i={name:"id",weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),weekStart:1,formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},ordinal:function(s){return s+"."}};return o.default.locale(i,null,!0),i}))})(Hn)),Hn.exports}og();const Xi=h.createContext({});function Zi(e){const t=h.useRef(null);return t.current===null&&(t.current=e()),t.current}const ig=typeof window<"u",es=ig?h.useLayoutEffect:h.useEffect,ko=h.createContext(null);function ts(e,t){e.indexOf(t)===-1&&e.push(t)}function Jn(e,t){const a=e.indexOf(t);a>-1&&e.splice(a,1)}const gt=(e,t,a)=>a>t?t:a<e?e:a;let yo=()=>{};const At={},Hd=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),Ud=e=>typeof e=="object"&&e!==null,qd=e=>/^0[^.\s]+$/u.test(e);function jd(e){let t;return()=>(t===void 0&&(t=e()),t)}const Xe=e=>e,on=(...e)=>e.reduce((t,a)=>n=>a(t(n))),Ya=(e,t,a)=>{const n=t-e;return n?(a-e)/n:1};class as{constructor(){this.subscriptions=[]}add(t){return ts(this.subscriptions,t),()=>Jn(this.subscriptions,t)}notify(t,a,n){const o=this.subscriptions.length;if(o)if(o===1)this.subscriptions[0](t,a,n);else for(let i=0;i<o;i++){const s=this.subscriptions[i];s&&s(t,a,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const Ve=e=>e*1e3,Ye=e=>e/1e3,Gd=(e,t)=>t?e*(1e3/t):0,Vd=(e,t,a)=>(((1-3*a+3*t)*e+(3*a-6*t))*e+3*t)*e,sg=1e-7,rg=12;function lg(e,t,a,n,o){let i,s,r=0;do s=t+(a-t)/2,i=Vd(s,n,o)-e,i>0?a=s:t=s;while(Math.abs(i)>sg&&++r<rg);return s}function sn(e,t,a,n){if(e===t&&a===n)return Xe;const o=i=>lg(i,0,1,e,a);return i=>i===0||i===1?i:Vd(o(i),t,n)}const Wd=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,zd=e=>t=>1-e(1-t),Kd=sn(.33,1.53,.69,.99),ns=zd(Kd),$d=Wd(ns),Qd=e=>e>=1?1:(e*=2)<1?.5*ns(e):.5*(2-Math.pow(2,-10*(e-1))),os=e=>1-Math.sin(Math.acos(e)),Jd=zd(os),Yd=Wd(os),dg=sn(.42,0,1,1),cg=sn(0,0,.58,1),Xd=sn(.42,0,.58,1),ug=e=>Array.isArray(e)&&typeof e[0]!="number",Zd=e=>Array.isArray(e)&&typeof e[0]=="number",pg={linear:Xe,easeIn:dg,easeInOut:Xd,easeOut:cg,circIn:os,circInOut:Yd,circOut:Jd,backIn:ns,backInOut:$d,backOut:Kd,anticipate:Qd},mg=e=>typeof e=="string",sr=e=>{if(Zd(e)){yo(e.length===4);const[t,a,n,o]=e;return sn(t,a,n,o)}else if(mg(e))return pg[e];return e},kn=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function hg(e){let t=new Set,a=new Set,n=!1,o=!1;const i=new WeakSet;let s={delta:0,timestamp:0,isProcessing:!1};function r(d){i.has(d)&&(l.schedule(d),e()),d(s)}const l={schedule:(d,u=!1,p=!1)=>{const k=p&&n?t:a;return u&&i.add(d),k.add(d),d},cancel:d=>
vendor: 14,461 bytes, line 2
2{a.delete(d),i.delete(d)},process:d=>{if(s=d,n){o=!0;return}n=!0;const u=t;t=a,a=u,t.forEach(r),t.clear(),n=!1,o&&(o=!1,l.process(d))}};return l}const gg=40;function ec(e,t){let a=!1,n=!0;const o={delta:0,timestamp:0,isProcessing:!1},i=()=>a=!0,s=kn.reduce((P,w)=>(P[w]=hg(i),P),{}),{setup:r,read:l,resolveKeyframes:d,preUpdate:u,update:p,preRender:m,render:k,postRender:g}=s,b=()=>{const P=At.useManualTiming,w=P?o.timestamp:performance.now();a=!1,P||(o.delta=n?1e3/60:Math.max(Math.min(w-o.timestamp,gg),1)),o.timestamp=w,o.isProcessing=!0,r.process(o),l.process(o),d.process(o),u.process(o),p.process(o),m.process(o),k.process(o),g.process(o),o.isProcessing=!1,a&&t&&(n=!1,e(b))},y=()=>{a=!0,n=!0,o.isProcessing||e(b)};return{schedule:kn.reduce((P,w)=>{const C=s[w];return P[w]=(x,I=!1,R=!1)=>(a||y(),C.schedule(x,I,R)),P},{}),cancel:P=>{for(let w=0;w<kn.length;w++)s[kn[w]].cancel(P)},state:o,steps:s}}const{schedule:re,cancel:Mt,state:Pe,steps:Io}=ec(typeof requestAnimationFrame<"u"?requestAnimationFrame:Xe,!0);let Un;function fg(){Un=void 0}const Le={now:()=>(Un===void 0&&Le.set(Pe.isProcessing||At.useManualTiming?Pe.timestamp:performance.now()),Un),set:e=>{Un=e,queueMicrotask(fg)}},tc=e=>t=>typeof t=="string"&&t.startsWith(e),ac=tc("--"),bg=tc("var(--"),is=e=>bg(e)?kg.test(e.split("/*")[0].trim()):!1,kg=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function rr(e){return typeof e!="string"?!1:e.split("/*")[0].includes("var(--")}const ya={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Xa={...ya,transform:e=>gt(0,1,e)},yn={...ya,default:1},Ga=e=>Math.round(e*1e5)/1e5,ss=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function yg(e){return e==null}const vg=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,rs=(e,t)=>a=>!!(typeof a=="string"&&vg.test(a)&&a.startsWith(e)||t&&!yg(a)&&Object.prototype.hasOwnProperty.call(a,t)),nc=(e,t,a)=>n=>{if(typeof n!="string")return n;const[o,i,s,r]=n.match(ss);return{[e]:parseFloat(o),[t]:parseFloat(i),[a]:parseFloat(s),alpha:r!==void 0?parseFloat(r):1}},Tg=e=>gt(0,255,e),_o={...ya,transform:e=>Math.round(Tg(e))},qt={test:rs("rgb","red"),parse:nc("red","green","blue"),transform:({red:e,green:t,blue:a,alpha:n=1})=>"rgba("+_o.transform(e)+", "+_o.transform(t)+", "+_o.transform(a)+", "+Ga(Xa.transform(n))+")"};function Sg(e){let t="",a="",n="",o="";return e.length>5?(t=e.substring(1,3),a=e.substring(3,5),n=e.substring(5,7),o=e.substring(7,9)):(t=e.substring(1,2),a=e.substring(2,3),n=e.substring(3,4),o=e.substring(4,5),t+=t,a+=a,n+=n,o+=o),{red:parseInt(t,16),green:parseInt(a,16),blue:parseInt(n,16),alpha:o?parseInt(o,16)/255:1}}const di={test:rs("#"),parse:Sg,transform:qt.transform},rn=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),kt=rn("deg"),ht=rn("%"),B=rn("px"),Cg=rn("vh"),wg=rn("vw"),lr={...ht,parse:e=>ht.parse(e)/100,transform:e=>ht.transform(e*100)},ia={test:rs("hsl","hue"),parse:nc("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:a,alpha:n=1})=>"hsla("+Math.round(e)+", "+ht.transform(Ga(t))+", "+ht.transform(Ga(a))+", "+Ga(Xa.transform(n))+")"},ye={test:e=>qt.test(e)||di.test(e)||ia.test(e),parse:e=>qt.test(e)?qt.parse(e):ia.test(e)?ia.parse(e):di.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?qt.transform(e):ia.transform(e),getAnimatableNone:e=>{const t=ye.parse(e);return t.alpha=0,ye.transform(t)}},Pg=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Ag(e){var t,a;return isNaN(e)&&typeof e=="string"&&(((t=e.match(ss))==null?void 0:t.length)||0)+(((a=e.match(Pg))==null?void 0:a.length)||0)>0}const oc="number",ic="color",Mg="var",Dg="var(",dr="${}",xg=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function ga(e){const t=e.toString(),a=[],n={color:[],number:[],var:[]},o=[];let i=0;const r=t.replace(xg,l=>(ye.test(l)?(n.color.push(i),o.push(ic),a.push(ye.parse(l))):l.startsWith(Dg)?(n.var.push(i),o.push(Mg),a.push(l)):(n.number.push(i),o.push(oc),a.push(parseFloat(l))),++i,dr)).split(dr);return{values:a,split:r,indexes:n,types:o}}function Rg(e){return ga(e).values}function sc({split:e,types:t}){const a=e.length;return n=>{let o="";for(let i=0;i<a;i++)if(o+=e[i],n[i]!==void 0){const s=t[i];s===oc?o+=Ga(n[i]):s===ic?o+=ye.transform(n[i]):o+=n[i]}return o}}function Ig(e){return sc(ga(e))}const _g=e=>typeof e=="number"?0:ye.test(e)?ye.getAnimatableNone(e):e,Lg=(e,t)=>typeof e=="number"?t!=null&&t.trim().endsWith("/")?e:0:_g(e);function Eg(e){const t=ga(e);return sc(t)(t.values.map((n,o)=>Lg(n,t.split[o])))}const it={test:Ag,parse:Rg,createTransformer:Ig,getAnimatableNone:Eg};function Lo(e,t,a){return a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+(t-e)*6*a:a<1/2?t:a<2/3?e+(t-e)*(2/3-a)*6:e}function Fg({hue:e,saturation:t,lightness:a,alpha:n}){e/=360,t/=100,a/=100;let o=0,i=0,s=0;if(!t)o=i=s=a;else{const r=a<.5?a*(1+t):a+t-a*t,l=2*a-r;o=Lo(l,r,e+1/3),i=Lo(l,r,e),s=Lo(l,r,e-1/3)}return{red:Math.round(o*255),green:Math.round(i*255),blue:Math.round(s*255),alpha:n}}function Yn(e,t){return a=>a>0?t:e}const se=(e,t,a)=>e+(t-e)*a,Eo=(e,t,a)=>{const n=e*e,o=a*(t*t-n)+n;return o<0?0:Math.sqrt(o)},Og=[di,qt,ia],Bg=e=>Og.find(t=>t.test(e));function cr(e){const t=Bg(e);if(!t)return!1;let a=t.parse(e);return t===ia&&(a=Fg(a)),a}const ur=(e,t)=>{const a=cr(e),n=cr(t);if(!a||!n)return Yn(e,t);const o={...a};return i=>(o.red=Eo(a.red,n.red,i),o.green=Eo(a.green,n.green,i),o.blue=Eo(a.blue,n.blue,i),o.alpha=se(a.alpha,n.alpha,i),qt.transform(o))},ci=new Set(["none","hidden"]);function Ng(e,t){return ci.has(e)?a=>a<=0?e:t:a=>a>=1?t:e}function Hg(e,t){return a=>se(e,t,a)}function ls(e){return typeof e=="number"?Hg:typeof e=="string"?is(e)?Yn:ye.test(e)?ur:jg:Array.isArray(e)?rc:typeof e=="object"?ye.test(e)?ur:Ug:Yn}function rc(e,t){const a=[...e],n=a.length,o=e.map((i,s)=>ls(i)(i,t[s]));return i=>{for(let s=0;s<n;s++)a[s]=o[s](i);return a}}function Ug(e,t){const a={...e,...t},n={};for(const o in a)e[o]!==void 0&&t[o]!==void 0&&(n[o]=ls(e[o])(e[o],t[o]));return o=>{for(const i in n)a[i]=n[i](o);return a}}function qg(e,t){const a=[],n={color:0,var:0,number:0};for(let o=0;o<t.values.length;o++){const i=t.types[o],s=e.indexes[i][n[i]],r=e.values[s]??0;a[o]=r,n[i]++}return a}const jg=(e,t)=>{const a=it.createTransformer(t),n=ga(e),o=ga(t);return n.indexes.var.length===o.indexes.var.length&&n.indexes.color.length===o.indexes.color.length&&n.indexes.number.length>=o.indexes.number.length?ci.has(e)&&!o.values.length||ci.has(t)&&!n.values.length?Ng(e,t):on(rc(qg(n,o),o.values),a):Yn(e,t)};function lc(e,t,a){return typeof e=="number"&&typeof t=="number"&&typeof a=="number"?se(e,t,a):ls(e)(e,t)}const Gg=e=>{const t=({timestamp:a})=>e(a);return{start:(a=!0)=>re.update(t,a),stop:()=>Mt(t),now:()=>Pe.isProcessing?Pe.timestamp:Le.now()}},dc=(e,t,a=10)=>{let n="";const o=Math.max(Math.round(t/a),2);for(let i=0;i<o;i++)n+=Math.round(e(i/(o-1))*1e4)/1e4+", ";return`linear(${n.substring(0,n.length-2)})`},Xn=2e4;function ds(e){let t=0;const a=50;let n=e.next(t);for(;!n.done&&t<Xn;)t+=a,n=e.next(t);return t>=Xn?1/0:t}function Vg(e,t=100,a){const n=a({...e,keyframes:[0,t]}),o=Math.min(ds(n),Xn);return{type:"keyframes",ease:i=>n.next(o*i).value/t,duration:Ye(o)}}const be={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function ui(e,t){return e*Math.sqrt(1-t*t)}const Wg=12;function zg(e,t,a){let n=a;for(let o=1;o<Wg;o++)n=n-e(n)/t(n);return n}const Fo=.001;function Kg({duration:e=be.duration,bounce:t=be.bounce,velocity:a=be.velocity,mass:n=be.mass}){let o,i,s=1-t;s=gt(be.minDamping,be.maxDamping,s),e=gt(be.minDuration,be.maxDuration,Ye(e)),s<1?(o=d=>{const u=d*s,p=u*e,m=u-a,k=ui(d,s),g=Math.exp(-p);return Fo-m/k*g},i=d=>{const p=d*s*e,m=p*a+a,k=Math.pow(s,2)*Math.pow(d,2)*e,g=Math.exp(-p),b=ui(Math.pow(d,2),s);return(-o(d)+Fo>0?-1:1)*((m-k)*g)/b}):(o=d=>{const u=Math.exp(-d*e),p=(d-a)*e+1;return-Fo+u*p},i=d=>{const u=Math.exp(-d*e),p=(a-d)*(e*e);return u*p});const r=5/e,l=zg(o,i,r);if(e=Ve(e),isNaN(l))return{stiffness:be.stiffness,damping:be.damping,duration:e};{const d=Math.pow(l,2)*n;return{stiffness:d,damping:s*2*Math.sqrt(n*d),duration:e}}}const $g=["duration","bounce"],Qg=["stiffness","damping","mass"];function pr(e,t){return t.some(a=>e[a]!==void 0)}function Jg(e){let t={velocity:be.velocity,stiffness:be.stiffness,damping:be.damping,mass:be.mass,isResolvedFromDuration:!1,...e};if(!pr(e,Qg)&&pr(e,$g))if(t.velocity=0,e.visualDuration){const a=e.visualDuration,n=2*Math.PI/(a*1.2),o=n*n,i=2*gt(.05,1,1-(e.bounce||0))*Math.sqrt(o);t={...t,mass:be.mass,stiffness:o,damping:i}}else{const a=Kg({...e,velocity:0});t={...t,...a,mass:be.mass},t.isResolvedFromDuration=!0}return t}function Zn(e=be.visualDuration,t=be.bounce){const a=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:n,restDelta:o}=a;const i=a.keyframes[0],s=a.keyframes[a.keyframes.length-1],r={done:!1,value:i},{stiffness:l,damping:d,mass:u,duration:p,velocity:m,isResolvedFromDuration:k}=Jg({...a,velocity:-Ye(a.velocity||0)}),g=m||0,b=d/(2*Math.sqrt(l*u)),y=s-i,T=Ye(Math.sqrt(l/u)),S=Math.abs(y)<5;n||(n=S?be.restSpeed.granular:be.restSpeed.default),o||(o=S?be.restDelta.granular:be.restDelta.default);let P,w,C,x,I,R;if(b<1)C=ui(T,b),x=(g+b*T*y)/C,P=A=>{const L=Math.exp(-b*T*A);return s-L*(x*Math.sin(C*A)+y*Math.cos(C*A))},I=b*T*x+y*C,R=b*T*y-x*C,w=A=>Math.exp(-b*T*A)*(I*Math.sin(C*A)+R*Math.cos(C*A));else if(b===1){P=L=>s-Math.exp(-T*L)*(y+(g+T*y)*L);const A=g+T*y;w=L=>Math.exp(-T*L)*(T*A*L-g)}else{const A=T*Math.sqrt(b*b-1);P=z=>{const W=Math.exp(-b*T*z),Q=Math.min(A*z,300);return s-W*((g+b*T*y)*Math.sinh(Q)+A*y*Math.cosh(Q))/A};const L=(g+b*T*y)/A,j=b*T*L-y*A,U=b*T*y-L*A;w=z=>{const W=Math.exp(-b*T*z),Q=Math.min(A*z,300);return W*(j*Math.sinh(Q)+U*Math.cosh(Q))}}const _={calculatedDuration:k&&p||null,velocity:A=>Ve(w(A)),next:A=>{if(!k&&b<1){const j=Math.exp(-b*T*A),U=Math.sin(C*A),z=Math.cos(C*A),W=s-j*(x*U+y*z),Q=Ve(j*(I*U+R*z));return r.done=Math.abs(Q)<=n&&Math.abs(s-W)<=o,r.value=r.done?s:W,r}const L=P(A);if(k)r.done=A>=p;else{const j=Ve(w(A));r.done=Math.abs(j)<=n&&Math.abs(s-L)<=o}return r.value=r.done?s:L,r},toString:()=>{const A=Math.min(ds(_),Xn),L=dc(j=>_.next(A*j).value,A,30);return A+"ms "+L},toTransition:()=>{}};return _}Zn.applyToOptions=e=>{const t=Vg(e,100,Zn);return e.ease=t.ease,e.duration=Ve(t.duration),e.type="keyframes",e};const Yg=5;function cc(e,t,a){const n=Math.max(t-Yg,0);return Gd(a-e(n),t-n)}function pi({keyframes:e,velocity:t=0,power:a=.8,timeConstant:n=325,bounceDamping:o=10,bounceStiffness:i=500,modifyTarget:s,min:r,max:l,restDelta:d=.5,restSpeed:u}){const p=e[0],m={done:!1,value:p},k=R=>r!==void 0&&R<r||l!==void 0&&R>l,g=R=>r===void 0?l:l===void 0||Math.abs(r-R)<Math.abs(l-R)?r:l;let b=a*t;const y=p+b,T=s===void 0?y:s(y);T!==y&&(b=T-p);const S=R=>-b*Math.exp(-R/n),P=R=>T+S(R),w=R=>{const _=S(R),A=P(R);m.done=Math.abs(_)<=d,m.value=m.done?T:A};let C,x;const I=R=>{k(m.value)&&(C=R,x=Zn({keyframes:[m.value,g(m.value)],velocity:cc(P,R,m.value),damping:o,stiffness:i,restDelta:d,restSpeed:u}))};return I(0),{calculatedDuration:null,next:R=>{let _=!1;return!x&&C===void 0&&(_=!0,w(R),I(R)),C!==void 0&&R>=C?x.next(R-C):(!_&&w(R),m)}}}function Xg(e,t,a){const n=[],o=a||At.mix||lc,i=e.length-1;for(let s=0;s<i;s++){let r=o(e[s],e[s+1]);if(t){const l=Array.isArray(t)?t[s]||Xe:t;r=on(l,r)}n.push(r)}return n}function Zg(e,t,{clamp:a=!0,ease:n,mixer:o}={}){const i=e.length;if(yo(i===t.length),i===1)return()=>t[0];if(i===2&&t[0]===t[1])return()=>t[1];const s=e[0]===e[1];e[0]>e[i-1]&&(e=[...e].reverse(),t=[...t].reverse());const r=Xg(t,n,o),l=r.length,d=u=>{if(s&&u<e[0])return t[0];let p=0;if(l>1)for(;p<e.length-2&&!(u<e[p+1]);p++);const m=Ya(e[p],e[p+1],u);return r[p](m)};return a?u=>d(gt(e[0],e[i-1],u)):d}function ef(e,t){const a=e[e.length-1];for(let n=1;n<=t;n++){const o=Ya(0,t,n);e.push(se(a,1,o))}}function tf(e){const t=[0];return ef(t,e.length-1),t}function af(e,t){return e.map(a=>a*t)}function nf(e,t){return e.map(()=>t||Xd).splice(0,e.length-1)}function Va({duration:e=300,keyframes:t,times:a,ease:n="easeInOut"}){const o=ug(n)?n.map(sr):sr(n),i={done:!1,value:t[0]},s=af(a&&a.length===t.length?a:tf(t),e),r=Zg(s,t,{ease:Array.isArray(o)?o:nf(t,o)});return{calculatedDuration:e,next:l=>(i.value=r(l),i.done=l>=e,i)}}const of=e=>e!==null;function vo(e,{repeat:t,repeatType:a="loop"},n,o=1){const i=e.filter(of),r=o<0||t&&a!=="loop"&&t%2===1?0:i.length-1;return!r||n===void 0?i[r]:n}const sf={decay:pi,inertia:pi,tween:Va,keyframes:Va,spring:Zn};function uc(e){typeof e.type=="string"&&(e.type=sf[e.type])}class cs{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,a){return this.finished.then(t,a)}}const rf=e=>e/100;class eo extends cs{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{var n,o;const{motionValue:a}=this.options;a&&a.updatedAt!==Le.now()&&this.tick(Le.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(o=(n=this.options).onStop)==null||o.call(n))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;uc(t);const{type:a=Va,repeat:n=0,repeatDelay:o=0,repeatType:i,velocity:s=0}=t;let{keyframes:r}=t;const l=a||Va;l!==Va&&typeof r[0]!="number"&&(this.mixKeyframes=on(rf,lc(r[0],r[1])),r=[0,100]);const d=l({...t,keyframes:r});i==="mirror"&&(this.mirroredGenerator=l({...t,keyframes:[...r].reverse(),velocity:-s})),d.calculatedDuration===null&&(d.calculatedDuration=ds(d));const{calculatedDuration:u}=d;this.calculatedDuration=u,this.resolvedDuration=u+o,this.totalDuration=this.resolvedDuration*(n+1)-o,this.generator=d}updateTime(t){const a=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=a}
2tick(t,a=!1){const{generator:n,totalDuration:o,mixKeyframes:i,mirroredGenerator:s,resolvedDuration:r,calculatedDuration:l}=this;if(this.startTime===null)return n.next(0);const{delay:d=0,keyframes:u,repeat:p,repeatType:m,repeatDelay:k,type:g,onUpdate:b,finalKeyframe:y}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-o/this.speed,this.startTime)),a?this.currentTime=t:this.updateTime(t);const T=this.currentTime-d*(this.playbackSpeed>=0?1:-1),S=this.playbackSpeed>=0?T<0:T>o;this.currentTime=Math.max(T,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=o);let P=this.currentTime,w=n;if(p){const R=Math.min(this.currentTime,o)/r;let _=Math.floor(R),A=R%1;!A&&R>=1&&(A=1),A===1&&_--,_=Math.min(_,p+1),!!(_%2)&&(m==="reverse"?(A=1-A,k&&(A-=k/r)):m==="mirror"&&(w=s)),P=gt(0,1,A)*r}let C;S?(this.delayState.value=u[0],C=this.delayState):C=w.next(P),i&&!S&&(C.value=i(C.value));let{done:x}=C;!S&&l!==null&&(x=this.playbackSpeed>=0?this.currentTime>=o:this.currentTime<=0);const I=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&x);return I&&g!==pi&&(C.value=vo(u,this.options,y,this.speed)),b&&b(C.value),I&&this.finish(),C}then(t,a){return this.finished.then(t,a)}get duration(){return Ye(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ye(t)}get time(){return Ye(this.currentTime)}set time(t){t=Ve(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=t,this.tick(t))}getGeneratorVelocity(){const t=this.currentTime;if(t<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(t);const a=this.generator.next(t).value;return cc(n=>this.generator.next(n).value,t,a)}get speed(){return this.playbackSpeed}set speed(t){const a=this.playbackSpeed!==t;a&&this.driver&&this.updateTime(Le.now()),this.playbackSpeed=t,a&&this.driver&&(this.time=Ye(this.currentTime))}play(){var o,i;if(this.isStopped)return;const{driver:t=Gg,startTime:a}=this.options;this.driver||(this.driver=t(s=>this.tick(s))),(i=(o=this.options).onPlay)==null||i.call(o);const n=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=n):this.holdTime!==null?this.startTime=n-this.holdTime:this.startTime||(this.startTime=a??n),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(Le.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var t,a;this.notifyFinished(),this.teardown(),this.state="finished",(a=(t=this.options).onComplete)==null||a.call(t)}cancel(){var t,a;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(a=(t=this.options).onCancel)==null||a.call(t)}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){var a;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(a=this.driver)==null||a.stop(),t.observe(this)}}function lf(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const jt=e=>e*180/Math.PI,mi=e=>{const t=jt(Math.atan2(e[1],e[0]));return hi(t)},df={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:mi,rotateZ:mi,skewX:e=>jt(Math.atan(e[1])),skewY:e=>jt(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},hi=e=>(e=e%360,e<0&&(e+=360),e),mr=mi,hr=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),gr=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),cf={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:hr,scaleY:gr,scale:e=>(hr(e)+gr(e))/2,rotateX:e=>hi(jt(Math.atan2(e[6],e[5]))),rotateY:e=>hi(jt(Math.atan2(-e[2],e[0]))),rotateZ:mr,rotate:mr,skewX:e=>jt(Math.atan(e[4])),skewY:e=>jt(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function gi(e){return e.includes("scale")?1:0}function fi(e,t){if(!e||e==="none")return gi(t);const a=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let n,o;
vendor: 3,191 bytes, line 2
2if(a)n=cf,o=a;else{const r=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);n=df,o=r}if(!o)return gi(t);const i=n[t],s=o[1].split(",").map(pf);return typeof i=="function"?i(s):s[i]}const uf=(e,t)=>{const{transform:a="none"}=getComputedStyle(e);return fi(a,t)};function pf(e){return parseFloat(e.trim())}const va=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Ta=new Set([...va,"pathRotation"]),fr=e=>e===ya||e===B,mf=new Set(["x","y","z"]),hf=va.filter(e=>!mf.has(e));function gf(e){const t=[];return hf.forEach(a=>{const n=e.getValue(a);n!==void 0&&(t.push([a,n.get()]),n.set(a.startsWith("scale")?1:0))}),t}const wt={width:({x:e},{paddingLeft:t="0",paddingRight:a="0",boxSizing:n})=>{const o=e.max-e.min;return n==="border-box"?o:o-parseFloat(t)-parseFloat(a)},height:({y:e},{paddingTop:t="0",paddingBottom:a="0",boxSizing:n})=>{const o=e.max-e.min;return n==="border-box"?o:o-parseFloat(t)-parseFloat(a)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>fi(t,"x"),y:(e,{transform:t})=>fi(t,"y")};wt.translateX=wt.x;wt.translateY=wt.y;const Wt=new Set;let bi=!1,ki=!1,yi=!1;function pc(){if(ki){const e=Array.from(Wt).filter(n=>n.needsMeasurement),t=new Set(e.map(n=>n.element)),a=new Map;t.forEach(n=>{const o=gf(n);o.length&&(a.set(n,o),n.render())}),e.forEach(n=>n.measureInitialState()),t.forEach(n=>{n.render();const o=a.get(n);o&&o.forEach(([i,s])=>{var r;(r=n.getValue(i))==null||r.set(s)})}),e.forEach(n=>n.measureEndState()),e.forEach(n=>{n.suspendedScrollY!==void 0&&window.scrollTo(0,n.suspendedScrollY)})}ki=!1,bi=!1,Wt.forEach(e=>e.complete(yi)),Wt.clear()}function mc(){Wt.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(ki=!0)})}function ff(){yi=!0,mc(),pc(),yi=!1}class us{constructor(t,a,n,o,i,s=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=a,this.name=n,this.motionValue=o,this.element=i,this.isAsync=s}scheduleResolve(){this.state="scheduled",this.isAsync?(Wt.add(this),bi||(bi=!0,re.read(mc),re.resolveKeyframes(pc))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:a,element:n,motionValue:o}=this;if(t[0]===null){const i=o==null?void 0:o.get(),s=t[t.length-1];if(i!==void 0)t[0]=i;else if(n&&a){const r=n.readValue(a,s);r!=null&&(t[0]=r)}t[0]===void 0&&(t[0]=s),o&&i===void 0&&o.set(t[0])}lf(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),Wt.delete(this)}cancel(){this.state==="scheduled"&&(Wt.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const bf=e=>e.startsWith("--");function hc(e,t,a){bf(t)?e.style.setProperty(t,a):e.style[t]=a}const kf={};function gc(e,t){const a=jd(e);return()=>kf[t]??a()}const yf=gc(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),fc=gc(()=>{try{document.createElement("div").animate({opacity:0}
2,{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Na=([e,t,a,n])=>`cubic-bezier(${e}, ${t}, ${a}, ${n})`,br={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Na([0,.65,.55,1]),circOut:Na([.55,0,1,.45]),backIn:Na([.31,.01,.66,-.59]),backOut:Na([.33,1.53,.69,.99])};function bc(e,t){if(e)return typeof e=="function"?fc()?dc(e,t):"ease-out":Zd(e)?Na(e):Array.isArray(e)?e.map(a=>bc(a,t)||br.easeOut):br[e]}function vf(e,t,a,{delay:n=0,duration:o=300,repeat:i=0,repeatType:s="loop",ease:r="easeOut",times:l}={},d=void 0){const u={[t]:a};l&&(u.offset=l);const p=bc(r,o);Array.isArray(p)&&(u.easing=p);const m={delay:n,duration:o,easing:Array.isArray(p)?"linear":p,fill:"both",iterations:i+1,direction:s==="reverse"?"alternate":"normal"};return d&&(m.pseudoElement=d),e.animate(u,m)}function kc(e){return typeof e=="function"&&"applyToOptions"in e}function Tf({type:e,...t}){return kc(e)&&fc()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class yc extends cs{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:a,name:n,keyframes:o,pseudoElement:i,allowFlatten:s=!1,finalKeyframe:r,onComplete:l}=t;this.isPseudoElement=!!i,this.allowFlatten=s,this.options=t,yo(typeof t.type!="string");const d=Tf(t);this.animation=vf(a,n,o,d,i),d.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){const u=vo(o,this.options,r,this.speed);this.updateMotionValue&&this.updateMotionValue(u),hc(a,n,u),this.animation.cancel()}l==null||l(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){var t,a;(a=(t=this.animation).finish)==null||a.call(t)}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var a,n,o;const t=(a=this.options)==null?void 0:a.element;!this.isPseudoElement&&(t!=null&&t.isConnected)&&((o=(n=this.animation).commitStyles)==null||o.call(n))}get duration(){var a,n;const t=((n=(a=this.animation.effect)==null?void 0:a.getComputedTiming)==null?void 0:n.call(a).duration)||0;return Ye(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Ye(t)}get time(){return Ye(Number(this.animation.currentTime)||0)}set time(t){const a=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Ve(t),a&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,rangeStart:a,rangeEnd:n,observe:o}){var i;return this.allowFlatten&&((i=this.animation.effect)==null||i.updateTiming({easing:"linear"})),this.animation.onfinish=null,t&&yf()?(this.animation.timeline=t,a&&(this.animation.rangeStart=a),n&&(this.animation.rangeEnd=n),Xe):o(this)}}const vc={anticipate:Qd,backInOut:$d,circInOut:Yd};function Sf(e){return e in vc}function Cf(e){typeof e.ease=="string"&&Sf(e.ease)&&(e.ease=vc[e.ease])}const Oo=10;class wf extends yc{constructor(t){Cf(t),uc(t),super(t),t.startTime!==void 0&&t.autoplay!==!1&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:a,onUpdate:n,onComplete:o,element:i,...s}=this.options;if(!a)return;if(t!==void 0){a.set(t);return}const r=new eo({...s,autoplay:!1}),l=Math.max(Oo,Le.now()-this.startTime),d=gt(0,Oo,l-Oo),u=r.sample(l).value,{name:p}=this.options;i&&p&&hc(i,p,u),a.setWithVelocity(r.sample(Math.max(0,l-d)).value,u,d),r.stop()}}const kr=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(it.test(e)||e==="0")&&!e.startsWith("url("));function Pf(e){const t=e[0];if(e.length===1)return!0;for(let a=0;a<e.length;a++)if(e[a]!==t)return!0}function Af(e,t,a,n){const o=e[0];if(o===null)return!1;if(t==="display"||t==="visibility")return!0;
2const i=e[e.length-1],s=kr(o,t),r=kr(i,t);return!s||!r?!1:Pf(e)||(a==="spring"||kc(a))&&n}function vi(e){e.duration=0,e.type="keyframes"}const Tc=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Mf=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function Df(e){for(let t=0;t<e.length;t++)if(typeof e[t]=="string"&&Mf.test(e[t]))return!0;return!1}const xf=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),Rf=jd(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function If(e){var p;const{motionValue:t,name:a,repeatDelay:n,repeatType:o,damping:i,type:s,keyframes:r}=e,l=(p=t==null?void 0:t.owner)==null?void 0:p.current;if(!(l instanceof HTMLElement)&&!(l instanceof SVGElement))return!1;const{onUpdate:d,transformTemplate:u}=t.owner.getProps();return Rf()&&a&&(Tc.has(a)||xf.has(a)&&Df(r))&&(a!=="transform"||!u)&&!d&&!n&&o!=="mirror"&&i!==0&&s!=="inertia"}const _f=40;class Lf extends cs{constructor({autoplay:t=!0,delay:a=0,type:n="keyframes",repeat:o=0,repeatDelay:i=0,repeatType:s="loop",keyframes:r,name:l,motionValue:d,element:u,...p}){var g;super(),this.stop=()=>{var b,y;this._animation&&(this._animation.stop(),(b=this.stopTimeline)==null||b.call(this)),(y=this.keyframeResolver)==null||y.cancel()},this.createdAt=Le.now();const m={autoplay:t,delay:a,type:n,repeat:o,repeatDelay:i,repeatType:s,name:l,motionValue:d,element:u,...p},k=(u==null?void 0:u.KeyframeResolver)||us;this.keyframeResolver=new k(r,(b,y,T)=>this.onKeyframesResolved(b,y,m,!T),l,d,u),(g=this.keyframeResolver)==null||g.scheduleResolve()}onKeyframesResolved(t,a,n,o){var T,S;this.keyframeResolver=void 0;const{name:i,type:s,velocity:r,delay:l,isHandoff:d,onUpdate:u}=n;this.resolvedAt=Le.now();let p=!0;Af(t,i,s,r)||(p=!1,(At.instantAnimations||!l)&&(u==null||u(vo(t,n,a))),t[0]=t[t.length-1],vi(n),n.repeat=0);const k={startTime:o?this.resolvedAt?this.resolvedAt-this.createdAt>_f?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:a,...n,keyframes:t},g=p&&!d&&If(k),b=(S=(T=k.motionValue)==null?void 0:T.owner)==null?void 0:S.current;let y;if(g)try{y=new wf({...k,element:b})}catch{y=new eo(k)}else y=new eo(k);y.finished.then(()=>{this.notifyFinished()}).catch(Xe),this.pendingTimeline&&(this.stopTimeline=y.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=y}get finished(){return this._animation?this.animation.finished:this._finished}then(t,a){return this.finished.finally(t).then(()=>{})}get animation(){var t;return this._animation||((t=this.keyframeResolver)==null||t.resume(),ff()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){var t;this._animation&&this.animation.cancel(),(t=this.keyframeResolver)==null||t.cancel()}}function Sc(e,t,a,n=0,o=1){const i=Array.from(e).sort((d,u)=>d.sortNodePosition(u)).indexOf(t),s=e.size,r=(s-1)*n;return typeof a=="function"?a(i,s):o===1?i*n:r-i*n}const yr=30,Ef=e=>!isNaN(parseFloat(e));class Ff{constructor(t,a={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=n=>{var i;const o=Le.now();if(this.updatedAt!==o&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(n),this.current!==this.prev&&((i=this.events.change)==null||i.notify(this.current),this.dependents))for(const s of this.dependents)s.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=a.owner}setCurrent(t){this.current=t,this.updatedAt=Le.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=Ef(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,a){this.events[t]||(this.events[t]=new as);const n=this.events[t].add(a);return t==="change"?()=>{n(),re.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,a){this.passiveEffect=t,this.stopPassiveEffect=a}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,a,n){this.set(a),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-n}jump(t,a=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,a&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){var t;(t=this.events.change)==null||t.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=Le.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>yr)return 0;const a=Math.min(this.updatedAt-this.prevUpdatedAt,yr);return Gd(parseFloat(this.current)-parseFloat(this.prevFrameValue),a)}start(t){return this.stop(),new Promise(a=>
2{this.hasAnimated=!0,this.animation=t(a),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){var t,a;(t=this.dependents)==null||t.clear(),(a=this.events.destroy)==null||a.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function fa(e,t){return new Ff(e,t)}function Cc(e,t){if(e!=null&&e.inherit&&t){const{inherit:a,...n}=e;return{...t,...n}}return e}function ps(e,t){const a=(e==null?void 0:e[t])??(e==null?void 0:e.default)??e;return a!==e?Cc(a,e):a}const Of={type:"spring",stiffness:500,damping:25,restSpeed:10},Bf=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Nf={type:"keyframes",duration:.8},Hf={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},Uf=(e,{keyframes:t})=>t.length>2?Nf:Ta.has(e)?e.startsWith("scale")?Bf(t[1]):Of:Hf,qf=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function jf(e){for(const t in e)if(!qf.has(t))return!0;return!1}const ms=(e,t,a,n={},o,i)=>s=>{const r=ps(n,e)||{},l=r.delay||n.delay||0;let{elapsed:d=0}=n;d=d-Ve(l);const u={keyframes:Array.isArray(a)?a:[null,a],ease:"easeOut",velocity:t.getVelocity(),...r,delay:-d,onUpdate:m=>{t.set(m),r.onUpdate&&r.onUpdate(m)},onComplete:()=>{s(),r.onComplete&&r.onComplete()},name:e,motionValue:t,element:i?void 0:o};jf(r)||Object.assign(u,Uf(e,u)),u.duration&&(u.duration=Ve(u.duration)),u.repeatDelay&&(u.repeatDelay=Ve(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let p=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(vi(u),u.delay===0&&(p=!0)),(At.instantAnimations||At.skipAnimations||o!=null&&o.shouldSkipAnimations||r.skipAnimations)&&(p=!0,vi(u),u.delay=0),u.allowFlatten=!r.type&&!r.ease,p&&!i&&t.get()!==void 0){const m=vo(u.keyframes,r);if(m!==void 0){re.update(()=>{u.onUpdate(m),u.onComplete()});return}}return r.isSync?new eo(u):new Lf(u)},Gf=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Vf(e){const t=Gf.exec(e);if(!t)return[,];const[,a,n,o]=t;return[`--${a??n}`,o]}function wc(e,t,a=1){const[n,o]=Vf(e);if(!n)return;const i=window.getComputedStyle(t).getPropertyValue(n);if(i){const s=i.trim();return Hd(s)?parseFloat(s):s}return is(o)?wc(o,t,a+1):o}function vr(e){const t=[{},{}];return e==null||e.values.forEach((a,n)=>{t[0][n]=a.get(),t[1][n]=a.getVelocity()}),t}function hs(e,t,a,n){if(typeof t=="function"){const[o,i]=vr(n);t=t(a!==void 0?a:e.custom,o,i)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[o,i]=vr(n);t=t(a!==void 0?a:e.custom,o,i)}return t}function zt(e,t,a){const n=e.getProps();return hs(n,t,a!==void 0?a:n.custom,e)}const Pc=new Set(["width","height","top","left","right","bottom",...va]),Ti=e=>Array.isArray(e);function Wf(e,t,a){e.hasValue(t)?e.getValue(t).set(a):e.addValue(t,fa(a))}function zf(e){return Ti(e)?e[e.length-1]||0:e}function Kf(e,t){const a=zt(e,t);let{transitionEnd:n={},transition:o={},...i}=a||{};i={...i,...n};for(const s in i){const r=zf(i[s]);Wf(e,s,r)}}const Ae=e=>!!(e&&e.getVelocity);function $f(e){return!!(Ae(e)&&e.add)}function Si(e,t){const a=e.getValue("willChange");if($f(a))return a.add(t);if(!a&&At.WillChange){const n=new At.WillChange("auto");e.addValue("willChange",n),n.add(t)}}function gs(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}const Qf="framerAppearId",Ac="data-"+gs(Qf);function Mc(e){return e.props[Ac]}function Jf({protectedKeys:e,needsAnimating:t},a){const n=e.hasOwnProperty(a)&&t[a]!==!0;return t[a]=!1,n}function Dc(e,t,{delay:a=0,transitionOverride:n,type:o}={}){let{transition:i,transitionEnd:s,...r}=t;const l=e.getDefaultTransition();i=i?Cc(i,l):l;const d=i==null?void 0:i.reduceMotion,u=i==null?void 0:i.skipAnimations;n&&(i=n);const p=[],m=o&&e.animationState&&e.animationState.getState()[o],k=i==null?void 0:i.path;k&&k.animateVisualElement(e,r,i,a,p);for(const g in r){const b=e.getValue(g,e.latestValues[g]??null),y=r[g];if(y===void 0||m&&Jf(m,g))continue;const T={delay:a,...ps(i||{},g)};u&&(T.skipAnimations=!0);const S=b.get();if(S!==void 0&&!b.isAnimating()&&!Array.isArray(y)&&y===S&&!T.velocity){re.update(()=>b.set(y));continue}let P=!1;if(window.MotionHandoffAnimation){const x=Mc(e);if(x){const I=window.MotionHandoffAnimation(x,g,re);I!==null&&(T.startTime=I,P=!0)}}Si(e,g);const w=d??e.shouldReduceMotion;b.start(ms(g,b,y,w&&Pc.has(g)?{type:!1}:T,e,P));const C=b.animation;C&&p.push(C)}if(s){const g=()=>re.update(()=>{s&&Kf(e,s)});p.length?Promise.all(p).then(g):g()}return p}function Ci(e,t,a={}){var l;const n=zt(e,t,a.type==="exit"?(l=e.presenceContext)==null?void 0:l.custom:void 0);let{transition:o=e.getDefaultTransition()||{}}=n||{};a.transitionOverride&&(o=a.transitionOverride);const i=n?()=>Promise.all(Dc(e,n,a)):()=>Promise.resolve(),s=e.variantChildren&&e.variantChildren.size?(d=0)=>{const{delayChildren:u=0,staggerChildren:p,staggerDirection:m}=o;return Yf(e,t,d,u,p,m,a)}:()=>Promise.resolve(),{when:r}=o;if(r){const[d,u]=r==="beforeChildren"?[i,s]:[s,i];return d().then(()=>u())}else return Promise.all([i(),s(a.delay)])}function Yf(e,t,a=0,n=0,o=0,i=1,s){const r=[];for(const l of e.variantChildren)l.notify("AnimationStart",t),r.push(Ci(l,t,{...s,delay:a+(typeof n=="function"?0:n)+Sc(e.variantChildren,l,n,o,i)}).then(()=>l.notify("AnimationComplete",t)));return Promise.all(r)}function Xf(e,t,a={}){e.notify("AnimationStart",t);let n;if(Array.isArray(t)){const o=t.map(i=>Ci(e,i,a));n=Promise.all(o)}else if(typeof t=="string")n=Ci(e,t,a);else{const o=typeof t=="function"?zt(e,t,a.custom):t;n=Promise.all(Dc(e,o,a))}return n.then(()=>
vendor: 19,356 bytes, line 2
2{e.notify("AnimationComplete",t)})}const Zf={test:e=>e==="auto",parse:e=>e},xc=e=>t=>t.test(e),Rc=[ya,B,ht,kt,wg,Cg,Zf],Tr=e=>Rc.find(xc(e));function eb(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||qd(e):!0}const tb=new Set(["brightness","contrast","saturate","opacity"]);function ab(e){const[t,a]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[n]=a.match(ss)||[];if(!n)return e;const o=a.replace(n,"");let i=tb.has(t)?1:0;return n!==a&&(i*=100),t+"("+i+o+")"}const nb=/\b([a-z-]*)\(.*?\)/gu,wi={...it,getAnimatableNone:e=>{const t=e.match(nb);return t?t.map(ab).join(" "):e}},Pi={...it,getAnimatableNone:e=>{const t=it.parse(e);return it.createTransformer(e)(t.map(n=>typeof n=="number"?0:typeof n=="object"?{...n,alpha:1}:n))}},Sr={...ya,transform:Math.round},ob={rotate:kt,pathRotation:kt,rotateX:kt,rotateY:kt,rotateZ:kt,scale:yn,scaleX:yn,scaleY:yn,scaleZ:yn,skew:kt,skewX:kt,skewY:kt,distance:B,translateX:B,translateY:B,translateZ:B,x:B,y:B,z:B,perspective:B,transformPerspective:B,opacity:Xa,originX:lr,originY:lr,originZ:B},to={borderWidth:B,borderTopWidth:B,borderRightWidth:B,borderBottomWidth:B,borderLeftWidth:B,borderRadius:B,borderTopLeftRadius:B,borderTopRightRadius:B,borderBottomRightRadius:B,borderBottomLeftRadius:B,width:B,maxWidth:B,height:B,maxHeight:B,top:B,right:B,bottom:B,left:B,inset:B,insetBlock:B,insetBlockStart:B,insetBlockEnd:B,insetInline:B,insetInlineStart:B,insetInlineEnd:B,padding:B,paddingTop:B,paddingRight:B,paddingBottom:B,paddingLeft:B,paddingBlock:B,paddingBlockStart:B,paddingBlockEnd:B,paddingInline:B,paddingInlineStart:B,paddingInlineEnd:B,margin:B,marginTop:B,marginRight:B,marginBottom:B,marginLeft:B,marginBlock:B,marginBlockStart:B,marginBlockEnd:B,marginInline:B,marginInlineStart:B,marginInlineEnd:B,fontSize:B,backgroundPositionX:B,backgroundPositionY:B,...ob,zIndex:Sr,fillOpacity:Xa,strokeOpacity:Xa,numOctaves:Sr},ib={...to,color:ye,backgroundColor:ye,outlineColor:ye,fill:ye,stroke:ye,borderColor:ye,borderTopColor:ye,borderRightColor:ye,borderBottomColor:ye,borderLeftColor:ye,filter:wi,WebkitFilter:wi,mask:Pi,WebkitMask:Pi},Ic=e=>ib[e],sb=new Set([wi,Pi]);function _c(e,t){let a=Ic(e);return sb.has(a)||(a=it),a.getAnimatableNone?a.getAnimatableNone(t):void 0}const rb=new Set(["auto","none","0"]);function lb(e,t,a){let n=0,o;for(;n<e.length&&!o;){const i=e[n];typeof i=="string"&&!rb.has(i)&&ga(i).values.length&&(o=e[n]),n++}if(o&&a)for(const i of t)e[i]=_c(a,o)}class db extends us{constructor(t,a,n,o,i){super(t,a,n,o,i,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:a,name:n}=this;if(!a||!a.current)return;super.readKeyframes();for(let u=0;u<t.length;u++){let p=t[u];if(typeof p=="string"&&(p=p.trim(),is(p))){const m=wc(p,a.current);m!==void 0&&(t[u]=m),u===t.length-1&&(this.finalKeyframe=p)}}if(this.resolveNoneKeyframes(),!Pc.has(n)||t.length!==2)return;const[o,i]=t,s=Tr(o),r=Tr(i),l=rr(o),d=rr(i);if(l!==d&&wt[n]){this.needsMeasurement=!0;return}if(s!==r)if(fr(s)&&fr(r))for(let u=0;u<t.length;u++){const p=t[u];typeof p=="string"&&(t[u]=parseFloat(p))}else wt[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:a}=this,n=[];for(let o=0;o<t.length;o++)(t[o]===null||eb(t[o]))&&n.push(o);n.length&&lb(t,n,a)}measureInitialState(){const{element:t,unresolvedKeyframes:a,name:n}=this;if(!t||!t.current)return;n==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=wt[n](t.measureViewportBox(),window.getComputedStyle(t.current)),a[0]=this.measuredOrigin;const o=a[a.length-1];o!==void 0&&t.getValue(n,o).jump(o,!1)}measureEndState(){var r;const{element:t,name:a,unresolvedKeyframes:n}=this;if(!t||!t.current)return;const o=t.getValue(a);o&&o.jump(this.measuredOrigin,!1);const i=n.length-1,s=n[i];n[i]=wt[a](t.measureViewportBox(),window.getComputedStyle(t.current)),s!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=s),(r=this.removedTransforms)!=null&&r.length&&this.removedTransforms.forEach(([l,d])=>{t.getValue(l).set(d)}),this.resolveNoneKeyframes()}}const fs=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"];function Lc(e,t,a){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e=="string"){let n=document;const o=(a==null?void 0:a[e])??n.querySelectorAll(e);return o?Array.from(o):[]}return Array.from(e).filter(n=>n!=null)}const Ai=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function qn(e){return Ud(e)&&"offsetHeight"in e&&!("ownerSVGElement"in e)}const{schedule:bs}=ec(queueMicrotask,!1),nt={x:!1,y:!1};function Ec(){return nt.x||nt.y}function cb(e){return e==="x"||e==="y"?nt[e]?null:(nt[e]=!0,()=>{nt[e]=!1}):nt.x||nt.y?null:(nt.x=nt.y=!0,()=>{nt.x=nt.y=!1})}function Fc(e,t){const a=Lc(e),n=new AbortController,o={passive:!0,...t,signal:n.signal};return[a,o,()=>n.abort()]}function ub(e){return!(e.pointerType==="touch"||Ec())}function pb(e,t,a={}){const[n,o,i]=Fc(e,a);return n.forEach(s=>{let r=!1,l=!1,d;const u=()=>{s.removeEventListener("pointerleave",g)},p=y=>{d&&(d(y),d=void 0),u()},m=y=>{r=!1,window.removeEventListener("pointerup",m),window.removeEventListener("pointercancel",m),l&&(l=!1,p(y))},k=()=>{r=!0,window.addEventListener("pointerup",m,o),window.addEventListener("pointercancel",m,o)},g=y=>{if(y.pointerType!=="touch"){if(r){l=!0;return}p(y)}},b=y=>{if(!ub(y))return;l=!1;const T=t(s,y);typeof T=="function"&&(d=T,s.addEventListener("pointerleave",g,o))};s.addEventListener("pointerenter",b,o),s.addEventListener("pointerdown",k,o)}),i}const Oc=(e,t)=>t?e===t?!0:Oc(e,t.parentElement):!1,ks=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,mb=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function hb(e){return mb.has(e.tagName)||e.isContentEditable===!0}const gb=new Set(["INPUT","SELECT","TEXTAREA"]);function fb(e){return gb.has(e.tagName)||e.isContentEditable===!0}const jn=new WeakSet;function Cr(e){return t=>{t.key==="Enter"&&e(t)}}function Bo(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const bb=(e,t)=>{const a=e.currentTarget;if(!a)return;const n=Cr(()=>{if(jn.has(a))return;Bo(a,"down");const o=Cr(()=>{Bo(a,"up")}),i=()=>Bo(a,"cancel");a.addEventListener("keyup",o,t),a.addEventListener("blur",i,t)});a.addEventListener("keydown",n,t),a.addEventListener("blur",()=>a.removeEventListener("keydown",n),t)};function wr(e){return ks(e)&&!Ec()}const Pr=new WeakSet;function kb(e,t,a={}){const[n,o,i]=Fc(e,a),s=r=>{const l=r.currentTarget;if(!wr(r)||Pr.has(r))return;jn.add(l),a.stopPropagation&&Pr.add(r);const d=t(l,r),u={...o,capture:!0},p=(g,b)=>{window.removeEventListener("pointerup",m,u),window.removeEventListener("pointercancel",k,u),jn.has(l)&&jn.delete(l),wr(g)&&typeof d=="function"&&d(g,{success:b})},m=g=>{p(g,l===window||l===document||a.useGlobalTarget||Oc(l,g.target))},k=g=>{p(g,!1)};window.addEventListener("pointerup",m,u),window.addEventListener("pointercancel",k,u)};return n.forEach(r=>{(a.useGlobalTarget?window:r).addEventListener("pointerdown",s,o),qn(r)&&(r.addEventListener("focus",d=>bb(d,o)),!hb(r)&&!r.hasAttribute("tabindex")&&(r.tabIndex=0))}),i}function ys(e){return Ud(e)&&"ownerSVGElement"in e}const Gn=new WeakMap;let St;const Bc=(e,t,a)=>(n,o)=>o&&o[0]?o[0][e+"Size"]:ys(n)&&"getBBox"in n?n.getBBox()[t]:n[a],yb=Bc("inline","width","offsetWidth"),vb=Bc("block","height","offsetHeight");function Tb({target:e,borderBoxSize:t}){var a;(a=Gn.get(e))==null||a.forEach(n=>{n(e,{get width(){return yb(e,t)},get height(){return vb(e,t)}})})}function Sb(e){e.forEach(Tb)}function Cb(){typeof ResizeObserver>"u"||(St=new ResizeObserver(Sb))}function wb(e,t){St||Cb();const a=Lc(e);return a.forEach(n=>{let o=Gn.get(n);o||(o=new Set,Gn.set(n,o)),o.add(t),St==null||St.observe(n)}),()=>{a.forEach(n=>{const o=Gn.get(n);o==null||o.delete(t),o!=null&&o.size||St==null||St.unobserve(n)})}}const Vn=new Set;let sa;function Pb(){sa=()=>{const e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Vn.forEach(t=>t(e))},window.addEventListener("resize",sa)}function Ab(e){return Vn.add(e),sa||Pb(),()=>{Vn.delete(e),!Vn.size&&typeof sa=="function"&&(window.removeEventListener("resize",sa),sa=void 0)}}function Ar(e,t){return typeof e=="function"?Ab(e):wb(e,t)}function Mb(e){return ys(e)&&e.tagName==="svg"}const Db=[...Rc,ye,it],xb=e=>Db.find(xc(e)),Mr=()=>({translate:0,scale:1,origin:0,originPoint:0}),ra=()=>({x:Mr(),y:Mr()}),Dr=()=>({min:0,max:0}),Te=()=>({x:Dr(),y:Dr()}),Rb=new WeakMap;function To(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function Za(e){return typeof e=="string"||Array.isArray(e)}const vs=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Ts=["initial",...vs];function So(e){return To(e.animate)||Ts.some(t=>Za(e[t]))}function Nc(e){return!!(So(e)||e.variants)}function Ib(e,t,a){for(const n in t){const o=t[n],i=a[n];if(Ae(o))e.addValue(n,o);else if(Ae(i))e.addValue(n,fa(o,{owner:e}));else if(i!==o)if(e.hasValue(n)){const s=e.getValue(n);s.liveStyle===!0?s.jump(o):s.hasAnimated||s.set(o)}else{const s=e.getStaticValue(n);e.addValue(n,fa(s!==void 0?s:o,{owner:e}))}}for(const n in a)t[n]===void 0&&e.removeValue(n);return t}const ao={current:null},Ss={current:!1},_b=typeof window<"u";function Hc(){if(Ss.current=!0,!!_b)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>ao.current=e.matches;e.addEventListener("change",t),t()}else ao.current=!1}const xr=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let no={};function Uc(e){no=e}function Lb(){return no}class Eb{scrapeMotionValuesFromProps(t,a,n){return{}}constructor({parent:t,props:a,presenceContext:n,reducedMotionConfig:o,skipAnimations:i,blockInitialAnimation:s,visualState:r},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=us,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const k=Le.now();this.renderScheduledAt<k&&(this.renderScheduledAt=k,re.render(this.render,!1,!0))};const{latestValues:d,renderState:u}=r;this.latestValues=d,this.baseTarget={...d},this.initialValues=a.initial?{...d}:{},this.renderState=u,this.parent=t,this.props=a,this.presenceContext=n,this.depth=t?t.depth+1:0,this.reducedMotionConfig=o,this.skipAnimationsConfig=i,this.options=l,this.blockInitialAnimation=!!s,this.isControllingVariants=So(a),this.isVariantNode=Nc(a),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:p,...m}=this.scrapeMotionValuesFromProps(a,{},this);for(const k in m){const g=m[k];d[k]!==void 0&&Ae(g)&&g.set(d[k])}}mount(t){var a,n;if(this.hasBeenMounted)for(const o in this.initialValues)(a=this.values.get(o))==null||a.jump(this.initialValues[o]),this.latestValues[o]=this.initialValues[o];this.current=t,Rb.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((o,i)=>this.bindToMotionValue(i,o)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(Ss.current||Hc(),this.shouldReduceMotion=ao.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,(n=this.parent)==null||n.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){var t;this.projection&&this.projection.unmount(),Mt(this.notifyUpdate),Mt(this.render),this.valueSubscriptions.forEach(a=>a()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),(t=this.parent)==null||t.removeChild(this);for(const a in this.events)this.events[a].clear();for(const a in this.features){const n=this.features[a];n&&(n.unmount(),n.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,a){if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),a.accelerate&&Tc.has(t)&&this.current instanceof HTMLElement){const{factory:s,keyframes:r,times:l,ease:d,duration:u}=a.accelerate,p=new yc({element:this.current,name:t,keyframes:r,times:l,ease:d,duration:Ve(u)}),m=s(p);this.valueSubscriptions.set(t,()=>{m(),p.cancel()});return}const n=Ta.has(t);n&&this.onBindTransform&&this.onBindTransform();const o=a.on("change",s=>{this.latestValues[t]=s,this.props.onUpdate&&re.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let i;typeof window<"u"&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,t,a)),this.valueSubscriptions.set(t,()=>{o(),i&&i()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in no){const a=no[t];if(!a)continue;const{isEnabled:n,Feature:o}=a;if(!this.features[t]&&o&&n(this.props)&&(this.features[t]=new o(this)),this.features[t]){const i=this.features[t];i.isMounted?i.update():(i.mount(),i.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Te()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,a){this.latestValues[t]=a}update(t,a){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=a;for(let n=0;n<xr.length;n++){const o=xr[n];this.propEventSubscriptions[o]&&(this.propEventSubscriptions[o](),delete this.propEventSubscriptions[o]);const i="on"+o,s=t[i];s&&(this.propEventSubscriptions[o]=this.on(o,s))}this.prevMotionValues=Ib(this,this.scrapeMotionValuesFromProps(t,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const a=this.getClosestVariantNode();if(a)return a.variantChildren&&a.variantChildren.add(t),()=>a.variantChildren.delete(t)}addValue(t,a){const n=this.values.get(t);a!==n&&(n&&this.removeValue(t),this.bindToMotionValue(t,a),this.values.set(t,a),this.latestValues[t]=a.get())}removeValue(t){this.values.delete(t);const a=this.valueSubscriptions.get(t);a&&(a(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,a){if(this.props.values&&this.props.values[t])return this.props.values[t];let n=this.values.get(t);return n===void 0&&a!==void 0&&(n=fa(a===null?void 0:a,{owner:this}),this.addValue(t,n)),n}readValue(t,a){let n=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return n!=null&&(typeof n=="string"&&(Hd(n)||qd(n))?n=parseFloat(n):!xb(n)&&it.test(a)&&(n=_c(t,a)),this.setBaseTarget(t,Ae(n)?n.get():n)),Ae(n)?n.get():n}setBaseTarget(t,a){this.baseTarget[t]=a}getBaseTarget(t){var i;const{initial:a}=this.props;let n;if(typeof a=="string"||typeof a=="object"){const s=hs(this.props,a,(i=this.presenceContext)==null?void 0:i.custom);s&&(n=s[t])}if(a&&n!==void 0)return n;const o=this.getBaseTargetFromProps(this.props,t);return o!==void 0&&!Ae(o)?o:this.initialValues[t]!==void 0&&n===void 0?void 0:this.baseTarget[t]}on(t,a){return this.events[t]||(this.events[t]=new as),this.events[t].add(a)}notify(t,...a){this.events[t]&&this.events[t].notify(...a)}scheduleRenderMicrotask(){bs.render(this.render)}}class qc extends Eb{constructor(){super(...arguments),this.KeyframeResolver=db}sortInstanceNodePosition(t,a){return t.compareDocumentPosition(a)&2?1:-1}getBaseTargetFromProps(t,a){const n=t.style;return n?n[a]:void 0}removeValueFromRenderState(t,{vars:a,style:n}){delete a[t],delete n[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;Ae(t)&&(this.childSubscription=t.on("change",a=>{this.current&&(this.current.textContent=`${a}`)}))}}class xt{constructor(t){this.isMounted=!1,this.node=t}update(){}}function jc({top:e,left:t,right:a,bottom:n}){return{x:{min:t,max:a},y:{min:e,max:n}}}function Fb({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Ob(e,t){if(!t)return e;const a=t({x:e.left,y:e.top}),n=t({x:e.right,y:e.bottom});return{top:a.y,left:a.x,bottom:n.y,right:n.x}}function No(e){return e===void 0||e===1}function Mi({scale:e,scaleX:t,scaleY:a}){return!No(e)||!No(t)||!No(a)}function Bt(e){return Mi(e)||Gc(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Gc(e){return Rr(e.x)||Rr(e.y)}function Rr(e){return e&&e!=="0%"}function oo(e,t,a){const n=e-a,o=t*n;return a+o}function Ir(e,t,a,n,o){return o!==void 0&&(e=oo(e,o,n)),oo(e,a,n)+t}function Di(e,t=0,a=1,n,o){e.min=Ir(e.min,t,a,n,o),e.max=Ir(e.max,t,a,n,o)}function Vc(e,{x:t,y:a}){Di(e.x,t.translate,t.scale,t.originPoint),Di(e.y,a.translate,a.scale,a.originPoint)}const _r=.999999999999,Lr=1.0000000000001;function Bb(e,t,a,n=!1){var r;const o=a.length;if(!o)return;t.x=t.y=1;let i,s;for(let l=0;l<o;l++){i=a[l],s=i.projectionDelta;const{visualElement:d}=i.options;d&&d.props.style&&d.props.style.display==="contents"||(n&&i.options.layoutScroll&&i.scroll&&i!==i.root&&(pt(e.x,-i.scroll.offset.x),pt(e.y,-i.scroll.offset.y)),s&&(t.x*=s.x.scale,t.y*=s.y.scale,Vc(e,s)),n&&Bt(i.latestValues)&&Wn(e,i.latestValues,(r=i.layout)==null?void 0:r.layoutBox))}t.x<Lr&&t.x>_r&&(t.x=1),t.y<Lr&&t.y>_r&&(t.y=1)}function pt(e,t){e.min+=t,e.max+=t}function Er(e,t,a,n,o=.5){const i=se(e.min,e.max,o);Di(e,t,a,i,n)}function Fr(e,t){return typeof e=="string"?parseFloat(e)/100*(t.max-t.min):e}function Wn(e,t,a){const n=a??e;Er(e.x,Fr(t.x,n.x),t.scaleX,t.scale,t.originX),Er(e.y,Fr(t.y,n.y),t.scaleY,t.scale,t.originY)}function Wc(e,t){return jc(Ob(e.getBoundingClientRect(),t))}function Nb(e,t,a){const n=Wc(e,a),{scroll:o}=t;return o&&(pt(n.x,o.offset.x),pt(n.y,o.offset.y)),n}const Hb={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Ub=va.length;function qb(e,t,a){let n="",o=!0;for(let s=0;s<Ub;s++){const r=va[s],l=e[r];if(l===void 0)continue;let d=!0;if(typeof l=="number")d=l===(r.startsWith("scale")?1:0);else{const u=parseFloat(l);
2d=r.startsWith("scale")?u===1:u===0}if(!d||a){const u=Ai(l,to[r]);if(!d){o=!1;const p=Hb[r]||r;n+=`${p}(${u}) `}a&&(t[r]=u)}}const i=e.pathRotation;return i&&(o=!1,n+=`rotate(${Ai(i,to.pathRotation)}) `),n=n.trim(),a?n=a(t,o?"":n):o&&(n="none"),n}function Cs(e,t,a){const{style:n,vars:o,transformOrigin:i}=e;let s=!1,r=!1;for(const l in t){const d=t[l];if(Ta.has(l)){s=!0;continue}else if(ac(l)){o[l]=d;continue}else{const u=Ai(d,to[l]);l.startsWith("origin")?(r=!0,i[l]=u):n[l]=u}}if(t.transform||(s||a?n.transform=qb(t,e.transform,a):n.transform&&(n.transform="none")),r){const{originX:l="50%",originY:d="50%",originZ:u=0}=i;n.transformOrigin=`${l} ${d} ${u}`}}function zc(e,{style:t,vars:a},n,o){const i=e.style;let s;for(s in t)i[s]=t[s];o==null||o.applyProjectionStyles(i,n);for(s in a)i.setProperty(s,a[s])}function Or(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Da={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(B.test(e))e=parseFloat(e);else return e;const a=Or(e,t.target.x),n=Or(e,t.target.y);return`${a}% ${n}%`}},jb={correct:(e,{treeScale:t,projectionDelta:a})=>{const n=e,o=it.parse(e);if(o.length>5)return n;const i=it.createTransformer(e),s=typeof o[0]!="number"?1:0,r=a.x.scale*t.x,l=a.y.scale*t.y;o[0+s]/=r,o[1+s]/=l;const d=se(r,l,.5);return typeof o[2+s]=="number"&&(o[2+s]/=d),typeof o[3+s]=="number"&&(o[3+s]/=d),i(o)}},xi={borderRadius:{...Da,applyTo:[...fs]},borderTopLeftRadius:Da,borderTopRightRadius:Da,borderBottomLeftRadius:Da,borderBottomRightRadius:Da,boxShadow:jb};function Kc(e,{layout:t,layoutId:a}){return Ta.has(e)||e.startsWith("origin")||(t||a!==void 0)&&(!!xi[e]||e==="opacity")}function ws(e,t,a){var s;const n=e.style,o=t==null?void 0:t.style,i={};if(!n)return i;for(const r in n)(Ae(n[r])||o&&Ae(o[r])||Kc(r,e)||((s=a==null?void 0:a.getValue(r))==null?void 0:s.liveStyle)!==void 0)&&(i[r]=n[r]);return i}function Gb(e){return window.getComputedStyle(e)}class Vb extends qc{constructor(){super(...arguments),this.type="html",this.renderInstance=zc}mount(t){yo(!!t.style),super.mount(t)}readValueFromInstance(t,a){var n;if(Ta.has(a))return(n=this.projection)!=null&&n.isProjecting?gi(a):uf(t,a);{const o=Gb(t),i=(ac(a)?o.getPropertyValue(a):o[a])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:a}){return Wc(t,a)}build(t,a,n){Cs(t,a,n.transformTemplate)}scrapeMotionValuesFromProps(t,a,n){return ws(t,a,n)}}const Wb={offset:"stroke-dashoffset",array:"stroke-dasharray"},zb={offset:"strokeDashoffset",array:"strokeDasharray"};function Kb(e,t,a=1,n=0,o=!0){e.pathLength=1;const i=o?Wb:zb;e[i.offset]=`${-n}`,e[i.array]=`${t} ${a}`}const $b=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function $c(e,{attrX:t,attrY:a,attrScale:n,pathLength:o,pathSpacing:i=1,pathOffset:s=0,...r},l,d,u){if(Cs(e,r,d),l){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:p,style:m}=e;p.transform&&(m.transform=p.transform,delete p.transform),(m.transform||p.transformOrigin)&&(m.transformOrigin=p.transformOrigin??"50% 50%",delete p.transformOrigin),m.transform&&(m.transformBox=(u==null?void 0:u.transformBox)??"fill-box",delete p.transformBox);for(const k of $b)p[k]!==void 0&&(m[k]=p[k],delete p[k]);t!==void 0&&(p.x=t),a!==void 0&&(p.y=a),n!==void 0&&(p.scale=n),o!==void 0&&Kb(p,o,i,s,!1)}const Qc=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),Jc=e=>typeof e=="string"&&e.toLowerCase()==="svg";function Qb(e,t,a,n){zc(e,t,void 0,n);for(const o in t.attrs)e.setAttribute(Qc.has(o)?o:gs(o),t.attrs[o])}function Yc(e,t,a){const n=ws(e,t,a);for(const o in e)if(Ae(e[o])||Ae(t[o])){const i=va.indexOf(o)!==-1?"attr"+o.charAt(0).toUpperCase()+o.substring(1):o;n[i]=e[o]}return n}class Jb extends qc{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Te}getBaseTargetFromProps(t,a){return t[a]}readValueFromInstance(t,a){if(Ta.has(a)){const n=Ic(a);return n&&n.default||0}return a=Qc.has(a)?a:gs(a),t.getAttribute(a)}scrapeMotionValuesFromProps(t,a,n){return Yc(t,a,n)}
vendor: 7,136 bytes, line 2
2build(t,a,n){$c(t,a,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(t,a,n,o){Qb(t,a,n,o)}mount(t){this.isSVGTag=Jc(t.tagName),super.mount(t)}}const Yb=Ts.length;function Xc(e){if(!e)return;if(!e.isControllingVariants){const a=e.parent?Xc(e.parent)||{}:{};return e.props.initial!==void 0&&(a.initial=e.props.initial),a}const t={};for(let a=0;a<Yb;a++){const n=Ts[a],o=e.props[n];(Za(o)||o===!1)&&(t[n]=o)}return t}function Zc(e,t){if(!Array.isArray(t))return!1;const a=t.length;if(a!==e.length)return!1;for(let n=0;n<a;n++)if(t[n]!==e[n])return!1;return!0}const Xb=[...vs].reverse(),Zb=vs.length;function ek(e){return t=>Promise.all(t.map(({animation:a,options:n})=>Xf(e,a,n)))}function tk(e){let t=ek(e),a=Br(),n=!0,o=!1;const i=d=>(u,p)=>{var k;const m=zt(e,p,d==="exit"?(k=e.presenceContext)==null?void 0:k.custom:void 0);if(m){const{transition:g,transitionEnd:b,...y}=m;u={...u,...y,...b}}return u};function s(d){t=d(e)}function r(d){const{props:u}=e,p=Xc(e.parent)||{},m=[],k=new Set;let g={},b=1/0;for(let T=0;T<Zb;T++){const S=Xb[T],P=a[S],w=u[S]!==void 0?u[S]:p[S],C=Za(w),x=S===d?P.isActive:null;x===!1&&(b=T);let I=w===p[S]&&w!==u[S]&&C;if(I&&(n||o)&&e.manuallyAnimateOnMount&&(I=!1),P.protectedKeys={...g},!P.isActive&&x===null||!w&&!P.prevProp||To(w)||typeof w=="boolean")continue;if(S==="exit"&&P.isActive&&x!==!0){P.prevResolvedValues&&(g={...g,...P.prevResolvedValues});continue}const R=ak(P.prevProp,w);let _=R||S===d&&P.isActive&&!I&&C||T>b&&C,A=!1;const L=Array.isArray(w)?w:[w];let j=L.reduce(i(S),{});x===!1&&(j={});const{prevResolvedValues:U={}}=P,z={...U,...j},W=D=>{_=!0,k.has(D)&&(A=!0,k.delete(D)),P.needsAnimating[D]=!0;const N=e.getValue(D);N&&(N.liveStyle=!1)};for(const D in z){const N=j[D],H=U[D];if(g.hasOwnProperty(D))continue;let M=!1;Ti(N)&&Ti(H)?M=!Zc(N,H)||R:M=N!==H,M?N!=null?W(D):k.add(D):N!==void 0&&k.has(D)?W(D):P.protectedKeys[D]=!0}P.prevProp=w,P.prevResolvedValues=j,P.isActive&&(g={...g,...j}),(n||o)&&e.blockInitialAnimation&&(_=!1);const Q=I&&R;_&&(!Q||A)&&m.push(...L.map(D=>{const N={type:S};if(typeof D=="string"&&(n||o)&&!Q&&e.manuallyAnimateOnMount&&e.parent){const{parent:H}=e,M=zt(H,D);if(H.enteringChildren&&M){const{delayChildren:O}=M.transition||{};N.delay=Sc(H.enteringChildren,e,O)}}return{animation:D,options:N}}))}if(k.size){const T={};if(typeof u.initial!="boolean"){const S=zt(e,Array.isArray(u.initial)?u.initial[0]:u.initial);S&&S.transition&&(T.transition=S.transition)}k.forEach(S=>{const P=e.getBaseTarget(S),w=e.getValue(S);w&&(w.liveStyle=!0),T[S]=P??null}),m.push({animation:T})}let y=!!m.length;return n&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(y=!1),n=!1,o=!1,y?t(m):Promise.resolve()}function l(d,u){var m;if(a[d].isActive===u)return Promise.resolve();(m=e.variantChildren)==null||m.forEach(k=>{var g;return(g=k.animationState)==null?void 0:g.setActive(d,u)}),a[d].isActive=u;const p=r(d);for(const k in a)a[k].protectedKeys={};return p}return{animateChanges:r,setActive:l,setAnimateFunction:s,getState:()=>a,reset:()=>{a=Br(),o=!0}}}function ak(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!Zc(t,e):!1}function Et(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Br(){return{animate:Et(!0),whileInView:Et(),whileHover:Et(),whileTap:Et(),whileDrag:Et(),whileFocus:Et(),exit:Et()}}function Ri(e,t){e.min=t.min,e.max=t.max}function tt(e,t){Ri(e.x,t.x),Ri(e.y,t.y)}function Nr(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}const eu=1e-4,nk=1-eu,ok=1+eu,tu=.01,ik=0-tu,sk=0+tu;function Ee(e){return e.max-e.min}function rk(e,t,a){return Math.abs(e-t)<=a}function Hr(e,t,a,n=.5){e.origin=n,e.originPoint=se(t.min,t.max,e.origin),e.scale=Ee(a)/Ee(t),e.translate=se(a.min,a.max,e.origin)-e.originPoint,(e.scale>=nk&&e.scale<=ok||isNaN(e.scale))&&(e.scale=1),(e.translate>=ik&&e.translate<=sk||isNaN(e.translate))&&(e.translate=0)}function Wa(e,t,a,n){Hr(e.x,t.x,a.x,n?n.originX:void 0),Hr(e.y,t.y,a.y,n?n.originY:void 0)}function Ur(e,t,a,n=0){const o=n?se(a.min,a.max,n):a.min;e.min=o+t.min,e.max=e.min+Ee(t)}function lk(e,t,a,n){Ur(e.x,t.x,a.x,n==null?void 0:n.x),Ur(e.y,t.y,a.y,n==null?void 0:n.y)}function qr(e,t,a,n=0){const o=n?se(a.min,a.max,n):a.min;e.min=t.min-o,e.max=e.min+Ee(t)}function io(e,t,a,n){qr(e.x,t.x,a.x,n==null?void 0:n.x),qr(e.y,t.y,a.y,n==null?void 0:n.y)}function jr(e,t,a,n,o){return e-=t,e=oo(e,1/a,n),o!==void 0&&(e=oo(e,1/o,n)),e}function dk(e,t=0,a=1,n=.5,o,i=e,s=e){if(ht.test(t)&&(t=parseFloat(t),t=se(s.min,s.max,t/100)-s.min),typeof t!="number")return;let r=se(i.min,i.max,n);e===i&&(r-=t),e.min=jr(e.min,t,a,r,o),e.max=jr(e.max,t,a,r,o)}function Gr(e,t,[a,n,o],i,s){dk(e,t[a],t[n],t[o],t.scale,i,s)}const ck=["x","scaleX","originX"],uk=["y","scaleY","originY"];function Vr(e,t,a,n){Gr(e.x,t,ck,a?a.x:void 0,n?n.x:void 0),Gr(e.y,t,uk,a?a.y:void 0,n?n.y:void 0)}function Wr(e){return e.translate===0&&e.scale===1}function au(e){return Wr(e.x)&&Wr(e.y)}function zr(e,t){return e.min===t.min&&e.max===t.max}function pk(e,t){return zr(e.x,t.x)&&zr(e.y,t.y)}function Kr(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function nu(e,t){return Kr(e.x,t.x)&&Kr(e.y,t.y)}function $r(e){return Ee(e.x)/Ee(e.y)}function Qr(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function ut(e){return[e("x"),e("y")]}function mk(e,t,a){let n="";const o=e.x.translate/t.x,i=e.y.translate/t.y,s=(a==null?void 0:a.z)||0;if((o||i||s)&&(n=`translate3d(${o}px, ${i}px, ${s}px) `),(t.x!==1||t.y!==1)&&(n+=`scale(${1/t.x}, ${1/t.y}) `),a){const{transformPerspective:d,rotate:u,pathRotation:p,rotateX:m,rotateY:k,skewX:g,skewY:b}=a;d&&(n=`perspective(${d}px) ${n}`),u&&(n+=`rotate(${u}deg) `),p&&(n+=`rotate(${p}deg) `),m&&(n+=`rotateX(${m}deg) `),k&&(n+=`rotateY(${k}deg) `),g&&(n+=`skewX(${g}deg) `),b&&(n+=`skewY(${b}deg) `)}const r=e.x.scale*t.x,l=e.y.scale*t.y;return(r!==1||l!==1)&&(n+=`scale(${r}, ${l})`),n||"none"}const hk=fs.length,Jr=e=>typeof e=="string"?parseFloat(e):e,Yr=e=>typeof e=="number"||B.test(e);function gk(e,t,a,n,o,i){o?(e.opacity=se(0,a.opacity??1,fk(n)),e.opacityExit=se(t.opacity??1,0,bk(n))):i&&(e.opacity=se(t.opacity??1,a.opacity??1,n));for(let s=0;s<hk;s++){const r=fs[s];let l=Xr(t,r),d=Xr(a,r);if(l===void 0&&d===void 0)continue;l||(l=0),d||(d=0),l===0||d===0||Yr(l)===Yr(d)?(e[r]=Math.max(se(Jr(l),Jr(d),n),0),(ht.test(d)||ht.test(l))&&(e[r]+="%")):e[r]=d}(t.rotate||a.rotate)&&(e.rotate=se(t.rotate||0,a.rotate||0,n))}function Xr(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const fk=ou(0,.5,Jd),bk=ou(.5,.95,Xe);function ou(e,t,a){return n=>n<e?0:n>t?1:a(Ya(e,t,n))}function kk(e,t,a){const n=Ae(e)?e:fa(e);return n.start(ms("",n,t,a)),n.animation}function en(e,t,a,n={passive:!0}){return e.addEventListener(t,a,n),()=>e.removeEventListener(t,a,n)}const yk=(e,t)=>e.depth-t.depth;class vk{constructor(){this.children=[],this.isDirty=!1}add(t){ts(this.children,t),this.isDirty=!0}remove(t){Jn(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(yk),this.isDirty=!1,this.children.forEac
2h(t)}}function Tk(e,t){const a=Le.now(),n=({timestamp:o})=>{const i=o-a;i>=t&&(Mt(n),e(i-t))};return re.setup(n,!0),()=>Mt(n)}function zn(e){return Ae(e)?e.get():e}class Sk{constructor(){this.members=[]}add(t){ts(this.members,t);for(let a=this.members.length-1;a>=0;a--){const n=this.members[a];if(n===t||n===this.lead||n===this.prevLead)continue;const o=n.instance;(!o||o.isConnected===!1)&&!n.snapshot&&(Jn(this.members,n),n.unmount())}t.scheduleRender()}remove(t){if(Jn(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const a=this.members[this.members.length-1];a&&this.promote(a)}}relegate(t){var a;for(let n=this.members.indexOf(t)-1;n>=0;n--){const o=this.members[n];if(o.isPresent!==!1&&((a=o.instance)==null?void 0:a.isConnected)!==!1)return this.promote(o),!0}return!1}promote(t,a){var o;const n=this.lead;if(t!==n&&(this.prevLead=n,this.lead=t,t.show(),n)){n.updateSnapshot(),t.scheduleRender();const{layoutDependency:i}=n.options,{layoutDependency:s}=t.options;(i===void 0||i!==s)&&(t.resumeFrom=n,a&&(n.preserveOpacity=!0),n.snapshot&&(t.snapshot=n.snapshot,t.snapshot.latestValues=n.animationValues||n.latestValues),(o=t.root)!=null&&o.isUpdating&&(t.isLayoutDirty=!0)),t.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(t=>{var a,n,o,i,s;(n=(a=t.options).onExitComplete)==null||n.call(a),(s=(o=t.resumingFrom)==null?void 0:(i=o.options).onExitComplete)==null||s.call(i)})}scheduleRender(){this.members.forEach(t=>t.instance&&t.scheduleRender(!1))}removeLeadSnapshot(){var t;(t=this.lead)!=null&&t.snapshot&&(this.lead.snapshot=void 0)}}const Kn={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Ho=["","X","Y","Z"],Ck=1e3;let wk=0;function Uo(e,t,a,n){const{latestValues:o}=t;o[e]&&(a[e]=o[e],t.setStaticValue(e,0),n&&(n[e]=0))}function iu(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const a=Mc(t);if(window.MotionHasOptimisedAnimation(a,"transform")){const{layout:o,layoutId:i}=e.options;window.MotionCancelOptimisedAnimation(a,"transform",re,!(o||i))}const{parent:n}=e;n&&!n.hasCheckedOptimisedAppear&&iu(n)}function su({attachResizeListener:e,defaultParent:t,measureScroll:a,checkIsScrollRoot:n,resetTransform:o}){return class{constructor(s={},r=t==null?void 0:t()){this.id=wk++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(Mk),this.nodes.forEach(Lk),this.nodes.forEach(Ek),this.nodes.forEach(Dk)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=s,this.root=r?r.root||r:this,this.path=r?[...r.path,r]:[],this.parent=r,this.depth=r?r.depth+1:0;for(let l=0;l<this.path.length;l++)this.path[l].shouldResetTransform=!0;this.root===this&&(this.nodes=new vk)}addEventListener(s,r){return this.eventHandlers.has(s)||this.eventHandlers.set(s,new as),this.eventHandlers.get(s).add(r)}notifyListeners(s,...r){const l=this.eventHandlers.get(s);l&&l.notify(...r)}hasListeners(s){return this.eventHandlers.has(s)}mount(s){if(this.instance)return;this.isSVG=ys(s)&&!Mb(s),this.instance=s;const{layoutId:r,layout:l,visualElement:d}=this.options;if(d&&!d.current&&d.mount(s),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(l||r)&&(this.isLayoutDirty=!0),e){let u,p=0;const m=()=>this.root.updateBlockedByResize=!1;re.read(()=>{p=window.innerWidth}),e(s,()=>{const k=window.innerWidth;k!==p&&(p=k,this.root.updateBlockedByResize=!0,u&&u(),u=Tk(m,250),Kn.hasAnimatedSinceResize&&(Kn.hasAnimatedSinceResize=!1,this.nodes.forEac
vendor: 9,731 bytes, line 2
2h(tl)))})}r&&this.root.registerSharedNode(r,this),this.options.animate!==!1&&d&&(r||l)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:p,hasRelativeLayoutChanged:m,layout:k})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const g=this.options.transition||d.getDefaultTransition()||Hk,{onLayoutAnimationStart:b,onLayoutAnimationComplete:y}=d.getProps(),T=!this.targetLayout||!nu(this.targetLayout,k),S=!p&&m;if(this.options.layoutRoot||this.resumeFrom||S||p&&(T||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const P={...ps(g,"layout"),onPlay:b,onComplete:y};(d.shouldReduceMotion||this.options.layoutRoot)&&(P.delay=0,P.type=!1),this.startAnimation(P),this.setAnimationOrigin(u,S,P.path)}else p||tl(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=k})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const s=this.getStack();s&&s.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Mt(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Fk),this.animationId++)}getTransformTemplate(){const{visualElement:s}=this.options;return s&&s.getProps().transformTemplate}willUpdate(s=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&iu(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const p=this.path[u];p.shouldResetTransform=!0,(typeof p.latestValues.x=="string"||typeof p.latestValues.y=="string")&&(p.isLayoutDirty=!0),p.updateScroll("snapshot"),p.options.layoutRoot&&p.willUpdate(!1)}const{layoutId:r,layout:l}=this.options;if(r===void 0&&!l)return;const d=this.getTransformTemplate();this.prevTransformTemplateValue=d?d(this.latestValues,""):void 0,this.updateSnapshot(),s&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){const l=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),l&&this.nodes.forEach(Rk),this.nodes.forEach(Zr);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(el);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(Ik),this.nodes.forEach(_k),this.nodes.forEach(Pk),this.nodes.forEach(Ak)):this.nodes.forEach(el),this.clearAllSnapshots();const r=Le.now();Pe.delta=gt(0,1e3/60,r-Pe.timestamp),Pe.timestamp=r,Pe.isProcessing=!0,Io.update.process(Pe),Io.preRender.process(Pe),Io.render.process(Pe),Pe.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,bs.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(xk),this.sharedNodes.forEach(Ok)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,re.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){re.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Ee(this.snapshot.measuredBox.x)&&!Ee(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l<this.path.length;l++)this.path[l].updateScroll();const s=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=Te()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:r}=this.options;r&&r.notify("LayoutMeasure",this.layout.layoutBox,s?s.layoutBox:void 0)}updateScroll(s="measure"){let r=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===s&&(r=!1),r&&this.instance){const l=n(this.instance);this.scroll={animationId:this.root.animationId,phase:s,isRoot:l,offset:a(this.instance),wasRoot:this.scroll?this.scroll.isRoot:l}}}resetTransform(){if(!o)return;const s=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,r=this.projectionDelta&&!au(this.projectionDelta),l=this.getTransformTemplate(),d=l?l(this.latestValues,""):void 0,u=d!==this.prevTransformTemplateValue;s&&this.instance&&(r||Bt(this.latestValues)||u)&&(o(this.instance,d),this.shouldResetTransform=!1,this.scheduleRender())}measure(s=!0){const r=this.measurePageBox();let l=this.removeElementScroll(r);return s&&(l=this.removeTransform(l)),Uk(l),{animationId:this.root.animationId,measuredBox:r,layoutBox:l,latestValues:{},source:this.id}}measurePageBox(){var d;const{visualElement:s}=this.options;if(!s)return Te();const r=s.measureViewportBox();if(!(((d=this.scroll)==null?void 0:d.wasRoot)||this.path.some(qk))){const{scroll:u}=this.root;u&&(pt(r.x,u.offset.x),pt(r.y,u.offset.y))}return r}removeElementScroll(s){var l;const r=Te();if(tt(r,s),(l=this.scroll)!=null&&l.wasRoot)return r;for(let d=0;d<this.path.length;d++){const u=this.path[d],{scroll:p,options:m}=u;u!==this.root&&p&&m.layoutScroll&&(p.wasRoot&&tt(r,s),pt(r.x,p.offset.x),pt(r.y,p.offset.y))}return r}applyTransform(s,r=!1,l){var u,p;const d=l||Te();tt(d,s);for(let m=0;m<this.path.length;m++){const k=this.path[m];!r&&k.options.layoutScroll&&k.scroll&&k!==k.root&&(pt(d.x,-k.scroll.offset.x),pt(d.y,-k.scroll.offset.y)),Bt(k.latestValues)&&Wn(d,k.latestValues,(u=k.layout)==null?void 0:u.layoutBox)}return Bt(this.latestValues)&&Wn(d,this.latestValues,(p=this.layout)==null?void 0:p.layoutBox),d}removeTransform(s){var l;const r=Te();tt(r,s);for(let d=0;d<this.path.length;d++){const u=this.path[d];if(!Bt(u.latestValues))continue;let p;u.instance&&(Mi(u.latestValues)&&u.updateSnapshot(),p=Te(),tt(p,u.measurePageBox())),Vr(r,u.latestValues,(l=u.snapshot)==null?void 0:l.layoutBox,p)}return Bt(this.latestValues)&&Vr(r,this.latestValues),r}setTargetDelta(s){this.targetDelta=s,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(s){this.options={...this.options,...s,crossfade:s.crossfade!==void 0?s.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Pe.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(s=!1){var k;const r=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=r.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=r.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=r.isSharedProjectionDirty);const l=!!this.resumingFrom||this!==r;if(!(s||l&&this.isSharedProjectionDirty||this.isProjectionDirty||(k=this.parent)!=null&&k.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:p}=this.options;if(!this.layout||!(u||p))return;this.resolvedRelativeTargetAt=Pe.timestamp;const m=this.getClosestProjectingParent();m&&this.linkedParentVersion!==m.layoutVersion&&!m.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&m&&m.layout?this.createRelativeTarget(m,this.layout.layoutBox,m.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=Te(),this.targetWithTransforms=Te()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),lk(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):tt(this.target,this.layout.layoutBox),Vc(this.target,this.targetDelta)):tt(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&m&&!!m.resumingFrom==!!this.resumingFrom&&!m.options.layoutScroll&&m.target&&this.animationProgress!==1?this.createRelativeTarget(m,this.target,m.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||Mi(this.parent.latestValues)||Gc(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(s,r,l){this.relativeParent=s,this.linkedParentVersion=s.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Te(),this.relativeTargetOrigin=Te(),io(this.relativeTargetOrigin,r,l,this.options.layoutAnchor||void 0),tt(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){var g;const s=this.getLead(),r=!!this.resumingFrom||this!==s;let l=!0;if((this.isProjectionDirty||(g=this.parent)!=null&&g.isProjectionDirty)&&
2(l=!1),r&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(l=!1),this.resolvedRelativeTargetAt===Pe.timestamp&&(l=!1),l)return;const{layout:d,layoutId:u}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||u))return;tt(this.layoutCorrected,this.layout.layoutBox);const p=this.treeScale.x,m=this.treeScale.y;Bb(this.layoutCorrected,this.treeScale,this.path,r),s.layout&&!s.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(s.target=s.layout.layoutBox,s.targetWithTransforms=Te());const{target:k}=s;if(!k){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Nr(this.prevProjectionDelta.x,this.projectionDelta.x),Nr(this.prevProjectionDelta.y,this.projectionDelta.y)),Wa(this.projectionDelta,this.layoutCorrected,k,this.latestValues),(this.treeScale.x!==p||this.treeScale.y!==m||!Qr(this.projectionDelta.x,this.prevProjectionDelta.x)||!Qr(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",k))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(s=!0){var r;if((r=this.options.visualElement)==null||r.scheduleRender(),s){const l=this.getStack();l&&l.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=ra(),this.projectionDelta=ra(),this.projectionDeltaWithTransform=ra()}setAnimationOrigin(s,r=!1,l){const d=this.snapshot,u=d?d.latestValues:{},p={...this.latestValues},m=ra();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!r;const k=Te(),g=d?d.source:void 0,b=this.layout?this.layout.source:void 0,y=g!==b,T=this.getStack(),S=!T||T.members.length<=1,P=!!(y&&!S&&this.options.crossfade===!0&&!this.path.some(Nk));this.animationProgress=0;let w;const C=l==null?void 0:l.interpolateProjection(s);this.mixTargetDelta=x=>{const I=x/1e3,R=C==null?void 0:C(I);R?(m.x.translate=R.x,m.x.scale=se(s.x.scale,1,I),m.x.origin=s.x.origin,m.x.originPoint=s.x.originPoint,m.y.translate=R.y,m.y.scale=se(s.y.scale,1,I),m.y.origin=s.y.origin,m.y.originPoint=s.y.originPoint):(al(m.x,s.x,I),al(m.y,s.y,I)),this.setTargetDelta(m),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(io(k,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),Bk(this.relativeTarget,this.relativeTargetOrigin,k,I),w&&pk(this.relativeTarget,w)&&(this.isProjectionDirty=!1),w||(w=Te()),tt(w,this.relativeTarget)),y&&(this.animationValues=p,gk(p,u,this.latestValues,I,P,S)),R&&R.rotate!==void 0&&(this.animationValues||(this.animationValues=p),this.animationValues.pathRotation=R.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=I},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(s){var r,l,d;this.notifyListeners("animationStart"),(r=this.currentAnimation)==null||r.stop(),(d=(l=this.resumingFrom)==null?void 0:l.currentAnimation)==null||d.stop(),this.pendingAnimation&&(Mt(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=re.update(()=>{Kn.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=fa(0)),this.motionValue.jump(0,!1),this.currentAnimation=kk(this.motionValue,[0,1e3],{...s,velocity:0,isSync:!0,onUpdate:u=>{this.mixTargetDelta(u),s.onUpdate&&s.onUpdate(u)},onComplete:()=>{s.onComplete&&s.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const s=this.getStack();s&&s.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Ck),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const s=this.getLead();let{targetWithTransforms:r,target:l,layout:d,latestValues:u}=s;if(!(!r||!l||!d)){if(this!==s&&this.layout&&d&&ru(this.options.animationType,this.layout.layoutBox,d.layoutBox)){l=this.target||Te();const p=Ee(this.layout.layoutBox.x);l.x.min=s.target.x.min,l.x.max=l.x.min+p;const m=Ee(this.layout.layoutBox.y);l.y.min=s.target.y.min,l.y.max=l.y.min+m}tt(r,l),Wn(r,u),Wa(this.projectionDeltaWithTransform,this.layoutCorrected,r,u)}}registerSharedNode(s,r){this.sharedNodes.has(s)||this.sharedNodes.set(s,new Sk),this.sharedNodes.get(s).add(r);const d=r.options.initialPromotionConfig;r.promote({transition:d?d.transition:void 0,preserveFollowOpacity:d&&d.shouldPreserveFollowOpacity?d.shouldPreserveFollowOpacity(r):void 0})}isLead(){const s=this.getStack();return s?s.lead===this:!0}getLead(){var r;const{layoutId:s}=this.options;return s?((r=this.getStack())==null?void 0:r.lead)||this:this}getPrevLead(){var r;const{layoutId:s}=this.options;return s?(r=this.getStack())==null?void 0:r.prevLead:void 0}getStack(){const{layoutId:s}=this.options;if(s)return this.root.sharedNodes.get(s)}promote({needsReset:s,transition:r,preserveFollowOpacity:l}={}){const d=this.getStack();d&&d.promote(this,l),s&&(this.projectionDelta=void 0,this.needsReset=!0),r&&this.setOptions({transition:r})}relegate(){const s=this.getStack();return s?s.relegate(this):!1}
vendor: 4,506 bytes, line 2
2resetSkewAndRotation(){const{visualElement:s}=this.options;if(!s)return;let r=!1;const{latestValues:l}=s;if((l.z||l.rotate||l.rotateX||l.rotateY||l.rotateZ||l.skewX||l.skewY)&&(r=!0),!r)return;const d={};l.z&&Uo("z",s,d,this.animationValues);for(let u=0;u<Ho.length;u++)Uo(`rotate${Ho[u]}`,s,d,this.animationValues),Uo(`skew${Ho[u]}`,s,d,this.animationValues);s.render();for(const u in d)s.setStaticValue(u,d[u]),this.animationValues&&(this.animationValues[u]=d[u]);s.scheduleRender()}applyProjectionStyles(s,r){if(!this.instance||this.isSVG)return;if(!this.isVisible){s.visibility="hidden";return}const l=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,s.visibility="",s.opacity="",s.pointerEvents=zn(r==null?void 0:r.pointerEvents)||"",s.transform=l?l(this.latestValues,""):"none";return}const d=this.getLead();if(!this.projectionDelta||!this.layout||!d.target){this.options.layoutId&&(s.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,s.pointerEvents=zn(r==null?void 0:r.pointerEvents)||""),this.hasProjected&&!Bt(this.latestValues)&&(s.transform=l?l({},""):"none",this.hasProjected=!1);return}s.visibility="";const u=d.animationValues||d.latestValues;this.applyTransformsToTarget();let p=mk(this.projectionDeltaWithTransform,this.treeScale,u);l&&(p=l(u,p)),s.transform=p;const{x:m,y:k}=this.projectionDelta;s.transformOrigin=`${m.origin*100}% ${k.origin*100}% 0`,d.animationValues?s.opacity=d===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:s.opacity=d===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const g in xi){if(u[g]===void 0)continue;const{correct:b,applyTo:y,isCSSVariable:T}=xi[g],S=p==="none"?u[g]:b(u[g],d);if(y){const P=y.length;for(let w=0;w<P;w++)s[y[w]]=S}else T?this.options.visualElement.renderState.vars[g]=S:s[g]=S}this.options.layoutId&&(s.pointerEvents=d===this?zn(r==null?void 0:r.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(s=>{var r;return(r=s.currentAnimation)==null?void 0:r.stop()}),this.root.nodes.forEach(Zr),this.root.sharedNodes.clear()}}}function Pk(e){e.updateLayout()}function Ak(e){var a;const t=((a=e.resumeFrom)==null?void 0:a.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:n,measuredBox:o}=e.layout,{animationType:i}=e.options,s=t.source!==e.layout.source;if(i==="size")ut(p=>{const m=s?t.measuredBox[p]:t.layoutBox[p],k=Ee(m);m.min=n[p].min,m.max=m.min+k});else if(i==="x"||i==="y"){const p=i==="x"?"y":"x";Ri(s?t.measuredBox[p]:t.layoutBox[p],n[p])}else ru(i,t.layoutBox,n)&&ut(p=>{const m=s?t.measuredBox[p]:t.layoutBox[p],k=Ee(n[p]);m.max=m.min+k,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[p].max=e.relativeTarget[p].min+k)});const r=ra();Wa(r,n,t.layoutBox);const l=ra();s?Wa(l,e.applyTransform(o,!0),t.measuredBox):Wa(l,n,t.layoutBox);const d=!au(r);let u=!1;if(!e.resumeFrom){const p=e.getClosestProjectingParent();if(p&&!p.resumeFrom){const{snapshot:m,layout:k}=p;if(m&&k){const g=e.options.layoutAnchor||void 0,b=Te();io(b,t.layoutBox,m.layoutBox,g);const y=Te();io(y,n,k.layoutBox,g),nu(b,y)||(u=!0),p.options.layoutRoot&&(e.relativeTarget=y,e.relativeTargetOrigin=b,e.relativeParent=p)}}}e.notifyListeners("didUpdate",{layout:n,snapshot:t,delta:l,layoutDelta:r,hasLayoutChanged:d,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:n}=e.options;n&&n()}e.options.transition=void 0}function Mk(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Dk(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function xk(e){e.clearSnapshot()}function Zr(e){e.clearMeasurements()}function Rk(e){e.isLayoutDirty=!0,e.updateLayout()}function el(e){e.isLayoutDirty=!1}function Ik(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function _k(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function tl(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Lk(e){e.resolveTargetDelta()}function Ek(e){e.calcProjection()}
2function Fk(e){e.resetSkewAndRotation()}function Ok(e){e.removeLeadSnapshot()}function al(e,t,a){e.translate=se(t.translate,0,a),e.scale=se(t.scale,1,a),e.origin=t.origin,e.originPoint=t.originPoint}function nl(e,t,a,n){e.min=se(t.min,a.min,n),e.max=se(t.max,a.max,n)}function Bk(e,t,a,n){nl(e.x,t.x,a.x,n),nl(e.y,t.y,a.y,n)}function Nk(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const Hk={duration:.45,ease:[.4,0,.1,1]},ol=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),il=ol("applewebkit/")&&!ol("chrome/")?Math.round:Xe;function sl(e){e.min=il(e.min),e.max=il(e.max)}function Uk(e){sl(e.x),sl(e.y)}function ru(e,t,a){return e==="position"||e==="preserve-aspect"&&!rk($r(t),$r(a),.2)}function qk(e){var t;return e!==e.root&&((t=e.scroll)==null?void 0:t.wasRoot)}const jk=su({attachResizeListener:(e,t)=>en(e,"resize",t),measureScroll:()=>{var e,t;return{x:document.documentElement.scrollLeft||((e=document.body)==null?void 0:e.scrollLeft)||0,y:document.documentElement.scrollTop||((t=document.body)==null?void 0:t.scrollTop)||0}},checkIsScrollRoot:()=>!0}),qo={current:void 0},lu=su({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!qo.current){const e=new jk({});e.mount(window),e.setOptions({layoutScroll:!0}),qo.current=e}return qo.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),Ps=h.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function rl(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Gk(...e){return t=>{let a=!1;const n=e.map(o=>{const i=rl(o,t);return!a&&typeof i=="function"&&(a=!0),i});if(a)return()=>{for(let o=0;o<n.length;o++){const i=n[o];typeof i=="function"?i():rl(e[o],null)}}}}function Vk(...e){return h.useCallback(Gk(...e),e)}class Wk extends h.Component{getSnapshotBeforeUpdate(t){const a=this.props.childRef.current;if(qn(a)&&t.isPresent&&!this.props.isPresent&&this.props.pop!==!1){const n=a.offsetParent,o=qn(n)&&n.offsetWidth||0,i=qn(n)&&n.offsetHeight||0,s=getComputedStyle(a),r=this.props.sizeRef.current;r.height=parseFloat(s.height),r.width=parseFloat(s.width),r.top=a.offsetTop,r.left=a.offsetLeft,r.right=o-r.width-r.left,r.bottom=i-r.height-r.top,r.direction=s.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function zk({children:e,isPresent:t,anchorX:a,anchorY:n,root:o,pop:i}){var m;const s=h.useId(),r=h.useRef(null),l=h.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:d}=h.useContext(Ps),u=i!==!1?((m=e.props)==null?void 0:m.ref)??(e==null?void 0:e.ref):void 0,p=Vk(r,u);return h.useInsertionEffect(()=>{const{width:k,height:g,top:b,left:y,right:T,bottom:S,direction:P}=l.current;if(t||i===!1||!r.current||!k||!g)return;const w=P==="rtl",C=a==="left"?w?`right: ${T}`:`left: ${y}`:w?`left: ${y}`:`right: ${T}`,x=n==="bottom"?`bottom: ${S}`:`top: ${b}`;r.current.dataset.motionPopId=s;const I=document.createElement("style");d&&(I.nonce=d);const R=o??document.head;return R.appendChild(I),I.sheet&&I.sheet.insertRule(` 3 [data-motion-pop-id="${s}"] { 4 position: absolute !important; 5 width: ${k}px !important; 6 height: ${g}px !important; 7 ${C}px !important; 8 ${x}px !important; 9 } 10 `),()=>{var _;(_=r.current)==null||_.removeAttribute("data-motion-pop-id"),R.contains(I)&&R.removeChild(I)}},[t]),c.jsx(Wk,{isPresent:t,childRef:r,sizeRef:l,pop:i,children:i===!1?e:h.cloneElement(e,{ref:p})})}const Kk=({children:e,initial:t,isPresent:a,onExitComplete:n,custom:o,presenceAffectsLayout:i,mode:s,anchorX:r,anchorY:l,root:d})=>{const u=Zi($k),p=h.useId(),m=h.useRef(a),k=h.useRef(n);es(()=>{m.current=a,k.current=n});let g=!0,b=h.useMemo(()=>(g=!1,{id:p,initial:t,isPresent:a,custom:o,onExitComplete:y=>{u.set(y,!0);for(const T of u.values())if(!T)return;n&&n()},register:y=>(u.set(y,!1),()=>{var T;u.delete(y),!m.current&&!u.size&&((T=k.current)==null||T.call(k))})}),[a,u,n]);return i&&g&&(b={...b}),h.useMemo(()=>{u.forEach((y,T)=>u.set(T,!1))},[a]),h.useEffect(()=>{!a&&!u.size&&n&&n()},[a]),e=c.jsx(zk,{pop:s==="popLayout",isPresent:a,anchorX:r,anchorY:l,root:d,children:e}),c.jsx(ko.Provider,{value:b,children:e})};function $k(){return new Map}function du(e=!0){const t=h.useContext(ko);if(t===null)return[!0,null];const{isPresent:a,onExitComplete:n,register:o}=t,i=h.useId();h.useEffect(()=>{if(e)return o(i)},[e]);const s=h.useCallback(()=>e&&n&&n(i),[i,n,e]);return!a&&n?[!1,s]:[!0]}const vn=e=>e.key||"";function ll(e){const t=[];
vendor: 4,503 bytes, line 10
10return h.Children.forEach(e,a=>{h.isValidElement(a)&&t.push(a)}),t}const Qk=({children:e,custom:t,initial:a=!0,onExitComplete:n,presenceAffectsLayout:o=!0,mode:i="sync",propagate:s=!1,anchorX:r="left",anchorY:l="top",root:d})=>{const[u,p]=du(s),m=h.useMemo(()=>ll(e),[e]),k=s&&!u?[]:m.map(vn),g=h.useRef(!0),b=h.useRef(m),y=Zi(()=>new Map),T=h.useRef(new Set),[S,P]=h.useState(m),[w,C]=h.useState(m);es(()=>{g.current=!1,b.current=m;for(let R=0;R<w.length;R++){const _=vn(w[R]);k.includes(_)?(y.delete(_),T.current.delete(_)):y.get(_)!==!0&&y.set(_,!1)}},[w,k.length,k.join("-")]);const x=[];if(m!==S){let R=[...m];for(let _=0;_<w.length;_++){const A=w[_],L=vn(A);k.includes(L)||(R.splice(_,0,A),x.push(A))}return i==="wait"&&x.length&&(R=x),C(ll(R)),P(m),null}const{forceRender:I}=h.useContext(Xi);return c.jsx(c.Fragment,{children:w.map(R=>{const _=vn(R),A=s&&!u?!1:m===w||k.includes(_),L=()=>{if(T.current.has(_))return;if(y.has(_))T.current.add(_),y.set(_,!0);else return;let j=!0;y.forEach(U=>{U||(j=!1)}),j&&(I==null||I(),C(b.current),s&&(p==null||p()),n&&n())};return c.jsx(Kk,{isPresent:A,initial:!g.current||a?void 0:!1,custom:t,presenceAffectsLayout:o,mode:i,root:d,onExitComplete:A?void 0:L,anchorX:r,anchorY:l,children:R},_)})})},cu=h.createContext({strict:!1}),dl={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let cl=!1;function Jk(){if(cl)return;const e={};for(const t in dl)e[t]={isEnabled:a=>dl[t].some(n=>!!a[n])};Uc(e),cl=!0}function uu(){return Jk(),Lb()}function Yk(e){const t=uu();for(const a in e)t[a]={...t[a],...e[a]};Uc(t)}const Xk=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function so(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||Xk.has(e)}let pu=e=>!so(e);function Zk(e){typeof e=="function"&&(pu=t=>t.startsWith("on")?!so(t):e(t))}try{Zk(require("@emotion/is-prop-valid").default)}catch{}function ey(e,t,a){const n={};for(const o in e)o==="values"&&typeof e.values=="object"||Ae(e[o])||(pu(o)||a===!0&&so(o)||!t&&!so(o)||e.draggable&&o.startsWith("onDrag"))&&(n[o]=e[o]);return n}const Co=h.createContext({});function ty(e,t){if(So(e)){const{initial:a,animate:n}=e;return{initial:a===!1||Za(a)?a:void 0,animate:Za(n)?n:void 0}}return e.inherit!==!1?t:{}}function ay(e){const{initial:t,animate:a}=ty(e,h.useContext(Co));return h.useMemo(()=>({initial:t,animate:a}),[ul(t),ul(a)])}function ul(e){return Array.isArray(e)?e.join(" "):e}const As=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function mu(e,t,a){for(const n in t)!Ae(t[n])&&!Kc(n,a)&&(e[n]=t[n])}function ny({transformTemplate:e},t){return h.useMemo(()=>{const a=As();return Cs(a,t,e),Object.assign({},a.vars,a.style)},[t])}function oy(e,t){const a=e.style||{},n={};return mu(n,a,e),Object.assign(n,ny(e,t)),n}function iy(e,t){const a={},n=oy(e,t);return e.drag&&e.dragListener!==!1&&(a.draggable=!1,n.userSelect=n.WebkitUserSelect=n.WebkitTouchCallout="none",n.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(a.tabIndex=0),a.style=n,a}const hu=()=>({...As(),attrs:{}});function sy(e,t,a,n){const o=h.useMemo(()=>{const i=hu();return $c(i,t,Jc(n),e.transformTemplate,e.style),{...i.attrs,style:{...i.style}}},[t]);if(e.style){const i={};mu(i,e.style,e),o.style={...i,...o.style}}return o}const ry=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Ms(e){return typeof e!="string"||e.includes("-")?!1:!!(ry.indexOf(e)>-1||/[A-Z]/u.test(e))}function ly(e,t,a,{latestValues:n}
vendor: 25,112 bytes, line 10
10,o,i=!1,s){const l=(s??Ms(e)?sy:iy)(t,n,o,e),d=ey(t,typeof e=="string",i),u=e!==h.Fragment?{...d,...l,ref:a}:{},{children:p}=t,m=h.useMemo(()=>Ae(p)?p.get():p,[p]);return h.createElement(e,{...u,children:m})}function dy({scrapeMotionValuesFromProps:e,createRenderState:t},a,n,o){return{latestValues:cy(a,n,o,e),renderState:t()}}function cy(e,t,a,n){const o={},i=n(e,{});for(const m in i)o[m]=zn(i[m]);let{initial:s,animate:r}=e;const l=So(e),d=Nc(e);t&&d&&!l&&e.inherit!==!1&&(s===void 0&&(s=t.initial),r===void 0&&(r=t.animate));let u=a?a.initial===!1:!1;u=u||s===!1;const p=u?r:s;if(p&&typeof p!="boolean"&&!To(p)){const m=Array.isArray(p)?p:[p];for(let k=0;k<m.length;k++){const g=hs(e,m[k]);if(g){const{transitionEnd:b,transition:y,...T}=g;for(const S in T){let P=T[S];if(Array.isArray(P)){const w=u?P.length-1:0;P=P[w]}P!==null&&(o[S]=P)}for(const S in b)o[S]=b[S]}}}return o}const gu=e=>(t,a)=>{const n=h.useContext(Co),o=h.useContext(ko),i=()=>dy(e,t,n,o);return a?i():Zi(i)},uy=gu({scrapeMotionValuesFromProps:ws,createRenderState:As}),py=gu({scrapeMotionValuesFromProps:Yc,createRenderState:hu}),my=Symbol.for("motionComponentSymbol");function hy(e,t,a){const n=h.useRef(a);h.useInsertionEffect(()=>{n.current=a});const o=h.useRef(null);return h.useCallback(i=>{var r;i&&((r=e.onMount)==null||r.call(e,i)),t&&(i?t.mount(i):t.unmount());const s=n.current;if(typeof s=="function")if(i){const l=s(i);typeof l=="function"&&(o.current=l)}else o.current?(o.current(),o.current=null):s(i);else s&&(s.current=i)},[t])}const fu=h.createContext({});function na(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function gy(e,t,a,n,o,i){var P,w;const{visualElement:s}=h.useContext(Co),r=h.useContext(cu),l=h.useContext(ko),d=h.useContext(Ps),u=d.reducedMotion,p=d.skipAnimations,m=h.useRef(null),k=h.useRef(!1);n=n||r.renderer,!m.current&&n&&(m.current=n(e,{visualState:t,parent:s,props:a,presenceContext:l,blockInitialAnimation:l?l.initial===!1:!1,reducedMotionConfig:u,skipAnimations:p,isSVG:i}),k.current&&m.current&&(m.current.manuallyAnimateOnMount=!0));const g=m.current,b=h.useContext(fu);g&&!g.projection&&o&&(g.type==="html"||g.type==="svg")&&fy(m.current,a,o,b);const y=h.useRef(!1);h.useInsertionEffect(()=>{g&&y.current&&g.update(a,l)});const T=a[Ac],S=h.useRef(!!T&&typeof window<"u"&&!((P=window.MotionHandoffIsComplete)!=null&&P.call(window,T))&&((w=window.MotionHasOptimisedAnimation)==null?void 0:w.call(window,T)));return es(()=>{k.current=!0,g&&(y.current=!0,window.MotionIsMounted=!0,g.updateFeatures(),g.scheduleRenderMicrotask(),S.current&&g.animationState&&g.animationState.animateChanges())}),h.useEffect(()=>{g&&(!S.current&&g.animationState&&g.animationState.animateChanges(),S.current&&(queueMicrotask(()=>{var C;(C=window.MotionHandoffMarkAsComplete)==null||C.call(window,T)}),S.current=!1),g.enteringChildren=void 0)}),g}function fy(e,t,a,n){const{layoutId:o,layout:i,drag:s,dragConstraints:r,layoutScroll:l,layoutRoot:d,layoutAnchor:u,layoutCrossfade:p}=t;e.projection=new a(e.latestValues,t["data-framer-portal-id"]?void 0:bu(e.parent)),e.projection.setOptions({layoutId:o,layout:i,alwaysMeasureLayout:!!s||r&&na(r),visualElement:e,animationType:typeof i=="string"?i:"both",initialPromotionConfig:n,crossfade:p,layoutScroll:l,layoutRoot:d,layoutAnchor:u})}function bu(e){if(e)return e.options.allowProjection!==!1?e.projection:bu(e.parent)}function jo(e,{forwardMotionProps:t=!1,type:a}={},n,o){n&&Yk(n);const i=a?a==="svg":Ms(e),s=i?py:uy;function r(d,u){let p;const m={...h.useContext(Ps),...d,layoutId:by(d)},{isStatic:k}=m,g=ay(d),b=s(d,k);if(!k&&typeof window<"u"){ky();const y=yy(m);p=y.MeasureLayout,g.visualElement=gy(e,b,m,o,y.ProjectionNode,i)}return c.jsxs(Co.Provider,{value:g,children:[p&&g.visualElement?c.jsx(p,{visualElement:g.visualElement,...m}):null,ly(e,d,hy(b,g.visualElement,u),b,k,t,i)]})}r.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const l=h.forwardRef(r);return l[my]=e,l}function by({layoutId:e}){const t=h.useContext(Xi).id;return t&&e!==void 0?t+"-"+e:e}function ky(e,t){h.useContext(cu).strict}function yy(e){const t=uu(),{drag:a,layout:n}=t;if(!a&&!n)return{};const o={...a,...n};return{MeasureLayout:a!=null&&a.isEnabled(e)||n!=null&&n.isEnabled(e)?o.MeasureLayout:void 0,ProjectionNode:o.ProjectionNode}}function vy(e,t){if(typeof Proxy>"u")return jo;const a=new Map,n=(i,s)=>jo(i,s,e,t),o=(i,s)=>n(i,s);return new Proxy(o,{get:(i,s)=>s==="create"?n:(a.has(s)||a.set(s,jo(s,void 0,e,t)),a.get(s))})}const Ty=(e,t)=>t.isSVG??Ms(e)?new Jb(t):new Vb(t,{allowProjection:e!==h.Fragment});class Sy extends xt{constructor(t){super(t),t.animationState||(t.animationState=tk(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();To(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:a}=this.node.prevProps||{};t!==a&&this.updateAnimationControlsSubscription()}unmount(){var t;this.node.animationState.reset(),(t=this.unmountControls)==null||t.call(this)}}let Cy=0;class wy extends xt{constructor(){super(...arguments),this.id=Cy++,this.isExitComplete=!1}update(){var i;if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:a}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===n)return;if(t&&n===!1){if(this.isExitComplete){const{initial:s,custom:r}=this.node.getProps();if(typeof s=="string"||typeof s=="object"&&s!==null&&!Array.isArray(s)){const l=zt(this.node,s,r);if(l){const{transition:d,transitionEnd:u,...p}=l;for(const m in p)(i=this.node.getValue(m))==null||i.jump(p[m])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const o=this.node.animationState.setActive("exit",!t);a&&!t&&o.then(()=>{this.isExitComplete=!0,a(this.id)})}mount(){const{register:t,onExitComplete:a}=this.node.presenceContext||{};a&&a(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const Py={animation:{Feature:Sy},exit:{Feature:wy}};function ln(e){return{point:{x:e.pageX,y:e.pageY}}}const Ay=e=>t=>ks(t)&&e(t,ln(t));function za(e,t,a,n){return en(e,t,Ay(a),n)}const ku=({current:e})=>e?e.ownerDocument.defaultView:null,pl=(e,t)=>Math.abs(e-t);function My(e,t){const a=pl(e.x,t.x),n=pl(e.y,t.y);return Math.sqrt(a**2+n**2)}const ml=new Set(["auto","scroll"]);class yu{constructor(t,a,{transformPagePoint:n,contextWindow:o=window,dragSnapToOrigin:i=!1,distanceThreshold:s=3,element:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=g=>{this.handleScroll(g.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=Tn(this.lastRawMoveEventInfo,this.transformPagePoint));const g=Go(this.lastMoveEventInfo,this.history),b=this.startEvent!==null,y=My(g.offset,{x:0,y:0})>=this.distanceThreshold;if(!b&&!y)return;const{point:T}=g,{timestamp:S}=Pe;this.history.push({...T,timestamp:S});const{onStart:P,onMove:w}=this.handlers;b||(P&&P(this.lastMoveEvent,g),this.startEvent=this.lastMoveEvent),w&&w(this.lastMoveEvent,g)},this.handlePointerMove=(g,b)=>{this.lastMoveEvent=g,this.lastRawMoveEventInfo=b,this.lastMoveEventInfo=Tn(b,this.transformPagePoint),re.update(this.updatePoint,!0)},this.handlePointerUp=(g,b)=>{this.end();const{onEnd:y,onSessionEnd:T,resumeAnimation:S}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&S&&S(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const P=Go(g.type==="pointercancel"?this.lastMoveEventInfo:Tn(b,this.transformPagePoint),this.history);this.startEvent&&y&&y(g,P),T&&T(g,P)},!ks(t))return;this.dragSnapToOrigin=i,this.handlers=a,this.transformPagePoint=n,this.distanceThreshold=s,this.contextWindow=o||window;const l=ln(t),d=Tn(l,this.transformPagePoint),{point:u}=d,{timestamp:p}=Pe;this.history=[{...u,timestamp:p}];const{onSessionStart:m}=a;m&&m(t,Go(d,this.history));const k={passive:!0,capture:!0};this.removeListeners=on(za(this.contextWindow,"pointermove",this.handlePointerMove,k),za(this.contextWindow,"pointerup",this.handlePointerUp,k),za(this.contextWindow,"pointercancel",this.handlePointerUp,k)),r&&this.startScrollTracking(r)}startScrollTracking(t){let a=t.parentElement;for(;a;){const n=getComputedStyle(a);(ml.has(n.overflowX)||ml.has(n.overflowY))&&this.scrollPositions.set(a,{x:a.scrollLeft,y:a.scrollTop}),a=a.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){const a=this.scrollPositions.get(t);if(!a)return;const n=t===window,o=n?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},i={x:o.x-a.x,y:o.y-a.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(t,o),re.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Mt(this.updatePoint)}}function Tn(e,t){return t?{point:t(e.point)}:e}function hl(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Go({point:e},t){return{point:e,delta:hl(e,vu(t)),offset:hl(e,Dy(t)),velocity:xy(t,.1)}}function Dy(e){return e[0]}function vu(e){return e[e.length-1]}function xy(e,t){if(e.length<2)return{x:0,y:0};let a=e.length-1,n=null;const o=vu(e);for(;a>=0&&(n=e[a],!(o.timestamp-n.timestamp>Ve(t)));)a--;if(!n)return{x:0,y:0};n===e[0]&&e.length>2&&o.timestamp-n.timestamp>Ve(t)*2&&(n=e[1]);const i=Ye(o.timestamp-n.timestamp);if(i===0)return{x:0,y:0};const s={x:(o.x-n.x)/i,y:(o.y-n.y)/i};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function Ry(e,{min:t,max:a},n){return t!==void 0&&e<t?e=n?se(t,e,n.min):Math.max(e,t):a!==void 0&&e>a&&(e=n?se(a,e,n.max):Math.min(e,a)),e}function gl(e,t,a){return{min:t!==void 0?e.min+t:void 0,max:a!==void 0?e.max+a-(e.max-e.min):void 0}}function Iy(e,{top:t,left:a,bottom:n,right:o}){return{x:gl(e.x,a,o),y:gl(e.y,t,n)}}function fl(e,t){let a=t.min-e.min,n=t.max-e.max;return t.max-t.min<e.max-e.min&&([a,n]=[n,a]),{min:a,max:n}}function _y(e,t){return{x:fl(e.x,t.x),y:fl(e.y,t.y)}}function Ly(e,t){let a=.5;const n=Ee(e),o=Ee(t);return o>n?a=Ya(t.min,t.max-n,e.min):n>o&&(a=Ya(e.min,e.max-o,t.min)),gt(0,1,a)}function Ey(e,t){const a={};return t.min!==void 0&&(a.min=t.min-e.min),t.max!==void 0&&(a.max=t.max-e.min),a}const Ii=.35;function Fy(e=Ii){return e===!1?e=0:e===!0&&(e=Ii),{x:bl(e,"left","right"),y:bl(e,"top","bottom")}}function bl(e,t,a){return{min:kl(e,t),max:kl(e,a)}}function kl(e,t){return typeof e=="number"?e:e[t]||0}const Oy=new WeakMap;class By{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Te(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:a=!1,distanceThreshold:n}={}){const{presenceContext:o}=this.visualElement;if(o&&o.isPresent===!1)return;const i=p=>{a&&this.snapToCursor(ln(p).point),this.stopAnimation()},s=(p,m)=>{const{drag:k,dragPropagation:g,onDragStart:b}=this.getProps();if(k&&!g&&(this.openDragLock&&this.openDragLock(),this.openDragLock=cb(k),!this.openDragLock))return;this.latestPointerEvent=p,this.latestPanInfo=m,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ut(T=>{let S=this.getAxisMotionValue(T).get()||0;if(ht.test(S)){const{projection:P}=this.visualElement;if(P&&P.layout){const w=P.layout.layoutBox[T];w&&(S=Ee(w)*(parseFloat(S)/100))}}this.originPoint[T]=S}),b&&re.update(()=>b(p,m),!1,!0),Si(this.visualElement,"transform");const{animationState:y}=this.visualElement;y&&y.setActive("whileDrag",!0)},r=(p,m)=>{this.latestPointerEvent=p,this.latestPanInfo=m;const{dragPropagation:k,dragDirectionLock:g,onDirectionLock:b,onDrag:y}=this.getProps();if(!k&&!this.openDragLock)return;const{offset:T}=m;if(g&&this.currentDirection===null){this.currentDirection=Hy(T),this.currentDirection!==null&&b&&b(this.currentDirection);return}this.updateAxis("x",m.point,T),this.updateAxis("y",m.point,T),this.visualElement.render(),y&&re.update(()=>y(p,m),!1,!0)},l=(p,m)=>{this.latestPointerEvent=p,this.latestPanInfo=m,this.stop(p,m),this.latestPointerEvent=null,this.latestPanInfo=null},d=()=>{const{dragSnapToOrigin:p}=this.getProps();(p||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:u}=this.getProps();this.panSession=new yu(t,{onSessionStart:i,onStart:s,onMove:r,onSessionEnd:l,resumeAnimation:d},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:n,contextWindow:ku(this.visualElement),element:this.visualElement.current})}stop(t,a){const n=t||this.latestPointerEvent,o=a||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!o||!n)return;const{velocity:s}=o;this.startAnimation(s);const{onDragEnd:r}=this.getProps();r&&re.postRender(()=>r(n,o))}cancel(){this.isDragging=!1;const{projection:t,animationState:a}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),a&&a.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,a,n){const{drag:o}=this.getProps();if(!n||!Sn(t,o,this.currentDirection))return;const i=this.getAxisMotionValue(t);let s=this.originPoint[t]+n[t];this.constraints&&this.constraints[t]&&(s=Ry(s,this.constraints[t],this.elastic[t])),i.set(s)}resolveConstraints(){var i;const{dragConstraints:t,dragElastic:a}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(i=this.visualElement.projection)==null?void 0:i.layout,o=this.constraints;t&&na(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&n?this.constraints=Iy(n.layoutBox,t):this.constraints=!1,this.elastic=Fy(a),o!==this.constraints&&!na(t)&&n&&this.constraints&&!this.hasMutatedConstraints&&ut(s=>{this.constraints!==!1&&this.getAxisMotionValue(s)&&(this.constraints[s]=Ey(n.layoutBox[s],this.constraints[s]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:a}=this.getProps();if(!t||!na(t))return!1;const n=t.current,{projection:o}=this.visualElement;if(!o||!o.layout)return!1;o.root&&(o.root.scroll=void 0,o.root.updateScroll());const i=Nb(n,o.root,this.visualElement.getTransformPagePoint());let s=_y(o.layout.layoutBox,i);if(a){const r=a(Fb(s));this.hasMutatedConstraints=!!r,r&&(s=jc(r))}return s}startAnimation(t){const{drag:a,dragMomentum:n,dragElastic:o,dragTransition:i,dragSnapToOrigin:s,onDragTransitionEnd:r}=this.getProps(),l=this.constraints||{},d=ut(u=>{if(!Sn(u,a,this.currentDirection))return;let p=l&&l[u]||{};(s===!0||s===u)&&(p={min:0,max:0});const m=o?200:1e6,k=o?40:1e7,g={type:"inertia",velocity:n?t[u]:0,bounceStiffness:m,bounceDamping:k,timeConstant:750,restDelta:1,restSpeed:10,...i,...p};return this.startAxisValueAnimation(u,g)});return Promise.all(d).then(r)}startAxisValueAnimation(t,a){const n=this.getAxisMotionValue(t);return Si(this.visualElement,t),n.start(ms(t,n,0,a,this.visualElement,!1))}stopAnimation(){ut(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const a=`_drag${t.toUpperCase()}`,o=this.visualElement.getProps()[a];return o||this.visualElement.getValue(t,this.visualElement.latestValues[t]??0)}snapToCursor(t){ut(a=>{const{drag:n}=this.getProps();if(!Sn(a,n,this.currentDirection))return;const{projection:o}=this.visualElement,i=this.getAxisMotionValue(a);if(o&&o.layout){const{min:s,max:r}=o.layout.layoutBox[a],l=i.get()||0;i.set(t[a]-se(s,r,.5)+l)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:a}=this.getProps(),{projection:n}=this.visualElement;if(!na(a)||!n||!this.constraints)return;this.stopAnimation();const o={x:0,y:0};ut(s=>{const r=this.getAxisMotionValue(s);if(r&&this.constraints!==!1){const l=r.get();o[s]=Ly({min:l,max:l},this.constraints[s])}});const{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},""):"none",n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),ut(s=>{if(!Sn(s,t,null))return;const r=this.getAxisMotionValue(s),{min:l,max:d}=this.constraints[s];r.set(se(l,d,o[s]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;Oy.set(this.visualElement,this);const t=this.visualElement.current,a=za(t,"pointerdown",d=>{const{drag:u,dragListener:p=!0}=this.getProps(),m=d.target,k=m!==t&&fb(m);u&&p&&!k&&this.start(d)});let n;const o=()=>{const{dragConstraints:d}=this.getProps();na(d)&&d.current&&(this.constraints=this.resolveRefConstraints(),n||(n=Ny(t,d.current,()=>this.scalePositionWithinConstraints())))},{projection:i}=this.visualElement,s=i.addEventListener("measure",o);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),re.read(o);const r=en(window,"resize",()=>this.scalePositionWithinConstraints()),l=i.addEventListener("didUpdate",(({delta:d,hasLayoutChanged:u})=>{this.isDragging&&u&&(ut(p=>{const m=this.getAxisMotionValue(p);m&&(this.originPoint[p]+=d[p].translate,m.set(m.get()+d[p].translate))}),this.visualElement.render())}));return()=>{r(),a(),s(),l&&l(),n&&n()}}getProps(){const t=this.visualElement.getProps(),{drag:a=!1,dragDirectionLock:n=!1,dragPropagation:o=!1,dragConstraints:i=!1,dragElastic:s=Ii,dragMomentum:r=!0}=t;return{...t,drag:a,dragDirectionLock:n,dragPropagation:o,dragConstraints:i,dragElastic:s,dragMomentum:r}}}function yl(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function Ny(e,t,a){const n=Ar(e,yl(a)),o=Ar(t,yl(a));return()=>{n(),o()}}function Sn(e,t,a){return(t===!0||t===e)&&(a===null||a===e)}function Hy(e,t=10){let a=null;return Math.abs(e.y)>t?a="y":Math.abs(e.x)>t&&(a="x"),a}class Uy extends xt{constructor(t){super(t),this.removeGroupControls=Xe,this.removeListeners=Xe,this.controls=new By(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Xe}update(){const{dragControls:t}=this.node.getProps(),{dragControls:a}=this.node.prevProps||{};t!==a&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const Vo=e=>(t,a)=>{e&&re.update(()=>e(t,a),!1,!0)};class qy extends xt{constructor(){super(...arguments),this.removePointerDownListener=Xe}onPointerDown(t){this.session=new yu(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:ku(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:a,onPan:n,onPanEnd:o}=this.node.getProps();return{onSessionStart:Vo(t),onStart:Vo(a),onMove:Vo(n),onEnd:(i,s)=>{delete this.session,o&&re.postRender(()=>o(i,s))}}}mount(){this.removePointerDownListener=za(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let Wo=!1;class jy extends h.Component{componentDidMount(){const{visualElement:t,layoutGroup:a,switchLayoutGroup:n,layoutId:o}=this.props,{projection:i}=t;i&&(a.group&&a.group.add(i),n&&n.register&&o&&n.register(i),Wo&&i.root.didUpdate(),i.addEventListener("animationComplete",()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),Kn.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:a,visualElement:n,drag:o,isPresent:i}=this.props,{projection:s}=n;return s&&(s.isPresent=i,t.layoutDependency!==a&&s.setOptions({...s.options,layoutDependency:a}),Wo=!0,o||t.layoutDependency!==a||a===void 0||t.isPresent!==i?s.willUpdate():this.safeToRemove(),t.isPresent!==i&&(i?s.promote():s.relegate()||re.postRender(()=>{const r=s.getStack();(!r||!r.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:t,layoutAnchor:a}=this.props,{projection:n}=t;n&&(n.options.layoutAnchor=a,n.root.didUpdate(),bs.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:a,switchLayoutGroup:n}=this.props,{projection:o}=t;Wo=!0,o&&(o.scheduleCheckAfterUnmount(),a&&a.group&&a.group.remove(o),n&&n.deregister&&n.deregister(o))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function Tu(e){const[t,a]=du(),n=h.useContext(Xi);return c.jsx(jy,{...e,layoutGroup:n,switchLayoutGroup:h.useContext(fu),isPresent:t,safeToRemove:a})}const Gy={pan:{Feature:qy},drag:{Feature:Uy,ProjectionNode:lu,MeasureLayout:Tu}};function vl(e,t,a){const{props:n}=e;e.animationState&&n.whileHover&&e.animationState.setActive("whileHover",a==="Start");const o="onHover"+a,i=n[o];i&&re.postRender(()=>i(t,ln(t)))}class Vy extends xt{mount(){const{current:t}=this.node;t&&(this.unmount=pb(t,(a,n)=>(vl(this.node,n,"Start"),o=>vl(this.node,o,"End"))))}unmount(){}}class Wy extends xt{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=on(en(this.node.current,"focus",()=>this.onFocus()),en(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Tl(e,t,a){const{props:n}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&n.whileTap&&e.animationState.setActive("whileTap",a==="Start");const o="onTap"+(a==="End"?"":a),i=n[o];i&&re.postRender(()=>i(t,ln(t)))}class zy extends xt{mount(){const{current:t}=this.node;if(!t)return;const{globalTapTarget:a,propagate:n}=this.node.props;this.unmount=kb(t,(o,i)=>(Tl(this.node,i,"Start"),(s,{success:r})=>Tl(this.node,s,r?"End":"Cancel")),{useGlobalTarget:a,stopPropagation:(n==null?void 0:n.tap)===!1})}unmount(){}}const _i=new WeakMap,zo=new WeakMap,Ky=e=>{const t=_i.get(e.target);t&&t(e)},$y=e=>{e.forEach(Ky)};function Qy({root:e,...t}){const a=e||document;zo.has(a)||zo.set(a,{});const n=zo.get(a),o=JSON.stringify(t);return n[o]||(n[o]=new IntersectionObserver($y,{root:e,...t})),n[o]}function Jy(e,t,a){const n=Qy(t);return _i.set(e,a),n.observe(e),()=>{_i.delete(e),n.unobserve(e)}}const Yy={some:0,all:1};class Xy extends xt{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var l;(l=this.stopObserver)==null||l.call(this);const{viewport:t={}}=this.node.getProps(),{root:a,margin:n,amount:o="some",once:i}=t,s={root:a?a.current:void 0,rootMargin:n,threshold:typeof o=="number"?o:Yy[o]},r=d=>{const{isIntersecting:u}=d;if(this.isInView===u||(this.isInView=u,i&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:p,onViewportLeave:m}=this.node.getProps(),k=u?p:m;k&&k(d)};this.stopObserver=Jy(this.node.current,s,r)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:a}=this.node;["amount","margin","root"].some(Zy(t,a))&&this.startObserver()}unmount(){var t;(t=this.stopObserver)==null||t.call(this),this.hasEnteredView=!1,this.isInView=!1}}function Zy({viewport:e={}},{viewport:t={}}={}){return a=>e[a]!==t[a]}const ev={inView:{Feature:Xy},tap:{Feature:zy},focus:{Feature:Wy},hover:{Feature:Vy}},tv={layout:{ProjectionNode:lu,MeasureLayout:Tu}},av={...Py,...ev,...Gy,...tv},nv=vy(av,Ty);function ov(){!Ss.current&&Hc();const[e]=h.useState(ao.current);return e}const Sl=nv;function dn(){const{message:e,modal:t,notification:a}=Pd.useApp();return{message:e,modal:t,notification:a}}const Cl=e=>{let t;const a=new Set,n=(d,u)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const m=t;t=u??(typeof p!="object"||p===null)?p:Object.assign({},t,p),a.forEach(k=>k(t,m))}},o=()=>t,r={setState:n,getState:o,getInitialState:()=>l,subscribe:d=>(a.add(d),()=>
10a.delete(d))},l=t=e(n,o,r);return r},iv=(e=>e?Cl(e):Cl),sv=e=>e;function rv(e,t=sv){const a=Ne.useSyncExternalStore(e.subscribe,Ne.useCallback(()=>t(e.getState()),[e,t]),Ne.useCallback(()=>t(e.getInitialState()),[e,t]));return Ne.useDebugValue(a),a}const wl=e=>{const t=iv(e),a=n=>rv(t,n);return Object.assign(a,t),a},ft=(e=>e?wl(e):wl);function lv(e,t){let a;try{a=e()}catch{return}return{getItem:o=>{var i;const s=l=>l===null?null:JSON.parse(l,void 0),r=(i=a.getItem(o))!=null?i:null;return r instanceof Promise?r.then(s):s(r)},setItem:(o,i)=>a.setItem(o,JSON.stringify(i,void 0)),removeItem:o=>a.removeItem(o)}}const Li=e=>t=>{try{const a=e(t);return a instanceof Promise?a:{then(n){return Li(n)(a)},catch(n){return this}}}catch(a){return{then(n){return this},catch(n){return Li(n)(a)}}}},dv=(e,t)=>(a,n,o)=>{let i={storage:lv(()=>window.localStorage),partialize:y=>y,version:0,merge:(y,T)=>({...T,...y}),...t},s=!1,r=0;const l=new Set,d=new Set;let u=i.storage;if(!u)return e((...y)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),a(...y)},n,o);const p=()=>{const y=i.partialize({...n()});return u.setItem(i.name,{state:y,version:i.version})},m=o.setState;o.setState=(y,T)=>(m(y,T),p());const k=e((...y)=>(a(...y),p()),n,o);o.getInitialState=()=>k;let g;const b=()=>{var y,T;if(!u)return;const S=++r;s=!1,l.forEach(w=>{var C;return w((C=n())!=null?C:k)});const P=((T=i.onRehydrateStorage)==null?void 0:T.call(i,(y=n())!=null?y:k))||void 0;return Li(u.getItem.bind(u))(i.name).then(w=>{if(w)if(typeof w.version=="number"&&w.version!==i.version){if(i.migrate){const C=i.migrate(w.state,w.version);return C instanceof Promise?C.then(x=>[!0,x]):[!0,C]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,w.state];return[!1,void 0]}).then(w=>{var C;if(S!==r)return;const[x,I]=w;if(g=i.merge(I,(C=n())!=null?C:k),a(g,!0),x)return p()}).then(()=>{S===r&&(P==null||P(n(),void 0),g=n(),s=!0,d.forEach(w=>w(g)))}).catch(w=>{S===r&&(P==null||P(void 0,w))})};return o.persist={setOptions:y=>{i={...i,...y},y.storage&&(u=y.storage)},clearStorage:()=>{++r,u==null||u.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>b(),hasHydrated:()=>s,onHydrate:y=>(l.add(y),()=>{l.delete(y)}),onFinishHydration:y=>(d.add(y),()=>{d.delete(y)})},i.skipHydration||b(),g||k},Su=dv,Ds="qwenpaw_auth_token";function ee(e){const a="/api",n=e.startsWith("/")?e:`/${e}`;return`${a}${n}`}function Sa(){const e=localStorage.getItem(Ds);return e||""}function $O(e){localStorage.setItem(Ds,e)}function tn(){localStorage.removeItem(Ds)}function xe(){var a;const e={},t=Sa();t&&(e.Authorization=`Bearer ${t}`);try{const n=sessionStorage.getItem("qwenpaw-agent-storage")||localStorage.getItem("qwenpaw-agent-storage");if(n){const o=JSON.parse(n),i=(a=o==null?void 0:o.state)==null?void 0:a.selectedAgent;i&&(e["X-Agent-Id"]=i)}}catch(n){console.warn("Failed to get selected agent from storage:",n)}return e}const cv="/console",Ei="osPawAppId";function Cu(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function uv(e){return e.split(/[?#]/,1)[0]||"/"}function wo(e){return/^\/console(?:\/|$)/.test(e)?cv:void 0}function xs(e){const t=wo(e);return t?e.slice(t.length)||"/":e||"/"}function wu(e){const t=xs(uv(e));return t==="/os"||t.startsWith("/os/")}function pv(e){return xs(e)==="/login"}function mv(e){return`${xs(e.pathname)}${e.search??""}${e.hash??""}`}function Pu(e){return`/login?redirect=${encodeURIComponent(mv(e))}`}function Au(e){return`${wo(e.pathname)??""}${Pu(e)}`}function Rs(e,t){return`${wo(e)??""}${t}`}function QO(e,t){return wu(t)?Mu(e):null}function Mu(e){return Rs(e,"/os")}function JO(e){const t=Cu(e)[Ei];return typeof t=="string"&&t?t:void 0}function YO(e,t){const a={...Cu(e)};return t?a[Ei]=t:delete a[Ei],a}function XO(e){return Rs(e,"/chat")}function hv(e,t){if(!e)return null;if(!t.includes("application/json"))return e;try{const a=JSON.parse(e);if(typeof a.detail=="string"&&a.detail)return a.detail;if(typeof a.message=="string"&&a.message)return a.message;if(typeof a.error=="string"&&a.error)return a.error}catch{return e}return e}
10function gv(e,t){const a=t instanceof Headers?t:new Headers(t);["POST","PUT","PATCH"].includes(e.toUpperCase())&&(a.has("Content-Type")||a.set("Content-Type","application/json"));for(const[n,o]of Object.entries(xe()))a.has(n)||a.set(n,o);return a}const fv=3e4,bv=0,kv=1e3;async function v(e,t={}){const a=ee(e),n=t.method||"GET",o=gv(n,t.headers),{timeout:i=fv,retries:s=bv,retryDelay:r=kv,signal:l,...d}=t;if(l!=null&&l.aborted)throw new DOMException("The operation was aborted","AbortError");let u=null;for(let p=0;p<=s;p++){const m=new AbortController;let k=!1;const g=setTimeout(()=>{k=!0,m.abort()},i);let b;l&&(l.aborted?m.abort():(b=()=>m.abort(),l.addEventListener("abort",b,{once:!0})));try{const y=await fetch(a,{...d,headers:o,signal:m.signal});if(!y.ok){if(y.status===401)throw tn(),pv(window.location.pathname)||(window.location.href=Au(window.location)),new Error("Not authenticated");const S=await y.text().catch(()=>""),P=y.headers.get("content-type")||"",w=hv(S,P),C=w?`${w} - ${S}`:`Request failed: ${y.status} ${y.statusText}`;throw new Error(C)}return y.status===204?void 0:(y.headers.get("content-type")||"").includes("application/json")?await y.json():await y.text()}catch(y){if(y instanceof DOMException&&y.name==="AbortError"&&!k)throw y;if(y instanceof DOMException&&y.name==="AbortError"){if(u=new Error(`Request timeout after ${i}ms: ${n} ${e}`),p<s){await new Promise(T=>setTimeout(T,r));continue}}else throw y}finally{clearTimeout(g),b&&l&&l.removeEventListener("abort",b)}}throw u}const Fi={listAgents:()=>v("/agents"),getAgent:e=>v(`/agents/${e}`),createAgent:e=>v("/agents",{method:"POST",body:JSON.stringify(e)}),copyAgent:(e,t)=>v(`/agents/${e}/copy`,{method:"POST",body:JSON.stringify(t)}),updateAgent:(e,t)=>v(`/agents/${e}`,{method:"PUT",body:JSON.stringify(t)}),updateModelSettings:(e,t)=>v(`/agents/${e}/model-settings`,{method:"PATCH",body:JSON.stringify(t)}),updateBackendSettings:(e,t)=>v(`/agents/${e}/backend-settings`,{method:"PATCH",body:JSON.stringify(t)}),rebuildMemoryIndex:(e,t="all")=>v(`/agents/${e}/memory/reindex?scope=${t}`,{method:"POST",timeout:600*1e3}),undoEmbeddingReindex:e=>v(`/agents/${e}/memory/reindex/undo`,{method:"POST"}),getMemoryStatus:(e,t)=>{const a=`/agents/${e}/memory/status`;return t?v(a,{signal:t}):v(a)},getMemoryRuntimeStatus:(e,t)=>{const a=`/agents/${e}/memory/runtime-status`;return t?v(a,{signal:t}):v(a)},getMemoryGraph:e=>v(`/agents/${e}/memory/graph`),deleteAgent:e=>v(`/agents/${e}`,{method:"DELETE"}),reorderAgents:e=>v("/agents/order",{method:"PUT",body:JSON.stringify({agent_ids:e})}),toggleAgentEnabled:(e,t)=>v(`/agents/${e}/toggle`,{method:"PATCH",body:JSON.stringify({enabled:t})}),setAgentPinned:(e,t)=>v(`/agents/${e}/pin`,{method:"PATCH",body:JSON.stringify({pinned:t})})},yv=500;function vv(e){return e.targetId??e.field??""}class Tv{constructor(t=yv){V(this,"buf",[]);V(this,"cap");this.cap=t}record(t){this.buf.push(t),this.buf.length>this.cap&&this.buf.splice(0,this.buf.length-this.cap);const a=vv(t);t.kind==="menu.conflict"||t.kind==="route.conflict"||t.kind==="slot.error"||t.kind==="chat.error"?console.warn(`[QwenPaw audit] ${t.kind} ${a} by ${t.pluginId}`+(t.detail?`: ${t.detail}`:"")):console.info(`[QwenPaw audit] ${t.kind} ${a} by ${t.pluginId}`+(t.supersededPluginId?` (superseded ${t.supersededPluginId})`:""))}overrides(){return this.buf.slice()}clear(){this.buf=[]}}const ke=new Tv,Oi=new Set;function Ce(){for(const e of Oi)try{e()}catch(t){console.warn("[QwenPaw registry] subscriber threw:",t)}}function cn(e){return Oi.add(e),()=>Oi.delete(e)}let Pl=0;const Ka=()=>(Pl+=1,`r${Pl}`);function ro(e,t){let a=!1;for(const[n,o]of e){const i=o.filter(s=>s.source!==t);i.length!==o.length&&(a=!0,i.length>0?e.set(n,i):e.delete(n))}return a}class Sv{constructor(){V(this,"stacks",new Map);V(this,"snapshots",new Map);V(this,"allSnapshot",[])}addBuiltin(t){for(const a of t)this.addInternal("core",a,!1,!0);this.invalidate(),Ce()}add(t,a){return this.addInternal(t,a,!1,!1)}replace(t,a,n){const o=this.stacks.get(a);return!o||o.length===0?(ke.record({kind:"menu.conflict",targetId:a,pluginId:t,detail
10:"replace target not found; falling back to add",timestamp:Date.now()}),this.addInternal(t,{...n,id:a},!1,!1)):this.addInternal(t,{...n,id:a},!0,!1)}remove(t){this.stacks.delete(t)&&(this.invalidate(),Ce())}removeBySource(t){ro(this.stacks,t)&&(this.invalidate(),Ce())}refresh(){this.invalidate(),Ce()}snapshot(t){if(!t)return this.allSnapshot;const a=this.snapshots.get(t);if(a)return a;const n=this.buildSnapshot(t);return this.snapshots.set(t,n),n}__resetForTests(){this.stacks.clear(),this.invalidate()}addInternal(t,a,n,o){const i=this.stacks.get(a.id);if(i&&i.length>0&&!n)return ke.record({kind:"menu.conflict",targetId:a.id,pluginId:t,supersededPluginId:i[i.length-1].source,detail:"duplicate id; call replace() to override",timestamp:Date.now()}),{dispose:()=>{}};const s={source:t,item:a,registrationId:Ka(),registeredAt:Date.now()},r=i??[],l=r[r.length-1];r.push(s),this.stacks.set(a.id,r),o||(ke.record({kind:n?"menu.replace":"menu.add",targetId:a.id,pluginId:t,supersededPluginId:l==null?void 0:l.source,timestamp:s.registeredAt}),this.invalidate(),Ce());let d=!1;return{dispose:()=>{if(d)return;d=!0;const u=this.stacks.get(a.id);if(!u)return;const p=u.findIndex(m=>m.registrationId===s.registrationId);p<0||(u.splice(p,1),u.length===0&&this.stacks.delete(a.id),ke.record({kind:"menu.dispose",targetId:a.id,pluginId:t,timestamp:Date.now()}),this.invalidate(),Ce())}}}invalidate(){this.snapshots.clear(),this.allSnapshot=this.collectWinners()}collectWinners(){const t=[];for(const a of this.stacks.values()){const n=a[a.length-1];n&&t.push(n.item)}return t}buildSnapshot(t){const o=this.allSnapshot.filter(i=>(i.location??"primary.settings")===t).filter(i=>{var s;return((s=i.visible)==null?void 0:s.call(i))!==!1});return Cv(o)}}function Cv(e){const t=wv(e),a=new Map(t.map(i=>[i.id,i])),n=new Map,o=[];for(const i of t)if(i.parentId&&a.has(i.parentId)){const s=n.get(i.parentId)??[];s.push(i),n.set(i.parentId,s)}else o.push(i);return o.map(i=>{const s=n.get(i.id);return s?Object.assign({},i,{__children:s}):i})}function wv(e){const t=new Map(e.map(s=>[s.id,s])),a=new Map,n=new Map;for(const s of e)a.set(s.id,new Set),n.set(s.id,0);for(const s of e)s.before&&t.has(s.before)&&(a.get(s.id).add(s.before),n.set(s.before,(n.get(s.before)??0)+1)),s.after&&t.has(s.after)&&(a.get(s.after).add(s.id),n.set(s.id,(n.get(s.id)??0)+1));const o=e.filter(s=>(n.get(s.id)??0)===0);o.sort(Ko);const i=[];for(;o.length>0;){const s=o.shift();i.push(s);for(const r of a.get(s.id)??[]){const l=(n.get(r)??0)-1;if(n.set(r,l),l===0){const d=t.get(r);d&&(o.push(d),o.sort(Ko))}}}if(i.length<e.length){const s=e.filter(r=>!i.includes(r)).sort(Ko);i.push(...s)}return i}function Ko(e,t){return(e.order??1/0)-(t.order??1/0)}const je=new Sv;class Pv{constructor(){V(this,"bases",new Map);V(this,"overrides",new Map);V(this,"wraps",new Map);V(this,"resolvedSnapshot",[])}addBuiltin(t){for(const a of t)this.addInternal("core",a,!0);this.invalidate(),Ce()}add(t,a){return this.addInternal(t,a,!1)}replace(t,a,n){const o=this.overrides.get(a)??[],i={source:t,component:n,registrationId:Ka()},s=o[o.length-1];o.push(i),this.overrides.set(a,o),ke.record({kind:"route.replace",targetId:a,pluginId:t,supersededPluginId:s==null?void 0:s.source,timestamp:Date.now()}),this.invalidate(),Ce();let r=!1;return{dispose:()=>{if(r)return;r=!0;const l=this.overrides.get(a)??[],d=l.findIndex(u=>u.registrationId===i.registrationId);d<0||(l.splice(d,1),l.length===0&&this.overrides.delete(a),ke.record({kind:"route.dispose",targetId:a,pluginId:t,timestamp:Date.now()}),this.invalidate(),Ce())}}}wrap(t,a,n){const o=this.wraps.get(a)??[],i={source:t,wrapper:n,registrationId:Ka()};o.push(i),this.wraps.set(a,o),ke.record({kind:"route.wrap",targetId:a,pluginId:t,timestamp:Date.now()}),this.invalidate(),Ce();let s=!1;return{dispose:()=>{if(s)return;s=!0;const r=this.wraps.get(a)??[],l=r.findIndex(d=>d.registrationId===i.registrationId);l<0||(r.splice(l,1),r.length===0&&this.wraps.delete(a),ke.record({kind:"route.dispose",targetId:a,pluginId:t,timestamp:Date.now()}),this.invalidate(),Ce())}}}remove(t){(this.bases.delete(t)||this.overrides.delete(t)||this.wraps.delete(t))&&(this.invalidate(),Ce())}removeBySource(t){let a=!1;for(const[n,o]of this.bases)o.source===t&&(this.bases.delete(n),a=!0);a=ro(this.overrides,t)||a,a=ro(this.wraps,t)||a,a&&(this.invalidate(),Ce())}
10snapshot(){return this.resolvedSnapshot}__resetForTests(){this.bases.clear(),this.overrides.clear(),this.wraps.clear(),this.invalidate()}addInternal(t,a,n){if(this.bases.has(a.id))return ke.record({kind:"route.conflict",targetId:a.id,pluginId:t,detail:"duplicate route id; ignored",timestamp:Date.now()}),{dispose:()=>{}};for(const s of this.bases.values())if(s.route.path===a.path)return ke.record({kind:"route.conflict",targetId:a.id,pluginId:t,detail:`path ${a.path} already registered by ${s.source} (${s.route.id})`,timestamp:Date.now()}),{dispose:()=>{}};const o={source:t,route:a,registrationId:Ka()};this.bases.set(a.id,o),n||(ke.record({kind:"route.add",targetId:a.id,pluginId:t,timestamp:Date.now()}),this.invalidate(),Ce());let i=!1;return{dispose:()=>{if(i)return;i=!0;const s=this.bases.get(a.id);!s||s.registrationId!==o.registrationId||(this.bases.delete(a.id),ke.record({kind:"route.dispose",targetId:a.id,pluginId:t,timestamp:Date.now()}),this.invalidate(),Ce())}}}invalidate(){this.resolvedSnapshot=this.resolveAll()}resolveAll(){const t=[];for(const a of this.bases.values()){const n=this.overrides.get(a.route.id),o=n==null?void 0:n[n.length-1],i=(o==null?void 0:o.component)??a.route.component,r=(this.wraps.get(a.route.id)??[]).reduce((l,d)=>d.wrapper(l),i);t.push({id:a.route.id,path:a.route.path,source:(o==null?void 0:o.source)??a.source,Component:r})}return t}}const ot=new Pv;class Av{constructor(){V(this,"slots",new Map);V(this,"snapshots",new Map)}fill(t,a,n,o={}){return this.addInternal(t,a,"fill",n,o)}replace(t,a,n,o={}){return this.addInternal(t,a,"replace",n,o)}snapshot(t){const a=this.snapshots.get(t);if(a)return a;const n=this.buildSnapshot(t);return this.snapshots.set(t,n),n}removeBySource(t){ro(this.slots,t)&&(this.snapshots.clear(),Ce())}snapshotAll(){const t=[];for(const[a,n]of this.slots)for(const o of n)t.push({name:a,kind:o.kind,source:o.source,id:o.opts.id,order:o.opts.order});return t}__resetForTests(){this.slots.clear(),this.snapshots.clear()}addInternal(t,a,n,o,i){const s={source:t,kind:n,render:o,opts:i,registrationId:Ka(),registeredAt:Date.now()},r=this.slots.get(a)??[],l=r.find(u=>u.kind==="replace");r.push(s),this.slots.set(a,r),ke.record({kind:n==="replace"?"slot.replace":"slot.fill",targetId:a,pluginId:t,supersededPluginId:n==="replace"?l==null?void 0:l.source:void 0,detail:i.id,timestamp:s.registeredAt}),this.snapshots.delete(a),Ce();let d=!1;return{dispose:()=>{if(d)return;d=!0;const u=this.slots.get(a)??[],p=u.findIndex(m=>m.registrationId===s.registrationId);p<0||(u.splice(p,1),u.length===0&&this.slots.delete(a),this.snapshots.delete(a),ke.record({kind:"slot.dispose",targetId:a,pluginId:t,timestamp:Date.now()}),Ce())}}}buildSnapshot(t){const a=(this.slots.get(t)??[]).filter(o=>{var i,s;return((s=(i=o.opts).visible)==null?void 0:s.call(i))!==!1}),n=a.filter(o=>o.kind==="replace");return n.length>0?[n[n.length-1]]:Mv(a)}}function Mv(e){const t=new Map;for(const d of e)d.opts.id&&t.set(d.opts.id,d);const a=new Map,n=new Map,o=d=>d.registrationId;for(const d of e)a.set(o(d),new Set),n.set(o(d),0);for(const d of e){if(d.opts.before&&t.has(d.opts.before)){const u=o(t.get(d.opts.before));a.get(o(d)).add(u),n.set(u,(n.get(u)??0)+1)}if(d.opts.after&&t.has(d.opts.after)){const u=o(t.get(d.opts.after));a.get(u).add(o(d)),n.set(o(d),(n.get(o(d))??0)+1)}}const i=(d,u)=>{const p=(d.opts.order??1/0)-(u.opts.order??1/0);return p!==0?p:d.registeredAt-u.registeredAt},s=e.filter(d=>(n.get(o(d))??0)===0);s.sort(i);const r=[],l=new Map(e.map(d=>[o(d),d]));for(;s.length>0;){const d=s.shift();r.push(d);for(const u of a.get(o(d))??[]){const p=(n.get(u)??0)-1;if(n.set(u,p),p===0){const m=l.get(u);m&&(s.push(m),s.sort(i))}}}if(r.length<e.length){const d=e.filter(u=>!r.includes(u)).sort(i);
10r.push(...d)}return r}const $a=new Av,Bi="qwenpaw-agent-storage",Du="qwenpaw-last-used-agent",Dv=e=>/^\d+-[a-z0-9]+$/.test(e);let xa=null;function xv(){var e,t;try{const a=sessionStorage.getItem(Bi);if(a){const n=JSON.parse(a),o=(e=n==null?void 0:n.state)==null?void 0:e.selectedAgent;if(o)return o}}catch{}try{const a=localStorage.getItem(Du);if(a)return a}catch{}try{const a=localStorage.getItem(Bi);if(a){const n=JSON.parse(a),o=(t=n==null?void 0:n.state)==null?void 0:t.selectedAgent;if(o)return o}}catch{}return"default"}const We=ft()(Su((e,t)=>({selectedAgent:xv(),agents:[],lastChatIdByAgent:{},setSelectedAgent:a=>{e({selectedAgent:a}),je.refresh();try{localStorage.setItem(Du,a)}catch{}},setAgents:a=>e({agents:a}),refreshAgents:async()=>{if(xa!==null)return xa;xa=Fi.listAgents().then(a=>{e({agents:a.agents})});try{await xa}finally{xa=null}},addAgent:a=>e(n=>({agents:[...n.agents,a]})),removeAgent:a=>{const n=t().selectedAgent===a;e(o=>{const i={...o.lastChatIdByAgent};return delete i[a],{agents:o.agents.filter(s=>s.id!==a),lastChatIdByAgent:i,...o.selectedAgent===a?{selectedAgent:"default"}:{}}}),n&&je.refresh()},updateAgent:(a,n)=>e(o=>({agents:o.agents.map(i=>i.id===a?{...i,...n}:i)})),setLastChatId:(a,n)=>{if(Dv(n)){e(o=>{const i={...o.lastChatIdByAgent};return delete i[a],{lastChatIdByAgent:i}});return}e(o=>
10({lastChatIdByAgent:{...o.lastChatIdByAgent,[a]:n}}))},removeLastChatId:a=>e(n=>{const o={...n.lastChatIdByAgent};return delete o[a],{lastChatIdByAgent:o}}),getLastChatId:a=>t().lastChatIdByAgent[a]}),{name:Bi,storage:{getItem:e=>{try{const t=sessionStorage.getItem(e);if(t)return JSON.parse(t)}catch{}try{const t=localStorage.getItem(e);return t?JSON.parse(t):null}catch(t){return console.error(`Failed to parse agent storage "${e}":`,t),localStorage.removeItem(e),null}},setItem:(e,t)=>{try{sessionStorage.setItem(e,JSON.stringify(t))}catch{}try{localStorage.setItem(e,JSON.stringify(t))}catch(a){console.error(`Failed to save agent storage "${e}":`,a)}},removeItem:e=>{sessionStorage.removeItem(e),localStorage.removeItem(e)}}})),Rv="default",Iv="Default Agent";function ea(e,t){return e.id===Rv?e.name&&e.name!==Iv?e.name:t("agent.defaultDisplayName"):e.name||e.id}const _v="index-module__indicator__n5fAL",Lv="index-module__disabled__Qc3sP",Ev="index-module__pending__wxksI",Fv="index-module__starting__S5l2c",Ov="index-module__statusPulse__E1RQw",Bv="index-module__running__IZivY",Nv="index-module__failed__1hxDo",Al={indicator:_v,disabled:Lv,pending:Ev,starting:Fv,statusPulse:Ov,running:Bv,failed:Nv};function Cn({status:e,enabled:t=!0}){const{t:a}=ve(),n=e??(t?"pending":"disabled"),o=a(`agent.status.${n}`);return c.jsx(mt,{title:o,children:c.jsx("span",{className:`${Al.indicator} ${Al[n]}`,role:"status","aria-label":o,"data-status":n})})}const Hv=500,Uv=8,qv=520;function jv(e){const t=h.useRef(null),a=h.useRef(null),n=h.useRef(null),o=h.useRef(null),[i,s]=h.useState(null),[r,l]=h.useState(null),d=h.useCallback(()=>{t.current!==null&&(window.clearTimeout(t.current),t.current=null),n.current=null,s(null)},[]);h.useEffect(()=>()=>{d(),a.current!==null&&window.clearTimeout(a.current)},[d]);const u=h.useCallback(k=>{l(k),a.current!==null&&window.clearTimeout(a.current),a.current=window.setTimeout(()=>{l(null),a.current=null},qv)},[]),p=h.useCallback(k=>{k.id!=="default"&&(o.current=k.id,d(),u(k.id),e(k))},[d,e,u]);return{getLongPressProps:h.useCallback(k=>({tabIndex:0,onPointerDown:g=>{k.id==="default"||g.button!==0||g.target.closest("button")||(d(),n.current={agentId:k.id,pointerId:g.pointerId,x:g.clientX,y:g.clientY},s(k.id),t.current=window.setTimeout(()=>{p(k)},Hv))},onPointerMove:g=>{const b=n.current;if(!b||b.pointerId!==g.pointerId)return;Math.hypot(g.clientX-b.x,g.clientY-b.y)>Uv&&d()},onPointerUp:d,onPointerCancel:d,onPointerLeave:g=>{g.pointerType==="mouse"&&d()},onClickCapture:g=>{o.current===k.id&&(g.preventDefault(),g.stopPropagation(),o.current=null)}}),[d,p]),pressingId:i,feedbackId:r}}function Ml(e){return e.available_in_chat!==!1}const Gv="index-module__agentSelectorWrapper__Ewc3u",Vv="index-module__agentSelectorCollapsed__5BakG",Wv="index-module__collapsedStatusIndicator__4PNAh",zv="index-module__agentSelectorLabel__5TIgq",Kv="index-module__agentCountBadge__GMb72",$v="index-module__managementLink__yzRJL",Qv="index-module__agentSelector__Ss6Rd",Jv="index-module__selectedAgentLabel__6DCdY",Yv="index-module__dropdownHeader__AXVhc",Xv="index-module__dropdownHeaderTitle__xpQuA",Zv="index-module__agentSelectorDropdown__Cf59k",eT="index-module__dropdownContent__GqxBB",tT="index-module__enabledAgentList__EgJ0i",aT="index-module__agentOption__YoWkf",nT="index-module__agentOptionDisabled__E--bi",oT="index-module__agentOptionPressing__WO08m",iT="index-module__agentOptionPinFeedback__t00AF",sT="index-module__agentOptionHeader__j-sBo",rT="index-module__agentStatusColumn__XXsBi",lT="index-module__agentToggleButton__bbKae",dT="index-module__toggleSpinner__PAP43",cT="index-module__disabledAgentSection__-zIaq",uT="index-module__disabledAgentHeader__jMzyp",pT="index-module__disabledChevronExpanded__bzUz1",mT="index-module__disabledAgentList__MbbA5",hT="index-module__disabledAgentRow__rB8nQ",gT="index-module__agentOptionIcon__Y6gW1",fT="index-module__agentOptionContent__V45D4",bT="index-module__agentOptionName__acd7G",kT="index-module__agentOptionNameText__BXVGx",yT="index-module__pinnedIndicator__rFMjH",vT="index-module__activeIndicator__MuVJm",TT="index-module__agentOptionDescription__dOqFl",ST="index-module__agentOptionId__pSSVI",$={agentSelectorWrapper:Gv,agentSelectorCollapsed:Vv,collapsedStatusIndicator:Wv,agentSelectorLabel:zv,agentCountBadge:Kv,managementLink:$v,agentSelector:Qv,selectedAgentLabel:Jv,dropdownHeader:Yv,dropdownHeaderTitle:Xv,agentSelectorDropdown:Zv,dropdownContent:eT,enabledAgentList:tT,agentOption:aT,agentOptionDisabled:nT,agentOptionPressing:oT,agentOptionPinFeedback:iT,agentOptionHeader:sT,agentStatusColumn:rT,agentToggleButton:lT,toggleSpinner:dT,disabledAgentSection:cT,disabledAgentHeader:uT,disabledChevronExpanded:pT,disabledAgentList:mT,disabledAgentRow:hT,agentOptionIcon:gT,agentOptionContent:fT,agentOptionName:bT,agentOptionNameText:kT,pinnedIndicator:yT,activeIndicator:vT,agentOptionDescription:TT,agentOptionId:ST};function Dl({collapsed:e=!1}){const{t}=ve(),a=Cd(),{selectedAgent:n,agents:o,setSelectedAgent:i,setAgents:s,refreshAgents:r}=We(),{message:l}=dn(),d=h.useRef(l),u=h.useRef(t);d.current=l,u.current=t;
10const[p,m]=h.useState(!1),[k,g]=h.useState(!1),[b,y]=h.useState(!1),[T,S]=h.useState(null),[P,w]=h.useState(null),C=h.useCallback(async(M=!0,O=!0)=>{try{M&&m(!0),await r()}catch(q){console.error("Failed to load agents:",q),O&&d.current.error(u.current("agent.loadFailed"))}finally{M&&m(!1)}},[r]);h.useEffect(()=>{C()},[C]);const x=h.useMemo(()=>o.filter(Ml),[o]),I=h.useMemo(()=>x.filter(M=>M.enabled),[x]),R=h.useMemo(()=>x.filter(M=>M.id==="default"||M.pinned),[x]),_=h.useMemo(()=>x.filter(M=>M.enabled&&M.id!=="default"&&!M.pinned),[x]),A=h.useMemo(()=>x.filter(M=>!M.enabled&&M.id!=="default"&&!M.pinned),[x]),L=M=>{const O=x.find(q=>q.id===M);O!=null&&O.enabled&&(i(M),l.success(t("agent.switchSuccess")))};h.useEffect(()=>{if(!o.length||n==="default")return;const M=o.find(O=>O.id===n);M?Ml(M)?M.enabled||(i("default"),l.warning(t("agent.currentAgentDisabled"))):i("default"):(i("default"),l.warning(t("agent.currentAgentDeleted")))},[o,l,n,i,t]);const j=M=>{M.preventDefault(),M.stopPropagation()},U=async(M,O,q)=>{if(j(q),T===null){S(M.id),O&&s(o.map(K=>K.id===M.id?{...K,enabled:!0,startup_status:"starting"}:K));try{await Fi.toggleAgentEnabled(M.id,O),!O&&n===M.id&&(i("default"),l.info(t("agent.switchedToDefault"))),l.success(t(O?"agent.enableSuccess":"agent.disableSuccess"))}catch(K){l.error(K instanceof Error?K.message:t("agent.toggleFailed"))}finally{await C(!1,!1),S(null)}}},z=h.useCallback(async M=>{if(M.id==="default"||P!==null)return;const O=!M.pinned;w(M.id),s(o.map(q=>q.id===M.id?{...q,pinned:O}:q));try{await Fi.setAgentPinned(M.id,O),l.success(t(O?"agent.pinSuccess":"agent.unpinSuccess"))}catch(q){l.error(q instanceof Error?q.message:t("agent.pinFailed"))}finally{await C(!1,!1),w(null)}},[o,C,l,P,s,t]),{getLongPressProps:W,pressingId:Q,feedbackId:he}=jv(M=>{z(M)}),D=x.find(M=>M.id===n);if(e)return c.jsx(mt,{title:D?ea(D,t):n,placement:"right",overlayInnerStyle:{background:"rgba(0,0,0,0.75)",color:"#fff"},children:c.jsxs("div",{className:$.agentSelectorCollapsed,children:[c.jsx(Ut,{size:18,strokeWidth:2}),D&&c.jsx("span",{className:$.collapsedStatusIndicator,children:c.jsx(Cn,{status:D.startup_status,enabled:D.enabled})})]})});const N=(M,O)=>{const q=T===M.id,K=M.startup_status==="pending"||M.startup_status==="starting",pe=T!==null||!O&&K,ge=O?t("agent.enableAgent",{name:ea(M,t)}):t("agent.disableAgent",{name:ea(M,t)});return c.jsx(mt,{title:!O&&K?t("agent.status.waitUntilStarted"):ge,children:c.jsx("button",{type:"button",className:$.agentToggleButton,disabled:pe,"aria-label":ge,onMouseDown:j,onClick:te=>{U(M,O,te)},children:q?c.jsx(dm,{size:15,className:$.toggleSpinner,"aria-hidden":"true"}):O?c.jsx(cm,{size:15,"aria-hidden":"true"}):c.jsx(um,{size:15,"aria-hidden":"true"})})})},H=(M,O)=>c.jsxs("div",{className:[$.agentOption,O?$.agentOptionDisabled:"",Q===M.id?$.agentOptionPressing:"",he===M.id?$.agentOptionPinFeedback:""].filter(Boolean).join(" "),title:M.id==="default"?t("agent.defaultPinned"):M.pinned?t("agent.longPressToUnpin"):t("agent.longPressToPin"),...W(M),children:[c.jsxs("div",{className:$.agentOptionHeader,children:[c.jsx("div",{className:$.agentStatusColumn,children:c.jsx(Cn,{status:M.startup_status,enabled:M.enabled})}),c.jsx("div",{className:$.agentOptionIcon,children:c.jsx(Ut,{size:16,strokeWidth:2})}),c.jsxs("div",{className:$.agentOptionContent,children:[c.jsxs("div",{className:$.agentOptionName,children:[c.jsx("span",{className:$.agentOptionNameText,children:ea(M,t)}),(M.id==="default"||M.pinned)&&c.jsx(Qa,{size:12,strokeWidth:2.2,className:$.pinnedIndicator,"aria-label":t("agent.pinned")}),M.id===n&&c.jsx(lm,{size:14,strokeWidth:2,className:$.activeIndicator})]}),M.description&&c.jsx("div",{className:$.agentOptionDescription,children:M.description})]}),M.id!=="default"&&N(M,!M.enabled)]}),c.jsx("div",{className:$.agentOptionId,children:`ID: ${M.id}`})]});return c.jsxs("div",{className:$.agentSelectorWrapper,children:[c.jsx("div",{className:$.agentSelectorLabel,children:c.jsxs("span",{children:[t("agent.currentWorkspace"),I.length>0&&c.jsx("span",{className:$.agentCountBadge,children:` (${I.length})`})]})}),c.jsxs(Nt,{value:n,onChange:L,loading:p,className:$.agentSelector,placeholder:t("agent.selectAgent"),optionLabelProp:"label",popupClassName:$.agentSelectorDropdown,onOpenChange:g,suffixIcon:k?c.jsx(sm,{size:20}):c.jsx(rm,{size:20}),popupRender:M=>c.jsxs("div",{className:$.dropdownContent,children:[c.jsxs("div",{className:$.dropdownHeader,children:[c.jsx("span",{className:$.dropdownHeaderTitle,children:t("agent.currentWorkspace")}),c.jsxs("button",{type:"button",className:$.managementLink,onMouseDown:j,onClick:O=>{j(O),a("/agents")},children:[t("agent.management"),c.jsx(im,{size:12,strokeWidth:2.5})]})]}),c.jsx("div",{className:$.enabledAgentList,children:M}),A.length>0&&c.jsxs("div",{className:$.disabledAgentSection,children:[c.jsxs("button",{type:"button",className:$.disabledAgentHeader,"aria-expanded":b,"aria-controls":"disabled-agent-list",onMouseDown:j,onClick:O=>{j(O),y(q=>!q)},children:[c.jsx("span",{children:t("agent.disabledAgents",{count:A.length})}),c.jsx(bo,{size:15,className:b?$.disabledChevronExpanded:""})]}),b&&c.jsx("div",{id:"disabled-agent-list",className:$.disabledAgentList,children:A.map(O=>c.jsx("div",{className:$.disabledAgentRow,children:H(O,!0)},O.id))})]})]}),children:[c.jsx(Nt.OptGroup,{label:t("agent.pinnedAgents"),children:R.map(M=>c.jsx(Nt.Option,{value:M.id,disabled:!M.enabled,label:c.jsxs("div",{className:$.selectedAgentLabel,children:[c.jsx(Cn,{status:M.startup_status,enabled:M.enabled}),c.jsx(Ut,{size:14,strokeWidth:2}),c.jsx("span",{children:ea(M,t)})]}),children:H(M,!M.enabled)},M.id))}),_.length>0&&c.jsx(Nt.OptGroup,{label:t("agent.otherAgents"),children:_.map(M=>c.jsx(Nt.Option,{value:M.id,label:c.jsxs("div",{className:$.selectedAgentLabel,children:[c.jsx(Cn,{status:M.startup_status,enabled:M.enabled}),c.jsx(Ut,{size:14,strokeWidth:2}),c.jsx("span",{children:ea(M,t)})]}),children:H(M,!1)},M.id))})]})]})}var xl=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function CT(e,t){return!!(e===t||xl(e)&&xl(t))}function wT(e,t){if(e.length!==t.length)return!1;for(var a=0;a<e.length;a++)if(!CT(e[a],t[a]))return!1;return!0}function $o(e,t){t===void 0&&(t=wT);var a,n=[],o,i=!1;function s(){for(var r=[],l=0;l<arguments.length;l++)r[l]=arguments[l];return i&&a===this&&t(r,n)||(o=e.apply(this,r),i=!0,a=this,n=r),o}return s}var PT=typeof performance=="object"&&typeof performance.now=="function",Rl=PT?function(){return performance.now()}:function(){return Date.now()};function Il(e){cancelAnimationFrame(e.id)}function AT(e,t){var a=Rl();function n(){Rl()-a>=t?e.call(null):o.id=requestAnimationFrame(n)}var o={id:requestAnimationFrame(n)};return o}var Qo=-1;function _l(e){if(e===void 0&&(e=!1),Qo===-1||e){var t=document.createElement("div"),a=t.style;a.width="50px",a.height="50px",a.overflow="scroll",document.body.appendChild(t),Qo=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return Qo}var ta=null;function Ll(e){if(e===void 0&&(e=!1),ta===null||e){var t=document.createElement("div"),a=t.style;a.width="50px",a.height="50px",a.overflow="scroll",a.direction="rtl";var n=document.createElement("div"),o=n.style;return o.width="100px",o.height="100px",t.appendChild(n),document.body.appendChild(t),t.scrollLeft>0?ta="positive-descending":(t.scrollLeft=1,t.scrollLeft===0?ta="negative":ta="positive-ascending"),document.body.removeChild(t),ta}return ta}var MT=150,DT=function(t,a){return t};function xu(e){var t,a=e.getItemOffset,n=e.getEstimatedTotalSize,o=e.getItemSize,i=e.getOffsetForIndexAndAlignment,s=e.getStartIndexForOffset,r=e.getStopIndexForStartIndex,l=e.initInstanceProps,d=e.shouldResetStyleCacheOnItemSizeChange,u=e.validateProps;return t=(function(p){pm(m,p);function m(g){var b;return b=p.call(this,g)||this,b._instanceProps=l(b.props,zs(b)),b._outerRef=void 0,b._resetIsScrollingTimeoutId=null,b.state={instance:zs(b),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof b.props.initialScrollOffset=="number"?b.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},b._callOnItemsRendered=void 0,b._callOnItemsRendered=$o(function(y,T,S,P){return b.props.onItemsRendered({overscanStartIndex:y,overscanStopIndex:T,visibleStartIndex:S,visibleStopIndex:P})}),b._callOnScroll=void 0,b._callOnScroll=$o(function(y,T,S){return b.props.onScroll({scrollDirection:y,scrollOffset:T,scrollUpdateWasRequested:S})}),b._getItemStyle=void 0,b._getItemStyle=function(y){var T=b.props,S=T.direction,P=T.itemSize,w=T.layout,C=b._getItemStyleCache(d&&P,d&&w,d&&S),x;if(C.hasOwnProperty(y))x=C[y];else{var I=a(b.props,y,b._instanceProps),R=o(b.props,y,b._instanceProps),_=S==="horizontal"||w==="horizontal",A=S==="rtl",L=_?I:0;C[y]=x={position:"absolute",left:A?void 0:L,right:A?L:void 0,top:_?0:I,height:_?"100%":R,width:_?R:"100%"}}return x},b._getItemStyleCache=void 0,b._getItemStyleCache=$o(function(y,T,S){return{}}),b._onScrollHorizontal=function(y){var T=y.currentTarget,S=T.clientWidth,P=T.scrollLeft,w=T.scrollWidth;b.setState(function(C){if(C.scrollOffset===P)return null;var x=b.props.direction,I=P;if(x==="rtl")switch(Ll()){case"negative":I=-P;break;case"positive-descending":I=w-S-P;break}return I=Math.max(0,Math.min(I,w-S)),{isScrolling:!0,scrollDirection:C.scrollOffset<I?"forward":"backward",scrollOffset:I,scrollUpdateWasRequested:!1}},b._resetIsScrollingDebounced)},b._onScrollVertical=function(y){var T=y.currentTarget,S=T.clientHeight,P=T.scrollHeight,w=T.scrollTop;b.setState(function(C){if(C.scrollOffset===w)return null;var x=Math.max(0,Math.min(w,P-S));return{isScrolling:!0,scrollDirection:C.scrollOffset<x?"forward":"backward",scrollOffset:x,scrollUpdateWasRequested:!1}},b._resetIsScrollingDebounced)},b._outerRefSetter=function(y){var T=b.props.outerRef;b._outerRef=y,typeof T=="function"?T(y):T!=null&&typeof T=="object"&&T.hasOwnProperty("current")&&(T.current=y)},b._resetIsScrollingDebounced=function(){b._resetIsScrollingTimeoutId!==null&&Il(b._resetIsScrollingTimeoutId),b._resetIsScrollingTimeoutId=AT(b._resetIsScrolling,MT)},b._resetIsScrolling=function(){b._resetIsScrollingTimeoutId=null,b.setState({isScrolling:!1},function(){b._getItemStyleCache(-1,null)})},b}m.getDerivedStateFromProps=function(b,y){return xT(b,y),u(b),null};var k=m.prototype;return k.scrollTo=function(b){b=Math.max(0,b),this.setState(function(y){return y.scrollOffset===b?null:{scrollDirection:y.scrollOffset<b?"forward":"backward",scrollOffset:b,scrollUpdateWasRequested:!0}},this._resetIsScrollingDebounced)},k.scrollToItem=function(b,y){y===void 0&&(y="auto");var T=this.props,S=T.itemCount,P=T.layout,w=this.state.scrollOffset;b=Math.max(0,Math.min(b,S-1));var C=0;if(this._outerRef){var x=this._outerRef;P==="vertical"?C=x.scrollWidth>x.clientWidth?_l():0:C=x.scrollHeight>x.clientHeight?_l():0}this.scrollTo(i(this.props,b,y,w,this._instanceProps,C))},k.componentDidMount=function(){var b=this.props,y=b.direction,T=b.initialScrollOffset,S=b.layout;if(typeof T=="number"&&this._outerRef!=null){var P=this._outerRef;y==="horizontal"||S==="horizontal"?P.scrollLeft=T:P.scrollTop=T}this._callPropsCallbacks()},k.componentDidUpdate=function(){var b=this.props,y=b.direction,T=b.layout,S=this.state,P=S.scrollOffset,w=S.scrollUpdateWasRequested;if(w&&this._outerRef!=null){var C=this._outerRef;if(y==="horizontal"||T==="horizontal")if(y==="rtl")switch(Ll()){case"negative":C.scrollLeft=-P;break;case"positive-ascending":C.scrollLeft=P;break;default:var x=C.clientWidth,I=C.scrollWidth;C.scrollLeft=I-x-P;break}else C.scrollLeft=P;else C.scrollTop=P}this._callPropsCallbacks()},k.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&Il(this._resetIsScrollingTimeoutId)},k.render=function(){var b=this.props,y=b.children,T=b.className,S=b.direction,P=b.height,w=b.innerRef,C=b.innerElementType,x=b.innerTagName,I=b.itemCount,R=b.itemData,_=b.itemKey,A=_===void 0?DT:_,L=b.layout,j=b.outerElementType,U=b.outerTagName,z=b.style,W=b.useIsScrolling,Q=b.width,he=this.state.isScrolling,D=S==="horizontal"||L==="horizontal",N=D?this._onScrollHorizontal:this._onScrollVertical,H=this._getRangeToRender(),M=
10H[0],O=H[1],q=[];if(I>0)for(var K=M;K<=O;K++)q.push(h.createElement(y,{data:R,key:A(K,R),index:K,isScrolling:W?he:void 0,style:this._getItemStyle(K)}));var pe=n(this.props,this._instanceProps);return h.createElement(j||U||"div",{className:T,onScroll:N,ref:this._outerRefSetter,style:mm({position:"relative",height:P,width:Q,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:S},z)},h.createElement(C||x||"div",{children:q,ref:w,style:{height:D?"100%":pe,pointerEvents:he?"none":void 0,width:D?pe:"100%"}}))},k._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"){var b=this.props.itemCount;if(b>0){var y=this._getRangeToRender(),T=y[0],S=y[1],P=y[2],w=y[3];this._callOnItemsRendered(T,S,P,w)}}if(typeof this.props.onScroll=="function"){var C=this.state,x=C.scrollDirection,I=C.scrollOffset,R=C.scrollUpdateWasRequested;this._callOnScroll(x,I,R)}},k._getRangeToRender=function(){var b=this.props,y=b.itemCount,T=b.overscanCount,S=this.state,P=S.isScrolling,w=S.scrollDirection,C=S.scrollOffset;if(y===0)return[0,0,0,0];var x=s(this.props,C,this._instanceProps),I=r(this.props,x,C,this._instanceProps),R=!P||w==="backward"?Math.max(1,T):1,_=!P||w==="forward"?Math.max(1,T):1;return[Math.max(0,x-R),Math.max(0,Math.min(y-1,I+_)),x,I]},m})(h.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}var xT=function(t,a){t.children,t.direction,t.height,t.layout,t.innerTagName,t.outerTagName,t.width,a.instance},RT=50,la=function(t,a,n){var o=t,i=o.itemSize,s=n.itemMetadataMap,r=n.lastMeasuredIndex;if(a>r){var l=0;if(r>=0){var d=s[r];l=d.offset+d.size}for(var u=r+1;u<=a;u++){var p=i(u);s[u]={offset:l,size:p},l+=p}n.lastMeasuredIndex=a}return s[a]},IT=function(t,a,n){var o=a.itemMetadataMap,i=a.lastMeasuredIndex,s=i>0?o[i].offset:0;return s>=n?Ru(t,a,i,0,n):_T(t,a,Math.max(0,i),n)},Ru=function(t,a,n,o,i){for(;o<=n;){var s=o+Math.floor((n-o)/2),r=la(t,s,a).offset;if(r===i)return s;r<i?o=s+1:r>i&&(n=s-1)}return o>0?o-1:0},_T=function(t,a,n,o){for(var i=t.itemCount,s=1;n<i&&la(t,n,a).offset<o;)n+=s,s*=2;return Ru(t,a,Math.min(n,i-1),Math.floor(n/2),o)},El=function(t,a){var n=t.itemCount,o=a.itemMetadataMap,i=a.estimatedItemSize,s=a.lastMeasuredIndex,r=0;if(s>=n&&(s=n-1),s>=0){var l=o[s];r=l.offset+l.size}var d=n-s-1,u=d*i;return r+u},LT=xu({getItemOffset:function(t,a,n){return la(t,a,n).offset},getItemSize:function(t,a,n){return n.itemMetadataMap[a].size},getEstimatedTotalSize:El,getOffsetForIndexAndAlignment:function(t,a,n,o,i,s){var r=t.direction,l=t.height,d=t.layout,u=t.width,p=r==="horizontal"||d==="horizontal",m=p?u:l,k=la(t,a,i),g=El(t,i),b=Math.max(0,Math.min(g-m,k.offset)),y=Math.max(0,k.offset-m+k.size+s);switch(n==="smart"&&(o>=y-m&&o<=b+m?n="auto":n="center"),n){case"start":return b;case"end":return y;case"center":return Math.round(y+(b-y)/2);case"auto":default:return o>=y&&o<=b?o:o<y?y:b}},getStartIndexForOffset:function(t,a,n){return IT(t,n,a)},getStopIndexForStartIndex:function(t,a,n,o){for(var i=t.direction,s=t.height,r=t.itemCount,l=t.layout,d=t.width,u=i==="horizontal"||l==="horizontal",p=u?d:s,m=la(t,a,o),k=n+p,g=m.offset+m.size,b=a;b<r-1&&g<k;)b++,g+=la(t,b,o).size;return b},initInstanceProps:function(t,a){var n=t,o=n.estimatedItemSize,i={itemMetadataMap:{},estimatedItemSize:o||RT,lastMeasuredIndex:-1};return a.resetAfterIndex=function(s,r){r===void 0&&(r=!0),i.lastMeasuredIndex=Math.min(i.lastMeasuredIndex,s-1),a._getItemStyleCache(-1),r&&a.forceUpdate()},i},shouldResetStyleCacheOnItemSizeChange:!1,validateProps:function(t){t.itemSize}}),ZO=xu({getItemOffset:function(t,a){var n=t.itemSize;return a*n},getItemSize:function(t,a){var n=t.itemSize;return n},getEstimatedTotalSize:function(t){var a=t.itemCount,n=t.itemSize;return n*a},getOffsetForIndexAndAlignment:function(t,a,n,o,i,s){var r=t.direction,l=t.height,d=t.itemCount,u=t.itemSize,p=t.layout,m=t.width,k=r==="horizontal"||p==="horizontal",g=k?m:l,b=Math.max(0,d*u-g),y=Math.min(b,a*u),T=Math.max(0,a*u-g+u+s);switch(n==="smart"&&(o>=T-g&&o<=y+g?n="auto":n="center"),n){case"start":return y;case"end":return T;case"center":{var S=Math.round(T+(y-T)/2);return S<Math.ceil(g/2)?0:S>b+Math.floor(g/2)?b:S}case"auto":default:return o>=T&&o<=y?o:o<T?T:y}},getStartIndexForOffset:function(t,a){var n=t.itemCount,o=t.itemSize;return Math.max(0,Math.min(n-1,Math.floor(a/o)))},getStopIndexForStartIndex:function(t,a,n){var o=t.direction,i=t.height,s=t.itemCount,r=t.itemSize,l=t.layout,d=t.width,u=o==="horizontal"||l==="horizontal",p=a*r,m=u?d:i,k=Math.ceil((m+n-p)/r);return Math.max(0,Math.min(s-1,a+k-1))},initInstanceProps:function(t){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(t){t.itemSize}});const Iu={dingtalk:"https://gw.alicdn.com/imgextra/i4/O1CN01g1u9vB1KdEreWzDdv_!!6000000001186-2-tps-400-400.png",voice:"https://gw.alicdn.com/imgextra/i1/O1CN016SJ9AO1SpA6L3j0KH_!!6000000002295-2-tps-400-400.png",sip:"https://gw.alicdn.com/imgextra/i1/O1CN016SJ9AO1SpA6L3j0KH_!!6000000002295-2-tps-400-400.png",qq:"https://gw.alicdn.com/imgextra/i3/O1CN014wGNgd27PsTzAyrcj_!!6000000007790-2-tps-400-400.png",feishu:"https://gw.alicdn.com/imgextra/i4/O1CN01jsn08m225euyUoaFN_!!6000000007069-2-tps-400-400.png",xiaoyi:"https://gw.alicdn.com/imgextra/i1/O1CN01EPS9Z81OKh
10IEcwpCd_!!6000000001687-2-tps-476-476.png",telegram:"https://gw.alicdn.com/imgextra/i2/O1CN0100jIva25Dqqq1VqJN_!!6000000007493-2-tps-400-400.png",slack:"https://gw.alicdn.com/imgextra/i2/O1CN01JcOK7v1GqHhRjG0fy_!!6000000000673-2-tps-512-512.png",mqtt:"https://gw.alicdn.com/imgextra/i2/O1CN0117Adu3282o9G5ZNCd_!!6000000007875-2-tps-400-400.png",imessage:"https://gw.alicdn.com/imgextra/i1/O1CN016pwG4m1uEntwJKsGl_!!6000000006006-2-tps-400-400.png",discord:"https://gw.alicdn.com/imgextra/i4/O1CN01BQFnBu21PWTtKbPmU_!!6000000006977-2-tps-400-400.png",mattermost:"https://gw.alicdn.com/imgextra/i2/O1CN01A2bvSh1eVig4fDBEF_!!6000000003877-2-tps-400-400.png",matrix:"https://gw.alicdn.com/imgextra/i2/O1CN01Q8i1P826mUQG4dCAs_!!6000000007704-2-tps-400-400.png",console:"https://gw.alicdn.com/imgextra/i3/O1CN01L3azqd1XIi7O2jumZ_!!6000000002901-2-tps-400-400.png",wecom:"https://gw.alicdn.com/imgextra/i1/O1CN01HWtzmr1hkK9beQICJ_!!6000000004315-2-tps-400-400.png",wechat:"https://gw.alicdn.com/imgextra/i4/O1CN01GsAob11fkfDWVIb3R_!!6000000004045-2-tps-400-400.png",onebot:"https://gw.alicdn.com/imgextra/i3/O1CN01xqM0EN1oKrRiAFX3K_!!6000000005207-2-tps-400-400.png",yuanbao:"https://img.alicdn.com/imgextra/i4/O1CN0164yBmJ1a2AftSglge_!!6000000003271-2-tps-225-225.png"},_u="https://gw.alicdn.com/imgextra/i3/O1CN01xqM0EN1oKrRiAFX3K_!!6000000005207-2-tps-400-400.png";function Lu(e){return Iu[e]??_u}const Fl={console:"#FF7F16",onebot:"#6ECB63",dingtalk:"#3370FF",feishu:"#3370FF",qq:"#12B7F5",telegram:"#2AABEE",slack:"#4A154B",discord:"#5865F2",wecom:"#07C160",wechat:"#07C160",mqtt:"#660066",mattermost:"#0058CC",matrix:"#0DBD8B",imessage:"#34C759",voice:"#F44336",xiaoyi:"#CF1322",yuanbao:"#1677FF"},Ol=["#FF6B6B","#4ECDC4","#45B7D1","#96CEB4","#FFEAA7","#DDA0DD","#98D8C8","#F7DC6F","#BB8FCE","#85C1E9","#F0B27A","#82E0AA"];function Eu(e){if(Fl[e])return Fl[e];let t=0;for(let a=0;a<e.length;a++)t=(t<<5)-t+e.charCodeAt(a)|0;return Ol[Math.abs(t)%Ol.length]}function Fu(e){return e.charAt(0).toUpperCase()}const ET=Object.freeze(Object.defineProperty({__proto__:null,CHANNEL_DEFAULT_ICON_URL:_u,CHANNEL_ICON_URLS:Iu,getChannelIconUrl:Lu,getChannelLetter:Fu,getChannelLetterColor:Eu},Symbol.toStringTag,{value:"Module"}));function FT(e){return!!e&&/^https?:\/\//i.test(e.trim())}const ba=({channelKey:e,size:t=32,iconUrl:a})=>{const n=FT(a)?a.trim():Lu(e),[o,i]=h.useState(!1),s=t*.25;if(n&&!o)return c.jsx("img",{src:n,alt:e,width:t,height:t,style:{borderRadius:s,objectFit:"cover",flexShrink:0},onError:()=>i(!0)});const r=Eu(e),l=Fu(e),d=t*.45;return c.jsx("div",{style:{width:t,height:t,borderRadius:s,backgroundColor:r,display:"flex",alignItems:"center",justifyContent:"center",color:"#fff",fontSize:d,fontWeight:600,fontFamily:"Inter, sans-serif",userSelect:"none",flexShrink:0},title:e,children:l})},OT=Object.freeze(Object.defineProperty({__proto__:null,ChannelIcon:ba},Symbol.toStringTag,{value:"Module"})),Ou={imessage:"iMessage",discord:"Discord",dingtalk:"DingTalk",feishu:"Feishu",qq:"QQ",telegram:"Telegram",slack:"Slack",mqtt:"MQTT",mattermost:"Mattermost",matrix:"Matrix",console:"Console",voice:"Twilio",sip:"SIP",wecom:"WeCom",xiaoyi:"XiaoYi",wechat:"WeChat",onebot:"OneBot",yuanbao:"Yuanbao"};function BT(e){return e.split(/[_-]/).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Pt(e,t){const a=Ou[e]??BT(e);return t?t(`channels.channelNames.${e}`,{defaultValue:a}):a}const NT=new Set(["localhost"]),HT=/^127(\.\d{1,3}){3}$/,UT=/^(?:0*:)+0*1$/;function qT(e){const t=(e??"").trim().replace(/^\[|\]$/g,"").toLowerCase().replace(/\.$/,"");return t?NT.has(t)||HT.test(t)?!0:UT.test(t):!1}const jT=Object.freeze(Object.defineProperty({__proto__:null,CHANNEL_LABELS:Ou,getChannelLabel:Pt,isLoopbackHost:qT},Symbol.toStringTag,{value:"Module"})),GT="index-module__channelsPage__KERMS",VT="index-module__channelsContainer__BoHET",WT="index-module__pageHeader__huiqN",zT="index-module__filterTabs__lX95I",KT="index-module__filterTab__SwLOb",$T="index-module__filterTabActive__iHpOI",QT="index-module__loading__NCm2R",JT="index-module__loadingText__JovP-",YT="index-module__channelsGrid__i5OVf",XT="index-module__panelSection__Ebs6X",ZT="index-module__panelSectionDashed__11i31",eS="index-module__panelTitle__qs5m4",tS="index-module__panelDotGreen__nAAk6",aS="index-module__panelDotGray__qkFkV",nS="index-module__panelCount__z9eaz",oS="index-module__emptyConfigured__a5exQ",iS="index-module__availableGrid__UBOlC",sS="index-module__availableItem__CoyUX",rS="index-module__availableItemAction__Et-aH",lS="index-module__availableItemName__OJ3-I",dS="index-module__channelCard__a6OxB",cS="index-module__hover__UPifS",uS="index-module__cardTopSection__uQ2Up",pS="index-module__channelIcon__rXEaM",mS="index-module__statusIndicator__HmsOM",hS="index-module__statusText__aFTXL",gS="index-module__enabled__o157g",fS="index-module__disabled__C1DI1",bS="index-module__statusDot__0b9lX",kS="index-module__cardMiddleSection__2gsbi",yS="index-module__cardTitle__pNukR",vS="index-module__builtinTag__PtIKs",TS="index-module__customTag__-bNQF",SS="index-module__cardBottomSection__HHaYT",CS="index-module__cardDescription__-oM4i",wS="index-module__drawerTitle__cfLmt",PS="index-module__dingtalkDocBtn__eFV-V",AS="index-module__formActions__Iz42x",MS="index-module__formTopActions__l9JQy",DS="index-module__normal__SH6vm",xS="index-module__schemaDescription__32goL",ue={channelsPage:GT,channelsContainer:VT,pageHeader:WT,filterTabs:zT,filterTab:KT,filterTabActive:$T,loading:QT,loadingText:JT,channelsGrid:YT,panelSection:XT,panelSectionDashed:ZT,panelTitle:eS,panelDotGreen:tS,panelDotGray:aS,panelCount:nS,emptyConfigured:oS,availableGrid:iS,availableItem:sS,availableItemAction:rS,availableItemName:lS,channelCard:dS,hover:cS,cardTopSection:uS,channelIcon:pS,statusIndicator:mS,statusText:hS,enabled:gS,disabled:fS,statusDot:bS,cardMiddleSection:kS,cardTitle:yS,builtinTag:vS,customTag:TS,cardBottomSection:SS,cardDescription:CS,drawerTitle:wS,dingtalkDocBtn:PS,formActions:AS,formTopActions:MS,normal:DS,schemaDescription:xS}
10,RS=Ne.memo(function({channelKey:t,config:a,onClick:n,iconUrl:o}){const{t:i}=ve(),[s,r]=h.useState(!1),l=!!a.enabled,d=!!a.isBuiltin,u=Pt(t,i),m=(b=>typeof a[b]=="string"?a[b]:"")("bot_prefix"),k=()=>c.jsx(ba,{channelKey:t,size:32,iconUrl:o}),g=()=>s?`${ue.channelCard} ${ue.hover}`:l?`${ue.channelCard} ${ue.enabled}`:`${ue.channelCard} ${ue.normal}`;return c.jsxs(hm,{hoverable:!0,onClick:n,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),className:g(),bodyStyle:{padding:24},children:[c.jsxs("div",{className:ue.cardTopSection,children:[c.jsx("div",{className:ue.channelIcon,children:k()}),c.jsxs("div",{className:ue.statusIndicator,children:[c.jsx("div",{className:`${ue.statusDot} ${l?ue.enabled:ue.disabled}`}),c.jsx("span",{className:`${ue.statusText} ${l?ue.enabled:ue.disabled}`,children:i(l?"common.enabled":"common.disabled")})]})]}),c.jsxs("div",{className:ue.cardMiddleSection,children:[c.jsx("div",{className:ue.cardTitle,children:u}),d?c.jsx("span",{className:ue.builtinTag,children:i("channels.builtin")}):c.jsx("span",{className:ue.customTag,children:i("channels.custom")})]}),c.jsx("div",{className:ue.cardBottomSection,children:c.jsxs("div",{className:ue.cardDescription,children:[i("channels.botPrefix"),": ",m||i("channels.notSet")]})})]})}),IS=Object.freeze(Object.defineProperty({__proto__:null,ChannelCard:RS},Symbol.toStringTag,{value:"Module"})),Bu="qwenpaw-theme",Nu=h.createContext({themeMode:"light",isDark:!1,setThemeMode:()=>{},toggleTheme:()=>{}});function Bl(){try{const e=localStorage.getItem(Bu);if(e==="light"||e==="dark"||e==="system")return e}catch{}return"system"}function Nl(e){var t;return e==="dark"?!0:e==="light"?!1:((t=window.matchMedia)==null?void 0:t.call(window,"(prefers-color-scheme: dark)").matches)??!1}function _S({children:e}){const[t,a]=h.useState(Bl),[n,o]=h.useState(()=>Nl(Bl()));h.useEffect(()=>{const r=document.documentElement;n?r.classList.add("dark-mode"):r.classList.remove("dark-mode")},[n]),h.useEffect(()=>{if(t!=="system")return;const r=window.matchMedia("(prefers-color-scheme: dark)"),l=d=>{o(d.matches)};return r.addEventListener("change",l),()=>r.removeEventListener("change",l)},[t]);const i=h.useCallback(r=>{a(r),o(Nl(r));try{localStorage.setItem(Bu,r)}catch{}},[]),s=h.useCallback(()=>{i(n?"light":"dark")},[n,i]);return c.jsx(Nu.Provider,{value:{themeMode:t,isDark:n,setThemeMode:i,toggleTheme:s},children:e})}function un(){return h.useContext(Nu)}const LS={readRoot:()=>v("/"),getVersion:e=>v("/version",{signal:e})},ES={getACPConfig:()=>v("/config/acp"),getACPNodeRuntime:()=>v("/config/acp/node-runtime"),getACPAgentConfig:e=>v(`/config/acp/${encodeURIComponent(e)}`),updateACPConfig:e=>v("/config/acp",{method:"PUT",body:JSON.stringify(e)}),updateACPNodeRuntime:e=>v("/config/acp/node-runtime",{method:"PUT",body:JSON.stringify(e)}),updateACPAgentConfig:(e,t)=>v(`/config/acp/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})},FS={listChannelTypes:()=>v("/config/channels/types"),listChannels:()=>v("/config/channels"),listChannelSchemas:()=>v("/config/channels/schemas"),updateChannels:e=>v("/config/channels",{method:"PUT",body:JSON.stringify(e)}),getChannelConfig:e=>v(`/config/channels/${encodeURIComponent(e)}`),updateChannelConfig:(e,t)=>v(`/config/channels/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}),checkChannelConflict:(e,t)=>v(`/config/channels/${encodeURIComponent(e)}/conflict-check`,{method:"POST",body:JSON.stringify(t)}),getChannelQrcode:(e,t)=>{const a=t?"?"+new URLSearchParams(t).toString():"";return v(`/config/channels/${encodeURIComponent(e)}/qrcode${a}`)},getChannelQrcodeStatus:(e,t,a)=>{const n=a?"&"+new URLSearchParams(a).toString():"";return v(`/config/channels/${encodeURIComponent(e)}/qrcode/status?token=${encodeURIComponent(t)}${n}`)}},OS={getHeartbeatConfig:()=>v("/config/heartbeat"),updateHeartbeatConfig:e=>v("/config/heartbeat",{method:"PUT",body:JSON.stringify(e)}),runHeartbeatNow:()=>v("/config/heartbeat/run",{method:"POST"})},BS={listCronJobs:()=>v("/cron/jobs"),createCronJob:e=>v("/cron/jobs",{method:"POST",body:JSON.stringify(e)}),getCronJob:e=>v(`/cron/jobs/${encodeURIComponent(e)}`),replaceCronJob:(e,t)=>
10v(`/cron/jobs/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}),deleteCronJob:e=>v(`/cron/jobs/${encodeURIComponent(e)}`,{method:"DELETE"}),pauseCronJob:e=>v(`/cron/jobs/${encodeURIComponent(e)}/pause`,{method:"POST"}),resumeCronJob:e=>v(`/cron/jobs/${encodeURIComponent(e)}/resume`,{method:"POST"}),runCronJob:e=>v(`/cron/jobs/${encodeURIComponent(e)}/run`,{method:"POST"}),triggerCronJob:e=>v(`/cron/jobs/${encodeURIComponent(e)}/run`,{method:"POST"}),getCronJobState:e=>v(`/cron/jobs/${encodeURIComponent(e)}/state`),getCronJobHistory:e=>v(`/cron/jobs/${encodeURIComponent(e)}/history`),listCronDispatchTargets:e=>{const t=new URLSearchParams;e!=null&&e.channel&&t.append("channel",e.channel),e!=null&&e.keyword&&t.append("keyword",e.keyword);const a=t.toString();return v(`/cron/dispatch-targets${a?`?${a}`:""}`)}},NS="/files/preview",_e={uploadFile:async e=>{const t=new FormData;t.append("file",e);const a=await fetch(ee("/console/upload"),{method:"POST",headers:xe(),body:t});if(!a.ok){const n=await a.text().catch(()=>"");throw new Error(`Upload failed: ${a.status} ${a.statusText}${n?` - ${n}`:""}`)}return a.json()},filePreviewUrl:e=>{if(!e)return"";if(e.startsWith("http://")||e.startsWith("https://"))return e;let t=e.replace(/^\/+/,"");const a=`${NS}/${t}`,n=ee(a),o=Sa();return o?`${n}?token=${encodeURIComponent(o)}`:n},listChats:e=>{const t=new URLSearchParams;e!=null&&e.user_id&&t.append("user_id",e.user_id),e!=null&&e.channel&&t.append("channel",e.channel),(e==null?void 0:e.archived)!==void 0&&t.append("archived",String(e.archived)),(e==null?void 0:e.include_app_owned)!==void 0&&t.append("include_app_owned",String(e.include_app_owned));const a=t.toString();return v(`/chats${a?`?${a}`:""}`)},createChat:e=>v("/chats",{method:"POST",body:JSON.stringify(e)}),getChat:(e,t)=>{const a=new URLSearchParams;(t==null?void 0:t.include_app_owned)!==void 0&&a.append("include_app_owned",String(t.include_app_owned));const n=a.toString();return v(`/chats/${encodeURIComponent(e)}${n?`?${n}`:""}`,{signal:t==null?void 0:t.signal})},updateChat:(e,t)=>v(`/chats/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}),deleteChat:e=>v(`/chats/${encodeURIComponent(e)}`,{method:"DELETE"}),batchDeleteChats:e=>v("/chats/batch-delete",{method:"POST",body:JSON.stringify(e)}),archiveChat:e=>v(`/chats/${encodeURIComponent(e)}/archive`,{method:"POST"}),unarchiveChat:e=>v(`/chats/${encodeURIComponent(e)}/unarchive`,{method:"POST"}),batchArchiveChats:e=>v("/chats/actions/batch-archive",{method:"POST",body:JSON.stringify({chat_ids:e})}),batchUnarchiveChats:e=>v("/chats/actions/batch-unarchive",{method:"POST",body:JSON.stringify({chat_ids:e})}),listGroups:()=>v("/chats/groups"),createGroup:e=>v("/chats/groups",{method:"POST",body:JSON.stringify({name:e})}),updateGroup:(e,t)=>v(`/chats/groups/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}),reorderGroups:e=>v("/chats/groups/order",{method:"PUT",body:JSON.stringify({group_ids:e})}),deleteGroup:e=>v(`/chats/groups/${encodeURIComponent(e)}`,{method:"DELETE"}),stopChat:e=>v(`/console/chat/stop?chat_id=${encodeURIComponent(e)}`,{method:"POST"})},HS={listSessions:e=>{const t=new URLSearchParams;e!=null&&e.user_id&&t.append("user_id",e.user_id),e!=null&&e.channel&&t.append("channel",e.channel);const a=t.toString();return v(`/chats${a?`?${a}`:""}`)},getSession:e=>v(`/chats/${encodeURIComponent(e)}`),deleteSession:e=>v(`/chats/${encodeURIComponent(e)}`,{method:"DELETE"}),createSession:e=>v("/chats",{method:"POST",body:JSON.stringify(e)}),updateSession:(e,t)=>v(`/chats/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}),batchDeleteSessions:e=>v("/chats/batch-delete",{method:"POST",body:JSON.stringify(e)})},US={listEnvs:()=>v("/envs"),listEnvCatalog:()=>v("/envs/catalog"),patchEnvs:e=>v("/envs",{method:"PATCH",body:JSON.stringify(e)}),saveEnvs:e=>v("/envs",{method:"PUT",body:JSON.stringify(e)}),deleteEnv:e=>v(`/envs/${encodeURIComponent(e)}`,{method:"DELETE"}),resetEnv:e=>v(`/envs/${encodeURIComponent(e)}/reset`,{method:"POST"})};function qS(e){if(!(e!=null&&e.scope)&&!(e!=null&&e.agent_id))return"/models/active";const t=new URLSearchParams;return e.scope&&t.set("scope",e.scope),e.agent_id&&t.set("agent_id",e.agent_id),`/models/active?${t.toString()}`}let Ra=null;const wn=new Map,jS={listProviders:()=>Ra||(Ra=v("/models").finally(()=>{Ra=null}),Ra),configureProvider:(e,t)=>v(`/models/${encodeURIComponent(e)}/config`,{method:"PUT",body:JSON.stringify(t)}),getActiveModels:e=>{const t=qS(e),a=wn.get(t);if(a)return a;const n=v(t).finally(()=>{wn.delete(t)});return wn.set(t,n),n}
10,setActiveLlm:e=>v("/models/active",{method:"PUT",body:JSON.stringify(e)}).then(t=>(wn.clear(),t)),createCustomProvider:e=>v("/models/custom-providers",{method:"POST",body:JSON.stringify(e)}),deleteCustomProvider:e=>v(`/models/custom-providers/${encodeURIComponent(e)}`,{method:"DELETE"}),addModel:(e,t)=>v(`/models/${encodeURIComponent(e)}/models`,{method:"POST",body:JSON.stringify(t)}),removeModel:(e,t)=>v(`/models/${encodeURIComponent(e)}/models/${encodeURIComponent(t)}`,{method:"DELETE"}),setModelVisibility:(e,t,a)=>v(`/models/${encodeURIComponent(e)}/models/${encodeURIComponent(t)}/visibility`,{method:"PUT",body:JSON.stringify({hidden:a})}),configureModel:(e,t,a)=>v(`/models/${encodeURIComponent(e)}/models/${encodeURIComponent(t)}/config`,{method:"PUT",body:JSON.stringify(a)}),configureLocalModelSettings:e=>v("/local-models/config",{method:"PUT",body:JSON.stringify(e)}),getLocalModelConfig:()=>v("/local-models/config"),testProviderConnection:(e,t)=>v(`/models/${encodeURIComponent(e)}/test`,{method:"POST",body:t?JSON.stringify(t):void 0}),testModelConnection:(e,t)=>v(`/models/${encodeURIComponent(e)}/models/test`,{method:"POST",body:JSON.stringify(t)}),discoverModels:(e,t,a=!0)=>{const n=new URL(`/models/${encodeURIComponent(e)}/discover`,window.location.origin);return n.searchParams.set("save",a.toString()),v(n.pathname+n.search,{method:"POST",body:t?JSON.stringify(t):void 0})},probeMultimodal:(e,t)=>v(`/models/${encodeURIComponent(e)}/models/${encodeURIComponent(t)}/probe-multimodal`,{method:"POST"}),getOpenRouterSeries:()=>v("/models/openrouter/series"),discoverOpenRouterExtended:e=>v("/models/openrouter/discover-extended",{method:"POST",body:e?JSON.stringify(e):void 0}),filterOpenRouterModels:e=>v("/models/openrouter/models/filter",{method:"POST",body:JSON.stringify(e)}),startOAuth:e=>v(`/providers/${encodeURIComponent(e)}/oauth/start`,{method:"POST"}),getOAuthStatus:(e,t)=>v(`/providers/${encodeURIComponent(e)}/oauth/status?state=${encodeURIComponent(t)}`)},GS={listMarketProviders:()=>v("/market/providers"),listMarketCategories:e=>v(`/market/categories?lang=${encodeURIComponent(e)}`),searchMarket:e=>v("/market/search",{method:"POST",body:JSON.stringify(e)})},VS=3e4,yt=new Map;function Pn(e){const t=yt.get(e);return t?Date.now()-t.timestamp>VS?(yt.delete(e),null):t.data:null}function aa(e,t){yt.set(e,{data:t,timestamp:Date.now()})}function eB(e){for(const t of Array.from(yt.keys()))if(t.startsWith("/skills")){if(!e){yt.delete(t);continue}(e.pool&&(t==="/skills/pool"||t.startsWith("/skills/pool/"))||e.workspaces&&t==="/skills/workspaces"||e.agentId&&t===`/skills?agent=${e.agentId}`||e.agentId&&t==="/skills")&&yt.delete(t)}}function WS(){return"/api"}async function Hl(e,t,a){const n=new FormData;n.append("file",t);const o=new URLSearchParams;(a==null?void 0:a.enable)!==void 0&&o.set("enable",String(a.enable)),a!=null&&a.target_name&&o.set("target_name",a.target_name),a!=null&&a.rename_map&&Object.keys(a.rename_map).length&&o.set("rename_map",JSON.stringify(a.rename_map));const i=o.toString(),s=ee(`${e}${i?`?${i}`:""}`),r=xe(),l=await fetch(s,{method:"POST",headers:r,body:n});if(!l.ok){const d=await l.text();throw(l.headers.get("content-type")||"").includes("application/json")?new Error(`${l.status} ${l.statusText} - ${d}`):new Error(d||`Request failed: ${l.status}`)}return await l.json()}const zS={listSkills:async e=>{const t=`/skills${e?`?agent=${e}`:""}`,a=Pn(t);if(a)return a;const n={};e&&(n.headers=new Headers({"X-Agent-Id":e}));const o=await v("/skills",n);return aa(t,o),o},listSkillWorkspaces:async()=>{const e="/skills/workspaces",t=Pn(e);if(t)return t;const a=await v("/skills/workspaces");return aa(e,a),a},listSkillPoolSkills:async()=>{const e="/skills/pool",t=Pn(e);if(t)return t;const a=await v("/skills/pool");if(!Array.isArray(a))throw new Error(`Expected array from /skills/pool but got ${typeof a}`);return aa(e,a),a},getSkill:(e,t)=>{const a={};return t&&(a.headers=new Headers({"X-Agent-Id":t})),v(`/skills/${encodeURIComponent(e)}`,a)},getPoolSkill:e=>v(`/skills/pool/${encodeURIComponent(e)}`),refreshSkills:async e=>{const t={method:"POST"};e&&(t.headers=new Headers({"X-Agent-Id":e}));const a=await v("/skills/refresh",t),n=`/skills${e?`?agent=${e}`:""}`;return aa(n,a),a},refreshSkillPool:async()=>{const e=await v("/skills/pool/refresh",{method:"POST"});if(!Array.isArray(e))throw new Error(`Expected array from /skills/pool/refresh but got ${typeof e}`);return aa("/skills/pool",e),e},searchHubSkills:(e,t=20)=>v(`/skills/hub/search?q=${encodeURIComponent(e)}&limit=${t}`),createSkill:(e,t,a,n)=>v("/skills",{method:"POST",body:JSON.stringify({name:e,content:t,config:a,enable:n})}),saveSkill:e=>v("/skills/save",{method:"PUT",body:JSON.stringify(e)}),createSkillPoolSkill:e=>v("/skills/pool/create",{method:"POST",body:JSON.stringify(e)}),saveSkillPoolSkill:e=>v("/skills/pool/save",{method:"PUT",body:JSON.stringify(e)}),enableSkill:e=>v(`/skills/${encodeURIComponent(e)}/enable`,{method:"POST"}),disableSkill:e=>v(`/skills/${encodeURIComponent(e)}/disable`,{method:"POST"}),batchEnableSkills:e=>v("/skills/batch-enable",{method:"POST",body:JSON.stringify(e)}),batchDisableSkills:e=>v("/skills/batch-disable",{method:"POST",body:JSON.stringify(e)}),batchDeleteSkills:e=>v("/skills/batch-delete",{method:"POST",body:JSON.stringify(e)}
10),batchDeletePoolSkills:e=>v("/skills/pool/batch-delete",{method:"POST",body:JSON.stringify(e)}),deleteSkill:e=>v(`/skills/${encodeURIComponent(e)}`,{method:"DELETE"}),startHubSkillInstall:(e,t)=>{const a=t?new Headers({"X-Agent-Id":t}):void 0;return v("/skills/hub/install/start",{method:"POST",headers:a,body:JSON.stringify(e)})},importPoolSkillFromHub:e=>v("/skills/pool/import",{method:"POST",body:JSON.stringify(e)}),getHubSkillInstallStatus:(e,t)=>{const a=t?new Headers({"X-Agent-Id":t}):void 0;return v(`/skills/hub/install/status/${encodeURIComponent(e)}`,{headers:a})},cancelHubSkillInstall:(e,t)=>{const a=t?new Headers({"X-Agent-Id":t}):void 0;return v(`/skills/hub/install/cancel/${encodeURIComponent(e)}`,{method:"POST",headers:a})},listPoolBuiltinSources:()=>v("/skills/pool/builtin-sources"),getPoolBuiltinNotice:async()=>{const e="/skills/pool/builtin-notice",t=Pn(e);if(t)return t;const a=await v("/skills/pool/builtin-notice");return aa(e,a),a},importSelectedPoolBuiltins:e=>v("/skills/pool/import-builtin",{method:"POST",body:JSON.stringify(e)}),updatePoolBuiltin:(e,t)=>v(`/skills/pool/${encodeURIComponent(e)}/update-builtin`,{method:"POST",body:JSON.stringify({language:t})}),deleteSkillPoolSkill:e=>v(`/skills/pool/${encodeURIComponent(e)}`,{method:"DELETE"}),uploadWorkspaceSkillToPool:e=>v("/skills/pool/upload",{method:"POST",body:JSON.stringify(e)}),downloadSkillPoolSkill:e=>v("/skills/pool/download",{method:"POST",body:JSON.stringify(e)}),updateSkillChannels:(e,t)=>v(`/skills/${encodeURIComponent(e)}/channels`,{method:"PUT",body:JSON.stringify(t)}),updateSkillPreload:(e,t)=>v(`/skills/${encodeURIComponent(e)}/preload`,{method:"PUT",body:JSON.stringify({preload:t})}),updateSkillTags:(e,t)=>v(`/skills/${encodeURIComponent(e)}/tags`,{method:"PUT",body:JSON.stringify(t)}),updatePoolSkillTags:(e,t)=>v(`/skills/pool/${encodeURIComponent(e)}/tags`,{method:"PUT",body:JSON.stringify(t)}),updatePoolSkillAutoSync:(e,t)=>v(`/skills/pool/${encodeURIComponent(e)}/auto-sync`,{method:"PUT",body:JSON.stringify(t)}),updatePoolSkillAutomation:(e,t)=>v(`/skills/pool/${encodeURIComponent(e)}/automation`,{method:"PUT",body:JSON.stringify(t)}),streamOptimizeSkill:async function(e,t,a,n="en"){var d;const o=WS(),i=await fetch(`${o}/skills/ai/optimize/stream`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,language:n}),signal:a});if(!i.ok)throw new Error(`HTTP error! status: ${i.status}`);const s=(d=i.body)==null?void 0:d.getReader();if(!s)throw new Error("No reader available");const r=new TextDecoder;let l="";try{for(;;){const{done:u,value:p}=await s.read();if(u)break;l+=r.decode(p,{stream:!0});const m=l.split(` 11`);for(let k=0;k<m.length-1;k++){const g=m[k].trim();if(g.startsWith("data: ")){const b=g.slice(6);try{const y=JSON.parse(b);if(y.text)t(y.text);else{if(y.error)throw new Error(y.error);if(y.done)return}}catch{}}}l=m[m.length-1]}}finally{s.releaseLock()}},uploadSkill:(e,t)=>Hl("/skills/upload",e,t),uploadSkillPoolZip:(e,t)=>Hl("/skills/pool/upload-zip",e,t)};class KS extends Error{constructor(a,n,o){super(`Transcription failed: ${a} ${n}`);V(this,"status");V(this,"code");this.name="TranscriptionError",this.status=a,this.code=o}}const $S={agentRoot:()=>v("/agent/"),healthCheck:()=>v("/agent/health"),agentApi:e=>v("/console/chat",{method:"POST",body:JSON.stringify(e)}),getProcessStatus:()=>v("/agent/admin/status"),shutdownSimple:()=>v("/agent/shutdown",{method:"POST"}),shutdown:()=>v("/agent/admin/shutdown",{method:"POST"}),getAgentRunningConfig:()=>v("/workspace/running-config"),updateAgentRunningConfig:e=>v("/workspace/running-config",{method:"PUT",body:JSON.stringify(e),timeout:600*1e3}),testEmbedding:e=>v("/workspace/embedding/test",{method:"POST",body:JSON.stringify(e),timeout:Math.max(30,(e.health_check_timeout??15)*2+5)*1e3}),getAgentLanguage:()=>v("/workspace/language"),updateAgentLanguage:e=>v("/workspace/language",{method:"PUT",body:JSON.stringify({language:e})}),getAudioMode:()=>v("/workspace/audio-mode"),updateAudioMode:e=>v("/workspace/audio-mode",{method:"PUT",body:JSON.stringify({audio_mode:e})}),getTranscriptionProviders:()=>v("/workspace/transcription-providers"),updateTranscriptionProvider:e=>v("/workspace/transcription-provider",{method:"PUT",body:JSON.stringify({provider_id:e})}),getTranscriptionProviderType:()=>v("/workspace/transcription-provider-type"),updateTranscriptionProviderType:e=>v("/workspace/transcription-provider-type",{method:"PUT",body:JSON.stringify({transcription_provider_type:e})}),getLocalWhisperStatus:()=>v("/workspace/local-whisper-status"),transcribeAudio:async e=>{const t=new FormData;t.append("file",e);const a=await fetch(ee("/workspace/transcribe"),{method:"POST",headers:xe(),body:t});if(!a.ok){let n=a.statusText,o;try{const i=await a.json();typeof(i==null?void 0:i.detail)=="object"&&i.detail!==null?(o=i.detail.code,n=i.detail.message||n):typeof(i==null?void 0:i.detail)=="string"&&(n=i.detail)}catch{}throw new KS(a.status,n,o)}return a.json()}},QS=50,Ul=ft((e,t)=>
11({entries:new Map,counter:0,get:a=>{const n=t().entries.get(a);if(n)return n.touchedAt=++t().counter,n},set:(a,n,o)=>{e(i=>{const s=new Map(i.entries),r=i.counter+1;if(s.set(a,{content:n,etag:o,touchedAt:r}),s.size>QS){let l=null,d=1/0;for(const[u,p]of s)p.touchedAt<d&&(d=p.touchedAt,l=u);l!==null&&s.delete(l)}return{entries:s,counter:r}})},invalidate:a=>{e(n=>{if(!n.entries.has(a))return n;const o=new Map(n.entries);return o.delete(a),{entries:o}})},clear:()=>e({entries:new Map,counter:0})}));function JS(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}async function Fe(e,t={},a){return window.__TAURI_INTERNALS__.invoke(e,t,a)}function Is(){return!!(globalThis||window).isTauri}async function YS(e={}){return typeof e=="object"&&Object.freeze(e),await Fe("plugin:dialog|open",{options:e})}async function Hu(e={}){return typeof e=="object"&&Object.freeze(e),await Fe("plugin:dialog|save",{options:e})}const tB=Object.freeze(Object.defineProperty({__proto__:null,open:YS,save:Hu},Symbol.toStringTag,{value:"Module"}));function _s(){var e;return(e=window.pywebview)==null?void 0:e.api}const XS=/^[a-z][a-z\d+\-.]*:/i,Uu=new Set(["http:","https:"]),ZS=new Set(["http:","https:","mailto:","tel:"]),eC="open_external_link";function qu(e){return/^https?:\/\//i.test(e)}function ju(e){const t=e.trim();if(!t||t.startsWith("#"))return null;try{return XS.test(t)?t:new URL(t,window.location.origin).toString()}catch{return null}}function Gu(e){return new URL(e).protocol}function Vu(e){try{return qu(e)&&Uu.has(Gu(e))}catch{return!1}}function tC(e){try{const t=Gu(e);return Uu.has(t)?qu(e):ZS.has(t)}catch{return!1}}function Wu(e){const t=ju(e);return!t||!tC(t)?null:t}function Ls(){return Is()||aC()}function aC(){var e;return typeof window>"u"?!1:typeof((e=window.__TAURI_INTERNALS__)==null?void 0:e.invoke)=="function"}function nC(e){const t=_s();return t!=null&&t.open_external_link&&Vu(e)?"pywebview":Ls()?"tauri":"browser"}function Es(e,t="_blank",a="noopener,noreferrer"){var i,s;if(!e)return;const n=Wu(e);if(!n)return;switch(nC(n)){case"pywebview":{(s=(i=_s())==null?void 0:i.open_external_link)==null||s.call(i,n);return}case"tauri":{Fe(eC,{url:n}).catch(r=>{console.warn("[external-link] Tauri open command failed",r)});return}case"browser":window.open(n,t,a)}}class Fs extends Error{constructor(){super("Download cancelled"),this.name="DownloadCancelledError"}}function oC(e){var o;if(!e)return"";const t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t!=null&&t[1])try{return decodeURIComponent(t[1])}catch{return t[1]}const a=e.match(/filename="([^"]+)"/i);if(a!=null&&a[1])return a[1];const n=e.match(/filename=([^;]+)/i);return((o=n==null?void 0:n[1])==null?void 0:o.trim())??""}function iC(e,t){const a=document.createElement("a"),n=URL.createObjectURL(e);a.href=n,a.download=t,document.body.appendChild(a),a.click(),setTimeout(()=>{URL.revokeObjectURL(n),a.remove()},0)}function zu(e){return e.replace(/[<>:"/\\|?*]/g,"_").trim().replace(/[. ]+$/g,"")||"download"}async function sC(e,t,a,n){const o=n.headers??{};if(!(Object.keys(o).length>0?await e(t,a,o):await e(t,a)))throw new Fs}async function rC(e){const t=await Hu({defaultPath:e});if(!t)throw new Fs;return t}async function lC(e,t,a){const n=await rC(t);try{await Fe("download_backend_file",{request:{url:e,filePath:n,headers:a.headers}})}catch(o){if(a.errorMessage){const i=new Error(a.errorMessage);throw i.cause=o,i}throw o}}async function dC(e,t,a){const n=await fetch(e,{headers:a.headers});if(!n.ok){const i=new Error(a.errorMessage||`Download failed: ${n.status}`);throw i.status=n.status,i}const o=a.preferResponseFilename?oC(n.headers.get("Content-Disposition")):"";iC(await n.blob(),o?zu(o):t)}async function Ku(e,t,a={}){var s;if(!e)throw new Error(a.errorMessage||"Download URL is empty");const n=ju(e);if(!n||!Vu(n))throw new Error(a.errorMessage||"Download URL is invalid");const o=zu(t),i=(s=_s())==null?void 0:s.save_file;if(i){await sC(i,n,o,a);return}if(Ls()){await lC(n,o,a);return}await dC(n,o,a)}function cC(){var e;try{const t=sessionStorage.getItem("qwenpaw-agent-storage")||localStorage.getItem("qwenpaw-agent-storage");if(t){const a=JSON.parse(t),n=(e=a==null?void 0:a.state)==null?void 0:e.selectedAgent;if(n)return n}}catch(t){console.warn("Failed to get selected agent from storage:",t)}return"default"}function uC(){const e=cC(),a=new Date().toISOString().replace(/[-:]/g,"").replace(/\..+/,"").replace("T","_").slice(0,15);return`qwenpaw_workspace_${e}_${a}.zip`}function An(e){return e.split("/").map(encodeURIComponent).join("/")}function lt(e,t){const a=new URLSearchParams;return Object.entries(t).forEach(([n,o])=>{o!==void 0&&a.set(n,String(o))}),`${e}?${a.toString()}`}function Ia(e,t){return{...xe(),...e?{"X-Chat-Id":e}:{},...!e&&t?{"X-Session-Project-Dir":t}:{}}}
11class pC extends Error{constructor(a){super("Upload contains conflicting filenames");V(this,"files");this.name="UploadConflictError",this.files=a}}const $u={listDirectory:(e="",t,a=200,n,o="project",i)=>v(lt("/workspace/tree",{path:e,cursor:t,limit:a,root:o}),{headers:Ia(n,i)}),getFileMetadata:(e,t,a="project",n)=>v(lt("/workspace/file-metadata",{path:e,root:a}),{headers:Ia(t,n)}),loadFileChunk:(e,t=0,a=256*1024,n,o="project",i)=>v(lt("/workspace/file-content",{path:e,offset:t,limit:a,root:o}),{headers:Ia(n,i)}),loadFileText:async(e,t,a="project",n)=>{for(let o=0;o<2;o+=1){const i=[];let s=0,r="",l=!1;for(;;){let d;try{d=await $u.loadFileChunk(e,s,256*1024,t,a,n)}catch(u){if(o===0){l=!0;break}throw u}if(!r)r=d.etag;else if(d.etag!==r){l=!0;break}if(i.push(d.content),d.eof)return{content:i.join(""),etag:r};if(d.next_offset<=s)throw new Error("Workspace file reader did not advance");s=d.next_offset}if(!l||o===1)throw new Error("Workspace file changed while it was being read")}throw new Error("Workspace file changed while it was being read")},saveFileContent:async(e,t,a,n,o="project",i)=>{const s=await fetch(ee(lt("/workspace/file-content",{path:e,root:o})),{method:"PUT",headers:{"Content-Type":"application/json",...Ia(n,i),...a?{"If-Match":a}:{}},body:JSON.stringify({content:t})});if(!s.ok)throw new Error(`Workspace save failed: ${s.status}`);return s.json()},getFileDownloadUrl:(e,t="project")=>ee(lt("/workspace/file-download",{path:e,root:t})),getHtmlFileUriUrl:(e,t="project")=>ee(lt("/workspace/html-file-uri",{path:e,root:t})),uploadFiles:async(e,t="",a,n,o="project",i)=>{var l;const s=new FormData;e.forEach(d=>s.append("files",d));const r=await fetch(ee(lt("/workspace/file-upload",{path:t,conflict:a,root:o})),{method:"POST",headers:Ia(n,i),body:s});if(r.status===409){const d=await r.json().catch(()=>null);if(((l=d==null?void 0:d.detail)==null?void 0:l.code)==="upload_conflict")throw new pC(Array.isArray(d.detail.files)?d.detail.files:[])}if(!r.ok)throw new Error(`File upload failed: ${r.status}`);return r.json()},listFiles:()=>v("/workspace/files").then(e=>e.map(t=>({...t,updated_at:new Date(t.modified_time).getTime()}))),loadFile:e=>
11v(`/workspace/files/${encodeURIComponent(e)}`),saveFile:(e,t)=>v(`/workspace/files/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify({content:t})}),downloadWorkspace:()=>Ku(ee("/workspace/download"),uC(),{headers:xe(),errorMessage:"Workspace download failed",preferResponseFilename:!0}),uploadFile:async e=>{const t=new FormData;t.append("file",e);const a=await fetch(ee("/workspace/upload"),{method:"POST",headers:xe(),body:t});if(!a.ok){const n=await a.text();throw new Error(`Upload failed: ${a.status} ${a.statusText} - ${n}`)}return await a.json()},listMemoryFiles:e=>v(lt("/workspace/memory",{section:e})),loadMemoryFile:(e,t)=>v(lt(`/workspace/memory/${An(e)}`,{section:t})),saveMemoryFile:(e,t,a)=>v(lt(`/workspace/memory/${An(e)}`,{section:a}),{method:"PUT",body:JSON.stringify({content:t})}),listDailyMemory:()=>v("/workspace/memory").then(e=>e.map(t=>{const n=(t.filename.split("/").pop()||t.filename).replace(".md","");return{...t,date:n,updated_at:new Date(t.modified_time).getTime()}})),loadDailyMemory:e=>v(`/workspace/memory/${An(e)}`),saveDailyMemory:(e,t)=>v(`/workspace/memory/${An(e)}`,{method:"PUT",body:JSON.stringify({content:t})}),getSystemPromptFiles:()=>v("/workspace/system-prompt-files"),setSystemPromptFiles:e=>v("/workspace/system-prompt-files",{method:"PUT",body:JSON.stringify(e)}),listCodeFiles:()=>v("/workspace/code-files").then(e=>e.map(t=>({...t,updated_at:new Date(t.modified_time).getTime()}))),loadCodeFile:async e=>{const t=Ul.getState(),a=t.get(e);if(a)return{path:e,content:a.content};const n=ee(`/workspace/code-files/${e.split("/").map(encodeURIComponent).join("/")}`),o=new Headers;for(const[l,d]of Object.entries(xe()))o.set(l,d);const i=await fetch(n,{headers:o});if(!i.ok){const l=await i.text().catch(()=>""),d=new Error(l||`Request failed: ${i.status}`);throw d.status=i.status,d}const s=await i.json(),r=i.headers.get("ETag");return t.set(e,s.content,r),s},saveCodeFile:(e,t)=>v(`/workspace/code-files/${e.split("/").map(encodeURIComponent).join("/")}`,{method:"PUT",body:JSON.stringify({content:t})}).then(a=>(Ul.getState().invalidate(e),a)),getWatchUrl:(e="project")=>`${ee("/workspace/watch")}?root=${encodeURIComponent(e)}`,getBinaryFileUrl:e=>ee(`/workspace/binary-files/${e.split("/").map(encodeURIComponent).join("/")}`)},mC={getLocalServerStatus:()=>v("/local-models/server"),getLocalServerUpdateStatus:()=>v("/local-models/server/update"),startLlamacppDownload:()=>v("/local-models/server/download",{method:"POST"}),getLlamacppDownloadProgress:()=>v("/local-models/server/download"),cancelLlamacppDownload:()=>v("/local-models/server/download",{method:"DELETE"}),listRecommendedLocalModels:()=>v("/local-models/models"),startLocalModelDownload:(e,t)=>v("/local-models/models/download",{method:"POST",body:JSON.stringify({model_name:e,source:t})}),getLocalModelDownloadProgress:()=>v("/local-models/models/download"),cancelLocalModelDownload:()=>v("/local-models/models/download",{method:"DELETE"}),deleteLocalModel:e=>v(`/local-models/models/${encodeURIComponent(e)}`,{method:"DELETE"}),startLocalServer:e=>v("/local-models/server",{method:"POST",body:JSON.stringify(e)}),stopLocalServer:()=>v("/local-models/server",{method:"DELETE"})},hC={listMCPClients:()=>v("/mcp"),getMCPClient:e=>v(`/mcp/${encodeURIComponent(e)}`),createMCPClient:e=>v("/mcp",{method:"POST",body:JSON.stringify(e)}),updateMCPClient:(e,t)=>v(`/mcp/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}),toggleMCPClient:e=>v(`/mcp/toggle/${encodeURIComponent(e)}`,{method:"PATCH"}),deleteMCPClient:e=>v(`/mcp/${encodeURIComponent(e)}`,{method:"DELETE"}),listMCPTools:e=>v(`/mcp/tools/${encodeURIComponent(e)}`),listMCPAccessPrincipals:()=>v("/mcp/access-principals"),getMCPPolicy:e=>v(`/mcp/policy/${encodeURIComponent(e)}`),updateMCPPolicy:(e,t)=>v(`/mcp/policy/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}),updateMCPToolWhitelist:(e,t)=>v(`/mcp/tools/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify({tools:t})}),startOAuth:(e,t)=>v(`/mcp/oauth/start/${encodeURIComponent(e)}`,{method:"POST",body:JSON.stringify(t)}),getOAuthStatus:e=>v(`/mcp/oauth/status/${encodeURIComponent(e)}`),revokeOAuth:e=>v(`/mcp/oauth/${encodeURIComponent(e)}`,{method:"DELETE"})};function ql(e){const t=new URLSearchParams({start_date:e.start_date,end_date:e.end_date});return e.model&&t.set("model",e.model),e.provider&&t.set("provider",e.provider),`?${t.toString()}`}const gC={getTokenUsage:e=>v(`/token-usage${ql(e)}`),getTokenUsageDetails:e=>v(`/token-usage/details${ql(e)}`)};function jl(e){return`?${new URLSearchParams({start_date:e.start_date,end_date:e.end_date}).toString()}`}const fC={getAgentStats:e=>v(`/agent-stats${jl(e)}`),getGlobalLlmToolTrend:(e,t)=>v(`/agent-stats/llm-tool-trend${jl(e)}`,{timeout:6e4,signal:t==null?void 0:t.signal})},bC={listTools:()=>v("/tools"),toggleTool:e=>v(`/tools/${encodeURIComponent(e)}/toggle`,{method:"PATCH"}),updateAsyncExecution:(e,t)=>v(`/tools/${encodeURIComponent(e)}/async-execution`,{method:"PATCH",body:JSON.stringify({async_execution:t})}),getToolConfig:(e,t)=>
11{const a=t?`?${new URLSearchParams(t).toString()}`:"";return v(`/tools/${encodeURIComponent(e)}/config${a}`)},updateToolConfig:(e,t)=>v(`/tools/${encodeURIComponent(e)}/config`,{method:"POST",body:JSON.stringify({config:t})})},kC={getToolGuard:()=>v("/config/security/tool-guard"),updateToolGuard:e=>v("/config/security/tool-guard",{method:"PUT",body:JSON.stringify(e)}),getBuiltinRules:()=>v("/config/security/tool-guard/builtin-rules"),getSandbox:e=>v(e!==void 0?`/config/security/sandbox?enabled=${e}`:"/config/security/sandbox"),updateSandbox:e=>v("/config/security/sandbox",{method:"PUT",body:JSON.stringify(e)}),getDenyPathsProtection:()=>v("/config/security/sandbox/deny-paths-protection"),updateDenyPathsProtection:e=>v("/config/security/sandbox/deny-paths-protection",{method:"PUT",body:JSON.stringify(e)}),getFileGuard:()=>v("/config/security/file-guard"),updateFileGuard:e=>v("/config/security/file-guard",{method:"PUT",body:JSON.stringify(e)}),getSkillScanner:()=>v("/config/security/skill-scanner"),updateSkillScanner:e=>v("/config/security/skill-scanner",{method:"PUT",body:JSON.stringify(e)}),getBlockedHistory:()=>v("/config/security/skill-scanner/blocked-history"),clearBlockedHistory:()=>v("/config/security/skill-scanner/blocked-history",{method:"DELETE"}),removeBlockedEntry:e=>v(`/config/security/skill-scanner/blocked-history/${e}`,{method:"DELETE"}),addToWhitelist:(e,t="")=>v("/config/security/skill-scanner/whitelist",{method:"POST",body:JSON.stringify({skill_name:e,content_hash:t})}),removeFromWhitelist:e=>v(`/config/security/skill-scanner/whitelist/${encodeURIComponent(e)}`,{method:"DELETE"}),getAllowNoAuthHosts:()=>v("/config/security/allow-no-auth-hosts"),updateAllowNoAuthHosts:e=>v("/config/security/allow-no-auth-hosts",{method:"PUT",body:JSON.stringify(e)})},yC={getUserTimezone:()=>v("/config/user-timezone"),updateUserTimezone:e=>v("/config/user-timezone",{method:"PUT",body:JSON.stringify({timezone:e})})},Po={getLanguage:()=>v("/settings/language"),updateLanguage:e=>v("/settings/language",{method:"PUT",body:JSON.stringify({language:e})}),getUploadLimit:()=>v("/settings/upload-limit")},Qu=Po,vC=300*1e3,TC={listBackups:()=>v("/backups"),getBackup:e=>v(`/backups/${e}`),createBackupStream:async(e,t,a)=>{const n=ee("/backups/stream"),o=await fetch(n,{method:"POST",headers:{...xe(),"Content-Type":"application/json"},body:JSON.stringify(e),signal:a});if(!o.ok){const d=await o.text().catch(()=>"");throw new Error(d||`Request failed: ${o.status}`)}const i=o.body.getReader(),s=new TextDecoder;let r="",l=null;for(;;){const{done:d,value:u}=await i.read();if(d)break;r+=s.decode(u,{stream:!0});const p=r.split(` 12 13`);r=p.pop()??"";for(const m of p){if(!m.startsWith("data: "))continue;const k=JSON.parse(m.slice(6));if(t(k),k.type==="done"&&(l=k.meta),k.type==="error")throw new Error(k.message)}}if(!l)throw new Error("No completion event received");return l},startBackupJob:e=>v("/backups/jobs",{method:"POST",body:JSON.stringify(e)}),getActiveBackupJob:()=>v("/backups/jobs/active"),getBackupJob:e=>v(`/backups/jobs/${e}`),cancelBackupJob:e=>v(`/backups/jobs/${e}/cancel`,{method:"POST"}),streamBackupJob:async(e,t,a)=>{const n=ee(`/backups/jobs/${e}/events`),o=await fetch(n,{headers:xe(),signal:a});if(!o.ok){const l=await o.text().catch(()=>"");throw new Error(l||`Request failed: ${o.status}`)}if(!o.body)throw new Error("No backup event stream received");const i=o.body.getReader(),s=new TextDecoder;let r="";for(;;){const{done:l,value:d}=await i.read();if(l)break;r+=s.decode(d,{stream:!0});const u=r.split(` 14 15`);r=u.pop()??"";for(const p of u){if(!p.startsWith("data: "))continue;const m=JSON.parse(p.slice(6));t(m)}}},restoreBackup:(e,t)=>v(`/backups/${e}/restore`,{method:"POST",body:JSON.stringify(t),timeout:vC}),deleteBackups:e=>v("/backups/delete",{method:"POST",body:JSON.stringify({ids:e})}),exportBackup:async(e,t)=>{const a=ee(`/backups/${e}/export`);try{await Ku(a,`${t}.zip`,{headers:xe(),errorMessage:"Export failed"})}catch(n){if(n instanceof Fs)return;throw n}},importBackup:async(e,t={})=>{const a=new FormData;a.append("file",e),t.trustMode&&a.append("trust_mode",t.trustMode);const n=ee("/backups/import"),o=await fetch(n,{method:"POST",headers:xe(),body:a});if(o.status===409){const i=await o.json(),s=new Error("backup_conflict");throw s.conflict=i,s}if(!o.ok){const i=await o.text().catch(()=>"");throw new Error(i||`Import failed: ${o.status}`)}return o.json()},resolveImportConflict:async e=>{const t=new FormData;t.append("pending_token",e);const a=ee("/backups/import"),n=await fetch(a,{method:"POST",headers:xe(),body:t});if(!n.ok){const o=await n.text().catch(()=>"");throw new Error(o||`Import failed: ${n.status}`)}return n.json()}},Ju={getPushMessages:e=>v(e?`/console/push-messages?session_id=${e}
15`:"/console/push-messages"),getInboxEvents:e=>{const t=new URLSearchParams;(e==null?void 0:e.limit)!==void 0&&t.set("limit",String(e.limit)),(e==null?void 0:e.offset)!==void 0&&t.set("offset",String(e.offset)),e!=null&&e.source_type&&t.set("source_type",e.source_type);for(const n of(e==null?void 0:e.source_types)??[])t.append("source_types",n);e!=null&&e.status&&t.set("status",e.status),e!=null&&e.agent_id&&t.set("agent_id",e.agent_id),(e==null?void 0:e.unread_only)!==void 0&&t.set("unread_only",String(e.unread_only));const a=t.toString()?`?${t.toString()}`:"";return v(`/console/inbox/events${a}`)},markInboxRead:e=>v("/console/inbox/read",{method:"POST",body:JSON.stringify(e)}),deleteInboxEvent:e=>v(`/console/inbox/events/${encodeURIComponent(e)}`,{method:"DELETE"}),getInboxTrace:e=>v(`/console/inbox/traces/${encodeURIComponent(e)}`)},Kt={getAclAll:()=>v("/access-control"),getAclChannel:e=>v(`/access-control/${e}`),addAclWhitelist:e=>v("/access-control/whitelist/add",{method:"POST",body:JSON.stringify({entries:e})}),removeAclWhitelist:e=>v("/access-control/whitelist/remove",{method:"POST",body:JSON.stringify({entries:e})}),addAclBlacklist:e=>v("/access-control/blacklist/add",{method:"POST",body:JSON.stringify({entries:e})}),removeAclBlacklist:e=>v("/access-control/blacklist/remove",{method:"POST",body:JSON.stringify({entries:e})}),updateAclRemark:(e,t,a)=>v("/access-control/remark",{method:"POST",body:JSON.stringify({channel:e,user_id:t,remark:a})}),getAclAllPending:()=>v("/access-control/pending/all"),approveAclPending:e=>v("/access-control/pending/approve",{method:"POST",body:JSON.stringify({entries:e})}),denyAclPending:e=>v("/access-control/pending/deny",{method:"POST",body:JSON.stringify({entries:e})}),dismissAclPending:e=>v("/access-control/pending/dismiss",{method:"POST",body:JSON.stringify({entries:e})}),updatePendingRemark:(e,t,a)=>v("/access-control/pending/remark",{method:"POST",body:JSON.stringify({channel:e,user_id:t,remark:a})}),updateUsername:(e,t,a)=>v("/access-control/username",{method:"POST",body:JSON.stringify({channel:e,user_id:t,username:a})})},ua={...LS,...ES,...FS,...OS,...BS,..._e,...HS,...US,...jS,...$S,...zS,...GS,...$u,...mC,...hC,...gC,...fC,...bC,...kC,...yC,...Qu,...TC,...Ju,...Kt},{Text:_a}=Ad,Gl={approve:Kt.approveAclPending,deny:Kt.denyAclPending,dismiss:Kt.dismissAclPending},SC={approve:"channels.approveSuccess",deny:"channels.denySuccess",dismiss:"channels.dismissSuccess"};function CC({open:e,onClose:t}){const{t:a}=ve(),{message:n}=dn(),[o,i]=h.useState([]),[s,r]=h.useState(!1),[l,d]=h.useState(null),[u,p]=h.useState(!1),[m,k]=h.useState([]),[g,b]=h.useState([]),y=h.useCallback(async()=>{r(!0);try{const A=await Kt.getAclAllPending();i(A)}catch{}finally{r(!1)}},[]);h.useEffect(()=>{e&&(y(),k([]))},[e,y]);const T=h.useMemo(()=>{const A=new Set(o.map(L=>L.channel));return Array.from(A)},[o]),S=h.useMemo(()=>g.length===0?o:o.filter(A=>g.includes(A.channel)),[o,g]),P=h.useMemo(()=>m.map(A=>{const[L,...j]=A.split(":");return{channel:L,user_id:j.join(":")}}),[m]),w=async(A,L)=>{try{await Kt.updatePendingRemark(A.channel,A.user_id,L),i(j=>j.map(U=>U.channel===A.channel&&U.user_id===A.user_id?{...U,remark:L}:U))}catch{n.error(a("channels.operationFailed"))}},C=async(A,L)=>{try{await Kt.updateUsername(A.channel,A.user_id,L),i(j=>j.map(U=>U.channel===A.channel&&U.user_id===A.user_id?{...U,username:L}:U))}catch{n.error(a("channels.operationFailed"))}},x=async(A,L)=>{const j=`${A.channel}:${A.user_id}`;d(j);try{await Gl[L]([{channel:A.channel,user_id:A.user_id}]),n.success(a(SC[L])),await y()}catch{n.error(a("channels.operationFailed"))}finally{d(null)}},I=async A=>{p(!0);try{await Gl[A](P),n.success(a("channels.batchSuccess",{count:P.length})),k([]),await y()}catch{n.error(a("channels.operationFailed"))}finally{p(!1)}},R=[{title:a("channels.channel"),dataIndex:"channel",key:"channel",width:100,fixed:"left",render:A=>c.jsx(mt,{title:Pt(A,a),children:c.jsxs(oa,{size:4,children:[c.jsx(ba,{channelKey:A,size:16}),c.jsx("span",{children:Pt(A,a)})]})})},{title:a("channels.username"),dataIndex:"username",key:"username",width:120,render:(A,L)=>c.jsx(_a,{editable:{onChange:j=>C(L,j),text:A||""},children:A||c.jsx("span",{style:{color:"#bbb"},children:"-"})})},{title:a("channels.userId"),dataIndex:"user_id",key:"user_id",width:160,ellipsis:{showTitle:!1},render:A=>c.jsxs(oa,{size:4,children:[c.jsx(_a,{ellipsis:{tooltip:A},style:{maxWidth:120},children:A}),c.jsx(_a,{copyable:{text:A}})]})},{title:a("channels.firstMessage"),dataIndex:"first_message",key:"first_message",width:160,ellipsis:!0,render:A=>c.jsx(mt,{title:A,children:c.jsx("span",{children:A||"-"})})},{title:a("channels.remark"),dataIndex:"remark",key:"remark",width:130,render:(A,L)=>c.jsx(_a,{editable:{onChange:j=>w(L,j),text:A||""},children:A||c.jsx("span",{style:{color:"#bbb"},children:"-"})})},{title:a("channels.time"),dataIndex:"timestamp",key:"timestamp",width:150,render:A=>
15A?new Date(A*1e3).toLocaleString():"-"},{title:a("channels.actions"),key:"actions",width:200,fixed:"right",render:(A,L)=>{const j=`${L.channel}:${L.user_id}`,U=l===j;return c.jsxs(oa,{size:0,children:[c.jsx(Se,{type:"text",size:"small",loading:U,onClick:()=>x(L,"approve"),style:{color:"#52c41a",padding:"0 4px"},children:a("channels.approve")}),c.jsx(Se,{type:"text",size:"small",danger:!0,loading:U,onClick:()=>x(L,"deny"),style:{padding:"0 4px"},children:a("channels.deny")}),c.jsx(Se,{type:"text",size:"small",loading:U,onClick:()=>x(L,"dismiss"),style:{padding:"0 4px"},children:a("channels.dismiss")})]})}}],_=m.length>0;return c.jsxs(gm,{width:920,title:a("channels.pendingApprovals"),open:e,onClose:t,destroyOnHidden:!0,children:[c.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[c.jsx(Nt,{mode:"multiple",allowClear:!0,placeholder:a("channels.filterByChannel"),value:g,onChange:A=>{b(A),k([])},style:{minWidth:200},options:T.map(A=>({label:Pt(A,a),value:A}))}),c.jsxs(oa,{children:[_&&c.jsx(_a,{type:"secondary",style:{fontSize:13},children:a("channels.selectedCount",{count:m.length})}),c.jsx(En,{title:a("channels.batchApproveConfirm",{count:m.length}),onConfirm:()=>I("approve"),disabled:!_,children:c.jsx(Se,{type:"primary",size:"small",icon:c.jsx(Md,{}),disabled:!_,loading:u,children:a("channels.batchApprove")})}),c.jsx(En,{title:a("channels.batchDenyConfirm",{count:m.length}),onConfirm:()=>I("deny"),disabled:!_,children:c.jsx(Se,{size:"small",icon:c.jsx(fm,{}),disabled:!_,loading:u,children:a("channels.batchDeny")})}),c.jsx(En,{title:a("channels.batchDismissConfirm",{count:m.length}),onConfirm:()=>I("dismiss"),disabled:!_,children:c.jsx(Se,{danger:!0,size:"small",icon:c.jsx(bm,{}),disabled:!_,loading:u,children:a("channels.batchDismiss")})})]})]}),c.jsx(km,{dataSource:S,columns:R,rowKey:A=>`${A.channel}:${A.user_id}`,rowSelection:{selectedRowKeys:m,onChange:A=>k(A)},size:"small",loading:s,pagination:{pageSize:10,showSizeChanger:!1},scroll:{x:1050},locale:{emptyText:c.jsx("div",{style:{padding:"48px 0"},children:a("channels.noPendingApprovals")})}})]})}const wC=Object.freeze(Object.defineProperty({__proto__:null,PendingApprovalsDrawer:CC},Symbol.toStringTag,{value:"Module"})),PC=Ne.memo(function({channelKey:t,onClick:a,iconUrl:n}){const{t:o}=ve(),i=Pt(t,o),s=r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),a())};return c.jsxs("div",{className:ue.availableItem,onClick:a,onKeyDown:s,role:"button",tabIndex:0,children:[c.jsx(ba,{channelKey:t,size:24,iconUrl:n}),c.jsx("span",{className:ue.availableItemName,children:i}),c.jsx("span",{className:ue.availableItemAction,children:o("channels.enableAction")})]})}),AC=Object.freeze(Object.defineProperty({__proto__:null,ChannelAvailableItem:PC},Symbol.toStringTag,{value:"Module"}));async function MC(e){if(navigator.clipboard&&window.isSecureContext){await navigator.clipboard.writeText(e);return}const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t);let a=!1;try{t.focus(),t.select(),a=document.execCommand("copy")}finally{document.body.removeChild(t)}if(!a)throw new Error("Failed to copy text")}function DC(e){return(e.output||[]).flatMap(a=>a.role!=="assistant"?[]:a.type!=="message"?[]:typeof a.content=="string"?[a.content]:Array.isArray(a.content)?a.content.flatMap(n=>n.type==="text"&&typeof n.text=="string"?[n.text]:n.type==="refusal"&&typeof n.refusal=="string"?[n.refusal]:[]):[]).filter(Boolean).join(` 16 17`).trim()}function Yu(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.filter(t=>t.type==="text").map(t=>t.text||"").join(` 18`):""}function xC(e){var a,n,o,i;const t=(i=(o=(n=(a=e==null?void 0:e.cards)==null?void 0:a[0])==null?void 0:n.data)==null?void 0:o.input)==null?void 0:i[0];return t?Yu(t):""}function RC(e){if(!e)return"";const t=e<1e12?e*1e3:e,a=new Date(t),n=new Date,o=a.getHours().toString().padStart(2,"0"),i=a.getMinutes().toString().padStart(2,"0"),s=a.getSeconds().toString().padStart(2,"0"),r=`${o}:${i}:${s}`;if(a.getFullYear()===n.getFullYear()&&a.getMonth()===n.getMonth()&&a.getDate()===n.getDate())return r;const d=(a.getMonth()+1).toString().padStart(2,"0"),u=a.getDate().toString().padStart(2,"0");return a.getFullYear()===n.getFullYear()?`${d}-${u} ${r}`:`${a.getFullYear()}-${d}-${u} ${r}`}function IC(){return new Response(JSON.stringify({error:"Model not configured",message:"Please configure a model first"}),{status:400,headers:{"Content-Type":"application/json"}})}function _C(e){return e.split("/").map(t=>{if(!t)return t;try{return decodeURIComponent(t)}catch{return t}}).join("/")}function Ha(e){const t="/files/preview/",a=e.indexOf(t);if(a!==-1){let n=e.slice(a+t.length);const o=n.indexOf("?");o!==-1&&(n=n.slice(0,o));const i=n.indexOf("#");if(i!==-1&&(n=n.slice(0,i)),n){const s=_C(n);return/^[a-zA-Z]:[\\/]/.test(s)||s.startsWith("/")?s:`/${s}`}}return e}function LC(e){const t={...e};return t.type==="image"&&typeof t.image_url=="string"&&(t.image_url=Ha(t.image_url)),t.type==="file"&&typeof t.file_url=="string"&&(t.file_url=Ha(t.file_url)),t.type==="audio"&&typeof t.data=="str
18ing"&&(t.data=Ha(t.data)),t.type==="video"&&typeof t.video_url=="string"&&(t.video_url=Ha(t.video_url)),t}function Ua(e){return e?e.startsWith("http://")||e.startsWith("https://")||e.startsWith("data:")?e:(e.startsWith("file://")&&(e=e.replace("file://","")),_e.filePreviewUrl(e.startsWith("/")?e:`/${e}`)):""}function Xu(){const e=document.activeElement instanceof HTMLElement?document.activeElement.closest('[class*="sender"]'):null,t=e==null?void 0:e.querySelector("textarea");if(t instanceof HTMLTextAreaElement)return t;const a=Array.from(document.querySelectorAll('[class*="sender"] textarea'));return a.find(n=>n.offsetParent!==null)??a[a.length-1]??null}function EC(e){if(!(e instanceof HTMLElement))return null;const t=e.closest('[class*="sender"]');if(!t)return null;if(e instanceof HTMLTextAreaElement)return e;if(!(e.isContentEditable||e.getAttribute("contenteditable")==="true"))return null;const n=t.querySelector("textarea");return n instanceof HTMLTextAreaElement?n:null}function Zu(e,t){var o;const a=(o=Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype,"value"))==null?void 0:o.set;a?a.call(e,t):e.value=t,e.selectionStart=e.selectionEnd=t.length;const n=new Event("input",{bubbles:!0});e.dispatchEvent(n)}function FC(e){const t=Xu();return!t||t.value!==e?!1:(Zu(t,""),!0)}const OC=Object.freeze(Object.defineProperty({__proto__:null,buildModelError:IC,clearSubmittedSenderInput:FC,copyText:MC,extractCopyableText:DC,extractTextFromMessage:xC,extractUserMessageText:Yu,formatMessageTime:RC,getActiveSenderTextarea:Xu,getSenderTextareaFromTarget:EC,normalizeContentUrls:LC,setTextareaValue:Zu,toDisplayUrl:Ua,toStoredName:Ha},Symbol.toStringTag,{value:"Module"}));let BC=0;function Vl(e,t){return(e==null?void 0:e.agentId)===t.agentId&&e.sessionId===t.sessionId&&e.revision===t.revision}const Ge=ft((e,t)=>({snapshot:null,setSnapshot:a=>e({snapshot:a}),activeTurn:null,beginTurn:(a,n)=>{const o={agentId:a,sessionId:n,revision:++BC};return e(i=>({activeTurn:o,snapshot:i.snapshot})),o},setSnapshotForTurn:(a,n)=>Vl(t().activeTurn,n)?(e({snapshot:a}),!0):!1,isTurnActive:a=>Vl(t().activeTurn,a),invalidateTurn:()=>e({activeTurn:null,snapshot:null}),activeMaxInputLength:null,setActiveMaxInputLength:a=>e({activeMaxInputLength:a})})),NC=Object.freeze(Object.defineProperty({__proto__:null,useTurnUsageStore:Ge},Symbol.toStringTag,{value:"Module"})),Ni="qwenpaw_turn_usage",ae=(e,t)=>{if(!e||typeof e!="object")return 0;const a=e[t];return typeof a=="number"&&Number.isFinite(a)?a:0};function Wl(e){if(!e||typeof e!="object")return null;const t=e,a=t.usage,n=t.context_usage,o=a&&typeof a=="object"?a:null,i=n&&typeof n=="object"?n:null,s=ae(o,"total_tokens")||ae(o,"prompt_tokens")+ae(o,"completion_tokens"),r=!!o&&s>0,l=!!i&&ae(i,"estimated_tokens")>0;return!r&&!l?null:{usage:r?o:null,context_usage:l?i:null}}function ep(e){if(!e||typeof e!="object")return null;const t=e,a=Wl(t[Ni]);if(a)return a;const n=t.metadata;return n&&typeof n=="object"?Wl(n[Ni]):null}function tp(e){var t;for(let a=e.length-1;a>=0;a--){const n=ep((t=e[a])==null?void 0:t.metadata);if(n)return n}return null}function pn(e){if(!e)return null;const t=e.usage,a=e.context_usage,n=t&&typeof t=="object"&&(ae(t,"total_tokens")>0||ae(t,"prompt_tokens")+ae(t,"completion_tokens")>0),o=a&&typeof a=="object"&&ae(a,"estimated_tokens")>0;return!n&&!o?null:{usage:n?t:null,context_usage:o?a:null}}function Qt(e){const t=e==null?void 0:e.find(a=>(a==null?void 0:a.code)==="AgentScopeRuntimeResponseCard");return(t==null?void 0:t.data)??null}function ap(e){const t=e.filter(a=>a.role==="assistant");for(let a=t.length-1;a>=0;a--){const n=Qt(t[a].cards);if(!n)continue;const o=pn(n);if(o)return o}return null}function HC(e){const t=e.filter(a=>a.role==="assistant");if(t.length){for(let a=t.length-1;a>=0;a--){const n=Qt(t[a].cards);if(!n)continue;const o=pn(n);if(!o||!o.context_usage)return t[a]}for(let a=t.length-1;a>=0;a--)if(Qt(t[a].cards))return t[a]}}function np(e,t){var l;const a=(l=e.current)==null?void 0:l.messages;if(!a)return!1;const n=HC(a.getMessages()??[]);if(!n)return!1;const o=Qt(n.cards);if(!o)return!1;const i=pn(o);if(i&&ae(i.usage,"total_tokens")===ae(t.usage,"total_tokens")&&ae(i.usage,"cache_read_tokens")===ae(t.usage,"cache_read_tokens")&&ae(i.usage,"cache_eligible_input_tokens")===ae(t.usage,"cache_eligible_input_tokens")&&ae(i.usage,"session_cache_read_tokens")===ae(t.usage,"session_cache_read_tokens")&&ae(i.usage,"session_cache_eligible_input_tokens")===ae(t.usage,"session_cache_eligible_input_tokens")&&ae(i.context_usage,"estimated_tokens")===ae(t.context_usage,"estimated_tokens"))return!0;const s=JSON.parse(JSON.stringify(n)),r=Qt(s.cards);return r?(t.usage&&(r.usage=t.usage),t.context_usage&&(r.context_usage=t.context_usage),Qi.flushSync(()=>{a.updateMessage(s)}),!0):!1}const UC=50,qC=40;function op(e,t,a){const n=()=>!a||Ge.getState().isTurnActive(a),o=()=>n()&&np(e,t);if(!n()||o())return;let i=0;const s=()=>{n()&&(o()||i>=qC||(i+=1,window.setTimeout(s,UC)))};window.setTimeout(s,0)}function jC(e,t){var i;const a=(i=e.current)==null?void 0:i.messages;if(!a||t<=0)return;const n=a.getMessages()??[];for(let s=n.length-1;s>=0;s--){const r=n[s];if(r.role!=="assistant")continue;const l=Qt(r.cards);if(!l)continue;const d=pn(l);if(!(d!=null&&d.context_usage))continue;const u=ae(d.context_usage,"estimated_tokens");if(ae(d.context_usage,"max_input_length")===t)return;const p=Math.min(u/t*100,100),m=JSON.parse(JSON.stringify(r)),k=Qt(m.cards);if(!k)return;const g={estimated_tokens:u,max_input_length:t,context_usage_ratio:p};k.context_usage=g,Qi.flushSync(()=>{a.updateMessage(m)}),Ge.getState().setSnapshot({usage:d.usage,context_usage:g});return}const o=Ge.getState().snapshot;if(o!=null&&o.context_usage&&ae(o.context_usage,"max_input_length")!==t){const s=ae(o.context_usage,"estimated_tokens"),r=Math.min(s/t*100,100);Ge.getState().setSnapshot({usage:o.usage,context_usage:{estimated_tokens:s,max_input_length:t,context_usage_ratio:r}})}}function zl(e){const t=[];let a=e;for(;;){const n=a.indexOf(` 19 20`);if(n<0)break;const o=a.slice(0,n);a=a.slice(n+2);for(const i of o.split(` 21`))i.startsWith("data: ")&&t.push(i.slice(6))}return{events:t,rest:a}}function Kl(e){if(!e.includes("turn_usage"))return null;try{return VC(JSON.parse(e))}catch{return null}}function GC(e,t,a){if(!e.body)return e;const n=new TextDecoder;let o="",i=null;const s=e.body.pipeThrough(new TransformStream({transform(r,l){l.enqueue(r),o+=n.decode(r,{stream:!0});const d=zl(o);o=d.rest;for(const u of d.events){const p=Kl(u);p&&(i=p)}},flush(){o+=n.decode();const r=zl(`${o} 22 23`);for(const l of r.events){const d=Kl(l);d&&(i=d)}if(i){let l=!0;a?l=Ge.getState().setSnapshotForTurn(i,a):Ge.getState().setSnapshot(i),l&&op(t,i,a)}}}));return new Response(s,{status:e.status,statusText:e.statusText,headers:e.headers})}function VC(e){if(e.type!=="turn_usage")return null;const t=e.usage,a=e.context_usage,n=ae(t,"total_tokens")||ae(t,"prompt_tokens")+ae(t,"completion_tokens"),o=t&&typeof t=="object"&&n>0,i=a&&typeof a=="object"&&ae(a,"estimated_tokens")>0;return!o&&!i?null:{usage:o?t:null,context_usage:i?a:null}}const WC=Object.freeze(Object.defineProperty({__proto__:null,TURN_USAGE_META_KEY:Ni,extractLatestSnapshotFromCards:ap,extractTurnUsageFromBackendMetadata:ep,extractTurnUsageFromOutputMessages:tp,patchContextMaxInputLength:jC,patchLastResponseCardUsage:np,readTurnUsageFromResponseCardData:pn,schedulePatchLastResponseCardUsage:op,wrapChatResponseUsageStream:GC},Symbol.toStringTag,{value:"Module"})),ip="qwenpaw_client_message_id";function zC(e){const t=new Uint8Array(e);crypto.getRandomValues(t);let a="";for(const n of t)a+=(n%36).toString(36);return a}function KC(){var e;return((e=crypto.randomUUID)==null?void 0:e.call(crypto))??`${Date.now()}-${zC(16)}`}function aB(e,t){const a=typeof e.metadata=="object"&&e.metadata!==null?e.metadata:{};return{...e,metadata:{...a,[ip]:t}}}const Os=ft((e,t)=>
23({sessions:[],lastUpdated:0,_setLibrarySessions:null,syncFromLibrary:(a,n)=>{e({sessions:a,lastUpdated:Date.now(),_setLibrarySessions:n})},syncSessions:a=>{var n,o;e({sessions:a,lastUpdated:Date.now()}),(o=(n=t())._setLibrarySessions)==null||o.call(n,a)}}));function Gt(e){Os.getState().syncSessions(e)}We.subscribe((e,t)=>{e.selectedAgent!==t.selectedAgent&&Os.setState({sessions:[],lastUpdated:Date.now()})});const Ft="default",bt="console",$n="New Chat",$C="tool",lo="user",sp="assistant",QC="plugin_call_output",rp="AgentScopeRuntimeResponseCard";function JC(e){var n,o;Ge.getState().invalidateTurn();const t=ap(e),a=Ge.getState().activeMaxInputLength;if(t!=null&&t.context_usage&&typeof a=="number"&&a>0){const i=t.context_usage.estimated_tokens,s={estimated_tokens:i,max_input_length:a,context_usage_ratio:Math.min(i/a*100,100)};for(let r=e.length-1;r>=0;r--){const l=e[r];if(l.role!==sp)continue;const d=(n=l.cards)==null?void 0:n.find(u=>(u==null?void 0:u.code)===rp);if((o=d==null?void 0:d.data)!=null&&o.context_usage){d.data.context_usage=s;break}}Ge.getState().setSnapshot({usage:t.usage,context_usage:s});return}Ge.getState().setSnapshot(t)}function lp(e){const t=new Uint8Array(e);crypto.getRandomValues(t);let a="";for(const n of t)a+=(n%36).toString(36);return a}function Hi(){return`${Date.now()}-${lp(9)}`}const dp=e=>{if(!e||typeof e!="string")return 0;const t=new Date(e.replace(" ","T")).getTime();return Number.isNaN(t)?0:Math.floor(t/1e3)},co=e=>{var t;return dp((t=e.metadata)==null?void 0:t.timestamp)},cp=e=>{var t;return dp((t=e.metadata)==null?void 0:t.finished_at)},Ui=e=>typeof e=="string"?e:Array.isArray(e)?e.filter(t=>t.type==="text").map(t=>t.text||"").filter(Boolean).join(` 24`):String(e||""),YC=e=>{if(!e||typeof e!="object")return;const t=e.metadata;if(!t||typeof t!="object")return;const a=t[ip];return typeof a=="string"?a:void 0};function XC(e){return e.type==="image"&&e.image_url?{...e,image_url:Ua(e.image_url)}:e.type==="audio"&&e.data?{...e,data:Ua(e.data)}:e.type==="video"&&e.video_url?{...e,video_url:Ua(e.video_url)}:e.type==="file"&&(e.file_url||e.file_id)?{...e,file_url:Ua(e.file_url||e.file_id),file_name:e.filename||e.file_name||"file"}:e}function up(e){if(typeof e=="string")return[{type:"text",text:e,status:"created"}];if(!Array.isArray(e))return[{type:"text",text:String(e||""),status:"created"}];const t=e.map(XC).map(a=>({...a,status:"created"}));return t.length===0?[{type:"text",text:"",status:"created"}]:t}function pp(e){return typeof e=="string"||!Array.isArray(e)?e:e.map(t=>t.type==="file"?{...t,file_name:t.filename||t.file_name||"file"}:t)}const mp=e=>({...e,role:e.type===QC&&e.role==="system"?$C:e.role,metadata:e.metadata??null});function uo(e){const t=up(e.content);return{id:e.id||Hi(),role:"user",cards:[{code:"AgentScopeRuntimeRequestCard",data:{created_at:co(e),input:[{role:"user",type:"message",content:t,metadata:e.metadata??null}]}}]}}const hp=e=>{const t=Math.floor(Date.now()/1e3),a=e.reduce((l,d)=>Math.max(l,d.sequence_number||0),0),n=co(e[0]),o=co(e[e.length-1]),i=e.reduce((l,d)=>Math.max(l,cp(d)),0),s=e.map(l=>({...l,content:pp(l.content)})),r=tp(e);return{id:Hi(),role:sp,cards:[{code:rp,data:{id:`response_${Hi()}`,output:s,object:"response",status:"completed",created_at:n||t,sequence_number:a+1,error:null,completed_at:i||o||t,usage:(r==null?void 0:r.usage)??null,context_usage:(r==null?void 0:r.context_usage)??null}}],msgStatus:"finished"}},gp=e=>{const t=[],a=e.length;let n=0;for(;n<a;)if(e[n].role===lo)t.push(uo(e[n++]));else{const o=n;for(;n<a&&e[n].role!==lo;)n++;const i=e.slice(o,n).map(mp);i.length&&t.push(hp(i))}return t},ZC=e=>({id:e.id,name:e.name||$n,sessionId:e.session_id,userId:e.user_id,channel:e.channel,messages:[],meta:e.meta||{},status:e.status??"idle",createdAt:e.created_at??null,updatedAt:e.updated_at??null,lastFinishedAt:e.last_finished_at??null,pinned:e.pinned??!1,source:e.source??"chat",groupId:e.group_id??null,parentSessionId:e.parent_session_id??null,rootSessionId:e.root_session_id??null,archived:e.archived??!1,archivedAt:e.archived_at??null}),Je=e=>/^\d+-[a-z0-9]+$/.test(e),fp=e=>e.status==="running",bp=(e,t)=>{const a=e.find(i=>i.id===t&&i.realId);if(a!=null&&a.realId)return{list:e,realId:a.realId};let n=e.find(i=>i.sessionId===t&&!i.realId&&i.id!==t);if(n||(n=e.find(i=>i.id===t&&!i.realId)),!n)return{list:e,realId:null};if(Je(n.id))return{list:e,realId:null};const o=n.id;return n.realId=o,n.id=t,{list:[n,...e.filter(i=>i!==n)],realId:o}},Bs="qwenpaw_pending_user_msg_";function Mn(e,t){try{const a=typeof t=="string"?t:JSON.stringify(t);sessionStorage.setItem(`${Bs}${e}`,a)}catch{}}function Jo(e){try{const t=sessionStorage.getItem(`${Bs}${e}`);if(!t)return null;try{const a=JSON.parse(t);if(a&&typeof a=="object"&&"text"in a)return a}catch{}return{text:t}}catch{return null}}function Dn(e){try{sessionStorage.removeItem(`${Bs}${e}`)}catch{}}const ca=class ca{constructor(){V(this,"sessionList",[]);V(this,"_prevReturnedList",null);V(this,"preferredChatId",null);V(this,"lastActiveChatId",null);V(this,"isSessionSwitching",!1);V(this,"switchAbortController",null);V(this,"userInitiatedCreate",!1);V(this,"sessionResultCache",new Map);V(this,"convertedSessionCache",new Map);V(this,"activeOwner",{agentId:"",generation:0});V(this,"sessionListRequest",null);V(this,"resolvePromise",null);V(this,"sessionRequests",new Map);V(this,"onSessionIdResolved",null);V(this,"onSessionRemoved",null);V(this,"onSessionSelected",null);V(this,"lastNavigatedChatId",null);
24V(this,"onSessionCreated",null);V(this,"lastSelectedIds",new Set)}startNewSwitch(){var a;(a=this.switchAbortController)==null||a.abort();const t=new AbortController;return this.switchAbortController=t,this.isSessionSwitching=!0,t}getCachedConvertedSession(t,a){const n=this.convertedSessionCache.get(t);return n?Date.now()-n.timestamp>ca.CONVERTED_CACHE_TTL?(this.convertedSessionCache.delete(t),null):a&&(!n.updatedAt||a>n.updatedAt)?(this.convertedSessionCache.delete(t),null):(this.convertedSessionCache.delete(t),this.convertedSessionCache.set(t,n),n.session):null}setCachedConvertedSession(t,a,n){if(this.convertedSessionCache.size>=ca.CONVERTED_CACHE_MAX){const o=this.convertedSessionCache.keys().next().value;o&&this.convertedSessionCache.delete(o)}this.convertedSessionCache.set(t,{session:a,timestamp:Date.now(),updatedAt:n})}invalidateConvertedCache(t){this.convertedSessionCache.delete(t)}async preloadSession(t,a){const n=this.getActiveOwner();try{const o=await this.getSession(t,a);if(!this.isActiveOwner(n))throw new DOMException("Aborted","AbortError");const s=o.realId||null,r={session:o,owner:n};return this.sessionResultCache.set(t,r),s&&this.sessionResultCache.set(s,r),setTimeout(()=>{this.sessionResultCache.get(t)===r&&this.sessionResultCache.delete(t),s&&this.sessionResultCache.get(s)===r&&this.sessionResultCache.delete(s)},3e3),{session:o,realId:s}}catch(o){throw this.isActiveOwner(n)?(o instanceof DOMException&&o.name==="AbortError"||(this.isSessionSwitching=!1),o):new DOMException("Aborted","AbortError")}}finishSessionSwitch(){this.isSessionSwitching=!1,this.switchAbortController=null}setActiveAgent(t){var a;return this.activeOwner.agentId===t?this.activeOwner:(this.activeOwner={agentId:t,generation:this.activeOwner.generation+1},this.sessionListRequest=null,this.resolvePromise=null,this.sessionRequests.clear(),this.sessionResultCache.clear(),this.convertedSessionCache.clear(),this.sessionList=[],this._prevReturnedList=null,this.lastSelectedIds.clear(),this.isSessionSwitching=!1,(a=this.switchAbortController)==null||a.abort(),this.switchAbortController=null,this.activeOwner)}getActiveOwner(){return this.activeOwner}isActiveOwner(t){return t.agentId===this.activeOwner.agentId&&t.generation===this.activeOwner.generation}applySessionView(t,a){this.isActiveOwner(a)&&(this.updateWindowVariables(t),JC(t.messages??[]))}resetForTests(){this.activeOwner={agentId:"",generation:0},this.sessionListRequest=null,this.resolvePromise=null,this.sessionRequests.clear(),this.sessionResultCache.clear(),this.convertedSessionCache.clear(),this.sessionList=[],this._prevReturnedList=null,this.lastSelectedIds.clear(),this.preferredChatId=null,this.lastActiveChatId=null,this.lastNavigatedChatId=null,this.isSessionSwitching=!1,this.switchAbortController=null,this.userInitiatedCreate=!1,this.onSessionIdResolved=null,this.onSessionRemoved=null,this.onSessionSelected=null,this.onSessionCreated=null}setLastUserMessage(t,a,n,o){!t||!a||(this.invalidateConvertedCache(t),n&&n.length>0?Mn(t,{text:a,content:n,clientMessageId:o}):o?Mn(t,{text:a,clientMessageId:o}):Mn(t,a))}discardLastUserMessage(t,a){if(!t)return;const n=Jo(t);n&&(a&&n.clientMessageId&&n.clientMessageId!==a||Dn(t))}patchLastUserMessage(t,a,n){var r,l,d,u,p,m,k,g,b,y;const o=Jo(n);if(!o||!o.text)return a||Dn(n),!1;if(!a){let T="",S;for(let w=t.length-1;w>=0;w--){if(t[w].role!==lo)continue;const C=(p=(u=(d=(l=(r=t[w])==null?void 0:r.cards)==null?void 0:l[0])==null?void 0:d.data)==null?void 0:u.input)==null?void 0:p[0];T=Ui(C==null?void 0:C.content),S=YC(C==null?void 0:C.metadata);break}if(o.clientMessageId?S===o.clientMessageId:T.trim()===o.text.trim())return Dn(n),!1}const i=o.content??[{type:"text",text:o.text}],s=t[t.length-1];return(s==null?void 0:s.role)===lo?Ui((y=(b=(g=(k=(m=s==null?void 0:s.cards)==null?void 0:m[0])==null?void 0:k.data)==null?void 0:g.input)==null?void 0:b[0])==null?void 0:y.content)||(s.cards=uo({content:i}).cards):t.push(uo({content:i})),!0}createEmptySession(t,a){return this.isActiveOwner(a)&&(window.currentSessionId=t,window.currentUserId=Ft,window.currentChannel=bt,Ge.getState().setSnapshot(null)),{id:t,name:$n,sessionId:t,userId:Ft,channel:bt,messages:[],meta:{}}}updateWindowVariables(t){window.currentSessionId=t.sessionId||"",window.currentUserId=t.userId||Ft,window.currentChannel=t.channel||bt}resetWindowIdentity(){window.currentSessionId="",window.currentUserId=Ft,window.currentChannel=bt}findSession(t){return this.sessionList.find(a=>a.id===t||a.realId===t)}getRealIdForSession(t){var a;return((a=this.findSession(t))==null?void 0:a.realId)??null}getEffectiveSessionId(t,a){return a??this.getRealIdForSession(t)??t}trackNavigatedSession(t,a,n){this.lastActiveChatId=t,this.lastNavigatedChatId=t,a&&n&&!Je(t)&&a(n,t)}isUnresolvedLocalSession(t){if(!Je(t))return!1;const a=this.findSession(t);return!!a&&!a.realId}getBackendSessionId(t){var a;return((a=this.findSession(t))==null?void 0:a.sessionId)||t}getSessionIdentity(){const t=this.lastActiveChatId?this.findSession(this.lastActiveChatId):void 0;if(t!=null&&t.userId)return{sessionId:t.sessionId||"",userId:t.userId,channel:t.channel||bt};const a=window.currentSessionId||"",n=a?this.sessionList.find(o=>o.sessionId===a||o.id===a):void 0;return n!=null&&n.userId?{sessionId:n.sessionId||"",userId:n.userId,channel:n.channel||bt}:{sessionId:Je(a)?a:"",userId:Ft,channel:bt}}applyChatsToSessionList(t){const a=this.sessionList[0],n=a&&Je(a.id)&&!a.realId?a:null,o=t.filter(r=>r.id&&r.id!=="undefined"&&r.id!=="null").map(ZC).reverse(),i=new Set;if(this.sessionList=o.map(r=>{const l=r;let d=this.sessionList.find(p=>{if(i.has(p.id))return!1;const m=p;return p.id===r.id||m.realId!=null&&m.realId===r.id});if(d||(d=this.sessionList.find(p=>i.has(p.id)?!1:p.sessionId===l.sessionId)),!d)return r;i.add(d.id);const u={...r};return d.realId&&(u.id=d.id,u.realId=d.realId),d.generating&&l.status!=="idle"&&(u.generating=d.generating),u}),n&&!i.has(n.id)&&(this.sessionList=[n,...this.sessionList]),this.preferredChatId){const r=this.preferredChatId;this.preferredChatId=null;let l=this.sessionList.findIndex(d=>d.id===r);if(l<0&&Je(r)&&(l=this.sessionList.findIndex(d=>d.sessionId===r),l>=0)){const d=this.sessionList[l];d.realId=d.id,d.id=r}if(l>0){const[d]=this.sessionList.splice(l,1);this.sessionList.unshift(d)}}if(this._prevReturnedList&&this.isSessionListEqual(this._prevReturnedList,this.sessionList))return this._prevReturnedList;const s=[...this.sessionList];return this._prevReturnedList=s,s}isSessionListEqual(t,a){if(t.length!==a.length)return!1;for(let n=0;n<t.length;n++){const o=t[n],i=a[n];if(o.id!==i.id||o.name!==i.name||o.status!==i.status||o.updatedAt!==i.updatedAt||o.lastFinishedAt!==i.lastFinishedAt||o.createdAt!==i.createdAt||o.pinned!==i.pinned||o.generating!==i.generating||o.realId!==i.realId||o.sessionId!==i.sessionId||o.userId!==i.userId||o.channel!==i.channel||o.archivedAt!==i.archivedAt||o.archived!==i.archived||o.source!==i.source||o.groupId!==i.groupId||o.parentSessionId!==i.parentSessionId||o.rootSessionId!==i.rootSessionId)return!1}return!0}async getSessionList(){if(this.sessionListRequest&&this.isActiveOwner(this.sessionListRequest.owner))return this.sessionListRequest.promise;const t=this.getActiveOwner(),a={owner:t};return a.promise=(async()=>{try{const n=await ua.listChats({archived:!1,include_app_owned:!1}
24);return this.isActiveOwner(t)?this.applyChatsToSessionList(n):this._prevReturnedList??[...this.sessionList]}finally{this.sessionListRequest===a&&(this.sessionListRequest=null)}})(),this.sessionListRequest=a,a.promise}async getSession(t,a){var l;const n=this.getActiveOwner(),o=this.sessionResultCache.get(t);if(o&&this.isActiveOwner(o.owner))return o.session;const i=this.sessionRequests.get(t);if(i&&this.isActiveOwner(i.owner))return i.promise;const s=this._doGetSession(t,a,n),r={promise:s,owner:n};this.sessionRequests.set(t,r);try{const d=await s,p=d.realId||null;return this.isActiveOwner(n)&&!this.lastSelectedIds.has(t)&&(this.lastSelectedIds.clear(),this.lastSelectedIds.add(t),p&&this.lastSelectedIds.add(p),(l=this.onSessionSelected)==null||l.call(this,t,p)),d}finally{this.sessionRequests.get(t)===r&&this.sessionRequests.delete(t)}}async fetchAndBuildSession(t,a,n,o,i){if(!(n!=null&&n.generating)){const m=this.getCachedConvertedSession(a,n==null?void 0:n.updatedAt);if(m)return m.id=t,n!=null&&n.name&&(m.name=n.name),this.applySessionView(m,i),m}const r=await ua.getChat(a,{signal:o,include_app_owned:!1});if(o!=null&&o.aborted)throw new DOMException("Aborted","AbortError");const l=fp(r),d=gp(r.messages||[]),u=this.patchLastUserMessage(d,l,a),p={id:t,name:(n==null?void 0:n.name)||$n,sessionId:(n==null?void 0:n.sessionId)||t,userId:(n==null?void 0:n.userId)||Ft,channel:(n==null?void 0:n.channel)||bt,messages:d,meta:(n==null?void 0:n.meta)||{},realId:n==null?void 0:n.realId,generating:l};return!l&&!u&&this.isActiveOwner(i)&&this.setCachedConvertedSession(a,p,(n==null?void 0:n.updatedAt)??null),this.applySessionView(p,i),p}async _doGetSession(t,a,n){var o;if(!t||t==="undefined"||t==="null")return this.isActiveOwner(n)&&Ge.getState().setSnapshot(null),{id:t||"",name:"",sessionId:"",userId:Ft,channel:bt,messages:[],meta:{}};if(Je(t)){const i=this.findSession(t);if(i!=null&&i.realId)try{return await this.fetchAndBuildSession(t,i.realId,i,a,n)}catch{return this.applySessionView(i,n),i}if(i&&this.resolvePromise){await this.resolvePromise;const s=this.findSession(t);if(s!=null&&s.realId)try{return await this.fetchAndBuildSession(t,s.realId,s,a,n)}catch{return this.applySessionView(s,n),s}}return i?(this.applySessionView(i,n),i):this.createEmptySession(t,n)}try{return await this.fetchAndBuildSession(t,t,this.findSession(t),a,n)}catch(i){if((o=i.message)!=null&&o.includes("Chat not found")){const s=this.createEmptySession(t,n);return s.id=t,s}throw i}}resolveAndNotify(t,a){var i;if(!this.isActiveOwner(a))return;const{list:n,realId:o}=bp(this.sessionList,t);if(this.sessionList=n,o){Gt(this.sessionList);const s=Jo(t);s&&(Mn(o,s),Dn(t)),(i=this.onSessionIdResolved)==null||i.call(this,t,o)}}triggerResolve(t){if(!Je(t))return;const a=this.findSession(t);if(!a||a.realId)return;const n=this.getActiveOwner();this.sessionListRequest=null;const o=this.getSessionList().then(()=>this.resolveAndNotify(t,n)).finally(()=>{this.resolvePromise===o&&(this.resolvePromise=null)});this.resolvePromise=o}async updateSession(t){const{messages:a,...n}=t,o=this.sessionList.findIndex(i=>i.id===n.id);return o>-1?this.sessionList[o]={...this.sessionList[o],...n}
24:await this.getSessionList(),[...this.sessionList]}async createSession(t){var s,r;const a=this.userInitiatedCreate;this.userInitiatedCreate=!1;const n=this.sessionList.find(l=>Je(l.id)&&!l.realId);if(n)return t.id=n.id,a&&((s=this.onSessionCreated)==null||s.call(this,n.id)),[...this.sessionList];if(!a&&this.lastActiveChatId&&!Je(this.lastActiveChatId)){const l=this.findSession(this.lastActiveChatId);return l&&(t.id=l.id),[...this.sessionList]}const o=`${Date.now()}-${lp(7)}`,i=this.createEmptySession(o,this.getActiveOwner());return i.name=t.name||$n,this.sessionList.unshift(i),t.id=o,(r=this.onSessionCreated)==null||r.call(this,o),[...this.sessionList]}async removeSession(t){var r;if(!t.id)return[...this.sessionList];const{id:a}=t,n=this.findSession(a),o=(n==null?void 0:n.realId)??(Je(a)?null:a);o&&await ua.deleteChat(o),o&&this.invalidateConvertedCache(o),n!=null&&n.realId&&this.invalidateConvertedCache(n.realId);const i=(n==null?void 0:n.id)??a;this.sessionList=this.sessionList.filter(l=>l.id!==i);const s=(n==null?void 0:n.realId)??a;return(r=this.onSessionRemoved)==null||r.call(this,s),[...this.sessionList]}};V(ca,"CONVERTED_CACHE_MAX",10),V(ca,"CONVERTED_CACHE_TTL",300*1e3);let qi=ca;const ie=new qi;ie.setActiveAgent(We.getState().selectedAgent);We.subscribe(e=>{ie.setActiveAgent(e.selectedAgent)});const ew={convertMessages:gp,buildUserCard:uo,buildResponseCard:hp,toOutputMessage:mp,normalizeOutputMessageContent:pp,contentToRequestParts:up,extractTextFromContent:Ui,parseTimestamp:co,parseFinishedAt:cp,isLocalTimestamp:Je,isGenerating:fp,resolveRealId:bp},tw=Object.freeze(Object.defineProperty({__proto__:null,__test__:ew,default:ie},Symbol.toStringTag,{value:"Module"})),ji="qwenpaw:message-queue:";function Gi(e){return`${ji}${e}`}function aw(e){try{const t=Gi(e);let a=localStorage.getItem(t);if(!a)try{const n=sessionStorage.getItem(t);n&&(localStorage.setItem(t,n),sessionStorage.removeItem(t),a=n)}catch{}if(a){const n=JSON.parse(a);return Array.isArray(n)?{items:n,runState:"idle"}:n}}catch{}return null}function dt(e,t,a){try{t.length>0?localStorage.setItem(Gi(e),JSON.stringify({items:t,runState:a})):localStorage.removeItem(Gi(e))}catch{}}let nw=0;function ow(){return"mq-"+Date.now().toString(36)+"-"+(++nw).toString(36)}let La=null;function kp(){if(La)return La;if(typeof BroadcastChannel>"u")return null;try{La=new BroadcastChannel("qwenpaw:queue")}catch{La=null}return La}function Tt(e){const t=kp();if(t)try{t.postMessage(e)}catch{}}function yp(){return typeof navigator>"u"?null:navigator.locks??null}async function nB(e,t){const a=yp();if(!a)return await t();try{return await a.request(`qwenpaw:queue-send:${e}`,{ifAvailable:!0},async o=>o?await t():null)}catch{return null}}function oB(e,t,a){const n=yp();return n?n.request(`qwenpaw:queue-owner:${e}`,{mode:"exclusive",signal:a},async o=>{o&&(a.aborted||(t(),await new Promise(i=>{if(a.aborted){i();return}a.addEventListener("abort",()=>i(),{once:!0})})))}).then(()=>{}).catch(()=>{}):(t(),Promise.resolve())}const iw=50,qa=ft((e,t)=>({queues:{},runStates:{},currentSendingId:null,lastMigratedTo:null,enqueue:(a,n)=>{var l;const o=t().queues[a]??[];if(o.length>=iw)return;let i;try{const d=sessionStorage.getItem("qwenpaw-agent-storage")||localStorage.getItem("qwenpaw-agent-storage");if(d){const u=JSON.parse(d);i=((l=u==null?void 0:u.state)==null?void 0:l.selectedAgent)||void 0}}catch{}const s=window.currentSessionId||void 0,r={id:ow(),clientMessageId:KC(),text:n.text,attachments:n.attachments,images:n.images,mentions:n.mentions,quote:n.quote,agentId:i,backendSessionId:s,userId:n.userId,channel:n.channel,status:"pending",retryCount:0,createdAt:Date.now()};e(d=>{const u=[...o,r],p={...d.queues,[a]:u};return dt(a,u,t().runStates[a]??"idle"),Tt({type:"enqueue",sessionId:a,items:u}),{queues:p}})},remove:(a,n)=>{e(o=>{const s=(o.queues[a]??[]).filter(l=>l.id!==n),r={...o.queues,[a]:s};return dt(a,s,t().runStates[a]??"idle"),Tt({type:"remove",sessionId:a,items:s}),{queues:r}})},edit:(a,n,o)=>{e(i=>{const r=(i.queues[a]??[]).map(d=>d.id===n?{...d,text:o}:d),l={...i.queues,[a]:r};return dt(a,r,t().runStates[a]??"idle"),Tt({type:"edit",sessionId:a,items:r}),{queues:l}})},reorder:(a,n)=>{e(o=>{const i={...o.queues,[a]:n};return dt(a,n,t().runStates[a]??"idle"),Tt({type:"reorder",sessionId:a,items:n}),{queues:i}})},clear:a=>{e(n=>{const o={...n.queues};delete o[a];const i={...n.runStates};return delete i[a],dt(a,[],"idle"),Tt({type:"clear",sessionId:a,items:[]}),{queues:o,runStates:i}})},migrateQueue:(a,n)=>{a!==n&&e(o=>{const i=o.queues[a]??[],r=[...o.queues[n]??[],...i],l={...o.queues,[n]:r};delete l[a];const d={...o.runStates};!d[n]&&d[a]&&(d[n]=d[a]),delete d[a];const u=d[n]??"idle";return dt(n,r,u),dt(a,[],"idle"),Tt({type:"migrate",sessionId:a,toSessionId:n,items:r}),{queues:l,runStates:d,lastMigratedTo:n}})},setItemStatus:(a,n,o,i)=>{e(s=>{const l=(s.queues[a]??[]).map(u=>u.id===n?{...u,status:o,errorMessage:i,retryCount:u.retryCount+(o==="failed"?1:0)}:u),d={...s.queues,[a]:l};return dt(a,l,t().runStates[a]??"idle"),Tt({type:"setItemStatus",sessionId:a,items:l}),{queues:d}})},setRunState:(a,n)=>{e(i=>({runStates:{...i.runStates,[a]:n}}));const o=t().queues[a]??[];dt(a,o,n),Tt({type:"runState",sessionId:a,runState:n})},getRunState:a=>t().runStates[a]??"idle",setCurrentSendingId:a=>{e({currentSendingId:a})},consumeMigratedTo:()=>
24{const a=t().lastMigratedTo;return a!==null&&e({lastMigratedTo:null}),a},getQueue:a=>t().queues[a]??[],persistToStorage:a=>{const n=t().queues[a]??[];dt(a,n,t().runStates[a]??"idle")},loadFromStorage:a=>{const n=aw(a);e(n?o=>({queues:{...o.queues,[a]:n.items},runStates:{...o.runStates,[a]:n.runState==="paused"?"paused":"idle"}}):o=>{if(!(a in o.queues))return o;const i={...o.queues};return delete i[a],{queues:i}})},applyRemoteItems:(a,n)=>{e(o=>{const i={...o.queues};return n.length===0?delete i[a]:i[a]=n,{queues:i}})},applyRemoteRunState:(a,n)=>{e(o=>({runStates:{...o.runStates,[a]:n}}))}}));if(typeof window<"u"){const e=kp();e&&e.addEventListener("message",t=>{const a=t.data;if(!a||typeof a!="object")return;const n=qa.getState();if(a.type==="migrate"){n.applyRemoteItems(a.sessionId,[]),a.toSessionId&&a.items&&n.applyRemoteItems(a.toSessionId,a.items);return}if(a.type==="runState"&&a.runState){qa.getState().applyRemoteRunState(a.sessionId,a.runState);return}a.items&&n.applyRemoteItems(a.sessionId,a.items)}),window.addEventListener("storage",t=>{if(!t.key||!t.key.startsWith(ji))return;const a=t.key.slice(ji.length),n=qa.getState();if(t.newValue==null){n.applyRemoteItems(a,[]);return}try{const o=JSON.parse(t.newValue),i=Array.isArray(o)?o:o.items??[];n.applyRemoteItems(a,i),!Array.isArray(o)&&o.runState==="paused"&&qa.getState().applyRemoteRunState(a,"paused")}catch{}})}const sw="index-module__contextMenu__EqTZr",rw="index-module__menuItem__xUJ9T",lw="index-module__danger__2VteC",dw="index-module__disabled__ukK5G",cw="index-module__menuIcon__osLml",uw="index-module__menuLabel__EFrCh",pw="index-module__divider__9z5HR",Ot={contextMenu:sw,menuItem:rw,danger:lw,disabled:dw,menuIcon:cw,menuLabel:uw,divider:pw};function mw({visible:e,x:t,y:a,items:n,onClose:o}){const i=h.useRef(null),s=h.useCallback(()=>{if(!i.current||!e)return;const r=i.current,l=r.getBoundingClientRect(),d=window.innerWidth,u=window.innerHeight;let p=t,m=a;t+l.width>d&&(p=d-l.width-8),a+l.height>u&&(m=u-l.height-8),r.style.left=`${Math.max(8,p)}px`,r.style.top=`${Math.max(8,m)}px`},[t,a,e]);return h.useEffect(()=>{if(!e)return;requestAnimationFrame(s);const r=u=>{i.current&&!i.current.contains(u.target)&&o()},l=()=>o(),d=u=>{u.key==="Escape"&&o()};return document.addEventListener("mousedown",r),document.addEventListener("scroll",l,!0),document.addEventListener("keydown",d),window.addEventListener("resize",o),()=>{document.removeEventListener("mousedown",r),document.removeEventListener("scroll",l,!0),document.removeEventListener("keydown",d),window.removeEventListener("resize",o)}},[e,o,s]),e?tm.createPortal(c.jsx("div",{ref:i,className:Ot.contextMenu,style:{left:t,top:a},children:n.map(r=>r.divider?c.jsx("div",{className:Ot.divider},r.key):c.jsxs("div",{className:`${Ot.menuItem} ${r.danger?Ot.danger:""} ${r.disabled?Ot.disabled:""}`,onClick:l=>{var d;l.stopPropagation(),!r.disabled&&((d=r.onClick)==null||d.call(r),o())},children:[r.icon&&c.jsx("span",{className:Ot.menuIcon,children:r.icon}),c.jsx("span",{className:Ot.menuLabel,children:r.label})]},r.key))}),document.body):null}function vp(){const[e,t]=Ne.useState({visible:!1,x:0,y:0}),a=h.useCallback(o=>{o.preventDefault(),o.stopPropagation(),t({visible:!0,x:o.clientX,y:o.clientY})},[]),n=h.useCallback(()=>{t(o=>({...o,visible:!1}))},[]);return{...e,show:a,hide:n}}function $l(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++){const n=e[a],o=t[a];if(n.id!==o.id||n.name!==o.name||n.updatedAt!==o.updatedAt||n.lastFinishedAt!==o.lastFinishedAt||n.pinned!==o.pinned||n.generating!==o.generating||n.status!==o.status||n.archived!==o.archived||n.groupId!==o.groupId||n.source!==o.source)return!1}return!0}const da=e=>{if(e.realId)return e.realId;const t=e.id;return/^\d+-[a-z0-9]+$/.test(t)?null:t},hw=e=>{if(!e)return"";const t=new Date(e);if(isNaN(t.getTime()))return"";const a=n=>String(n).padStart(2,"0");return`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())} ${a(t.getHours())}:${a(t.getMinutes())}:${a(t.getSeconds())}`};function Tp(e,t,a){const{t:n}=ve(),{message:o}=dn(),{active:i,currentSessionId:s,onSessionClick:r}=a,l=We(D=>
24D.selectedAgent),[d,u]=h.useState(!0),[p,m]=h.useState(null),[k,g]=h.useState(null),[b,y]=h.useState(""),T=vp(),[S,P]=h.useState(null),w=h.useRef([]),C=h.useCallback(async()=>{const D=ie.getActiveOwner();try{const N=await ie.getSessionList();if(!ie.isActiveOwner(D))return;const H=N;t(H),Gt(H)}catch(N){console.error("useSessionListData: failed to fetch sessions",N)}},[t]);h.useEffect(()=>{if(!i)return;let D=!1;const N=ie.getActiveOwner();(async()=>{u(!0);try{const O=await ie.getSessionList();if(!D&&ie.isActiveOwner(N)){const q=O;$l(w.current,q)||(w.current=q,t(q),Gt(q))}}catch(O){console.error("useSessionListData: failed to fetch sessions",O)}finally{D||u(!1)}})();const M=setInterval(async()=>{if(!ie.isSessionSwitching)try{const O=await ie.getSessionList();if(!D&&ie.isActiveOwner(N)){const q=O;$l(w.current,q)||(w.current=q,t(q),Gt(q))}}catch{}},3e3);return()=>{D=!0,clearInterval(M)}},[i,t,l]);const x=h.useMemo(()=>e.filter(D=>{const N=D.id??"";return!(/^\d+-[a-z0-9]+$/.test(N)&&!D.realId)}),[e]),I=h.useMemo(()=>[...x].filter(D=>!D.archived).sort((D,N)=>{const H=D.updatedAt??D.createdAt??"",M=N.updatedAt??N.createdAt??"";return!H&&!M?0:H?M?M<H?-1:M>H?1:0:-1:1}),[x]),R=h.useCallback(D=>{D!==s&&(m(D),r(D))},[s,r]);h.useEffect(()=>{m(null)},[s]),h.useEffect(()=>{const D=()=>m(null);return window.addEventListener("qwenpaw:sidebar-switch-done",D),()=>window.removeEventListener("qwenpaw:sidebar-switch-done",D)},[]);const _=h.useCallback(async D=>{var K;const N=ie.getActiveOwner(),H=e.find(pe=>pe.id===D),M=H?da(H):null;M&&await _e.deleteChat(M),localStorage.removeItem(`approval_level-${D}`);const O=qa.getState();if(O.clear(D),M&&M!==D&&O.clear(M),!ie.isActiveOwner(N))return;(K=ie.onSessionRemoved)==null||K.call(ie,M??D);const q=await ie.getSessionList();ie.isActiveOwner(N)&&(t(q),Gt(q),s&&(q.some(ge=>ge.id===s||ge.realId===s)||window.dispatchEvent(new CustomEvent("qwenpaw:sidebar-new-chat"))))},[e,s,t]),A=h.useCallback((D,N)=>{g(D),y(N)},[]),L=h.useCallback(D=>{y(D)},[]),j=h.useCallback(async()=>{if(!k)return;const D=ie.getActiveOwner(),N=e.find(O=>O.id===k),H=N?da(N):null,M=b.trim();H&&M&&await _e.updateChat(H,{name:M}),g(null),y(""),ie.isActiveOwner(D)&&await C()},[k,b,e,C]),U=h.useCallback(()=>{g(null),y("")},[]),z=h.useCallback(async D=>{const N=ie.getActiveOwner(),H=e.find(q=>q.id===D),M=H?da(H):null;if(!M)return;const O=!!(H!=null&&H.archived);try{if(O?await _e.unarchiveChat(M):await _e.archiveChat(M),!ie.isActiveOwner(N))return;o.success(O?n("sessions.archive.unarchiveSuccess","Chat unarchived"):n("sessions.archive.successHint")),await C(),!O&&s&&(D===s||M===s)&&window.dispatchEvent(new CustomEvent("qwenpaw:sidebar-new-chat"))}catch(q){console.error("Failed to toggle archive status:",q),o.error(n("sessions.archive.failed","Failed to update archive status"))}},[e,s,C,o,n]),W=h.useCallback(async(D,N)=>{const H=ie.getActiveOwner(),M=e.find(q=>q.id===D),O=M?da(M):null;if(O)try{if(await _e.updateChat(O,{pinned:N}),!ie.isActiveOwner(H))return;await C()}catch(q){console.error("Failed to update conversation pin:",q),o.error(n("chat.contextMenu.pinFailed","Could not update pinned state"))}},[o,C,e,n]),Q=h.useCallback((D,N)=>{P(D),T.show(N)},[T]),he=h.useMemo(()=>{if(!S)return[];const D=e.find(N=>N.id===S);return[{key:"open",label:n("chat.contextMenu.open","Open"),onClick:()=>R(S)},{key:"rename",label:n("chat.contextMenu.rename","Rename"),onClick:()=>A(S,(D==null?void 0:D.name)||"New Chat")},{key:"pin",label:D!=null&&D.pinned?n("chat.contextMenu.unpin","Unpin"):n("chat.contextMenu.pin","Pin"),onClick:()=>W(S,!(D!=null&&D.pinned))},{key:"archive",label:D!=null&&D.archived?n("sessions.archive.unaction","Unarchive"):n("sessions.archive.action","Archive"),onClick:()=>z(S)},{key:"divider-1",label:"",divider:!0},{key:"delete",label:n("chat.contextMenu.delete","Delete"),danger:!0,onClick:()=>_(S)}]},[S,e,n,R,A,z,W,_]);return{sortedSessions:I,loading:d,switchingSessionId:p,editingSessionId:k,editValue:b,t:n,handleSessionClick:R,handleEditStart:A,handleDelete:_,handleArchiveToggle:z,handlePinToggle:W,handleEditChange:L,handleEditSubmit:j,handleEditCancel:U,handleItem
24ContextMenu:Q,contextMenu:T,contextMenuItems:he,refreshSessions:C}}const gw=Object.freeze(Object.defineProperty({__proto__:null,ContextMenu:mw,formatCreatedAt:hw,getBackendId:da,getChannelLabel:Pt,useContextMenu:vp,useSessionListData:Tp},Symbol.toStringTag,{value:"Module"}));function Sp(e){const t=e.match(/^\/chat\/(.+)$/);return t==null?void 0:t[1]}const Ql="/chat";function Jl(e){return e?`${Ql}/${e}`:Ql}function fw(e){if(!e)return"older";const t=new Date(e);if(isNaN(t.getTime()))return"older";const a=new Date,n=new Date(a.getFullYear(),a.getMonth(),a.getDate()),o=new Date(t.getFullYear(),t.getMonth(),t.getDate()),i=Math.floor((n.getTime()-o.getTime())/(1e3*60*60*24));return i<=0?"today":i<7?"week":i<30?"month":"older"}function bw(e,t){return t?e.findIndex(a=>{var n,o;return a.kind==="session"&&(((n=a.session)==null?void 0:n.id)===t||((o=a.session)==null?void 0:o.realId)===t)}):-1}const kw="default",yw="cron",vw="subagents";function Cp(e){return e.source==="cron"?yw:e.source==="subagent"?vw:kw}function Ns(e){return e.groupId?e.groupId:Cp(e)}function Tw(e,t){return e.map(a=>a.kind==="default"&&a.name==="Uncategorized"?{...a,name:t.default}:a.kind==="cron"?{...a,name:t.cron}:a.kind==="subagents"?{...a,name:t.subagents}:a)}function Sw(e,t){const a=new Map,n=new Set(t.map(s=>s.id));for(const s of e){const r=Ns(s),l=n.has(r)?r:Cp(s),d=a.get(l)??[];d.push(s),a.set(l,d)}const o=[],i=[...t].sort((s,r)=>+(s.kind==="cron"||s.kind==="subagents")-+(r.kind==="cron"||r.kind==="subagents")||(s.kind!=="custom"&&r.kind!=="custom"?+(s.kind==="subagents")-+(r.kind==="subagents"):0)||Number(r.pinned)-Number(s.pinned)||s.order-r.order);for(const s of i)o.push({group:s,sessions:a.get(s.id)??[]});return o}function Cw(e){const t={pinned:[],today:[],week:[],month:[],older:[]};for(const a of e){const n=a.pinned?"pinned":fw(a.updatedAt??a.createdAt);t[n].push(a)}return["pinned","today","week","month","older"].filter(a=>t[a].length>0).map(a=>({key:a,sessions:t[a]}))}function ww(e,t){for(let a=Math.min(t,e.length-1);a>=0;a-=1)if(e[a].kind==="groupHeader")return a===t?null:a;return null}const wp="qwenpaw_collapsed_chat_groups_v3",Pw="cron",Aw="subagents";function Mw(){try{const e=localStorage.getItem(wp);if(e){const t=JSON.parse(e);if(Array.isArray(t))return new Set(t)}}catch{}return new Set([Pw,Aw])}function Yl(e){try{localStorage.setItem(wp,JSON.stringify([...e]))}catch{}}function Dw(){const[e,t]=h.useState(Mw),a=h.useCallback(o=>{t(i=>{const s=new Set(i);return s.has(o)?s.delete(o):s.add(o),Yl(s),s})},[]),n=h.useCallback(o=>{t(i=>{if(!i.has(o))return i;const s=new Set(i);return s.delete(o),Yl(s),s})},[]);return{collapsedGroups:e,toggleGroup:a,expandGroup:n}}function xw(e,t,a){const n=h.useRef(null);h.useEffect(()=>{if(!e){n.current=null;return}if(n.current===e)return;const o=t.find(i=>i.id===e||i.realId===e);o&&(n.current=e,a(Ns(o)))},[e,a,t])}function Rw(e=!0){const t=We(m=>m.selectedAgent),[a,n]=h.useState([]),[o,i]=h.useState(!0),s=h.useCallback(async()=>{const m=await _e.listGroups();n(m)},[]);h.useEffect(()=>{if(!e)return;let m=!1;return i(!0),_e.listGroups().then(k=>{m||n(k)}).catch(k=>{console.error("Failed to load chat groups:",k)}).finally(()=>{m||i(!1)}),()=>{m=!0}},[e,t]);const r=h.useCallback(async m=>{await _e.createGroup(m),await s()},[s]),l=h.useCallback(async(m,k)=>{await _e.updateGroup(m,{name:k}),await s()},[s]),d=h.useCallback(async(m,k)=>{await _e.updateGroup(m,{pinned:k}),await s()},[s]),u=h.useCallback(async m=>{await _e.deleteGroup(m),await s()},[s]),p=h.useCallback(async m=>{const k=await _e.reorderGroups(m);n(k)},[]);return{groups:a,loading:o,refreshGroups:s,createGroup:r,renameGroup:l,pinGroup:d,deleteGroup:u,reorderGroups:p}}const Iw="sessionItem-module__item__8PjKA",_w="sessionItem-module__disabled__-ieAg",Lw="sessionItem-module__drawer__J6BHU",Ew="sessionItem-module__moreBtn__9AQIi",Fw="sessionItem-module__iconPlaceholder__ANJOP",Ow="sessionItem-module__active__KYgJT",Bw="sessionItem-module__editing__CtOg-",Nw="sessionItem-module__content__LJUj6",Hw="sessionItem-module__dropdownOpen__z-NE5",Uw="sessionItem-module__sidebar__IXYlU",qw="sessionItem-module__statusSlot__Sf6iH",jw="sessionItem-module__name__jlj9a",Gw="sessionItem-module__titleRow__9dEps",Vw="sessionItem-module__statusWrap__2uLsL",Ww="sessionItem-module__statusDot__cgOkd",zw="sessionItem-module__statusDotIdle__08m-o",Kw="sessionItem-module__statusDotActive__zP8qF",$w="sessionItem-module__chatStatusBreathe__Y0ZX8",Qw="sessionItem-module__statusDotUnseen__4C1P-",Jw="sessionItem-module__runningDot__Ne3pE",Yw="sessionItem-module__sidebarStatusBreathe__1F80a",Xw="sessionItem-module__unseenDot__HI3Io",Zw="sessionItem-module__idleDot__2McQ5",eP="sessionItem-module__metaRow__LFmE0",tP="sessionItem-module__time__iMJzP",aP="sessionItem-module__channelTag__-gywT",nP="sessionItem-module__channelTagText__Zyog3",oP="sessionItem-module__sourceTag__nf1s3",iP="sessionItem-module__sourceIcon__ZOmt0",sP="sessionItem-module__dragHint__qfNUX",rP="sessionItem-module__pinMark__-4nsr",lP="sessionItem-module__pinButton__A195a",dP="sessionItem-module__actions__-mb--",cP="sessionItem-module__actionButton__OoTnW",uP="sessionItem-module__renameInput__AxSC5",Z={item:Iw,disabled:_w,drawer:Lw,moreBtn:Ew,iconPlaceholder:Fw,active:Ow,editing:Bw,content:Nw,dropdownOpen:Hw,sidebar:Uw,statusSlot:q
24w,name:jw,titleRow:Gw,statusWrap:Vw,statusDot:Ww,statusDotIdle:zw,statusDotActive:Kw,chatStatusBreathe:$w,statusDotUnseen:Qw,runningDot:Jw,sidebarStatusBreathe:Yw,unseenDot:Xw,idleDot:Zw,metaRow:eP,time:tP,channelTag:aP,channelTagText:nP,sourceTag:oP,sourceIcon:iP,dragHint:sP,pinMark:rP,pinButton:lP,actions:dP,actionButton:cP,renameInput:uP},pP=({sessionId:e,name:t,channelKey:a,channelLabel:n,chatStatus:o,generating:i,unseenResult:s=!1,archived:r,pinned:l=!1,source:d,groupId:u,groups:p=[],time:m,active:k,disabled:g,editing:b,editValue:y,variant:T,onClick:S,onEdit:P,onDelete:w,onArchive:C,onPin:x,onMove:I,onEditChange:R,onEditSubmit:_,onEditCancel:A})=>{const{t:L}=ve(),j=h.useRef(null),[U,z]=h.useState(!1),W=h.useRef(!1),Q=i===!0||o==="running",he=d==="subagent",D=d==="cron",N=D?L("chat.groups.cronShort","Cron"):L("chat.groups.subagentShort","Subagent"),H=!Q&&!!o,M=H&&s,O=Q?L("chat.statusInProgress"):M?L("chat.statusUnseenResult","New result"):L("chat.statusIdle"),q=h.useCallback(()=>{g||b||S==null||S(e)},[g,b,S,e]),K=h.useCallback(()=>{P==null||P(e,t),setTimeout(()=>{var J;return(J=j.current)==null?void 0:J.focus()},50)},[P,e,t]),pe=h.useCallback(()=>{const J=(y??"").trim();J&&J!==t?_==null||_():A==null||A()},[y,t,_,A]),ge=h.useMemo(()=>[{key:"rename",icon:c.jsx(Dd,{size:14}),label:L("chat.contextMenu.rename","Rename"),onClick:K},{key:"pin",icon:l?c.jsx(xd,{size:14}):c.jsx(Qa,{size:14}),label:l?L("chat.contextMenu.unpin","Unpin"):L("chat.contextMenu.pin","Pin"),onClick:()=>x==null?void 0:x(e,!l)},{key:"move",icon:c.jsx(ym,{size:14}),label:L("chat.contextMenu.moveToGroup","Move to group"),children:p.map(J=>({key:`move-${J.id}`,label:J.name,disabled:J.id===u,onClick:()=>I==null?void 0:I(e,J.id)}))},{key:"archive",icon:c.jsx(vm,{size:14}),label:r?L("sessions.archive.unaction","Unarchive"):L("sessions.archive.action","Archive"),onClick:()=>C==null?void 0:C(e)},{type:"divider"},{key:"delete",icon:c.jsx(Rd,{size:14}),label:L("chat.contextMenu.delete","Delete"),danger:!0,onClick:()=>w==null?void 0:w(e)}],[r,l,e,L,C,x,w,u,p,I,K]),te=[Z.item,Z[T],k?Z.active:"",g?Z.disabled:"",b?Z.editing:"",U?Z.dropdownOpen:""].filter(Boolean).join(" "),ze=c.jsxs("div",{className:te,"data-pinned":l,onClick:q,role:"button",tabIndex:0,children:[T==="drawer"&&c.jsx("div",{className:Z.iconPlaceholder}),!b&&T==="sidebar"&&c.jsxs("span",{className:Z.statusSlot,children:[Q&&c.jsx("span",{className:Z.runningDot}),M&&c.jsx("span",{className:Z.unseenDot}),H&&!M&&c.jsx("span",{className:Z.idleDot})]}),c.jsxs("div",{className:Z.content,children:[b?c.jsx(Ct,{ref:j,autoFocus:!0,size:"small",value:y,className:Z.renameInput,onChange:J=>R==null?void 0:R(J.target.value),onCompositionStart:()=>{W.current=!0},onCompositionEnd:()=>{W.current=!1},onPressEnter:J=>{!J.nativeEvent.isComposing&&!W.current&&pe()},onKeyDown:J=>{J.key==="Escape"&&(J.preventDefault(),A==null||A())},onBlur:()=>{setTimeout(()=>{W.current||pe()},100)},onClick:J=>J.stopPropagation()}):c.jsx(c.Fragment,{children:T==="drawer"?c.jsxs("div",{className:Z.titleRow,children:[c.jsx("span",{className:Z.statusWrap,role:"img","aria-label":O,children:c.jsx("span",{className:`${Z.statusDot} ${Q?Z.statusDotActive:M?Z.statusDotUnseen:Z.statusDotIdle}`,"aria-hidden":!0})}),c.jsx("div",{className:Z.name,children:t||"New Chat"})]}):c.jsx("div",{className:Z.name,children:t||"New Chat"})}),T==="drawer"&&c.jsxs("div",{className:Z.metaRow,children:[m&&c.jsx("span",{className:Z.time,children:m}),(he||D)&&c.jsxs("span",{className:Z.sourceTag,children:[D?c.jsx(oi,{size:11}):c.jsx(Ut,{size:11}),c.jsx("span",{children:N})]}),(a||n)&&c.jsxs("span",{className:Z.channelTag,title:n||a,children:[a?c.jsx(ba,{channelKey:a,size:14}):null,n?c.jsx("span",{className:Z.channelTagText,children:n}):null]})]})]}),!b&&T==="sidebar"&&a&&c.jsx("span",{className:Z.channelTag,title:n||a,children:c.jsx(ba,{channelKey:a,size:14})}),!b&&T==="sidebar"&&(he||D)&&c.jsx("span",{className:Z.sourceIcon,title:N,children:D?c.jsx(oi,{size:13}):c.jsx(Ut,{size:13})}),!b&&l&&c.jsx("span",{className:Z.pinMark,title:L("chat.group.pinned","Pinned"),children:c.jsx(Qa,{size:11})}),!b&&c.jsx("span",{className:Z.dragHint,title:L("chat.groups.dragSessionHint","Press and hold to move this conversation"),"aria-hidden":!0,
24children:c.jsx(Id,{size:12})}),!b&&c.jsx(ha,{menu:{items:ge},trigger:["click"],placement:"bottomRight",onOpenChange:z,children:c.jsx("span",{className:Z.moreBtn,onClick:J=>J.stopPropagation(),children:c.jsx(_d,{size:14})})})]});return c.jsx(ha,{menu:{items:ge},trigger:["contextMenu"],children:ze})},mP=Ne.memo(pP),hP="SessionGroupHeader-module__header__AdsH7",gP="SessionGroupHeader-module__more__Ay3Cs",fP="SessionGroupHeader-module__source__mdq5w",bP="SessionGroupHeader-module__pinned__m-oX-",kP="SessionGroupHeader-module__chevron__-tU0e",yP="SessionGroupHeader-module__kindIcon__tWEOY",vP="SessionGroupHeader-module__pinMark__Dl1FF",TP="SessionGroupHeader-module__lockMark__H0-Ck",SP="SessionGroupHeader-module__collapsed__aiYov",CP="SessionGroupHeader-module__label__fSuIX",wP="SessionGroupHeader-module__count__BElX5",PP="SessionGroupHeader-module__managed__IPfq5",AP="SessionGroupHeader-module__renameInput__cQ-UA",Ue={header:hP,more:gP,source:fP,pinned:bP,chevron:kP,kindIcon:yP,pinMark:vP,lockMark:TP,collapsed:SP,label:CP,count:wP,managed:PP,renameInput:AP};function MP({group:e,count:t,collapsed:a,canMoveUp:n=!1,canMoveDown:o=!1,onToggle:i,onRename:s,onPin:r,onDelete:l,onMoveUp:d,onMoveDown:u}){const{t:p}=ve(),m=e.kind==="cron",k=e.kind==="subagents",g=m||k,[b,y]=h.useState(!1),[T,S]=h.useState(e.name),P=()=>{const C=T.trim();y(!1),C&&C!==e.name?s==null||s(C):S(e.name)},w=h.useMemo(()=>[{key:"pin",icon:e.pinned?c.jsx(xd,{size:13}):c.jsx(Qa,{size:13}),label:e.pinned?p("chat.groups.unpin","Unpin group"):p("chat.groups.pin","Pin group"),onClick:()=>r==null?void 0:r(!e.pinned)},{type:"divider"},{key:"rename",icon:c.jsx(Dd,{size:13}),label:p("chat.groups.rename","Rename"),onClick:()=>{S(e.name),y(!0)}},{key:"up",icon:c.jsx(Tm,{size:13}),label:p("chat.groups.moveUp","Move up"),disabled:!n,onClick:d},{key:"down",icon:c.jsx(Sm,{size:13}),label:p("chat.groups.moveDown","Move down"),disabled:!o,onClick:u},...e.kind==="custom"?[{type:"divider"},{key:"delete",icon:c.jsx(Rd,{size:13}),label:p("chat.groups.delete","Delete group"),danger:!0,onClick:l}]:[]],[o,n,e.kind,e.name,e.pinned,l,u,d,r,p]);return c.jsxs("div",{className:`${Ue.header} ${g?Ue.source:""} ${e.pinned?Ue.pinned:""} ${!g&&!b?Ue.managed:""}`,role:"button",tabIndex:0,title:g?p(m?"chat.groups.cronHint":"chat.groups.subagentsHint",m?"Conversations created by scheduled tasks":"Conversations created by child agents"):void 0,onClick:i,onKeyDown:C=>{C.target===C.currentTarget&&(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),i())},children:[c.jsx("span",{className:`${Ue.chevron} ${a?Ue.collapsed:""}`,children:c.jsx(bo,{size:13})}),g&&c.jsx("span",{className:Ue.kindIcon,children:m?c.jsx(oi,{size:13}):c.jsx(Ut,{size:13})}),b?c.jsx(Ct,{autoFocus:!0,size:"small",className:Ue.renameInput,value:T,onChange:C=>S(C.target.value),onPressEnter:P,onBlur:P,onClick:C=>C.stopPropagation(),onKeyDown:C=>{C.key==="Escape"&&(S(e.name),y(!1))}}):c.jsx("span",{className:Ue.label,children:e.name}),c.jsx("span",{className:Ue.count,children:t}),e.pinned&&!g&&c.jsx("span",{className:Ue.pinMark,title:p("chat.groups.pinned","Pinned group"),children:c.jsx(Qa,{size:11})}),g&&c.jsx("span",{className:Ue.lockMark,title:p("chat.groups.fixedLast","Fixed at the bottom"),children:c.jsx(Cm,{size:11})}),!g&&!b&&c.jsx(ha,{menu:{items:w,onClick:({domEvent:C})=>C.stopPropagation()},trigger:["click"],children:c.jsx("button",{className:Ue.more,"aria-label":p("chat.groups.manage","Manage group"),onClick:C=>C.stopPropagation(),children:c.jsx(_d,{size:14})})})]})}const DP="SessionDateHeader-module__header__ZZ4hm",xP="SessionDateHeader-module__line__CWRGl",Xl={header:DP,line:xP};function RP({dateGroup:e,label:t}){return c.jsxs("div",{className:Xl.header,"data-date-group":e,children:[c.jsx("span",{children:t}),c.jsx("span",{className:Xl.line})]})}const IP="SessionGroupDnd-module__draggable__ijooJ",_P="SessionGroupDnd-module__dragging__Z-IEI",LP="SessionGroupDnd-module__dropActive__V-PTX",EP="SessionGroupDnd-module__overlay__NxXzk",po={draggable:IP,dragging:_P,dropActive:LP,overlay:EP},Pp=h.createContext({active:!1,overGroupId:null});function FP({active:e}){const{measureDroppableContainers:t}=Vh();return h.useLayoutEffect(()=>{e&&t([])},[e,t]),null}function OP({children:e,onMove:t,onDragStateChange:a}){const n=Nh(er(Uh,{activationConstraint:{delay:220,tolerance:6}}),er(Hh,{activationConstraint:{delay:300,tolerance:8}})),[o,i]=h.useState(null),s=h.useRef(null),[r,l]=h.useState(null),d=h.useCallback(g=>{const b=g.active.data.current;s.current=b,i(b),l(null),a(!0)},[a]),u=h.useCallback(g=>{var y,T;const b=(T=(y=g.over)==null?void 0:y.data.current)==null?void 0:T.groupId;l(typeof b=="string"?b:null)},[]),p=h.useCallback(()=>{s.current=null,i(null),l(null),a(!1)},[a]),m=h.useCallback(g=>{var T,S;const b=s.current,y=(S=(T=g.over)==null?void 0:T.data.current)==null?void 0:S.groupId;s.current=null,i(null),l(null),a(!1),b&&typeof y=="string"&&y!==b.groupId&&t(b.sessionId,y)},[a,t]),k=h.useMemo(()=>({active:o!==null,overGroupId:r}),[o,r]);return c.jsxs(qh,{sensors:n,measuring:{droppable:{strategy:jh.Always}},onDragStart:d,onDragOver:u,onDragCancel:p,onDragEnd:m,children:[c.jsx(FP,{active:o!==null}),c.jsx(Pp.Provider,{value:k,children:e}),c.jsx(Gh,{children:o?c.jsxs("div",{className:po.overlay,children:[c.jsx(Id,{size:14}),c.jsx("span",{children:o.label})]}):null})]})}function Yo({id:e,groupId:t,children:a,style:n,className:o=""}){const{active:i,overGroupId:s}=h.useContext(Pp),{setNodeRef:r}=Fh({id:e,data:{groupId:t}}
24);return c.jsx("div",{ref:r,style:n,className:`${o} ${i&&s===t?po.dropActive:""}`,children:a})}function BP({sessionId:e,groupId:t,label:a,children:n}){const{attributes:o,isDragging:i,listeners:s,setNodeRef:r,transform:l}=Oh({id:`session:${e}`,data:{sessionId:e,groupId:t,label:a}});return c.jsx("div",{ref:r,className:`${po.draggable} ${i?po.dragging:""}`,style:{transform:Bh.Translate.toString(l)},onPointerDownCapture:d=>{d.target.closest("button, input, textarea, [role='menuitem']")&&d.stopPropagation()},...o,...s,children:n})}const NP="qwenpaw-session-attention";function Vi(e,t){return`${e}:${t.realId||t.id}`}function HP(e,t,a){if(!a.lastFinishedAt)return!1;const n=Vi(t,a);if(!Object.prototype.hasOwnProperty.call(e,n))return!1;const o=e[n];if(!o)return!0;const i=Date.parse(a.lastFinishedAt),s=Date.parse(o);return Number.isFinite(i)&&Number.isFinite(s)&&i>s}const Xo=ft()(Su(e=>({seenFinishedAt:{},initializeSessions:(t,a)=>e(n=>{let o=!1;const i={...n.seenFinishedAt};for(const s of a){const r=Vi(t,s);Object.prototype.hasOwnProperty.call(i,r)||(i[r]=s.lastFinishedAt??null,o=!0)}return o?{seenFinishedAt:i}:n}),markSeen:(t,a)=>{if(!a.lastFinishedAt)return;const n=Vi(t,a);e(o=>o.seenFinishedAt[n]===a.lastFinishedAt?o:{seenFinishedAt:{...o.seenFinishedAt,[n]:a.lastFinishedAt??null}})}}),{name:NP,partialize:e=>({seenFinishedAt:e.seenFinishedAt})}));function Zl(e,t){return e.id===t||e.realId===t}function UP(e,t,a){const n=Xo(r=>r.seenFinishedAt),o=Xo(r=>r.initializeSessions),i=Xo(r=>r.markSeen);h.useEffect(()=>{o(e,t)},[e,o,t]);const s=h.useCallback(()=>{if(!a||document.visibilityState!=="visible")return;const r=t.find(l=>Zl(l,a));r&&i(e,r)},[e,a,i,t]);return h.useEffect(()=>(s(),document.addEventListener("visibilitychange",s),()=>document.removeEventListener("visibilitychange",s)),[s]),h.useMemo(()=>{const r=new Set;for(const l of t){const d=!!a&&document.visibilityState==="visible"&&Zl(l,a);HP(n,e,l)&&(d||r.add(l.id))}return r},[e,a,n,t])}const qP="sidebarSessionList-module__sessionList__MddC4",jP="sidebarSessionList-module__sessionListHeader__-6oLb",GP="sidebarSessionList-module__newChatBtn__KHYuq",VP="sidebarSessionList-module__searchContainer__WLPhG",WP="sidebarSessionList-module__searchInput__OF0aC",zP="sidebarSessionList-module__createGroupBtn__2opEX",KP="sidebarSessionList-module__groupInput__W6W7s",$P="sidebarSessionList-module__scroll__1xGqV",QP="sidebarSessionList-module__stickyGroupHeader__Xll1i",JP="sidebarSessionList-module__loadingState__70-ft",YP="sidebarSessionList-module__emptyState__39Djr",XP="sidebarSessionList-module__historyHeader__9GpVE",ZP="sidebarSessionList-module__historyLabel__400kK",eA="sidebarSessionList-module__historyChevron__ys0t5",Ie={sessionList:qP,sessionListHeader:jP,newChatBtn:GP,searchContainer:VP,searchInput:WP,createGroupBtn:zP,groupInput:KP,scroll:$P,stickyGroupHeader:QP,loadingState:JP,emptyState:YP,historyHeader:XP,historyLabel:ZP,historyChevron:eA},ed=42,tA=42,aA=24;function Ap({row:e,data:t}){const a=t.groups.filter(o=>o.kind!=="cron"&&o.kind!=="subagents"&&o.pinned===e.group.pinned),n=a.findIndex(o=>o.id===e.group.id);return c.jsx(MP,{group:e.group,count:e.count,collapsed:e.collapsed,canMoveUp:n>0,canMoveDown:n>=0&&n<a.length-1,onToggle:()=>t.toggleGroup(e.group.id),onRename:o=>t.renameGroup(e.group.id,o),onPin:o=>t.pinGroup(e.group.id,o),onDelete:()=>t.deleteGroup(e.group.id),onMoveUp:()=>t.moveGroup(e.group.id,-1),onMoveDown:()=>t.moveGroup(e.group.id,1)})}const nA=Ne.memo(function({index:t,style:a,data:n}){var d;const o=n.flatRows[t];if(!o)return null;if(o.kind==="groupHeader")return c.jsx(Yo,{id:`group:${o.group.id}`,groupId:o.group.id,style:a,children:c.jsx(Ap,{row:o,data:n})});if(o.kind==="dateHeader")return c.jsx(Yo,{id:`date:${o.groupId}:${o.dateGroup}`,groupId:o.groupId,style:a,children:c.jsx(RP,{dateGroup:o.dateGroup,label:o.label})});const i=o.session,s=((d=i.channel)==null?void 0:d.trim())||"",r=s?Pt(s,n.t):void 0,l=n.editingSessionId===i.id;return c.jsx(Yo,{id:`session-target:${i.id}`,groupId:o.groupId,style:a,children:c.jsx(BP,{sessionId:i.id,groupId:o.groupId,label:i.name||"New Chat",children:c.jsx(mP,{variant:"sidebar",sessionId:i.id,name:i.name||"New Chat",channelKe
24y:s||void 0,channelLabel:r,chatStatus:i.status,generating:i.generating,unseenResult:n.unseenSessionIds.has(i.id),archived:i.archived,pinned:i.pinned,source:i.source,groupId:o.groupId,groups:n.groups,active:i.id===n.currentSessionId||!!n.currentSessionId&&i.realId===n.currentSessionId,disabled:!1,editing:l,editValue:l?n.editValue:void 0,onClick:n.handleSessionClick,onEdit:n.handleEditStart,onDelete:n.handleDelete,onArchive:n.handleArchiveToggle,onPin:n.handlePinToggle,onMove:n.handleMove,onEditChange:n.handleEditChange,onEditSubmit:n.handleEditSubmit,onEditCancel:n.handleEditCancel})})})});function oA({onNewChat:e,onSessionClick:t}={}){const{t:a}=ve(),{message:n}=dn(),o=We(G=>G.selectedAgent),i=Ji(),s=Sp(i.pathname)??void 0,[r,l]=h.useState(""),[d,u]=h.useState(!1),[p,m]=h.useState(!1),{collapsedGroups:k,toggleGroup:g,expandGroup:b}=Dw(),{groups:y,createGroup:T,renameGroup:S,pinGroup:P,deleteGroup:w,reorderGroups:C}=Rw(!0),[x,I]=h.useState(!1),[R,_]=h.useState(""),A=h.useMemo(()=>Tw(y,{default:a("chat.groups.uncategorized","Uncategorized"),cron:a("chat.groups.cron","Scheduled tasks"),subagents:a("chat.groups.subagents","Subagents")}),[y,a]),j=Os(G=>G.sessions),U=h.useCallback(G=>{Gt(G)},[]),z=h.useCallback(G=>{t?t(G):window.dispatchEvent(new CustomEvent("qwenpaw:sidebar-select-session",{detail:{sessionId:G}}))},[t]),{sortedSessions:W,loading:Q,editingSessionId:he,editValue:D,handleSessionClick:N,handleEditStart:H,handleDelete:M,handleArchiveToggle:O,handlePinToggle:q,handleEditChange:K,handleEditSubmit:pe,handleEditCancel:ge,refreshSessions:te}=Tp(j,U,{active:!0,currentSessionId:s,onSessionClick:z}),ze=UP(o,W,s),J=h.useCallback(async(G,X,Oe=!0)=>{const Be=j.find(we=>we.id===G),He=Be?da(Be):null;if(He)try{await _e.updateChat(He,{group_id:X}),await te(),Oe&&b(X);const we=A.find(et=>et.id===X);n.success(a("chat.groups.moveSuccess","Moved to {{name}}",{name:(we==null?void 0:we.name)??""}))}catch(we){console.error("Failed to move conversation:",we),n.error(a("chat.groups.moveFailed","Could not move the conversation"))}},[b,n,te,j,a,A]),Rt=h.useCallback((G,X)=>{J(G,X,!1)},[J]),Ze=h.useCallback(async()=>{const G=R.trim();G&&(await T(G),I(!1),_(""))},[T,R]),Ke=h.useCallback(G=>{Yi.confirm({title:a("chat.groups.deleteTitle","Delete this group?"),content:a("chat.groups.deleteHint","Conversations will return to their built-in group."),okButtonProps:{danger:!0},onOk:async()=>{await w(G),await te()}})},[w,te,a]),$e=h.useCallback(async(G,X)=>{const Oe=y.find(Re=>Re.id===G);if(!Oe||Oe.kind==="cron"||Oe.kind==="subagents")return;const Be=y.filter(Re=>Re.kind!=="cron"&&Re.kind!=="subagents"&&Re.pinned===Oe.pinned),He=Be.findIndex(Re=>Re.id===G),we=He+X;if(He<0||we<0||we>=Be.length)return;const et=[...y],Aa=et.findIndex(Re=>Re.id===G),Ma=et.findIndex(Re=>Re.id===Be[we].id);[et[Aa],et[Ma]]=[et[Ma],et[Aa]],await C(et.map(Re=>Re.id))},[y,C]),mn=h.useCallback(()=>{e?e():window.dispatchEvent(new CustomEvent("qwenpaw:sidebar-new-chat"))},[e]),st=h.useMemo(()=>{const G=r.trim().toLowerCase();return G?W.filter(X=>(X.name||"New Chat").toLowerCase().includes(G)):W},[W,r]),Ca=h.useMemo(()=>r.trim()?null:Sw(W,A),[W,r,A]);xw(s,W,b);const Me=h.useMemo(()=>{if(r.trim())return st.map(X=>({kind:"session",session:X,groupId:Ns(X)}));if(!Ca)return[];const G=[];for(const X of Ca){const Oe=p||k.has(X.group.id);if(G.push({kind:"groupHeader",group:X.group,count:X.sessions.length,collapsed:Oe}),!Oe)for(const Be of Cw(X.sessions)){G.push({kind:"dateHeader",groupId:X.group.id,dateGroup:Be.key,label:a(`chat.group.${Be.key}`)});for(const He of Be.sessions)G.push({kind:"session",session:He,groupId:X.group.id})}}return G},[Ca,k,p,r,st,a]),Jt=h.useCallback(G=>{const X=Me[G];return X?X.kind==="groupHeader"?tA:X.kind==="dateHeader"?aA:ed:ed},[Me]),[vt,It]=h.useState(0),[hn,Do]=h.useState(0),Yt=h.useRef(null),Xt=h.useRef(null);h.useEffect(()=>{var G;p&&((G=Xt.current)==null||G.scrollTo(0))},[p]),h.useEffect(()=>{var G;(G=Xt.current)==null||G.resetAfterIndex(0)},[Me]);const gn=h.useRef(null);h.useEffect(()=>{var X;if(!s||gn.current===s)return;const G=bw(Me,s);G<0||(gn.current=s,(X=Xt.current)==null||X.scrollToItem(G,"smart"))},[s,Me,vt]);const fn=h.useCallback(G=>{if(Yt.current&&(Yt.current.disconnect(),Yt.current=null),!G)return;const X=new ResizeObserver(Be=>{for(const He of Be){const we=He.contentRect.height;we>0&&It(we)}});X.observe(G),Yt.current=X;const Oe=G.clientHeight;Oe>0&&It(Oe)},[]),wa=h.useMemo(()=>({flatRows:Me,unseenSessionIds:ze,currentSessionId:s,editingSessionId:he,editValue:D,t:a,handleSessionClick:N,handleEditStart:H,handleDelete:M,handleArchiveToggle:O,handlePinToggle:q,handleMove:J,handleEditChange:K,handleEditSubmit:pe,handleEditCancel:ge,toggleGroup:g,groups:A,renameGroup:S,pinGroup:P,deleteGroup:Ke,moveGroup:$e}),[Me,ze,s,he,D,a,N,H,M,O,q,J,K,pe,ge,g,A,S,P,Ke,$e]),Pa=h.useMemo(()=>
24{if(r.trim()||p)return null;const G=ww(Me,hn);return G===null?null:Me[G]},[Me,p,r,hn]);return c.jsxs("div",{className:Ie.sessionList,children:[c.jsxs("div",{className:Ie.sessionListHeader,children:[c.jsxs("button",{className:Ie.newChatBtn,onClick:mn,children:[c.jsx(wm,{size:14}),c.jsx("span",{children:a("chat.newChatTooltip")})]}),c.jsxs("button",{className:Ie.historyHeader,onClick:()=>u(G=>!G),children:[c.jsx("span",{className:Ie.historyLabel,children:a("chat.conversationHistory","Conversation History")}),c.jsx("span",{className:Ie.historyChevron,style:{transform:d?"rotate(-90deg)":"rotate(0deg)"},children:c.jsx(bo,{size:12})})]}),!d&&c.jsxs("div",{className:Ie.searchContainer,children:[c.jsx(Ct,{size:"small",allowClear:!0,placeholder:a("chat.sessionPanel.searchConversations","Searchâ¦"),value:r,onChange:G=>l(G.target.value),className:Ie.searchInput}),x?c.jsx(Ct,{autoFocus:!0,size:"small",className:Ie.groupInput,placeholder:a("chat.groups.namePlaceholder","Group name"),value:R,onChange:G=>_(G.target.value),onPressEnter:()=>void Ze(),onBlur:()=>{R.trim()||I(!1)}}):c.jsxs("button",{className:Ie.createGroupBtn,onClick:()=>I(!0),children:[c.jsx(Pm,{size:13}),c.jsx("span",{children:a("chat.groups.create","New group")})]})]})]}),!d&&c.jsxs("div",{className:Ie.scroll,ref:fn,children:[Q&&W.length===0&&c.jsx("div",{className:Ie.loadingState,children:c.jsx(nn,{size:"small"})}),!Q&&W.length===0&&c.jsx("div",{className:Ie.emptyState,children:a("chat.sessionPanel.noConversations","No conversations")}),W.length>0&&vt>0&&c.jsxs(OP,{onMove:Rt,onDragStateChange:m,children:[Pa&&c.jsx("div",{className:Ie.stickyGroupHeader,children:c.jsx(Ap,{row:Pa,data:wa})}),c.jsx(LT,{ref:Xt,height:vt,width:"100%",itemCount:Me.length,itemSize:Jt,itemData:wa,className:Ie.list,overscanCount:10,onItemsRendered:({visibleStartIndex:G})=>Do(G),children:nA})]})]})]})}const ka=[{key:"en",label:"English",icon:c.jsx(Ro,{})},{key:"zh",label:"ç®ä½ä¸æ",icon:c.jsx(Am,{})},{key:"ja",label:"æ¥æ¬èª",icon:c.jsx(Mm,{})},{key:"ru",label:"Ð ÑÑÑкий",icon:c.jsx(Dm,{})},{key:"pt-BR",label:"Português (Brasil)",icon:c.jsx(xm,{})},{key:"id",label:"Bahasa Indonesia",icon:c.jsx(Ro,{})},{key:"vi",label:"Tiếng Viá»t",icon:c.jsx(Ro,{})}],Ea="qwenpaw_sidebar_mode",Mp=ft(e=>({mode:(()=>{try{return localStorage.getItem(Ea)==="simple"?"simple":"full"}catch{return"full"}})(),toggleMode:()=>e(t=>{const a=t.mode==="simple"?"full":"simple";try{a==="simple"?localStorage.setItem(Ea,"simple"):localStorage.removeItem(Ea)}catch{}return{mode:a}}),setMode:t=>{try{t==="simple"?localStorage.setItem(Ea,"simple"):localStorage.removeItem(Ea)}catch{}e({mode:t})}})),iA="desktop",td="qpDesktop";function Vt(){return Is()||sA()}function sA(){var e;return typeof window>"u"?!1:typeof((e=window.__TAURI_INTERNALS__)==null?void 0:e.invoke)=="function"}function Dt(){if(typeof window>"u")return!1;if(Vt())return!0;try{if(sessionStorage.getItem(td)==="1")return!0;if(new URLSearchParams(window.location.search).get(iA)==="1")return sessionStorage.setItem(td,"1"),!0}catch{}return!1}const Hs="qwenpaw.closeWindowAction";function Dp(){var t;const e=(t=Us())==null?void 0:t.getItem(Hs);return e==="minimize-to-tray"||e==="quit"?e:null}function xp(e){var t;(t=Us())==null||t.setItem(Hs,e)}function rA(){var e;(e=Us())==null||e.removeItem(Hs)}function Us(){return typeof window>"u"?null:window.localStorage}const lA="sidebarSettingsPanel-module__panel__JhHrx",dA="sidebarSettingsPanel-module__row__rR-YE",cA="sidebarSettingsPanel-module__label__N9Iln",uA="sidebarSettingsPanel-module__options__Q40R-",pA="sidebarSettingsPanel-module__optBtn__ZMvz6",mA="sidebarSettingsPanel-module__optBtnActive__aIANo",hA="sidebarSettingsPanel-module__optBtnBlock__EWyzJ",gA="sidebarSettingsPanel-module__optLabel__MeXQw",fA="sidebarSettingsPanel-module__modeActions__tJMCq",bA="sidebarSettingsPanel-module__desktopModeBtn__vLMFX",le={panel:lA,row:dA,label:cA,options:uA,optBtn:pA,optBtnActive:mA,optBtnBlock:hA,optLabel:gA,modeActions:fA,desktopModeBtn:bA},kA=new Set(ka.map(e=>e.key));function yA({onClose:e}){const{t,i18n:a}=ve(),{themeMode:n,setThemeMode:o}=un(),{mode:i,toggleMode:s}=Mp(),[r,l]=Ne.useState(()=>Vt()?Dp()??"ask":"ask"),d=a.resolvedLanguage||a.language,u=kA.has(d)?d:d.split("-")[0],p=g=>{a.changeLanguage(g),localStorage.setItem("language",g),Po.updateLanguage(g).catch(()=>{})},m=g=>{g==="ask"?rA():xp(g),l(g)},k=[{key:"light",label:t("theme.light","Light"),icon:c.jsx(Ld,{size:14})},{key:"dark",label:t("theme.dark","Dark"),icon:c.jsx(Ed,{size:14})},{key:"system",label:t("theme.system","System"),icon:c.jsx(Rm,{size:14})}];return c.jsxs("div",{className:le.panel,children:[c.jsxs("div",{className:le.row,children:[c.jsx("span",{className:le.label,children:t("sidebar.settings.language","Language")}),c.jsx("div",{className:le.options,children:ka.map(({key:g,label:b,icon:y})=>c.jsx("button",{title:b,className:`${le.optBtn} ${u===g?le.optBtnActive:""}`,onClick:()=>p(g),children:Ne.cloneElement(y,{size:14})},g))})]}),c.jsxs("div",{className:le.row,children:[c.jsx("span",{className:le.label,children:t("sidebar.settings.theme","Theme")}),c.jsx("div",{className:le.options,children:k.map(({key:g,label:b,icon:y})=>c.jsxs("button",{title:b,className:`${le.optBtn} ${n===g?le.optBtnActive:""}`,onClick:()=>o(g),children:[y,c.jsx("span",{className:le.optLabel,children:b})]},g))})]}),Vt()?c.jsxs("div",{className:le.row,children:[c.jsx("span",{className:le.label,children:t("desktop.closeWindow.preference","Close Window")}),c.jsx(Nt,{size:"small",style:{width:"100%"},value:r,onChange:m,options:[{value:"ask",label:t("desktop.closeWindow.askEveryTime","Ask every time")},{value:"minimize-to-tray",label:t("desktop.closeWindow.minimizeToTray","Minim
24ize to Tray")},{value:"quit",label:t("desktop.closeWindow.quitApp","Quit App")}]})]}):null,c.jsxs("div",{className:le.row,children:[c.jsx("span",{className:le.label,children:t("sidebar.settings.mode","Mode")}),c.jsxs("div",{className:le.modeActions,children:[c.jsx("button",{className:`${le.optBtn} ${le.optBtnBlock}`,onClick:()=>{s(),e==null||e()},children:i==="simple"?c.jsxs(c.Fragment,{children:[c.jsx(Im,{size:14}),c.jsx("span",{className:le.optLabel,children:t("sidebar.fullMode","Full Mode")})]}):c.jsxs(c.Fragment,{children:[c.jsx(Fd,{size:14}),c.jsx("span",{className:le.optLabel,children:t("sidebar.simpleMode","Simple Mode")})]})}),c.jsxs("button",{className:`${le.optBtn} ${le.optBtnBlock} ${le.desktopModeBtn}`,onClick:()=>{e==null||e(),window.location.assign(Mu(window.location.pathname))},children:[c.jsx(_m,{size:14}),c.jsx("span",{className:le.optLabel,children:t("sidebar.settings.desktopMode","Desktop Mode")})]})]})]})]})}function ad(e){if(typeof e.msg!="string"||!e.msg)return null;if(!Array.isArray(e.loc))return e.msg;const t=e.loc.filter(a=>a!=="body").filter(a=>["string","number"].includes(typeof a)).join(".");return t?`${t}: ${e.msg}`:e.msg}function vA(e,t){if(!e||typeof e!="object")return t;const a=e.detail;if(typeof a=="string"&&a)return a;if(Array.isArray(a)){const n=a.map(o=>o&&typeof o=="object"?ad(o):null).filter(o=>!!o);if(n.length)return n.join("; ")}if(a&&typeof a=="object"){const n=ad(a);if(n)return n}return t}async function Qn(e,t){const a=await e.json().catch(()=>null);return vA(a,t)}const mo={login:async(e,t)=>{const a=await fetch(ee("/auth/login"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!a.ok)throw new Error(await Qn(a,"Login failed"));return a.json()},register:async(e,t)=>{const a=await fetch(ee("/auth/register"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!a.ok)throw new Error(await Qn(a,"Registration failed"));return a.json()},getStatus:async()=>{const e=await fetch(ee("/auth/status"));if(!e.ok)throw new Error("Failed to check auth status");return e.json()},updateProfile:async(e,t,a)=>{const n=localStorage.getItem("qwenpaw_auth_token")||"",o=await fetch(ee("/auth/update-profile"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({current_password:e,new_username:t||null,new_password:a||null})});
24if(!o.ok)throw new Error(await Qn(o,"Update failed"));return o.json()}},xn="qwenpaw.inbox.approvalWobble",Zo="qwenpaw:inbox-wobble-change";function TA(){const[e,t]=h.useState(()=>localStorage.getItem(xn)!=="false");h.useEffect(()=>{const n=()=>t(localStorage.getItem(xn)!=="false");return window.addEventListener(Zo,n),()=>window.removeEventListener(Zo,n)},[]);const a=h.useCallback(()=>{const n=localStorage.getItem(xn)==="false";localStorage.setItem(xn,String(n)),t(n),window.dispatchEvent(new CustomEvent(Zo))},[]);return[e,a]}const SA="index-module__mainLayout__jHQWK",CA="index-module__header__qmg3x",wA="index-module__showOnMobile__udMfd",PA="index-module__headerDivider__C5ILI",AA="index-module__hideOnMobile__wUYe6",MA="index-module__sider__s7Q1a",DA="index-module__agentScopedSection__0AEgL",xA="index-module__agentSelectorContainer__vk6CU",RA="index-module__stickyChatButton__1p80X",IA="index-module__stickyChatButtonActive__Yu3hb",_A="index-module__sideMenu__P7Tt2",LA="index-module__siderSimple__2gs-k",EA="index-module__siderCollapsed__4nqyY",FA="index-module__collapseToggleContainer__QEzlB",OA="index-module__logoWrapper__zQ9Ty",BA="index-module__logoImg__H5Vmp",NA="index-module__logoDivider__1Vjff",HA="index-module__versionBadge__JPPwl",UA="index-module__versionBadgeClickable__-1uiu",qA="index-module__versionBadgeDefault__nJdj3",jA="index-module__authActions__OBfp9",GA="index-module__authBtn__r5GZ2",VA="index-module__authBtnCollapsed__bsMAM",WA="index-module__accountIdentity__7ihrp",zA="index-module__runtimeRecovery__B-G55",KA="index-module__inboxShake__boL-5",$A="index-module__collapseToggle__vMkfM",QA="index-module__simpleAgentPanel__ms5P5",JA="index-module__simpleNavItems__mNQ5o",YA="index-module__simpleAgentDisclosure__lXv3-",XA="index-module__simpleAgentDisclosureLine__YhVPQ",ZA="index-module__simpleAgentDisclosureHandle__ARACo",eM="index-module__simpleAgentFunctionsMotion__flqf8",tM="index-module__simpleInboxItem__M2oe-",aM="index-module__simpleChatItem__RT9bn",nM="index-module__simpleInboxIcon__bA9lV",oM="index-module__simpleInboxUnreadDot__V-onX",iM="index-module__simpleNavItem__YGnt7",sM="index-module__simpleNavItemActive__pXran",rM="index-module__collapsedNav__vM5lc",lM="index-module__collapsedNavPinned__w-Lpm",dM="index-module__collapsedNavScroll__5bock",cM="index-module__collapsedNavItem__eUr-y",uM="index-module__collapsedNavItemActive__QyWbW",pM="index-module__updateModal__kPU1l",mM="index-module__updateModalBanner__weLWx",hM="index-module__updateModalBannerLeft__o140S",gM="index-module__updateModalVersionTag__FzKu4",fM="index-module__updateModalBannerTitle__8pDjy",bM="index-module__updateModalBody__szhpQ",kM="index-module__updateModalSpinWrapper__aaDh5",yM="index-module__updateViewReleasesBtn__C843u",vM="index-module__codeBlock__rBJMZ",TM="index-module__codeBlockInner__0zAp7",SM="index-module__codeInline__It5di",CM="index-module__copyBtn__aE6rx",wM="index-module__copyBtnCopied__QWHLu",PM="index-module__copyBtnDefault__nVQsA",F={mainLayout:SA,header:CA,showOnMobile:wA,headerDivider:PA,hideOnMobile:AA,sider:MA,agentScopedSection:DA,agentSelectorContainer:xA,stickyChatButton:RA,stickyChatButtonActive:IA,sideMenu:_A,siderSimple:LA,siderCollapsed:EA,collapseToggleContainer:FA,logoWrapper:OA,logoImg:BA,logoDivider:NA,versionBadge:HA,versionBadgeClickable:UA,versionBadgeDefault:qA,authActions:jA,authBtn:GA,authBtnCollapsed:VA,accountIdentity:WA,runtimeRecovery:zA,inboxShake:KA,collapseToggle:$A,simpleAgentPanel:QA,simpleNavItems:JA,simpleAgentDisclosure:YA,simpleAgentDisclosureLine:XA,simpleAgentDisclosureHandle:ZA,simpleAgentFunctionsMotion:eM,simpleInboxItem:tM,simpleChatItem:aM,simpleInboxIcon:nM,simpleInboxUnreadDot:oM,simpleNavItem:iM,simpleNavItemActive:sM,collapsedNav:rM,collapsedNavPinned:lM,collapsedNavScroll:dM,collapsedNavItem:cM,collapsedNavItemActive:uM,updateModal:pM,updateModalBanner:mM,updateModalBannerLeft:hM,updateModalVersionTag:gM,updateModalBannerTitle:fM,updateModalBody:bM,updateModalSpinWrapper:kM,updateViewReleasesBtn:yM,codeBlock:vM,codeBlockInner:TM,codeInline:SM,copyBtn:CM,copyBtnCopied:wM,copyBtnDefault:PM};
24function nd(e){return h.useSyncExternalStore(cn,()=>je.snapshot(e))}function iB(){return h.useSyncExternalStore(cn,()=>je.snapshot())}function Rp(){return h.useSyncExternalStore(cn,()=>ot.snapshot())}function $t({name:e,kind:t,children:a}){const n=h.useSyncExternalStore(cn,()=>$a.snapshot(e));if(t==="replace"){const i=n.find(r=>r.kind==="replace");if(!i)return c.jsx(c.Fragment,{children:a});const s=i.render(a);return s==null?c.jsx(c.Fragment,{children:a}):c.jsx(od,{slot:e,pluginId:i.source,children:s})}const o=n.filter(i=>i.kind==="fill");return c.jsxs(c.Fragment,{children:[a,o.map(i=>c.jsx(od,{slot:e,pluginId:i.source,children:i.render()},i.registrationId))]})}class od extends Ne.Component{constructor(){super(...arguments);V(this,"state",{errored:!1})}static getDerivedStateFromError(){return{errored:!0}}componentDidCatch(a){ke.record({kind:"slot.error",targetId:this.props.slot,pluginId:this.props.pluginId,detail:a.message,timestamp:Date.now()})}render(){return this.state.errored?this.props.fallback??null:this.props.children}}function Ip(e,t){if(e==null)return null;if(h.isValidElement(e))return e;if(typeof e=="function"||typeof e=="object"&&e.$$typeof!==void 0)return h.createElement(e,{size:t});const a={fontSize:t};return c.jsx("span",{style:a,children:e})}function _p(e){return typeof e=="function"?e():e}function Lp(e,t){if(!e)return;const a=t.find(n=>n.id===e);return a==null?void 0:a.path}function Wi(e,t){const{collapsed:a,iconSize:n=16,decorateLabel:o,getItemClassName:i}=t;return e.filter(s=>{var r;return((r=s.visible)==null?void 0:r.call(s))!==!1}).map(s=>{const r=s,l=a?null:_p(r.label),d=o?o(r,l):l,u={key:r.id,label:d,icon:Ip(r.icon,n),className:i==null?void 0:i(r)};if(r.__children&&r.__children.length>0){const p=r.__children.filter(m=>{var k;return((k=m.visible)==null?void 0:k.call(m))!==!1});u.children=Wi(p,t)}return u})}function Rn(e,t,a){const n=[],o=i=>{var s;for(const r of i){const l=r;if(((s=l.visible)==null?void 0:s.call(l))===!1||l.divider)continue;if(l.isGroup||l.__children&&l.__children.length>0){o(l.__children??[]);continue}const d=Lp(l.route,t);!d&&!l.href||n.push({key:l.id,icon:Ip(l.icon,a),label:_p(l.label),path:d??"",href:l.href})}};return o(e),n}function Ep(e,t){for(const a of e){const n=a;if(n.id===t)return n;if(n.__children){const o=Ep(n.__children,t);if(o)return o}}}function id(e){return e.filter(t=>{const a=t;return a.isGroup||a.__children&&a.__children.length>0}).map(t=>t.id)}const AM=new Set(["core.workspace","core.acp","core.agent-config","core.agent-stats"]);function Fp(e,t){if((t==null?void 0:t.workspace_ui)!==!1)return e;const a=!!(t.native_skills_ui||t.qwenpaw_skills_projection||t.provider_skills_discovery),n=!!t.native_tools_ui,o=!!(t.native_mcp_ui||t.qwenpaw_mcp_projection||t.provider_mcp_discovery),i=a||n||o;return e.flatMap(s=>{if(AM.has(s.id))return[];if(s.id==="core.agent-group"&&!i)return[];if(s.id==="core.skills"&&!a)return[];if(s.id==="core.tools"&&!n)return[];if(s.id==="core.mcp"&&!o)return[];const r=s;return r.__children?[{...r,__children:Fp(r.__children,t)}]:[s]})}async function de(e,t){const a=Sa(),n=await fetch(ee(e),{...t,headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`,...t==null?void 0:t.headers}});if(n.status===401)throw tn(),window.location.assign("/login"),new Error("Authentication expired");if(!n.ok)throw new Error(await Qn(n,`Request failed with ${n.status}`));if(n.status!==204)return n.json()}function In(e,t){var o;const a=new URLSearchParams;t.page&&a.set("page",String(t.page)),t.pageSize&&a.set("page_size",String(t.pageSize)),(o=t.query)!=null&&o.trim()&&a.set("q",t.query.trim()),Object.entries(t).forEach(([i,s])=>{["page","pageSize","query"].includes(i)||s!==void 0&&s!==""&&a.set(i,String(s))});const n=a.toString();return n?`${e}?${n}`:e}const pa={getHealth:()=>de("/hub/healthz"),me:()=>de("/hub/me"),changePassword:e=>de("/hub/me/password",{method:"POST",body:JSON.stringify({new_password:e})}),restartOwnRuntime:()=>de("/hub/me/runtime/restart",{method:"POST"}),listRuntimes:(e={})=>de(In("/hub/runtimes",e)),createRuntime:(e,t=!1)=>de("/hub/runtimes",{method:"POST",body:JSON.stringify({runtime_id:e,auto_start:t})}),startRuntime:e=>de(`/hub/runtimes/${e}/start`,{method:"POST"}),stopRuntime:e=>de(`/hub/runtimes/${e}/stop`,{method:"POST"}),rebuildRuntime:e=>de(`/hub/runtimes/${e}/rebuild`,{method:"POST"}),disableRuntime:e=>de(`/hub/runtimes/${e}/disable`,{method:"POST"}),deleteRuntime:e=>de(`/hub/runtimes/${e}`,{method:"DELETE"}),listUsers:(e={})=>de(In("/hub/admin/users",e)),createUser:(e,t,a)=>de("/hub/admin/users",{method:"POST",body:JSON.stringify({username:e,password:t,role:a})}),updateUser:(e,t)=>de(`/hub/admin/users/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getSettings:()=>de("/hub/admin/settings"),updateSettings:(e,t)=>de("/hub/admin/settings",{method:"PUT",body:JSON.stringify({revision:e,config:t})}),getDockerImages:()=>de("/hub/images"),listDockerImagePulls:()=>de("/hub/images/pulls"),pullDockerImage:e=>de("/hub/images/pulls",{method:"POST",body:JSON.stringify({reference:e})}),listCredentials:(e={})=>de(In("/hub/credentials",e)),putCredential:(e,t,a)=>de("/hub/credentials",{method:"PUT",body:JSON.stringify({scope:e,name:t,value:a})}),deleteCredential:(e,t)=>de(`/hub/credentials/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{method:"DELETE"}),getOverview:()=>de("/hub/admin/overview"),listAuditEvents:(e={})=>de(In("/hub/admin/audit",e))},{Sider:MM}=Ja,Op="(max-width: 768px)";function sd(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia(Op).matches}const DM=6e3,rd=new Set(["core.files","core.inbox","core.marketplace","core.cron-jobs","core.agent-config","core.models"]);function ld(e){const t=[];for(const a of e){const n=a;if(n.__children&&n.__children.length>
240)for(const o of n.__children)rd.has(o.id)&&t.push(o);else rd.has(n.id)&&t.push(n)}return t}function xM({selectedKey:e,hubMode:t=!1}){const a=Cd(),n=Ji(),{t:o}=ve(),{message:i}=dn(),{isDark:s}=un(),r=Sp(n.pathname),l=Jl(r),[d,u]=h.useState(!1),[p,m]=h.useState(!1),[k,g]=h.useState(""),[b,y]=h.useState(!1),[T,S]=h.useState(!1),[P,w]=h.useState(!1),[C]=Lt.useForm(),[x,I]=h.useState(sd),[R,_]=h.useState(!1),[A,L]=h.useState(sd),[j,U]=h.useState(!1),z=ov(),[W,Q]=h.useState(!1),[he,D]=h.useState(!1),[N,H]=h.useState(!1),[M]=TA(),O=h.useRef(new Set),q=h.useRef(new Set),{mode:K}=Mp(),{selectedAgent:pe,agents:ge}=We(),te=ge.find(E=>E.id===pe),ze=h.useMemo(()=>{var E;return te?{...te.backend_capabilities,workspace_ui:te.backend==="qwenpaw"?((E=te.backend_capabilities)==null?void 0:E.workspace_ui)??!0:!1}:void 0},[te]),J=nd("primary.agentScoped"),Rt=nd("primary.settings"),Ze=Rp(),Ke=h.useMemo(()=>{const E=Fp(J,ze);return K==="simple"?ld(E):E},[ze,J,K]),$e=h.useMemo(()=>K==="simple"?ld(Rt):Rt,[Rt,K]),mn=h.useMemo(()=>K!=="simple"?[]:[...Rn(Ke,Ze,16),...Rn($e,Ze,16)],[Ke,$e,Ze,K]),st=mn.find(E=>E.key==="core.inbox"),Ca=mn.filter(E=>E.key!=="core.inbox");h.useEffect(()=>{mo.getStatus().then(async E=>{if(u(E.enabled),E.mode==="hub"){const Y=await pa.me();m(Y.role==="admin"),g(Y.username)}}).catch(()=>{})},[]),h.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const E=window.matchMedia(Op),Y=()=>{L(E.matches),I(E.matches)};return Y(),E.addEventListener("change",Y),()=>{E.removeEventListener("change",Y)}},[]),h.useEffect(()=>{const E=async()=>{var fe;try{const[De,Zt]=await Promise.all([ua.getInboxEvents({unread_only:!0,limit:1}),ua.getPushMessages()]),bn=(((fe=De==null?void 0:De.events)==null?void 0:fe.length)||0)>
240,_t=(Zt==null?void 0:Zt.pending_approvals)||[],rt=new Set(_t.map(xo=>xo.request_id));O.current=rt;const Yp=rt.size>0&&[...rt].some(xo=>!q.current.has(xo));H(Yp),Q(bn),D(rt.size>0)}catch{}};E();const Y=window.setInterval(()=>{E()},DM);return()=>window.clearInterval(Y)},[]),h.useEffect(()=>{let E=!1;return(async()=>{try{const Y=await ie.getSessionList();!E&&Y.length>0&&Gt(Y)}catch{}})(),()=>{E=!0}},[]);const Me=W||he,Jt=he?"var(--app-error)":"var(--app-accent-hover)",vt=N&&M,It=h.useCallback(()=>{q.current=new Set(O.current),H(!1)},[]),hn=h.useCallback(E=>{const Y=E==null?void 0:E.closest("li");Y&&Y.addEventListener("mouseenter",It)},[It]),Do=(E,Y)=>E.id!=="core.inbox"||Y==null?Y:c.jsx("span",{ref:hn,children:c.jsx(Nd,{dot:Me,color:Jt,offset:[5,7],children:c.jsx("span",{children:Y})})}),Yt=E=>{if(E.id==="core.inbox"&&vt)return F.inboxShake},Xt=h.useMemo(()=>Wi(Ke,{collapsed:x,decorateLabel:Do,getItemClassName:Yt}),[Ke,x,W,he,vt]),gn=h.useMemo(()=>Wi($e,{collapsed:x}),[$e,x]),fn=h.useMemo(()=>[...id(Ke),...id($e)],[Ke,$e]),wa=h.useMemo(()=>{const E={key:"core.chat",icon:c.jsx(Ks,{size:18}),path:l,label:o("nav.chat")},Y=De=>c.jsxs("span",{style:{position:"relative",display:"inline-flex"},children:[De??c.jsx(ii,{size:18}),Me&&c.jsx("span",{style:{position:"absolute",top:-1,right:-3,width:6,height:6,borderRadius:"50%",background:Jt}})]});return[E,...Rn(Ke,Ze,18),...Rn($e,Ze,18)].map(De=>De.key==="core.inbox"?{...De,icon:Y(De.icon)}:De)},[Ke,$e,Ze,l,o,Me,Jt]),Pa=(E,Y)=>{const fe=Ep(Y,E);if(fe!=null&&fe.href){window.open(fe.href,"_blank","noopener,noreferrer");return}const De=Lp(fe==null?void 0:fe.route,Ze);De&&a(De)},G=h.useCallback(()=>{n.pathname.startsWith("/chat")?window.dispatchEvent(new CustomEvent("qwenpaw:sidebar-new-chat")):(sessionStorage.setItem("qwenpaw_pending_new_chat","1"),a("/chat"))},[n.pathname,a]),X=h.useCallback(E=>{const Y=ie.getEffectiveSessionId(E),fe=Jl(Y);a(fe)},[a]),Oe=async E=>{var De,Zt;const Y=((De=E.newUsername)==null?void 0:De.trim())||void 0,fe=((Zt=E.newPassword)==null?void 0:Zt.trim())||void 0;if(E.newPassword&&!fe){i.error(o("account.passwordEmpty"));return}if(E.newUsername&&!Y){i.error(o("account.usernameEmpty"));return}if(!t&&!Y&&!fe){i.warning(o("account.nothingToUpdate"));return}S(!0);try{if(t){if(!fe){i.warning(o("account.passwordRequired"));return}await pa.changePassword(fe)}else await mo.updateProfile(E.currentPassword||"",Y,fe);i.success(o("account.updateSuccess")),y(!1),C.resetFields(),tn(),window.location.href="/login"}catch(bn){const _t=bn instanceof Error?bn.message:"";let rt=o("account.updateFailed");_t.includes("password is incorrect")?rt=o("account.wrongPassword"):_t.includes("Nothing to update")||_t.includes("cannot be empty")?rt=o("account.nothingToUpdate"):_t&&(rt=_t),i.error(rt)}finally{S(!1)}},Be=async()=>{w(!0);try{await pa.restartOwnRuntime(),i.success(o("account.runtimeRestartSuccess")),window.location.reload()}catch(E){i.error(E instanceof Error?E.message:o("account.runtimeRestartFailed"))}finally{w(!1)}},He=e==="core.chat",we=wa.find(E=>E.key==="core.chat"),et=wa.filter(E=>E.key!=="core.chat"),Aa=E=>{const Y=E.key==="core.chat"?He:e===E.key;return c.jsx(mt,{title:E.label,placement:"right",children:c.jsx("button",{type:"button","aria-label":typeof E.label=="string"?E.label:void 0,className:`${F.collapsedNavItem} ${Y?F.collapsedNavItemActive:""}${E.key==="core.inbox"&&vt?` ${F.inboxShake}`:""}`,onClick:()=>{E.href?window.open(E.href,"_blank","noopener,noreferrer"):a(E.path)},onMouseEnter:E.key==="core.inbox"?It:void 0,children:E.icon})},E.key)},Ma=(K==="simple"||A)&&!x,Re=x?A?56:72:K==="simple"&&!A?280:240;return c.jsxs(MM,{width:Re,className:`${F.sider}${x?` ${F.siderCollapsed}`:""}${Ma?` ${F.siderSimple}`:""}`,children:[x?c.jsxs("nav",{className:F.collapsedNav,children:[we&&c.jsx("div",{className:F.collapsedNavPinned,children:Aa(we)}),c.jsx("div",{className:F.collapsedNavScroll,children:et.map(Aa)})]}):Ma?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:`${F.agentScopedSection} ${F.simpleAgentPanel}`,children:[c.jsx("div",{className:F.agentSelectorContainer,children:c.jsx(Dl,{collapsed:x})}),c.jsxs("button",{type:"button",className:`${F.simpleNavItem} ${F.simpleChatItem} ${He?F.simpleNavItemActive:""}`,onClick:()=>a(l),children:[c.jsx(Lm,{size:16}),c.jsx("span",{children:o("nav.chat")}
24)]}),st&&c.jsxs("button",{type:"button",className:`${F.simpleNavItem} ${F.simpleInboxItem} ${e===st.key?F.simpleNavItemActive:""}${vt?` ${F.inboxShake}`:""}`,onMouseEnter:It,onClick:()=>{st.href?window.open(st.href,"_blank","noopener,noreferrer"):a(st.path)},children:[c.jsxs("span",{className:F.simpleInboxIcon,children:[st.icon??c.jsx(ii,{size:16}),Me&&c.jsx("span",{className:F.simpleInboxUnreadDot,style:{background:Jt}})]}),c.jsx("span",{children:st.label})]}),c.jsxs("button",{type:"button",className:F.simpleAgentDisclosure,"aria-expanded":j,"aria-controls":"simple-agent-functions","aria-label":o("sidebar.toggleAgentNavigation","Expand or collapse agent navigation"),onClick:()=>U(E=>!E),children:[c.jsx("span",{className:F.simpleAgentDisclosureLine}),c.jsx(Sl.span,{className:F.simpleAgentDisclosureHandle,animate:{rotate:j?180:0},transition:z?{duration:0}:{duration:.22,ease:[.22,.78,.24,1]},children:c.jsx(bo,{size:14})}),c.jsx("span",{className:F.simpleAgentDisclosureLine})]}),c.jsx(Qk,{initial:!1,children:j&&c.jsx(Sl.div,{id:"simple-agent-functions",className:F.simpleAgentFunctionsMotion,initial:z?!1:{height:0,opacity:0,y:-4},animate:{height:"auto",opacity:1,y:0},exit:{height:0,opacity:0,y:-4},transition:z?{duration:0}:{duration:.24,ease:[.22,.78,.24,1]},children:c.jsx("div",{className:F.simpleNavItems,children:Ca.map(E=>{const Y=e===E.key;return c.jsxs("button",{className:`${F.simpleNavItem} ${Y?F.simpleNavItemActive:""}`,onClick:()=>{E.href?window.open(E.href,"_blank","noopener,noreferrer"):a(E.path)},children:[E.icon,c.jsx("span",{children:E.label})]},E.key)})})},"simple-agent-functions")})]}),c.jsx(oA,{onNewChat:G,onSessionClick:X})]}):c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:F.agentScopedSection,children:[c.jsxs("div",{className:F.agentSelectorContainer,children:[c.jsx(Dl,{collapsed:x}),c.jsxs("button",{className:`${F.stickyChatButton}${He?` ${F.stickyChatButtonActive}`:""}`,onClick:()=>a(l),children:[c.jsx(Ks,{size:16}),c.jsx("span",{children:o("nav.chat")})]})]}),c.jsx($t,{name:"sider.top",kind:"fill"}),c.jsx($s,{mode:"inline",selectedKeys:[e],openKeys:fn,onClick:({key:E})=>Pa(String(E),Ke),items:Xt,theme:s?"dark":"light",className:F.sideMenu})]}),c.jsx($s,{mode:"inline",selectedKeys:[e],openKeys:fn,onClick:({key:E})=>Pa(String(E),$e),items:gn,theme:s?"dark":"light",className:F.sideMenu}),c.jsx($t,{name:"sider.bottom",kind:"fill"})]}),d&&!x&&c.jsxs("div",{className:F.authActions,children:[p&&c.jsx(Se,{type:"text",icon:c.jsx(Em,{size:16}),onClick:()=>a("/hub/admin"),block:!0,className:F.authBtn,children:o("hub.brand.title")}),c.jsx(Se,{type:"text",icon:c.jsx(Fm,{size:16}),onClick:()=>{C.resetFields(),y(!0)},block:!0,className:`${F.authBtn} ${x?F.authBtnCollapsed:""}`,children:!x&&o("account.title")}),c.jsx(Se,{type:"text",icon:c.jsx(Fd,{size:16}),onClick:()=>{tn(),window.location.href="/login"},block:!0,className:`${F.authBtn} ${x?F.authBtnCollapsed:""}`,children:!x&&o("login.logout")})]}),c.jsxs("div",{className:F.collapseToggleContainer,children:[c.jsx(Od,{open:R,onOpenChange:_,placement:x?"rightBottom":"topRight",trigger:"click",content:c.jsx(yA,{onClose:()=>_(!1)}),children:c.jsx(Se,{type:"text",icon:c.jsx(Om,{size:18}),className:F.collapseToggle})}),c.jsx(Se,{type:"text",icon:x?c.jsx(Bm,{size:20}):c.jsx(Nm,{size:20}),onClick:()=>I(!x),className:F.collapseToggle})]}),c.jsx(Yi,{open:b,onCancel:()=>y(!1),title:o("account.title"),footer:null,destroyOnHidden:!0,centered:!0,children:c.jsxs(Lt,{form:C,layout:"vertical",onFinish:Oe,children:[t?c.jsxs("div",{className:F.accountIdentity,children:[c.jsx("span",{children:o("account.username")}),c.jsx("strong",{children:k})]}):c.jsxs(c.Fragment,{children:[c.jsx(Lt.Item,{name:"currentPassword",label:o("account.currentPassword"),rules:[{required:!0,message:o("account.currentPasswordRequired")}],children:c.jsx(Ct.Password,{})}),c.jsx(Lt.Item,{name:"newUsername",label:o("account.newUsername"),children:c.jsx(Ct,{placeholder:o("account.newUsernamePlaceholder")})})]}),c.jsx(Lt.Item,{name:"newPassword",label:o("account.newPassword"),rules:t?[{required:!0,message:o("account.passwordRequired")},{min:8,message:o("hub.validation.passwordMin")}]:void 0,children:c.jsx(Ct.Password,{placeholder:o(t?"account.hubPasswordPlaceholder":"account.newPasswordPlaceholder")})}),c.jsx(Lt.Item,{name:"confirmPassword",label:o("account.confirmPassword"),dependencies:["newPassword"],rules:[({getFieldValue:E})=>({validator(Y,fe){return!fe&&!E("newPassword")||fe===E("newPassword")?Promise.resolve():Promise.reject(new Error(o("account.passwordMismatch")))}})],children:c.jsx(Ct.Password,{placeholder:o("account.confirmPasswordPlaceholder")})}),c.jsx(Lt.Item,{children:c.jsx(Se,{type:"primary",htmlType:"submit",loading:T,block:!0,children:o("account.save")})}),t&&c.jsxs("div",{className:F.runtimeRecovery,children:[c.jsx(Hm,{}),c.jsx("strong",{children:o("account.runtimeTitle")}),c.jsx("p",{children:o("account.runtimeDescription")}),c.jsx(En,{title:o("account.runtimeRestartConfirmTitle"),description:o("account.runtimeRestartConfirmDescription"),onConfirm:Be,okText:o("account.runtimeRestart"),cancelText:o("common.cancel"),children:c.jsx(Se,{icon:c.jsx(Bd,{size:16}),loading:P,block:!0,children:o("account.runtimeRestart")})})]})]})})]})}const RM="index-module__languageDropdown__ksvpo",IM={languageDropdown:RM},_M=new Set(ka.map(e=>e.key));function LM({persistRemotely:e=!0}){const{i18n:t}=ve(),a=t.resolvedLanguage||t.language,n=_M.has(a)?a:a.split("-")[0],o=r=>{t.changeLanguage(r),localStorage.setItem("language",r),e&&Po.updateLanguage(r).cat
24ch(l=>console.error("Failed to save language preference:",l))},i=ka.map(({key:r,label:l})=>({key:r,label:l,onClick:()=>o(r)})),s=Object.fromEntries(ka.map(({key:r,icon:l})=>[r,l]));return c.jsx(Um,{menu:{items:i,selectedKeys:[n]},placement:"bottomRight",overlayClassName:IM.languageDropdown,children:c.jsx(Se,{icon:s[n],type:"text"})})}const EM="index-module__toggleBtn__wswjC",FM="index-module__themeDropdown__y8JWd",dd={toggleBtn:EM,themeDropdown:FM},cd={light:c.jsx(Ld,{}),dark:c.jsx(Ed,{}),system:c.jsx(qm,{})};function OM(){const{themeMode:e,isDark:t,setThemeMode:a}=un(),{t:n}=ve(),o=[{key:"light",label:n("theme.light"),onClick:()=>a("light")},{key:"dark",label:n("theme.dark"),onClick:()=>a("dark")},{key:"system",label:n("theme.system"),onClick:()=>a("system")}],i=e==="system"?cd.system:cd[t?"dark":"light"];return c.jsx(ha,{menu:{items:o,selectedKeys:[e]},placement:"bottomRight",overlayClassName:dd.themeDropdown,children:c.jsx(Se,{className:dd.toggleBtn,type:"text",icon:i})})}function Bp({node:e,href:t,children:a,...n}){return c.jsx("a",{...n,href:t,onClick:o=>{o.preventDefault(),t&&Es(t)},style:{cursor:"pointer",...n.style},children:a})}const sB={a:Bp},BM="https://pypi.org/pypi/qwenpaw/json",ud="https://github.com/agentscope-ai/QwenPaw",NM=3600*1e3,Ao=e=>e.startsWith("zh")?"zh":"en",HM=e=>`https://qwenpaw.agentscope.io/docs/intro?lang=${Ao(e)}`,UM=e=>`https://qwenpaw.agentscope.io/docs/faq?lang=${Ao(e)}`,pd=e=>`https://qwenpaw.agentscope.io/release-notes?lang=${Ao(e)}`,qM=e=>`https://qwenpaw.agentscope.io/docs/functiondemo?lang=${Ao(e)}`,jM=e=>!/(\d)(a|alpha|b|beta|rc|c|dev)\d*/i.test(e),md=(e,t)=>{const a=s=>{const r=s.match(/\.post(\d+)$/i),l=r?Number(r[1]):0,d=s.replace(/\.post\d+$/i,""),u=d.match(/^(.+?)(a|alpha|b|beta|rc|c)(\d*)$/i);let p=d,m=0,k=0;if(u){p=u[1];const b=u[2].toLowerCase();m=b==="a"||b==="alpha"?-3:b==="b"||b==="beta"?-2:-1,k=u[3]?Number(u[3]):0}return[...p.split(/[.\-]/).map(b=>Number(b)||0),m,k,l]},n=a(e),o=a(t),i=Math.max(n.length,o.length);for(let s=0;s<i;s++){const r=(n[s]??0)-(o[s]??0);if(r!==0)return r}return 0},_n={zh:`### QwenPawå¦ä½æ´æ° 25 26è¦æ´æ° QwenPaw å°ææ°çæ¬ï¼å¯æ ¹æ®ä½ çå®è£ æ¹å¼éæ©å¯¹åºæ¹æ³ï¼ 27 281. å¦æä½ ä½¿ç¨çæ¯ä¸é®å®è£ èæ¬ï¼ç´æ¥éæ°è¿è¡å®è£ å½ä»¤å³å¯èªå¨å级ã 29 302. å¦æä½ æ¯éè¿ pip å®è£ ï¼å¨ç»ç«¯ä¸æ§è¡ä»¥ä¸å½ä»¤åçº§ï¼ 31 32\`\`\` 33qwenpaw update 34\`\`\` 35 363. å¦æä½ æ¯ä»æºç å®è£ ï¼è¿å ¥é¡¹ç®ç®å½å¹¶æåææ°ä»£ç åéæ°å®è£ ï¼ 37 38\`\`\` 39cd QwenPaw 40git pull origin main 41cd console && npm ci && npm run build 42cd .. && mkdir -p src/qwenpaw/console 43cp -R console/dist/. src/qwenpaw/console/ 44pip install -e . 45\`\`\` 46 474. å¦æä½ ä½¿ç¨çæ¯ Dockerï¼æåææ°éåå¹¶éå¯å®¹å¨ï¼ 48 49\`\`\` 50docker pull agentscope/qwenpaw:latest 51docker run -p 127.0.0.1:8088:8088 -v qwenpaw-data:/app/working -v qwenpaw-secrets:/app/working.secret -v qwenpaw-backups:/app/working.backups agentscope/qwenpaw:latest 52\`\`\` 53 54å级åéå¯æå¡ qwenpaw appã`,ru:`### Ðак обновиÑÑ QwenPaw 55 56ЧÑÐ¾Ð±Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ QwenPaw, вÑбеÑиÑе ÑпоÑоб в завиÑимоÑÑи Ð¾Ñ Ñипа ÑÑÑановки: 57 581. ÐÑли Ð²Ñ ÑÑÑанавливали ÑеÑез одноÑÑÑоÑнÑй ÑкÑипÑ, повÑоÑно запÑÑÑиÑе ÑÑÑановÑик Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ. 59 602. ÐÑли ÑÑÑанавливали ÑеÑез pip, вÑполниÑе: 61 62\`\`\` 63qwenpaw update 64\`\`\` 65 663. ÐÑли ÑÑÑанавливали из иÑÑ Ð¾Ð´Ð½Ð¸ÐºÐ¾Ð², полÑÑиÑе поÑледние Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ пеÑеÑÑÑановиÑе: 67 68\`\`\` 69cd QwenPaw 70git pull origin main 71cd console && npm ci && npm run build 72cd .. && mkdir -p src/qwenpaw/console 73cp -R console/dist/. src/qwenpaw/console/ 74pip install -e . 75\`\`\` 76 774. ÐÑли иÑполÑзÑеÑе Docker, загÑÑзиÑе новÑй обÑаз и пеÑезапÑÑÑиÑе конÑейнеÑ: 78 79\`\`\` 80docker pull agentscope/qwenpaw:latest 81docker run -p 127.0.0.1:8088:8088 -v qwenpaw-data:/app/working -v qwenpaw-secrets:/app/working.secret -v qwenpaw-backups:/app/working.backups agentscope/qwenpaw:latest 82\`\`\` 83 84After upgrading, restart the service with \`qwenpaw app\`.`,en:`### How to update QwenPaw 85 86To update QwenPaw, use the method matching your installation type: 87 881. If installed via one-line script, re-run the installer to upgrade. 89 902. If installed via pip, run: 91 92\`\`\` 93qwenpaw update 94\`\`\` 95 963. If installed from source, pull the latest code and reinstall: 97 98\`\`\` 99cd QwenPaw 100git pull origin main 101cd console && npm ci && npm run build 102cd .. && mkdir -p src/qwenpaw/console 103cp -R console/dist/. src/qwenpaw/console/ 104pip install -e . 105\`\`\` 106 1074. If using Docker, pull the latest image and restart the container: 108 109\`\`\` 110docker pull agentscope/qwenpaw:latest 111docker run -p 127.0.0.1:8088:8088 -v qwenpaw-data:/app/working -v qwenpaw-secrets:/app/working.secret -v qwenpaw-backups:/app/working.backups agentscope/qwenpaw:latest 112\`\`\` 113 114After upgrading, restart the service with \`qwenpaw app\`.`};var hd;(function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_CREATED="tauri://window-created",e.WINDOW_SUSPENDED="tauri://suspended",e.WINDOW_RESUMED="tauri://resumed",e.WEBVIEW_CREATED="tauri://webview-created",e.DRAG_ENTER="tauri://drag-enter",e.DRAG_OVER="tauri://drag-over",e.DRAG_DROP="tauri://drag-drop",e.DRAG_LEAVE="tauri://drag-leave"})(hd||(hd={}));async function GM(e,t){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e,t),await Fe("plugin:event|unlisten",{event:e,eventId:t})}async function zi(e,t,a){var n;const o=(n=void 0)!==null&&n!==void 0?n:{kind:"Any"};return Fe("plugin:event|listen",{event:e,target:o,handler:JS(t)}).then(i=>async()=>GM(e,i))}
114async function VM(){return Dt()?Fe("check_desktop_update"):null}async function WM(){Dt()&&await Fe("install_desktop_update")}async function zM(){Dt()&&await Fe("download_desktop_update")}async function KM(){Dt()&&await Fe("install_downloaded_update")}async function $M(){return Dt()?Fe("check_cached_update"):null}async function QM(e){const t=[],a=async(o,i)=>{i&&t.push(await zi(o,s=>i(s.payload)))},n=o=>o?()=>o():void 0;return await Promise.all([a("update:check-start",n(e.onCheckStart)),a("update:download-progress",e.onDownloadProgress),a("update:install-start",n(e.onInstallStart)),a("update:download-done",e.onDownloadDone),a("update:error",e.onError)]),()=>{t.forEach(o=>o())}}const Np=h.createContext(null),JM=5e3;function ei(e){return typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}function YM({children:e}){const[t,a]=h.useState("idle"),[n,o]=h.useState(!1),[i,s]=h.useState(!1),[r,l]=h.useState(!1),[d,u]=h.useState(""),[p,m]=h.useState(""),[k,g]=h.useState(0),[b,y]=h.useState(null),[T,S]=h.useState(0),[P,w]=h.useState(null),C=h.useRef([]);h.useEffect(()=>{if(!Dt())return;let U=!1;return $M().then(z=>{U||!z||(u(z),s(!0),l(!0),a("downloaded"),o(!0))}).catch(()=>{}),VM().then(z=>{var W;U||!z||(u(Q=>Q||z.version),m(((W=z.body)==null?void 0:W.trim())??""),s(!0),l(!!z.supportsLaterInstall))}).catch(z=>{console.warn("[updates] desktop update check failed",z)}),()=>{U=!0}},[]);const x=h.useCallback(U=>{const z=Date.now();C.current.push({t:z,downloaded:U.downloaded}),C.current=C.current.filter(D=>z-D.t<=JM);const W=C.current[0],Q=W?(z-W.t)/1e3:0,he=W?U.downloaded-W.downloaded:0;a("downloading"),g(U.downloaded),y(U.total??null),S(Q>0?Math.max(0,he/Q):0)},[]),I=h.useCallback(U=>{C.current=[],o(U),a("checking"),g(0),y(null),S(0),w(null)},[]);h.useEffect(()=>{if(!Dt())return;let U=null,z=!1;return QM({onCheckStart:()=>a("checking"),onDownloadProgress:x,onInstallStart:()=>a("installing"),onDownloadDone:W=>{a("downloaded"),u(W.version)},onError:W=>{a("failed"),w(W)}}).then(W=>{z?W():U=W}),()=>{z=!0,U==null||U()}},[x]);const R=h.useCallback(async()=>{I(!1);try{await WM()}catch(U){a("failed"),w({stage:"check",kind:"other",message:ei(U)})}},[I]),_=h.useCallback(async()=>{I(!0);try{await zM()}catch(U){a("failed"),w({stage:"check",kind:"other",message:ei(U)})}},[I]),A=h.useCallback(async()=>{o(!1),a("installing"),w(null);try{await KM()}catch(U){a("failed"),o(!1),w({stage:"install",kind:"other",message:ei(U)})}},[]),L=h.useCallback(()=>{a("idle"),w(null),o(!1)},[]),j=h.useMemo(()=>({phase:t,isBackground:n,hasUpdate:i,supportsLaterInstall:r,version:d,body:p,downloaded:k,total:b,throughputBps:T,error:P,startInstall:R,startBackgroundDownload:_,installDownloaded:A,retry:R,dismissFailure:L}),[t,n,i,r,d,p,k,b,T,P,R,_,A,L]);return c.jsx(Np.Provider,{value:j,children:e})}function qs(){const e=h.useContext(Np);if(!e)throw new Error("useDesktopUpdate must be used inside <DesktopUpdateProvider>");return e}const{Header:XM}=Ja;function ZM({code:e}){const[t,a]=h.useState(!1),n=()=>{navigator.clipboard.writeText(e).then(()=>{a(!0),setTimeout(()=>a(!1),2e3)})};return c.jsxs("div",{className:F.codeBlock,children:[c.jsx("code",{className:F.codeBlockInner,children:e}),c.jsx("button",{className:`${F.copyBtn} ${t?F.copyBtnCopied:F.copyBtnDefault}`,onClick:n,title:"Copy",children:t?c.jsx(Md,{}):c.jsx(Ym,{})})]})}function eD(){var he;const{t:e,i18n:t}=ve(),{isDark:a,setThemeMode:n}=un(),o=qs(),i=Dt(),[s,r]=h.useState(""),[l,d]=h.useState(""),[u,p]=h.useState(!1),[m,k]=h.useState(""),g=h.useRef([]);h.useEffect(()=>{ua.getVersion().then(D=>r((D==null?void 0:D.version)??"")).catch(()=>{})},[]);const b=()=>{if(!i)return;const D=Date.now(),N=D-3e3;g.current=g.current.filter(H=>H>N),g.current.push(D),g.current.length>=8&&(g.current=[],Fe("open_devtools").then(()=>Ys.success("DevTools opened")).catch(H=>{const M=H instanceof Error?H.message:typeof H=="string"?H:JSON.stringify(H);console.error("Failed to open DevTools:",M),Ys.error(`DevTools error: ${M}`)}))};h.useEffect(()=>{i||fetch(BM).then(D=>D.json()).then(D=>{var pe,ge;const N=(D==null?void 0:D.releases)??{},H=Object.entries(N).filter(([te])=>jM(te)).map(([te,ze])=>{const Rt=ze.map(Ze=>
114Ze.upload_time_iso_8601).filter(Boolean).sort().pop();return{version:te,uploadTime:Rt||""}});H.sort((te,ze)=>{const J=new Date(ze.uploadTime).getTime()-new Date(te.uploadTime).getTime();return J!==0?J:md(ze.version,te.version)});const O=H.map(te=>te.version)[0]??((pe=D==null?void 0:D.info)==null?void 0:pe.version)??"",q=(ge=H.find(te=>te.version===O))==null?void 0:ge.uploadTime,K=!!q&&new Date(q)<=new Date(Date.now()-NM);d(K?O:"")}).catch(()=>{})},[i]);const y=i?o.hasUpdate:!!s&&!!l&&md(l,s)>0,T=i?o.version:l,S=[{key:"tutorial",icon:c.jsx(jm,{}),label:e("header.tutorial"),onClick:()=>_(HM(t.language))},{key:"featureDemos",icon:c.jsx(Gm,{}),label:e("header.featureDemos"),onClick:()=>_(qM(t.language))},{key:"changelog",icon:c.jsx(Vm,{}),label:e("header.changelog"),onClick:()=>_(pd(t.language))},{key:"faq",icon:c.jsx(Qs,{}),label:e("header.faq"),onClick:()=>_(UM(t.language))}],P=[{key:"github",icon:c.jsx(Js,{}),label:e("header.github"),onClick:()=>_(ud)}],w=[{key:"language",label:e("sidebar.settings.language"),children:ka.map(({key:D,label:N})=>({key:D,label:N,onClick:()=>{t.changeLanguage(D),localStorage.setItem("language",D)}}))},{key:"theme",label:e("sidebar.settings.theme"),children:[{key:"light",label:e("theme.light"),onClick:()=>n("light")},{key:"dark",label:e("theme.dark"),onClick:()=>n("dark")},{key:"system",label:e("theme.system"),onClick:()=>n("system")}]},{type:"divider"},...S,...P],C=()=>{var M,O;k(""),p(!0);const D=(M=t.language)!=null&&M.startsWith("zh")?"zh":(O=t.language)!=null&&O.startsWith("ru")?"ru":"en";if(i){k(o.body||e("sidebar.updateModal.desktopInstallHint",{version:o.version}));return}const N=D==="zh"?"zh":"en",H=`https://qwenpaw.agentscope.io/docs/faq.${N}.md`;fetch(H,{cache:"no-cache"}).then(q=>q.ok?q.text():Promise.reject()).then(q=>{const K=/###\s*QwenPawå¦ä½æ´æ°[\s\S]*?(?=\n###|$)/,pe=/###\s*How to update QwenPaw[\s\S]*?(?=\n###|$)/,ge=q.match(N==="zh"?K:pe);k(ge&&D!=="ru"?ge[0].trim():_n[D]??_n.en)}).catch(()=>{k(_n[D]??_n.en)})},x=()=>{p(!1),o.startInstall()},I=()=>{p(!1),o.startBackgroundDownload()},R=()=>{o.installDownloaded()},_=D=>{Es(D)},A=i&&o.isBackground&&(o.phase==="checking"||o.phase==="downloading"),L=i&&o.phase==="downloaded",j=i&&o.phase==="installing",U=i&&o.isBackground&&o.phase==="failed",z=A&&o.phase==="downloading"&&o.total?Math.min(99,Math.round(o.downloaded/o.total*100)):void 0,W=z!==void 0?`${e("sidebar.updateModal.backgroundDownloading")} ${z}%`:e("sidebar.updateModal.backgroundDownloading"),Q=(he=o.error)!=null&&he.message?`${e("sidebar.updateModal.backgroundFailed")}: ${o.error.message}`:e("sidebar.updateModal.backgroundFailed");return c.jsxs(c.Fragment,{children:[c.jsxs(XM,{className:F.header,children:[c.jsxs("div",{className:F.logoWrapper,onClick:b,children:[c.jsx($t,{name:"header.logo",kind:"replace",children:c.jsx("img",{src:a?"/logo-dark.svg":"/logo-light.svg",alt:"QwenPaw",className:F.logoImg})}),c.jsx("div",{className:F.logoDivider}),s&&c.jsx(Nd,{dot:!!y&&!L&&!A,color:"rgba(255, 157, 77, 1)",offset:[4,28],children:c.jsxs("span",{className:`${F.versionBadge} ${y||L?F.versionBadgeClickable:F.versionBadgeDefault}`,onClick:()=>{L||y&&C()},children:["v",s]})}),A&&c.jsx(mt,{title:W,children:c.jsx(Wm,{spin:!0,style:{marginLeft:6,fontSize:14,color:"rgba(255, 157, 77, 1)"}})}),L&&c.jsx(Od,{content:c.jsxs("div",{style:{textAlign:"center"},children:[c.jsx("p",{style:{marginBottom:12},children:e("sidebar.updateModal.readyToInstallHint",{version:o.version})}),c.jsx(ct,{type:"primary",size:"small",onClick:R,loading:j,children:e("sidebar.updateModal.restartNow")})]}),title:e("sidebar.updateModal.readyToInstall"),trigger:"click",children:c.jsx(mt,{title:e("sidebar.updateModal.readyToInstall"),children:c.jsx(zm,{style:{marginLeft:6,fontSize:14,color:"#52c41a"}})})}),U&&c.jsx(mt,{title:Q,children:c.jsx(Km,{style:{marginLeft:6,fontSize:14,color:"#ff4d4f",cursor:"pointer"},onClick:()=>void o.startBackgroundDownload()})})]}),c.jsx($t,{name:"header.left",kind:"fill"}),c.jsxs(oa,{size:"middle",children:[c.jsx($t,{name:"header.right",kind:"fill"}),S.length>0&&c.jsx(ha,{menu:{items:S},children:c.jsxs(ct,{type:"text",className:F.hideOnMobile,children:[e("header.resources")," ",c.jsx($m,{})]})}),c.jsx(mt,{title:e("header.github"),children:c.jsx(ct,{type:"text",icon:c.jsx(Js,{}),onClick:()=>_(ud),className:F.hideOnMobile,children:e("header.github")})}),c.jsx("div",{className:F.headerDivider}),c.jsx("span",{className:F.hideOnMobile,children:c.jsx(LM,{})}),c.jsx("span",{className:F.hideOnMobile,children:c.jsx(OM,{})}),c.jsx(ha,{menu:{items:w},placement:"bottomRight",children:c.jsx(ct,{type:"text",icon:c.jsx(Qs,{}),className:F.showOnMobile,title:e("header.resources")})})]})]}),c.jsxs(Qm,{title:null,open:u,onCancel:()=>p(!1),footer:[c.jsx(ct,{onClick:()=>p(!1),children:e("common.close")},"close"),i&&o.supportsLaterInstall?c.jsx(ct,{onClick:I,children:e("sidebar.updateModal.updateLater")},"later"):null,i?c.jsx(ct,{type:"primary",className:F.updateViewReleasesBtn,onClick:x,children:e("sidebar.updateModal.installDesktopUpdate")},"install"):c.jsx(ct,{type:"primary",className:F.updateViewReleasesBtn,onClick:()=>_(pd(t.language)),children:e("sidebar.updateModal.viewReleases")}
114,"releases")].filter(Boolean),width:960,className:F.updateModal,children:[c.jsx("div",{className:F.updateModalBanner,children:c.jsxs("div",{className:F.updateModalBannerLeft,children:[c.jsxs("span",{className:F.updateModalVersionTag,children:[c.jsx(Jm,{}),"Version ",T||s]}),c.jsx("div",{className:F.updateModalBannerTitle,children:e("sidebar.updateModal.title",{version:T||s})})]})}),c.jsx("div",{className:F.updateModalBody,children:m?c.jsx(Wh,{remarkPlugins:[zh],components:{a:Bp,code({node:D,className:N,children:H,...M}){var K,pe,ge,te;const O=/language-(\w+)/.exec(N||"");return((pe=(K=D==null?void 0:D.position)==null?void 0:K.start)==null?void 0:pe.line)!==((te=(ge=D==null?void 0:D.position)==null?void 0:ge.end)==null?void 0:te.line)||O?c.jsx(ZM,{code:String(H).replace(/\n$/,"")}):c.jsx("code",{className:F.codeInline,...M,children:H})}},children:m}):c.jsx("div",{className:F.updateModalSpinWrapper,children:c.jsx(nn,{})})})]})]})}const Hp=h.createContext(void 0);function tD({children:e}){const[t,a]=h.useState([]);return c.jsx(Hp.Provider,{value:{approvals:t,setApprovals:a},children:e})}function aD(){const e=h.useContext(Hp);if(!e)throw new Error("useApprovalContext must be used within ApprovalProvider");return e}const nD="index-module__wrap__wP7Ot",oD="index-module__bubble__H4Y3q",iD="index-module__icon__8y7eW",sD="index-module__text__yY78f",rD="index-module__close__B5Obh",Fa={wrap:nD,bubble:oD,icon:iD,text:sD,close:rD},lD=2500,dD=8e3,cD=500,uD="⢠";function pD(){const[e,t]=h.useState([]),a=h.useRef(null),n=h.useRef(new Set),o=h.useRef(document.title),i=h.useRef(null),{setApprovals:s}=aD(),r=l=>{t(d=>d.filter(u=>u.id!==l))};return h.useEffect(()=>{o.current=document.title},[]),h.useEffect(()=>{const l={current:""},d=()=>{Ju.getPushMessages().then(u=>{var b;if(u!=null&&u.pending_approvals){const y=JSON.stringify(u.pending_approvals);y!==l.current&&(l.current=y,s(u.pending_approvals))}if(!((b=u==null?void 0:u.messages)!=null&&b.length))return;const p=n.current;p.size>cD&&p.clear();const m=[],k=Date.now();for(const y of u.messages)p.has(y.id)||(p.add(y.id),m.push({...y,dismissAt:k+dD}));if(m.length===0)return;const g=m.slice(-2);t(y=>[...y,...g].slice(-4))}).catch(()=>{})};return d(),a.current=setInterval(d,lD),()=>{a.current&&clearInterval(a.current)}},[]),h.useEffect(()=>{if(e.length===0)return;const l=setInterval(()=>{const d=Date.now();t(u=>{const p=u.filter(m=>m.dismissAt>d);return p.length===u.length?u:p})},500);return()=>clearInterval(l)},[e.length]),h.useEffect(()=>{if(e.length===0||!document.hidden||i.current)return;const l=o.current;let d=!0;return i.current=setInterval(()=>{document.title=d?`${uD}${l}`:l,d=!d},800),()=>{i.current&&(clearInterval(i.current),i.current=null),document.title=l}},[e.length]),h.useEffect(()=>{const l=()=>{document.visibilityState==="visible"&&(i.current&&(clearInterval(i.current),i.current=null),document.title=o.current)};return document.addEventListener("visibilitychange",l),()=>document.removeEventListener("visibilitychange",l)},[]),e.length===0?null:c.jsx("div",{className:Fa.wrap,role:"region","aria-label":"Cron messages",children:e.map(l=>c.jsxs("div",{className:Fa.bubble,children:[c.jsx(Xm,{size:18,className:Fa.icon,"aria-hidden":!0}),c.jsx("p",{className:Fa.text,title:l.text,children:l.text}),c.jsx("button",{type:"button",className:Fa.close,onClick:()=>r(l.id),"aria-label":"Close",children:c.jsx(Zm,{size:14})})]},l.id))})}const mD=1500;function hD(e,t){const a=e.some(n=>n.startup_status==="pending"||n.startup_status==="starting");h.useEffect(()=>{if(!a)return;let n=!1,o;const i=()=>{o=window.setTimeout(async()=>{try{await t()}catch{}finally{n||i()}},mD)};return i(),()=>{n=!0,o!==void 0&&window.clearTimeout(o)}},[a,t])}function gD(){const e=We(a=>a.agents),t=We(a=>a.refreshAgents);return hD(e,t),null}const fD={save:"Save",reset:"Reset",cancel:"Cancel",confirm:"Confirm",apply:"Apply",delete:"Delete",edit:"Edit",create:"Create",upload:"Upload",download:"Download",refresh:"Refresh",retry:"Retry",search:"Search",enable:"Enable",disable:"Disable",enabled:"Enabled",disabled:"Disabled",preview:"Preview",raw:"Raw",view:"View",content:"Content",loading:"Loading...",saving:"Saving...",copy:"Copy",copied:"Copied to clipboard",copyFailed:"Failed to copy to clipboard",contentPlaceholder:"Enter content...",help:"Help",close:"Close",back:"Back",actions:"Actions",total:"Total {{count}}",clear:"Clear",paste:"Paste",yes:"Yes",no:"No"},bD={closeWindow:{title:"Close Window",description:"What would you like to do when closing the window? Quitting the app stops all running tasks and scheduled jobs.",remember:"Remember my choice",showWindow:"Show Window",minimizeToTray:"Minimize to Tray",quitApp:"Quit App",preference:"Close Window",askEveryTime:"Ask every time"}}
114,kD={title:"Failed to load page",subTitle:"This may be caused by a network issue or an application update.",genericTitle:"Something went wrong",genericSubTitle:"An unexpected error occurred while rendering this page.",reload:"Reload"},yD={backToList:"Back",subtitle:"Manage installed apps, or expand your workspace from official and community channels.",myApps:"My Apps",officialApps:"Official Apps",appMarket:"App Market",browseOfficialApps:"Browse Official Apps",browseMarket:"Browse App Market",officialAppsEmpty:"No official apps yet",searchOfficial:"Search official apps...",installedCount:"{{count}} apps",clearFilters:"Clear filters",moreActions:"More actions",openApp:"Open app",noDescription:"No description",search:"Search apps...",allCategories:"All",noApps:"No apps installed yet",noResults:"No apps match your search",loadFailed:"Failed to load apps. Please retry.",appNotLoaded:"This app is not loaded yet.",appLoadFailed:"The app failed to load. You can retry without affecting other apps.",uninstall:"Uninstall",uninstallConfirmTitle:"Uninstall app?",uninstallConfirmContent:'This will delete the app directory of "{{name}}". This cannot be undone.',uninstallSuccess:"App uninstalled",uninstallFailed:"Uninstall failed",installing:"Installing",installSuccess:"Installed",installFailed:"Install failed",installedStatus:"Installed",update:"Update",searchMarket:"Search app market...",marketFilters:"App market filters",filterAll:"All",trending:"Trending",marketEmpty:"No apps found",loadMore:"Load more",noMoreApps:"No more apps",install:"Install",details:"Details",featured:"Featured",aboutApp:"About App",exitApp:"Exit App",moreOptions:"More Options",backToListHint:"Back to app list (ESC)",version:"Version",id:"ID",category:"Category",description:"Description"},vD={connected:"Connected",disconnected:"Disconnected",notConnected:"Not connected",comingSoon:"Coming soon",connect:"Connect with ChatGPT",disconnect:"Disconnect",apiKeyAuthenticated:"Authenticated with API key",chatGptAuthenticated:"Connected with ChatGPT",cliAuthenticated:"{{type}} CLI authenticated"},TD={chat:"Chat",files:"Files",control:"Control",channels:"Channels",sessions:"Sessions",inbox:"Inbox",apps:"Apps",cronJobs:"Cron Jobs",heartbeat:"Heartbeat",agent:"Workspace",workspace:"Files",skills:"Skills",skillPool:"Skill Pool",marketplace:"Extension",market:"Skill Market",tools:"Tools",mcp:"MCP",acp:"ACP",agentConfig:"Configuration",agents:"Agent Management",settings:"Settings",models:"Models",environments:"Environments",offloadPolicy:"Tool Offload",security:"Security",tokenUsage:"Token Usage",agentStats:"Agent Statistics",voiceTranscription:"Voice Transcription",debug:"Debug",plugins:"Plugins",backups:"Backups",pluginManager:"Plugin Manager"},SD={console:"Console",appStore:"App Store",appStoreDesc:"Install or remove desktop apps",arrangeDesktop:"Clean up desktop",approvalActionFailed:"Action failed, please retry",booting:"Starting upâ¦",changeWallpaper:"Change wallpaper",clearAll:"Clear all",closeApp:"Close",currentSpace:"Current space",currentSpaceLabel:"Current space: {{name}}",currentAppLabel:"Current app: {{name}}",desktopApps:"Desktop apps",finder:"Desktop",focusApp:"Focus",install:"Install",installed:"installed",installedApp:"Installed",installedApps:"Installed apps",launchpad:"Launchpad",moveDockLeft:"Move left",moveDockRight:"Move right",missionControl:"Mission Control",noInstalledApps:"No apps installed",noNotifications:"No notifications",noOpenWindows:"No open windows in this space",noSettings:"No settings available",notInstalled:"not installed",notifications:"Notifications",notificationSummary:"Approvals {{approvals}} · Inbox {{inbox}}",notifyApproval:"Approval",notifyInbox:"Inbox",openApp:"Open",keepInDock:"Keep in Dock",removeFromDock:"Remove from Dock",refreshDesktop:"Refresh desktop",appMarket:"App Market",appMarketRefresh:"Refresh",appMarketSearch:"Search apps...",appMarketEmpty:"No apps found",appMarketUnavailable:"The app market is currently unavailable. Please try again later.",appMarketInstall:"Install",appMarketDetails:"Details",appMarketDeveloper:"Developer",appMarketDownloads:"Downloads",appInstalled:"App installed successfully",a
114ppInstallFailed:"App installation failed",appCompatibilityWarningTitle:"App Compatibility Warning",appCompatibilityWarningContent:"This app is labeled for QwenPaw {{labels}}. Your QwenPaw version is {{version}}. Installing it may cause errors. Continue?",appCompatibilityWarningConfirm:"Install anyway",appCompatibilityUnverified:"Compatibility with your QwenPaw version is unverified.",restoreAll:"Restore all",returnToConsole:"Return to console",desktopMode:"Desktop mode",qwenpawMenu:"QwenPaw menu",restoredAll:"Restored all apps",sortBy:"Sort by",sortFree:"Free arrangement",sortName:"Name",sortType:"Type",systemSettings:"System Settings",uninstall:"Uninstall",uninstallConfirmTitle:"Uninstall app?",uninstallFailed:"Uninstall failed",uninstalledApp:"Uninstalled",update:"Update",wallpaper:"Wallpaper",windows:"windows"},CD={newVersion:"New version available: v{{version}}, click to upgrade",updateModal:{title:"New version available: v{{version}}",viewReleases:"View Releases",installDesktopUpdate:"Update Now",desktopInstallHint:"QwenPaw Desktop {{version}} is ready to install. The app will restart after the update.",checking:"Checking for updatesâ¦",checkingHint:"Confirming the latest release",downloading:"Downloading update",downloadingTo:"Updating to version {{version}}",downloadProgress:"{{done}} / {{total}} · {{rate}}",installing:"Installing update",willRestart:"The app will restart automatically when done.",stepPrepare:"Prepare",stepDownloading:"Download",stepInstalling:"Install",failedTitle:"Update failed",back:"Back",retry:"Retry",errors:{network:"Couldn't reach the update server. Check your internet and try again.",signature:"Update file signature invalid. Try downloading again.",appLocation:"QwenPaw is running from a read-only macOS location. Move QwenPaw.app to the Applications folder, launch it from there, then try updating again.",other:"Update failed."},updateLater:"Download in Background",backgroundDownloading:"Downloading in backgroundâ¦",readyToInstall:"Update ready",readyToInstallHint:"v{{version}} update is downloaded. Restart to install and launch the new version.",restartNow:"Update Now",backgroundFailed:"Background download failed"},settings:{language:"Language",theme:"Theme",mode:"Mode",desktopMode:"Desktop Mode"},simpleMode:"Simple Mode",fullMode:"Full Mode",toggleAgentNavigation:"Expand or collapse agent navigation"},wD={title:"Debug",desc:"View the backend daemon log file to help diagnose issues. Logs refresh automatically while this page is open.",level:{all:"All"},backend:{title:"Backend logs",autoRefresh:"Auto refresh",newestFirst:"Newest first",updatedAt:"Updated at",path:"Log file",notFound:"Backend log file was not found yet.",placeholder:"Backend log output will appear here.",loadFailed:"Failed to load backend logs",searchPlaceholder:"Search backend logs..."},actions:{refreshBackend:"Refresh backend logs",refreshSuccess:"Logs refreshed",copyBackend:"Copy backend logs"}},PD={title:"Inbox",tabApprovals:"Approvals",tabPushMessages:"Push Messages",tabHarvests:"AI Harvest",summaryApprovals:"Approvals",summaryPushUnread:"Unread Push",summaryHarvests:"Harvests",from:"From:",heartbeatSuccess:"Heartbeat completed successfully",heartbeatTimeout:"Heartbeat timed out",heartbeatCancelled:"Heartbeat was cancelled",heartbeatFailed:"Heartbeat failed",skillAutoSyncTitle:"Skill auto-sync",skillBuiltinAutoUpdateTitle:"Built-in skill auto-update",skillPoolSender:"Skill Pool",skillAutoSynced:'Skill "{{skill}}" changed â auto-synced to: {{agents}}',skillAutoSyncFailed:'Skill "{{skill}}" auto-sync failed for: {{agents}}',skillBuiltinUpdated:'Built-in "{{skill}}" updated in the Pool: {{from}} â {{to}}',skillBuiltinUpdateFailed:'Built-in "{{skill}}" could not update in the Pool',skillBuiltinSynced:'"{{skill}}" synced to: {{agents}}',skillBuiltinSyncFailed:'"{{skill}}" could not sync to: {{agents}}',requestedBy:"By",markRead:"Mark Read",markAllRead:"Mark All Read",markAllReadNoUnread:"No unread messages",markAllReadSuccess:"Marked {{count}} messages as read",selectAllCurrentPage:"Select current page",selectedItems:"{{count}} selected",batchDeleteButton:"Batch Delete",batchOperation:"Batch",exitBatch:"Exit Batch",batchDeleteConfirm:"Delete {{count}} selected push messages?",batchDeleteSuccess:"Deleted {{count}} push messages",pushCronHeader:"Cron Job: {{name}}",viewDetails:"View Details",deleteMessageConfirm:"Delete this push message?",viewAll:"View All",read:"Read",approve:"Approve",reject:"Reject",ready:"Ready",harvestNow:"Harvest Now",createHarvest:"Create Harvest",createFirstHarvest:"Create Your First Harvest",createSuccess:"Harvest created successfully",emptyApprovals:"No pending approvals",emptyPush:"No push messages",wobbleEnable:"Enable approval wobble notification",wobbleDisable:"Disable approval wobble notification",emptyHarvests:"No harvests yet",statusReadyToHarvest:"Ready to Harvest",statusGrowing:"Growing",harvestedTimes:"Harvested {{count}} times",harvestSuccessRate:"Success Rate {{rate}}%",messageDetailComingSoon:"Message detail view - Coming soon!",harvestSettingsComingSoon:"Harvest settings - Coming soon!",messageDetailTitle:"Execution Detail",detailCronTitle:"Cron Job: {{name}}",detailHeartbeatTitle:"Heartbeat",messageNotFound:"Message not found",detailTaskName:"Task Name",detailTaskId:"Task ID",detailStatus:"Status",detailSeverity:"Severity",detailAgent:"Agent",detailSource:"Source",detailSourceCronJob:"Cron Job",detailSourceHeartbeat:"Heartbeat",detailTrigger:"Trigger",detailDuration:"Duration",detailExecutedAt:"Executed At",detailReceivedAt:"Received At",detailRunId:"Run ID",detailContent:"Output",detailPayload:"Payload",detailExecutionTrace:"Execution Trace",detailTraceEmpty:"No execution trace available",mailDetailSender:"Sender",mailDetailSubject:"Subject",mailDetailDate:"Mail time",mailDetailBody:"Body preview",mailDetailProcess:"Processing steps",filterByAgent:"Filter by agent",filterBySourceType:"Filter by source",sourceTypeCron:"Cron",sourceTypeHeartbeat:"Heartbeat",sourceTypeMemory:"Memory",sourceTypeMail:"Mail",mailAccessControl:"Mail Access Control",pendingSenders:"Pending Senders",senderLists:"Sender Lists",addSender:"Add Sender",domainWildcardHint:"Supports domain wildcards, e.g. *@example.com",invalidAddress:"Invalid email address. Use a format like [email protected] or *@domain.com",whitelist:"Whitelist",blacklist:"Blacklist",approveSender:"Approve",deny:"Block",dismiss:"Dismiss",batchApprove:"Batch Approve",batchDeny:"Batch Block",batchDismiss:"Batch Dismiss",batchRemove:"Batch Remove",confirmApprove:"Approve selected senders?",confirmDeny:"Deny selected senders?",confirmDismiss:"Dismiss selected senders?",confirmRemove:"Confirm remove?",removeSuccess:"Removed successfully",addedToAllAgents:"Added and synced to all agents",senderAddress:"Sender Address",displayName:"Sender Name",emailSubject:"Subject",bodyPreview:"Body Preview",selectAgent:"Select Agent",allAgents:"All Agents",time:"Time",remark:"Remark",actions:"Actions",optional:" (optional)",required:" (required)"},AD={title:"ACP",loading:"Loading ACP configuration...",builtin:"Built-in",custom:"Custom",create:"Add Custom Agent",createTitle:"Create ACP Agent",createSuccess:"ACP agent created",editTitle:"Edit ACP Configuration",agentKey:"Agent Key",agentKeyRequired:"Please enter an agent key",agentKeyInvalid:"Agent key can only contain letters, numbers, underscores, and hyphens",agentKeyExists:"This agent key already exists",enabled:"Enabled",command:"Command",commandRequired:"Please enter a command",args:"Arguments",argsHelp:"One argument per line",env:"Environment Variables",envHelp:"Use KEY=VALUE format on each line",envInvalidLine:"Invalid environment variable format: {{line}}",trusted:"Trusted",toolParseMode:"Tool Parse Mode",toolParseModeRequired:"Please select a tool parse mode",stdioBufferLimit:"Stdio Buffer Limit",stdioBufferLimitHelp:"Maximum stdio line buffer size in bytes for the ACP subprocess.",stdioBufferLimitRequired:"Please enter a stdio buffer limit",stdioBufferLimitMin:"Stdio buffer limit must be at least 1 byte",docs:"Setup Docs",docsHelp:'Open the ACP integration docs and jump to the "How to configure external runners" section',notSet:"Not set",configSaved:"ACP configuration saved",configFailed:"Failed to save ACP configuration",deleteTitle:"Delete {{name}}",deleteConfirm:"Delete this ACP agent? This action cannot be undone.",deleteSuccess:"ACP agent deleted",deleteFailed:"Failed to delete ACP agent",n
114odeSettings:"Node Settings",nodePath:"Node path",chooseOtherNode:"Choose another Node...",selectNodePath:"Select Node path",nodePathPrompt:"Enter the node executable path",nodeSaved:"Node settings saved",nodeLoadFailed:"Failed to load Node settings",nodeSaveFailed:"Node path is unavailable",nodeRuntime:{bundled:"Bundled Node",system:"System Node",custom:"Custom Node"},nodeRuntimeReason:{systemNodeMissing:"System Node was not detected",nodeMissing:"Node path does not exist",npxMissing:"npx was not found",versionCheckFailed:"Version check failed",unavailable:"Unavailable"}},MD={title:"Voice Transcription",description:"Configure how incoming audio and voice messages are handled.",saveSuccess:"Audio mode saved",saveFailed:"Failed to save audio mode",audioModeLabel:"Audio Mode",audioModeDescription:"Choose how voice messages from channels (Discord, Telegram, etc.) are processed before being sent to the model.",modeAuto:"Auto (Recommended)",modeAutoDesc:"Transcribe audio to text using the selected transcription provider, then send the text to the model. If transcription is unavailable or disabled, a file-uploaded placeholder is shown instead. Audio is never sent directly to the model in this mode. Works with all models.",modeNative:"Native Audio",modeNativeDesc:"Send the audio file directly to the model without transcription. This is the only mode that sends audio to the model. Only works with specific audio-capable models (e.g. gpt-4o-audio). Most models do not support this and will reject the message.",ffmpegReady:"ffmpeg is installed. Audio conversion is available for native mode.",ffmpegMissing:"ffmpeg is not installed.",ffmpegMissingDesc:"Native audio mode requires ffmpeg to convert audio formats (e.g. .ogg to .wav). Install ffmpeg as a system package to enable this mode.",providerTypeLabel:"Transcription Provider",providerTypeDescription:"Choose the transcription backend. Select Disabled if you do not need voice transcription.",providerTypeDisabled:"Disabled",providerTypeDisabledDesc:"No transcription. Voice messages will show a file-uploaded placeholder.",providerTypeWhisperApi:"Whisper API",providerTypeWhisperApiDesc:"Use an OpenAI-compatible Whisper API endpoint from a configured provider (e.g. OpenAI, Ollama).",providerTypeLocalWhisper:"Local Whisper",providerTypeLocalWhisperDesc:"Run transcription locally using the openai-whisper Python library. Requires both ffmpeg and openai-whisper to be installed.",localWhisperReady:"Local Whisper is ready. Both ffmpeg and openai-whisper are installed.",localWhisperMissing:"Local Whisper is not ready. Missing dependencies must be installed.",localWhisperMissingDesc:"ffmpeg: {{ffmpeg}} | openai-whisper: {{whisper}}. Install missing dependencies: ffmpeg (system package) and openai-whisper (uv pip install openai-whisper, or install QwenPaw with the [whisper] extra).",providerLabel:"Whisper API Provider",providerDescription:"Select which provider to use for audio transcription via the Whisper API. Only providers with a Whisper-compatible endpoint are shown.",providerPlaceholder:"Select a provider...",noProvidersWarning:"No transcription-capable providers found. Configure an OpenAI provider to enable voice transcription.",transcriptionInfoTitle:"How transcription works",transcriptionInfoDesc:"Whisper API transcription uses an OpenAI-compatible /v1/audio/transcriptions endpoint. This requires a configured provider with a Whisper-compatible endpoint â for example, an OpenAI provider. Select a specific provider above to enable transcription.",transcriptionInfoDescLocal:"Local Whisper transcription runs the openai-whisper library directly on your machine. It requires both ffmpeg (for audio decoding) and the openai-whisper Python package to be installed. No API key or network connection is needed. Install with: uv pip install 'qwenpaw[whisper]'."},DD={title:"Backups",description:"Backup and restore agent workspaces and configurations.",create:"Create Backup",import:"Import",export:"Export",restore:"Restore",delete:"Delete",batchDelete:"Delete Selected",batchDeleteConfirm:"Are you sure you want to delete {{count}} backup(s)? This action cannot be undone.",deleteConfirm:"Are you sure you want to delete this backup? This action cannot be undone.",name:"Name",createdAt:"Created",scopeSummary:"Scope",descriptionLabel:"Description",noBackups:"No backups yet. Create one to backup your current configuration.",loadFailed:"Failed to load backups",createTitle:"Create Backup",backupMode:"Backup Mode",fullBackup:"Full Backup",fullBackupDesc:"Backup everything including all agent workspaces, global settings, skill pool, and secrets",customBackup:"Custom Backup",partialBackup:"Parti
114al Backup",partialBackupDesc:"Customize what to backup",nameRequired:"Backup name is required",namePlaceholder:"Enter backup name",descriptionPlaceholder:"Optional description...",scopeAgents:"Agent Workspaces",scopeGlobalConfig:"Global Settings",scopeSkillPool:"Skill Pool",scopeSecrets:"Secrets",scopeSecretsHint:"Includes model provider secrets (API keys), environment variables, and other sensitive information",securityNotice:"This backup may contain sensitive credentials. Agent workspaces include channel credentials (bot tokens, app secrets, etc.), and model provider secrets include API keys. Do not share backup files with others.",searchPlaceholder:"Search backups by name or ID...",total:"Total {{count}}",agentsPlaceholder:"Select agent workspaces (leave empty for all)",selectAll:"Select All",deselectAll:"Deselect All",createSuccess:"Backup created successfully",createFailed:"Failed to create backup",restoreTitle:"Restore Backup",restoreScope:"Restore Scope",restoreFullWarning:"Full restore will completely replace all contents of the current instance (including all agents, global config, skill pool, and secrets). This action cannot be undone. Related features will be unavailable during restore. Please restart the service after restoration is complete.",agentGroupExisting:"Existing",agentGroupNew:"New",agentExists:"Exists",agentNew:"New",agentActionReplace:"Overwrite",agentActionAdd:"New",agentColumnName:"Agent",agentColumnWorkspace:"Workspace",agentTotal:"{{count}} agents total",noAgentsInBackup:"No agent workspaces in this backup",loadingAgents:"Loading agent list...",agentSearchPlaceholder:"Search by name or ID...",agentSearchTotal:"{{count}} of {{total}} agents",restoreCustomSummary:"{{existing}} existing · {{added}} new selected",defaultWorkspaceDirUnused:"No new agents selected",otherOptions:"Other Options",defaultWorkspaceDirDefault:"<Default path>/{{aid}}",restoreWarningModify:"Restoring will modify current configurations. This action cannot be undone.",restoreWarningRestart:"Related features will be unavailable during restore. Please restart the service after restoration is complete.",preRestoreBackupTitle:"Create Pre-Restore Backup",preRestoreBackupContent:"The restore operation is irreversible. Would you like to create a backup of the current state first? This allows you to rollback if any issues occur during restoration.",preRestoreBackupYes:"Yes, create backup first",preRestoreBackupNo:"No, restore directly",preRestoreBackupDesc:"Auto-created backup before restore",preRestoreBackupFailed:"Failed to create pre-restore backup",preRestoreBackupSuccess:"Pre-restore backup created successfully, ID: {{id}}",creatingPreRestoreBackup:"Creating pre-restore backup...",skipAndRestore:"Skip and continue to restore",restoreConfirm:"I confirm that I want to restore this backup",restoreMode:"Restore Mode",restoreModeFull:"Full Restore",restoreModeFullDesc:"Completely replace all contents of the current instance, including all agents, global config, skill pool and secrets",restoreModeCustom:"Custom Restore",restoreModeCustomDesc:"Select the contents to restore, such as specific agents, config, etc.; existing agents not included in this restore will be preserved",restoreModeFullDisabled:"Full backup only",defaultWorkspaceDir:"Agent Default Workspace Directory",defaultWorkspaceDirPlaceholder:"Leave empty to use ~/.qwenpaw/workspaces",defaultWorkspaceDirHint:"If the agent's original workspace path does not exist, the agent will be saved under <default path>/<agent ID>. If it exists, the agent's original workspace path will be used.",restoreStrategy:"Restore strategy",restoreStrategyPreserve:"Preserve local security and MCP",restoreStrategyPreserveDesc:"Keep this instance's security guards and MCP configuration.",restoreStrategyRestore:"Restore these settings from backup",restoreStrategyRestoreDesc:"Use the backup's security and MCP configuration.",restoreSuccess:"Backup restored successfully. Please restart the service.",restoreSuccessPreserved:"Backup restored successfully. Preserved local settings: {{keys}}. Please restart the service.",restoreSuccessWithBackup:"Backup restored successfully. Pre-restore backup ID: {{preRestoreId}}. Please restart the service.",restoreFailed:"Failed to restore backup",restoreTimedOut:"Restore is still running or took longer than 5 minutes. Check the backup size, disk space, and service logs before trying again.",restoreTargetBusy:"Restore failed because these directories are still in use. Close the browser or process using them, then retry. If they remain locked, restart the system and try again.",detailLoa
114dFailed:"Failed to load backup details; restore is unavailable",trustLocalBanner:"Local backup - full restore by default",trustForeignBanner:"Imported backup - local security and MCP are preserved by default",trustLegacyBanner:"Legacy backup - trust confirmation is required before restore",trustForeignTitle:"Trust this backup?",trustLegacyTitle:"Trust legacy backup?",unknownBackupName:"Backup archive",trustForeignDesc:"This backup was not signed by this instance. Only continue if you trust the source; local security and MCP settings will be preserved by default when restored.",trustLegacyDesc:"This older backup has no local signature. Only continue if you trust where it came from; this instance will sign it before restore.",deleteSuccess:"Backup(s) deleted successfully",deleteFailed:"Failed to delete backup(s)",exportFailed:"Failed to export backup",exportWarningTitle:"Sensitive Information Warning",exportWarningContent:"This backup may contain sensitive credential information. Agent workspaces contain channel credentials (such as bot tokens, app secrets, etc.), and model provider secrets contain API Keys. Do not share backup files with others.",exportConfirm:"Confirm Export",importTitle:"Import Backup",importSuccess:"Backup imported successfully",importFailed:"Failed to import backup",importConflictTitle:"Backup Already Exists",importConflictDesc:"A backup with the same ID already exists. Do you want to overwrite it?",importReplace:"Overwrite",agents:"{{count}} Agent(s)",allAgents:"All Agents",globalConfig:"Global Settings",skillPool:"Skill Pool",secrets:"Secrets",selected:"{{count}} selected",fileCount:"{{count}} files",totalSize:"{{size}}",progressStarting:"Starting backup...",progressAgent:"Backing up agent {{index}} / {{total}}...",progressSaving:"Saving backup file...",progressDone:"Backup complete",localModelsNotice:"Backup files do not include local model files. For cross-device migration, you will need to re-download the required local models on the target device."},xD={nav:"Checkpoints",title:"State Checkpoints",auto:"Auto",autoEnabled:"Automatic checkpoints enabled",autoDisabled:"Automatic checkpoints disabled",refresh:"Refresh checkpoints",snapshot:"Snapshot",snapshotCreated:"Snapshot created",graph:"Graph",checkpoint:"Checkpoint",type:"Type",commit:"Commit",createdAt:"Created",session:"Session",channel:"Channel",parent:"Parent",details:"Checkpoint details",search:"Search query, name, session, or SHA",allTypes:"All types",allSessions:"All sessions",showingLatest:"Latest {{count}} shown",loadFailed:"Unable to load checkpoints",retry:"Retry",more:"More actions",noMatches:"No checkpoints match these filters.",empty:"No state checkpoints yet. Your version history will appear here.",kind:{auto:"Auto",snapshot:"Snapshot",safety:"Safety",commit:"Commit"},summary:{total:"checkpoints"},snapshotDialog:{title:"Create snapshot",session:"Session",name:"Name",placeholder:"Optional snapshot name"},gc:{settingsAction:"Automatic cleanup settings",settingsTitle:"Automatic cleanup settings",keepCount:"Automatic checkpoints to keep",keepDays:"Automatic checkpoint retention (days)",preRestoreDays:"Pre-restore snapshot retention (days)",settingsSaved:"Automatic cleanup settings saved",thoroughAction:"Thoroughly compact checkpoints",thoroughTitle:"Thoroughly compact checkpoints?",thoroughDescription:"Removes {{count}} checkpoint(s), ignoring auto-checkpoint retention. Session HEADs are kept.",thoroughConfirm:"Thoroughly compact",thoroughSuccess:"Removed {{count}} checkpoint(s) during thorough compaction",action:"Clean up checkpoints",title:"Clean up checkpoints using retention policy?",description:"Removes {{count}} expired checkpoint(s) under the current retention policy. Session HEADs are kept.",confirm:"Clean up",success:"Removed {{count}} checkpoint(s)"},reset:{action:"Reset checkpoint data",title:"Reset all checkpoint data?",description:"This permanently removes every checkpoint and turns automatic checkpoints off.",confirm:"Reset",success:"Checkpoint data reset"},restore:{action:"Restore",title:"Restore checkpoint",preview:"Preview restore",confirm:"Restore checkpoint",conversation:"Conversation",memory:"Memory",files:"Worksp
114ace files",refreshWarning:"The conversation will change. Refresh the conversation after the restore completes.",selectedCount:"{{count}} files selected",selectAll:"Select all changed files",delete:"Delete",restore:"Restore",noFileChanges:"No workspace file changes are needed.",success:"Checkpoint restored. Refresh the conversation to load its restored state."}},RD={title:"Files",workspacePath:"Workspace:",noFiles:"No files",coreFiles:"Core Files",coreFilesDesc:"Bootstrap persona, identity, and tool guidance.",uploadTooltip:"ZIP files only",uploadTooltipWithLimit:"ZIP files only, max {{limit}}MB",selectFile:"Select a file to edit",fileContent:"File content...",uploadSuccess:"File uploaded successfully",uploadFailed:"File upload failed",downloadPreparing:"Preparing workspace download...",downloadSuccess:"Workspace downloaded successfully",downloadFailed:"Workspace download failed",zipOnly:"Only .zip files are supported for upload",fileSizeExceeded:"File size exceeds {{limit}}MB limit. Current file: {{size}}MB",systemPromptToggleTooltip:"Enable/disable this file in system prompt",memoryFileWarning:"MEMORY.md is typically queried on-demand by the agent using tools. Loading it into the system prompt may cause the context to become too long.",configUpdated:"System prompt configuration updated",configUpdateFailed:"Failed to update system prompt configuration",attribution:"Workspace design partly inspired by the OpenClaw project â thank you! ð¾",saveSuccess:"Saved successfully",saveFailed:"Save failed",saving:"Saving...",saved:"Saved",unsaved:"Unsaved"},ID=JSON.parse(`{"parent":"Settings","agents":"Agents","management":"Agent Management","pageDescription":"Create, configure, and manage multiple AI agents with custom workspaces and identities.","name":"Name","id":"ID","description":"Description","workspace":"Workspace Path","create":"Create Agent","createTitle":"Create New Agent","createSuccess":"Agent created successfully","createFailed":"Failed to create agent","edit":"Edit","editTitle":"Edit Agent - {{name}}","updateSuccess":"Agent updated successfully","updateFailed":"Failed to update agent","delete":"Delete","deleteConfirm":"Confirm Delete Agent","deleteConfirmDesc":"Agent will be unavailable after deletion, but workspace files will be kept","deleteSuccess":"Agent deleted successfully","deleteFailed":"Failed to delete agent","selectAgent":"Select Agent","defaultDisplayName":"Default Agent","currentWorkspace":"Current Agent","switchSuccess":"Agent switched successfully","switchFailed":"Failed to switch agent","loadFailed":"Failed to load agent list","loadConfigFailed":"Failed to load agent config","saveFailed":"Failed to save agent","idRequired":"Please enter agent ID","idLabel":"Agent ID (optional)","idHelp":"Leave empty to auto-generate. Only letters, digits, hyphens and underscores allowed.","idPattern":"ID can only contain letters, numbers, underscores and hyphens","idPlaceholder":"e.g.: my-agent","nameRequired":"Please enter agent name","namePlaceholder":"e.g.: My Agent","descriptionPlaceholder":"Briefly describe this agent's purpose...","workspaceHelp":"Leave empty to auto-generate in ~/.qwenpaw/workspaces/<id>","dragHandleTooltip":"Drag to reorder agents","reorderSuccess":"Agent order saved","reorderFailed":"Failed to save agent order","defaultNotEditable":"Default agent cannot be edited","defaultNotDeletable":"Default agent cannot be deleted","disable":"Disable","enable":"Enable","disabled":"Disabled","disableConfirm":"Confirm Disable Agent","disableConfirmDesc":"The agent instance will not start after disabling, but will remain visible in the list","enableConfirm":"Confirm Enable Agent","enableConfirmDesc":"The agent will be available for switching after enabling","disableSuccess":"Agent disabled successfully","enableSuccess":"Agent enabled successfully","toggleFailed":"Failed to toggle agent state","enableAgent":"Enable {{name}}","disableAgent":"Disable {{name}}","disabledAgents":"Disabled ({{count}})","pinnedAgents":"Pinned","otherAgents":"Other agents","pinned":"Pinned","defaultPinned":"The default agent is always pinned","longPressToPin":"Press and hold to pin","longPressToUnpin":"Press and hold to unpin","pinAgent":"Pin agent","unpinAgent":"Unpin agent","pinSuccess":"Agent pinned","unpinSuccess":"Agent unpinned","pinFailed":"Failed to update pinned state","status":{"disabled":"Disabled","pending":"Waiting to start","starting":"Starting","running":"Running","failed":"Startup failed","waitUntilStarted":"Available after startup completes"},"defaultNotDisablable":"Default agent cannot be disabled","currentAgentDeleted":"Current agent has been deleted, automatically switched to default agent","currentAgentDisabled":"Current agent has been disabled, automatically switched to default agent","switchedToDefault":"Automatically switched to default agent","cannotSwitchToDisabled":"This agent is disabled, please enable it in the management page first","initialSkills":"Initial Skills","initialSkillsHelp":"Select skills to add from the pool. You can add or remove skills later.","selectAll":"All","selectBuiltin":"Builtin","
114selectNone":"None","noPoolSkills":"No skills available in pool","addSkillsToAgent":"Add Skills","backend":{"column":"Backend","eyebrow":"Agent architecture","typeTitle":"Choose how this agent works","typeDescription":"The agent type controls every Chat, Coding, and Channel conversation.","nativeTitle":"QwenPaw native agent","nativeBadge":"Native","nativeDescription":"Uses your configured LLM, Skills, tools, memory, and QwenPaw runtime.","thirdPartyTitle":"Third-party agent","thirdPartyBadge":"Third-party","thirdPartyDescription":"Uses an authorized external agent runtime instead of a QwenPaw model.","providerTitle":"Choose a third-party agent","providerDescription":"Authentication is shared on this device; projects and conversations stay isolated per agent.","codexHint":"ChatGPT OAuth · Agent workspace","qoderHint":"Qoder account or PAT · Agent workspace","account":"Codex account","qoderAccount":"Qoder account","binary":"Codex executable","binaryHelp":"Leave blank to use the Codex CLI bundled with the Python SDK or detect a standalone installation. Otherwise enter the full path to codex on macOS/Linux or codex.exe on Windows. Binaries inside the ChatGPT app or editor extensions are not supported. QwenPaw also reads CODEX_BINARY and the backend PATH.","binaryPlaceholder":"Auto-detect, or paste the Codex executable path","qoderBinary":"Qoder executable","qoderBinaryHelp":"Leave blank to use the qodercli bundled with the Python SDK or detect an existing installation. Otherwise enter the full path to qodercli on macOS/Linux or qodercli.exe on Windows. QwenPaw also reads QODERCLI_PATH and the backend PATH.","qoderBinaryPlaceholder":"Auto-detect, or paste the qodercli executable path","detect":"Detect","detectedBinary":"Codex detected","qoderDetectedBinary":"Qoder detected","apiKeyLoginHint":"You can also authenticate in a terminal with: codex login --with-api-key","qoderAuthHint":"Connect opens Qoder browser login. You can also run qodercli login or set QODER_PERSONAL_ACCESS_TOKEN before starting the backend.","qoderConnect":"Connect to Qoder","model":"Agent model","modelDefault":"Use the agent default","defaultBadge":"Default","reasoningEffort":"Reasoning effort","reasoningDefault":"Use the model default","codexNotFound":"Codex runtime not found. Install qwenpaw[codex] or provide a standalone Codex CLI.","qoderNotFound":"Qoder runtime not found. Install qwenpaw[qoder] or provide qodercli.","chatSettingsHint":"Choose the model, reasoning effort, and execution permissions from the Chat toolbar.","capabilityTitle":"QwenPaw capabilities","inheritedSkills":"Skills","inheritedMcp":"MCP servers","runtimeInherited":"Inherited at runtime · new sessions","notSupported":"Not supported by this provider","policyCompatibility":"MCP policy","toolAllowlistSupported":"Tool allowlist supported","policyLimited":"Provider limitations apply","chatModelHint":"Agent-scoped settings · applied on the next turn","appliesNextTurn":"Applies on the next turn","approvalMode":"Execution permissions","approvalPresets":{"ask":{"name":"Ask before changes","description":"Allow workspace changes and ask before elevated actions."},"read-only":{"name":"Read only","description":"Inspect files without changing them."},"workspace":{"name":"Workspace access","description":"Allow workspace changes without confirmation."},"accept-edits":{"name":"Accept edits","description":"Allow file edits while keeping other safeguards."},"plan":{"name":"Plan only","description":"Analyze and plan without changing files."},"auto":{"name":"Automatic","description":"Let Qoder decide which safe actions can run."},"full-access":{"name":"Full access","description":"Allow unrestricted local execution without confirmation."}}},"model":"Model","modelHelp":"Assign a specific LLM model to this agent. Leave empty to use the global default.","modelPlaceholder":"Use global default","noConfiguredModels":"No configured models","modelColumn":"Model","copyTooltip":"Copy agent configuration","copyDefaultTooltip":"Copy using the default agent as a template","copyTitle":"Copy Agent Configuration","copyNameLabel":"New agent name","copyOptionsLabel":"Copy content","copyOptionAgentJson":"agent.json (required)","copyOptionAgentJsonHint":"Always copies the parsed source config and resets ID, name, workspace, and channels. This is not a byte-for-byte copy of the on-disk agent.json.","copyOptionMdFiles":"AGENTS / SOUL / PROFILE / HEARTBEAT / BOOTSTRAP.md","copyOptionSkills":"skills/ + manifest","copyOptionJobs":"jobs.json","copyOptionJobsHint":"Copies job definitions only, not run history. The new agent will start running them on schedule after creation.","copySuccess":"Agent configuration copied successfully","copyFailed":"Failed to copy agent configuration","mailManagement":"Email Management","mailModeNone":"No email management","mailModePersonal":"Manage your personal mailbox","mailModeDedicated":"Provision a dedicated mailbox","mailName":"Mailbox name","mailNameOptional":"Mailbox name (optional)","mailNameDedicated":"Mailbox name (optional before registration, required afterward)","mailDomain":"Mail domain","mailPassword":"Password","mailPhone":"Phone number","mailAuthCode":"16-digit authorization code","mailAuthCodeOptional":"16-digit authorization code / app password (optional)","mailCredentialOptional":"Mailbox password (optional)","mailNameRequired":"Please enter mailbox name","mailPasswordRequired":"Please enter password","mailPhoneRequired":"Please enter phone number","mailAuthCodeRequired":"Please enter authorization code","mailAuthCodeLength":"Authorization code must be 16 characters","mailDomainRequired":"Please select a mail domain","mailDomainInvalid":"Please enter a valid mail domain, e.g. mycompany.com","mailDomainPlaceholder":"Select or enter a mail domain","mailProvider":"Mail provider","mailProviderRequired":"Please select a mail provider","mailProviderPlaceholder":"Select the provider hosting this domain","mailProviderTencentExmail":"Tencent Exmail","mailProviderAliyunQiye":"Alibaba Enterprise Mail","mailProviderNeteaseQiye":"Netease Enterprise Mail","mailCredentialLabel":"Credential","mailCredentialRequired":"Please enter the credential","mailCredentialHintAuthCode":"Enter the 16-digit authorization code generated in the mailbox settings","mailCredentialHintGmail":"Enter a Gmail app-specific password (requires 2-Step Verification enabled)","mailCredentialHintAliyun":"Enter the mailbox login password","mailCredentialHintEnterprise":"Enter the client-specific password or the mailbox login password","mailDedicatedCredentialHint":"{{credentialHint}}. Leave this blank before registration; after registration, enter it here and save to finish connecting the mailbox.","mailPushTitle":"Auto-response to new mail","mailAccessControl":"Mail Access Control","mailAccessControlTip":"When enabled, emails from unknown senders require approval before being processed","mailPushModeOff":"Off","mailPushModeRulesOnly":"Rules only","mailPushModeRulesThenAgent":"Rules + wake on demand","mailPushModeAgentAll":"Wake for every email","mailPushModeOffDesc":"Do nothing automatically for new mail","mailPushModeRulesOnlyDesc":"Process new mail with the rules below only, without waking the agent","mailPushModeRulesThenAgentDesc":"Apply rules first; wake the agent only when a wake action matches","mailPushModeAgentAllDesc":"Wake the agent for every new email and let it decide how to handle it autonomously","mailPushModeLegacySuffix":" (legacy)","mailPushFieldFrom":"Sender","mailPushFieldSubject":"Subject","mailPushFieldContent":"Content","mailPushFieldKeyword":"Keyword","mailPushActionMarkRead":"Mark as read","mailPushActionMove":"Move to folder","mailPushActionNotify":"Notify only","mailPushActionWakeAgent":"Wake agent","mailPushContainsPlaceholder":"Contains text","mailPushParamMovePlaceholder":"Target folder","mailPushParamWakePlaceholder":"Extra instruction (optional)","mailPushParamRequired":"Please enter the target folder","mailPushAddRule":"Add rule","mailPushWakeOptionInvoice":"Download and archive attachments of invoice/billing emails","mailPushWakeOptionReply":"Politely reply to inquiry emails","mailPushWakeOptionOtp":"Extract the verification code and n
114otify me","mailPushWakeOptionSummary":"Summarize key points into the inbox"}`),_D={title:"Skills",description:"Manage agent skills and capabilities.",preload:"Preload",preloadHint:"When enabled, the agent preloads this skill and does not need to find and load it during the conversation.",qwenpawManaged:"QwenPaw managed",qwenpawManagedHint:"Editable Skills projected into supported third-party agents at runtime.",providerManaged:"Third-party agent Skills",providerManagedHint:"Discovered from the current third-party agent and shown read-only.",providerOnly:"Current third-party agent only",readOnly:"Read only",noDescription:"No description provided.",providerSkillDetails:"Third-party agent Skill details",providerManagedDetailHint:"This Skill is managed by the third-party agent. QwenPaw can display and use it, but cannot modify it.",provider:"Third-party agent",scope:"Scope",statusLabel:"Status",descriptionLabel:"Description",importHub:"Upload via URL",supportedSources:"Supported sources:",importSkills:"Import Skill",enterSkillUrl:"Enter Skill URL",supportedSkillUrlSources:"Supported Skill Marketplaces:",urlExamples:"URL examples:",urlValid:"Valid URL from {{source}}",invalidUrl:"Invalid URL",clickToFill:"Click to fill in URL",invalidSkillUrlSource:"Please verify the skill URL is from a supported marketplace",type:"Type",installedFrom:"Installed from",source:"Source",path:"Path",tags:"Tags",builtin:"Built-in",custom:"Custom",addSkill:"Add Skill",createSkill:"Create Skill",viewSkill:"View Skill",editSkill:"Edit Skill",skillName:"Skill Name",skillContent:"Skill Content",pleaseInputName:"Please input skill name",pleaseInputContent:"Please input skill content",skillNamePlaceholder:"e.g., weather_query",contentPlaceholder:`[Format] 115--- 116name: skill_name (required, lowercase with underscores) 117description: Brief description (required) 118--- 119 120Skill implementation (Markdown format) 121 122[Example] 123--- 124name: weather_query 125description: Query weather info for a city 126--- 127 128## Features 129Query real-time weather data. 130 131## Usage 132User inputs city name, returns weather info.`,createSuccess:"Skill created successfully",createFailed:"Failed to create skill",deleteConfirm:"Are you sure you want to delete this skill?",deleteSuccess:"Skill deleted successfully",deleteFailed:"Failed to delete skill",batchEnable:"Enable",batchDisable:"Disable",batchEnableSuccess:"{{count}} skills enabled",batchEnablePartial:"{{enabled}} enabled, {{failed}} failed",batchEnableFailed:"Batch enable failed",batchDisableSuccess:"{{count}} skills disabled",batchDisablePartial:"{{disabled}} disabled, {{failed}} failed",batchDisableFailed:"Batch disable failed",batchDeleteTitle:"Delete {{count}} skills?",batchDeleteSuccess:"{{count}} skills deleted",batchDeletePartial:"{{deleted}} deleted, {{failed}} failed",batchDeleteFailed:"Batch delete failed",selectedCount:"{{count}} selected",updateSuccess:"Skill updated successfully",updateFailed:"Failed to update skill",frontmatterRequired:"Skills must start and end with ---",frontmatterNameRequired:"Skills missing required field : name",frontmatterDescriptionRequired:"Skills missing required field : description",editNotSupported:"Failed to edit skill",editNote:"Tip: You can edit skill content, channels, and config here.",create:"Create",optimizeWithAI:"AI Optimize",stopOptimize:"Stop",optimizeSuccess:"Skill optimized successfully",optimizeFailed:"Failed to optimize skill",noContentToOptimize:"No content to optimize",cancelImport:"Cancel Import",importCancelled:"Skill import
132cancelled",importTimeout:"Skill import timed out. Please retry or check your network.",uploadSkill:"Upload Skill",uploadZip:"Upload via Zip",uploadSuccess:"Skill uploaded successfully",uploadFailed:"Skill upload failed",uploadNoChange:"No new skills were imported. They may already exist.",zipOnly:"Only .zip files are supported for upload",fileSizeExceeded:"File size exceeds {{limit}}MB limit. Current file: {{size}}MB",channels:"Channels",allChannels:"All",lastUpdated:"Updated",searchPlaceholder:"Filter by name",listView:"List view",gridView:"Grid view",refreshHint:"Refresh skills from disk",poolSync:"Sync Status",uploadedToPool:"Uploaded to skill pool",downloadedToWorkspace:"Downloaded to current workspace",builtinUpgradeTitle:"Upgrade Built-in Skill",builtinUpgradeContent:'A newer version of built-in skill "{{name}}" is available in the pool. Overwrite the current version?',languageSwitchTitle:"Switch Skill Language",languageSwitchContent:"The following skills have a different language version in the pool and will be overwritten:",overwriteExistingList:"The following skills already exist and will be overwritten:",nameConflict:"Name conflict detected. Suggested rename has been filled.",uploadToPoolHint:"Upload selected workspace skills to the shared local skill pool",downloadFromPool:"Load from Skill Pool",uploadToPool:"Sync to Skill Pool",selectWorkspaceSkill:"Select current workspace skill",selectPoolItem:"Select skill pool item",renameOptional:"Rename (optional)",renamePlaceholder:"Suggested rename will appear here on conflict",renameSingleOnly:"Rename is available only when exactly one skill is selected.",selectAll:"Select All",clearSelection:"Clear",downloadSkillPool:"Download Skill Pool",uploadSkillPool:"Upload Skill Pool",config:"Config",configPlaceholder:'{"KEY": "value"}',configInvalidJson:"Invalid JSON format",configSaved:"Config saved",emptyStateBadge:"New workspaces start empty",emptyStateTitle:"This agent does not have any skills yet",emptyStateText:"This is expected. New workspaces do not come with skills automatically. Download skills from the local pool or create one here to equip this agent.",emptyStateDownload:"Download from Skill Pool",emptyStateCreate:"Create First Skill",loadFailed:"Failed to load skills",refreshFailed:"Failed to refresh skills",createdSuccessfully:"Created successfully",saveFailed:"Failed to save",importFailed:"Import failed",disabledSuccessfully:"Disabled successfully",enabledSuccessfully:"Enabled successfully",operationFailed:"Operation failed",provideUrl:"Please provide a hub skill URL",validUrl:"Please enter a valid URL starting with http:// or https://",importedSkill:"Imported skill: {{name}}",batchOperation:"Batch Operation",exitBatch:"Exit Batch",noSearchResults:"No skills found matching your search",filterByTag:"Filter by tag",noTags:"No tags available",enabledSkills:"Enabled Skills",disabledSkills:"Disabled Skills",active:"active"},LD={description:"Shared local skill pool for built-in skills and workspace uploads. External hub imports such as ClawHub or LobeHub are separate.",broadcast:"Broadcast to Agents",broadcastHint:"Broadcast skills to selected agents",refreshHint:"Refresh skill pool from disk",deleteExternalConfirm:"This deletes the external skill files at {{path}} from disk.",deleteExternalBatchWarning:"Selected external skills will be permanently deleted from disk.",broadcastTitle:"Broadcast {{name}}",automation:"Automation",builtinAutoUpdate:"Auto Update",builtinAutoUpdateFlow:"Built-in package â Skill Pool",autoSyncFlow:"Skill Pool â Agent workspaces",automationBoth:"Auto Update + Sync",automationMixedHint:"Open details to choose Auto Update or Auto Sync.",automationEnableHint:"Enable Auto Update and Auto Sync.",automationDisableHint:"Disable Auto Update and Auto Sync.",automationEnabled:"Auto Update and Auto Sync enabled for {{name}}",automationDisabled:"Auto Update and Auto Sync disabled for {{name}}",automationFailed:"Failed to update automation settings",automationNeedsAttention:"Saved. {{count}} item(s) need attention; see Inbox.",autoSync:"Auto Sync",autoSyncEnableHint:"Enable Auto Sync.",autoSyncDisableHint:"Disable Auto Sync.",autoSyncEnabled:"Auto Sync enabled for {{name}}",autoSyncDisabled:"Auto Sync disabled for {{name}}",autoSyncAgentsPlaceholder:"All agents that have this skill",autoSyncAgentsHint:"Leave empty to sync existing copies, or select specific agents.",renameAffectsTitle:"Rename in agents too?",renameAffectsContent:'"{{from}}" is installed in {{count}} agent(s). Rename to "{{to}}"',importBuiltin:"Update Built-in Skills",importBuiltinHint:"Update built-in skills to the latest version",importBuiltinAlertHint:"{{count}} built-in changes need review",importBuiltinSuccess:"Built-ins imported: {{names}}",importBuiltinConflicts:"Skipped due to name conflicts: {{names}}",importBuiltinNoChanges:"No built-in changes to import",importBuiltinFailed:"Built-in import failed",importBuiltinConflictTitle:"Builtin conflicts detected",importBuiltinConflictContent:"The following built-ins differ from the current pool copy. Confirm to overwrite them from source.",sourceVersion:"Source version",currentVersion:"Current version",builtinLanguage:"Language",langDefault:"Default",langDefaultTooltip:"Keep each skill in its current language",langEn:"English",langZh:"Chinese",builtinLanguageChangeTitle:"Switch built-in language?",builtinLanguageChangeContent:'Overwrite the pool copy of "{{name}}" with the {{language}} built-in version?',builtinLanguageChangeSuccess:'"{{name}}" switched to {{language}}',builtinLanguageChangeFailed:"Failed to switch built-in language",importStatusMissing:"Missing in pool",importStatusCurrent:"Already current",importStatusOutdated:"Outdated",importStatusLanguageSwitchTo:"Overwrite with the {{language}} version",importStatusConflict:"Conflict",builtinNoticeSummary:"{{count}} built-in changes detected",builtinNoticeLineAdded:"Added: {{names}}",builtinNoticeLineMissing:"Missing: {{names}}",builtinNoticeLineUpdated:"Updated: {{names}}",builtinNoticeLineRemoved:"Removed: {{names}}",zipImport:"ZIP Import",create:"Create",edit:"Edit",delete:"Delete",descriptionLabel:"Description",tags:"Tags",tagsPlaceholder:"Select or type to add tags",tagTooLong:"Tag must be at most {{max}} characters",filterByTag:"Filter by tag",version:"Version",createTitle:"Create Skill Pool Item",editTitle:"Edit {{name}}",skillNamePlaceholder:"Skill name",contentPlaceholder:"SKILL.md content",nameConflict:"Name conflict detected. Suggested rename applied.",deletedFromPool:"Deleted from skill pool",deleteBuiltinConfirm:"This removes the built-in skill from the pool. You can import it again later from source.",deleteConfirm:"This removes the skill from the shared local skill pool.",deleteTitle:"Delete {{name}}?",batchDeleteTitle:"Delete {{count}} pool skills?",batchDeleteSuccess:"{{count}} pool skills deleted",batchDeletePartial:"{{deleted}} deleted, {{failed}} failed",batchDeleteFailed:"Batch delete failed",zipImportFailed:"ZIP import failed",externalHubHint:"External hub import is separate from the local Skill Pool.",imported:"Imported: {{names}}",noNewImports:"No new skills imported",allBuiltin:"All Built-in",selectWorkspaces:"Broadcast to workspace(s)",allWorkspaces:"All Worksp
132aces",optionalRename:"Optional rename",back:"Back",skillCount:"{{count}} skills",skillName:"Skill Name",status:"Status",installedFrom:"Installed from",updateBuiltin:"Update",updateConfirmTitle:"Update {{name}}",updateConfirmContent:"Update to version {{version}}? This will replace the current pool copy with the latest built-in version.",updateSuccess:"Updated successfully",updateFailed:"Update failed",broadcastSuccess:"Broadcast completed",broadcastFailed:"Broadcast failed",overwriteConfirm:"Overwrite existing skills?",overwriteTargetsContent:"The following existing targets will be overwritten:",builtinOverwriteTargetsContent:"The following built-in targets have different versions and will be overwritten:",renameAndRetry:"A skill with this name already exists. Use the suggested name?",multiConflictTitle:"Multiple Conflicts Detected",multiConflictDesc:"The following skills already exist. Please resolve conflicts individually and retry:",singleConflictRename:'"{{name}}" already exists. Rename to "{{suggested}}" to proceed?',statusUpToDate:"Up-to-date",statusSynced:"Synced",statusOutdated:"Outdated",statusNotSynced:"Not synced",statusConflict:"Conflict",renameEntry:'New name for "{{name}}":',builtin:"Built-in",custom:"Custom"},ED={title:"MCP Clients",qwenpawManaged:"QwenPaw managed",qwenpawManagedHint:"Shared control-plane configuration injected into supported third-party Agents at runtime.",providerManaged:"{{provider}} local MCP",providerManagedHint:"Discovered from the third-party agent's own configuration. These entries are read-only and remain available only to that agent.",providerOnly:"Third-party agent only",readOnly:"Read only",create:"Create Client",formatSupport:"Supported formats",standardFormat:"Standard (mcpServers wrapper)",directFormat:"Direct (key â config object)",singleFormat:"Single client (flat fields)",emptyState:"No MCP clients configured yet",loadError:"Failed to load MCP clients",createSuccess:"MCP client created successfully",createError:"Failed to create MCP client",updateSuccess:"MCP client updated successfully",updateError:"Failed to update MCP client",enableSuccess:"MCP client enabled successfully",disableSuccess:"MCP client disabled successfully",toggleError:"Failed to toggle MCP client status",deleteConfirm:"Are you sure you want to delete this MCP client?",deleteSuccess:"MCP client deleted successfully",deleteError:"Failed to delete MCP client",maskedFieldHint:"Sensitive fields are masked with ***. In-place edits on masked values are not supported â replace with the full new value to modify.",tools:"Tools & Permissions",noTools:"No tools available from this MCP server",toolsLoadError:"Failed to load tools from MCP server",toolsConnecting:"MCP server is still connecting, please try again in a moment",toolSchema:"Description & Parameters",access:{title:"Access",button:"Access",summary:"MCP access policy",clientSection:"Overall Access",toolSection:"Tool Access",default:"Default",sourceType:"Source",sourceValue:"Source Value",sourceValueAllChannels:"All Channels",subjectType:"Object",subjectValue:"Object Value",effectLabel:"Policy",source:{channel:"Channel"},subjectTypeOption:{all:"All",user:"User"},sourceValuePlaceholder:{channel:"console / dingtalk"},subjectValuePlaceholder:"e.g. alice",subjectValuePlaceholderSelectedSource:"user ID in selected source",subjectValuePlaceholderScoped:"{{source}} user ID",subjectValueAll:"All",recentUserPlaceholder:"User ID is scoped to the selected source; type or select again",noRecentUsers:"No recent users for this source; type a user ID manually",ambiguousUserSourceWarning:"User IDs are scoped by source. Select a specific channel to avoid cross-channel matches.",unknownUserValueWarning:"This user ID is not in recent active users. Saving is allowed.",validation:{missingUserValue:"Select a specific source and enter a valid user ID.",ambiguousUserSource:"User rules must target a specific channel, not all channels.",unknownUserValue:"This user ID is not in recent active users. Saving is allowed."},addRule:"Add Rule",deleteRule:"Delete Rule",noClientRules:"No rules",noRules:"No rules, uses default policy",inherit:"Inherit ({{effect}})",stale:"Not found",disabledTools:"This MCP client is disabled; saved access rules can still be edited.",discardTitle:"Discard unsaved changes?",discardContent:"Unsaved access policy changes will be lost.",loadError:"Failed to load MCP access policy",saveSuccess:"MCP access policy saved",saveError:"Failed to save MCP access policy",unmanagedRules:"{{count}} advanced rule(s)",effect:{allow:"Allow",ask:"Ask",deny:"Deny"}},tab:{json:"JSON Import",form:"Form Mode"},form:{key:"Client Key",keyPlaceholder:"my-mcp-server",keyRequired:"Client key is required",name:"Display Name",namePlaceholder:"My MCP Server",n
132ameRequired:"Display name is required",transport:"Transport",url:"Server URL",urlRequired:"URL is required for remote MCP servers",command:"Command",commandRequired:"Command is required for stdio transport",args:"Arguments (space or newline separated)",description:"Description",descriptionPlaceholder:"Optional description",env:"Environment Variables",envPlaceholder:"KEY=VALUE (one per line)"},oauth:{enableOAuth:"Use OAuth Authorization",manage:"OAuth",authorized:"Authorized",notAuthorized:"Not Authorized",expired:"Token Expired",failed:"Authorization Failed",waiting:"Waiting for authorization...",authorize:"Authorize",reauthorize:"Re-authorize",revoke:"Revoke",startFailed:"Failed to start OAuth flow",authFailed:"OAuth authorization failed",popupBlocked:"Popup was blocked by the browser. Please allow popups and try again.",windowClosed:"Authorization window was closed. Please try again.",noUrl:"Please enter a server URL first",noClientKey:"Please create the client first",showAdvanced:"Advanced options",hideAdvanced:"Hide advanced options",clientId:"Client ID (optional)",clientIdPlaceholder:"Leave empty to use Dynamic Client Registration",scope:"Scope (optional)",scopePlaceholder:"openid profile email",authEndpoint:"Authorization Endpoint (override)",tokenEndpoint:"Token Endpoint (override)",endpointHint:"Leave empty to auto-discover from the MCP server. Fill in to skip discovery."}},FD={title:"Heartbeat",description:"Run HEARTBEAT.md at a fixed interval for self-checks. By default runs silently without affecting current conversations, or optionally send replies to the last chat channel.",enabled:"Enable heartbeat",every:"Interval",everyRequired:"Required",everyMin:"Must be at least 1",timeoutSeconds:"Execution timeout (seconds)",timeoutRequired:"Required",timeoutMin:"Must be at least 1",timeoutMax:"Must be at most 3600",unitMinutes:"Minutes",unitHours:"Hours",target:"Reply target",targetMain:"Silent mode (default, no channel output)",targetLast:"Send to last chat channel",targetInbox:"Send to inbox",activeHours:"Active hours (optional)",activeStart:"Start time",activeEnd:"End time",loadFailed:"Failed to load heartbeat config",saveSuccess:"Saved successfully; heartbeat hot-reloaded",saveFailed:"Failed to save heartbeat config",runNow:"Run Now",runNowSuccess:"Heartbeat triggered. Check Inbox or target channel shortly.",runNowFailed:"Failed to trigger heartbeat run"},OD={title:"Cron Jobs",description:"Create and manage scheduled tasks that automatically execute at specified times. ",createJob:"Create Job",createFromTemplate:"Create From Template",editJob:"Edit Job",templateModalTitle:"Choose a Task Template",templateModalDescription:"Pick a built-in template and tweak key parameters in the drawer before saving.",useTemplate:"Use Template",templateTagPersonal:"Personal",templateTagTeam:"Team",templateTagReminder:"Reminder",templateTagCalendar:"Calendar",templateTagCalendarRecommended:"Calendar Recommended",confirmDelete:"Confirm Delete",deleteConfirm:"Are you sure you want to delete this Cron Job?",okText:"OK",cancelText:"Cancel",deleteText:"Delete",id:"Job ID",name:"Job Name",enabled:"Status",saveResultToInbox:"Save result to Inbox",saveResultToInboxTooltip:"When enabled, successful executions with successful delivery are stored in Inbox. Delivery failures are always written to Inbox as fallback.",scheduleType:"Schedule Type",scheduleFilterAll:"All Schedule Types",scheduleTypeRecurring:"Recurring",scheduleTypeOnce
132:"Scheduled",scheduleCron:"Schedule (Cron)",scheduleCronLabel:"Schedule (Cron)",onceRunAt:"Run At",repeatEnabled:"Repeat",repeatEnabledTooltip:"Enable recurring schedule from this start time",repeatFrequency:"Repeat Frequency",repeatEveryDays:"Repeat Every (days)",repeatEveryPrefix:"Every",repeatEverySuffix:"day(s)",repeatEndType:"End Repeat",repeatEndNever:"Never",repeatEndUntil:"End on date",repeatEndCount:"Limited count",repeatUntil:"End Date",repeatCount:"Run Count",scheduleTimezone:"Timezone",cronType:"Frequency",cronTypeHourly:"Hourly",cronTypeDaily:"Daily",cronTypeWeekly:"Weekly",cronTypeCustom:"Custom",cronTime:"Time",cronDaysOfWeek:"Days of Week",cronDayMon:"Monday",cronDayTue:"Tuesday",cronDayWed:"Wednesday",cronDayThu:"Thursday",cronDayFri:"Friday",cronDaySat:"Saturday",cronDaySun:"Sunday",cronCustomExpression:"Cron Expression",taskText:"Message content",action:"Action",disable:"Disable",executeNow:"Execute Now",edit:"Edit",delete:"Delete",totalItems:"Total {{count}} items",perPage:"/ page",pleaseInputId:"Please input job ID",pleaseInputName:"Please input job name",pleaseInputCron:"Please input cron expression",pleaseSelectScheduleType:"Please select schedule type",pleaseInputRunAt:"Please select run time",pleaseInputRepeatEveryDays:"Please enter repeat interval (days)",pleaseSelectRepeatEndType:"Please select end condition",pleaseInputRepeatUntil:"Please select end date",pleaseInputRepeatCount:"Please enter run count",validation:{cronRequired:"Cron expression is required for recurring schedules.",runAtRequired:"Execution time is required for one-time schedules.",repeatUntilRequired:'Please select an end date when using "End on date".',repeatCountRequired:'Please provide a run count when using "Limited count".',repeatUntilAfterRunAt:"The end date must be later than the execution time. Please choose an end date after the execution time.",textRequired:"Message content is required when task type is text.",requestRequired:"Request content is required when task type is agent.",invalidCronExpression:"Invalid cron expression. Please use a 5-field cron format."},pleaseSelectTaskType:"Please select task type",pleaseInputRequest:"Please input request content",pleaseInputMessageContent:"Please enter message content",pleaseInputChannel:"Please input target channel",pleaseInputUserId:"Please input target user ID",pleaseInputSessionId:"Please input target session ID",jobIdPlaceholder:"e.g., daily-report-job",jobNamePlaceholder:"e.g., Daily Morning Report",selectTimezone:"Select timezone",taskDescriptionPlaceholder:"For simple text tasks, enter the message body to send...",invalidJsonFormat:"Invalid JSON format",jsonFormatRequired:"JSON format required",taskType:"Task Type",text:"Message content",requestInput:"Request Content",requestSessionId:"Request Session ID",requestUserId:"Request User ID",dispatchChannel:"Target Channel",dispatchTargetUserId:"Target User ID",dispatchTargetSessionId:"Target Session ID",dispatchMode:"Delivery Mode",silentDelivery:"Silent delivery",runtimeShareSession:"Share Session",runtimeMaxConcurrency:"Max Concurrency",runtimeTimeoutSeconds:"Timeout (seconds)",runtimeMisfireGraceSeconds:"Misfire Grace (seconds)",runtimeToolSafety:"Tool Approval Check",idTooltip:"System-generated, non-editable, unique UUID assigned at task creation.",nameTooltip:"A friendly name to help you identify this job.",cronTooltip:"Define when the task should run",cronExample:"Common examples: '0 9 * * *' = 9 AM daily | '*/30 * * * *' = every 30 min | '0 */2 * * *' = every 2 hours | '0 0 * * 0' = Sunday midnight",cronHelper:"New to Cron expressions?",cronHelperLink:"Use online generator",timezoneTooltip:"Timezone for the cron schedule. Default: UTC",taskTypeTooltip:"Choose 'text' for simple message tasks, or 'agent' for complex agent workflows.",textTooltip:"Simple message task: this is the actual message body. Required when task type is 'text'.",requestInputTooltip:"Message content in JSON format. This is what the agent will receive and process. Required when task type is 'agent'.",requestInputExample:'Format: [{"role":"user","content":[{"type":"text","text":"Your message here"}]}]',requestSessionIdTooltip:"Session ID for the request context. Use 'default' if unsure.",requestUserIdTooltip:"User ID that initiates the request. Use 'system' for automated tasks.",dispatchChannelTooltip:"Target channel where the response will be sent (e.g., 'console', 'discord', 'imessage').",dispatchTargetUserIdTooltip:"User ID who will receive the response in the target channel.",dispatchTargetSessionIdTooltip:"Session ID where the response will be delivered in the target channel.",dispatchModeTooltip:"
132Choose 'stream' for real-time responses or 'final' for complete responses only.",silentDeliveryTooltip:"Run the agent task and keep its session and trace, but do not send results to the channel.",shareSessionTooltip:"When enabled, shares session with target user. When disabled, each run creates isolated context with unique run ID. Suitable for independent tasks without memory. Default: enabled",maxConcurrencyTooltip:"Maximum number of this job that can run simultaneously. Default: 1",timeoutSecondsTooltip:"Maximum execution time in seconds. Job will be terminated if exceeded.",misfireGraceSecondsTooltip:"Grace period for missed executions. If a job misses its scheduled time by more than this, it won't run.",toolSafetyTooltip:"When enabled, risky tool calls require user approval (may block unattended cron jobs). When disabled, tool calls no longer request approval; File Guard rules still apply. Default: disabled",executeNowTitle:"Execute Task Now",executeNowContent:'Are you sure you want to execute "{{name}}" now?',executeNowConfirm:"Execute Now",listView:"List View",calendarView:"Calendar View",calendarEmptyHint:"No scheduled jobs yet. Create scheduled jobs to see them on the calendar.",calendarMoreItems:"+{{count}} more",calendarDayListTitle:"Scheduled jobs on {{date}}",executionHistory:"History",historyTitle:"History - {{name}}",historyEmpty:"No execution records yet.",historyStatusSuccess:"Success",historyStatusFailed:"Failed",historyStatusRunning:"Running",historyStatusCancelled:"Cancelled",historyTriggerScheduled:"Triggered by schedule",historyTriggerManual:"Triggered manually",historyExpand:"Expand",historyCollapse:"Collapse",templates:{dailyTechNewsBrief:{title:"Daily Tech News Brief",description:"At 09:30 on weekdays, compile trending tech headlines into a short digest.",frequency:"Weekdays 09:30 (30 9 * * 1-5)"},dailyEveningReflection:{title:"Daily Evening Reflection",description:"At 20:00 on weekdays, prompt a quick reflection on work completed today.",frequency:"Weekdays 20:00 (0 20 * * 1-5)"},weekendRelaxationReminder:{title:"Weekend Relaxation Reminder",description:"On weekend mornings, push curated hot movie picks for a lighter break.",frequency:"Weekends 10:00 (0 10 * * 6,0)"},pomodoroBreakReminder:{title:"Pomodoro Break Reminder",description:"During work hours, remind every 25 minutes to hydrate or rest your eyes.",frequency:"Weekdays 09:00-17:59 every 25 min (*/25 9-17 * * 1-5)"},petCareReminder:{title:"Pet Deworming/Vaccine Reminder",description:"On the 15th each month at night, remind pet deworming or vaccine follow-up.",frequency:"Monthly on the 15th at 20:00 (0 20 15 * *)"},onceTextBirthdayReminder:{title:"Birthday Reminder",description:"Remind that xx has a birthday on Jan 1.",frequency:"Run at: 2026-01-01 09:00"},onceAgentBusinessTripPrep:{title:"Business Trip Prep",description:"Check destination weather and provide trip preparation suggestions.",frequency:"Run at: 2026-01-01 20:00"},repeatCountTextMedicineReminder:{title:"Medication Reminder (14 runs)",description:"Remind to take medicine on time for a 14-run course.",frequency:"First run: 2026-01-01 09:00 | Every 1 day | 14 runs"},repeatCountAgentDietPlan:{title:"14-Day Meal Plan",description:"Generate and send daily meal suggestions for 14 days.",frequency:"First run: 2026-01-01 08:00 | Every 1 day | 14 runs"},repeatUntilTextWeeklyMeeting:{title:"Weekly Meeting Reminder (2 months)",description:"Send a weekly meeting reminder until the configured deadline.",frequency:"First run: 2026-01-02 08:45 | Every 7 days | Until 2026-03-01"},repeatUntilAgentWeeklySummary:{title:"Pre-Meeting Weekly Summary",description:"Before each weekly meeting, summarize the last week's memory.",frequency:"First run: 2026-01-02 08:30 | Every 7 days | Until 2026-03-01"}}},BD=JSON.parse(`{"title":"Channels","description":"Manage and configure message channels","loading":"Loading channels...","configSaved":"Configuration saved successfully","configFailed":"Failed to save configuration","botConflictTitle":"Bot already in use","botConflictDescription":"This Bot is already being used by {{agents}} on the same channel. Saving anyway may cause message conflicts.","botConflictConfirm":"Save anyway","channelType":"Channel Type","status":"Status","totalItems":"Total {{count}} items","botPrefix":"Bot Prefix","showToolCalls":"Show Tool Call Information","showToolCallsTooltip":"Show tool call information to users (turn off to hide)","showToolResults":"Show Tool Result Information","showToolResultsTooltip":"Show tool result information to users (turn off to hide)","toolCallMaxLength":"Tool Call Maximum Display Length","toolResultMaxLength":"Tool Result Maximum Display Length","toolMaxLengthTooltip":"Set to 0 for unlimited length","onebotMediaBase64":"Send Local Media as Base64","onebotMediaBase64Tooltip":"Choose how media files are sent. When disabled, the file path is sent; when enabled, the file is encoded as Base64. Remote URLs remain unchanged.","onebotMediaBase64MaxMb":"Base64 File Size Limit","onebotMediaBase64MaxMbTooltip":"Media files larger than this limit are sent using their original file path.","onebotMediaBase64MaxMbRequired":"Please enter a Base64 file size limit","onebotMediaBase64MaxMbMin":"The Base64 file size limit must be at least 1 MB","onebotMediaDir":"Media Directory","onebotMediaDirTooltip":"Directory used to store downloaded media. Defaults to the media directory in the agent workspace.","onebotMediaDownloadMaxMb":"Inbound Media Size Limit","onebotMediaDownloadMaxMbTooltip":"Maximum size of each image, audio, video, or file downloaded from OneBot.","onebotMediaDownloadMaxMbRequired":"Please enter an inbou
132nd media size limit","onebotMediaDownloadMaxMbMin":"The inbound media size limit must be at least 1 MB","onebotWsHostTooltip":"Listen address of the reverse WebSocket server. Keep 127.0.0.1 so only OneBot clients on this machine can connect. Any other address exposes the port to the network and requires an access token.","onebotAccessTokenTooltip":"Shared token that the OneBot client sends in the Authorization header. Required when the listen address is not a loopback address.","onebotAccessTokenRequired":"An access token is required when the WebSocket host is not a loopback address","showThinking":"Show Thinking","showThinkingTooltip":"Show model thinking/reasoning content to users (turn off to hide)","noTextDebounce":"No-text Debounce","noTextDebounceTooltip":"When enabled, media-only messages (image/video/file) are buffered until a text message arrives, then merged. Disable to process all messages immediately. Voice messages are always processed immediately.","streamingEnabled":"Streaming Output","streamingEnabledDingtalkHint":"Only effective when message type is Card","streamingEnabledFeishuHint":"Requires enabling cardkit:card:write permission in the Feishu Open Platform permission management page","ackMessage":"Acknowledgment Message","ackMessageTooltip":"Send an instant reply when a message is received, before agent processing begins. Leave empty to disable.","ackMessagePlaceholder":"â³ Processing...","notSet":"Not set","clickCardToEdit":"Click card to edit","settings":"Settings","channelSettings":"Channel Settings","pleaseInputDbPath":"Please input DB path","pleaseInputPollInterval":"Please input poll interval","discordBotToken":"Discord bot token","acceptBotMessages":"Accept Bot Messages","acceptBotMessagesTooltip":"When enabled, messages from other bots will be accepted","httpProxyPlaceholder":"http://127.0.0.1:18118","httpProxyAuthPlaceholder":"user:password","dbPathPlaceholder":"~/Library/Messages/chat.db","botPrefixPlaceholder":"@bot","dmPolicy":"DM Policy","dmPolicyTooltip":"Control who can interact with the bot via direct message. Open: everyone; Allowlist: authorized users only","groupPolicy":"Group Policy","groupPolicyTooltip":"Control who can interact with the bot in group chats. Open: everyone; Allowlist: authorized users only","requireMention":"Require @Mention","requireMentionTooltip":"When enabled, bot only responds in group chats when explicitly @mentioned","policyOpen":"Open","policyAllowlist":"Allowlist","allowFrom":"Allowlist Users","allowFromTooltip":"List of user IDs allowed to interact with the bot. Enable allowlist first, then DM the bot to see your ID in the deny message","allowFromPlaceholder":"Enter user ID and press Enter to add","denyMessage":"Access Denied Message","denyMessageTooltip":"Custom message shown to users when access is denied","twilioAccountSid":"Twilio Account SID","twilioAuthToken":"Twilio Auth Token","phoneNumber":"Phone Number","phoneNumberSid":"Phone Number SID","phoneNumberSidHelp":"Found under Phone Numbers â Active Numbers in the Twilio Console.","ttsProvider":"TTS Provider","ttsVoice":"TTS Voice","sttProvider":"STT Provider","language":"Language","welcomeGreeting":"Welcome Greeting","welcomeText":"Welcome Message","welcomeTextTooltip":"Message automatically sent when a user enters a single chat session with the bot for the first time that day","welcomeTextPlaceholder":"e.g. Hello! I'm QwenPaw. How can I help you?","loginWeCom":"Get WeCom QR Code","wecomSetupGuide":"When creating a bot via QR code, please select \\"Skip Authorization\\" when asked to authorize bot capabilities. If you select \\"Confirm Authorization\\", users other than the bot creator may not be able to interact with the bot.","wecomScanAuth":"Scan to Authorize","wecomAuthHint":"Scan the QR code above with WeCom to authorize. Bot ID and Secret will be filled in automatically.","wecomAuthSuccess":"WeCom bot authorized. Bot ID and Secret have been filled in.","wecomQrcodeFailed":"Failed to get WeCom QR code. Please try again.","slackBotToken":"Bot Token","slackBotTokenTooltip":"Slack Bot User OAuth Token, starts with xoxb-","slackAppToken":"App Token","slackAppTokenTooltip":"Slack App-Level Token for Socket Mode, starts with xapp-","slackProxyTooltip":"HTTP proxy URL for connecting to Slack API","dingtalkSetupGuide":"Scan the QR code with DingTalk to create a bot instantly. A DingTalk app will be created automatically and Client ID / Client Secret will be filled
132in.","dingtalkScanAuth":"Scan to Create Bot","dingtalkGetQrcode":"Get DingTalk QR Code","dingtalkScanHint":"Scan the QR code above with DingTalk. Client ID and Client Secret will be filled in automatically after authorization.","dingtalkAuthSuccess":"DingTalk bot created. Client ID and Client Secret have been filled in.","dingtalkQrcodeFailed":"Failed to get DingTalk QR code. Please try again.","dingtalkQrcodeExpired":"QR code expired, please get a new one.","qqSetupGuide":"Use QQ to scan the QR code to authorize the bot. After scanning, the APP ID and Client Secret will be automatically retrieved and filled in.","qqScanAuth":"Scan the QR code to authorize the bot","qqGetQrcode":"Get QQ QR code","qqScanHint":"Please use QQ to scan the QR code above. Once authorization is complete, the APP ID and Client Secret will be automatically filled in.","qqAuthSuccess":"QQ bot authorization successful. The APP ID and Client Secret have been automatically filled in.","qqQrcodeFailed":"Failed to retrieve the QQ QR code; please try again later","qqQrcodeExpired":"The QR code has expired; please retrieve a new one","atSenderOnReply":"@ Sender on Reply","atSenderOnReplyTooltip":"When enabled, the bot will @mention the sender in its first reply message in group chats. Note: In card mode, @mention only works for enterprise internal members.","dingtalkEndpoint":"API Endpoint","dingtalkEndpointTooltip":"Custom API endpoint for private DingTalk deployments. Leave empty to use the official default.","cardAutoLayout":"Widescreen Card (Auto Layout)","cardAutoLayoutTooltip":"When enabled, DingTalk renders AI cards in widescreen on desktop. Only applies when the message type is card. The card template must be published.","wecomCancelled":"Authorization cancelled","wecomAuthFailed":"Authorization failed: {{msg}}","voiceSetupGuide":"Set up a Twilio account, purchase a phone number, then enter your credentials below. Find your Account SID and Auth Token on the Twilio Console dashboard. The Phone Number SID is listed under Phone Numbers â Active Numbers.","voiceSetupLink":"Open Twilio Console","sipSetupGuide":"Configure a SIP registrar (e.g. Asterisk, FreeSWITCH) and enter your SIP credentials below. In Dev mode, pyVoIP handles SIP/RTP locally. In Production mode, LiveKit SIP Server is used.","sipMode":"SIP Mode","sipModeTooltip":"Dev: pure-Python pyVoIP for local testing. Production: LiveKit SIP Server for high concurrency.","sipServer":"SIP Server","sipServerPlaceholder":"Leave empty to use built-in registrar","sipServerPlaceholderLivekit":"Not needed for LiveKit mode","sipUsername":"SIP Username","sipPassword":"SIP Password","sipPort":"SIP Port","sipTransport":"Transport","sipDashscopeApiKey":"DashScope API Key","sipDashscopeApiKeyTooltip":"API key for Aliyun DashScope STT/TTS. If empty, falls back to the DASHSCOPE_API_KEY environment variable.","livekitUrl":"LiveKit URL","livekitApiKey":"LiveKit API Key","livekitApiSecret":"LiveKit API Secret","livekitSipTrunkId":"LiveKit SIP Trunk ID","livekitRoomName":"LiveKit Room Name","livekitRoomNameTooltip":"The LiveKit room name to join and wait for SIP calls. Must match the room name in your SIP Dispatch Rule.","xiaoyiSetupGuide":"Please create an agent on Huawei Developer Platform and get AK/SK and Agent ID. AK/SK can be found in the credential management page.","filterAll":"All","builtin":"Built-in","custom":"Custom","feishuRegion":"Region","feishuRegionTooltip":"Choose Feishu for China or Lark for International","feishuChina":"Feishu (China)","feishuInternational":"Lark (International)","feishuScanGuide":"Scan the QR code with Feishu to create a bot instantly. A Feishu app will be created automatically and App ID / App Secret will be filled in.","feishuScanLogin":"Scan to Create Bot","feishuGetQrcode":"Get Feishu QR Code","feishuScanHint":"Scan the QR code above with Feishu. App ID and App Secret will be filled in automatically after authorization.","feishuAuthSuccess":"Feishu bot created. App ID and App Secret have been filled in.","feishuQrcodeExpired":"QR code expired, please get a new one.","feishuQrcodeFailed":"Failed to get Feishu QR code. Please try again.","wechatSetupGuide":"WeChat personal account Bot (iLink protocol). On first start without a Bot Token, a QR code login URL will be printed; scan to authorize. The token is saved locally for future use.","wechatContextTokenLimit":"WeChat iLink platform limitation: each user message's context_token allows a maximum of 10 reply messages. This is a hard limit enforced by the platform. It is recommended to disable thinking and tool output, or enable Message Merge to avoid exceeding the limit and causing message send failures.","
132wechatBotToken":"Bot Token","wechatBotTokenTooltip":"Bearer token obtained after QR code login. Leave empty to trigger QR code login on startup.","wechatBotTokenPlaceholder":"Auto-filled after QR login, or paste manually","wechatBotTokenFile":"Token File Path","wechatBotTokenFileTooltip":"Path to persist the bot token. Defaults to ~/.qwenpaw/wechat_bot_token","wechatMediaDir":"Media Directory","wechatMessageMerge":"Message Merge","wechatMessageMergeTooltip":"Merge multiple reply messages into fewer messages to avoid hitting the WeChat 10-message limit per context_token. When enabled with delay 0, all text replies are merged into a single message sent at the end. A positive delay (in ms) merges adjacent messages within that time window.","wechatMessageMergeDelayMs":"Merge Delay (ms)","wechatMessageMergeDelayMsTooltip":"Time window for adjacent message merging. Set to 0 to merge all messages into one final reply. A positive value (e.g. 1000) will buffer messages for that duration before sending.","wechatMessageMergeDelayMsValidation":"Please enter a valid non-negative integer","wechatScanLogin":"Scan to Login","wechatGetQrcode":"Get Login QR Code","wechatScanHint":"Scan the QR code with WeChat, then click Save","wechatQrcodeFailed":"Failed to fetch QR code, please try again","wechatLoginSuccess":"WeChat login successful, token has been filled in","wechatQrcodeExpired":"QR code expired, please get a new one","shareSessionInGroup":"Share Context in Group","shareSessionInGroupTooltip":"When enabled, all group members share the same conversation context. When disabled, each member has their own independent context.","accessControlEnabled":"Access Control","accessControlEnabledTooltip":"When enabled, only whitelisted users can interact with this bot. Unknown users will be prompted with their ID and added to the pending approval list.","accessControlDm":"DM Access Control","accessControlDmTooltip":"When enabled, only whitelisted users can interact with the bot in direct messages","accessControlGroup":"Group Access Control","accessControlGroupTooltip":"When enabled, only whitelisted users can interact with the bot in group chats","dmDisabled":"Disable DM","dmDisabledTooltip":"When enabled, the bot will completely ignore all direct messages","groupDisabled":"Disable Group","groupDisabledTooltip":"When enabled, the bot will completely ignore all group messages","manageAccessControl":"Access Control","pendingApprovals":"Pending Approvals","whitelist":"Whitelist","blacklist":"Blacklist","addUser":"Add User","addUserPlaceholder":"Enter user ID","userId":"User ID","username":"Username","channel":"Channel","firstMessage":"First Message","time":"Time","actions":"Actions","approve":"Whitelist","deny":"Blacklist","dismiss":"Dismiss","noWhitelistUsers":"No whitelist users","noBlacklistUsers":"No blacklist users","noPendingApprovals":"No pending approvals","userAdded":"User added successfully","userRemoved":"User deleted successfully","approveSuccess":"User added to whitelist","denySuccess":"User added to blacklist","dismissSuccess":"Pending entry dismissed","operationFailed":"Operation failed","remark":"Remark","usernamePlaceholder":"Enter username (optional)","remarkPlaceholder":"Enter a remark (optional)","filterByChannel":"Filter by channel","selectToOperate":"Select items to operate","selectedCount":"{{count}} selected","batchApprove":"Approve","batchDeny":"Blacklist","batchDismiss":"Dismiss","batchApproveConfirm":"Approve {{count}} selected users?","batchDenyConfirm":"Blacklist {{count}} selected users?","batchDismissConfirm":"Dismiss {{count}} selected users?","batchSuccess":"{{count}} users processed successfully","batchRemove":"Delete","batchRemoveConfirm":"Delete {{count}} selected users?","enabledSection":"Enabled","enabledCount":"{{count}}","availableSection":"Available","enableAction":"Enable","noEnabledChannels":"No enabled channels","goEnableChannels":"Enable channels"}`),ND={title:"Sessions",description:"View and manage active chat sessions",loading:"Loading sessions...",confirmDelete:"Confirm Delete",deleteConfirm:"Are you sure you want to delete this session?",batchDeleteConfirm:"Are you sure you want to delete selected {{count}} sessions?",deleteSuccess:"Session deleted successfully",deleteFailed:"Failed to delete session",batchDeleteSuccess:"Successfully deleted {{count}} session(s)",batchDeleteFailed:"Failed to batch delete sessions",saveSuccess:"Session saved successfully",saveFailed:"Failed to save session",batchDeleteButton:"Batch Delete",filterTitle:"Filter by Title",filterUserId:"Filter by User ID",filterChannel:"Filter by Channel",allChannels:"All Channels",totalItems:"Total {{count}} items",selectedItems:"Selected {{count}} items",editSession:"Edit Session",pleaseInputName:"Please input session name",sessionNamePlaceholder:"Session name",activeTab:"Active",archivedTab:"Archived",archivedAtColumn:"Archived At",archive:{action:"Archive",unaction:"Unarchive",batchAction:"Batch Archive",success:"Chat archived",successHint:"Chat archived. View in Control > Sessions > Archived.",failed:"Failed to archive",unarchiveSuccess:"Chat unarchived",unarchiveFailed:"Failed to unarchive",batchSuccess:"{{count}} chat(s) archived",batchFailed:"Failed to batch archive",batchUnaction:"Batch Unarchive",batchUnarchiveSuccess:"{{count}} chat(s) unarchived",batchUnarchiveFailed:"Failed to batch unarchive",groupLabel:"Archived ({{count}})",modalTitle:"Archived Chats",unarchiveAll:"Unarchive All",noArchived:"No archived chats"}},HD={parent:"Settings",environments:"Environment Variables",title:"Environment Variables",description:"Configure key-value environment variables for agents and skills.",key:"Key",value:"Value",variableNamePlaceholder:"VARIABLE_NAME",valuePlaceholder:"value",insertRowBelow:"Insert row below",deleteRow:"Delete row",deleteVariable:"Delete Variable",deleteConfirm:'Delete "{{name}}"?',deleteSelected:"Delete Selected",deleteSelectedConfirm:"Delete {{label}}
132?",keyRequired:"Key is required",invalidKeyFormat:"Invalid key format",duplicateKey:"Duplicate key",saveSuccess:"Environment variables saved",saveFailed:"Failed to save",deleteSuccess:'"{{name}}" deleted',deleteFailed:"Failed to delete",noVariables:"No environment variables configured yet.",addVariable:"Add Variable",loading:"Loadingâ¦",retry:"Retry",of:"of",selected:"selected",variable:"variable",variables:"variables",showValue:"Show value",hideValue:"Hide value",searchPlaceholder:"Search variables",qwenpawSettings:"QwenPaw settings",qwenpawSettingsDescription:"Known settings include defaults and locked startup values.",liveSettings:"Live settings",noLiveVariables:"No live settings match the current filter.",customSettings:"Custom variables",noCustomVariables:"No custom child-process variables yet.",editVariable:"Edit variable",applyNow:"Apply now",applyHint:"The current QwenPaw process updates immediately. Existing MCP processes must be reloaded.",applied:"Environment variable applied",appliedWithFailures:"Saved, but {{count}} MCP process could not be reloaded",resetVariable:"Reset variable",resetSuccess:"Variable reset to its system or default value",startupOnly:"Read only",readonlySettings:"Read-only settings",noReadonlyVariables:"No read-only settings match the current filter.",impactTitle:"Process impact",explicitConsumers:"{{count}} MCP process explicitly uses this variable",implicitConsumers:"{{count}} stdio MCP process may inherit it implicitly",restartMode:"Existing MCP processes",restartAffected:"Reload affected MCP processes",restartNone:"Do not reload",restartAllStdio:"Reload every stdio MCP process",readonlyReason:{startup:"Resolved when QwenPaw starts",agent_owned:"Managed by each Agent configuration",initial_default:"Used only as an Agent configuration default"},mutabilityDescription:{hot_runtime:"Read from the current QwenPaw process at the start of each operation.",hot_process:"Available through os.getenv() and inherited by future child processes.",startup_only:"Displayed for reference; it cannot be changed while QwenPaw is running.",internal:"Managed internally by QwenPaw."},variableDescriptions:{QWENPAW_LLM_STREAM_FIRST_CONTENT_TIMEOUT:"Maximum wait for the first meaningful stream content; zero disables the watchdog.",QWENPAW_LLM_STREAM_IDLE_TIMEOUT:"Maximum wait between meaningful stream chunks; zero disables the watchdog."},source:{user:"QwenPaw",system:"System",default:"Default"}},UD={selectModel:"Select model",noConfiguredModels:"No configured models",noFreeModels:"No free models available",switchFailed:"Failed to switch model",searchModels:"Search models...",clearSearch:"Clear model search",loadingModels:"Loading models",partialLoadFailed:"Some model information could not be loaded.",retry:"Retry",noModelsFound:"No matching models found",free:"Free",vision:"Vision",freeBannerText:"Free models may have rate limits and limited availability. Refer to the provider for details.",moreProviders:"More free providers (API Key required)",proBannerText:"Showing models configured in Settings.",connectToUse:"Connect {{provider}} to use free models",configureApiKey:"Configure {{provider}} API Key to use free models",configureApiKeyTitle:"Go to Configuration",configureApiKeyConfirm:"You will be redirected to the Models page to configure {{provider}} API Key. Continue?",goToConfigure:"Go to Configure",noModelsDiscovered:"Connected. Models loading...",oauthTitle:"Connect to {{provider}}",oauthDescription:"A new browser window will open for you to authorize access to {{provider}}. Your API key will be saved automatically.",oauthContinue:"Continue",oauthWaiting:"Waiting for authorization...",oauthWaitingDescription:"Please complete the authorization in the browser window.",oauthConnected:"Successfully connected to {{provider}}",oauthFailed:"Authorization failed, please try again",oauthTimeout:"Authorization timed out, please try again",oauthModelUnavailable:"The selected model is no longer available. Review the provider's models and try again.",viewMore:"View more ({{count}})",addAndUse:"Add and use",availableToAdd:"Available to add",addFailed:"Failed to add model",hideModel:"Hide model",hiddenModels:"Hidden models ({{count}})",restoreModel:"Restore model",restore:"Restore",visibilityFailed:"Failed to update model visibility",agentModelSettings:"Agent model routing",agentSettingsLoadFailed:"Failed to load agent model settings",loadingAgentSettings:"Loading agent model settings",agentSettingsSaveFailed:"Failed to save agent model settings",agentSettingsSaved:"Agent model settings saved",saveAgentSettings:"Save routing settings",thinkingLevel:"Thinking level",thinkingUnsupported:"The active model does not advertise configurable thinking.",thinking:{inherit:"Model default",off:"Off",low:"Low",medium:"Medium",high:"High"},subagentModel:"Sub-agent model",sameAsPrimary:"Same as primary",enableFallback:"Enable model fallback",fallbackScope:"Fallback scope",configuredModels:"Configured models",freeModelsOnly:"Free models only",chooseFallback:"Choose a fallback model",moveFallbackUp:"Move {{model}} up",moveFallbackDown:"Move {{model}} down",removeFallback:"Remove {{model}}",fallbackActive:"Actual processing model: {{provider}} / {{model}}"},qD={title:"Token Usage",totalTokens:"Total Tokens",totalCalls:"LLM Calls",toolCalls:"Tool Calls",llmAndToolTrend:"LLM & Tool Calls Trend",llmAndToolTrendTooltip:"Recorded assistant turns (usage metadata) plus tool-use intents across all agents. Not Total Calls (raw API count); older sessions may show 0 recorded turns.",llmAndToolTrendLoadFailed:"Failed to load LLM & tool call trend",recordedTurnsAllAgents:"LLM Calls",byAgent:"By Agent",agent:"Agent",unattributed:"Unattributed",promptTokens:"Prompt Tokens",completionTokens:"Completion Tokens",cacheRead:"Cache-hit Tokens",cacheHitRate:"Cache Hit Rate",byModel:"By Model",byDate:"By Date",model:"Model",date:"Date",loadFailed:"Failed to load token usage",noData:"No token usage data in the selected period",modelTrend:"Model Usage Trend",tokenTypeChart:"Token Type Trend",selectAll:"Select All",allSelected:"All",itemsSelected:"{{count}} selected",selectModels:"Select models",selectTokenTypes:"Select token types"},jD={title:"Agent Statistics",totalSessions:"Total Sessions",totalMessages:"Total Messages",userMessages:"User Messages",assistantMessages:"Assistant Messages",promptTokens:"Prompt Tokens",totalInputTokens:"Total Prompt Tokens",completionTokens:"Completion Tokens",toolCalls:"Tool Calls",newSessions:"New Sessions",activeSessions:"Active Sessions",messageTrend:"Message Trend",sessionTrend:"Session Trend",tokenTrend:"Token Trend",llmAndToolTrend:"LLM & Tool Call Trend",sessionsByChannel:"Sessions by Channel",messagesByChannel:"Messages by Channel",totalSessionsTooltip:"Total chat sessions created, each session is an independent conversation context",totalMessagesTooltip:"Total messages across all sessions, including both user and assistant messages",toolCallsTooltip:"Number of times the agent decided to invoke a tool; a single LLM call may produce multiple tool-use intents",messageTrendTooltip:"Trend comparing user messages vs assistant messages",sessionTrendTooltip:"Trend comparing new sessions vs active sessions; orange bars are sessions created that day, blue bars are sessions with messages that day",llmAndToolTrendTooltip:"Trend of current-agent LLM turns vs tool-use intents",sessionsByChannelTooltip:"Distribution of sessions by messaging channel; sessions without a channel are grouped under Console",messagesByChannelTooltip:"Distribution of total messages by messaging channel",currentAgentLlmCalls:"Recorded Turns",currentAgentTokenTrendTooltip:"Prompt, completion, and cache-hit token trends from the current agent's per-turn session metadata; cache-hit tokens are a subset of prompt tokens",currentAgentPromptTokensTooltip:"Prompt tokens from the current agent's sessions in the selected period (requires per-turn usage metadata; older sessions may show 0)",currentAgentCacheHitRateTooltip:"Token-weighted cache hit rate for observed cache calls by the current agent in the selected period (cache-hit tokens / cache-eligible input tokens;
132 â when unavailable)",currentAgentCompletionTokensTooltip:"Completion tokens from the current agent's sessions in the selected period (requires per-turn usage metadata; older sessions may show 0)",currentAgentLlmCallsTooltip:"Number of assistant turns with recorded usage metadata for the current agent (not raw API call count; older sessions may show 0)",loadFailed:"Failed to load statistics",noData:"No statistics data in the selected period",retry:"Retry"},GD=JSON.parse('{"discoveryOriginApi":"API detected","discoveryOriginCatalog":"Official catalog","discoveryOriginBoth":"API + catalog","availabilityAvailable":"Available","availabilityPermissionDenied":"No permission","availabilityNotFound":"Not found","availabilityIncompatible":"Not chat compatible","availabilityRateLimited":"Rate limited","availabilityTransientError":"Temporarily unavailable","availabilityUnverified":"Unverified","modelAlreadyConfigured":"Configured","llmConfiguration":"LLM Configuration","providersTitle":"Providers","providersDescription":"Configure API keys and endpoints for each provider.","llmTitle":"Models","defaultLlm":"Default LLM","notConfiguredYet":"Not configured","llmDescription":"Set the global default LLM model from an authorized provider. You can choose a specific model for each Agent in the Chat page.","configureProvider":"Configure {{name}}","baseURL":"Base URL","apiKey":"API Key","advancedConfig":"Advanced Configuration","authMode":"Authentication Mode","authModeApiKey":"API Key (x-api-key)","authModeAuthToken":"Auth Token (Authorization: Bearer)","customHeaders":"Custom Headers","customHeadersHint":"Appended to every API request, e.g. x-app: cli","customHeaderKey":"Header Name","customHeaderValue":"Header Value","addHeader":"+ Add Header","generateConfig":"Generation Parameters","generateConfigHint":"Generation parameters expressed as a JSON object. They will be expanded and passed into the generation request (`openai.chat.completions` or `anthropic.messages`).","generateConfigInvalidJson":"Please enter valid JSON","generateConfigMustBeObject":"Generation parameters must be a JSON object","modelAdvancedConfig":"Model Advanced Config","modelGenerateConfig":"Model Generation Parameters","modelGenerateConfigHint":"Generation parameters expressed as a JSON object for this model. They will be expanded and passed into the generation request. These override provider-level advanced configuration.","modelConfigSaved":"Configuration saved for model {{name}}","modelConfigSaveFailed":"Failed to save model configuration","modelConfigLabel":"Model Config","maxTokensLabel":"Max Tokens","maxTokensHint":"Maximum output tokens per response","providerDefault":"Provider default","resetMaxTokens":"Reset to auto","maxOutputCapabilityLabel":"Model capability","unknown":"Unknown","maxInputLengthLabel":"Max Context Length","maxInputLengthHint":"Model context window size, controls context compaction threshold (â¥1000)","relayReasoningLabel":"Relay Reasoning","relayReasoningHint":"Relay reasoning contents back to subsequent conversation turns","thinkingModeLabel":"Enable Thinking","thinkingModeHint":"Turn on to enable model thinking/reasoning. Turn off to disable thinking.","thinkingBudgetLabel":"Thinking Budget","thinkingBudgetHint":"Using model default thinking budget","switchToManual":"Manual","switchToAuto":"Auto","reasoningEffortLabel":"Reasoning Effort","reasoningEffortHint":"Controls reasoning depth (OpenAI-family)","protocol":"Protocol","protocolHint":"Choose the provider API protocol for this configuration.","selectProtocol":"Please select a protocol","protocolOpenAI":"OpenAI-compatible (Chat Completions)","protocolOpenAIResponse":"OpenAI-compatible (Response API)","protocolAnthropic":"Anthropic (Messages API)","currentKey":"Current: {{key}}","startsWith":"Starts with \\"{{prefix}}\\"","optionalSelfHosted":"Optional for self-hosted services","leaveBlankKeep":"Leave blank to keep current key","enterApiKey":"Enter API key ({{prefix}}...)","enterApiKeyOptional":"Enter API key (optional)","openAIEndpoint":"OpenAI endpoint, e.g. https://api.openai.com/v1","openAICompatibleEndpoint":"OpenAI-compatible endpoint, e.g. https://api.example.com (append /v1 only if your provider requires it)","azureEndpointHint":"Azure OpenAI endpoint, e.g. https://<resource>.openai.azure.com/openai/v1","anthropicEndpointHint":"Anthropic endpoint, e.g. https://api.anthropic.com","ollamaEndpointHint":"Ollama endpoint, e.g. http://localhost:11434","lmstudioEndpointHint":"LM Studio endpoint, e.g. http://localhost:1234/v1","apiEndpointHint":"API endpoint, e.g. https://api.example.com","pleaseEnterBaseURL":"Please enter the API base URL","selectBaseURL":"Select a base URL","selectBaseURLHint":"Select the regional endpoint for this provider","pleaseEnterValidURL":"Please enter a valid URL","apiKeyShouldStart":"API Key should start with \\"{{prefix}}\\"","configurationSaved":"{{name}} configuration saved","failedToSaveConfig":"Failed to save configuration","revokeAuthorization":"Revoke Authorization","revokeConfirmContent":"Are you sure you want to remove the API key for {{name}}? The current LLM model configuration will also be cleared.","revokeConfirmSimple":"Are you sure you want to remove the API key for {{name}}?","authorizationRevoked":"{{name}} authorization revoked, LLM model cleared","authorizationRevokedSimple":"{{name}} authorization revoked","failedToRevoke":"Failed to revoke authorization","active":"Active: {{provider}} / {{model}}","provider":"Provider","model":"Model","selectProvider":"Select provider (must be authorized)","selectModel":"Select a model","llmModelUpdated":"LLM Model updated","failedToSave":"Failed to save","freeModelWarningTitle":"Free Model Notice","freeModelWarningMessage":"Free models may have limited availability. Please refer to the provider\'s terms of service:","freeModelWarningDontShowAgain":"Do not show this again","saved":"Saved","save":"Save","cancel":"Cancel","loading":"Loading...","retry":"Retry","notSet":"Not set","notRequired":"Not required","available":"Available","unavailable":"Unavailable","providerAvailable":"Ready (with models)","providerNoModels":"Not Ready (no models)","providerNotConfigured":"Not Ready (not configured)","settings":"Settings","actions":"Actions","search":"Search","searchPlaceholder":"Search providers...","searchModelPlaceholder":"Search models...","custom"
132:"Custom","builtin":"Built-in","freeTierGroup":"Free Tier","paidGroup":"Paid","localCustomGroup":"Local & Custom","cloudGroup":"Cloud Providers","configuredGroup":"Configured","configuredOnline":"providers online","noConfigured":"No providers configured yet. Select one below to get started.","goConfigureBtn":"Configure a Provider","availableGroup":"Available Providers","clickToConfigure":"Click to configure","configureAction":"Configure â","endpointCount":"{{count}} endpoints","connect":"OAuth","saveApiKey":"Save","addProvider":"Add Provider","addProviderTitle":"Add Custom Provider","providerIdLabel":"Provider ID","providerIdPlaceholder":"e.g. openai, google, anthropic","providerIdHint":"Lowercase letters, digits, hyphens, underscores. Cannot be changed later.","providerNameLabel":"Display Name","providerNamePlaceholder":"e.g. OpenAI, Google Gemini","defaultBaseUrlLabel":"Default Base URL","defaultBaseUrlPlaceholder":"e.g. https://api.example.com","apiKeyPrefixLabel":"API Key Prefix (optional)","apiKeyPrefixPlaceholder":"e.g. sk-","providerCreated":"Provider \\"{{name}}\\" created","providerCreateFailed":"Failed to create provider","deleteProvider":"Delete Provider","deleteProviderConfirm":"Delete custom provider \\"{{name}}\\" and all its models? This cannot be undone.","providerDeleted":"Provider \\"{{name}}\\" deleted","providerDeleteFailed":"Failed to delete provider","disableProvider":"Disable Provider","disableProviderConfirm":"Clear API key for \\"{{name}}\\"? The provider will become unconfigured.","disableBtn":"Disable","changeApiKey":"Change","selectVariant":"Select {{name}} Variant","providerDisabled":"Provider \\"{{name}}\\" disabled","manageModels":"Models","models":"Models","manageModelsTitle":"{{provider}} â Model Management","userAdded":"User-added","addModel":"Add Model","addModels":"Add Models","autoDiscoverModels":"Auto Discover Models","addModelTitle":"Add Model to {{provider}}","modelIdLabel":"Model ID","modelIdPlaceholder":"e.g. gpt-4o, gemini-2.0-flash","modelDiscoveryUnavailableHint":"No available models were found. This provider may not support model list discovery, so please enter the model ID manually.","modelNameLabel":"Model Name","modelNameRequired":"Please enter model name","modelNamePlaceholder":"e.g. GPT-4o, Gemini 2.0 Flash","modelAdded":"Model \\"{{name}}\\" added","modelAddFailed":"Failed to add model","modelAlreadyExists":"Model ID \\"{{id}}\\" already exists","autoDiscoverModelsSuccess":"Model catalog synced. Discovered {{count}} new candidates","autoDiscoverModelsNoNew":"Model catalog synced. No new candidates found","autoDiscoverModelsFailed":"Failed to auto discover models","modelsLastSynced":"Last synced: {{time}}","modelsNeverSynced":"Models have not been synced yet","modelsSyncFailed":"Last sync failed","modelsSyncing":"Discovering model candidates...","discoveredModelsReady":"{{count}} model candidates are ready to add","addAllDiscoveredModels":"Add all available ({{count}})","discoveredModelsAdded":"Added {{count}} discovered models","discoveredModelsAddFailed":"Failed to add {{count}} models","removeModel":"Remove","removeModelConfirm":"Remove model \\"{{name}}\\" from {{provider}}?","modelRemoved":"Model \\"{{name}}\\" removed","modelRemoveFailed":"Failed to remove model","loadMore":"Load more ({{count}})","modelsCount":"{{count}} models","noModels":"No models","addModelFirst":"Please add a model first","modelList":"Model List","clearAll":"Clear All","filteredModelsLoaded":"Filtered models loaded: {{count}}","filterFailed":"Failed to filter models","clearAllModels":"Clear All Models","clearAllModelsConfirm":"Clear all {{count}} extra models? This cannot be undone.","allModelsCleared":"Cleared {{count}} models","filterModels":"Filter Models","filterByProvider":"Provider:","searchProviderPlaceholder":"Search provider name","selectAllProviders":"Select All","clearProviderSelection":"Deselect All","noMatchingProviders":"No matching providers","filterByModality":"Input Modality:","filterFreeOnly":"Free Models Only:","getModels":"Get Models","discovered":"Available Models:","add":"Add","local":"Local","localType":"Type","localEmbedded":"Embedded (in-process)","localDownloadFirst":"Model service not started","localDownloadModel":"Download Model","localModelsTitle":"{{provider}} â Local Models","localNoModels":"No downloaded models yet","localRepoI
132d":"Model Repository ID","localRepoIdRequired":"Please enter a model repository ID","localRepoIdPlaceholder":"e.g. Qwen/Qwen3-0.6B-GGUF","localFilename":"Filename (optional)","localFilenamePlaceholder":"e.g. mistral-7b.Q4_K_M.gguf","localFilenameHint":"Leave empty to auto-select the best quantization","localSource":"Source","localDownloadSuccess":"Model downloaded successfully","localDownloadFailed":"Failed to download model","localDeleteModel":"Delete Model","localDeleteConfirm":"Delete local model \\"{{name}}\\"? The model file will be removed from disk.","localModelDeleted":"Model \\"{{name}}\\" deleted","localDeleteFailed":"Failed to delete model","localDownloadPending":"Preparing to download...","localDownloading":"Downloading {{repo}}... This may take a few minutes.","localDownloadNavigateHint":"You can navigate away â the download will continue in the background.","localDownloadInProgress":"A download is already in progress","localDownloaded":"Downloaded","localNotDownloaded":"Not downloaded","localNoRecommendedModels":"This device is not powerful enough to run local models","localCancelDownloadTitle":"Cancel download","localCancelDownloadAction":"Cancel download","localCancelDownloadConfirm":"Cancel download of \\"{{repo}}\\"?","localDownloadCancelled":"Download cancelled","localCancelDownloadFailed":"Failed to cancel download","localLlamacppName":"Inference engine","localLlamacppInstallHint":"Install the local runtime before downloading or starting a model.","localInstallLlamacpp":"Install llama.cpp","localLlamacppInstallStarted":"llama.cpp download started","localLlamacppInstallSuccess":"llama.cpp installed successfully","localLlamacppInstallFailed":"Failed to install llama.cpp","localRuntimeSectionTitle":"Inference Engine","localRuntimeSectionDescription":"Powered by Llama.cpp","localRuntimeComputeHint":"CPU is used by default. For GPU acceleration, use Ollama or LM Studio.","localRuntimeInstalled":"Installed","localRuntimeUpdateAvailable":"Update available","localRuntimeUpdateAction":"Click to download the latest version","localRuntimeUpdateConfirmTitle":"Confirm llama.cpp update","localRuntimeUpdateConfirmContent":"Updating will overwrite the currently installed llama.cpp version. Confirm to start downloading and installing the latest version.","localRuntimeUpdateConfirmContentWithServer":"Updating will overwrite the currently installed llama.cpp version and stop the currently running model service ({{model}}). Confirm to start downloading and installing the latest version.","localRuntimeUnsupported":"Unsupported","localRuntimeMissing":"Missing","localServerRunningTitle":"Current local server","localServerOnline":"Running","localServerIdle":"Dead","localServerUnavailable":"Issue","localNoActiveModel":"No active model","localNoDownloadedModelsHint":"Download a suitable model before starting the local inference service.","localDownloadModelFirst":"Download the model first","localEngineInstallStateLabel":"Install","localEngineRunStateLabel":"Status","localEngineCurrentModelLabel":"Current served model","localEngineNextStepLabel":"Next step","localEngineHealthLabel":"Engine health","localEngineStatusHint":"Please download and start a suitable model from the list below","localStartServer":"Start","localStopServer":"Stop","localServerStartFailed":"Failed to start local server","localServerStopFailed":"Failed to stop local server","localServerSwitchTitle":"Switch running model","localServerSwitchConfirm":"The current server is running {{current}}. Switch to {{next}}?","localSwitchModel":"Switch","localModelPathMissing":"This downloaded model is missing a local path.","localModelsSectionTitle":"Local Models","localModelsSectionDescription":"Downloaded models can be started immediately. Only one model download and one local server instance can run at a time.","localModelsLockedHint":"Please install llama.cpp first","localAlternativeRuntimeHint":"Please try Ollama or LM Studio","localModelsCount":"Downloaded {{downloaded}} / {{total}}","localCurrentDownloadTitle":"Current download","localAdvancedConfigTitle":"Advanced Local Settings","localAdvancedConfigDescription":"The
132se settings apply to the embedded local inference runtime. Max context length changes take effect the next time the local server starts.","localAdvancedConfigSaved":"Advanced local settings saved","localAdvancedConfigSaveFailed":"Failed to save advanced local settings","localMaxContextLengthLabel":"Max Context Length","localMaxContextLengthHint":"Maximum token count for the model context window, determining how much history fits in each request. Changes take effect the next time the local server starts.","localMaxContextLengthRequired":"Please enter max context length","localMaxContextLengthMin":"Max context length must be at least {{min}}","localMaxContextLengthPlaceholder":"Enter max context length","localServerPortLabel":"Server Port","localServerPortHint":"Leave this empty to let llama.cpp bind an available port automatically. Enter a port to reuse that fixed port on future startups. Changes take effect the next time the local server starts.","localServerPortRange":"Server port must be between {{min}} and {{max}}","localServerPortPlaceholder":"Leave empty to auto-select a port","localGenerateConfigHint":"Configure local model generation parameters as a JSON object. These fields will be expanded into subsequent generation requests.","localCustomModelTitle":"Custom model download","localCustomModelHint":"Enter a model repository ID. GGUF format only.","localSourceHuggingFace":"Hugging Face","localSourceModelScope":"ModelScope","ollamaModelNamePlaceholder":"e.g. mistral:7b, qwen3:8b","testConnection":"Test Connection","testConnectionSuccess":"Connection test successful","testConnectionFailed":"Connection test failed","testConnectionFailedWithMessage":"Connection test failed: {{message}}","testConnectionError":"An error occurred while testing connection","modelTestFailed":"Model validation failed, please check if the model ID is correct","modelTestFailedConfirm":"Model connection test failed: {{message}}. Do you still want to add this model?","tagVideo":"Video","tagMultimodal":"Multimodal","tagVision":"Vision","tagText":"Text","free":"Free","probeMultimodal":"Test Multimodal","probeImage":"Image","probeVideo":"Video","probeSupported":"Supported: {{types}}","probeNotSupported":"This model does not support multimodal input","probeFailed":"Probe failed","tagNotProbed":"Not Probed","modalityVision":"Image","modalityAudio":"Audio","modalityVideo":"Video","modalityFile":"File","perMillionIn":"/1M in","perMillionOut":"/1M out"}'),VD={title:"Files",navigator:"Files navigator",source:"Source",workspace:"Workspace",agentWorkspace:"Agent workspace",profile:"Profile",memory:"Long-term Memory",daily:"Daily",digest:"Knowledge Base",memoryGraph:"Memory Graph",memoryGraphShort:"Graph",memoryGraphLoading:"Loading memory graphâ¦",memoryGraphLoadFailed:"Failed to load the memory graph.",memoryGraphCounts:"{{nodes}} nodes · {{edges}} links",memoryGraphEmpty:"No indexed memory links yet.",memoryGraphZoomOut:"Zoom out",memoryGraphZoomIn:"Zoom in",memoryGraphFit:"Fit graph",memoryGraphAutoRotate:"Auto rotate",memoryGraphMotionReduced:"Reduced motion is enabled by the system",memoryGraphRendering:"Building the 3D sceneâ¦",memoryGraphRenderFailed:"Failed to render the 3D graph.",memoryGraphCanvasLabel:"Interactive 3D memory graph. Drag to rotate, scroll to zoom, and select a node to view details.",memoryGraphCloseDetails:"Close node details",memoryGraphRoot:"Root",memoryGraphRootDirect:"Direct file",memoryGraphOtherFile:"Other file",memoryGraphIndexed:"Indexed file",memoryGraphUnresolved:"Unresolved link",memoryGraphDirection:"Wiki link direction",memoryGraphOpenFile:"Open Markdown",memoryGraphOutbound:"Outgoing · {{count}}",memoryGraphInbound:"Incoming · {{count}}",projectDirectory:"Project directory",workspaceDirectory:"Configuration directory",switchRoot:"Switch directory",manageDirs:"Manage directoriesâ¦",primaryRoot:"Primary",rootMissing:"Missing",rootsPending:"{{count}} more available after the first message",changeDirectoryTitle:"Change project directory?",changeDirectoryWarning:"Unsaved edits or pending diffs are open in this project. Changing directories will discard them.",sourceEmpty:"No files are available in this source yet.",loadMore:"Load next 200",upload:"Upload files",conflictPolicy:"Upload conflict policy",conflictRename:"Keep both",conflictRenameDescription:"Add a number to the new filename and keep the existing file.",conflictSkip:"Keep existing",conflictSkipDescription:"Skip conflicting new files and continue uploading the rest.",conflictOverwrite:"Use new file",conflictOverwriteDescription:"Replace the existing file with the new one.",uploadConflictTitle:"Files already exist",uploadConflictDescription:"These files already exist: {{files}}. Choose how to continue.",promptToggle:"Toggle whether {{name}} is included in the system prompt",addSystemPrompt:"Add from workspace",addSystemPromptTitle:"Add a system prompt file",addSystemPromptDescription:"Choose a workspace Markdown file to include in the system prompt.",searchSystemPromptFiles:"Search workspace Markdown files",noSystemPromptCandidates:"No matching files are available.",sourceControl:"Source control",preview:"Preview",htmlPreview:"HTML preview",o
132penHtmlInBrowser:"Open in browser",edit:"Edit",selectFile:"Select a file to open",closeTab:"Close tab",closeOtherTabs:"Close other tabs",closeAllTabs:"Close all tabs",openFiles:"Open files, {{count}}",openFilesLabel:"Open files",openFileCount:"{{count}} open",searchOpenFiles:"Search by file or path",noOpenFilesFound:"No matching open files",scrollTabsLeft:"Scroll tabs left",scrollTabsRight:"Scroll tabs right",agentChangedFile:"Agent changed this file",keep:"Keep",keepAll:"Keep all",undo:"Undo",undoAll:"Undo all",copySelectionToChat:"Copy selection to Chat",copyFileToChat:"Copy file to Chat",previewSize:"Preview · {{size}} bytes",backToPreview:"Back to Preview",download:"Download",downloadFailed:"File download failed",resize:"Resize Files drawer",loadFailed:"Failed to load the file. Check that it is still in the primary working directory of the current agent workspace.",previewUnavailable:"Preview is unavailable. Metadata and download remain available.",mentionInChat:"Mention in Chat",expandWorkspace:"Expand workspace",openWorkspace:"Open workspace",closeWorkspace:"Close workspace",artifactCreated:"Created",artifactModified:"Modified",artifactsExpand:"Show {{count}} more files",artifactsCollapse:"Show fewer files"},WD={agentTitle:"Agent project directory",agentDescription:"The Agent Files workspace uses this default directory.",sessionTitle:"Session project directory",pathPlaceholder:"Enter an absolute directory path",recentProjects:"Recent projects",browseDirectory:"Browse directories",noRecentProjects:"No recent projects",clearSelection:"Clear selected project",homeDirectory:"Home directory",parentDirectory:"Parent directory",refreshDirectory:"Refresh directory",restoreDefault:"Restore default",createDirectory:"Create folder",directoryNamePlaceholder:"Enter a folder name",createDirectoryFailed:"Failed to create folder",useWorkspace:"Use configuration directory",createSessionHint:"Send the first message to set a Session-specific directory.",sessionSource:"Session",agentSource:"Agent default",makePrimary:"Make primary",remove:"Remove",add:"Add",boundDirs:"Added project directories",primaryHint:"Tool calls and commands run in the primary directory by default.",primaryTag:"Primary",unbound:"No directories bound",unavailable:"Missing",alreadyBound:"Already bound",tooMany:"At most {{max}} directories can be bound.",countTitle:"Number of bound directories"},zD=JSON.parse(`{"title":"Configuration","projectDirectoryTitle":"Default project directory","projectDirectoryDescription":"The default directory used for files and commands.","projectDirectoryDefault":"Agent default","changeProjectDirectory":"Change directory","projectDirectoryWorkspaceFallback":"Using the Agent workspace","enhancedCodeCapability":"Enhanced code capability","enhancedCodeCapabilityTooltip":"Adds code-oriented tools without changing the project directory.","enhancedCodeCapabilityDescription":"Enable AST, LSP, code prompts, Git context and source control.","description":"Configure agent runtime parameters","reactAgentTitle":"ReAct Agent","llmRetryTitle":"LLM Auto Retry","llmRetryEnabled":"Enable Auto Retry","llmRetryEnabledTooltip":"Automatically retry transient LLM API failures such as rate limits, timeouts, or connection errors. Applies to new requests after saving.","llmMaxRetries":"Max Retries","llmMaxRetriesTooltip":"Maximum number of extra retry attempts for a retryable LLM request failure.","llmMaxRetriesPlaceholder":"Enter max retries","llmMaxRetriesRequired":"Max retries is required","llmMaxRetriesMin":"Max retries must be at least 1","llmBackoffBase":"Backoff Base Delay (s)","llmBackoffBaseTooltip":"Base delay before the first retry. Later retries use exponential backoff from this value.","llmBackoffBasePlaceholder":"Enter base delay","llmBackoffBaseRequired":"Backoff base delay is required","llmBackoffBaseMin":"Backoff base delay must be at least 0.1 seconds","llmBackoffCap":"Backoff Max Delay (s)","llmBackoffCapTooltip":"Maximum cap for exponential retry backoff delays.","llmBackoffCapPlaceholder":"Enter max delay","llmBackoffCapRequired":"Backoff max delay is required","llmBackoffCapMin":"Backoff max delay must be at least 0.5 seconds","llmBackoffCapGteBase":"Backoff max delay must be greater than or equal to the base delay","llmRateLimiterTitle":"LLM Rate Limiter","llmMaxConcurrent":"Max Concurrent Calls","llmMaxConcurrentTooltip":"Maximum number of LLM calls allowed in-flight at the same time. Shared across all agents; only the first initialization takes effect until restart.","llmMaxConcurrentPlaceholder":"Enter max concurrent calls","llmMaxConcurrentRequired":"Max concurrent calls is required","llmMaxConcurrentRange":"Max concurrent calls must be at least 1","llmMaxQpm":"Max QPM (Queries Per Minute)","llmMaxQpmTooltip":"Maximum requests allowed within a 60-second sliding window. Requests exceeding this limit wait before being dispatched â proactively preventing 429 rate-limit errors. 0 = disabled.","llmMaxQpmPlaceholder":"Enter max QPM (0 = unlimited)","llmMaxQpmRequired":"Max QPM is required","llmMaxQpmRange":"Max QPM must be at least 0","llmRateLimitPause":"Rate Limit Pause (s)","llmRateLimitPauseTooltip":"Default pause duration (seconds) applied globally when a 429 rate-limit response is received. Overridden by the API's Retry-After header when present.","llmRateLimitPausePlaceholder":"Enter pause duration","llmRateLimitPauseRequired":"Rate limit pause is required","llmRateLimitPauseMin":"Rate limit pause must be at least 1 second","llmRateLimitJitter":"Rate Limit Jitter (s)","llmRateLimitJitterTooltip":"Random jitter range (seconds) added on top of the pause so concurrent waiters stagger their wake-up and avoid a new burst.","llmRateLimitJitterPlaceholder":"Enter jitter range","llmRateLimitJitterRequired":"Rate limit jitter is required","llmRateLimitJitterMin":"Rate limit jitter must be at least 0 seconds","llmAcquireTimeout":"Slot Acquire Timeout (s)","llmAcquireTimeoutTooltip":"Maximum time (seconds) a caller will wait to acquire a rate-limiter slot before giving up with an error.","llmAcquireTimeoutPlaceholder":"Enter acquire timeout","llmAcquireTimeoutRequired":"Slot acquire timeout is required","llmAcquireTimeoutMin":"Slot acquire timeout must be at least 10 seconds","llmAcquireTimeoutGtPauseJitter":"Slot acquire timeout must be greater than rate limit pause + jitter","contextManagementTitle":"Context Management","memoryManagerBackend":"Long-term Memory Management Backend","memoryManagerBackendTooltip":"Backend for the memory manager. Choose remelight (local files), adbpg (cloud database), PowerContext (remote memory service), or none (disable memory).","memoryManagerBackendRestartWarning":"Switching the long-term memory management backend does not support hot reload. Save and restart QwenPaw for changes to take effect.","maxIters":"Max Iterations","maxItersTooltip":"Maximum number of reasoning-acting iterations for ReAct agent","maxItersPlaceholder":"Enter max iterations","maxItersRequired":"Max iterations is required","maxItersMin":"Max iterations must be at least 1","agentLoopTitle":"Agent Loop Settings","loopMode":{"builtIn":"Built-in","builtInNote":"Pipeline locked · Values editable","templateSectionTitle":"Loop templates","templateSectionDescription":"Choose a built-in template or add your own.","defaultTab":"Default","goalTab":"Goal","missionTab":"Mission","defaultDescription":"The standard guarded ReAct loop used outside an explicit mode.","goalDescription":"A bounded persistent loop for concrete, verifiable goals.","missionDescription":"A persistent pipeline for longer-running, multi-step missions.","gatePipeline":"Gate pipeline","repetitionTitle":"Repetition protection","repetitionDescription":"Detect repeated tool calls and intervene.","iterationTitle":"Iteration limit","iterationDescription":"Bound the number of ReAct iterations.","retryTitle":"Qualitative completion check","retryDescription":"Triggered when the agent produces a text response without tool calls.","goalTurnTitle":"Goal turn limit","goalTurnDescription":"Limit turns within one active goal.","maxGoalTurns":"Maximum goal turns","goalBudgetTitle":"Goal token budget","goalBudgetDescription":"Stop when the complete goal reaches its budget.","maxGoalTokens":"Maximum goal tokens","goalCompletionTitle":"Goal completion check","goalCompletionDescription":"Read the explicit goal status before stopping.","goalCompletionReadOnly":"Completion is controlled by the built-in goal status protocol.","missionProgressTitle":"Mission progress check","missionProgressDescription":"Continue until mission stories pass or the limit is reached.","missionProgressReadOnly":"Completion is controlled by the built-in Mission story status.","missionIterationTitle":"Mission iteration limit","missionIterationDescription":"Set the default execution limit for new Missions.","workerAttemptsTitle":"Worker attempts","workerAttemptsDescription":"Limit Worker retries after a Story fails verification.","missionVerificationTitle":"Mission verification policy","missionVerificationDescription":"Define the default verification guidance and test command.","defaultMaxMissionIterations":"Default maximum execution rounds","defaultMaxMissionIterationsTooltip":"Used when /mission does not specify --max-iterations.","maxRetriesPerStory":"Maximum retries per Story","maxRetriesPerStoryTooltip":"Worker retries after a failed or partial Verifier result.","defaultVerificationInstructions":"Verification guidance (optional)","defaultVerificationInstructionsHelp":"Natural-language guidance applied to every Mission verifier.","defaultVerificationInstructionsPlaceholder":"For example: Check Windows path handling and inspect the rendered UI.","defaultVerifyCommand":"Default test command (optional)","defaultVerifyCommandHelp":"The verifier attempts this through normal tools and permissions. /mission --verify overrides it.","defaultVerifyCommandPlaceholder":"For example: pytest -q","enableRepetitionProtection":"Enable repetition protection","removeRule":"Remove rule","custom"
132:"Custom","customDescription":"Build a saved pipeline from QwenPaw-owned gates.","duplicate":"Duplicate","delete":"Delete","displayName":"Display name","duplicateModeName":"A loop mode with this name already exists.","slashCommand":"Slash command","description":"Description","availableToAgent":"Available to this agent","runsTopToBottom":"Runs from top to bottom","addGate":"Add gate","emptyPipeline":"Add at least one Gate to make this mode available.","iterationGateTitle":"Iteration limit","iterationGateDescription":"Stop after a fixed number of loop iterations.","doomGateTitle":"Repetition protection","doomGateDescription":"Detect repeated tool calls and change strategy.","tokenGateTitle":"Token budget","tokenGateDescription":"Limit prompt and completion token usage.","timeoutGateTitle":"Loop time limit","timeoutGateDescription":"Stop at the next Loop boundary after elapsed time; running work is not interrupted.","toolBudgetGateTitle":"Tool-call budget","toolBudgetGateDescription":"Limit all calls and selected tools.","retryGateTitle":"Early-stop retry","retryGateDescription":"Prompt the agent to verify before ending.","rubricGateTitle":"Completion rubric","rubricGateDescription":"Evaluate explicit criteria and revise when needed.","qualitativeRubricTitle":"Qualitative completion check","qualitativeRubricDescription":"Check text responses without tool calls using natural-language criteria.","qualitativeRubric":"Natural-language completion criteria","qualitativeRubricHelp":"Triggered only for text responses without tool calls. The agent continues when work remains.","completionRubricTitle":"Completion signal check","completionRubricDescription":"Check text responses without tool calls for a completion signal.","completionRubricHelp":"Triggered after text responses without tool calls. The agent outputs the completion signal when done; otherwise it keeps working until the maximum evaluation rounds is reached.","completionPrompt":"Completion check prompt","completionPromptHelp":"Describe when the result is complete. QwenPaw automatically injects the completion-signal output instruction.","completionSignal":"Completion signal","completionSignalHelp":"QwenPaw injects this signal into the check prompt and instructs the agent to output only it. Matching is exact after trimming whitespace and ignoring case.","removeCriterion":"Remove criterion {{number}}","totalTokensHelp":"Maximum combined input and output tokens used by this turn.","promptTokensHelp":"Includes system instructions, conversation context, tool schemas, and tool results.","completionTokensHelp":"Maximum tokens generated by the model during this turn.","maxIterations":"Maximum iterations","historyWindow":"History window","similarityThreshold":"Similarity threshold","totalTokens":"Maximum total tokens","promptTokens":"Maximum input tokens","completionTokens":"Maximum output tokens","maxSeconds":"Maximum seconds","maxSecondsHelp":"Elapsed time is checked after the current model response or tool call completes. Running work is not interrupted.","allToolCalls":"All tool calls","perToolLimits":"Per-tool limits","toolName":"Tool name","callLimitAria":"{{name}} call limit","removeToolLimitAria":"Remove {{name}} limit","addToolLimit":"Add per-tool limit","maxRetries":"Maximum retries","retryInstruction":"Retry instruction","passThreshold":"Pass threshold","maxEvaluations":"Maximum evaluation rounds","graderError":"Grader error","stopSafely":"Stop safely","verifyOnceMore":"Verify once more","completionCriteria":"Completion criteria","criterionPlaceholder":"Describe observable completion","required":"Required","weight":"Weight","addCriterion":"Add criterion","moveGateAria":"Move {{title}}","removeGate":"Remove gate","newModeName":"New Loop Mode","defaultCustomDescription":"A custom gate pipeline.","copyName":"{{name}} Copy","createModeAria":"Create custom loop mode","createModeTitle":"Create custom loop mode","startingTemplate":"Starting template","startingPipeline":"Starting pipeline","blankPipelineHint":"Start empty and add gates later","safeTemplate":"Safe run","researchTemplate":"Budgeted research","qualityTemplate":"Quality first","blankTemplate":"Blank pipeline"},"doomLoopEnabled":"Repetition Protection","doomLoopEnabledTooltip":"Automatically intervene when the agent gets stuck repeating the same actions","doomLoopAfter":"After","doomLoopRepetitions":"identical actions","doomLoopStopAction":"Pause & Ask for Help","doomLoopWarnAction":"Send Reminder","doomLoopSimpleMode":"Simple","doomLoopAdvancedMode":"Advanced","doomLoopWindowSize":"Detection Range","doomLoopWindowSizeTooltip":"How many re
132cent actions to check for repetition","doomLoopSimilarity":"Match Sensitivity","doomLoopSimilarityTooltip":"How similar actions must be to count as repetition (lower = stricter)","doomLoopStages":"Intervention Rules","doomLoopAction":"Action","doomLoopPrompt":"Message","doomLoopPromptPlaceholder":"Reminder message or pause reason...","doomLoopAddStage":"Add Rule","iterationTitle":"Iteration Limit","iterationEnabled":"Enable Iteration Limit","iterationEnabledTooltip":"Stop the agent after a fixed number of loop turns","iterationMaxIterations":"Maximum Iterations","iterationMaxIterationsTooltip":"Maximum number of loop turns before stopping","rubricTitle":"Qualitative Completion Check","rubricEnabled":"Enable Qualitative Completion Check","rubricEnabledTooltip":"Triggered only when the agent produces a text response without tool calls.","rubricPrompt":"Natural-Language Completion Criteria","rubricPromptTooltip":"The prompt injected to ask the agent to evaluate task completion","rubricDesc":"When the agent produces a text response without tool calls, apply natural-language completion criteria and ask it to continue when work remains.","rubricPromptPlaceholder":"You did not call any tool. If the task is complete, confirm. Otherwise, continue with tool calls.","rubricMaxInterventions":"Maximum Evaluation Rounds","rubricMaxInterventionsTooltip":"Maximum completion checks for text responses without tool calls during one turn.","inLoopModes":"Enable in /goal & /mission modes","inLoopModesTooltip":"Also apply this gate when /goal or /mission loop mode is active","comingSoonEditable":"Custom configuration will be available in a future release.","simpleMode":"Simple","advancedMode":"Advanced","comingSoon":"Coming Soon","reactModeTab":"Loop Template - Default","goalModeTab":"Loop Template - Goal","missionModeTab":"Loop Template - Mission","goalModeInfoTitle":"Goal Mode vs Default","goalModeInfo":"Default mode stops after producing a reply. Goal mode keeps the agent looping toward a goal, using Rubric evaluation to determine completion. All operations run within the current agent context.","missionModeInfoTitle":"Mission Mode vs Goal Mode","missionModeInfo":"Mission mode auto-decomposes complex tasks into sub-tasks, executed by independent Worker sub-agents and verified by Verifier sub-agents. Each sub-task runs in its own context, preventing context pollution of the main session. Best for complex multi-step engineering tasks.","goalIterationGate":"Goal Iteration Gate","goalIterationGateDesc":"Limits the number of agent turns within a goal session. Tracks iteration count and token usage.","goalBudgetGate":"Token Budget Gate","goalBudgetGateDesc":"Enforces a token spending limit for the goal session. Stops the agent when budget is exceeded.","goalRubricGate":"Goal Completion Rubric","goalRubricGateDesc":"Evaluates whether the goal has been achieved by checking the session status.","goalDoomGate":"Repetition Protection","goalDoomGateDesc":"Detects repetitive patterns during goal execution and triggers intervention.","missionProgressGate":"Mission Progress Gate","missionProgressGateDesc":"Tracks PRD user story completion. Continues until all stories pass or max iterations reached.","missionIterBypass":"Iteration Bypass","missionIterBypassDesc":"Temporarily lifts the ReAct iteration limit during mission execution to allow long-running phases.","customLoopTitle":"Custom Loop Modes","customLoopDesc":"Create your own loop modes with custom gate combinations. Coming soon.","autoGenerateSessionTitle":"Auto-generate session titles","autoGenerateSessionTitleTooltip":"After the first user message in a new chat, run a short background LLM call to replace the truncated placeholder with a concise title. Costs one extra short LLM call per new chat. Turn off to keep the placeholder and skip the spend.","shellCommandTimeout":"Shell Command Timeout (s)","shellCommandTimeoutTooltip":"Default timeout in seconds for the execute_shell_command tool. The LLM can still override this per-call via the timeout parameter. Useful for long-running tasks like compilation or data processing.","shell
132CommandTimeoutPlaceholder":"Enter timeout","shellCommandTimeoutRequired":"Shell command timeout is required","shellCommandTimeoutMin":"Shell command timeout must be at least 1 second","shellCommandExecutable":"Shell Executable","shellCommandExecutableTooltip":"Path to the shell used by execute_shell_command. Linux/macOS: e.g. /bin/bash, /bin/zsh. Windows: supports powershell.exe, pwsh.exe, or POSIX-like shells such as Git Bash. When empty, falls back to the $SHELL environment variable, then to the platform default (/bin/sh on Unix, cmd.exe on Windows).","shellCommandExecutablePlaceholder":"e.g. /bin/bash or powershell.exe (empty = auto-detect)","maxInputLength":"Max Input Length","maxInputLengthTooltip":"Maximum input length (tokens) for the model context window","maxInputLengthPlaceholder":"Enter max input length","maxInputLengthRequired":"Max input length is required","maxInputLengthMin":"Max input length must be at least 1000","contextCompactRatio":"Compaction Threshold Ratio","contextCompactRatioTooltip":"Compaction is triggered when the context length reaches this fraction of the max context length","contextCompactRatioRequired":"Context compact ratio is required","contextCompactThreshold":"Compaction Threshold (tokens)","contextCompactThresholdTooltip":"Auto-calculated from max context length à compaction ratio. Compaction triggers when context exceeds this value.","contextCompactThresholdPlaceholder":"Auto-calculated","contextCompactReserveRatio":"Reserve Threshold Ratio","contextCompactReserveRatioTooltip":"Calculates the target recent-tail budget. Scroll also applies a minimum recent budget and a 40K cap, and always keeps the complete active turn.","contextCompactReserveRatioRequired":"Context reserve ratio is required","contextCompactReserveThreshold":"Reserve Threshold (tokens)","contextCompactReserveThresholdTooltip":"The effective target used to split the recent tail. This is a soft target; boundary messages and the complete active turn may increase the retained amount.","contextCompactReserveThresholdPlaceholder":"Auto-calculated","toolResultCompactRecentN":"Recent Tool Results Range","toolResultCompactRecentNTooltip":"Number of recent tool-result-bearing messages that use the larger recent preview limit in Native context mode","toolResultCompactRecentNRequired":"Recent tool results range is required","toolResultCompactOldThreshold":"Older Tool Result Preview Bytes","toolResultCompactOldThresholdTooltip":"Maximum preview bytes for older tool results in Native context mode.","toolResultCompactOldThresholdPlaceholder":"Enter preview byte limit","toolResultCompactOldThresholdRequired":"Older tool result preview bytes is required","toolResultCompactRecentThreshold":"Recent Tool Result Preview Bytes","toolResultCompactRecentThresholdTooltip":"Maximum preview bytes before a tool result enters agent context. In Scroll mode, this also limits each recall_history page and read_file response.","toolResultCompactRecentThresholdPlaceholder":"Enter preview byte limit","toolResultCompactRecentThresholdRequired":"Recent tool result preview bytes is required","toolResultCompactRetentionDays":"Complete Tool Result Retention Days","toolResultCompactRetentionDaysTooltip":"Independent retention period for complete tool result artifacts. After cleanup, history.db may still retain a bounded preview.","toolResultCompactRetentionDaysRequired":"Complete tool result retention days is required","historyRetentionDays":"History Retention Days","historyRetentionDaysTooltip":"Days of durable chat history to keep. Older rows are purged automatically on startup and on agent teardown.","historyRetentionDaysRequired":"History retention days is required","historyRetentionDaysForeverWarning":"Set to 0 keeps history forever â storage will grow without bound.","historyRetentionDaysLargeWarning":"A large retention window may consume significant storage.","exemptFileExtensions":"Exempt File Extensions","exemptFileExtensionsTooltip":"In Native context mode, read_file results for these extensions always use the larger recent preview limit","exemptFileExtensionsPlaceholder":".md, .txt, .json","exemptToolNames":"Exempt Tool Names","exemptToolNamesTooltip":"In Native context mode, results from these tools always use the larger recent preview limit","exemptToolNamesPlaceholder":"chat_with_agent, list_agents","language":"Agent Language","languageTooltip":"Language for agent persona files (SOUL.md, AGENTS.md, etc.). Changing this will re-copy MD files in the selected language.","languageConfirmTitle":"Change Agent Language","languageConfirmContent":"Changing the language will over
132write the following files with the new language version:\\n\\n SOUL.md, AGENTS.md, PROFILE.md, MEMORY.md, BOOTSTRAP.md, HEARTBEAT.md\\n\\nIf you have customized any of these files, please back them up first. Your other files will not be affected.","languageConfirmOk":"Change Language","languageSaveSuccess":"Language updated successfully","languageSaveSuccessWithFiles":"Language updated, {{count}} MD file(s) copied","languageSaveFailed":"Failed to update language","saveSuccess":"Configuration saved successfully","saveFailed":"Failed to save configuration","timezone":"User Timezone","timezoneTooltip":"Used for scheduled tasks, time display, and agent context. Defaults to your system timezone.","timezoneRequired":"Please select a timezone","selectTimezone":"Select timezone","timezoneSaveSuccess":"Timezone updated successfully","timezoneSaveFailed":"Failed to update timezone","loadFailed":"Failed to load configuration","historyMaxLength":"Max History Length","historyMaxLengthTooltip":"Maximum output length (characters) for the /history command","historyMaxLengthRequired":"Max history length is required","historyMaxLengthMin":"Max history length must be at least 1000","historyMaxLengthPlaceholder":"Enter max length","contextCompactTitle":"Context Compact Config","contextCompactEnabled":"Enable Context Compaction","contextCompactEnabledTooltip":"Automatically compact the context to prevent context window overflow","tokenCountModel":"Token Count Model","tokenCountModelTooltip":"Model name used for precise token counting; set to \\"default\\" to use built-in estimation","tokenCountModelPlaceholder":"Model name or default","tokenCountUseMirror":"Use HuggingFace Mirror","tokenCountUseMirrorTooltip":"Use a HuggingFace mirror site when downloading tokenizers","tokenCountEstimateDivisor":"byte/Token Estimate Divisor","tokenCountEstimateDivisorTooltip":"Divisor for byte-based token estimation (tokens â byte_length / divisor). Recommended value: 3.75 ~ 4.","tokenCountEstimateDivisorRequired":"Estimate divisor is required","tokenCountEstimateDivisorMin":"Estimate divisor must be between 2 and 5","toolResultCompactTitle":"Tool Result Compact Config","toolResultCompactEnabled":"Enable Tool Result Compaction","toolResultCompactEnabledTooltip":"Compact oversized tool call results to save context space","memorySummaryTitle":"Long-term Memory Config","memorySummaryEnabled":"Activate Memory Summary","memorySummaryEnabledTooltip":"Automatically generate and save memory summaries during context compaction","dreamCronEnabled":"Enable Dream","dreamCronEnabledTooltip":"Enable the scheduled dream-based memory optimization job","dreamCron":"Dream Schedule","dreamCronTooltip":"Cron expression for periodically optimizing long-term memories through dream state. Scheduled runs start after a random delay of 0â60 seconds to avoid simultaneous calls; use the switch above to enable or disable it","dreamCronPlaceholder":"0 23 * * *","dreamCronRequired":"Enter a cron expression when Dream is enabled","dreamCronInvalid":"Enter a valid 5-field cron expression","memoryDailyPaperTitle":"Daily Paper","memoryDailyPaperDescription":"Generate daily paper readings and a concise brief on a schedule using paper information from Hugging Face.","dailyPaperCron":"Daily Paper Schedule","dailyPaperCronTooltip":"Cron expression for Daily Paper generation. The task stays off until the switch is enabled.","dailyPaperTopics":"Topics","dailyPaperTopicsTooltip":"Optional topics to prioritize when selecting papers.","dailyPaperTopicsPlaceholder":"For example: agent memory, reinforcement learning","dailyPaperUseHfMirror":"Use Hugging Face mirror","dailyPaperUseHfMirrorDescription":"Fetch paper information through the Hugging Face mirror","dailyPaperCronPlaceholder":"0 9 * * *","dailyPaperCronRequired":"Enter a cron expression when Daily Paper is enabled","dailyPaperCronInvalid":"Enter a valid 5-field cron expression","memoryAutoFinTitle":"Auto Fin","memoryAutoFinDescription":"Research recent topic-related CLS financial news and connect it with historical memory.","autoFinDocumentation":"View guide","autoFinCron":"Auto Fin Schedule","autoFinCronTooltip":"Cron expression for Auto Fin research. The task stays off until the switch is enabled.","autoFinCronPlaceholder":"0 18 * * *","autoFinCronRequired":"Enter a cron expression when Auto Fin is enabled","autoFinCronInvalid":"Enter a valid 5-field cron expression","autoFinTopics":"Topics","autoFinTopicsTooltip":"Comma-separated topics used to filter recent CLS news.","autoFinTopicsPlaceholder":"For example: gold, AI, memory chips","autoFinWindowHours":"News window (hours)","autoFinWindowHoursTooltip":"How many hours of recent CLS telegraph news to analyze on each run.","autoFinWindowHoursPlaceholder":"24","autoFinWindowHoursRequired":"Enter the news window","autoFinWindowHoursMin":"The news window must be at least 1 hour","autoFinWindowHoursMax":"The news window cannot exceed {{max}} hours","autoFinNotifyDescription":"Send Auto Fin results to the inbox","autoFinDisclaimer":"Auto Fin does not provide market prices, returns, targets, trading signals, or investment advice.","autoMemorySearch":"Auto Memory Search (Beta)","autoMemorySearchTooltip":"Auto memory search to run on every conversation turn. Each query will automatically invoke memory search capabilities, helping QwenPaw understand you better â but this increases token consumption.","autoMaxResults":"Maximum automatic memory search results","autoMaxResultsTooltip":"Maximum number of results returned when auto memory search is enabled","autoMaxResultsRequired":"Max results is required","autoMaxResultsMin":"Max results must be at least 1","embeddingConfigTitle":"Embedding Model Config","embeddingModelTitle":"Embedding Model","embeddingBackend":"Embedding SDK Type","embeddingBackendTooltip":"SDK type used to call the embedding model","embeddingBackendPlaceholder":"Select an SDK type","embeddingApiKey":"API Key","embeddingApiKeyTooltip":"API key for the embedding provider; leave blank if no authentication is required","embeddingApiKeyPlaceholder":"Leave blank if not required","embeddingBaseUrl":"Base URL","embeddingBaseUrlTooltip":"Base URL of the embedding API. For OpenAI-compatible backends, this custom endpoint is optional; API Key and Model Name are required.","embeddingBaseUrlPlaceholder":"https://dashscope.aliyuncs.com/compatible-mode/v1","embeddingHost":"Host","embeddingHostTooltip":"Ollama host URL. Leave blank to use Ollama's default host.","embeddingHostPlaceholder":"http://localhost:11434","embeddingModelName":"Model Name","embeddingModelNameTooltip":"Embedding model name. Required for every embedding backend.","embeddingModelNamePlaceholder":"text-embedding-v4","embeddingEnableCache":"Enable Embedding Cache","embeddingEnableCacheTooltip":"Cache embedding results to reduce repeated computation","embeddingMaxCacheSize":"Max Cache Size","embeddingMaxCacheSizeTooltip":"Maximum number of entries in the embedding cache","embeddingMaxCacheSizeRequired":"Max cache size is required","embeddingUseDimensions":"Send Dimensions in Request","embeddingUseDimensionsTooltip":"Send the dimensions parameter in OpenAI-compatible embedding API requests; some services do not support this parameter","embeddingDimensions":"Embedding Dimensions","embeddingDimensionsTooltip":"Expected vector dimensions, used to validate responses and configure indexes and caches; when request dimensions are disabled, enter the model's actual output dimensions","embeddingDimensionsRequired":"Embedding dimensions is required","embeddingDimensionsMin":"Dimensions must be at least 1","embeddingMaxInputLength":"Per-Input Character Budget","embeddingMaxInputLengthTooltip":"Approximate character budget for each embedding input. Text is truncated before the request, with a more conservative estimate for CJK and other full-width characters; this is not an exact token limit","embeddingMaxInputLengthRequired":"Per-input character budget is required","embeddingMaxBatchSize":"Max Batch Size","embeddingMaxBatchSizeTooltip":"Maximum number of items in a single batch embedding request","embeddingMaxBatchSizeRequired":"Max batch size is required","embeddingHealthCheckTimeout":"Initialization Timeout","embeddingHealthCheckTimeoutTooltip":"Per-attempt timeout for the real connection test and ReMe startup embedding health check","embeddingHealthCheckTimeoutRequired":"Initialization timeout is required","embeddingTestConnection":"Test Embedding Service","embeddingTestSuccess":"Embedding service test succeeded","embeddingTestSuccessDetail":"Actual dimensions: {{dimensions}}; latency: {{latency}} ms. Save to apply this model.","embeddingTestFailed":"Embedding service test failed","embeddingTestIncomplete":"Enter a model name, the required credentials, and valid vector dimensions first.","embeddingStatusDescription":"Review the current model and verify its connection and vector output","embeddingOverviewTitle":"Embedding model hub","embeddingConfigStatus":"Configuration","embeddingCurrentModel":"Current model","embeddingConfiguredDimensions":"Configured dimensions","embeddingDimensionsUnit":"dimensional vector","embeddingVerificationStatus":"Service verification","embeddingVerified":"Verified","embeddingNotVerified":"Not verified","embeddingVerificationHint":"Click to verify the service and view dimensions and latency","embeddingVerificationMetrics":"Returned {{dimensions}} dims · {{latency}} ms","embeddingServiceTitle":"Embedding Service","embeddingServiceDescription":"Connect to the model service and define vector output","embeddingCapabilityEnabled":"Enabled","embeddingCapabilityDisabled":"Disabled","embeddingIndexTitle":"Index & Cache","embeddingIndexDescription":"Control ReMe vector storage and batching behavior","memoryPageDescription":"Let the agent extract, organize, and recall useful information from past conversations. Everyday settings apply immediately; semantic search is optional.","memoryPoweredBy":"Powered by","memoryDocumentation":"Documentation","memoryOverviewTitle":"Long-term memory hub","memoryRuntimeStatus":"Service status","memoryStatusUnknown":"Not checked","memoryStatusChecking":"Checking status","memoryStatusRunning":"Running normally","memoryStatusCheckFailed":"Status check failed","remeStatusLoading":"Reading ReMe runtime statusâ¦","remeStatusFailed":"Unable to read ReMe runtime status","remeStatusComponentsTotal":"Estimated ReMe components","remeStatusEstimated":"Combined object size of stateful components","remeStatusProcessRss":"Process memory RSS","remeStatusProcessRssHint":"Physical memory used by the QwenPaw process","remeStatusComponents":"Component details","remeStatusEstimateNote":"Component sizes are independent estimates. Shared objects may be counted more than once, so their total is not the same as process RSS.","memoryStatusNeedsAttention":"Needs attention","memoryStatusBusy":"Processing","memoryStatusStopping":"Stopping","memoryBackgroun
132dTasks":"Background jobs","memoryWorker":"Memory worker","memoryWorkerStatus":{"idle":"Idle","busy":"Processing","stopping":"Stopping","error":"Stopped unexpectedly"},"memoryQueueSummary":"{{running}} running · {{pending}} waiting","memoryQueueIdleSummary":"Idle · no pending jobs","memoryAutoRecordDisabledHint":"Automatic conversation memory is off","memoryAutoMemoryEnabledSummary":"Auto-memory enabled · runs every {{interval}} turns","memoryRuntimeActivityDescription":"Auto-memory jobs from automatic and manual actions run sequentially without blocking the current conversation","memoryLastError":"Most recent error","memoryNeverRun":"No activity yet","autoMemoryRecentTasks":"Recent auto-memory jobs","autoMemoryRecentTasksEmpty":"No auto-memory jobs yet","autoMemoryTrigger":{"periodic":"Periodic","manual":"Manual","compact":"Context compact","new":"New conversation"},"memoryTaskMessages":"{{count}} messages processed","memoryTaskNoResult":"The job has not returned content yet","memoryTaskStatus":{"pending":"Pending","running":"Processing","completed":"Completed","failed":"Failed","cancelled":"Cancelled"},"memoryResourceUsageDescription":"Estimated ReMe components and QwenPaw process memory","memoryDiagnostics":"Resources and diagnostics","memoryComponentsMetric":"Components","memoryProcessMetric":"Process","memoryDiagnosticsHint":"View component usage and runtime details","remeStatusComponent":{"embedding_store":"Embedding store","file_graph":"File graph","file_store":"File store","keyword_index":"Keyword index"},"memoryStatusDisabled":"Disabled","memoryJournalTitle":"Auto-memory","memoryJournalDescription":"Continuously extract searchable memories from conversations and external knowledge sources","memoryConversationJournalTitle":"Conversation memory","memoryExternalSourcesDevelopingLabel":"More coming","memoryExternalSourcesTitle":"External knowledge journals","dailyPaperDocumentation":"View guide","memoryAutoRecordTitle":"Enable conversation memory","memoryAutoRecordDescription":"Continuously extract new memories at the chosen interval","memoryAutoRecordFrequency":"Recording frequency (conversation turns)","memoryNotifyTitle":"Inbox notifications","memoryNotifyDescription":"Notify the inbox only when the conversation journal changes or the job fails","dailyPaperNotifyDescription":"Send Daily Paper results to the inbox","autoDreamNotifyDescription":"Notify the inbox only when memory organization changes something or the job fails","memoryOrganizeSectionTitle":"Memory organization","memoryOrganizeSectionDescription":"Periodically summarize, merge, and improve existing long-term memories","memoryOrganizeTitle":"Scheduled organization","memoryScheduledOrganizeTitle":"Enable scheduled organization","memoryScheduledOrganizeDescription":"Use the Dream job to maintain memory quality in the background","memoryRecallTitle":"Memory search tool","memorySearchSectionTitle":"Memory search","memorySearchSectionDescription":"Control on-demand search and automatic memory recall before responses","memorySearchToolTitle":"Give the agent the memory search tool","memorySearchToolDescription":"Allow the agent to call memory_search when needed","memoryAutoRecallTitle":"Enable automatic memory search (Beta)","memoryAutoRecallDescription":"Search on every turn without requiring the agent to call a tool","memoryMaintenanceEyebrow":"Maintenance & repair","memoryMaintenanceTitle":"Rebuild memory index","memoryMaintenanceDescription":"Clear and regenerate the search index. Recommended only when the index is damaged or search results are abnormal.","toolExecutionLevelTitle":"Tool Approval Mode","toolExecutionLevelTooltip":"Approval Mode","toolExecutionLevel":{"title":"Tool Approval Mode","alertMessage":"Configure approval before tool calls. File Guard rules apply independently.","strict":"Strict Mode","strictDesc":"Every tool call and external file access requires approval","smart":"Smart Mode","smartDesc":"Low-risk tool calls and external file access run automatically; medium- and high-risk operations require approval","auto":"Auto Mode","autoDesc":"Only operations matching tool and file approval rules require approval (default)","off":"Off Mode","offDesc":"Tool and file approvals are disabled"},"saveLevelSuccess":"Tool approval mode saved","saveLevelFailed":"Failed to save tool approval mode","offloadPolicy":{"title":"Tool Backgroun
132d Execution","alertMessage":"This is a global setting (settings.json), not per-agent. It controls the default action when a tool reaches its offload deadline. Users can override it from the tool control panel while a tool is running.","keepForeground":"Keep Foreground","keepForegroundDesc":"After the countdown expires, the tool continues running in the foreground without auto-offloading. Suitable for scenarios requiring real-time output monitoring.","offload":"Auto Offload to Background","offloadDesc":"After the countdown expires, the tool is automatically moved to background execution, allowing the Agent to continue processing other tasks. Suitable for long-running tools.","saveFailed":"Failed to save policy"},"maxContextLength":"Max Context Length","maxContextLengthTooltip":"Maximum token count for the model context window, determining how much history fits in each request","maxContextLengthRequired":"Max context length is required","maxContextLengthMin":"Max context length must be at least 1000","maxContextLengthPlaceholder":"Enter max context length","embeddingActivationNote":"Embedding is enabled when the selected backend has the required fields.","embeddingEnableHint":"Embedding is enabled when the selected backend has the required fields: Model Name plus API Key for OpenAI-compatible or Gemini backends; Model Name for Ollama.","rebuildMemoryIndex":"Rebuild Memory Index","rebuildMemoryIndexWarning":"This clears and rebuilds the memory search index and may consume significant CPU and memory. Use it only to repair a damaged index or abnormal search results.","rebuildMemoryIndexConfirmTitle":"Rebuild the memory index?","rebuildMemoryIndexConfirm":"CPU and memory usage may increase significantly during the rebuild. This is not recommended unless the index is damaged or needs repair.","rebuildMemoryIndexSuccess":"Memory index rebuild completed","rebuildMemoryIndexFailed":"Memory index rebuild failed: {{error}}","rebuildMemoryIndexRequired":"The Embedding configuration changed. Vector search is disabled and memory search is using BM25 until the Embedding index is rebuilt.","embeddingIndexReady":"The Embedding index matches the current configuration.","embeddingIndexStatus":"Embedding index","embeddingIndexAvailable":"Up to date","embeddingIndexDisabled":"Not enabled","embeddingIndexEnableFirst":"Enable Embedding before rebuilding","embeddingSearchModeHybrid":"Current search: Vector + BM25","embeddingSearchModeBm25":"Current search: BM25 only","embeddingSearchModeBm25Pending":"Current search: BM25 only · rebuild pending","embeddingIndexNeedsRebuild":"Rebuild required","embeddingIndexRebuilding":"Rebuilding","embeddingIndexRebuildingHint":"Memory vectors are being generated","embeddingIndexSaveFirst":"Save configuration first","embeddingIndexUnsavedHint":"Save the current changes before rebuilding the index","embeddingIndexMatchesConfig":"Matches current configuration","embeddingIndexBm25Fallback":"Vector search off · using BM25","rebuildEmbeddingIndex":"Rebuild Embedding index","rebuildEmbeddingIndexConfirmTitle":"Rebuild the Embedding index?","rebuildEmbeddingIndexConfirm":"All memory chunks will be embedded with the current configuration. Vector search remains disabled until this finishes successfully.","rebuildEmbeddingIndexSuccess":"Embedding index rebuilt","rebuildEmbeddingIndexFailed":"Embedding index rebuild failed: {{error}}","undoEmbeddingChange":"Undo change","undoEmbeddingChangeConfirmTitle":"Restore the indexed Embedding configuration?","undoEmbeddingChangeConfirm":"The last configuration matching the existing vector index will be restored.","undoEmbeddingChangeSuccess":"Indexed Embedding configuration restored","undoEmbeddingChangeFailed":"Failed to restore the Embedding configuration: {{error}}","rebuildBm25Index":"Rebuild BM25 index","rebuildBm25IndexDescription":"Recreate keyword search from the current memory chunks.","rebuildBm25IndexConfirmTitle":"Rebuild the BM25 index?","rebuildBm25IndexConfirm":"Keyword search will be rebuilt from the current memory chunks.","rebuildBm25IndexSuccess":"BM25 index rebuilt","goToLongTermMemory":"Go to long-term memory","toolResultCompactRecentGtOld":"Recent tool result preview bytes must be greater than or equal to compact preview bytes","lightContextTitle":"Context Management","remeLightMemoryTitle":"Long-term Memory","dialogPath":"Dialog Storage Path","dialogPathTooltip":"Relative path for dialog persistence storage (relative to working_dir)","dialogPathPlaceholder":"dialog","contextCompactCollapseLabel":"Context Compaction","toolResultPruningCollapseLabel":"Tool Result Pruning","visualCompactCollapseLabel":"Visual Compact","visualCompactDescription":"Compact older, longer context into visual pages to reduce input tokens. Recent conversation remains text.","visualCompactEnabled":"Enable Visual Compact","visualCompactEffort":"Compression intensity","visualCompactLow":"Low","visualCompactMedium":"Medium","visualCompactHigh":"High","visualCompactLowDescription":"Compress less content and prioritize readability.","visualCompactMediumDescription":"Balance token savings with visual readability.","visualCompactHighDescription":"Compress more eligible context and prioritize token savings.","visualCompactQualityNote":"Higher compression does not necessarily improve answer quality.","visualCompactCapabilityNote":"Only takes effect with models that support image input.","autoMemorySearchCollapseLabel":"Auto Memory Search","embeddingConfigCollapseLabel":"Embedding Model Config","summarizeWhenCompact":"Memory on Compact","summarizeWhenCompactTooltip":"Automatically generate and save memory during context compaction","inboxPushEnabled":"Memory Result Inbox Notifications","inboxPushEnabledTooltip":"Push auto-memory, auto-dream, and Daily Paper results to the inbox. Disable this to reduce inbox messages without stopping the memory jobs.","autoMemoryInterval":"Auto Memory Interval","autoMemoryIntervalTooltip":"Trigger auto memory every N user queries. 0 disables periodic auto memory. 1 means auto memory after every query. Recommended: 2-5; setting 1 requires attention to high token usage.","autoMemoryIntervalPlaceholder":"Enter 0 to disable periodic auto memory","autoMemoryIntervalRequired":"Auto memory interval is required","autoMemoryIntervalMin":"Auto memory interval must be at least 0","contextManagerBackend":"Context Manager Backend","contextManagerBackendTooltip":"Backend type for the context manager. Currently only Light is supported.","contextStrategy":"Context Strategy","contextStrategyTooltip":"How the agent manages long context. Scroll (recommended) persists evicted turns to a durable history store and recalls them on demand; Native uses in-place compression. Restart QwenPaw for changes to take effect.","contextStrategyScroll":"Scroll","contextStrategyNative":"Native","backendRestartWarning":"Switching backends does not support hot reload. Save and restart QwenPaw for changes to take effect.","adbpgMemoryTitle":"ADBPG Long-term Memory","powercontextMemoryTitle":"PowerContext Memory","powercontextConfig":{"title":"PowerContext Memory Configuration","baseUrl":"Server URL","token":"Bearer Token","scopeId":"Memory Scope","scopeIdPlaceholder":"Leave empty to use this installation's unique agent scope","scopeIdInvali
132d":"Memory scope must not contain only whitespace.","timeout":"Request Timeout","maxContextBytes":"Maximum injected context (bytes)","maxContextBytesTooltip":"Bounds the total PowerContext search result content added to one model turn."},"adbpgConfig":{"title":"ADBPG Memory Configuration","restBaseUrl":"REST Base URL","restApiKey":"REST API Key","memoryIsolation":"Memory Isolation (per-agent)","searchTimeout":"Search Timeout"}}`),KD={title:"Built-in Tools",description:"Manage built-in tools and their enabled status. Disabled tools will not be available to the agent.",emptyState:"No tools configured",loadError:"Failed to load tools",enableSuccess:"Tool enabled successfully",disableSuccess:"Tool disabled successfully",toggleError:"Failed to toggle tool status",enableAll:"Enable All",disableAll:"Disable All",enableAllSuccess:"All tools enabled",disableAllSuccess:"All tools disabled",allEnabled:"All tools are already enabled",allDisabled:"All tools are already disabled",asyncExecution:"Async Execution",asyncExecutionEnabled:"Async execution enabled",asyncExecutionDisabled:"Async execution disabled",browserUnifiedMode:"Unified Browser (Beta)",browserLegacyMode:"Legacy Compatibility Mode",browserUnifiedModeButton:"New (Beta)",browserLegacyModeButton:"Legacy (Compatible)",browserUnifiedDescription:"Use the new unified browser capabilities.",browserLegacyDescription:"Use the original browser implementation for legacy behavior.",browserRestartPending:"The service will switch to {{mode}} after restart.",configure:"Configure",configured:"Configured",requiresConfig:"Requires configuration",configSaved:"Configuration saved",configSaveError:"Failed to save configuration",webSearchProviderLabel:"Provider",webSearchApiKeyLabel:"API Key (optional)",webSearchQuotaHintBefore:"Free: 100 calls/day. Register at ",webSearchQuotaHintAfter:" for 1,000/day.",active:"active",available:"Available",noEnabled:"No tools enabled",goEnableBtn:"Go enable",configureAction:"Configure â",enableAction:"Enable â"},$D={promptTitle:"LLM Model Required â Select in Chat After Configuration",promptMessage:"Chat requires an LLM model to function. Please configure a model first, then select it from the model selector at the top of the Chat page.",configureButton:"Configure Model",skipButton:"Skip",chatDisabledTitle:"Chat Disabled",chatDisabledMessage:"Chat functionality is disabled because no model is configured. Please configure a model to enable chat.",configureNow:"Configure Model",modelNotConfigured:"Please configure a model in Settings before using chat"},QD={changelog:"Changelog",docs:"Doc",tutorial:"Tutorial",featureDemos:"Feature Demos",faq:"FAQ",github:"GitHub",resources:"Documentation",updateAvailable:"Update Available"},JD={dark:"Dark",light:"Light",system:"System"},YD={fileReference:{codeSnippet_one:"Code snippet · {{count}} line",codeSnippet_other:"Code snippet · {{count}} lines"},modelSelectTooltip:"Select model",newChatTooltip:"New chat",searchTooltip:"Search all chats",chatHistoryTooltip:"Chat history",wideModeTooltip:"Wide mode",normalModeTooltip:"Normal mode",messageDisplay:{stepsRunning:"Running⦠· {{count}} steps",stepsCanceled:"Canceled · {{count}} steps",stepsFailed:"Failed · {{count}} steps",stepsCompleted:"Completed {{count}} steps"},allChats:"All Chats",createNewChat:"Create New Chat",pinDrawer:"Pin",unpinDrawer:"Unpin",statusIdle:"Idle",statusInProgress:"In progress",statusUnseenResult:"New result",disclaimer:"Works for you, grows with you",greeting:"Hello, how can I help you today?",description:"I am a helpful assistant that can help you with your questions.",prompt1:"Let's start a new journey!",prompt2:"Can you tell me what skills you have?",inputPlaceholder:'"ââ" for message navigation · "/" for quick commands',longTextUploadPrompt:"Please read the uploaded prompt file and answer it.",emptyOutputError:"The assistant returned an empty response.",commands:{clear:{description:"Clear the conversation context"},compact:{description:"Compact the conversation context; optional instruction supported"},approve:{description:"Approve the pending tool action and continue execution"},deny:{description:"Deny the pending tool action"},mission:{description:"Mission mode â Decomposes tasks into sub-agents with isolated context"},skills:{description:"List chat-available skills and expose explicit skill commands"},agents:{description:"List agents available to the current runtime"},review:{description:"Review uncommitted workspace changes with Codex"},status:{description:"Show the current agent account, model, and workspace"},plan:{description:"Create a structured plan to decompose the task into subtasks"}
132,goal:{description:"Goal loop â Agent pursues a goal continuously, auto-evaluates via Rubric"}},attachments:{tooltip:"Supports documents, images, videos, audio and more formats",tooltipImageOnly:"Current model supports image upload only",tooltipNoMultimodal:"No multimodal capability detected for current model, images or videos may not be processed correctly",fileSizeLimit:"File size limit: {{limit}}MB",fileSizeExceeded:"File size exceeds {{limit}}MB limit. Current file: {{size}}MB",multimodalDisabled:"Current model does not support file upload",multimodalWarning:"No multimodal capability detected for current model, images or videos may not be processed correctly",imageOnlyAccept:"Current model only supports image files",imageOnlyWarning:"Current model only supports images, non-image files like videos may not be processed correctly"},rateLimitHit:"The current model is rate-limited. Try switching to another free model.",modelFallbackNotice:"Switched model from {{from}} to {{to}} ({{reason}}).",turnUsagePopover:{ariaLabel:"Context usage {{contextRate}}, cache hit rate {{cacheRate}}. View usage details",turn:"This turn",turnEstimated:"This turn ~",tok:"tok",inOut:"in {{inTok}} · out {{outTok}}",contextLabel:"Context window",outerRing:"Outer ring",cacheLabel:"Cache hit rate",centerValue:"Center",cacheTokens:"hit {{readTok}} / input {{inputTok}}",manageContext:"Manage context",compact:"Compact",new:"New chat"},rateLimitMessage:"Rate limit reached. Switch to another free model:",rateLimitSwitched:"Switched to {{model}}",speech:{startRecording:"Start voice recording (Ctrl+Shift+M)",stopRecording:"Stop recording (Ctrl+Shift+M)",transcribing:"Transcribing...",transcriptionDisabled:"Transcription is disabled. Configure a provider in Settings > Voice Transcription.",transcriptionFailed:"Voice transcription failed",microphoneError:"Could not access microphone",fileTooLarge:"Recording file is too large ({{size}}MB). Maximum allowed: {{limit}}MB",recordingTooLong:"Recording exceeds duration limit ({{limit}}s)"},search:{title:"Search Chat",tooltip:"Search current chat",placeholder:"Search messages...",noResults:"No results found",resultsCount:"Found {{count}} result(s)",searching:"Searching {{progress}}...",loading:"Loading...",userMessage:"User",assistantMessage:"Assistant",titleMatch:"Title"},contextMenu:{open:"Open",rename:"Rename",pin:"Pin",unpin:"Unpin",pinFailed:"Failed to update conversation pin",moveToGroup:"Move to group",delete:"Delete"},queue:{title:"Message Queue",paused:"Paused",sendFailed:"Send failed",resume:"Resume queue",pause:"Pause queue",clear:"Clear queue",dragSort:"Drag to reorder",edit:"Edit",retry:"Retry",skip:"Skip",interruptAndSend:"Interrupt & send",delete:"Delete",file:"File",noChatWarning:"Please send a message first to create a conversation before using the queue",queueFull:"Queue is full (max {{max}} items), please send or remove some messages first",otherTabOwner:"This tab queues only; sending is handled by another tab"},group:{pinned:"Pinned",today:"Today",week:"Within 7 days",month:"Within 30 days",older:"Earlier"},groups:{create:"New group",namePlaceholder:"Group name",uncategorized:"Uncategorized",cron:"Scheduled task conversations",cronShort:"Cron",cronHint:"Separate conversations created by scheduled tasks; collapsed by default and fixed near the bottom",subagents:"Conversations with subagents",subagentShort:"Subagent",subagentsHint:"Separate conversations created for child-agent tasks; collapsed by default and fixed at the bottom",pin:"Pin group",unpin:"Unpin group",pinned:"Pinned group",fixedLast:"System group fixed at the bottom",dragSessionHint:"Press and hold a conversation, then drag it to a group",moveSuccess:"Moved to â{{name}}â",moveFailed:"Could not move the conversation. Try again.",rename:"Rename",moveUp:"Move up",moveDown:"Move down",delete:"Delete group",manage:"Manage group",deleteTitle:"Delete this group?",deleteHint:"Conversations will return to their built-in group."},sessionPanel:{searchConversations:"Search conversationsâ¦",noResults:"No results",noConversations:"No conversations yet",loadingConversations:"Loadingâ¦"},conversationHistory:"Conversation History",history:{empty:"No chat history"},sessionGroup:{today:"Today",recent:"Last 7 days",earlier:"Earlier"}},XD=JSON.parse(`{"parent":"Settings","security":"Security","title":"Security","de
132scription":"Manage security features for tools and skills.","toolGuardTitle":"Tool Guard","toolGuardDescription":"Configure security scanning for tool calls. Dangerous operations will require your explicit approval before execution.","enabled":"Enable Tool Guard","enabledTooltip":"When enabled, tool calls are scanned for dangerous patterns before execution","sandboxEnabled":"Enable Sandbox Execution","sandboxEnabledTooltip":"When enabled, shell commands with no matching rule run silently inside the sandbox. When disabled, such commands run directly without the sandbox (no approval prompt). Either way, secret-file reads and dangerous commands (e.g. rm -rf /, sudo) are still blocked or require approval.","sandboxDegradedWarning":"Sandbox is configured as enabled, but QwenPaw is not running as administrator. The sandbox will be inactive for this session. To use the sandbox, restart QwenPaw with administrator privileges.","sandboxElevatedWarning":"Sandbox is running in administrator mode","sandboxElevatedDescription":"Administrator mode sandbox may trigger antivirus software interception or cause compatibility issues. If you experience unexpected blocking or crashes, try disabling the sandbox or running QwenPaw without administrator privileges.","sandboxUnelevatedWarning":"Sandbox is running in non-administrator mode","sandboxUnelevatedDescription":"Administrator mode provides more aggressive and complete sandbox isolation, but may trigger antivirus software interception or cause compatibility issues. It is recommended for advanced users only. To enable: right-click the QwenPaw shortcut â Run as administrator, or open an elevated terminal and run \`qwenpaw app\`.","denyPathsProtection":"Deny Paths Protection","denyPathsSandboxEnhancement":"This is a sandbox enhancement feature. When running without administrator privileges, the sandbox cannot fully isolate file system access. This feature uses Windows ACLs to deny access to sensitive paths, providing an additional layer of protection.","denyPathsProtectionTooltip":"When enabled, applies system-level deny ACLs on sensitive paths (e.g. ~/.ssh, ~/.aws) for the current user. WARNING: While active, ALL programs running as your user cannot access these paths â not just QwenPaw. The protection is automatically removed when QwenPaw exits or when you disable this toggle.","denyPathsActiveMessage":"Deny paths protection is active","denyPathsActiveDescription":"The following paths are currently blocked for all processes of the current user. Disable this toggle or exit QwenPaw to restore access.","guardedTools":"Guarded Tools","guardedToolsTooltip":"Tools that require approval when dangerous patterns are detected. Leave empty to use the built-in default set.","guardedToolsPlaceholder":"Select tools or type custom tool names","deniedTools":"Denied Tools","deniedToolsTooltip":"Tools that are always rejected without asking for approval","deniedToolsPlaceholder":"Select tools to always deny","saveSuccess":"Tool guard settings saved","saveFailed":"Failed to save tool guard settings","loadFailed":"Failed to load tool guard settings","rules":{"title":"Detection Rules","description":"Rules define regex patterns that trigger security alerts. Built-in rules can be disabled; custom rules can be added, edited, or deleted.","id":"Rule ID","severity":"Severity","descriptionCol":"Description","source":"Source","actions":"Actions","builtin":"Built-in","custom":"Custom","enable":"Enable","disable":"Disable","edit":"Edit","delete":"Delete","add":"Add Rule","addTitle":"Add Custom Rule","editTitle":"Edit Custom Rule","ruleId":"Rule ID","ruleIdRequired":"Rule ID is required","duplicateId":"A rule with this ID already exists","tools":"Target Tools","toolsPlaceholder":"Leave empty to match all tools","params":"Target Parameters","paramsPlaceholder":"Leave empty to match all parameters","severityLabel":"Severity","categoryLabel":"Category","patterns":"Regex Patterns","patternsRequired":"At least one pattern is required","patternsTooltip":"One regex per line. Matched against tool parameter values (case-insensitive).","excludePatterns":"Exclude Patterns","excludePatternsTooltip":"One regex per line. If any matches, the rule is skipped for that value.","descriptionLabel":"Description","descriptionPlaceholder":"What does this rule detect?","remediationLabel":"Remediation","remediationPlaceholder":"Suggested action when this rule triggers","preview":"Preview","previewTitle":"Rule Details","actionLabel":"Action","actionApproval":"Require Approval","autoDeny":"Auto Deny","autoDenyTooltip":"When enabled, tool calls matching this rule will be automatically denied without requiring manual approval","autoDenyEnable":"Enable auto deny for this rule","autoDenyDisable":"Disable auto deny for this rule","allTools":"All tools","allParam
132s":"All parameters","descriptions":{"TOOL_CMD_CONTROL_CHARS":"Command contains non-printable control characters that could bypass security checks","TOOL_CMD_DANGEROUS_MV":"Detects 'mv' command that may move or overwrite files unexpectedly","TOOL_CMD_DANGEROUS_RM":"Detects 'rm' command that may cause data loss","TOOL_CMD_DOS_FORK_BOMB":"Detects classic Bash fork bombs and mass process termination","TOOL_CMD_FIND_DELETE":"Detects 'find -delete' command that may cause data loss","TOOL_CMD_FS_DESTRUCTION":"Detects low-level disk formatting or wiping commands","TOOL_CMD_IFS_INJECTION":"Command uses $IFS variable which could bypass security validation","TOOL_CMD_JQ_FILE_FLAGS":"jq command uses flags that could read arbitrary files or execute external code","TOOL_CMD_JQ_SYSTEM":"jq command contains system() function which can execute arbitrary shell commands","TOOL_CMD_OBFUSCATED_EXEC":"Detects execution of base64 encoded strings passed directly to a shell interpreter","TOOL_CMD_PIPE_TO_SHELL":"Detects 'curl | bash' patterns used to download and immediately execute remote payloads","TOOL_CMD_PRIVILEGE_ESCALATION":"Detects privilege escalation attempts using sudo, su, doas, pkexec, or runas","TOOL_CMD_PROCESS_KILL":"Detects process termination commands that may kill critical processes","TOOL_CMD_PROC_ENVIRON":"Command accesses /proc/*/environ which could expose sensitive environment variables","TOOL_CMD_REVERSE_SHELL":"Detects attempts to establish reverse shells or unauthorized network tunnels","TOOL_CMD_SERVICE_RESTART":"Detects service management commands that can disrupt system services","TOOL_CMD_SYSTEM_REBOOT":"Detects system reboot or shutdown commands that will terminate the host system","TOOL_CMD_SYSTEM_TAMPERING":"Detects access to cron jobs, SSH keys, or sudo permissions (including reads and modifications)","TOOL_CMD_UNICODE_WHITESPACE":"Command contains Unicode whitespace characters that could cause parsing inconsistencies","TOOL_CMD_UNSAFE_PERMISSIONS":"Detects global permission downgrades (chmod 777) or setting immutable flags","TOOL_CMD_ZSH_DANGEROUS":"Command uses Zsh-specific builtins that can bypass security checks"},"categories":{"command_injection":"Command Injection","code_execution":"Code Execution","data_exfiltration":"Data Exfiltration","path_traversal":"Path Traversal","sensitive_file_access":"Sensitive File Access","network_abuse":"Network Abuse","credential_exposure":"Credential Exposure","resource_abuse":"Resource Abuse","privilege_escalation":"Privilege Escalation","prompt_injection":"Prompt Injection","other":"Other"}},"shellEvasion":{"title":"Shell Evasion Detection","description":"Configure which shell evasion and obfuscation detection checks are enabled. These checks detect techniques that attempt to hide malicious intent from simpler regex-only detection.","checks":{"command_substitution":{"name":"Command Substitution","description":"Detects $(), backticks, process substitution, and other command substitution patterns"},"obfuscated_flags":{"name":"Obfuscated Flags","description":"Detects ANSI-C quoting, locale quoting, and empty-quote flag obfuscation"},"backslash_escaped_whitespace":{"name":"Backslash Escaped Whitespace","description":"Detects backslash-escaped spaces/tabs that can alter command parsing"},"backslash_escaped_operators":{"name":"Backslash Escaped Operators","description":"Detects backslash before shell operators (;|&<>) that can hide command structure"},"newlines":{"name":"Hidden Newlines","description":"Detects newlines and carriage returns that could separate hidden commands"},"comment_quote_desync":{"name":"Comment Quote Desync","description":"Detects quote characters inside # comments that can desync quote tracking"},"quoted_newline":{"name":"Quoted Newline","description":"Detects newlines inside quoted strings followed by #-prefixed lines that can hide arguments"}}},"fileGuard":{"title":"File Guard","description":"Protect sensitive files and directories from being accessed by agent tools. Paths added here will be blocked across all tool calls.","enableLabel":"Enable File Guard","path":"Path","actions":"Actions","add":"Add","inputPlaceholder":"Enter file or directory path (e.g. ~/.ssh/ or /etc/passwd)","empty":"No custom sensitive paths configured","directory":"Directory","removeConfirm":"Remove this path from the protected list?","duplicate":"This path is already in the list","saveSuccess":"File guard settings saved","saveFailed":"Failed to save file guard settings","loadFailed":"Failed to load file guard settings","allowPreviewOutsideWorkspace":"Allow Console Preview Outside Workspace","allowPreviewOutsideWorkspaceDesc":"Allow previewing files outside the workspace directory in console. Sensitive file protection still applies."},"allowNoAuthHosts":{"title":"Allow No Auth Hosts","warningTitle":"Security Warning","warningDescription":"IP addresses in this list can access API endpoints without authentication. By default, localhost (127.0.0.1 and ::1) are allowed for CLI access. Only add trusted IP addresses. WARNING: Adding untrusted IPs poses a serious security risk.","ipAddress":"IP Address","actions":"Actions","add":"Add","inputPlaceholder":"Enter IP address (e.g., 192.168.1.100 or ::1)","empty":"No IP addresses configured","default":"Default","removeConfirm":"Remove this IP address from the whitelist?","duplicate":"This IP address is already in the list","invali
132dIP":"Invalid IP address format","saveSuccess":"Allow no auth hosts settings saved","saveFailed":"Failed to save allow no auth hosts settings","loadFailed":"Failed to load allow no auth hosts settings"},"skillScanner":{"title":"Skill Scanner","description":"Automatically scan skills for security threats before enabling or installing. Unsafe skills can be blocked or whitelisted.","mode":"Scanner Mode","modeTooltip":"Controls how the scanner handles unsafe skills: block, warn only, or disabled","modeBlock":"Block","modeWarn":"Warn Only","modeOff":"Off","timeout":"Scan Timeout (seconds)","timeoutTooltip":"Maximum time to wait for a scan to complete (5-300 seconds)","saveSuccess":"Skill scanner settings saved","saveFailed":"Failed to save skill scanner settings","scanAlerts":{"title":"Scan Alerts","empty":"No security alerts","clearAll":"Clear All","clearConfirm":"Clear all scan alerts?","skillName":"Skill","action":"Action","actionBlocked":"Blocked","actionWarned":"Warned","time":"Time","actions":"Actions","allowSkill":"Add to Whitelist","remove":"Remove","viewFindings":"View Details"},"whitelist":{"title":"Whitelist","empty":"No skills are whitelisted","skillName":"Skill","addedAt":"Added At","contentHash":"Content Hash","actions":"Actions","remove":"Remove","removeConfirm":"Remove this skill from the whitelist?","addSuccess":"Skill added to whitelist","removeSuccess":"Skill removed from whitelist","addFailed":"Failed to add skill to whitelist","removeFailed":"Failed to remove skill from whitelist","removeWillDisable":"The skill will also be disabled after removal.","removeAndDisabled":"Skill removed from whitelist and disabled"},"scanError":{"title":"Security Issues Detected","description":"The following security issues were found:","warnDescription":"Security issues were found but the skill was still enabled (warn mode):","goToWhitelist":"Go to Whitelist","moreFindings":"{{count}} more issues not shown (see Security â Skill Scanner for the full list)."}}}`),ZD=JSON.parse('{"brand":{"title":"Hub administration","subtitle":"Local workspace","controlPlane":"Control plane"},"navigation":{"workspace":"Workspace","overview":"Operations","runtimes":"Runtimes","users":"Users","credentials":"Credentials","audit":"Audit log","settings":"System settings"},"actions":{"backToQwenPaw":"Back to QwenPaw","useLightTheme":"Use light theme","useDarkTheme":"Use dark theme","signOut":"Sign out","start":"Start","stop":"Stop","disable":"Disable","rebuild":"Rebuild","enableAndStart":"Enable and start"},"roles":{"admin":"Administrator","user":"User"},"userStates":{"active":"Active","disabled":"Disabled"},"runtimeStates":{"created":"Created","starting":"Starting","running":"Running","stopped":"Stopped","failed":"Failed"},"runtimePolicies":{"owner_allowed":"Owner can restart","admin_only":"Administrator locked"},"errors":{"actionFailed":"Action failed","createFailed":"Create failed","updateFailed":"Update failed","saveFailed":"Save failed","pullTimedOut":"Timed out waiting for the image pull"},"messages":{"runtimeCreated":"Runtime created","accountCreated":"Account created","credentialStored":"Credential stored","settingsSaved":"Hub settings saved","imagePulled":"Docker image pull completed"},"validation":{"required":"This field is required","runtimeIdInvalid":"Use 1â64 letters, numbers, dots, underscores or hyphens, starting with a letter or number","passwordMin":"Password must contain at least eight characters","credentialNameInvalid":"Use an uppercase environment variable name, such as OPENAI_API_KEY"},"runtimes":{"eyebrow":"Hub administration","title":"Runtime overview","description":"Each user has a separate runtime, with files and keys kept apart.","newRuntime":"New runtime","managed":"Managed runtimes","localBoundaries":"Local process boundaries","runningNow":"Running now","needsAttention":"{{count}} runtime needs attention","healthy":"All observed states are healthy","isolationPolicy":"Isolation policy","available":"Available","unavailable":"Unavailable","failClosed":"Fail closed","noFallback":"No unsandboxed fallback","executionBlocked":"Runtime execution is blocked","isolationTitle":"Fail-closed local isolation","isolationDescription":"The entire runtime process tree is sandboxed. If the native isolation probe fails, QwenPaw refuses to start it.","unavailableTitle":"Secure runtime backend unavailable","unavailableDescription":"{{provisioner}} is unavailable: {{reason}} Check the backend installation, running status, and system configuration, then restart QwenPaw Hub.","unavailableUserDescription":"The runtime backend is temporarily unavailable. Contact an administrator.","preflightFailed":"Security preflight failed.","localEndpoint":"Local endpoint · {{endpoint}}","provisioner":"Execution type","localExecution":"Local isolation","dockerExecution":"Docker
132container","security":"Security","tenant":"Tenant","removeTitle":"Remove {{id}}?","removeDescription":"Registration is removed; runtime data is retained.","disableTitle":"Disable {{id}}?","disableDescription":"The process will stop and the owner cannot restart it until an administrator enables it.","rebuildTitle":"Rebuild {{id}} with the current image?","rebuildDescription":"The container will be replaced using the image in system settings. Persistent workspace, secrets, and backups are retained.","emptyTitle":"No runtimes yet","emptyDescription":"Create the first isolated local QwenPaw runtime."},"users":{"eyebrow":"Identity and access","title":"User access","description":"Create local accounts, assign administrative access and revoke sessions from one place.","addAccount":"Add account","publicRegistration":"Public registration","publicRegistrationDescription":"When disabled, only administrators can create accounts.","currentAccountProtected":"Current account protected","empty":"No users match these filters"},"credentials":{"eyebrow":"Tenant-scoped vault","title":"Credentials","description":"Store provider keys inside an explicit tenant or runtime scope. Secret values are encrypted and never returned by the API.","storeCredential":"Store credential","updated":"Updated {{date}}","deleteTitle":"Delete {{name}}?","deleteDescription":"Runtimes using this credential may stop working.","emptyTitle":"Vault is empty","emptyDescription":"Store a tenant or runtime-scoped API key.","encrypted":"Encrypted at rest; plaintext cannot be read"},"overview":{"eyebrow":"Operations cockpit","title":"Hub operations overview","description":"Understand Hub health using real runtime state, host resources and audit events.","availability":"Runtime availability","availabilityDetail":"{{running}} of {{total}} runtimes are currently online","totalRuntimes":"Total runtimes","failedCount":"{{count}} runtimes need attention","totalUsers":"Hub users","managedLocally":"Local identity and access management","hostResources":"Host resources","liveSnapshot":"Current live snapshot","memory":"Memory","dataDisk":"Data disk","recentActivity":"Recent activity","auditBacked":"Backed by the persistent audit log","systemHealthy":"All systems operational","systemDegraded":"System degraded","localIsolation":"Local isolated execution"},"table":{"searchRuntimes":"Search runtimes, owners or endpoints","searchUsers":"Search usernames or user IDs","searchCredentials":"Search credential names or scopes","searchAudit":"Search actors or resources","allStates":"All states","allOwners":"All owners","allExecutions":"All execution types","allRoles":"All roles","allUserStates":"All user states","allScopes":"All scopes","allActions":"All actions","runtime":"Runtime","status":"Status","owner":"Owner","endpoint":"Endpoint","execution":"Execution","updated":"Updated","user":"User","role":"Role","created":"Created","credential":"Credential","scope":"Scope","event":"Event","actor":"Actor","resource":"Resource","result":"Result","time":"Time","total":"{{total}} items"},"audit":{"eyebrow":"Security and governance","title":"Audit log","description":"Review who performed each Hub management action, its target, result and time. Sensitive values are never audited.","empty":"No management events yet"},"settings":{"eyebrow":"Platform configuration","title":"System settings","description":"Manage the complete Hub configuration from one audited source of truth. Changes take effect immediately and persist across restarts.","save":"Save settings","meta":"Revision {{revision}} · Updated {{date}}","tabs":{"access":"Access security","runtime":"Runtimes"},"access":{"title":"Access and registration","description":"Configure the browser-reachable Hub address and public account policy.","publicBaseUrl":"Public base URL","publicBaseUrlHint":"Used for OAuth callbacks. Leave empty only for loopback-only deployments.","registration":"Public registration","registrationHint":"When disabled, only administrators can create accounts.","defaultRole":"Default registration role","defaultRoleHint":"Self-registered accounts are always ordinary users for security."},"security":{"title":"Authentication protection","description":"Limit login and registration abuse and block addresses or networks.","ipBlacklist":"IP blacklist","ipBlacklistHint":"Supports IPv4, IPv6 and CIDR; press Enter after each value.","trustedProxyIps":"Trusted reverse proxies","trustedProxyIpsHint":"X-Forwarded-For is trusted only when sent by these addresses.","loginRateLimit":"Failed login rate limit","loginRateLimitHint":"Temporarily block repeated failed sign-in attempts from one address.","registrationRateLimit":"Registration rate limit","registrationRateLimitHint":"Restrict bursts of new account creation from one address.","maxAttempts":"Maximum attempts","windowSeconds":"Window (seconds)","blockSeconds":"Block duration (seconds)"},"runtime":{"title":"Runtime policy","description":"Select the runtime backend. Existing runtimes switch on their next restart.","provisioner":"Runtime backend","localBackend":"Local process","localBackendHint":"Runs isolated processes directly on this host.","dockerBackend":"Docker
132container","dockerBackendHint":"Runs each account in a managed container.","backendUnavailable":"Unavailable on this host","localIsolationHint":"Local mode uses host processes and does not use any Docker image settings.","dockerIsolationHint":"Docker mode applies the image and resource policy below to every account."},"docker":{"title":"Docker policy","description":"Centrally manage the image, pull behavior, and per-container resource limits. Users cannot override these settings.","unavailable":"Docker engine is unavailable","source":"Image source","dockerHub":"Official Docker Hub","aliyunAcr":"Official Alibaba Cloud registry","custom":"Custom image","customHint":"Enter any image reference allowed by policy.","customRegistry":"Custom registry or image reference","localHost":"Local image","localHostHint":"Use an image tag already present on this host.","noLocalImages":"No tagged local images found","image":"Image and tag","selectLocalImage":"Select a local image tag","selectedImage":"Effective image","repository":"Repository","localStatus":"Local status","downloaded":"Downloaded","notDownloaded":"Not downloaded","pullPolicy":"Automatic pull policy","ifNotPresent":"Pull when missing locally","always":"Pull before the first creation","never":"Use local images only","pullImage":"Pull image now","localImages":"{{count}} local image references","resources":"Container resource limits","cpuLimit":"CPU cores","memoryLimit":"Memory (MB)","pidsLimit":"Maximum processes","shmSize":"Shared memory (MB)"},"quotas":{"title":"Global runtime capacity","description":"Each tenant owns exactly one runtime; this limits concurrent runtimes across the Hub.","maxRunningRuntimes":"Maximum running runtimes","unlimitedHint":"Empty means unlimited."}},"auditActions":{"runtime":{"create":"Created runtime","start":"Started runtime","stop":"Stopped runtime","disable":"Disabled runtime","rebuild":"Rebuilt runtime","delete":"Deleted runtime"},"image":{"pull":"Pulled Docker image"},"user":{"create":"Created user","update":"Updated user"},"credential":{"store":"Stored credential","delete":"Deleted credential"},"settings":{"update":"Updated Hub settings"},"auth":{"register":"Registered Hub user"}},"auditOutcomes":{"success":"Success","failure":"Failure"},"runtimeForm":{"title":"Create runtime","hint":"The runtime starts inside the native local sandbox. Its files, secrets and process tree stay separate from other users.","runtimeId":"Runtime ID","startImmediately":"Start immediately","submit":"Create runtime"},"userForm":{"title":"Add account","hint":"Use a temporary password with at least eight characters. The user can only access runtimes owned by their personal tenant.","username":"Username","temporaryPassword":"Temporary password","role":"Role","submit":"Create account"},"credentialForm":{"title":"Store credential","hint":"Tenant scope applies to all of your runtimes. Runtime scope is a private override for one selected process.","scope":"Scope","allRuntimes":"All my runtimes","environmentName":"Environment name","secretValue":"Secret value","submit":"Encrypt and store"}}'),ex={title:"Login to QwenPaw",registerTitle:"Create Account",firstUserHint:"Create your admin account to get started",usernamePlaceholder:"Username",passwordPlaceholder:"Password",usernameRequired:"Please enter your username",passwordRequired:"Please enter your password",submit:"Login",register:"Register",returnToSignIn:"Return to sign in",createAccount:"Create an account",failed:"Login failed, please check your credentials",registerSuccess:"Registration successful",registerFailed:"Registration failed",authNotEnabled:"Authentication is not enabled",logout:"Logout",logoutSuccess:"Logged out successfully",sessionExpired:"Session expired, please login again",unauthorized:"Unauthorized, please login",switchLanguage:"Switch language",hubDisclaimerTitle:"Self-hosted Hub notice",hubDisclaimerPoint1:"Only sign in to a Hub operated by you or an organization you trust",hubDisclaimerPoint2:"Administrators may access data stored or processed by this instance",hubDisclaimerPoint3:"The sandbox may limit some QwenPaw capabilities",hubDisclaimerAccept:"I have read and agree to the User Terms",hubDisclaimerAcceptPrefix:"I have read and agree to the ",hubTerms:"User Terms",hubLinks:"QwenPaw links",officialWebsite:"Official website",hubTermsTitle:"Qwe
132nPaw Hub User Terms",hubTermsLead:"Please read these terms before using this independently operated QwenPaw Hub instance.",hubTermsSection1Title:"1. Trusted deployment",hubTermsSection1Body:"Only use a Hub deployed by you or an organization you trust. A third-party Hub is independently operated; the QwenPaw project does not verify its identity, configuration, or security.",hubTermsSection2Title:"2. Data and administrator access",hubTermsSection2Body:"The instance operator controls the server, database, backups, logs, and runtime processes. Administrators may be technically able to access conversations, uploaded files, credentials, configuration, and runtime data stored or processed by this instance.",hubTermsSection3Title:"3. Credentials and sensitive information",hubTermsSection3Body:"Only provide credentials and data necessary for your work. Do not enter secrets into an untrusted instance. Storage, retention, backup, deletion, and incident handling policies are determined by the instance operator.",hubTermsSection4Title:"4. Sandbox and capability limits",hubTermsSection4Body:"QwenPaw runs in an isolated runtime in Hub. Host permissions, devices, local applications, network access, and other integrations may be restricted, so Hub cannot guarantee the full capabilities available in a trusted local QwenPaw installation.",hubTermsSection5Title:"5. Acceptable and authorized use",hubTermsSection5Body:"Use this service only for lawful and authorized purposes. You are responsible for your instructions, uploaded content, generated output, external service usage, and compliance with the rules of the instance operator and applicable services.",hubTermsSection6Title:"6. Availability and risk",hubTermsSection6Body:"Service availability, data protection, support, and recovery are the responsibility of the instance operator. Back up important data and review generated results before relying on them. The QwenPaw project contributors are not the operator of third-party deployments.",hubTermsEnd:"By selecting âAgree and continueâ, you confirm that you trust this Hub operator and understand these data, capability, and usage boundaries.",hubTermsScrollHint:"Scroll to the bottom to continue",hubTermsAgree:"Agree and continue"},tx={title:"Account",currentPassword:"Current Password",currentPasswordRequired:"Please enter your current password",newUsername:"New Username",newUsernamePlaceholder:"Leave blank to keep current",newPassword:"New Password",newPasswordPlaceholder:"Leave blank to keep current",confirmPassword:"Confirm New Password",confirmPasswordPlaceholder:"Re-enter new password",passwordMismatch:"Passwords do not match",save:"Save Changes",updateSuccess:"Account updated successfully",updateFailed:"Failed to update account",wrongPassword:"Current password is incorrect",nothingToUpdate:"Please enter a new username or password",passwordEmpty:"Password cannot be blank",usernameEmpty:"Username cannot be blank",username:"Username",passwordRequired:"Please enter a new password",hubPasswordPlaceholder:"Enter at least eight characters",runtimeTitle:"Personal runtime",runtimeDescription:"Restart your runtime if the workspace becomes unavailable. Running tasks will be interrupted, but stored data is retained.",runtimeRestartConfirmTitle:"Restart your runtime?",runtimeRestartConfirmDescription:"Running tasks will be interrupted while the runtime starts again.",runtimeRestart:"Restart runtime",runtimeRestarting:"Restarting runtime...",runtimeRestartSuccess:"Runtime restarted",runtimeRestartFailed:"Failed to restart runtime",runtimeStoppedTitle:"Your runtime is stopped",runtimeStoppedDescription:"An administrator stopped the process. Restart it when you are ready to continue.",runtimeDisabledTitle:"Your runtime is disabled",runtimeDisabledDescription:"An administrator has blocked this runtime from starting. Contact an administrator to restore access."},ax={title:"Security Approval Required",agent:"Agent",ownerAgent:"Owner Agent",executingAgent:"Executing Agent",tool:"Tool",severity:"Severity",findings:"Findings",reason:"Reason",parameters:"Parameters",approve:"Approve",deny:"Deny",source:"Source",builtinSource:"Built-in",subSession:"Sub-Agent",approved:"Tool call approved",denied:"Tool call denied",approveFailed:"Failed to approve",denyFailed:"Failed to deny",timeoutAutoDenied:"Timed out, auto denied",acknowledge:"Got it",approvePattern:"Always Allow",strictModeHint:"Always allow is unavailable in strict mode",approveExact:"Just Once",approvalScope:"Approval scope",details:"Details"},nx={title:"Plugin Manager",description:"Install, manage, and remove plugins without restarting the service.",installed:"Installed Plugins",noPlugins:"No plugins installed yet",installBtn:"Install Plugin",publishBtn:"Publish Plugin",installTitle:"Install Plugin",dropPrimary:"Drop folder or ZIP here",dropSecondary:"or click to browse a ZIP file",orFromUrl:"or from URL",installFromUrl:"Install from URL",urlPlaceholder:"https://example.com/plugin.zip",zipOnly:"Only ZIP files can be dropped as files â drag a folder for directory install",dropFailed:"Failed to read dropped folder",restartHint:"Some plugins (e.g. hooks, monkey-patches) may require an app restart to fully take effect or be removed.",installing:"Installing...",installSuccess:"Plugin installed successfully",installFailed:"Plugin installation failed",uninstall:"Uninstall",uninstallConfirm:'Uninstall plugin "{{name}}"? This cannot be undone. Some plugins may require an app restart to be fully removed.',uninstalling:"Uninstalling...",uninstallSuccess:"Plugin uninstalled successfully",uninstallFailed:"Plugin uninstallation failed",statusLoaded:"Running",statusUnloaded:"Not loaded",type:"Type",version:"Version",author:"Author",unknown:"Unknown",noMatchingPlugins:"No plugins match the current filters",loadFailed:"Failed to load plugin list",confirmTitle:"Confirm Uninstall",officialTitle:"Official Plugins",officialDesc:"Install published plugins from the download CDN.",catalogRefresh:"Refresh",catalogEmpty:"No official plugins available (CDN catalog may be empty)",catalogLoadFailed:"Failed to load official plugin catalog",catalogInstall:"Install",catalogRe
132install:"Reinstall",catalogUpgrade:"Upgrade available",catalogUpgradeBtn:"Upgrade",catalogInstalled:"Installed",catalogSha256:"SHA256",kindBundle:"Bundle",kindTool:"Tool",filterByName:"Filter by name",filterByKind:"Filter by kind",marketTitle:"Plugin Market",marketEmpty:"No plugins found in market",marketLoadFailed:"Failed to load plugin market",marketUnavailable:"Plugin Market is currently under maintenance, please try again later",marketSearch:"Search plugins...",marketAll:"All",marketFeatured:"Featured",marketTrending:"Trending",marketCategory:"Filter by category",marketSearchResult:'Found {{count}} plugins matching "{{keyword}}"',marketDetails:"Details",marketDownloads:"Downloads",marketDeveloper:"Developer",marketSortLabel:"Sort plugins",marketSortDownloads:"Most downloaded",marketSortUpdated:"Recently updated",marketSortFavorites:"Most favorited",compatWarningTitle:"Compatibility Warning",compatWarningContent:"This plugin is labeled for QwenPaw {{labels}}. Your QwenPaw version is {{version}}. Installing it may cause errors. Are you sure you want to continue?",compatWarningConfirm:"Install anyway"},ox={title:"Coding Mode",experimental:"Experimental Feature",experimentalDesc:"Coding Mode transforms QwenPaw into a lightweight Web IDE with a code editor, file tree, Git integration, and AI-powered coding assistance.",experimentalNote:"This feature is experimental and still under active development. Some functionality may be limited or change in future updates.",confirmBtn:"Confirm",enterTooltip:"Enter Coding Mode",exitTooltip:"Exit Coding Mode",btnCode:"Code",btnChat:"Chat",selectProject:"Select Project Directory",selectProjectDesc:"Choose a project to work on, or use the default workspace",tabWorkspace:"Default Workspace",tabClone:"Clone Repository",tabLocal:"Import Local Project",tabNew:"New Project",workspaceDesc:"Use the current agent's workspace directory",cloneUrl:"Git Repository URL",cloneUrlPlaceholder:"https://github.com/user/repo.git",cloneName:"Project Name (optional)",cloneNamePlaceholder:"Leave empty to infer from URL",cloneBtn:"Start Clone",cloning:"Cloning...",localPath:"Local Directory Path",localPathPlaceholder:"/Users/yourname/my-project",localPathHint:"Enter the absolute path to your local project",openBtn:"Import",newName:"Project Name",newNamePlaceholder:"my-project",createBtn:"Create Project",switchProject:"Switch Project",currentProject:"Current Project",resetToWorkspace:"Reset to Default Workspace",dropPrimary:"Drag a folder here, or click to browse",dropSecondary:"Drag from Finder or paste a path below",pathHint:"Please enter the full absolute path (starting with / or ~)",importing:"Importing...",dropFailed:"Failed to read folder",workingDir:"Working directory",importCopyNote:"The folder will be copied into QwenPaw's managed project library. Original files will not be modified.",importCopyDesc:'Import creates a copy of the folder. The Agent works on the copy and your original files stay untouched. To work directly on the original, use "Open Directory" instead.',tabOpenDir:"Open Directory",openDirDesc:"Open an existing local directory â no files will be copied",openDirBtn:"Open This Directory",openDirLoading:"Loading...",openDirEmpty:"No subdirectories here",openDirHome:"Home",openDirRefresh:"Refresh",openDirHiddenFolders:"Hidden Folders"},ix={searchPlaceholder:"Search skills across platforms",categoryAll:"All",categoryPlaceholder:"Search category",searchResult:'Found {{count}} skills matching "{{keyword}}"',providerUnavailable:"Provider unavailable",noResults:"No results",startTyping:"Type a query above to search the market",browseHint:"Pick a category or enter a keyword to browse skills in {{providers}}",noDescription:"No description provided",browseMarket:"Browse Market",installQueue:"Install queue",clearCompleted:"Clear",retry:"Retry",status:{queued:"Queued",installing:"Installing",completed:"Done",failed:"Failed",cancelled:"Cancelled"}
132,loadMore:"Load more",noMoreResults:"No more results",detail:{title:"Skill details",version:"Version",author:"Author",sourceUrl:"Install URL",slug:"Slug",missing:"â"},stats:{downloads:"Downloads",stars:"Stars",installs:"Installs",likes:"Likes",views:"Views",category:"Category",updatedAt:"Updated"},queueMsg:{timedOut:"Install timed out",failedPrefix:"Failed: {{msg}}"}},sx={starting:"Starting backend...",checking:"Connecting to backend...",error:"Backend failed to start.",errorHint:"The backend process could not be launched. Check application logs for details.",errorDetails:"Show error details",timeout:"Backend failed to start within {{seconds}} seconds.",timeoutHint:"Backend failed to start. Please retry, or check application logs for details.",retry:"Retry"},rx={readFile:"Read {{file}}",readFileDefault:"Read file",writeFile:"Create {{file}}",writeFileDefault:"Create file",editFile:"Edit {{file}}",editFileDefault:"Edit file",appendFile:"Append {{file}}",appendFileDefault:"Append file",grepSearch:"Grep {{pattern}}",grepSearchDefault:"Grep search",globSearch:"Glob {{pattern}}",globSearchDefault:"Glob search",viewImage:"View image {{file}}",viewImageDefault:"View image",viewVideo:"View video {{file}}",viewVideoDefault:"View video",desktopScreenshot:"Screenshot desktop",sendFile:"Send {{file}}",sendFileDefault:"Send file",browserUse:"Browse {{detail}}",browserNavigate:"Browse open {{url}}",browserNavigateDefault:"Browse open page",browserClick:"Browse click",browserType:"Browse type",browserSnapshot:"Browse snapshot",browserScroll:"Browse scroll",getCurrentTime:"Get current time",setTimezone:"Set {{timezone}}",getTokenUsage:"Query token usage",memorySearch:"Search memory {{query}}",memorySearchDefault:"Search memory",listAgents:"List agents",chatWithAgent:"Chat {{agent}}",chatWithAgentDefault:"Chat agent",submitToAgent:"Submit {{agent}}{{task}}",submitToAgentDefault:"Submit task",checkAgentTask:"Check {{agent}} #{{taskId}}",checkAgentTaskAgent:"Check {{agent}}",checkAgentTaskDefault:"Check task",delegateExternalAgent:"Delegate {{runner}}",delegateExternalAgentDefault:"Delegate external agent",shell:"Run {{command}}",shellDefault:"Run command",runToolBatch:"Run workflow {{workflow}}",runToolBatchRunning:"Running saved workflow",runToolBatchProgress:"{{count}} steps",runToolBatchStepCount:"Total steps: {{count}}",formatTable:{file:"File",lineNumber:"Line",score:"Score",summary:"Summary",name:"Name",id:"ID",description:"Description",status:"Status"},loading:"Loading...",rawInputPreview:"Live raw input (last 4,096 characters)",largeOutputOmitted:"{{count}} lines omitted â copy the available output or follow its recovery instructions",largeOutputTruncated:"Output truncated for display â copy the available output or follow its recovery instructions",browserAction:{startHeaded:"Start browser (headed)",start:"Start browser",stop:"Stop browser",open:"Open {{url}}",openDefault:"Open page",navigate:"Navigate {{url}}",navigateDefault:"Navigate",navigateBack:"Go back",click:"Click {{selector}}",clickDefault:"Click element",type:"Type {{text}}",typeDefault:"Type text",snapshot:"Get snapshot",screenshot:"Screenshot {{path}}",screenshotDefault:"Screenshot",eval:"Eval {{code}}",evalDefault:"Evaluate code",runCode:"Run {{code}}",runCodeDefault:"Run code",closePage:"Close page",tabs:"Tabs {{action}}",tabsDefault:"Manage tabs",fillForm:"Fill form",fileUpload:"Upload {{filename}}",fileUploadDefault:"Upload file",fileDownload:"Download {{target}}",fileDownloadDefault:"Download file",pressKey:"Press {{key}}",pressKeyDefault:"Press key",hover:"Hover {{selector}}",hoverDefault:"Hover element",drag:"Drag",selectOption:"Select option",waitFor:"Wait for {{target}}",waitForDefault:"Wait for element",resize:"Resize {{w}}x{{h}}",resizeDefault:"Resize window",pdf:"Export PDF {{path}}",pdfDefault:"Export PDF",install:"Install",batch:"Batch"},lineBadge:{lines:"{{count}} lines",addLines:"+{{count}} lines",delLines:"-{{count}} lines",matches:"{{count}} matches",files:"{{count}} files"},inlineResult:{taskId:"Task #{{id}}",submitted:"Submitted"},execute:"Run {{tool}}",executeDefault:"Run tool",control:{title:"Tool running â offload to background?",offload:"Move to background",keep:"Keep Foreground",extendOffload:"Delay Offload",extendKill:"Extend timeout",cancel:"Cancel",autoAction:"{{seconds}}s until default action: ",noCountdown:"No countdown · Default: ",policyOffload:"Offload",policyKeep:"Keep Foreground",manage:"Manage",offloadMode:{title:"Tool running longer â about to offload",offloadNow:"Move to background now",preventOffload:"Don't auto-offload",delayOffload:"Delay offload",countdownCaption:"until auto-offload",footerNoCountdown:"No countdown · Default: offload",ringAria:"{{seconds}}s until auto-offload",toastAuto:"Moved to background automatically",preventedTitle:"Auto-offload disabled",preventedFooter:"Won't auto-offload; you can move to background or cancel"},keepMode:{title:"Tool still running in foreground",offload:"Move to background",countdownCaption:"until panel closes",footerNoCountdown:"Stays in foreground by default; you can move to background anytime",ringAria:"Panel closes in {{seconds}}s",toastDismiss:"Reminder closed; tool keeps running in foreground"},toast:{offloaded:"Tool moved to background",keepWaiting:"Continuing to waitâ¦",extended:"Offload delayed; will remind you in +30s",killExtended:"Timeout extended by 30s",cancelled:"Tool call cancelled",cancelFailed:"Failed to cancel tool",actionFailed:"Action failed. The tool may have finished or the request was rejected.",notFound:"Tool call not found (it may have already finished).",conflict:"Action rejected (tool state changed or limit reached).",networkError:"Network error. Check your connection and try again.",bgComplete:"Backgroun
132d tool complete: {{tool}}",bgCancelled:"Background tool cancelled: {{tool}}"},hint:{completed:"Tool {{tool}} completed in background",cancelled:"Tool {{tool}} cancelled"},bgQueue:{title:"Background tasks",running:"Running",done:"Done",doneLabel:"Task completed",cancelled:"Cancelled",totalDuration:"Total",cancel:"Cancel",remove:"Remove",cancelAll:"Cancel all",clearAll:"Clear completed",cancelAllDone:"Cancelled all running tasks",clearAllDone:"Cleared completed tasks",showFinished:"Show completed",emptyRunning:"No running tasks",emptyHiddenFinished:"{{count}} completed (hidden)",scrollMore:"Scroll to view more",noOutput:"No output yet"}}},lx={error:{SENSITIVE_FILE_BLOCKED:"This file is blocked by File Guard (sensitive file protection).",OUTSIDE_WORKSPACE:'This file is outside the workspace scope. Enable "Allow Console Preview Outside Workspace" in Settings â Security â File Guard.',FORBIDDEN:"Access denied: insufficient permissions to preview this file.",NOT_FOUND:"File not found. It may have been moved or deleted. If a relative path was used, please try using an absolute path instead.",LOAD_FAILED:"Failed to load file preview.",LOAD_FAILED_DETAIL:"Failed to load file preview: {{detail}}"}},dx={budget:{low:"Low",medium:"Med",high:"High"},status:{pause:"Pause",resume:"Resume",stop:"Stop"},gotoSettings:"Agent Loop Settings",selectorTitle:"Loop mode",selectorHint:"Choose how the agent should continue",selectorAria:"Select loop mode",builtInModes:"Built-in",customModes:"Custom and plugins",starting:"Starting",running:"Running",awaiting_user:"Waiting for your reply",activePersistentDescription:"This mode remains active for the conversation until it finishes or you start over.",activeCustomDescription:"This custom mode remains active until you use /mode off, /clear, or /new.",loadError:"Some loop modes could not be loaded.",retry:"Retry",modes:{default:{name:"Default",description:"The standard guarded agent loop."},goal:{name:"Goal",description:"Work persistently toward a concrete, verifiable goal."},mission:{name:"Mission",description:"Run a structured, persistent multi-step task."}}},cx={common:fD,desktop:bD,chunkError:kD,appCenter:yD,harnesses:vD,nav:TD,os:SD,sidebar:CD,debug:wD,inbox:PD,acp:AD,voiceTranscription:MD,backup:DD,checkpoints:xD,workspace:RD,agent:ID,skills:_D,skillPool:LD,mcp:ED,heartbeat:FD,cronJobs:OD,channels:BD,sessions:ND,environments:HD,modelSelector:UD,tokenUsage:qD,agentStats:jD,models:GD,files:VD,projectDirectory:WD,agentConfig:zD,tools:KD,modelConfig:$D,header:QD,theme:JD,chat:YD,security:XD,hub:ZD,login:ex,account:tx,approval:ax,pluginManager:nx,codingMode:ox,market:ix,startup:sx,tool:rx,preview:lx,loop:dx},ux={save:"СоÑ
ÑаниÑÑ",reset:"СбÑоÑиÑÑ",cancel:"ÐÑмена",confirm:"ÐодÑвеÑдиÑÑ",apply:"ÐÑимениÑÑ",delete:"УдалиÑÑ",edit:"РедакÑиÑоваÑÑ",create:"СоздаÑÑ",upload:"ÐагÑÑзиÑÑ",download:"СкаÑаÑÑ",refresh:"ÐбновиÑÑ",retry:"ÐовÑоÑиÑÑ",search:"ÐоиÑк",enable:"ÐклÑÑиÑÑ",disable:"ÐÑклÑÑиÑÑ",enabled:"ÐклÑÑено",disabled:"ÐÑклÑÑено",preview:"ÐÑедпÑоÑмоÑÑ",raw:"ÐÑÑ
одник",view:"ÐÑоÑмоÑÑ",content:"СодеÑжимое",loading:"ÐагÑÑзка...",saving:"СоÑ
Ñанение...",copy:"ÐопиÑоваÑÑ",copied:"СкопиÑовано в бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð°",copyFailed:"Ðе ÑдалоÑÑ ÑкопиÑоваÑÑ Ð² бÑÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð°",contentPlaceholder:"ÐведиÑе ÑодеÑжимое...",help:"СпÑавка",close:"ÐакÑÑÑÑ",actions:"ÐейÑÑвиÑ",total:"ÐÑего {{count}}",clear:"ÐÑиÑÑиÑÑ",paste:"ÐÑÑавиÑÑ"},px={connected:"ÐодклÑÑено",disconnected:"ÐÑклÑÑено",notConnected:"Ðе подклÑÑено",comingSoon:"СкоÑо",connect:"ÐодклÑÑиÑÑ ÑеÑез ChatGPT",disconnect:"ÐÑклÑÑиÑÑ",apiKeyAuthenticated:"ÐÑÑенÑиÑикаÑÐ¸Ñ Ð¿Ð¾ API-клÑÑÑ",chatGptAuthenticated:"ÐодклÑÑено к ChatGPT",cliAuthenticated:"{{type}} CLI аÑÑенÑиÑиÑиÑован"},mx={closeWindow:{title:"ÐакÑÑÑÑ Ð¾ÐºÐ½Ð¾",description:"ЧÑо ÑделаÑÑ Ð¿Ñи закÑÑÑии окна? ÐÑÑ
од из пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ÑÑÐ°Ð½Ð¾Ð²Ð¸Ñ Ð²Ñе вÑполнÑÑÑиеÑÑ Ð·Ð°Ð´Ð°Ñи и запланиÑованнÑе заданиÑ.",remember:"ÐапомниÑÑ Ð¼Ð¾Ð¹ вÑбоÑ",showWindow:"ÐоказаÑÑ Ð¾ÐºÐ½Ð¾",minimizeToTray:"СвеÑнÑÑÑ Ð² ÑÑей",quitApp:"ÐÑйÑи из пÑиложениÑ",preference:"ÐакÑÑÑие окна",askEveryTime:"СпÑаÑиваÑÑ ÐºÐ°Ð¶Ð´Ñй Ñаз"}},hx={title:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑÑÑаниÑÑ",subTitle:"Ðозможно, ÑÑо вÑзвано пÑоблемой ÑеÑи или обновлением пÑиложениÑ.",genericTitle:"ЧÑо-Ñо поÑло Ð
132½Ðµ Ñак",genericSubTitle:"ÐÑи оÑобÑажении ÑÑой ÑÑÑаниÑÑ Ð¿ÑоизоÑла непÑÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾Ñибка.",reload:"ÐеÑезагÑÑзиÑÑ"},gx={backToList:"Ðазад",subtitle:"УпÑавлÑйÑе ÑÑÑановленнÑми пÑиложениÑми или ÑаÑÑиÑÑйÑе ÑабоÑее пÑоÑÑÑанÑÑво Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ð° пÑиложений.",myApps:"Ðои пÑиложениÑ",officialApps:"ÐÑиÑиалÑнÑе пÑиложениÑ",appMarket:"Ðагазин пÑиложений",browseOfficialApps:"ÐÑкÑÑÑÑ Ð¾ÑиÑиалÑнÑе пÑиложениÑ",browseMarket:"ÐÑкÑÑÑÑ Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½ пÑиложений",officialAppsEmpty:"ÐÑиÑиалÑнÑÑ
пÑиложений пока неÑ",searchOfficial:"ÐоиÑк оÑиÑиалÑнÑÑ
пÑиложений...",installedCount:"ÐÑиложений: {{count}}",clearFilters:"СбÑоÑиÑÑ ÑилÑÑÑÑ",moreActions:"ÐÑÑгие дейÑÑвиÑ",openApp:"ÐÑкÑÑÑÑ Ð¿Ñиложение",noDescription:"ÐÐµÑ Ð¾Ð¿Ð¸ÑаниÑ",search:"ÐоиÑк пÑиложений...",allCategories:"ÐÑе",noApps:"ÐÐµÑ ÑÑÑановленнÑÑ
пÑиложений",noResults:"ÐÐµÑ Ð¿Ñиложений, ÑооÑвеÑÑÑвÑÑÑиÑ
запÑоÑÑ",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¿ÑиложениÑ. ÐовÑоÑиÑе попÑÑкÑ.",appNotLoaded:"ÐÑо пÑиложение еÑÑ Ð½Ðµ загÑÑжено. ÐÑкÑойÑе его один Ñаз Ñ Ð±Ð¾ÐºÐ¾Ð²Ð¾Ð¹ панели и повÑоÑиÑе попÑÑкÑ.",uninstall:"УдалиÑÑ",uninstallConfirmTitle:"УдалиÑÑ Ð¿Ñиложение?",uninstallConfirmContent:"ÐаÑалог пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Â«{{name}}» бÑÐ´ÐµÑ ÑдалÑн. ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ.",uninstallSuccess:"ÐÑиложение Ñдалено",uninstallFailed:"Ðе ÑдалоÑÑ ÑдалиÑÑ Ð¿Ñиложение",installing:"УÑÑановка",installSuccess:"УÑÑановлено",installFailed:"Ðе ÑдалоÑÑ ÑÑÑановиÑÑ",installedStatus:"УÑÑановлено",update:"ÐбновиÑÑ",searchMarket:"ÐоиÑк в магазине пÑиложений...",marketFilters:"ФилÑÑÑÑ Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ð° пÑиложений",filterAll:"ÐÑе",trending:"ÐопÑлÑÑнÑе",marketEmpty:"ÐÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ найденÑ",loadMore:"ÐагÑÑзиÑÑ ÐµÑÑ",noMoreApps:"ÐолÑÑе пÑиложений неÑ",install:"УÑÑановиÑÑ",details:"ÐодÑобнее",featured:"РекомендÑемое",refreshApp:"ÐбновиÑÑ Ð¿Ñиложение",appRefreshed:"ÐÑиложение обновлено",aboutApp:"РпÑиложении",exitApp:"ÐÑйÑи из пÑиложениÑ",moreOptions:"ÐополниÑелÑнÑе паÑамеÑÑÑ",backToListHint:"Ðазад к ÑпиÑÐºÑ Ð¿Ñиложений (ESC)",version:"ÐеÑÑиÑ",id:"ID",category:"ÐаÑегоÑиÑ",description:"ÐпиÑание"},fx={chat:"ЧаÑ",files:"ФайлÑ",control:"УпÑавление",channels:"ÐаналÑ",sessions:"СеÑÑии",cronJobs:"Cron-задаÑи",heartbeat:"ÐÑлÑÑ",agent:"РабоÑÐ°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ",workspace:"ФайлÑ",skills:"ÐавÑки",skillPool:"ÐÑл навÑков",marketplace:"РаÑÑиÑениÑ",tools:"ÐнÑÑÑÑменÑÑ",mcp:"MCP",agentConfig:"ÐонÑигÑÑаÑиÑ",settings:"ÐаÑÑÑойки",models:"Ðодели",environments:"ÐкÑÑжениÑ",security:"ÐезопаÑноÑÑÑ",tokenUsage:"ÐÑполÑзование Ñокенов",agentStats:"СÑаÑиÑÑика агенÑа",voiceTranscription:"ТÑанÑкÑипÑÐ¸Ñ Ð³Ð¾Ð»Ð¾Ñа",agents:"УпÑавление агенÑами",debug:"ÐÑладка",plugins:"ÐлагинÑ",acp:"ACP",backups:"РезеÑвнÑе копии",pluginManager:"ÐÐµÐ½ÐµÐ´Ð¶ÐµÑ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð²"},bx={console:"ÐонÑолÑ",appStore:"App Store",appStoreDesc:"УÑÑановка и Ñдаление наÑÑолÑнÑÑ
пÑиложений",arrangeDesktop:"УпоÑÑдоÑиÑÑ ÑабоÑий ÑÑол",approvalActionFailed:"Ðе ÑдалоÑÑ Ð²ÑполниÑÑ Ð´ÐµÐ¹ÑÑвие, повÑоÑиÑе попÑÑкÑ",booting:"ÐапÑÑкâ¦",changeWallpaper:"СмениÑÑ Ð¾Ð±Ð¾Ð¸",clearAll:"ÐÑиÑÑиÑÑ Ð²Ñе",closeApp:"ÐакÑÑÑÑ",currentSpace:"ТекÑÑее пÑоÑÑÑанÑÑво",currentSpaceLabel:"ТекÑÑее пÑоÑÑÑанÑÑво: {{name}}",currentAppLabel:"ТекÑÑее пÑиложение: {{name}}",desktopApps:"ÐаÑÑолÑнÑе пÑиложениÑ",finder:"РабоÑий ÑÑол",focusApp:"ФокÑÑ",install:"УÑÑановиÑÑ",installed:"ÑÑÑановлено",installedApp:"УÑÑановлено",installedApps:"УÑÑановленнÑе пÑиложениÑ",launchpad:"Launchpad",moveDockLeft:"ÐеÑемеÑÑиÑÑ Ð²Ð»ÐµÐ²Ð¾",moveDockRight:"ÐеÑемеÑÑиÑÑ Ð²Ð¿Ñаво",missionControl:"Mission Control",noInstalledApps:"ÐÐµÑ ÑÑÑановленнÑÑ
пÑиложений",noNotifications:"ÐÐµÑ Ñведомлений",noOpenWindows:"Ð ÑÑом пÑоÑÑÑанÑÑве Ð½ÐµÑ Ð¾ÑкÑÑÑÑÑ
окон",noSettings:"ÐÐµÑ Ð´Ð¾ÑÑÑпнÑÑ
наÑÑÑоек",notInstalled:"не ÑÑÑановлено",notifications:"УведомлениÑ",notificationSummary:"ÐдобÑÐµÐ½Ð¸Ñ {{approvals}} · ÐÑ
одÑÑие {{inbox}}",notifyApproval:"ÐдобÑение",notifyInbox:"ÐÑ
одÑÑие",openApp:"ÐÑкÑÑÑÑ",keepInDock:"ÐакÑепиÑÑ Ð² Dock",removeFromDock:"УдалиÑÑ Ð¸Ð· Dock",refreshDesktop:"ÐбновиÑÑ ÑабоÑий ÑÑол",appMarket:"ÐагаÐ
132·Ð¸Ð½ пÑиложений",appMarketRefresh:"ÐбновиÑÑ",appMarketSearch:"ÐоиÑк пÑиложений...",appMarketEmpty:"ÐÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ найденÑ",appMarketUnavailable:"Ðагазин пÑиложений ÑейÑÐ°Ñ Ð½ÐµÐ´Ð¾ÑÑÑпен. ÐовÑоÑиÑе попÑÑÐºÑ Ð¿Ð¾Ð·Ð¶Ðµ.",appMarketInstall:"УÑÑановиÑÑ",appMarketDetails:"ÐодÑобнее",appMarketDeveloper:"РазÑабоÑÑик",appMarketDownloads:"ÐагÑÑзки",appInstalled:"ÐÑиложение ÑÑпеÑно ÑÑÑановлено",appInstallFailed:"Ðе ÑдалоÑÑ ÑÑÑановиÑÑ Ð¿Ñиложение",appCompatibilityWarningTitle:"ÐÑедÑпÑеждение о ÑовмеÑÑимоÑÑи пÑиложениÑ",appCompatibilityWarningContent:"ÐÑиложение пÑедназнаÑено Ð´Ð»Ñ QwenPaw {{labels}}, а ÑекÑÑÐ°Ñ Ð²ÐµÑÑÐ¸Ñ QwenPaw â {{version}}. ÐоÑле ÑÑÑановки Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð¾Ñибки. ÐÑодолжиÑÑ?",appCompatibilityWarningConfirm:"ÐÑÑ Ñавно ÑÑÑановиÑÑ",appCompatibilityUnverified:"СовмеÑÑимоÑÑÑ Ñ ÑекÑÑей веÑÑией QwenPaw не подÑвеÑждена.",restoreAll:"ÐоÑÑÑановиÑÑ Ð²Ñе",returnToConsole:"ÐеÑнÑÑÑÑÑ Ð² конÑолÑ",desktopMode:"Режим ÑабоÑего ÑÑола",qwenpawMenu:"ÐÐµÐ½Ñ QwenPaw",restoredAll:"ÐÑе пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¾ÑÑÑановленÑ",sortBy:"СоÑÑиÑоваÑÑ Ð¿Ð¾",sortFree:"Свободное ÑаÑположение",sortName:"ÐмÑ",sortType:"Тип",systemSettings:"СиÑÑемнÑе наÑÑÑойки",uninstall:"УдалиÑÑ",uninstallConfirmTitle:"УдалиÑÑ Ð¿Ñиложение?",uninstallFailed:"Ðе ÑдалоÑÑ ÑдалиÑÑ",uninstalledApp:"Удалено",update:"ÐбновиÑÑ",wallpaper:"Ðбои",windows:"окон"},kx={title:"ÐÑладка",desc:"ÐÑоÑмоÑÑ Ñайла логов backend-демона Ð´Ð»Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑики. Ðока оÑкÑÑÑа ÑÑа ÑÑÑаниÑа, логи обновлÑÑÑÑÑ Ð°Ð²ÑомаÑиÑеÑки.",level:{all:"ÐÑе"},backend:{title:"Backend-логи",autoRefresh:"ÐвÑообновление",newestFirst:"СнаÑала новÑе",updatedAt:"Ðбновлено",path:"Файл лога",notFound:"Файл backend-логов пока не найден.",placeholder:"ÐдеÑÑ Ð¿Ð¾ÑвиÑÑÑ Ð²Ñвод backend-логов.",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ backend-логи",searchPlaceholder:"ÐоиÑк по backend-логам..."},actions:{refreshBackend:"ÐбновиÑÑ backend-логи",refreshSuccess:"Ðоги обновленÑ",copyBackend:"ÐопиÑоваÑÑ backend-логи"}},yx=JSON.parse('{"parent":"ÐаÑÑÑойки","agents":"ÐгенÑÑ","management":"УпÑавление агенÑами","pageDescription":"СоздавайÑе, наÑÑÑаивайÑе и ÑпÑавлÑйÑе неÑколÑкими AI-агенÑами Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкими ÑабоÑими пÑоÑÑÑанÑÑвами и иденÑиÑноÑÑÑми.","name":"Ðазвание","id":"ID","description":"ÐпиÑание","workspace":"ÐÑÑÑ Ðº ÑабоÑÐµÐ¼Ñ Ð¿ÑоÑÑÑанÑÑвÑ","backend":{"column":"ÐÑкенд","eyebrow":"ÐÑÑ
иÑекÑÑÑа агенÑа","typeTitle":"ÐÑбеÑиÑе, как ÑабоÑÐ°ÐµÑ ÑÑÐ¾Ñ Ð°Ð³ÐµÐ½Ñ","typeDescription":"Тип агенÑа опÑеделÑÐµÑ ÑабоÑÑ Ð²ÑеÑ
диалогов в Chat, Coding и Channel.","nativeTitle":"ÐаÑивнÑй Ð°Ð³ÐµÐ½Ñ QwenPaw","nativeBadge":"ÐаÑивнÑй","nativeDescription":"ÐÑполÑзÑÐµÑ Ð½Ð°ÑÑÑоеннÑе LLM, Skills, инÑÑÑÑменÑÑ, памÑÑÑ Ð¸ ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ QwenPaw.","thirdPartyTitle":"СÑоÑонний агенÑ","thirdPartyBadge":"СÑоÑонний","thirdPartyDescription":"ÐÑполÑзÑÐµÑ Ð°Ð²ÑоÑизованнÑÑ Ð²Ð½ÐµÑнÑÑ ÑÑÐµÐ´Ñ Ð°Ð³ÐµÐ½Ñа вмеÑÑо модели QwenPaw.","providerTitle":"ÐÑбеÑиÑе ÑÑоÑоннего агенÑа","providerDescription":"ÐвÑоÑизаÑÐ¸Ñ Ð¾Ð±ÑÐ°Ñ Ð´Ð»Ñ ÑÑого ÑÑÑÑойÑÑва; пÑоекÑÑ Ð¸ диалоги изолиÑÐ¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ агенÑа.","codexHint":"ChatGPT OAuth · РабоÑÐ°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ Ð°Ð³ÐµÐ½Ñа","qoderHint":"УÑÑÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Qoder или PAT · РабоÑÐ°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ Ð°Ð³ÐµÐ½Ñа","account":"УÑÑÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Codex","qoderAccount":"УÑÑÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Qoder","binary":"ÐÑполнÑемÑй Ñайл Codex","binaryHelp":"ÐÑÑавÑÑе поле пÑÑÑÑм, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ Codex CLI из Python SDK или найÑи оÑделÑнÑÑ ÑÑÑановкÑ. ÐÑи ÑÑÑной наÑÑÑойке ÑкажиÑе полнÑй пÑÑÑ Ðº codex в macOS/Linux или codex.exe в Windows. ÐÑÑÑоеннÑе бинаÑнÑе ÑÐ°Ð¹Ð»Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ChatGPT и ÑаÑÑиÑений ÑедакÑоÑа не поддеÑживаÑÑÑÑ. QwenPaw Ñакже ÑиÑÐ°ÐµÑ CODEX_BINARY и PATH бÑкенда.","binaryPlaceholder":"ÐвÑоопÑеделение или пÑÑÑ Ðº иÑполнÑÐµÐ¼Ð¾Ð¼Ñ ÑÐ°Ð¹Ð»Ñ Codex","qoderBinary":"ÐÑполнÑемÑй Ñайл Qoder","qoderBinaryHelp":"ÐÑÑавÑÑе поле пÑÑÑÑм, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ qodercli из Python SDK или найÑи ÑÑÑановленнÑÑ Ð²ÐµÑÑиÑ. ÐÑи ÑÑÑной наÑÑÑойке ÑкажиÑе полнÑй пÑÑÑ Ðº qodercli в macOS/Linux или qodercli.exe в Windows. QwenPaw Ñакже ÑиÑÐ°ÐµÑ QODERCLI_PATH и PATH бÑкенда.","qoderBinaryPlaceholder":"ÐвÑоопÑеделение или пÑÑÑ Ðº qodercli","detect":"ÐÑовеÑиÑÑ","detectedBinary":"Codex обнаÑÑжен","qoderDetectedBinary":"Qoder обнаÑÑжен","apiKeyLoginHint":"Также можно вÑполниÑÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ Ð² ÑеÑминале: codex login --with-api-key","qoderAuthHint":"ÐодклÑÑение оÑкÑÐ¾ÐµÑ Ð²Ñ
од Qoder в бÑаÑзеÑе. Также можно вÑполниÑÑ qodercli login или задаÑÑ QODER_PERSONAL_ACCESS_TOKEN пеÑед запÑÑком бÑкенда.","qoderConnect":"ÐодклÑÑиÑÑ Qoder","model":"ÐÐ¾Ð´ÐµÐ»Ñ Ð°Ð³ÐµÐ½Ñа","modelDefault":"ÐÑполÑзоваÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð°Ð³ÐµÐ½Ñа по ÑмолÑаниÑ","defaultBadge":"Ðо ÑмолÑаниÑ","reasoningEffort":"УÑÐ¾Ð²ÐµÐ½Ñ ÑаÑÑÑждениÑ","reasoningDefault":"ÐÑполÑзоваÑÑ Ð·Ð½Ð°Ñение модели по ÑмолÑаниÑ","codexNotFound":"СÑеда вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Codex не найдена. УÑÑановиÑе qwenpaw[codex] или ÑкажиÑе оÑделÑнÑй Codex CLI.","qoderNotFound":"СÑеда вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Qoder не найдена. УÑÑановиÑе qwenpaw[qoder] или ÑкажиÑе qodercli.","chatSettingsHint":"ÐÑбеÑиÑе моделÑ, ÑÑÐ¾Ð²ÐµÐ½Ñ ÑаÑÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ ÑазÑеÑÐµÐ½Ð¸Ñ Ð½Ð° вÑполнение на панели Chat.","capabilityTitle":"ÐозможноÑÑи QwenPaw","inheritedSkills":"ÐавÑки","inheritedMcp":"СеÑвеÑÑ MCP","runtimeInherited":"ÐаÑледÑÑÑÑÑ Ð¿Ñи запÑÑке · новÑе ÑеанÑÑ","notSupported":"Ðе поддеÑживаеÑÑÑ Ð¿ÑовайдеÑом","policyCompatibility":"ÐолиÑика MCP","toolAllowlistSupported":"СпиÑок ÑазÑеÑÑннÑÑ
инÑÑÑÑменÑов","policyLimited":"ÐейÑÑвÑÑÑ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ Ð¿ÑовайдеÑа","chatModelHint":"ÐаÑÑÑойки агенÑа · пÑименÑÑÑÑÑ Ñо ÑледÑÑÑего Ñ
ода","appliesNextTurn":"ÐÑименÑеÑÑÑ Ñо ÑледÑÑÑего Ñ
ода","approvalMode":"РазÑеÑÐµÐ½Ð¸Ñ Ð½Ð° вÑполнение","approvalPresets":{"ask":{"name":"СпÑаÑиваÑÑ Ð¿ÐµÑед изменениÑми","description":"РазÑеÑÐ°ÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑабоÑей облаÑÑи и запÑаÑÐ¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð´ÑвеÑждение пеÑед дейÑÑвиÑми Ñ Ð¿Ð¾Ð²ÑÑеннÑми пÑавами."},"read-only":{"name":"ТолÑко ÑÑение","description":"ÐÑовеÑÑÐµÑ ÑÐ°Ð¹Ð»Ñ Ð±ÐµÐ· изменений."},"workspace":{"name":"ÐоÑÑÑп к ÑабоÑей облаÑÑи","description":"РазÑеÑÐ°ÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑабоÑей облаÑÑи без подÑвеÑждениÑ."},"accept-edits":{"name":"РазÑеÑаÑÑ Ð¿Ñавки","description":"РазÑеÑÐ°ÐµÑ Ð¿Ñавки Ñайлов, ÑоÑ
ÑанÑÑ Ð¾ÑÑалÑнÑе пÑовеÑки."},"plan":{"name":"ТолÑко план","description":"ÐнализиÑÑÐµÑ Ð¸ планиÑÑÐµÑ Ð±ÐµÐ· Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñайлов."},"auto":{"name":"ÐвÑомаÑиÑеÑки","description":"Qoder Ñам опÑеделÑÐµÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑнÑе дейÑÑвиÑ."}
132,"full-access":{"name":"ÐолнÑй доÑÑÑп","description":"РазÑеÑÐ°ÐµÑ Ð½ÐµÐ¾Ð³ÑаниÑенное локалÑное вÑполнение без подÑвеÑждениÑ."}}},"create":"СоздаÑÑ Ð°Ð³ÐµÐ½Ñа","createTitle":"СоздаÑÑ Ð½Ð¾Ð²Ð¾Ð³Ð¾ агенÑа","createSuccess":"ÐÐ³ÐµÐ½Ñ ÑÑпеÑно Ñоздан","createFailed":"Ðе ÑдалоÑÑ ÑоздаÑÑ Ð°Ð³ÐµÐ½Ñа","edit":"РедакÑиÑоваÑÑ","editTitle":"РедакÑиÑоваÑÑ Ð°Ð³ÐµÐ½Ñа - {{name}}","updateSuccess":"ÐÐ³ÐµÐ½Ñ ÑÑпеÑно обновлÑн","updateFailed":"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ð°Ð³ÐµÐ½Ñа","delete":"УдалиÑÑ","deleteConfirm":"ÐодÑвеÑдиÑÑ Ñдаление агенÑа","deleteConfirmDesc":"ÐоÑле ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð°Ð³ÐµÐ½Ñ ÑÑÐ°Ð½ÐµÑ Ð½ÐµÐ´Ð¾ÑÑÑпен, но ÑÐ°Ð¹Ð»Ñ ÑабоÑего пÑоÑÑÑанÑÑва бÑдÑÑ ÑоÑ
ÑаненÑ","deleteSuccess":"ÐÐ³ÐµÐ½Ñ ÑÑпеÑно ÑдалÑн","deleteFailed":"Ðе ÑдалоÑÑ ÑдалиÑÑ Ð°Ð³ÐµÐ½Ñа","selectAgent":"ÐÑбÑаÑÑ Ð°Ð³ÐµÐ½Ñа","defaultDisplayName":"ÐÐ³ÐµÐ½Ñ Ð¿Ð¾ ÑмолÑаниÑ","currentWorkspace":"ТекÑÑий агенÑ","switchSuccess":"ÐÐ³ÐµÐ½Ñ ÑÑпеÑно пеÑеклÑÑÑн","switchFailed":"Ðе ÑдалоÑÑ Ð¿ÐµÑеклÑÑиÑÑ Ð°Ð³ÐµÐ½Ñа","loadFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑпиÑок агенÑов","loadConfigFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñа","saveFailed":"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ð°Ð³ÐµÐ½Ñа","idRequired":"ÐожалÑйÑÑа, введиÑе ID агенÑа","idLabel":"ID агенÑа (необÑзаÑелÑно)","idHelp":"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð°Ð²ÑогенеÑаÑии. ÐопÑÑкаÑÑÑÑ ÑолÑко бÑквÑ, ÑиÑÑÑ, деÑиÑÑ Ð¸ подÑÑÑкиваниÑ.","idPattern":"ID Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ, ÑиÑÑÑ, подÑÑÑÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¸ деÑиÑÑ","idPlaceholder":"напÑимеÑ: my-agent","nameRequired":"ÐожалÑйÑÑа, введиÑе название агенÑа","namePlaceholder":"напÑимеÑ: Ðой агенÑ","descriptionPlaceholder":"ÐÑаÑко опиÑиÑе назнаÑение ÑÑого агенÑа...","workspaceHelp":"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð°Ð²ÑомаÑиÑеÑкого ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð² ~/.qwenpaw/workspaces/<id>","dragHandleTooltip":"ÐеÑеÑаÑиÑе, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð¿Ð¾ÑÑдок агенÑов","reorderSuccess":"ÐоÑÑдок агенÑов ÑоÑ
ÑанÑн","reorderFailed":"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ð¿Ð¾ÑÑдок агенÑов","defaultNotEditable":"ÐÐ³ÐµÐ½Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑедакÑиÑован","defaultNotDeletable":"ÐÐ³ÐµÐ½Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑдалÑн","disable":"ÐÑклÑÑиÑÑ","enable":"ÐклÑÑиÑÑ","disabled":"ÐÑклÑÑÑн","disableConfirm":"ÐодÑвеÑдиÑÑ Ð¾ÑклÑÑение агенÑа","disableConfirmDesc":"ÐоÑле оÑклÑÑÐµÐ½Ð¸Ñ ÑкземплÑÑ Ð°Ð³ÐµÐ½Ñа не бÑÐ´ÐµÑ Ð·Ð°Ð¿ÑÑен, но оÑÑанеÑÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ñм в ÑпиÑке","enableConfirm":"ÐодÑвеÑдиÑÑ Ð²ÐºÐ»ÑÑение агенÑа","enableConfirmDesc":"ÐоÑле вклÑÑÐµÐ½Ð¸Ñ Ð°Ð³ÐµÐ½Ñ Ð±ÑÐ´ÐµÑ Ð´Ð¾ÑÑÑпен Ð´Ð»Ñ Ð¿ÐµÑеклÑÑениÑ","disableSuccess":"ÐÐ³ÐµÐ½Ñ ÑÑпеÑно оÑклÑÑÑн","enableSuccess":"ÐÐ³ÐµÐ½Ñ ÑÑпеÑно вклÑÑÑн","toggleFailed":"Ðе ÑдалоÑÑ Ð¿ÐµÑеклÑÑиÑÑ ÑоÑÑоÑние агенÑа","enableAgent":"ÐклÑÑиÑÑ {{name}}","disableAgent":"ÐÑклÑÑиÑÑ {{name}}","disabledAgents":"ÐÑклÑÑÑннÑе ({{count}})","pinnedAgents":"ÐакÑеплÑннÑе","otherAgents":"ÐÑÑгие агенÑÑ","pinned":"ÐакÑеплÑн","defaultPinned":"ÐÐ³ÐµÐ½Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð²Ñегда закÑеплÑн","longPressToPin":"УдеÑживайÑе Ð´Ð»Ñ Ð·Ð°ÐºÑеплениÑ","longPressToUnpin":"УдеÑживайÑе Ð´Ð»Ñ Ð¾ÑкÑеплениÑ","pinAgent":"ÐакÑепиÑÑ Ð°Ð³ÐµÐ½Ñа","unpinAgent":"ÐÑкÑепиÑÑ Ð°Ð³ÐµÐ½Ñа","pinSuccess":"ÐÐ³ÐµÐ½Ñ Ð·Ð°ÐºÑеплÑн","unpinSuccess":"ÐÐ³ÐµÐ½Ñ Ð¾ÑкÑеплÑн","pinFailed":"Ðе ÑдалоÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð·Ð°ÐºÑепление","status":{"disabled":"ÐÑклÑÑÑн","pending":"ÐÐ¶Ð¸Ð´Ð°ÐµÑ Ð·Ð°Ð¿ÑÑка","starting":"ÐапÑÑкаеÑÑÑ","running":"РабоÑаеÑ","failed":"ÐÑибка запÑÑка","waitUntilStarted":"ÐоÑÑÑпно поÑле завеÑÑÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑÑка"},"defaultNotDisablable":"ÐÐ³ÐµÐ½Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð½ÐµÐ»ÑÐ·Ñ Ð¾ÑклÑÑиÑÑ","currentAgentDeleted":"ТекÑÑий Ð°Ð³ÐµÐ½Ñ Ð±Ñл ÑдалÑн, авÑомаÑиÑеÑки пеÑеклÑÑено на агенÑа по ÑмолÑаниÑ","currentAgentDisabled":"ТекÑÑий Ð°Ð³ÐµÐ½Ñ Ð±Ñл оÑклÑÑÑн, авÑомаÑиÑеÑки пеÑеклÑÑено на агенÑа по ÑмолÑаниÑ","switchedToDefault":"ÐвÑомаÑиÑеÑки пеÑеклÑÑено на агенÑа по ÑмолÑаниÑ","cannotSwitchToDisabled":"ÐÑÐ¾Ñ Ð°Ð³ÐµÐ½Ñ Ð¾ÑклÑÑÑн, пожалÑйÑÑа, ÑнаÑала вклÑÑиÑе его Ð
132½Ð° ÑÑÑаниÑе ÑпÑавлениÑ","model":"ÐоделÑ","modelHelp":"ÐазнаÑÑÑе конкÑеÑнÑÑ LLM-Ð¼Ð¾Ð´ÐµÐ»Ñ ÑÑÐ¾Ð¼Ñ Ð°Ð³ÐµÐ½ÑÑ. ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð³Ð»Ð¾Ð±Ð°Ð»Ñной модели по ÑмолÑаниÑ.","modelPlaceholder":"ÐлобалÑÐ½Ð°Ñ Ð¿Ð¾ ÑмолÑаниÑ","noConfiguredModels":"ÐÐµÑ Ð½Ð°ÑÑÑоеннÑÑ
моделей","modelColumn":"ÐоделÑ","initialSkills":"ÐаÑалÑнÑе навÑки","initialSkillsHelp":"ÐÑбеÑиÑе навÑки Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð· пÑла. Ðозже можно добавиÑÑ Ð¸Ð»Ð¸ ÑдалиÑÑ Ð½Ð°Ð²Ñки.","selectAll":"ÐÑе","selectBuiltin":"ÐÑÑÑоеннÑе","selectNone":"ÐÑиÑÑиÑÑ","noPoolSkills":"РпÑле Ð½ÐµÑ Ð´Ð¾ÑÑÑпнÑÑ
навÑков","addSkillsToAgent":"ÐобавиÑÑ Ð½Ð°Ð²Ñки","copyTooltip":"ÐопиÑоваÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñа","copyDefaultTooltip":"ÐопиÑоваÑÑ, иÑполÑзÑÑ Ð°Ð³ÐµÐ½Ñа по ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ°Ðº Ñаблон","copyTitle":"ÐопиÑоваÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñа","copyNameLabel":"ÐÐ¼Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ агенÑа","copyOptionsLabel":"ЧÑо копиÑоваÑÑ","copyOptionAgentJson":"agent.json (обÑзаÑелÑно)","copyOptionAgentJsonHint":"ÐÑегда копиÑÑÐµÑ ÑазобÑаннÑÑ Ð¸ÑÑ
однÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð¸ ÑбÑаÑÑÐ²Ð°ÐµÑ ID, имÑ, workspace и channels. ÐÑо не побайÑÐ¾Ð²Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ agent.json на диÑке.","copyOptionMdFiles":"AGENTS / SOUL / PROFILE / HEARTBEAT / BOOTSTRAP.md","copyOptionSkills":"skills/ + manifest","copyOptionJobs":"jobs.json","copyOptionJobsHint":"ÐопиÑÑÐµÑ ÑолÑко опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹, без иÑÑоÑии. ÐовÑй Ð°Ð³ÐµÐ½Ñ Ð½Ð°ÑнÑÑ Ð²ÑполнÑÑÑ Ð¸Ñ
по ÑаÑпиÑÐ°Ð½Ð¸Ñ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле ÑозданиÑ.","copySuccess":"ÐонÑигÑÑаÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñа ÑÑпеÑно ÑкопиÑована","copyFailed":"Ðе ÑдалоÑÑ ÑкопиÑоваÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñа","mailManagement":"УпÑавление поÑÑой","mailModeNone":"Ðез ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑой","mailModePersonal":"УпÑавлÑÑÑ Ð»Ð¸ÑнÑм поÑÑовÑм ÑÑиком","mailModeDedicated":"ÐÑделеннÑй поÑÑовÑй ÑÑик Ð´Ð»Ñ Ð°Ð³ÐµÐ½Ñа","mailName":"ÐÐ¼Ñ Ð¿Ð¾ÑÑового ÑÑика","mailNameOptional":"ÐÐ¼Ñ Ð¿Ð¾ÑÑового ÑÑика (необÑзаÑелÑно)","mailDomain":"ÐоÑÑовÑй домен","mailPassword":"ÐаÑолÑ","mailPhone":"ÐÐ¾Ð¼ÐµÑ ÑелеÑона","mailAuthCode":"16-знаÑнÑй код авÑоÑизаÑии","mailNameRequired":"ÐведиÑе Ð¸Ð¼Ñ Ð¿Ð¾ÑÑового ÑÑика","mailPasswordRequired":"ÐведиÑе паÑолÑ","mailPhoneRequired":"ÐведиÑе Ð½Ð¾Ð¼ÐµÑ ÑелеÑона","mailAuthCodeRequired":"ÐведиÑе код авÑоÑизаÑии","mailAuthCodeLength":"Ðод авÑоÑизаÑии должен ÑоÑÑоÑÑÑ Ð¸Ð· 16 Ñимволов","mailDomainRequired":"ÐÑбеÑиÑе поÑÑовÑй домен","mailDomainInvalid":"ÐведиÑе коÑÑекÑнÑй поÑÑовÑй домен, напÑÐ¸Ð¼ÐµÑ mycompany.com","mailDomainPlaceholder":"ÐÑбеÑиÑе или введиÑе поÑÑовÑй домен","mailProvider":"ÐоÑÑовÑй пÑовайдеÑ","mailProviderRequired":"ÐÑбеÑиÑе поÑÑового пÑовайдеÑа","mailProviderPlaceholder":"ÐÑбеÑиÑе пÑовайдеÑа, обÑлÑживаÑÑего ÑÑÐ¾Ñ Ð´Ð¾Ð¼ÐµÐ½","mailProviderTencentExmail":"Tencent Exmail","mailProviderAliyunQiye":"Alibaba Enterprise Mail","mailProviderNeteaseQiye":"Netease Enterprise Mail","mailCredentialLabel":"УÑеÑнÑе даннÑе","mailCredentialRequired":"ÐведиÑе ÑÑеÑнÑе даннÑе","mailCredentialHintAuthCode":"ÐведиÑе 16-знаÑнÑй код авÑоÑизаÑии, ÑозданнÑй в наÑÑÑойкаÑ
поÑÑового ÑÑика","mailCredentialHintGmail":"ÐведиÑе паÑÐ¾Ð»Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Gmail (ÑÑебÑеÑÑÑ Ð²ÐºÐ»ÑÑÐµÐ½Ð½Ð°Ñ Ð´Ð²ÑÑ
ÑÑÐ°Ð¿Ð½Ð°Ñ Ð°ÑÑенÑиÑикаÑиÑ)","mailCredentialHintAliyun":"ÐведиÑе паÑÐ¾Ð»Ñ Ð´Ð»Ñ Ð²Ñ
ода в поÑÑовÑй ÑÑик","mailCredentialHintEnterprise":"ÐведиÑе клиенÑÑкий паÑÐ¾Ð»Ñ Ð¸Ð»Ð¸ паÑÐ¾Ð»Ñ Ð´Ð»Ñ Ð²Ñ
ода в поÑÑовÑй ÑÑик","mailPushTitle":"ÐвÑооÑÐ²ÐµÑ Ð½Ð° новÑе пиÑÑма","mailAccessControl":"ÐонÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа к поÑÑе","mailAccessControlTip":"ÐÑи вклÑÑении пиÑÑма Ð¾Ñ Ð½ÐµÐ¸Ð·Ð²ÐµÑÑнÑÑ
оÑпÑавиÑелей ÑÑебÑÑÑ Ð¾Ð´Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð¿ÐµÑед обÑабоÑкой","mailPushModeOff":"ÐÑклÑÑено","mailPushModeRulesOnly":"ТолÑко пÑавила","mailPushModeRulesThenAgent":"ÐÑавила + пÑобÑждение по необÑ
одимоÑÑи","mailPushModeAgentAll":"ÐÑобÑждаÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ пиÑÑма","mailPushModeOffDesc":"Ðе обÑабаÑÑваÑÑ Ð½Ð¾Ð²Ñе пиÑÑма авÑомаÑиÑеÑки","mailPushModeRulesOnlyDesc":"ÐбÑабаÑÑваÑÑ Ð½Ð¾Ð²Ñе пиÑÑма ÑолÑко по пÑавилам ниже, без пÑобÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð°Ð³ÐµÐ½Ñа","mailPushModeRulesThenAgentDesc":"СнаÑала пÑименÑÑÑ Ð¿Ñавила; пÑобÑждаÑÑ Ð°Ð³ÐµÐ½Ñа ÑолÑко пÑи ÑÑабаÑÑвании дейÑÑÐ²Ð¸Ñ Ð¿ÑобÑждениÑ","mailPushModeAgentAllDesc":"ÐÑобÑждаÑÑ Ð°Ð³ÐµÐ½Ñа Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ нового пиÑÑма и позволÑÑÑ ÐµÐ¼Ñ ÑамоÑÑоÑÑелÑно ÑеÑаÑÑ, как его обÑабоÑаÑÑ","mailPushModeLegacySuffix":" (ÑÑÑаÑевÑий)","mailPushFieldFrom":"ÐÑпÑавиÑелÑ","mailPushFieldSubject":"Тема","mailPushFieldContent":"СодеÑжимое","mailPushFieldKeyword":"ÐлÑÑевое Ñлово","mailPushActionMarkRead":"ÐÑмеÑиÑÑ Ð¿ÑоÑиÑаннÑм","mailPushActionMove":"ÐеÑемеÑÑиÑÑ Ð² папкÑ","mailPushActionNotify":"ТолÑко ÑведомиÑÑ","mailPushActionWakeAgent":"РазбÑдиÑÑ Ð°Ð³ÐµÐ½Ñа","mailPushContainsPlaceholder":"СодеÑÐ¶Ð¸Ñ ÑекÑÑ","mailPushParamMovePlaceholder":"Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°","mailPushParamWakePlaceholder":"Ðоп. инÑÑÑÑкÑÐ¸Ñ (необÑзаÑелÑно)","mailPushParamRequired":"УкажиÑе ÑелевÑÑ Ð¿Ð°Ð¿ÐºÑ","mailPushAddRule":"ÐобавиÑÑ Ð¿Ñавило","mailPushWakeOptionInvoice":"СкаÑаÑÑ Ð¸ аÑÑ
ивиÑоваÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑÑеÑов и квиÑанÑий","mailPushWakeOptionReply":"Ðежливо оÑвеÑиÑÑ Ð½Ð° пиÑÑма Ñ Ð²Ð¾Ð¿ÑоÑами","mailPushWakeOptionOtp":"ÐзвлеÑÑ ÐºÐ¾Ð´ подÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ ÑведомиÑÑ Ð¼ÐµÐ½Ñ","mailPushWakeOptionSummary":"ÐÑаÑко изложиÑÑ Ð¿Ð¸ÑÑмо во вÑ
одÑÑие"}'),vx={nav:"ÐонÑÑолÑнÑе ÑоÑки",title:"ÐонÑÑолÑнÑе ÑоÑки ÑоÑÑоÑниÑ",auto:"ÐвÑомаÑиÑеÑки",autoEnabled:"ÐвÑомаÑиÑеÑкие ÑоÑки вклÑÑенÑ",autoDisabled:"ÐвÑомаÑиÑеÑкие ÑоÑки вÑклÑÑенÑ",refresh:"ÐбновиÑÑ",
132snapshot:"Снимок",snapshotCreated:"Снимок Ñоздан",graph:"ÐÑаÑ",checkpoint:"ÐонÑÑолÑÐ½Ð°Ñ ÑоÑка",type:"Тип",commit:"ÐоммиÑ",createdAt:"Создано",session:"СеанÑ",channel:"Ðанал",parent:"РодиÑелÑ",details:"СведениÑ",search:"ÐоиÑк по запÑоÑÑ, имени, ÑеанÑÑ Ð¸Ð»Ð¸ SHA",allTypes:"ÐÑе ÑипÑ",allSessions:"ÐÑе ÑеанÑÑ",showingLatest:"Ðоказано поÑледниÑ
: {{count}}",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑоÑки",retry:"ÐовÑоÑиÑÑ",more:"ÐÑÑгие дейÑÑвиÑ",noMatches:"ÐÐµÑ ÑоÑек, ÑооÑвеÑÑÑвÑÑÑиÑ
ÑилÑÑÑам.",empty:"ÐонÑÑолÑнÑÑ
ÑоÑек пока неÑ. ÐÑÑоÑÐ¸Ñ Ð²ÐµÑÑий поÑвиÑÑÑ Ð·Ð´ÐµÑÑ.",kind:{auto:"ÐвÑо",snapshot:"Снимок",safety:"ÐаÑиÑнаÑ",commit:"ÐоммиÑ"},summary:{total:"ÑоÑек"},snapshotDialog:{title:"СоздаÑÑ Ñнимок",session:"СеанÑ",name:"ÐмÑ",placeholder:"ÐеобÑзаÑелÑное имÑ"},gc:{settingsAction:"ÐаÑÑÑойки авÑооÑиÑÑки",settingsTitle:"ÐаÑÑÑойки авÑооÑиÑÑки",keepCount:"ÐолиÑеÑÑво авÑомаÑиÑеÑкиÑ
ÑоÑек",keepDays:"Ð¥Ñанение авÑомаÑиÑеÑкиÑ
ÑоÑек (дни)",preRestoreDays:"Ð¥Ñанение Ñнимков пеÑед воÑÑÑановлением (дни)",settingsSaved:"ÐаÑÑÑойки авÑооÑиÑÑки ÑоÑ
ÑаненÑ",thoroughAction:"Ðолное ÑжаÑие конÑÑолÑнÑÑ
ÑоÑек",thoroughTitle:"ÐолноÑÑÑÑ ÑжаÑÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑоÑки?",thoroughDescription:"УдалÑÐµÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑоÑки ({{count}}), игноÑиÑÑÑ Ñ
Ñанение авÑомаÑиÑеÑкиÑ
ÑоÑек. HEAD каждого ÑеанÑа ÑоÑ
ÑанÑеÑÑÑ.",thoroughConfirm:"ÐолноÑÑÑÑ ÑжаÑÑ",thoroughSuccess:"ÐÑи полном ÑжаÑии Ñдалено конÑÑолÑнÑÑ
ÑоÑек: {{count}}",action:"ÐÑиÑÑиÑÑ ÑоÑки",title:"ÐÑиÑÑиÑÑ ÑоÑки ÑоглаÑно полиÑике Ñ
ÑанениÑ?",description:"УдалÑÐµÑ Ð¿ÑоÑÑоÑеннÑе конÑÑолÑнÑе ÑоÑки ({{count}}) ÑоглаÑно ÑекÑÑей полиÑике Ñ
ÑанениÑ. HEAD каждого ÑеанÑа ÑоÑ
ÑанÑеÑÑÑ.",confirm:"ÐÑиÑÑиÑÑ",success:"Удалено: {{count}}"},reset:{action:"СбÑоÑиÑÑ Ð´Ð°Ð½Ð½Ñе",title:"СбÑоÑиÑÑ Ð²Ñе даннÑе?",description:"ÐÑе ÑоÑки бÑдÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ñ Ð½Ð°Ð²Ñегда, авÑомаÑиÑеÑкое Ñоздание бÑÐ´ÐµÑ Ð¾ÑклÑÑено.",confirm:"СбÑоÑиÑÑ",success:"ÐаннÑе ÑбÑоÑенÑ"},restore:{action:"ÐоÑÑÑановиÑÑ",title:"ÐоÑÑÑановиÑÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑоÑкÑ",preview:"ÐÑедпÑоÑмоÑÑ",confirm:"ÐоÑÑÑановиÑÑ",conversation:"Ðиалог",memory:"ÐамÑÑÑ",files:"Ð¤Ð°Ð¹Ð»Ñ ÑабоÑей облаÑÑи",refreshWarning:"Ðиалог измениÑÑÑ. ÐоÑле воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñе его.",selectedCount:"ÐÑбÑано Ñайлов: {{count}}",selectAll:"ÐÑбÑаÑÑ Ð²Ñе изменÑннÑе ÑайлÑ",delete:"УдалиÑÑ",restore:"ÐоÑÑÑановиÑÑ",noFileChanges:"ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñайлов не ÑÑебÑÑÑÑÑ.",success:"ТоÑка воÑÑÑановлена. ÐбновиÑе диалог, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð³ÑÑзиÑÑ ÑоÑÑоÑние."}},Tx={title:"ФайлÑ",workspacePath:"РабоÑее пÑоÑÑÑанÑÑво:",noFiles:"ÐÐµÑ Ñайлов",coreFiles:"ÐÑновнÑе ÑайлÑ",coreFilesDesc:"ÐазовÑе ÑÐ°Ð¹Ð»Ñ Ñ Ð¾Ð¿Ð¸Ñанием пеÑÑонÑ, иденÑиÑноÑÑи и инÑÑÑÑкÑий по инÑÑÑÑменÑам.",uploadTooltip:"ТолÑко ZIP-ÑайлÑ",uploadTooltipWithLimit:"ТолÑко ZIP-ÑайлÑ, макÑимÑм {{limit}} ÐÐ",selectFile:"ÐÑбеÑиÑе Ñайл Ð´Ð»Ñ ÑедакÑиÑованиÑ",fileContent:"СодеÑжимое Ñайла...",uploadSuccess:"Файл ÑÑпеÑно загÑÑжен",uploadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ñайл",downloadPreparing:"ÐодгоÑовка к ÑкаÑÐ¸Ð²Ð°Ð½Ð¸Ñ ÑабоÑего пÑоÑÑÑанÑÑва...",downloadSuccess:"РабоÑее пÑоÑÑÑанÑÑво ÑÑпеÑно ÑкаÑано",downloadFailed:"Ðе ÑдалоÑÑ ÑкаÑаÑÑ ÑабоÑее пÑоÑÑÑанÑÑво",zipOnly:"ÐÐ»Ñ Ð·Ð°Ð³ÑÑзки поддеÑживаÑÑÑÑ ÑолÑко ÑÐ°Ð¹Ð»Ñ .zip",fileSizeExceeded:"Ð Ð°Ð·Ð¼ÐµÑ Ñайла пÑевÑÑÐ°ÐµÑ Ð»Ð¸Ð¼Ð¸Ñ {{limit}} ÐÐ. ТекÑÑий Ñайл: {{size}} ÐÐ",systemPromptToggleTooltip:"ÐклÑÑиÑÑ/вÑклÑÑиÑÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ ÑÑого Ñайла в ÑиÑÑемнÑй пÑомпÑ",memoryFileWarning:"MEMORY.md обÑÑно запÑаÑиваеÑÑÑ Ð°Ð³ÐµÐ½Ñом по ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¸Ð½ÑÑÑÑменÑов. ÐагÑÑзка его в ÑиÑÑемнÑй пÑÐ¾Ð¼Ð¿Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к ÑлиÑком Ð´Ð»Ð¸Ð½Ð½Ð¾Ð¼Ñ ÐºÐ¾Ð½ÑекÑÑÑ.",configUpdated:"ÐонÑигÑÑаÑÐ¸Ñ ÑиÑÑемного пÑомпÑа обновлена",configUpdateFailed:"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑиÑÑемного пÑомпÑа",attribution:"Ðизайн ÑабоÑего пÑоÑÑÑанÑÑва ÑаÑÑиÑно вдоÑ
новлÑн пÑоекÑом OpenClaw â ÑпаÑибо! ð¾",saveSuccess:"СоÑ
Ñанено ÑÑпеÑно",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ"},Sx={title:"ÐавÑки",description:"УпÑавлÑйÑе навÑками и возможноÑÑÑми агенÑа.",preload:"ÐÑедзагÑÑзка",preloadHint:"ÐоÑле вклÑÑÐµÐ½Ð¸Ñ Ð°Ð³ÐµÐ½Ñ Ð¿ÑедваÑиÑелÑно загÑÑÐ¶Ð°ÐµÑ ÑÑÐ¾Ñ Ð½Ð°Ð²Ñк, и ÐµÐ¼Ñ Ð½Ðµ нÑжно иÑкаÑÑ Ð¸ загÑÑжаÑÑ ÐµÐ³Ð¾ во вÑÐµÐ¼Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð°.",qwenpawManaged:"Ðод ÑпÑавлением QwenPaw",qwenpawManagedHint:"ÐоÑÑÑÐ¿Ð½Ñ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ пеÑедаÑÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаемÑм ÑÑоÑонним агенÑам пÑи запÑÑке.",providerManaged:"ÐавÑки ÑÑоÑоннего агенÑа",providerManagedHint:"ÐбнаÑÑÐ¶ÐµÐ½Ñ Ñ ÑекÑÑего ÑÑоÑоннего агенÑа и доÑÑÑÐ¿Ð½Ñ ÑолÑко Ð´Ð»Ñ ÑÑениÑ.",providerOnly:"ТолÑко ÑекÑÑий ÑÑоÑонний агенÑ",readOnly:"ТолÑко ÑÑение",noDescription:"ÐпиÑание оÑÑÑÑÑÑвÑеÑ.",providerSkillDetails:"Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ Skill ÑÑоÑоннего агенÑа",providerManagedDetailHint:"ÐÑÐ¾Ñ Skill ÑпÑавлÑеÑÑÑ ÑÑоÑонним агенÑом. QwenPaw Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑобÑажаÑÑ Ð¸ иÑполÑзоваÑÑ ÐµÐ³Ð¾, но не изменÑÑÑ.",provider:"СÑоÑонний агенÑ",scope:"ÐблаÑÑÑ",statusLabel:"СÑаÑÑÑ",descriptionLabel:"ÐпиÑание",importHub:"ÐагÑÑзиÑÑ Ð¿Ð¾ URL",supportedSources:"ÐоддеÑживаемÑе иÑÑоÑники:",importSkills:"ÐмпоÑÑ Ð½Ð°Ð²Ñка",enterSkillUrl:"ÐведиÑе URL навÑка",supportedSkillUrlSources:"ÐоддеÑживаемÑе маÑкеÑплейÑÑ Ð½Ð°Ð²Ñков:",urlExamples:"ÐÑимеÑÑ URL:",urlValid:"ÐейÑÑвиÑелÑнÑй URL Ð¾Ñ {{source}}
132",invalidUrl:"ÐедейÑÑвиÑелÑнÑй URL",clickToFill:"ÐажмиÑе, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸ÑÑ URL",invalidSkillUrlSource:"ÐожалÑйÑÑа, ÑбедиÑеÑÑ, ÑÑо URL навÑка из поддеÑживаемого маÑкеÑплейÑа",type:"Тип",installedFrom:"УÑÑановлено из",source:"ÐÑÑоÑник",path:"ÐÑÑÑ",tags:"Теги",builtin:"ÐÑÑÑоеннÑй",custom:"ÐолÑзоваÑелÑÑкий",addSkill:"ÐобавиÑÑ Ð½Ð°Ð²Ñк",createSkill:"СоздаÑÑ Ð½Ð°Ð²Ñк",viewSkill:"ÐÑоÑмоÑÑеÑÑ Ð½Ð°Ð²Ñк",editSkill:"РедакÑиÑоваÑÑ Ð½Ð°Ð²Ñк",skillName:"Ðазвание навÑка",skillContent:"СодеÑжимое навÑка",pleaseInputName:"ÐожалÑйÑÑа, введиÑе название навÑка",pleaseInputContent:"ÐожалÑйÑÑа, введиÑе ÑодеÑжимое навÑка",skillNamePlaceholder:"напÑимеÑ, weather_query",contentPlaceholder:`[ФоÑмаÑ] 133--- 134name: skill_name (обÑзаÑелÑно, ÑÑÑоÑнÑе бÑÐºÐ²Ñ Ñ Ð¿Ð¾Ð´ÑÑÑкиванием) 135description: ÐÑаÑкое опиÑание (обÑзаÑелÑно) 136--- 137 138РеализаÑÐ¸Ñ Ð½Ð°Ð²Ñка (ÑоÑÐ¼Ð°Ñ Markdown) 139 140[ÐÑимеÑ] 141--- 142name: weather_query 143description: ÐапÑÐ¾Ñ Ð¸Ð½ÑоÑмаÑии о погоде Ð´Ð»Ñ Ð³Ð¾Ñода 144--- 145 146## ФÑнкÑии 147ÐапÑÐ¾Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾ погоде в ÑеалÑном вÑемени. 148 149## ÐÑполÑзование 150ÐолÑзоваÑÐµÐ»Ñ Ð²Ð²Ð¾Ð´Ð¸Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ гоÑода, возвÑаÑаеÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ погоде.`,createSuccess:"ÐавÑк ÑÑпеÑно Ñоздан",createFailed:"Ðе ÑдалоÑÑ ÑоздаÑÑ Ð½Ð°Ð²Ñк",deleteConfirm:"ÐÑ ÑвеÑенÑ, ÑÑо Ñ Ð¾ÑиÑе ÑдалиÑÑ ÑÑÐ¾Ñ Ð½Ð°Ð²Ñк?",deleteSuccess:"ÐавÑк ÑÑпеÑно ÑдалÑн",deleteFailed:"Ðе ÑдалоÑÑ ÑдалиÑÑ Ð½Ð°Ð²Ñк",batchEnable:"ÐклÑÑиÑÑ",batchDisable:"ÐÑклÑÑиÑÑ",batchEnableSuccess:"{{count}} навÑков вклÑÑено",batchEnablePartial:"{{enabled}} вклÑÑено, {{failed}} не ÑдалоÑÑ",batchEnableFailed:"Ðе ÑдалоÑÑ Ð²ÑполниÑÑ Ð¿Ð°ÐºÐµÑное вклÑÑение",batchDisableSuccess:"{{count}} навÑков оÑклÑÑено",batchDisablePartial:"{{disabled}} оÑклÑÑено, {{failed}} не ÑдалоÑÑ",batchDisableFailed:"Ðе ÑдалоÑÑ Ð²ÑполниÑÑ Ð¿Ð°ÐºÐµÑное оÑклÑÑение",batchDeleteTitle:"УдалиÑÑ {{count}} навÑков?",batchDeleteSuccess:"{{count}} навÑков Ñдалено",batchDeletePartial:"{{deleted}} Ñдалено, {{failed}} не ÑдалоÑÑ",batchDeleteFailed:"Ðе ÑдалоÑÑ Ð²ÑполниÑÑ Ð¿Ð°ÐºÐµÑное Ñдаление",selectedCount:"ÐÑбÑано {{count}}",selectAll:"ÐÑбÑаÑÑ Ð²Ñе",clearSelection:"ÐÑиÑÑиÑÑ",updateSuccess:"ÐавÑк ÑÑпеÑно обновлÑн",updateFailed:"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ð½Ð°Ð²Ñк",frontmatterRequired:"ÐавÑк должен наÑинаÑÑÑÑ Ð¸ заканÑиваÑÑÑÑ ---",frontmatterNameRequired:"РнавÑке оÑÑÑÑÑÑвÑÐµÑ Ð¾Ð±ÑзаÑелÑное поле: name",frontmatterDescriptionRequired:"РнавÑке оÑÑÑÑÑÑвÑÐµÑ Ð¾Ð±ÑзаÑелÑное поле: description",editNotSupported:"Ðе ÑдалоÑÑ Ð¾ÑÑедакÑиÑоваÑÑ Ð½Ð°Ð²Ñк",editNote:"ÐодÑказка: здеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑедакÑиÑоваÑÑ ÑодеÑжимое навÑка, ÐºÐ°Ð½Ð°Ð»Ñ Ð¸ конÑигÑÑаÑиÑ.",create:"СоздаÑÑ",optimizeWithAI:"AI ÐпÑимизаÑиÑ",stopOptimize:"СÑоп",optimizeSuccess:"ÐавÑк ÑÑпеÑно опÑимизиÑован",optimizeFailed:"Ðе ÑдалоÑÑ Ð¾Ð¿ÑимизиÑоваÑÑ Ð½Ð°Ð²Ñк",noContentToOptimize:"ÐÐµÑ ÑодеÑжимого Ð´Ð»Ñ Ð¾Ð¿ÑимизаÑии",cancelImport:"ÐÑмениÑÑ Ð¸Ð¼Ð¿Ð¾ÑÑ",importCancelled:"ÐмпоÑÑ Ð½Ð°Ð²Ñка оÑменÑн",importTimeout:"ÐÑÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸Ð¼Ð¿Ð¾ÑÑа навÑка иÑÑекло. ÐовÑоÑиÑе попÑÑÐºÑ Ð¸Ð»Ð¸ пÑовеÑÑÑе ÑеÑÑ.",uploadSkill:"ÐагÑÑзиÑÑ Ð½Ð°Ð²Ñк",uploadZip:"ÐагÑÑзиÑÑ Zip",uploadSuccess:"ÐавÑк ÑÑпеÑно загÑÑжен",uploadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð½Ð°Ð²Ñк",uploadNoChange:"ÐовÑе навÑки не бÑли импоÑÑиÑованÑ. Ðозможно, они Ñже ÑÑÑеÑÑвÑÑÑ",zipOnly:"ÐоддеÑживаеÑÑÑ Ð·Ð°Ð³ÑÑзка ÑолÑко .zip Ñайлов",fileSizeExceeded:"Ð Ð°Ð·Ð¼ÐµÑ Ñайла пÑевÑÑÐ°ÐµÑ Ð»Ð¸Ð¼Ð¸Ñ {{limit}}ÐÐ. ТекÑÑий Ñайл: {{size}}ÐÐ",channels:"ÐÑименимÑе каналÑ",allChannels:"ÐÑе",lastUpdated:"Ðбновлено",searchPlaceholder:"ФилÑÑÑ Ð¿Ð¾ наÐ
150·Ð²Ð°Ð½Ð¸Ñ",listView:"СпиÑок",gridView:"СеÑка",refreshHint:"ÐбновиÑÑ Ð½Ð°Ð²Ñки Ñ Ð´Ð¸Ñка",poolSync:"СÑаÑÑÑ ÑинÑ
ÑонизаÑии",uploadedToPool:"ÐагÑÑжено в пÑл навÑков",downloadedToWorkspace:"СкаÑано в ÑекÑÑее ÑабоÑее пÑоÑÑÑанÑÑво",builtinUpgradeTitle:"ÐбновиÑÑ Ð²ÑÑÑоеннÑй навÑк",builtinUpgradeContent:"РпÑле доÑÑÑпна Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ð²ÑÑÑоенного навÑка «{{name}}». ÐеÑезапиÑаÑÑ ÑекÑÑÑÑ Ð²ÐµÑÑиÑ?",languageSwitchTitle:"ÐеÑеклÑÑиÑÑ ÑзÑк навÑка",languageSwitchContent:"СледÑÑÑие навÑки имеÑÑ Ð´ÑÑгÑÑ ÑзÑковÑÑ Ð²ÐµÑÑÐ¸Ñ Ð² пÑле и бÑдÑÑ Ð¿ÐµÑезапиÑанÑ:",overwriteExistingList:"СледÑÑÑие навÑки Ñже ÑÑÑеÑÑвÑÑÑ Ð¸ бÑдÑÑ Ð¿ÐµÑезапиÑанÑ:",nameConflict:"ÐбнаÑÑжен конÑÐ»Ð¸ÐºÑ Ð¸Ð¼Ñн. ÐÑедложенное пеÑеименование заполнено.",uploadToPool:"СинÑ
ÑонизиÑоваÑÑ Ñ Ð¿Ñлом навÑков",uploadToPoolHint:"ÐагÑÑзиÑÑ Ð²ÑбÑаннÑе навÑки ÑабоÑего пÑоÑÑÑанÑÑва в обÑий локалÑнÑй пÑл навÑков",downloadFromPool:"ÐагÑÑзиÑÑ Ð¸Ð· пÑла навÑков",emptyStateBadge:"ÐовÑе ÑабоÑие пÑоÑÑÑанÑÑва наÑинаÑÑ Ð¿ÑÑÑÑми",emptyStateTitle:"У ÑÑого агенÑа еÑÑ Ð½ÐµÑ Ð½Ð°Ð²Ñков",emptyStateText:"ÐÑо ноÑмалÑно. ÐовÑе ÑабоÑие пÑоÑÑÑанÑÑва не ÑодеÑÐ¶Ð°Ñ Ð½Ð°Ð²Ñков авÑомаÑиÑеÑки. ÐагÑÑзиÑе навÑки из локалÑного пÑла или ÑоздайÑе новÑй навÑк здеÑÑ, ÑÑÐ¾Ð±Ñ Ð¾ÑнаÑÑиÑÑ ÑÑого агенÑа.",emptyStateDownload:"ÐагÑÑзиÑÑ Ð¸Ð· пÑла навÑков",emptyStateCreate:"СоздаÑÑ Ð¿ÐµÑвÑй навÑк",selectWorkspaceSkill:"ÐÑбеÑиÑе навÑк ÑабоÑего пÑоÑÑÑанÑÑва",selectPoolItem:"ÐÑбеÑиÑе ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¿Ñла навÑков",renameOptional:"ÐеÑеименование (необÑзаÑелÑно)",renamePlaceholder:"ÐÑедложенное пеÑеименование поÑвиÑÑÑ Ð·Ð´ÐµÑÑ Ð¿Ñи конÑликÑе",renameSingleOnly:"ÐеÑеименование доÑÑÑпно ÑолÑко пÑи вÑбоÑе Ñовно одного навÑка.",downloadSkillPool:"СкаÑаÑÑ Ð¿Ñл навÑков",uploadSkillPool:"ÐагÑÑзиÑÑ Ð¿Ñл навÑков",config:"ÐонÑигÑÑаÑиÑ",configPlaceholder:'{"KEY": "value"}',configInvalidJson:"ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ JSON",configSaved:"ÐонÑигÑÑаÑÐ¸Ñ ÑоÑ
Ñанена",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð½Ð°Ð²Ñки",refreshFailed:"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ð½Ð°Ð²Ñки",createdSuccessfully:"Создано ÑÑпеÑно",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ",importFailed:"Ðе ÑдалоÑÑ Ð¸Ð¼Ð¿Ð¾ÑÑиÑоваÑÑ",disabledSuccessfully:"ÐÑклÑÑено ÑÑпеÑно",enabledSuccessfully:"ÐклÑÑено ÑÑпеÑно",operationFailed:"ÐпеÑаÑÐ¸Ñ Ð½Ðµ ÑдалаÑÑ",provideUrl:"ÐожалÑйÑÑа, ÑкажиÑе URL навÑка Ñ
аба",validUrl:"ÐожалÑйÑÑа, введиÑе дейÑÑвиÑелÑнÑй URL, наÑинаÑÑийÑÑ Ñ http:// или https://",importedSkill:"ÐмпоÑÑиÑован навÑк: {{name}}",batchOperation:"ÐакеÑÐ½Ð°Ñ Ð¾Ð¿ÐµÑаÑиÑ",exitBatch:"ÐÑйÑи из Ñежима",noSearchResults:"ÐавÑки, ÑооÑвеÑÑÑвÑÑÑие ваÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑоÑÑ, не найденÑ",filterByTag:"ФилÑÑÑ Ð¿Ð¾ ÑегÑ",noTags:"ÐÐµÑ Ð´Ð¾ÑÑÑпнÑÑ
Ñегов",enabledSkills:"ÐкÑивнÑе навÑки",disabledSkills:"ÐеакÑивнÑе навÑки",active:"акÑивно"},Cx={description:"ÐбÑий локалÑнÑй пÑл навÑков Ð´Ð»Ñ Ð²ÑÑÑоеннÑÑ
навÑков и загÑÑзок из ÑабоÑиÑ
пÑоÑÑÑанÑÑв. ÐнеÑние импоÑÑÑ (ClawHub, LobeHub) â оÑделÑÐ½Ð°Ñ ÑÑнкÑиÑ.",broadcast:"ТÑанÑлÑÑиÑ",broadcastHint:"ТÑанÑлиÑоваÑÑ Ð½Ð°Ð²Ñки пÑла во вÑе или вÑбÑаннÑе ÑабоÑие пÑоÑÑÑанÑÑва",refreshHint:"ÐбновиÑÑ Ð¿Ñл навÑков Ñ Ð´Ð¸Ñка",deleteExternalConfirm:"Ð¤Ð°Ð¹Ð»Ñ Ð²Ð½ÐµÑнего навÑка в {{path}} бÑдÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ñ Ñ Ð´Ð¸Ñка.",deleteExternalBatchWarning:"ÐÑбÑаннÑе внеÑние навÑки бÑдÑÑ Ð±ÐµÐ·Ð²Ð¾Ð·Ð²ÑаÑно ÑÐ´Ð°Ð»ÐµÐ½Ñ Ñ Ð´Ð¸Ñка.",broadcastTitle:"ТÑанÑлиÑоваÑÑ {{name}}",automation:"ÐвÑомаÑизаÑиÑ",builtinAutoUpdate:"ÐвÑообновление",builtinAutoUpdateFlow:"ÐÑÑÑоеннÑй Ð¿Ð°ÐºÐµÑ â ÐÑл навÑков",autoSyncFlow:"ÐÑл навÑков â РабоÑие пÑоÑÑÑанÑÑва агенÑов",automationBoth:"ÐвÑообновление + авÑоÑинÑ
ÑонизаÑиÑ",automationMixedHint:"ÐÑкÑойÑе подÑобноÑÑи, ÑÑÐ¾Ð±Ñ Ð²ÑбÑаÑÑ Ð°Ð²Ñообновление или авÑоÑинÑ
ÑонизаÑиÑ.",automationEnableHint:"ÐклÑÑиÑÑ Ð°Ð²Ñообновление и авÑоÑинÑ
ÑонизаÑиÑ.",automationDisableHint:"ÐÑклÑÑиÑÑ Ð°Ð²Ñообновление и авÑоÑинÑ
ÑонизаÑиÑ.",automationEnabled:"ÐвÑообновление и авÑоÑинÑ
ÑонизаÑÐ¸Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ñ Ð´Ð»Ñ {{name}}",automationDisabled:"ÐвÑообновление и авÑоÑинÑ
ÑонизаÑÐ¸Ñ Ð¾ÑклÑÑÐµÐ½Ñ Ð´Ð»Ñ {{name}}",automationFailed:"Ðе ÑдалоÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð½Ð°ÑÑÑойки авÑомаÑизаÑии",automationNeedsAttention:"ÐаÑÑÑойки ÑоÑ
ÑаненÑ. {{count}} пÑнкÑ(а) ÑÑебÑÑÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ; Ñм. «ÐÑ
одÑÑие».",autoSync:"ÐвÑоÑинÑ
ÑонизаÑиÑ",autoSyncEnableHint:"ÐклÑÑиÑÑ Ð°Ð²ÑоÑинÑ
ÑонизаÑиÑ.",autoSyncDisableHint:"ÐÑклÑÑиÑÑ Ð°Ð²ÑоÑинÑ
ÑонизаÑиÑ.",autoSyncEnabled:"ÐвÑоÑинÑ
ÑонизаÑÐ¸Ñ Ð²ÐºÐ»ÑÑена Ð´Ð»Ñ {{name}}",autoSyncDisabled:"ÐвÑоÑинÑ
ÑонизаÑÐ¸Ñ Ð¾ÑклÑÑена Ð´Ð»Ñ {{name}}",autoSyncAgentsPlaceholder:"ÐÑе агенÑÑ Ñ ÑÑим навÑком",autoSyncAgentsHint:"ÐÑÑавÑÑе поле пÑÑÑÑм Ð´Ð»Ñ ÑинÑ
ÑонизаÑии ÑÑÑеÑÑвÑÑÑиÑ
копий или вÑбеÑиÑе агенÑов.",importBuiltin:"ÐмпоÑÑ Ð²ÑÑÑоеннÑÑ
",importBuiltinHint:"ÐмпоÑÑиÑоваÑÑ Ð²ÑÑÑоеннÑе навÑки из иÑÑ
одников в пÑл",importBuiltinAlertHint:"ТÑебÑÑÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ {{count}} изменений вÑÑÑоеннÑÑ
навÑков",importBuiltinSuccess:"ÐÑÑÑоеннÑе навÑки импоÑÑиÑованÑ: {{names}}",importBuiltinConflicts:"ÐÑопÑÑено из-за конÑликÑов имÑн: {{names}}",importBuiltinNoChanges:"ÐÐµÑ Ð²ÑÑÑоеннÑÑ
изменений Ð´Ð»Ñ Ð¸Ð¼Ð¿Ð¾ÑÑа",importBuiltinFailed:"Ðе ÑдалоÑÑ Ð¸Ð¼Ð¿Ð¾ÑÑиÑоваÑÑ Ð²ÑÑÑоеннÑе навÑки",importBuiltinConflictTitle:"ÐбнаÑÑÐ¶ÐµÐ½Ñ ÐºÐ¾Ð½ÑликÑÑ Ð²ÑÑÑоеннÑÑ
навÑков",importBuiltinConflictContent:"СледÑÑÑие вÑÑÑоеннÑе навÑки оÑлиÑаÑÑÑÑ Ð¾Ñ ÑекÑÑиÑ
копий в пÑле. ÐодÑвеÑдиÑе, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑезапиÑаÑÑ Ð¸Ñ
веÑÑией из иÑÑ
одников.",sourceVersion:"ÐеÑÑÐ¸Ñ Ð² иÑÑ
одникаÑ
",currentVersion:"ТекÑÑÐ°Ñ Ð²ÐµÑÑиÑ",builtinLanguage:"ЯзÑк",langDefault:"Ðо ÑмолÑаниÑ",langDefaultTooltip:"СоÑ
ÑаниÑÑ ÑекÑÑий ÑзÑк каждого навÑка",langEn:"ÐнглийÑкий",langZ
150h:"ÐиÑайÑкий",builtinLanguageChangeTitle:"СмениÑÑ ÑзÑк вÑÑÑоенного навÑка?",builtinLanguageChangeContent:"ÐеÑезапиÑаÑÑ ÐºÐ¾Ð¿Ð¸Ñ Â«{{name}}» в пÑле вÑÑÑоенной веÑÑией {{language}}?",builtinLanguageChangeSuccess:"«{{name}}» пеÑеклÑÑÑн на {{language}}",builtinLanguageChangeFailed:"Ðе ÑдалоÑÑ Ð¿ÐµÑеклÑÑиÑÑ ÑзÑк вÑÑÑоенного навÑка",importStatusMissing:"ÐÑÑÑÑÑÑвÑÐµÑ Ð² пÑле",importStatusCurrent:"Уже акÑÑален",importStatusOutdated:"УÑÑаÑел",importStatusLanguageSwitchTo:"ÐеÑезапиÑаÑÑ Ð²ÐµÑÑией на {{language}}",importStatusConflict:"ÐонÑликÑ",builtinNoticeSummary:"ÐбнаÑÑжено {{count}} изменений вÑÑÑоеннÑÑ
навÑков",builtinNoticeLineAdded:"Ðобавлено: {{names}}",builtinNoticeLineMissing:"ÐÑÑÑÑÑÑвÑеÑ: {{names}}",builtinNoticeLineUpdated:"Ðбновлено: {{names}}",builtinNoticeLineRemoved:"Удалено: {{names}}",zipImport:"ZIP-импоÑÑ",create:"СоздаÑÑ",edit:"РедакÑиÑоваÑÑ",delete:"УдалиÑÑ",descriptionLabel:"ÐпиÑание",tags:"Теги",tagsPlaceholder:"ÐÑбеÑиÑе или введиÑе Ñеги",filterByTag:"ФилÑÑÑ Ð¿Ð¾ ÑегÑ",version:"ÐеÑÑиÑ",createTitle:"СоздаÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¿Ñла навÑков",editTitle:"РедакÑиÑоваÑÑ {{name}}",skillNamePlaceholder:"Ðазвание навÑка",contentPlaceholder:"СодеÑжимое SKILL.md",nameConflict:"ÐбнаÑÑжен конÑÐ»Ð¸ÐºÑ Ð¸Ð¼Ñн. ÐÑименено пÑедложенное пеÑеименование.",deletedFromPool:"Удалено из пÑла навÑков",deleteBuiltinConfirm:"ÐÑо ÑÐ´Ð°Ð»Ð¸Ñ Ð²ÑÑÑоеннÑй навÑк из пÑла. Ðозже его можно Ñнова импоÑÑиÑоваÑÑ Ð¸Ð· иÑÑ
одников.",deleteConfirm:"ÐÑо ÑÐ´Ð°Ð»Ð¸Ñ Ð½Ð°Ð²Ñк из обÑего локалÑного пÑла навÑков.",deleteTitle:"УдалиÑÑ {{name}}?",batchDeleteTitle:"УдалиÑÑ {{count}} навÑков из пÑла?",batchDeleteSuccess:"{{count}} навÑков из пÑла Ñдалено",batchDeletePartial:"{{deleted}} Ñдалено, {{failed}} не ÑдалоÑÑ",batchDeleteFailed:"Ðе ÑдалоÑÑ Ð²ÑполниÑÑ Ð¿Ð°ÐºÐµÑное Ñдаление",imported:"ÐмпоÑÑиÑовано: {{names}}",noNewImports:"ÐовÑе навÑки не импоÑÑиÑованÑ",allBuiltin:"ÐÑе вÑÑÑоеннÑе",selectWorkspaces:"ТÑанÑлиÑоваÑÑ Ð² ÑабоÑее пÑоÑÑÑанÑÑво",allWorkspaces:"ÐÑе ÑабоÑие пÑоÑÑÑанÑÑва",optionalRename:"ÐеобÑзаÑелÑное пеÑеименование",back:"Ðазад",skillCount:"{{count}} навÑков",skillName:"Ðазвание навÑка",status:"СÑаÑÑÑ",installedFrom:"УÑÑановлено из",updateBuiltin:"ÐбновиÑÑ",updateConfirmTitle:"ÐбновиÑÑ {{name}}",updateConfirmContent:"ÐбновиÑÑ Ð´Ð¾ веÑÑии {{version}}? ТекÑÑÐ°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð² пÑле бÑÐ´ÐµÑ Ð·Ð°Ð¼ÐµÐ½ÐµÐ½Ð° поÑледней вÑÑÑоенной веÑÑией.",updateSuccess:"Ðбновлено ÑÑпеÑно",updateFailed:"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ",broadcastSuccess:"ТÑанÑлÑÑÐ¸Ñ Ð·Ð°Ð²ÐµÑÑена",broadcastFailed:"Ðе ÑдалоÑÑ Ð²ÑполниÑÑ ÑÑанÑлÑÑиÑ",overwriteConfirm:"ÐеÑезапиÑаÑÑ ÑÑÑеÑÑвÑÑÑие навÑки?",overwriteTargetsContent:"СледÑÑÑие ÑÑÑеÑÑвÑÑÑие Ñели бÑдÑÑ Ð¿ÐµÑезапиÑанÑ:",builtinOverwriteTargetsContent:"СледÑÑÑие вÑÑÑоеннÑе Ñели имеÑÑ Ð´ÑÑгÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¸ бÑдÑÑ Ð¿ÐµÑезапиÑанÑ:",renameAndRetry:"ÐавÑк Ñ Ñаким именем Ñже ÑÑÑеÑÑвÑеÑ. ÐÑполÑзоваÑÑ Ð¿Ñедложенное имÑ?",multiConflictTitle:"ÐбнаÑÑжено неÑколÑко конÑликÑов",multiConflictDesc:"СледÑÑÑие навÑки Ñже ÑÑÑеÑÑвÑÑÑ. УÑÑÑаниÑе конÑликÑÑ Ð¿Ð¾ оÑделÑноÑÑи и повÑоÑиÑе попÑÑкÑ:",singleConflictRename:'"{{name}}" Ñже ÑÑÑеÑÑвÑеÑ. ÐеÑеименоваÑÑ Ð² "{{suggested}}" Ð´Ð»Ñ Ð¿ÑодолжениÑ?',statusUpToDate:"ÐкÑÑалÑно",statusSynced:"СинÑ
ÑонизиÑовано",statusOutdated:"УÑÑаÑело",statusNotSynced:"Ðе ÑинÑ
ÑонизиÑовано",statusConflict:"ÐонÑликÑ",renameEntry:'Ðовое Ð¸Ð¼Ñ Ð´Ð»Ñ "{{name}}":',builtin:"вÑÑÑоеннÑй",custom:"полÑзоваÑелÑÑкий"},wx={title:"MCP-клиенÑÑ",qwenpawManaged:"Ðод ÑпÑавлением QwenPaw",qwenpawManagedHint:"ÐбÑÐ°Ñ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð½ÐµÐ´ÑÑеÑÑÑ Ð² поддеÑживаемÑе ÑÑоÑонние агенÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð²ÑполнениÑ.",providerManaged:"ÐокалÑнÑе MCP {{provider}}",providerManagedHint:"ÐбнаÑÑÐ¶ÐµÐ½Ñ Ð² конÑигÑÑаÑии ÑÑоÑоннего агенÑа. ÐоÑÑÑÐ¿Ð½Ñ ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð¸ ÑолÑко ÑÑÐ¾Ð¼Ñ Ð°Ð³ÐµÐ½ÑÑ.",providerOnly:"ТолÑко ÑÑоÑонний агенÑ",readOnly:"ТолÑко ÑÑение",create:"СоздаÑÑ ÐºÐ»Ð¸ÐµÐ½Ñ",formatSupport:"ÐоддеÑживаемÑе ÑоÑмаÑÑ",standardFormat:"СÑандаÑÑнÑй (обÑÑÑка mcpServers)",directFormat:"ÐÑÑмой (клÑÑ â обÑÐµÐºÑ ÐºÐ¾Ð½ÑигÑÑаÑии)",singleFormat:"Ðдин ÐºÐ»Ð¸ÐµÐ½Ñ (плоÑкие полÑ)",emptyState:"MCP-клиенÑÑ Ð¿Ð¾ÐºÐ° не наÑÑÑоенÑ",loadError:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ MCP-клиенÑов",createSuccess:"MCP-ÐºÐ»Ð¸ÐµÐ½Ñ ÑÑпеÑно Ñоздан",createError:"Ðе ÑдалоÑÑ ÑоздаÑÑ MCP-клиенÑ",updateSuccess:"MCP-ÐºÐ»Ð¸ÐµÐ½Ñ ÑÑпеÑно обновлÑн",updateError:"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ MCP-клиенÑ",enableSuccess:"MCP-ÐºÐ»Ð¸ÐµÐ½Ñ ÑÑпеÑно вклÑÑÑн",disableSuccess:"MCP-ÐºÐ»Ð¸ÐµÐ½Ñ ÑÑпеÑно оÑклÑÑÑн",toggleError:"Ðе ÑдалоÑÑ Ð¿ÐµÑеклÑÑиÑÑ ÑÑаÑÑÑ MCP-клиенÑа",deleteConfirm:"ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе ÑдалиÑÑ ÑÑÐ¾Ñ MCP-клиенÑ?",deleteSuccess:"MCP-ÐºÐ»Ð¸ÐµÐ½Ñ ÑÑпеÑно ÑдалÑн",deleteError:"Ðе ÑдалоÑÑ ÑдалиÑÑ MCP-клиенÑ",maskedFieldHint:"ЧÑвÑÑвиÑелÑнÑе Ð¿Ð¾Ð»Ñ ÑкÑÑÑÑ ***. РедакÑиÑование ÑкÑÑÑÑÑ
знаÑений не поддеÑживаеÑÑÑ â замениÑе полнÑм новÑм знаÑением.",tools:"ÐнÑÑÑÑменÑÑ Ð¸ ÑазÑеÑениÑ",noTools:"Ðа ÑÑом MCP ÑеÑвеÑе Ð½ÐµÑ Ð´Ð¾ÑÑÑпнÑÑ
инÑÑÑÑменÑов",toolsLoadError:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¸Ð½ÑÑÑÑменÑÑ Ñ MCP ÑеÑвеÑа",toolsConnecting:"MCP ÑеÑÐ²ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑаеÑÑÑ, попÑобÑйÑе ÑеÑез некоÑоÑое вÑемÑ",toolSchema:"СÑ
ема ввода",access:{title:"ÐоÑÑÑп",button:"ÐоÑÑÑп",summary:"ÐолиÑика доÑÑÑпа MCP",clientSection:"ÐбÑий доÑÑÑп",toolSection:"ÐоÑÑÑп к инÑÑÑÑменÑÑ",default:"Ðо ÑмолÑаниÑ",sourceType:"ÐÑÑоÑник",sourceValue:"ÐнаÑение иÑÑоÑника",sourceValueAllChannels:"ÐÑе каналÑ",subjectType:"ÐбÑекÑ",subjectValue:"ÐнаÑение обÑекÑа",effectLabel:"ÐолиÑика",source:{channel:"Ðанал"},subjectTypeOption:{all:"ÐÑе",user:"ÐолÑзоваÑелÑ"},sourceValuePlaceholder:{channel:"console / dingtalk"},subjectValuePlaceholder:"напÑимеÑ, alice",subjectValuePlaceholderSelectedSource:"ID полÑзоваÑÐµÐ»Ñ Ð² вÑбÑанном иÑÑоÑнике",subjectValuePlaceholderScoped:"ID полÑзоваÑÐµÐ»Ñ Ð² {{source}}",subjectValueAll:"ÐÑе",recentUserPlaceholder:"ID полÑзоваÑÐµÐ»Ñ Ð¾ÑноÑиÑÑÑ Ðº вÑбÑÐ°Ð½Ð½Ð¾Ð¼Ñ Ð¸ÑÑоÑникÑ; введиÑе или вÑбеÑиÑе заново",noRecentUsers:"ÐÐ»Ñ ÑÑого иÑÑоÑника Ð½ÐµÑ Ð½ÐµÐ´Ð°Ð²Ð½Ð¸Ñ
полÑзоваÑелей; введиÑе ID вÑÑÑнÑÑ",ambiguousUserSourceWarning:"ID полÑзоваÑÐµÐ»Ñ Ñникален ÑолÑко внÑÑÑи иÑÑоÑника. ÐÑбеÑиÑе конкÑеÑнÑй канал, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ñовпадений Ð¼ÐµÐ¶Ð´Ñ ÐºÐ°Ð½Ð°Ð»Ð°Ð¼Ð¸.",unknownUserValueWarning:"ÐÑого ID Ð½ÐµÑ ÑÑеди недавниÑ
акÑивнÑÑ
полÑзоваÑелей. СоÑ
Ñанение ÑазÑеÑено.",validation:{missingUserValue:"ÐÑбеÑиÑе конкÑеÑнÑй иÑÑоÑник и введиÑе коÑÑекÑнÑй ID полÑзоваÑелÑ.",ambiguousUserSource:"ÐÑавила Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ñказ
150ÑваÑÑ ÐºÐ¾Ð½ÐºÑеÑнÑй канал, а не вÑе каналÑ.",unknownUserValue:"ÐÑого ID Ð½ÐµÑ ÑÑеди недавниÑ
акÑивнÑÑ
полÑзоваÑелей. СоÑ
Ñанение ÑазÑеÑено."},addRule:"ÐобавиÑÑ Ð¿Ñавило",deleteRule:"УдалиÑÑ Ð¿Ñавило",noClientRules:"ÐÐµÑ Ð¿Ñавил",noRules:"ÐÐµÑ Ð¿Ñавил, иÑполÑзÑеÑÑÑ Ð¿Ð¾Ð»Ð¸Ñика по ÑмолÑаниÑ",inherit:"ÐаÑледоваÑÑ ({{effect}})",stale:"Ðе найдено",disabledTools:"ÐÑÐ¾Ñ MCP ÐºÐ»Ð¸ÐµÐ½Ñ Ð¾ÑклÑÑен; ÑоÑ
ÑанÑннÑе пÑавила доÑÑÑпа вÑÑ ÐµÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑедакÑиÑоваÑÑ.",discardTitle:"ÐÑмениÑÑ Ð½ÐµÑоÑ
ÑанÑннÑе изменениÑ?",discardContent:"ÐеÑоÑ
ÑанÑннÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ñики доÑÑÑпа бÑдÑÑ Ð¿Ð¾ÑеÑÑнÑ.",loadError:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¿Ð¾Ð»Ð¸ÑÐ¸ÐºÑ Ð´Ð¾ÑÑÑпа MCP",saveSuccess:"ÐолиÑика доÑÑÑпа MCP ÑоÑ
Ñанена",saveError:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ð¿Ð¾Ð»Ð¸ÑÐ¸ÐºÑ Ð´Ð¾ÑÑÑпа MCP",unmanagedRules:"{{count}} ÑаÑÑиÑеннÑÑ
пÑавил",effect:{allow:"РазÑеÑиÑÑ",ask:"СпÑаÑиваÑÑ",deny:"ÐапÑеÑиÑÑ"}},tab:{json:"ÐмпоÑÑ JSON",form:"Режим ÑоÑмÑ"},form:{key:"ÐлÑÑ ÐºÐ»Ð¸ÐµÐ½Ñа",keyPlaceholder:"my-mcp-server",keyRequired:"ÐлÑÑ ÐºÐ»Ð¸ÐµÐ½Ñа обÑзаÑелен",name:"ÐÑобÑажаемое имÑ",namePlaceholder:"My MCP Server",nameRequired:"ÐÑобÑажаемое Ð¸Ð¼Ñ Ð¾Ð±ÑзаÑелÑно",transport:"ТÑанÑпоÑÑ",url:"URL ÑеÑвеÑа",urlRequired:"URL обÑзаÑелен Ð´Ð»Ñ ÑдалÑннÑÑ
MCP ÑеÑвеÑов",command:"Ðоманда",commandRequired:"Ðоманда обÑзаÑелÑна Ð´Ð»Ñ ÑÑанÑпоÑÑа stdio",args:"ÐÑгÑменÑÑ (ÑеÑез пÑобел или Ñ Ð½Ð¾Ð²Ð¾Ð¹ ÑÑÑоки)",description:"ÐпиÑание",descriptionPlaceholder:"ÐеобÑзаÑелÑное опиÑание",env:"ÐеÑеменнÑе окÑÑжениÑ",envPlaceholder:"KEY=VALUE (по одной на ÑÑÑокÑ)"},oauth:{enableOAuth:"ÐÑполÑзоваÑÑ OAuth авÑоÑизаÑиÑ",manage:"OAuth",authorized:"ÐвÑоÑизован",notAuthorized:"Ðе авÑоÑизован",expired:"Токен иÑÑÑк",failed:"ÐÑибка авÑоÑизаÑии",waiting:"Ðжидание авÑоÑизаÑии...",authorize:"ÐвÑоÑизоваÑÑ",reauthorize:"ÐеÑеавÑоÑизоваÑÑ",revoke:"ÐÑозваÑÑ",startFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ OAuth",authFailed:"OAuth авÑоÑизаÑÐ¸Ñ Ð½Ðµ ÑдалаÑÑ",popupBlocked:"ÐÑплÑваÑÑее окно заблокиÑовано бÑаÑзеÑом. РазÑеÑиÑе вÑплÑваÑÑие окна и повÑоÑиÑе попÑÑкÑ.",windowClosed:"Ðкно авÑоÑизаÑии закÑÑÑо. ÐовÑоÑиÑе попÑÑкÑ.",noUrl:"СнаÑала введиÑе URL ÑеÑвеÑа",noClientKey:"СнаÑала ÑоздайÑе клиенÑ",showAdvanced:"ÐополниÑелÑнÑе паÑамеÑÑÑ",hideAdvanced:"СкÑÑÑÑ Ð¿Ð°ÑамеÑÑÑ",clientId:"Client ID (необÑзаÑелÑно)",clientIdPlaceholder:"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑкой ÑегиÑÑÑаÑии",scope:"Scope (необÑзаÑелÑно)",scopePlaceholder:"openid profile email",authEndpoint:"Authorization Endpoint (пеÑеопÑеделиÑÑ)",tokenEndpoint:"Token Endpoint (пеÑеопÑеделиÑÑ)",endpointHint:"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð°Ð²ÑообнаÑÑжениÑ. ÐаполниÑе Ð´Ð»Ñ ÑÑÑного ÑказаниÑ."}},Px={title:"ÐÑлÑÑ",description:"ÐапÑÑкайÑе HEARTBEAT.md Ñ ÑикÑиÑованнÑм инÑеÑвалом Ð´Ð»Ñ ÑамопÑовеÑок. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑполнÑеÑÑÑ ÑиÑ
о и не влиÑÐµÑ Ð½Ð° ÑекÑÑие диалоги, либо Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑпÑавлÑÑÑ Ð¾ÑвеÑÑ Ð² поÑледний канал ÑаÑа.",enabled:"ÐклÑÑиÑÑ Ð¿ÑлÑÑ",every:"ÐнÑеÑвал",everyRequired:"ÐбÑзаÑелÑно",everyMin:"Ðолжно бÑÑÑ Ð½Ðµ менÑÑе 1",timeoutSeconds:"ТаймаÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (ÑекÑндÑ)",timeoutRequired:"ÐбÑзаÑелÑно",timeoutMin:"Ðолжно бÑÑÑ Ð½Ðµ менÑÑе 1",timeoutMax:"Ðолжно бÑÑÑ Ð½Ðµ болÑÑе 3600",unitMinutes:"ÐинÑÑÑ",unitHours:"ЧаÑÑ",target:"Ð¦ÐµÐ»Ñ Ð¾ÑвеÑа",targetMain:"ТиÑ
ий Ñежим (по ÑмолÑаниÑ, без вÑвода в канал)",targetLast:"ÐÑпÑавлÑÑÑ Ð² поÑледний канал ÑаÑа",activeHours:"ÐкÑивнÑе ÑаÑÑ (необÑзаÑелÑно)",activeStart:"ÐÑÐµÐ¼Ñ Ð½Ð°Ñала",activeEnd:"ÐÑÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½ÑаниÑ",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð¿ÑлÑÑа",saveSuccess:"УÑпеÑно ÑоÑ
Ñанено; пÑлÑÑ Ð¿ÐµÑезагÑÑжен на леÑÑ",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð¿ÑлÑÑа",targetInbox:"ÐÑпÑавлÑÑÑ Ð²Ð¾ вÑ
одÑÑие",runNow:"ÐапÑÑÑиÑÑ ÑейÑаÑ",runNowSuccess:"ÐÑлÑÑ Ð·Ð°Ð¿ÑÑен. ЧеÑез неÑколÑко ÑекÑнд пÑовеÑÑÑе вÑ
одÑÑие или Ñелевой канал.",runNowFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ Ð²Ñполнение пÑлÑÑа"},Ax=JSON.parse(`{"title":"Cron-задаÑи","description":"СоздавайÑе и ÑпÑавлÑйÑе задаÑами по ÑаÑпиÑаниÑ, коÑоÑÑе авÑомаÑиÑеÑки вÑполнÑÑÑÑÑ Ð² Ñказанное вÑемÑ.","createJob":"СоздаÑÑ Ð·Ð°Ð´Ð°ÑÑ","editJob":"РедакÑиÑоваÑÑ Ð·Ð°Ð´Ð°ÑÑ","confirmDelete":"ÐодÑвеÑдиÑÑ Ñдаление","deleteConfirm":"ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе ÑдалиÑÑ ÑÑÑ Cron Job?","okText":"OK","cancelText":"ÐÑмена","deleteText":"УдалиÑÑ","id":"ID задаÑи","name":"ÐаÐ
150·Ð²Ð°Ð½Ð¸Ðµ задаÑи","enabled":"СÑаÑÑÑ","scheduleType":"Тип ÑаÑпиÑаниÑ","scheduleCron":"РаÑпиÑание (Cron)","scheduleCronLabel":"РаÑпиÑание (Cron)","scheduleTimezone":"ЧаÑовой поÑÑ","cronType":"ЧаÑÑоÑа","cronTypeHourly":"ÐаждÑй ÑаÑ","cronTypeDaily":"Ðжедневно","cronTypeWeekly":"ÐженеделÑно","cronTypeCustom":"ÐолÑзоваÑелÑÑкий","cronTime":"ÐÑемÑ","cronDaysOfWeek":"Ðни недели","cronDayMon":"ÐонеделÑник","cronDayTue":"ÐÑоÑник","cronDayWed":"СÑеда","cronDayThu":"ЧеÑвеÑг","cronDayFri":"ÐÑÑниÑа","cronDaySat":"СÑббоÑа","cronDaySun":"ÐоÑкÑеÑенÑе","cronCustomExpression":"Cron-вÑÑажение","taskText":"ТекÑÑ ÑообÑениÑ","action":"ÐейÑÑвие","disable":"ÐÑклÑÑиÑÑ","executeNow":"ÐÑполниÑÑ ÑейÑаÑ","edit":"РедакÑиÑоваÑÑ","delete":"УдалиÑÑ","totalItems":"ÐÑего {{count}} ÑлеменÑов","perPage":"/ ÑÑÑ.","pleaseInputId":"ÐожалÑйÑÑа, введиÑе ID задаÑи","pleaseInputName":"ÐожалÑйÑÑа, введиÑе название задаÑи","pleaseInputCron":"ÐожалÑйÑÑа, введиÑе cron-вÑÑажение","pleaseSelectTaskType":"ÐожалÑйÑÑа, вÑбеÑиÑе Ñип задаÑи","pleaseInputRequest":"ÐожалÑйÑÑа, введиÑе ÑодеÑжимое запÑоÑа","pleaseInputMessageContent":"ÐожалÑйÑÑа, введиÑе ÑекÑÑ ÑообÑениÑ","pleaseInputChannel":"ÐожалÑйÑÑа, введиÑе Ñелевой канал","pleaseInputUserId":"ÐожалÑйÑÑа, введиÑе ID Ñелевого полÑзоваÑелÑ","pleaseInputSessionId":"ÐожалÑйÑÑа, введиÑе ID Ñелевой ÑеÑÑии","jobIdPlaceholder":"напÑимеÑ, daily-report-job","jobNamePlaceholder":"напÑимеÑ, ÐжедневнÑй ÑÑÑенний оÑÑÑÑ","selectTimezone":"ÐÑбеÑиÑе ÑаÑовой поÑÑ","taskDescriptionPlaceholder":"ÐÐ»Ñ ÑекÑÑовÑÑ
Ð·Ð°Ð´Ð°Ñ Ð²Ð²ÐµÐ´Ð¸Ñе ÑекÑÑ ÑообÑениÑ...","invali
150dJsonFormat":"ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ JSON","jsonFormatRequired":"ТÑебÑеÑÑÑ ÑоÑÐ¼Ð°Ñ JSON","taskType":"Тип задаÑи","text":"ТекÑÑ ÑообÑениÑ","requestInput":"СодеÑжимое запÑоÑа","requestSessionId":"ID ÑеÑÑии запÑоÑа","requestUserId":"ID полÑзоваÑÐµÐ»Ñ Ð·Ð°Ð¿ÑоÑа","dispatchChannel":"Целевой канал","dispatchTargetUserId":"ID Ñелевого полÑзоваÑелÑ","dispatchTargetSessionId":"ID Ñелевой ÑеÑÑии","dispatchMode":"Режим доÑÑавки","silentDelivery":"ТиÑ
Ð°Ñ Ð´Ð¾ÑÑавка","runtimeShareSession":"ÐбÑÐ°Ñ ÑеÑÑиÑ","runtimeMaxConcurrency":"ÐакÑ. паÑаллелÑноÑÑÑ","runtimeTimeoutSeconds":"ТаймаÑÑ (ÑекÑндÑ)","runtimeMisfireGraceSeconds":"ÐÑгоÑнÑй пеÑиод пÑопÑÑка (ÑекÑндÑ)","runtimeToolSafety":"ÐÑовеÑка одобÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑов","idTooltip":"ÐенеÑиÑÑемÑй ÑиÑÑемой, неÑедакÑиÑÑемÑй ÑникалÑнÑй UUID, пÑиÑваиваемÑй пÑи Ñоздании задаÑи.","nameTooltip":"ÐонÑÑное имÑ, ÑÑÐ¾Ð±Ñ Ð²Ð°Ð¼ бÑло пÑоÑе найÑи ÑÑÑ Ð·Ð°Ð´Ð°ÑÑ.","cronTooltip":"ÐпÑеделиÑе, когда задаÑа должна запÑÑкаÑÑÑÑ","cronExample":"ÐопÑлÑÑнÑе пÑимеÑÑ: '0 9 * * *' = ежедневно в 09:00 | '*/30 * * * *' = каждÑе 30 мин | '0 */2 * * *' = каждÑе 2 ÑаÑа | '0 0 * * 0' = воÑкÑеÑенÑе, полноÑÑ","cronHelper":"ÐпеÑвÑе ÑабоÑаеÑе Ñ cron-вÑÑажениÑми?","cronHelperLink":"ÐÑполÑзоваÑÑ Ð¾Ð½Ð»Ð°Ð¹Ð½-генеÑаÑоÑ","timezoneTooltip":"ЧаÑовой поÑÑ Ð´Ð»Ñ cron-ÑаÑпиÑаниÑ. Ðо ÑмолÑаниÑ: UTC","taskTypeTooltip":"ÐÑбеÑиÑе 'text' Ð´Ð»Ñ Ð¿ÑоÑÑÑÑ
ÑекÑÑовÑÑ
Ð·Ð°Ð´Ð°Ñ Ð¸Ð»Ð¸ 'agent' Ð´Ð»Ñ ÑложнÑÑ
ÑÑенаÑиев Ñ Ð°Ð³ÐµÐ½Ñом.","textTooltip":"ÐÑоÑÑÐ°Ñ ÑекÑÑÐ¾Ð²Ð°Ñ Ð·Ð°Ð´Ð°Ñа: здеÑÑ ÑказÑваеÑÑÑ ÑакÑиÑеÑкий ÑекÑÑ ÑообÑениÑ. ÐбÑзаÑелÑно пÑи Ñипе задаÑи «text».","requestInputTooltip":"СодеÑжимое ÑообÑÐµÐ½Ð¸Ñ Ð² ÑоÑмаÑе JSON. Ðменно ÑÑо Ð°Ð³ÐµÐ½Ñ Ð¿Ð¾Ð»ÑÑÐ¸Ñ Ð¸ обÑабоÑаеÑ. ÐбÑзаÑелÑно пÑи Ñипе задаÑи «agent».","requestInputExample":"ФоÑмаÑ: [{\\"role\\":\\"user\\",\\"content\\":[{\\"type\\":\\"text\\",\\"text\\":\\"ÐаÑе ÑообÑение\\"}]}]","requestSessionIdTooltip":"ID ÑеÑÑии Ð´Ð»Ñ ÐºÐ¾Ð½ÑекÑÑа запÑоÑа. ÐÑли не ÑвеÑенÑ, иÑполÑзÑйÑе 'default'.","requestUserIdTooltip":"ID полÑзоваÑелÑ, коÑоÑÑй иниÑииÑÑÐµÑ Ð·Ð°Ð¿ÑоÑ. ÐÐ»Ñ Ð°Ð²ÑомаÑиÑеÑкиÑ
Ð·Ð°Ð´Ð°Ñ Ð¸ÑполÑзÑйÑе 'system'.","dispatchChannelTooltip":"Целевой канал, кÑда бÑÐ´ÐµÑ Ð¾ÑпÑавлен оÑÐ²ÐµÑ (напÑимеÑ, 'console', 'discord', 'imessage').","dispatchTargetUserIdTooltip":"ID полÑзоваÑелÑ, коÑоÑÑй полÑÑÐ¸Ñ Ð¾ÑÐ²ÐµÑ Ð² Ñелевом канале.","dispatchTargetSessionIdTooltip":"ID ÑеÑÑии, кÑда бÑÐ´ÐµÑ Ð´Ð¾ÑÑавлен оÑÐ²ÐµÑ Ð² Ñелевом канале.","dispatchModeTooltip":"ÐÑбеÑиÑе 'stream' Ð´Ð»Ñ Ð¾ÑвеÑов в ÑеалÑном вÑемени или 'final' ÑолÑко Ð´Ð»Ñ Ð¸ÑоговÑÑ
оÑвеÑов.","silentDeliveryTooltip":"ÐÑполниÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð°Ð³ÐµÐ½Ñа Ñ ÑоÑ
Ñанением ÑеÑÑии и ÑÑаÑÑиÑовки, но не оÑпÑавлÑÑÑ ÑезÑлÑÑÐ°Ñ Ð² канал.","shareSessionTooltip":"ÐÑи вклÑÑении иÑполÑзÑеÑÑÑ Ð¾Ð±ÑÐ°Ñ ÑеÑÑÐ¸Ñ Ñ ÑелевÑм полÑзоваÑелем. ÐÑи оÑклÑÑении каждÑй запÑÑк ÑÐ¾Ð·Ð´Ð°ÐµÑ Ð¸Ð·Ð¾Ð»Ð¸ÑованнÑй конÑекÑÑ Ñ ÑникалÑнÑм ID. ÐодÑ
Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ Ð½ÐµÐ·Ð°Ð²Ð¸ÑимÑÑ
Ð·Ð°Ð´Ð°Ñ Ð±ÐµÐ· памÑÑи. Ðо ÑмолÑаниÑ: вклÑÑено","maxConcurrencyTooltip":"ÐакÑималÑное колиÑеÑÑво одновÑеменно вÑполнÑемÑÑ
ÑкземплÑÑов ÑÑой задаÑи. Ðо ÑмолÑаниÑ: 1","timeoutSecondsTooltip":"ÐакÑималÑное вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² ÑекÑндаÑ
. ÐÑи пÑевÑÑении задаÑа бÑÐ´ÐµÑ Ð¾ÑÑановлена.","misfireGraceSecondsTooltip":"ÐÑгоÑнÑй пеÑиод Ð´Ð»Ñ Ð¿ÑопÑÑеннÑÑ
запÑÑков. ÐÑли задаÑа пÑопÑÑÑила вÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑÑка болÑÑе Ñем на ÑÑо знаÑение, она не бÑÐ´ÐµÑ Ð²Ñполнена.","toolSafetyTooltip":"ÐÑи вклÑÑении ÑиÑкованнÑе вÑÐ·Ð¾Ð²Ñ Ð¸Ð½ÑÑÑÑменÑов ÑÑебÑÑÑ Ð¾Ð´Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ (Ð¼Ð¾Ð¶ÐµÑ Ð±Ð»Ð¾ÐºÐ¸ÑоваÑÑ Ð°Ð²ÑомаÑиÑеÑкие задаÑи). ÐÑи вÑклÑÑении вÑÐ·Ð¾Ð²Ñ Ð½Ðµ запÑаÑиваÑÑ Ð¾Ð´Ð¾Ð±Ñение, но пÑавила заÑиÑÑ Ñайлов пÑодолжаÑÑ Ð´ÐµÐ¹ÑÑвоваÑÑ. Ðо ÑмолÑаниÑ: вÑклÑÑено","executeNowTitle":"ÐÑполниÑÑ Ð·Ð°Ð´Ð°ÑÑ ÑейÑаÑ","executeNowContent":"ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе вÑполниÑÑ Â«{{name}}» пÑÑмо ÑейÑаÑ?","executeNowConfirm":"ÐÑполниÑÑ ÑейÑаÑ","createFromTemplate":"СоздаÑÑ Ð¸Ð· Ñаблона","templateModalTitle":"ÐÑбеÑиÑе Ñаблон задаÑи","templateModalDescription":"ÐÑбеÑиÑе вÑÑÑоеннÑй Ñаблон и пÑи необÑ
одимоÑÑи измениÑе клÑÑевÑе паÑамеÑÑÑ Ð½Ð° панели пеÑед ÑоÑ
Ñанением.","useTemplate":"ÐÑполÑзоваÑÑ Ñаблон","templateTagPersonal":"ÐиÑное","templateTagTeam":"Ðоманда","templateTagReminder":"Ðапоминание","templateTagCalendar":"ÐалендаÑÑ","templateTagCalendarRecommended":"РекомендÑеÑÑÑ Ð´Ð»Ñ ÐºÐ°Ð»ÐµÐ½Ð´Ð°ÑÑ","saveResultToInbox":"СоÑ
ÑанÑÑÑ ÑезÑлÑÑÐ°Ñ Ð²Ð¾ вÑ
одÑÑиÑ
","saveResultToInboxTooltip":"ÐÑли вклÑÑено, ÑÑпеÑнÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ ÑÑпеÑной доÑÑавкой ÑоÑ
ÑанÑÑÑÑÑ Ð²Ð¾ вÑ
одÑÑиÑ
. ÐÑибки доÑÑавки вÑегда запиÑÑваÑÑÑÑ Ð²Ð¾ вÑ
одÑÑие как ÑезеÑв.","scheduleFilterAll":"ÐÑе ÑÐ¸Ð¿Ñ ÑаÑпиÑаниÑ","scheduleTypeRecurring":"ÐовÑоÑÑÑÑаÑÑÑ","scheduleTypeOnce":"ÐапланиÑованнаÑ","onceRunAt":"ÐапÑÑк в","repeatEnabled":"ÐовÑоÑ","repeatEnabledTooltip":"ÐклÑÑиÑÑ Ð¿Ð¾Ð²ÑоÑÑÑÑееÑÑ ÑаÑпиÑание Ð¾Ñ ÑÑого вÑемени наÑала","repeatFrequency":"ЧаÑÑоÑа повÑоÑа","repeatEveryDays":"ÐовÑоÑÑÑÑ ÐºÐ°Ð¶Ð´Ñе (дни)","repeatEveryPrefix":"ÐаждÑе","repeatEverySuffix":"дн.","repeatEndType":"ÐконÑание повÑоÑа","repeatEndNever":"Ðикогда","repeatEndUntil":"Ðо даÑÑ","repeatEndCount":"ÐгÑаниÑенное ÑиÑло запÑÑков","repeatUntil":"ÐаÑа оÐ
150ºÐ¾Ð½ÑаниÑ","repeatCount":"ЧиÑло запÑÑков","pleaseSelectScheduleType":"ÐÑбеÑиÑе Ñип ÑаÑпиÑаниÑ","pleaseInputRunAt":"ÐÑбеÑиÑе вÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑÑка","pleaseInputRepeatEveryDays":"ÐведиÑе инÑеÑвал повÑоÑа (дни)","pleaseSelectRepeatEndType":"ÐÑбеÑиÑе ÑÑловие оконÑаниÑ","pleaseInputRepeatUntil":"ÐÑбеÑиÑе даÑÑ Ð¾ÐºÐ¾Ð½ÑаниÑ","pleaseInputRepeatCount":"ÐведиÑе ÑиÑло запÑÑков","validation":{"cronRequired":"ÐÐ»Ñ Ð¿Ð¾Ð²ÑоÑÑÑÑегоÑÑ ÑаÑпиÑÐ°Ð½Ð¸Ñ ÑÑебÑеÑÑÑ cron-вÑÑажение.","runAtRequired":"ÐÐ»Ñ Ð¾Ð´Ð½Ð¾Ñазового ÑаÑпиÑÐ°Ð½Ð¸Ñ ÑÑебÑеÑÑÑ Ð²ÑÐµÐ¼Ñ Ð²ÑполнениÑ.","repeatUntilRequired":"ÐÑи вÑбоÑе «Ðо даÑÑ» необÑ
одимо ÑказаÑÑ Ð´Ð°ÑÑ Ð¾ÐºÐ¾Ð½ÑаниÑ.","repeatCountRequired":"ÐÑи вÑбоÑе «ÐгÑаниÑенное ÑиÑло запÑÑков» необÑ
одимо ÑказаÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво запÑÑков.","repeatUntilAfterRunAt":"ÐаÑа оконÑÐ°Ð½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ вÑемени вÑполнениÑ. ÐÑбеÑиÑе даÑÑ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ñле вÑемени вÑполнениÑ.","textRequired":"ÐÑи Ñипе задаÑи text ÑодеÑжимое ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑзаÑелÑно.","requestRequired":"ÐÑи Ñипе задаÑи agent ÑодеÑжимое запÑоÑа обÑзаÑелÑно.","invalidCronExpression":"ÐекоÑÑекÑное cron-вÑÑажение. ÐÑполÑзÑйÑе ÑоÑÐ¼Ð°Ñ Ð¸Ð· 5 полей."},"listView":"СпиÑок","calendarView":"ÐалендаÑÑ","calendarEmptyHint":"ÐапланиÑованнÑÑ
Ð·Ð°Ð´Ð°Ñ Ð¿Ð¾ÐºÐ° неÑ. СоздайÑе задаÑи по ÑаÑпиÑаниÑ, ÑÑÐ¾Ð±Ñ ÑвидеÑÑ Ð¸Ñ
в календаÑе.","calendarMoreItems":"+еÑÑ {{count}}","calendarDayListTitle":"ÐапланиÑованнÑе задаÑи на {{date}}","executionHistory":"ÐÑÑоÑиÑ","historyTitle":"ÐÑÑоÑÐ¸Ñ â {{name}}","historyEmpty":"ÐапиÑей о вÑполнении пока неÑ.","historyStatusSuccess":"УÑпеÑ
","historyStatusFailed":"ÐÑибка","historyStatusRunning":"ÐÑполнÑеÑÑÑ","historyStatusCancelled":"ÐÑменено","historyTriggerScheduled":"ÐапÑÑк по ÑаÑпиÑаниÑ","historyTriggerManual":"Ð ÑÑной запÑÑк","historyExpand":"РазвеÑнÑÑÑ","historyCollapse":"СвеÑнÑÑÑ","templates":{"dailyTechNewsBrief":{"title":"ÐайджеÑÑ ÑеÑ
ниÑеÑкиÑ
новоÑÑей","description":"Ð 09:30 в бÑдни ÑобиÑаÑÑ Ð°ÐºÑÑалÑнÑе ÑеÑ
ниÑеÑкие заголовки в кÑаÑкий обзоÑ.","frequency":"ÐÑдни 09:30 (30 9 * * 1-5)"},"dailyEveningReflection":{"title":"ÐеÑеÑнÑÑ ÑеÑлекÑиÑ","description":"Ð 20:00 в бÑдни â коÑоÑÐºÐ°Ñ Ð¿Ð¾Ð´Ñказка подвеÑÑи иÑоги ÑабоÑего днÑ.","frequency":"ÐÑдни 20:00 (0 20 * * 1-5)"},"weekendRelaxationReminder":{"title":"Ðапоминание оÑдоÑ
нÑÑÑ Ð½Ð° вÑÑ
однÑÑ
","description":"Ðо ÑÑÑам в вÑÑ
однÑе â подбоÑка попÑлÑÑнÑÑ
ÑилÑмов Ð´Ð»Ñ Ð»Ñгкого оÑдÑÑ
а.","frequency":"ÐÑÑ
однÑе 10:00 (0 10 * * 6,0)"},"pomodoroBreakReminder":{"title":"Ðапоминание о пеÑеÑÑве (помодоÑо)","description":"Ð ÑабоÑие ÑаÑÑ ÐºÐ°Ð¶Ð´Ñе 25 минÑÑ Ð½Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°ÑÑ Ð¿Ð¾Ð¿Ð¸ÑÑ Ð²Ð¾Ð´Ñ Ð¸Ð»Ð¸ даÑÑ Ð³Ð»Ð°Ð·Ð°Ð¼ оÑдоÑ
нÑÑÑ.","frequency":"ÐÑдни 09:00â17:59 каждÑе 25 мин (*/25 9-17 * * 1-5)"},"petCareReminder":{"title":"ÐиÑомеÑ: глиÑÑогонное / пÑививка","description":"15-го ÑиÑла каждого меÑÑÑа веÑеÑом â напоминание о дегелÑминÑизаÑии или ÑледÑÑÑей пÑививке.","frequency":"ÐжемеÑÑÑно 15-го в 20:00 (0 20 15 * *)"}
150,"onceTextBirthdayReminder":{"title":"Ðапоминание о дне ÑождениÑ","description":"ÐапомниÑÑ, ÑÑо Ñ xx Ð´ÐµÐ½Ñ ÑÐ¾Ð¶Ð´ÐµÐ½Ð¸Ñ 1 ÑнваÑÑ.","frequency":"ÐÑполниÑÑ: 2026-01-01 09:00"},"onceAgentBusinessTripPrep":{"title":"ÐодгоÑовка к командиÑовке","description":"ÐÑовеÑиÑÑ Ð¿Ð¾Ð³Ð¾Ð´Ñ Ð² пÑнкÑе назнаÑÐµÐ½Ð¸Ñ Ð¸ пÑедложиÑÑ ÑекомендаÑии по подгоÑовке к поездке.","frequency":"ÐÑполниÑÑ: 2026-01-01 20:00"},"repeatCountTextMedicineReminder":{"title":"Ðапоминание о лекаÑÑÑваÑ
(14 Ñаз)","description":"ÐапоминаÑÑ Ð²Ð¾Ð²ÑÐµÐ¼Ñ Ð¿ÑинимаÑÑ Ð»ÐµÐºÐ°ÑÑÑва в ÑамкаÑ
кÑÑÑа из 14 запÑÑков.","frequency":"ÐеÑвÑй запÑÑк: 2026-01-01 09:00 | ÐаждÑе 1 Ð´ÐµÐ½Ñ | 14 запÑÑков"},"repeatCountAgentDietPlan":{"title":"Ðлан пиÑÐ°Ð½Ð¸Ñ Ð½Ð° 14 дней","description":"ÐенеÑиÑоваÑÑ Ð¸ оÑпÑавлÑÑÑ ÐµÐ¶ÐµÐ´Ð½ÐµÐ²Ð½Ñе ÑекомендаÑии по пиÑÐ°Ð½Ð¸Ñ Ð² ÑеÑение 14 дней.","frequency":"ÐеÑвÑй запÑÑк: 2026-01-01 08:00 | ÐаждÑе 1 Ð´ÐµÐ½Ñ | 14 запÑÑков"},"repeatUntilTextWeeklyMeeting":{"title":"Ðапоминание о еженеделÑной вÑÑÑеÑе (2 меÑÑÑа)","description":"ÐженеделÑно напоминаÑÑ Ð¾ вÑÑÑеÑе до ÑÑÑановленной даÑÑ Ð¾ÐºÐ¾Ð½ÑаниÑ.","frequency":"ÐеÑвÑй запÑÑк: 2026-01-02 08:45 | ÐаждÑе 7 дней | Ðо 2026-03-01"},"repeatUntilAgentWeeklySummary":{"title":"ÐеделÑнÑй иÑог пеÑед вÑÑÑеÑей","description":"ÐеÑед каждой неделÑной вÑÑÑеÑей ÑоÑмиÑоваÑÑ ÑабоÑий иÑог на оÑнове memory за поÑледнÑÑ Ð½ÐµÐ´ÐµÐ»Ñ.","frequency":"ÐеÑвÑй запÑÑк: 2026-01-02 08:30 | ÐаждÑе 7 дней | Ðо 2026-03-01"}}}`),Mx=JSON.parse('{"title":"ÐаналÑ","description":"УпÑавление и наÑÑÑойка каналов ÑообÑений","loading":"ÐагÑÑзка каналов...","configSaved":"ÐонÑигÑÑаÑÐ¸Ñ ÑÑпеÑно ÑоÑ
Ñанена","configFailed":"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑ","botConflictTitle":"ÐÐ¾Ñ Ñже иÑполÑзÑеÑÑÑ","botConflictDescription":"ÐÑÐ¾Ñ Ð±Ð¾Ñ Ñже иÑполÑзÑеÑÑÑ Ð°Ð³ÐµÐ½Ñом {{agents}} в Ñом же канале. СоÑ
Ñанение Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к конÑликÑам ÑообÑений.","botConflictConfirm":"ÐÑÑ Ñавно ÑоÑ
ÑаниÑÑ","channelType":"Тип канала","status":"СÑаÑÑÑ","totalItems":"ÐÑего {{count}} ÑлеменÑов","botPrefix":"ÐÑеÑÐ¸ÐºÑ Ð±Ð¾Ñа","showToolCalls":"ÐоказÑваÑÑ ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ вÑзове инÑÑÑÑменÑа","showToolCallsTooltip":"ÐоказÑваÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑм ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ вÑзове инÑÑÑÑменÑа (вÑклÑÑиÑе, ÑÑÐ¾Ð±Ñ ÑкÑÑÑÑ)","showToolResults":"ÐоказÑваÑÑ ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ ÑезÑлÑÑаÑе инÑÑÑÑменÑа","showToolResultsTooltip":"ÐоказÑваÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑм ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ ÑезÑлÑÑаÑе инÑÑÑÑменÑа (вÑклÑÑиÑе, ÑÑÐ¾Ð±Ñ ÑкÑÑÑÑ)","toolCallMaxLength":"ÐакÑималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñзова инÑÑÑÑменÑа","toolResultMaxLength":"ÐакÑималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑезÑлÑÑаÑа инÑÑÑÑменÑа","toolMaxLengthTooltip":"УÑÑановиÑе 0, ÑÑÐ¾Ð±Ñ Ð½Ðµ огÑаниÑиваÑÑ Ð´Ð»Ð¸Ð½Ñ","onebotMediaBase64":"ÐÑпÑавлÑÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑе медиа как Base64","onebotMediaBase64Tooltip":"ÐÑбеÑиÑе ÑпоÑоб оÑпÑавки медиаÑайлов. ÐÑли паÑамеÑÑ Ð²ÑклÑÑен, оÑпÑавлÑеÑÑÑ Ð¿ÑÑÑ Ðº ÑайлÑ; еÑли вклÑÑÑн â Ñайл кодиÑÑеÑÑÑ Ð² Base64. УдалÑннÑе URL оÑÑаÑÑÑÑ Ð±ÐµÐ· изменений.","onebotMediaBase64MaxMb":"ÐгÑаниÑение ÑазмеÑа Ñайла Base64","onebotMediaBase64MaxMbTooltip":"ÐедиаÑÐ°Ð¹Ð»Ñ Ð±Ð¾Ð»ÑÑе ÑÑого огÑаниÑÐµÐ½Ð¸Ñ Ð¾ÑпÑавлÑÑÑÑÑ Ñ Ð¸ÑполÑзованием иÑÑ
одного пÑÑи Ð
150º ÑайлÑ.","onebotMediaBase64MaxMbRequired":"ÐведиÑе огÑаниÑение ÑазмеÑа Ñайла Base64","onebotMediaBase64MaxMbMin":"ÐгÑаниÑение ÑазмеÑа Ñайла Base64 должно бÑÑÑ Ð½Ðµ менее 1 MB","onebotMediaDir":"ÐиÑекÑоÑÐ¸Ñ Ð¼ÐµÐ´Ð¸Ð°Ñайлов","onebotMediaDirTooltip":"ÐаÑалог Ð´Ð»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð³ÑÑженнÑÑ
медиаÑайлов. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ ÐºÐ°Ñалог media в ÑабоÑем пÑоÑÑÑанÑÑве агенÑа.","onebotMediaDownloadMaxMb":"ÐгÑаниÑение ÑазмеÑа вÑ
одÑÑиÑ
медиа","onebotMediaDownloadMaxMbTooltip":"ÐакÑималÑнÑй ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ изобÑажениÑ, аÑдио, видео или Ñайла, загÑÑжаемого из OneBot.","onebotMediaDownloadMaxMbRequired":"ÐведиÑе огÑаниÑение ÑазмеÑа вÑ
одÑÑиÑ
медиа","onebotMediaDownloadMaxMbMin":"ÐгÑаниÑение ÑазмеÑа вÑ
одÑÑиÑ
медиа должно бÑÑÑ Ð½Ðµ менее 1 MB","onebotWsHostTooltip":"ÐдÑÐµÑ Ð¿ÑоÑлÑÑÐ¸Ð²Ð°Ð½Ð¸Ñ ÑеÑвеÑа обÑаÑного WebSocket. ÐÑÑавÑÑе 127.0.0.1, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑаÑÑÑÑ Ð¼Ð¾Ð³Ð»Ð¸ ÑолÑко клиенÑÑ OneBot на ÑÑой маÑине. ÐÑбой дÑÑгой адÑÐµÑ Ð¾ÑкÑÑÐ²Ð°ÐµÑ Ð¿Ð¾ÑÑ Ð² ÑеÑÑ Ð¸ ÑÑебÑÐµÑ Ñокен доÑÑÑпа.","onebotAccessTokenTooltip":"ÐбÑий Ñокен, коÑоÑÑй ÐºÐ»Ð¸ÐµÐ½Ñ OneBot оÑпÑавлÑÐµÑ Ð² заголовке Authorization. ÐбÑзаÑелен, еÑли адÑÐµÑ Ð¿ÑоÑлÑÑÐ¸Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ ÑвлÑеÑÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑм (loopback).","onebotAccessTokenRequired":"Токен доÑÑÑпа обÑзаÑелен, еÑли адÑÐµÑ WebSocket не ÑвлÑеÑÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑм (loopback)","showThinking":"ÐоказÑваÑÑ ÑаÑÑÑждениÑ","showThinkingTooltip":"ÐоказÑваÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑм ÑаÑÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ (вÑклÑÑиÑе, ÑÑÐ¾Ð±Ñ ÑкÑÑÑÑ)","noTextDebounce":"ÐебаÑÐ½Ñ Ð±ÐµÐ· ÑекÑÑа","noTextDebounceTooltip":"ÐÑли вклÑÑено, ÑообÑÐµÐ½Ð¸Ñ ÑолÑко Ñ Ð¼ÐµÐ´Ð¸Ð° (изобÑажениÑ/видео/ÑайлÑ) бÑÑеÑизÑÑÑÑÑ Ð´Ð¾ пÑиÑ
ода ÑекÑÑового ÑообÑениÑ, заÑем обÑединÑÑÑÑÑ. ÐÑклÑÑиÑе Ð´Ð»Ñ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾Ð¹ обÑабоÑки вÑеÑ
ÑообÑений. ÐолоÑовÑе ÑообÑÐµÐ½Ð¸Ñ Ð²Ñегда обÑабаÑÑваÑÑÑÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾.","streamingEnabled":"ÐоÑоковÑй вÑвод","streamingEnabledDingtalkHint":"ÐейÑÑвÑÐµÑ ÑолÑко пÑи Ñипе ÑообÑÐµÐ½Ð¸Ñ Card","streamingEnabledFeishuHint":"ÐеобÑ
одимо вклÑÑиÑÑ ÑазÑеÑение cardkit:card:write на ÑÑÑаниÑе ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑазÑеÑениÑми оÑкÑÑÑой плаÑÑоÑÐ¼Ñ Feishu","ackMessage":"СообÑение подÑвеÑждениÑ","ackMessageTooltip":"ÐÑпÑавиÑÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ñй оÑÐ²ÐµÑ Ð¿Ñи полÑÑении ÑообÑÐµÐ½Ð¸Ñ Ð´Ð¾ наÑала обÑабоÑки агенÑом. ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð¾ÑклÑÑениÑ.","ackMessagePlaceholder":"â³ ÐбÑабоÑка...","notSet":"Ðе задано","clickCardToEdit":"ÐажмиÑе на каÑÑоÑÐºÑ Ð´Ð»Ñ ÑедакÑиÑованиÑ","settings":"ÐаÑÑÑойки","channelSettings":"ÐаÑÑÑойки канала","pleaseInputDbPath":"ÐожалÑйÑÑа, введиÑе пÑÑÑ Ðº ÐÐ","pleaseInputPollInterval":"ÐожалÑйÑÑа, введиÑе инÑеÑвал опÑоÑа","discordBotToken":"Токен Discord-боÑа","acceptBotMessages":"ÐÑинимаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾Ñ Ð±Ð¾Ñов","acceptBotMessagesTooltip":"ÐÑи вклÑÑении бÑдÑÑ Ð¿ÑинимаÑÑÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾Ñ Ð´ÑÑгиÑ
боÑов","httpProxyPlaceholder":"http://127.0.0.1:18118","httpProxyAuthPlaceholder":"user:password","dbPathPlaceholder":"~/Library/Messages/chat.db","botPrefixPlaceholder":"@bot","dmPolicy":"ÐолиÑика лиÑнÑÑ
ÑообÑений","dmPolicyTooltip":"ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑвоваÑÑ Ñ Ð±Ð¾Ñом в лиÑнÑÑ
ÑообÑениÑÑ
. Open: вÑе; Allowlist: ÑолÑко авÑоÑизованнÑе полÑзоваÑели","groupPolicy":"ÐолиÑика гÑÑпп","groupPolicyTooltip":"ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑвоваÑÑ Ñ Ð±Ð¾Ñом в гÑÑпповÑÑ
ÑаÑаÑ
. Open: вÑе; Allowlist: ÑолÑко авÑоÑизованнÑе полÑзоваÑели","requireMention":"ТÑебоваÑÑ @Ñпоминание","requireMentionTooltip":"ÐÐ¾Ñ Ð¾ÑвеÑÐ°ÐµÑ Ð² гÑÑпповÑÑ
ÑаÑаÑ
ÑолÑко пÑи Ñвном @Ñпоминании","policyOpen":"Open","policyAllowlist":"Allowlist","allowFrom":"ÐолÑзоваÑели allowlist","allowFromTooltip":"СпиÑок ID полÑзоваÑелей, коÑоÑÑм ÑазÑеÑено взаимодейÑÑвоваÑÑ Ñ Ð±Ð¾Ñом. ÐклÑÑиÑе белÑй ÑпиÑок, заÑем напиÑиÑе боÑÑ Ð² ÐС â Ð²Ð°Ñ ID бÑÐ´ÐµÑ Ð² ÑообÑении об оÑказе","allowFromPlaceholder":"ÐведиÑе ID полÑзоваÑÐµÐ»Ñ Ð¸ нажмиÑе Enter, ÑÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ","denyMessage":"СообÑение об оÑказе","denyMessageTooltip":"ÐолÑзоваÑелÑÑкое ÑообÑение Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей, коÑоÑÑм оÑказан доÑÑÑп","twilioAccountSid":"Twilio Account SID","twilioAuthToken":"Twilio Auth Token","phoneNumber":"ÐÐ¾Ð¼ÐµÑ ÑелеÑона","phoneNumberSid":"Phone Number SID","phoneNumberSidHelp":"Ðожно найÑи в Ñазделе Phone Numbers â Active Numbers в Twilio Console.","ttsProvider":"TTS-пÑовайдеÑ","ttsVoice":"TTS-голоÑ","sttProvider":"STT-пÑовайдеÑ","language":"ЯзÑк","welcomeGreeting":"ÐÑивеÑÑÑвенное ÑообÑение","voiceSetupGuide":"СоздайÑе аккаÑÐ½Ñ Twilio, кÑпиÑе Ð½Ð¾Ð¼ÐµÑ ÑелеÑона и заÑем введиÑе даннÑе ниже. Account SID и Auth Token наÑ
одÑÑÑÑ Ð½Ð° панели Twilio Console. Phone Number SID Ñказан в Ñазделе Phone Numbers â Active Numbers.","voiceSetupLink":"ÐÑкÑÑÑÑ Twilio Console","sipSetupGuide":"ÐаÑÑÑойÑе SIP-ÑегиÑÑÑаÑÐ¾Ñ (напÑимеÑ, Asterisk, FreeSWITCH) и введиÑе ÑÑÑÑнÑе даннÑе SIP ниже. Ð Ñежиме Dev pyVoIP обÑабаÑÑÐ²Ð°ÐµÑ SIP/RTP локалÑно. Ð
150 Ñежиме Production иÑполÑзÑеÑÑÑ LiveKit SIP Server.","sipMode":"Режим SIP","sipModeTooltip":"Dev: Python pyVoIP Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»Ñного ÑеÑÑиÑованиÑ. Production: LiveKit SIP Server Ð´Ð»Ñ Ð²ÑÑокой нагÑÑзки.","sipServer":"SIP-ÑеÑвеÑ","sipServerPlaceholder":"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð²ÑÑÑоенного ÑегиÑÑÑаÑоÑа","sipServerPlaceholderLivekit":"Ðе ÑÑебÑеÑÑÑ Ð´Ð»Ñ Ñежима LiveKit","sipUsername":"ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ SIP","sipPassword":"ÐаÑÐ¾Ð»Ñ SIP","sipPort":"ÐоÑÑ SIP","sipTransport":"ТÑанÑпоÑÑ","sipDashscopeApiKey":"DashScope API Key","sipDashscopeApiKeyTooltip":"API-клÑÑ Ð´Ð»Ñ Aliyun DashScope STT/TTS. ÐÑли пÑÑÑо, иÑполÑзÑеÑÑÑ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ DASHSCOPE_API_KEY.","livekitUrl":"LiveKit URL","livekitApiKey":"LiveKit API Key","livekitApiSecret":"LiveKit API Secret","livekitSipTrunkId":"LiveKit SIP Trunk ID","livekitRoomName":"ÐÐ¼Ñ ÐºÐ¾Ð¼Ð½Ð°ÑÑ LiveKit","livekitRoomNameTooltip":"ÐÐ¼Ñ ÐºÐ¾Ð¼Ð½Ð°ÑÑ LiveKit Ð´Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ SIP-вÑзовов. Ðолжно ÑовпадаÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ комнаÑÑ Ð² пÑавиле SIP Dispatch Rule.","loginWeCom":"ÐолÑÑиÑÑ QR-код WeCom","wecomSetupGuide":"ÐÑи Ñоздании боÑа ÑеÑез QR-код, на ÑÑапе авÑоÑизаÑии возможноÑÑей боÑа вÑбеÑиÑе «ÐÑопÑÑÑиÑÑ Ð°Ð²ÑоÑизаÑиÑ». ÐÑли вÑбÑаÑÑ Â«ÐодÑвеÑдиÑÑ Ð°Ð²ÑоÑизаÑиÑ», дÑÑгие полÑзоваÑели, кÑоме ÑоздаÑÐµÐ»Ñ Ð±Ð¾Ñа, могÑÑ Ð½Ðµ имеÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи взаимодейÑÑвоваÑÑ Ñ Ð±Ð¾Ñом.","wecomScanAuth":"СканиÑоваÑÑ Ð´Ð»Ñ Ð°Ð²ÑоÑизаÑии","wecomAuthHint":"ÐÑÑканиÑÑйÑе QR-код вÑÑе Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ WeCom Ð´Ð»Ñ Ð°Ð²ÑоÑизаÑии. Bot ID и Secret бÑдÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð°Ð²ÑомаÑиÑеÑки.","wecomAuthSuccess":"ÐÐ¾Ñ WeCom авÑоÑизован. Bot ID и Secret Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð°Ð²ÑомаÑиÑеÑки.","wecomQrcodeFailed":"Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ QR-код WeCom. ÐопÑобÑйÑе еÑÑ Ñаз.","slackBotToken":"Bot Token","slackBotTokenTooltip":"Slack Bot User OAuth Token, наÑинаеÑÑÑ Ñ xoxb-","slackAppToken":"App Token","slackAppTokenTooltip":"Slack App-Level Token Ð´Ð»Ñ Socket Mode, наÑинаеÑÑÑ Ñ xapp-","slackProxyTooltip":"URL HTTP-пÑокÑи Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº Slack API","dingtalkSetupGuide":"ÐÑÑканиÑÑйÑе QR-код в DingTalk Ð´Ð»Ñ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾Ð³Ð¾ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð¾Ñа. ÐÑиложение DingTalk бÑÐ´ÐµÑ Ñоздано авÑомаÑиÑеÑки, а Client ID и Client Secret бÑдÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ.","dingtalkScanAuth":"СканиÑоваÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð¾Ñа","dingtalkGetQrcode":"ÐолÑÑиÑÑ QR-код DingTalk","dingtalkScanHint":"ÐÑÑканиÑÑйÑе QR-код вÑÑе Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ DingTalk. Client ID и Client Secret бÑдÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð°Ð²ÑомаÑиÑеÑки поÑле авÑоÑизаÑии.","dingtalkAuthSuccess":"ÐÐ¾Ñ DingTalk Ñоздан. Client ID и Client Secret Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð°Ð²ÑомаÑиÑеÑки.","dingtalkQrcodeFailed":"Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ QR-код DingTalk. ÐопÑобÑйÑе еÑÑ Ñаз.","dingtalkQrcodeExpired":"QR-код иÑÑÑк. ÐолÑÑиÑе новÑй.","qqSetupGuide":"ÐÑÑканиÑÑйÑе QR-код Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ QQ, ÑÑÐ¾Ð±Ñ Ð°Ð²ÑоÑизоваÑÑ Ð±Ð¾Ñа. ÐоÑле ÑканиÑÐ¾Ð²Ð°Ð½Ð¸Ñ APP ID и Client Secret бÑдÑÑ Ð°Ð²ÑомаÑиÑеÑки полÑÑÐµÐ½Ñ Ð¸ Ð²Ð²ÐµÐ´ÐµÐ½Ñ Ð² поле.","qqScanAuth":"ÐÑÑканиÑÑйÑе ÑÑÑиÑ
код, ÑÑÐ¾Ð±Ñ Ð°Ð²ÑоÑизоваÑÑ Ð±Ð¾Ñа","qqGetQrcode":"ÐолÑÑиÑÑ QR-код QQ","qqScanHint":"ÐÑÑканиÑÑйÑе QR-код вÑÑе Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ QQ. ÐоÑле завеÑÑÐµÐ½Ð¸Ñ Ð°Ð²ÑоÑизаÑии APP ID и Client Secret бÑдÑÑ Ð°Ð²ÑомаÑиÑеÑки Ð²Ð²ÐµÐ´ÐµÐ½Ñ Ð² поле.","qqAuthSuccess":"ÐвÑоÑизаÑÐ¸Ñ Ð±Ð¾Ñа QQ пÑоÑла ÑÑпеÑно, APP ID и Client Secret Ñже Ð²Ð²ÐµÐ´ÐµÐ½Ñ Ð² поле.","qqQrcodeFailed":"Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ QR-код QQ. ÐопÑобÑйÑе позже.","qqQrcodeExpired":"СÑок дейÑÑÐ²Ð¸Ñ QR-кода иÑÑек. ÐожалÑйÑÑа, полÑÑиÑе новÑй.","atSenderOnReply":"@ оÑпÑавиÑÐµÐ»Ñ Ð¿Ñи оÑвеÑе","atSenderOnReplyTooltip":"ÐÑи вклÑÑении Ð±Ð¾Ñ Ð±ÑÐ´ÐµÑ ÑпоминаÑÑ Ð¾ÑпÑавиÑÐµÐ»Ñ Ð² пеÑвом ÑообÑении оÑвеÑа в гÑÑпповÑÑ
ÑаÑаÑ
. ÐÑимеÑание: в Ñежиме каÑÑоÑек @Ñпоминание ÑабоÑÐ°ÐµÑ ÑолÑко Ð´Ð»Ñ Ð²Ð½ÑÑÑенниÑ
ÑоÑÑÑдников оÑганизаÑии.","dingtalkEndpoint":"API Endpoint","dingtalkEndpointTooltip":"ÐолÑзоваÑелÑÑкий API-адÑÐµÑ Ð´Ð»Ñ Ð¿ÑиваÑного ÑазвÑÑÑÑÐ²Ð°Ð½Ð¸Ñ DingTalk. ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑиÑиалÑного адÑеÑа по ÑмолÑаниÑ.","cardAutoLayout":"ШиÑокоÑоÑмаÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка (авÑоÑаÑкладка)","cardAutoLayoutTooltip":"ÐÑи вклÑÑении DingTalk оÑобÑÐ°Ð¶Ð°ÐµÑ AI-каÑÑоÑки в ÑиÑоком ÑоÑмаÑе на деÑкÑопе. ÐейÑÑвÑÐµÑ ÑолÑко пÑи Ñипе ÑообÑÐµÐ½Ð¸Ñ card. Шаблон каÑÑоÑки должен бÑÑÑ Ð¾Ð¿Ñбликован.","wecomCancelled":"ÐвÑоÑизаÑÐ¸Ñ Ð¾Ñменена","wecomAuthFailed":"ÐÑибка авÑоÑизаÑии: {{msg}}","filterAll":"ÐÑе","builtin":"ÐÑÑÑоеннÑе","custom"
150:"ÐолÑзоваÑелÑÑкие","feishuRegion":"Регион","feishuRegionTooltip":"ÐÑбеÑиÑе Feishu Ð´Ð»Ñ ÐиÑÐ°Ñ Ð¸Ð»Ð¸ Lark Ð´Ð»Ñ Ð¼ÐµÐ¶Ð´ÑнаÑодного иÑполÑзованиÑ","feishuChina":"Feishu (ÐиÑай)","feishuInternational":"Lark (ÐеждÑнаÑоднÑй)","feishuScanGuide":"ÐÑÑканиÑÑйÑе QR-код в Feishu Ð´Ð»Ñ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾Ð³Ð¾ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð¾Ñа. ÐÑиложение Feishu бÑÐ´ÐµÑ Ñоздано авÑомаÑиÑеÑки, а App ID и App Secret бÑдÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ.","feishuScanLogin":"СканиÑоваÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð¾Ñа","feishuGetQrcode":"ÐолÑÑиÑÑ QR-код Feishu","feishuScanHint":"ÐÑÑканиÑÑйÑе QR-код вÑÑе Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Feishu. App ID и App Secret бÑдÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð°Ð²ÑомаÑиÑеÑки поÑле авÑоÑизаÑии.","feishuAuthSuccess":"ÐÐ¾Ñ Feishu Ñоздан. App ID и App Secret Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð°Ð²ÑомаÑиÑеÑки.","feishuQrcodeExpired":"QR-код иÑÑÑк. ÐолÑÑиÑе новÑй.","feishuQrcodeFailed":"Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ QR-код Feishu. ÐопÑобÑйÑе еÑÑ Ñаз.","wechatSetupGuide":"ÐÐ¾Ñ Ð´Ð»Ñ Ð»Ð¸Ñного аккаÑнÑа WeChat (пÑоÑокол iLink). ÐÑи пеÑвом запÑÑке без Bot Token бÑÐ´ÐµÑ Ð²Ñведена ÑÑÑлка на QR-код Ð´Ð»Ñ Ð°Ð²ÑоÑизаÑии. Токен ÑоÑ
ÑанÑеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ñно Ð´Ð»Ñ Ð´Ð°Ð»ÑнейÑего иÑполÑзованиÑ.","wechatContextTokenLimit":"ÐгÑаниÑение плаÑÑоÑÐ¼Ñ WeChat iLink: context_token каждого ÑообÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¾ÑпÑавиÑÑ Ð¼Ð°ÐºÑимÑм 10 оÑвеÑнÑÑ
ÑообÑений. ÐÑо жÑÑÑкое огÑаниÑение плаÑÑоÑмÑ. РекомендÑеÑÑÑ Ð¾ÑклÑÑиÑÑ Ð²Ñвод ÑазмÑÑлений и инÑÑÑÑменÑов или вклÑÑиÑÑ ÑÑнкÑÐ¸Ñ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑообÑений, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¿ÑевÑÑÐµÐ½Ð¸Ñ Ð»Ð¸Ð¼Ð¸Ñа и оÑибок оÑпÑавки.","wechatBotToken":"Bot Token","wechatBotTokenTooltip":"Bearer-Ñокен, полÑÑеннÑй поÑле вÑ
ода по QR-кодÑ. ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка пÑоÑедÑÑÑ Ð²Ñ
ода пÑи ÑÑаÑÑе.","wechatBotTokenPlaceholder":"ÐаполнÑеÑÑÑ Ð°Ð²ÑомаÑиÑеÑки поÑле QR-вÑ
ода или введиÑе вÑÑÑнÑÑ","wechatBotTokenFile":"ÐÑÑÑ Ðº ÑÐ°Ð¹Ð»Ñ Ñокена","wechatBotTokenFileTooltip":"ÐÑÑÑ Ð´Ð»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Bot Token. Ðо ÑмолÑаниÑ: ~/.qwenpaw/wechat_bot_token","wechatMediaDir":"ÐиÑекÑоÑÐ¸Ñ Ð¼ÐµÐ´Ð¸Ð°Ñайлов","wechatMessageMerge":"ÐбÑединение ÑообÑений","wechatMessageMergeTooltip":"ÐбÑединÑÐµÑ Ð½ÐµÑколÑко оÑвеÑнÑÑ
ÑообÑений Ð´Ð»Ñ Ð¾ÑпÑавки менÑÑим колиÑеÑÑвом, ÑÑÐ¾Ð±Ñ Ð½Ðµ пÑевÑÑаÑÑ Ð»Ð¸Ð¼Ð¸Ñ WeChat в 10 ÑообÑений на context_token. ÐÑи задеÑжке 0 вÑе ÑекÑÑовÑе оÑвеÑÑ Ð¾Ð±ÑединÑÑÑÑÑ Ð² одно ÑообÑение в конÑе запÑоÑа. ÐоложиÑелÑÐ½Ð°Ñ Ð·Ð°Ð´ÐµÑжка (в мÑ) обÑединÑÐµÑ ÑоÑедние ÑообÑÐµÐ½Ð¸Ñ Ð² Ñказанном вÑеменном окне.","wechatMessageMergeDelayMs":"ÐадеÑжка обÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (мÑ)","wechatMessageMergeDelayMsTooltip":"ÐÑеменное окно Ð´Ð»Ñ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑоÑедниÑ
ÑообÑений. ÐнаÑение 0 обÑединÑÐµÑ Ð²Ñе ÑообÑÐµÐ½Ð¸Ñ Ð² один ÑиналÑнÑй оÑвеÑ. ÐоложиÑелÑное знаÑение (напÑ. 1000) бÑÑеÑизÑÐµÑ ÑообÑÐµÐ½Ð¸Ñ Ð² ÑеÑение Ñказанного пеÑиода пеÑед оÑпÑавкой.","wechatMessageMergeDelayMsValidation":"ÐведиÑе допÑÑÑимое неоÑÑиÑаÑелÑное Ñелое ÑиÑло","wechatScanLogin":"ÐойÑи ÑеÑез QR-код","wechatGetQrcode":"ÐолÑÑиÑÑ QR-код Ð´Ð»Ñ Ð²Ñ
ода","wechatScanHint":"ÐÑÑканиÑÑйÑе QR-код в WeChat, заÑем нажмиÑе СоÑ
ÑаниÑÑ","wechatQrcodeFailed":"Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ QR-код, попÑобÑйÑе Ñнова","wechatLoginSuccess":"ÐÑ
од ÑеÑез WeChat вÑполнен, Ñокен заполнен","wechatQrcodeExpired":"QR-код иÑÑÑк, полÑÑиÑе новÑй","shareSessionInGroup":"ÐбÑий конÑекÑÑ Ð² гÑÑппе","
150shareSessionInGroupTooltip":"ÐÑли вклÑÑено, вÑе ÑÑаÑÑники гÑÑÐ¿Ð¿Ñ Ð¸ÑполÑзÑÑÑ Ð¾Ð±Ñий конÑекÑÑ ÑазговоÑа. ÐÑли вÑклÑÑено, Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑаÑÑника незавиÑимÑй конÑекÑÑ.","accessControlEnabled":"ÐонÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа","accessControlEnabledTooltip":"ÐÑи вклÑÑении ÑолÑко полÑзоваÑели из белого ÑпиÑка могÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑвоваÑÑ Ñ Ð±Ð¾Ñом. ÐеизвеÑÑнÑм полÑзоваÑелÑм оÑобÑажаеÑÑÑ Ð¸Ñ
ID и они добавлÑÑÑÑÑ Ð² ÑпиÑок ожиданиÑ.","accessControlDm":"ÐонÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа в ÐС","accessControlDmTooltip":"ÐÑи вклÑÑении ÑолÑко полÑзоваÑели из белого ÑпиÑка могÑÑ Ð¾Ð±ÑаÑÑÑÑ Ñ Ð±Ð¾Ñом в лиÑнÑÑ
ÑообÑениÑÑ
","accessControlGroup":"ÐонÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа в гÑÑппаÑ
","accessControlGroupTooltip":"ÐÑи вклÑÑении ÑолÑко полÑзоваÑели из белого ÑпиÑка могÑÑ Ð¾Ð±ÑаÑÑÑÑ Ñ Ð±Ð¾Ñом в гÑÑпповÑÑ
ÑаÑаÑ
","dmDisabled":"ÐÑклÑÑиÑÑ ÐС","dmDisabledTooltip":"ÐÑи вклÑÑении Ð±Ð¾Ñ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑ Ð²Ñе лиÑнÑе ÑообÑениÑ","groupDisabled":"ÐÑклÑÑиÑÑ Ð³ÑÑппÑ","groupDisabledTooltip":"ÐÑи вклÑÑении Ð±Ð¾Ñ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑ Ð²Ñе гÑÑпповÑе ÑообÑениÑ","manageAccessControl":"ÐонÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа","pendingApprovals":"ÐжидаÑÑ Ð¾Ð´Ð¾Ð±ÑениÑ","whitelist":"ÐелÑй ÑпиÑок","blacklist":"ЧÑÑнÑй ÑпиÑок","addUser":"ÐобавиÑÑ","addUserPlaceholder":"ÐведиÑе ID полÑзоваÑелÑ","userId":"ID полÑзоваÑелÑ","username":"ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ","channel":"Ðанал","firstMessage":"ÐеÑвое ÑообÑение","time":"ÐÑемÑ","actions":"ÐейÑÑвиÑ","approve":"ÐелÑй ÑпиÑок","deny":"ЧÑÑнÑй ÑпиÑок","dismiss":"ÐÑклониÑÑ","noWhitelistUsers":"ÐÐµÑ Ð¿Ð¾Ð»ÑзоваÑелей в белом ÑпиÑке","noBlacklistUsers":"ÐÐµÑ Ð¿Ð¾Ð»ÑзоваÑелей в ÑÑÑном ÑпиÑке","noPendingApprovals":"ÐÐµÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑиÑ
одобÑениÑ","userAdded":"ÐолÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½","userRemoved":"ÐолÑзоваÑÐµÐ»Ñ ÑдалÑн","approveSuccess":"Ðобавлен в белÑй ÑпиÑок","denySuccess":"Ðобавлен в ÑÑÑнÑй ÑпиÑок","dismissSuccess":"ÐÑклонено","operationFailed":"ÐпеÑаÑÐ¸Ñ Ð½Ðµ ÑдалаÑÑ","remark":"ÐÑимеÑание","usernamePlaceholder":"ÐведиÑе Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ (необÑзаÑелÑно)","remarkPlaceholder":"ÐведиÑе пÑимеÑание (необÑзаÑелÑно)","filterByChannel":"ФилÑÑÑ Ð¿Ð¾ каналÑ","selectToOperate":"ÐÑбеÑиÑе ÑлеменÑÑ Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑии","selectedCount":"ÐÑбÑано: {{count}}","batchApprove":"ÐдобÑиÑÑ","batchDeny":"Ð ÑÑÑнÑй ÑпиÑок","batchDismiss":"УдалиÑÑ","batchApproveConfirm":"ÐдобÑиÑÑ {{count}} полÑзоваÑелей?","batchDenyConfirm":"ÐобавиÑÑ {{count}} полÑзоваÑелей в ÑÑÑнÑй ÑпиÑок?","batchDismissConfirm":"УдалиÑÑ {{count}} полÑзоваÑелей?","batchSuccess":"{{count}} полÑзоваÑелей обÑабоÑано","batchRemove":"УдалиÑÑ","batchRemoveConfirm":"УдалиÑÑ {{count}} вÑбÑаннÑÑ
полÑзоваÑелей?","enabledSection":"ÐкÑивиÑованнÑе","enabledCount":"{{count}}","availableSection":"ÐоÑÑÑпнÑе","enableAction":"ÐкÑивиÑоваÑÑ","noEnabledChannels":"ÐÐµÑ Ð°ÐºÑивиÑованнÑÑ
каналов","goEnableChannels":"ÐкÑивиÑоваÑÑ ÐºÐ°Ð½Ð°Ð»Ñ"}'),Dx={title:"СеÑÑии",description:"ÐÑоÑмоÑÑ Ð¸ ÑпÑавление акÑивнÑми ÑаÑ-ÑеÑÑиÑ
150ми",loading:"ÐагÑÑзка ÑеÑÑий...",confirmDelete:"ÐодÑвеÑдиÑÑ Ñдаление",deleteConfirm:"ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе ÑдалиÑÑ ÑÑÑ ÑеÑÑиÑ?",batchDeleteConfirm:"ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе ÑдалиÑÑ Ð²ÑбÑаннÑе ÑеÑÑии ({{count}})?",deleteSuccess:"СеÑÑÐ¸Ñ ÑÑпеÑно Ñдалена",deleteFailed:"Ðе ÑдалоÑÑ ÑдалиÑÑ ÑеÑÑиÑ",batchDeleteSuccess:"УÑпеÑно Ñдалено ÑеÑÑий: {{count}}",batchDeleteFailed:"Ðе ÑдалоÑÑ Ð¼Ð°ÑÑово ÑдалиÑÑ ÑеÑÑии",saveSuccess:"СеÑÑÐ¸Ñ ÑÑпеÑно ÑоÑ
Ñанена",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ ÑеÑÑиÑ",batchDeleteButton:"ÐаÑÑовое Ñдаление",filterTitle:"ФилÑÑÑ Ð¿Ð¾ названиÑ",filterUserId:"ФилÑÑÑ Ð¿Ð¾ ID полÑзоваÑелÑ",filterChannel:"ФилÑÑÑ Ð¿Ð¾ каналÑ",allChannels:"ÐÑе каналÑ",totalItems:"ÐÑего {{count}} ÑлеменÑов",selectedItems:"ÐÑбÑано {{count}} ÑлеменÑов",editSession:"РедакÑиÑоваÑÑ ÑеÑÑиÑ",pleaseInputName:"ÐожалÑйÑÑа, введиÑе название ÑеÑÑии",sessionNamePlaceholder:"Ðазвание ÑеÑÑии",activeTab:"ÐкÑивнÑе",archivedTab:"ÐÑÑ
ив",archivedAtColumn:"ÐаÑа аÑÑ
иваÑии",archive:{action:"ÐÑÑ
ивиÑоваÑÑ",unaction:"РазаÑÑ
ивиÑоваÑÑ",batchAction:"ÐÑÑ
ивиÑоваÑÑ Ð²ÑбÑаннÑе",batchUnaction:"РазаÑÑ
ивиÑоваÑÑ Ð²ÑбÑаннÑе",success:"Ð§Ð°Ñ Ð°ÑÑ
ивиÑован",successHint:"Ð§Ð°Ñ Ð°ÑÑ
ивиÑован. СмоÑÑиÑе в ÐÐ°Ð½ÐµÐ»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ > СеÑÑии > ÐÑÑ
ив.",failed:"Ðе ÑдалоÑÑ Ð°ÑÑ
ивиÑоваÑÑ",unarchiveSuccess:"Ð§Ð°Ñ ÑазаÑÑ
ивиÑован",unarchiveFailed:"Ðе ÑдалоÑÑ ÑазаÑÑ
ивиÑоваÑÑ",batchSuccess:"{{count}} ÑаÑ(ов) аÑÑ
ивиÑовано",batchFailed:"Ðе ÑдалоÑÑ Ð°ÑÑ
ивиÑоваÑÑ Ð²ÑбÑаннÑе",batchUnarchiveSuccess:"{{count}} ÑаÑ(ов) ÑазаÑÑ
ивиÑовано",batchUnarchiveFailed:"Ðе ÑдалоÑÑ ÑазаÑÑ
ивиÑоваÑÑ Ð²ÑбÑаннÑе",groupLabel:"ÐÑÑ
ив ({{count}})",modalTitle:"ÐÑÑ
ивиÑованнÑе ÑаÑÑ",unarchiveAll:"РазаÑÑ
ивиÑоваÑÑ Ð²Ñе",noArchived:"ÐÐµÑ Ð°ÑÑ
ивиÑованнÑÑ
ÑаÑов"}},xx={parent:"ÐаÑÑÑойки",environments:"ÐеÑеменнÑе окÑÑжениÑ",title:"ÐеÑеменнÑе окÑÑжениÑ",description:"ÐаÑÑÑойка пеÑеменнÑÑ
окÑÑÐ¶ÐµÐ½Ð¸Ñ (клÑÑ-знаÑение) Ð´Ð»Ñ Ð°Ð³ÐµÐ½Ñов и навÑков.",key:"ÐлÑÑ",value:"ÐнаÑение",variableNamePlaceholder:"VARIABLE_NAME",valuePlaceholder:"value",insertRowBelow:"ÐÑÑавиÑÑ ÑÑÑÐ¾ÐºÑ Ð½Ð¸Ð¶Ðµ",deleteRow:"УдалиÑÑ ÑÑÑокÑ",deleteVariable:"УдалиÑÑ Ð¿ÐµÑеменнÑÑ",deleteConfirm:"УдалиÑÑ Â«{{name}}»?",deleteSelected:"УдалиÑÑ Ð²ÑбÑаннÑе",deleteSelectedConfirm:"УдалиÑÑ {{label}}
150?",keyRequired:"ÐлÑÑ Ð¾Ð±ÑзаÑелен",invalidKeyFormat:"ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ ÐºÐ»ÑÑа",duplicateKey:"ÐÑÐ±Ð»Ð¸ÐºÐ°Ñ ÐºÐ»ÑÑа",saveSuccess:"ÐеÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ ÑоÑ
ÑаненÑ",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ",deleteSuccess:"«{{name}}» Ñдалено",deleteFailed:"Ðе ÑдалоÑÑ ÑдалиÑÑ",noVariables:"ÐеÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ° не наÑÑÑоенÑ.",addVariable:"ÐобавиÑÑ Ð¿ÐµÑеменнÑÑ",loading:"ÐагÑÑзкаâ¦",retry:"ÐовÑоÑиÑÑ",of:"из",selected:"вÑбÑано",variable:"пеÑеменнаÑ",variables:"пеÑеменнÑÑ
",showValue:"ÐоказаÑÑ Ð·Ð½Ð°Ñение",hideValue:"СкÑÑÑÑ Ð·Ð½Ð°Ñение",searchPlaceholder:"ÐоиÑк пеÑеменнÑÑ
",liveSettings:"ÐаÑÑÑойки ÑеалÑного вÑемени",noLiveVariables:"ÐÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÑемÑÑ
наÑÑÑоек, ÑооÑвеÑÑÑвÑÑÑиÑ
ÑилÑÑÑÑ.",customSettings:"ÐолÑзоваÑелÑÑкие пеÑеменнÑе",noCustomVariables:"ÐолÑзоваÑелÑÑкие пеÑеменнÑе пока не добавленÑ.",editVariable:"ÐзмениÑÑ Ð¿ÐµÑеменнÑÑ",applyNow:"ÐÑимениÑÑ",applyHint:"ТекÑÑий пÑоÑеÑÑ QwenPaw обновиÑÑÑ ÑÑазÑ. РабоÑаÑÑие MCP необÑ
одимо пеÑезагÑÑзиÑÑ.",applied:"ÐеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¿Ñименена",appliedWithFailures:"СоÑ
Ñанено, но не ÑдалоÑÑ Ð¿ÐµÑезагÑÑзиÑÑ Ð¿ÑоÑеÑÑов MCP: {{count}}",resetVariable:"СбÑоÑиÑÑ Ð¿ÐµÑеменнÑÑ",resetSuccess:"ÐоÑÑÑановлено ÑиÑÑемное знаÑение или знаÑение по ÑмолÑаниÑ",readonlySettings:"ÐаÑÑÑойки ÑолÑко Ð´Ð»Ñ ÑÑениÑ",noReadonlyVariables:"ÐÐµÑ Ð½Ð°ÑÑÑоек ÑолÑко Ð´Ð»Ñ ÑÑениÑ, ÑооÑвеÑÑÑвÑÑÑиÑ
ÑилÑÑÑÑ.",impactTitle:"ÐлиÑние на пÑоÑеÑÑÑ",explicitConsumers:"ÐÑоÑеÑÑов MCP, Ñвно иÑполÑзÑÑÑиÑ
пеÑеменнÑÑ: {{count}}",implicitConsumers:"ÐÑоÑеÑÑов stdio MCP, коÑоÑÑе могÑÑ ÑнаÑледоваÑÑ ÐµÑ: {{count}}",restartMode:"РабоÑаÑÑие MCP",restartAffected:"ÐеÑезагÑÑзиÑÑ Ð·Ð°ÑÑонÑÑÑе MCP",restartNone:"Ðе пеÑезагÑÑжаÑÑ",restartAllStdio:"ÐеÑезагÑÑзиÑÑ Ð²Ñе stdio MCP",readonlyReason:{startup:"ÐпÑеделÑеÑÑÑ Ð¿Ñи запÑÑке QwenPaw",agent_owned:"УпÑавлÑеÑÑÑ Ð½Ð°ÑÑÑойками каждого агенÑа",initial_default:"ТолÑко наÑалÑное знаÑение наÑÑÑойки агенÑа"},mutabilityDescription:{hot_runtime:"ЧиÑаеÑÑÑ Ð¸Ð· ÑекÑÑего пÑоÑеÑÑа QwenPaw в наÑале каждой опеÑаÑии.",hot_process:"ÐоÑÑÑпно ÑеÑез os.getenv() и наÑледÑеÑÑÑ Ð±ÑдÑÑими доÑеÑними пÑоÑеÑÑами.",startup_only:"ТолÑко Ð´Ð»Ñ ÑпÑавки; нелÑÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ ÑабоÑÑ QwenPaw.",internal:"УпÑавлÑеÑÑÑ QwenPaw внÑÑÑенне."},variableDescriptions:{QWENPAW_LLM_STREAM_FIRST_CONTENT_TIMEOUT:"ÐакÑималÑное ожидание пеÑвого знаÑимого ÑодеÑжимого поÑока; 0 оÑклÑÑÐ°ÐµÑ ÐºÐ¾Ð½ÑÑолÑ.",QWENPAW_LLM_STREAM_IDLE_TIMEOUT:"ÐакÑималÑное ожидание Ð¼ÐµÐ¶Ð´Ñ Ð·Ð½Ð°ÑимÑми ÑÑагменÑами поÑока; 0 оÑклÑÑÐ°ÐµÑ ÐºÐ¾Ð½ÑÑолÑ."},source:{user:"QwenPaw",system:"СиÑÑема",default:"Ðо ÑмолÑаниÑ"}},Rx={title:"ÐÑполÑзование Ñокенов",totalTokens:"ÐÑего Ñокенов",totalCalls:"ÐÑÐ·Ð¾Ð²Ñ LLM",toolCalls:"ÐÑÐ·Ð¾Ð²Ñ Ð¸Ð½ÑÑÑÑменÑов",llmAndToolTrend:"Ðинамика вÑзовов LLM и инÑÑÑÑменÑов",llmAndToolTrendTooltip:"Ð¥Ð¾Ð´Ñ Ð°ÑÑиÑÑенÑа Ñ Ð¼ÐµÑаданнÑми usage и намеÑÐµÐ½Ð¸Ñ Ð²Ñзова инÑÑÑÑменÑов по вÑем агенÑам. ÐÑо не Total Calls (ÑÑÑÑе API-вÑзовÑ);
150 в ÑÑаÑÑÑ
ÑеÑÑиÑÑ
Ñ
Ð¾Ð´Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ 0.",llmAndToolTrendLoadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÑ Ð²Ñзовов LLM и инÑÑÑÑменÑов",recordedTurnsAllAgents:"ÐÑÐ·Ð¾Ð²Ñ LLM",byAgent:"Ðо агенÑам",agent:"ÐгенÑ",unattributed:"Ðез аÑÑибÑÑии",promptTokens:"ÐÑ
однÑе ÑокенÑ",completionTokens:"ÐÑÑ
однÑе ÑокенÑ",cacheRead:"Ð¢Ð¾ÐºÐµÐ½Ñ Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ñ Ð² кÑÑ",cacheHitRate:"Ðопадание в кÑÑ",byModel:"Ðо модели",byDate:"Ðо даÑе",model:"ÐоделÑ",date:"ÐаÑа",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð´Ð°Ð½Ð½Ñе об иÑполÑзовании Ñокенов",noData:"ÐÐµÑ Ð´Ð°Ð½Ð½ÑÑ
об иÑполÑзовании Ñокенов за вÑбÑаннÑй пеÑиод",modelTrend:"ТÑенд иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹",tokenTypeChart:"ТÑенд Ñипов Ñокенов",selectAll:"ÐÑбÑаÑÑ Ð²Ñе",allSelected:"ÐÑе",itemsSelected:"ÐÑбÑано: {{count}}",selectModels:"ÐÑбеÑиÑе модели",selectTokenTypes:"ÐÑбеÑиÑе ÑÐ¸Ð¿Ñ Ñокенов"},Ix={title:"СÑаÑиÑÑика агенÑа",totalSessions:"ÐÑего ÑеÑÑий",totalMessages:"ÐÑего ÑообÑений",userMessages:"СообÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ",assistantMessages:"СообÑÐµÐ½Ð¸Ñ Ð°ÑÑиÑÑенÑа",promptTokens:"ÐÑ
однÑе ÑокенÑ",totalInputTokens:"ÐÑего вÑ
однÑÑ
Ñокенов",completionTokens:"ÐÑÑ
однÑе ÑокенÑ",toolCalls:"ÐÑÐ·Ð¾Ð²Ñ Ð¸Ð½ÑÑÑÑменÑов",newSessions:"ÐовÑе ÑеÑÑии",activeSessions:"ÐкÑивнÑе ÑеÑÑии",messageTrend:"Ðинамика ÑообÑений",sessionTrend:"Ðинамика ÑеÑÑий",tokenTrend:"Ðинамика Ñокенов",llmAndToolTrend:"Ðинамика вÑзовов LLM и инÑÑÑÑменÑов",sessionsByChannel:"СеÑÑии по каналам",messagesByChannel:"СообÑÐµÐ½Ð¸Ñ Ð¿Ð¾ каналам",totalSessionsTooltip:"ÐÑего ÑозданнÑÑ
ÑаÑ-ÑеÑÑий. ÐÐ°Ð¶Ð´Ð°Ñ ÑеÑÑÐ¸Ñ â незавиÑимÑй конÑекÑÑ ÑазговоÑа",totalMessagesTooltip:"ÐÑего ÑообÑений во вÑеÑ
ÑеÑÑиÑÑ
, вклÑÑÐ°Ñ ÑообÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¸ аÑÑиÑÑенÑа",toolCallsTooltip:"ÐолиÑеÑÑво ÑеÑений агенÑа вÑзваÑÑ Ð¸Ð½ÑÑÑÑменÑ. Ðдин вÑзов LLM Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑодиÑÑ Ð½ÐµÑколÑко намеÑений иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑов",messageTrendTooltip:"СÑавнение ÑообÑений полÑзоваÑÐµÐ»Ñ Ð¸ аÑÑиÑÑенÑа по днÑм",sessionTrendTooltip:"СÑавнение новÑÑ
и акÑивнÑÑ
ÑеÑÑий по днÑм. ÐÑанжевÑе ÑÑолбÑÑ â ÑозданнÑе в ÑÑÐ¾Ñ Ð´ÐµÐ½Ñ ÑеÑÑии, Ñиние â ÑеÑÑии Ñ ÑообÑениÑми в ÑÑÐ¾Ñ Ð´ÐµÐ½Ñ",llmAndToolTrendTooltip:"СÑавнение LLM-Ñ
одов ÑекÑÑего агенÑа и намеÑений иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑов",sessionsByChannelTooltip:"РаÑпÑеделение ÑеÑÑий по каналам. СеÑÑии без канала по ÑмолÑÐ°Ð½Ð¸Ñ Ð³ÑÑппиÑÑÑÑÑÑ Ð² Console",messagesByChannelTooltip:"РаÑпÑеделение обÑего колиÑеÑÑва ÑообÑений по каналам",currentAgentLlmCalls:"ÐапиÑаннÑе Ñ
одÑ",currentAgentTokenTrendTooltip:"Ðинамика вÑ
однÑÑ
, вÑÑ
однÑÑ
и попавÑиÑ
в кÑÑ Ñокенов ÑекÑÑего агенÑа по меÑаданнÑм за Ñ
од; ÑÐ¾ÐºÐµÐ½Ñ Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ñ Ð² кÑÑ Ð²Ñ
одÑÑ Ð²Ð¾ вÑ
однÑе ÑокенÑ",currentAgentPromptTokensTooltip:"ÐÑомпÑ-ÑÐ¾ÐºÐµÐ½Ñ ÑекÑÑего агенÑа по его ÑеÑÑиÑм за вÑбÑаннÑй пеÑиод (нÑÐ¶Ð½Ñ Ð¼ÐµÑаданнÑе иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð° Ñ
од; в ÑÑаÑÑÑ
ÑеÑÑиÑÑ
Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ 0)",currentAgentCacheHitRateTooltip:"ÐзвеÑÐµÐ½Ð½Ð°Ñ Ð¿Ð¾ Ñокенам Ð´Ð¾Ð»Ñ Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ð¹ в кÑÑ Ð´Ð»Ñ Ð½Ð°Ð±Ð»ÑдаемÑÑ
вÑзовов ÑекÑÑего агенÑа за вÑбÑаннÑй пеÑиод (ÑÐ¾ÐºÐµÐ½Ñ Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ñ Ð² кÑÑ / кÑÑиÑÑемÑе вÑ
однÑе ÑокенÑ; â еÑли даннÑÑ
неÑ)",currentAgentCompletionTokensTooltip:"Ð¢Ð¾ÐºÐµÐ½Ñ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ ÑекÑÑего агенÑа по его ÑеÑÑиÑ
150м за вÑбÑаннÑй пеÑиод (нÑÐ¶Ð½Ñ Ð¼ÐµÑаданнÑе иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð° Ñ
од; в ÑÑаÑÑÑ
ÑеÑÑиÑÑ
Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ 0)",currentAgentLlmCallsTooltip:"ЧиÑло Ñ
одов аÑÑиÑÑенÑа Ñ Ð·Ð°Ð¿Ð¸ÑаннÑми меÑаданнÑми иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ ÑекÑÑего агенÑа (не ÑиÑло ÑÑÑÑÑ
API-вÑзовов; в ÑÑаÑÑÑ
ÑеÑÑиÑÑ
Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ 0)",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑÑаÑиÑÑикÑ",noData:"ÐÐµÑ ÑÑаÑиÑÑиÑеÑкиÑ
даннÑÑ
за вÑбÑаннÑй пеÑиод",retry:"ÐовÑоÑиÑÑ"},_x={selectModel:"ÐÑбÑаÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ",noConfiguredModels:"ÐÐµÑ Ð½Ð°ÑÑÑоеннÑÑ
моделей",noFreeModels:"ÐÐµÑ Ð´Ð¾ÑÑÑпнÑÑ
беÑплаÑнÑÑ
моделей",switchFailed:"Ðе ÑдалоÑÑ Ð¿ÐµÑеклÑÑиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ",searchModels:"ÐоиÑк моделей...",noModelsFound:"ÐодÑ
одÑÑие модели не найденÑ",free:"ÐеÑплаÑно",vision:"Ðидение",freeBannerText:"ÐеÑплаÑнÑе модели могÑÑ Ð¸Ð¼ÐµÑÑ Ð»Ð¸Ð¼Ð¸ÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑабоÑаÑÑ Ð½ÐµÑÑабилÑно. ÐодÑобноÑÑи ÑÑоÑнÑйÑе Ñ Ð¿ÑовайдеÑа.",moreProviders:"ÐолÑÑе беÑплаÑнÑÑ
пÑовайдеÑов (нÑжен API Key)",proBannerText:"ÐÐ¾ÐºÐ°Ð·Ð°Ð½Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸, наÑÑÑоеннÑе в Ñазделе ÐаÑÑÑойки.",connectToUse:"ÐодклÑÑиÑÑ {{provider}} Ð´Ð»Ñ Ð±ÐµÑплаÑнÑÑ
моделей",configureApiKey:"ÐаÑÑÑоиÑÑ API Key {{provider}} Ð´Ð»Ñ Ð±ÐµÑплаÑнÑÑ
моделей",configureApiKeyTitle:"ÐеÑейÑи к наÑÑÑойке",configureApiKeyConfirm:"ÐÑ Ð±ÑдеÑе пеÑенапÑÐ°Ð²Ð»ÐµÐ½Ñ Ð½Ð° ÑÑÑаниÑÑ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки API Key {{provider}}. ÐÑодолжиÑÑ?",goToConfigure:"ÐеÑейÑи",noModelsDiscovered:"ÐодклÑÑено. ÐагÑÑзка моделей...",oauthTitle:"ÐодклÑÑиÑÑÑÑ Ðº {{provider}}",oauthDescription:"ÐÑкÑоеÑÑÑ Ð½Ð¾Ð²Ð¾Ðµ окно бÑаÑзеÑа Ð´Ð»Ñ Ð°Ð²ÑоÑизаÑии доÑÑÑпа к {{provider}}. API-клÑÑ Ð±ÑÐ´ÐµÑ ÑоÑ
ÑанÑн авÑомаÑиÑеÑки.",oauthContinue:"ÐÑодолжиÑÑ",oauthWaiting:"Ðжидание авÑоÑизаÑии...",oauthWaitingDescription:"ÐожалÑйÑÑа, завеÑÑиÑе авÑоÑизаÑÐ¸Ñ Ð² окне бÑаÑзеÑа.",oauthConnected:"УÑпеÑно подклÑÑено к {{provider}}",oauthFailed:"ÐвÑоÑизаÑÐ¸Ñ Ð½Ðµ ÑдалаÑÑ, попÑобÑйÑе Ñнова",oauthTimeout:"ÐÑÐµÐ¼Ñ Ð°Ð²ÑоÑизаÑии иÑÑекло, попÑобÑйÑе Ñнова",viewMore:"ÐоказаÑÑ ÐµÑÑ ({{count}})"},Lx=JSON.parse('{"discoveryOriginApi":"ÐбнаÑÑжено ÑеÑез API","discoveryOriginCatalog":"ÐÑиÑиалÑнÑй каÑалог","discoveryOriginBoth":"API + каÑалог","availabilityAvailable":"ÐоÑÑÑпна","availabilityPermissionDenied":"ÐÐµÑ Ð´Ð¾ÑÑÑпа","availabilityNotFound":"Ðе найдена","availabilityIncompatible":"ÐеÑовмеÑÑима Ñ ÑаÑом","availabilityRateLimited":"ÐгÑаниÑение ÑаÑÑоÑÑ","availabilityTransientError":"ÐÑеменно недоÑÑÑпна","availabilityUnverified":"Ðе пÑовеÑена","modelAlreadyConfigured":"ÐаÑÑÑоена","llmConfiguration":"ÐонÑигÑÑаÑÐ¸Ñ LLM","providersTitle":"ÐÑовайдеÑÑ","providersDescription":"ÐаÑÑÑойÑе API-клÑÑи и endpoints Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ пÑовайдеÑа.","llmTitle":"Ðодели","defaultLlm":"LLM по ÑмолÑаниÑ","llmDescription":"ÐдеÑÑ Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑÐ½Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ LLM по ÑмолÑÐ°Ð½Ð¸Ñ Ñ Ð°Ð²ÑоÑизованного пÑовайдеÑа. ÐÐ»Ñ ÐºÐ¾Ð½ÐºÑеÑного Agent Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¼Ð¾Ð¶Ð½Ð¾ вÑбÑаÑÑ Ð¾ÑделÑно на ÑÑÑаниÑе Chat.","configureProvider":"ÐаÑÑÑоиÑÑ {{name}}","baseURL":"ÐазовÑй URL","apiKey":"API-клÑÑ","advancedConfig":"РаÑÑиÑÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð½ÑигÑÑаÑиÑ","authMode":"Режим аÑÑенÑиÑикаÑии","authModeApiKey":"API Key (x-api-key)","authModeAuthToken":"Auth Token (Authorization: Bearer)","customHeaders":"ÐолÑзоваÑелÑÑкие заголовки","customHeadersHint":"ÐобавлÑÑÑÑÑ Ðº ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ Ð·Ð°Ð¿ÑоÑÑ API, напÑÐ¸Ð¼ÐµÑ x-app: cli","customHeaderKey":"Ðазвание заголовка","customHeaderValue":"ÐнаÑение заголовка","addHeader":"+ ÐобавиÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº","generateConfig":"ÐаÑамеÑÑÑ Ð³ÐµÐ½ÐµÑаÑии","generateConfigHint":"ÐаÑамеÑÑÑ Ð³ÐµÐ½ÐµÑаÑии в ÑоÑмаÑе JSON бÑдÑÑ ÑазвÑÑнÑÑÑ Ð¸ пеÑÐµÐ´Ð°Ð½Ñ Ð² запÑÐ¾Ñ Ð½Ð° генеÑаÑÐ¸Ñ (`openai.chat.completions` или `anthropic.messages`).","generateConfigInvalidJson":"ÐожалÑйÑÑа, введиÑе коÑÑекÑнÑй JSON","generateConfigMustBeObject":"ÐаÑамеÑÑÑ Ð³ÐµÐ½ÐµÑаÑии Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ JSON-обÑекÑом","modelAdvancedConfig":"РаÑÑиÑÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸","modelGenerateConfig":"ÐаÑамеÑÑÑ Ð³ÐµÐ½ÐµÑаÑии модели","modelGenerateConfigHint":"ÐаÑамеÑÑÑ Ð³ÐµÐ½ÐµÑаÑии в ÑоÑмаÑе JSON Ð´Ð»Ñ ÑÑой модели. Ðни бÑдÑÑ ÑазвÑÑнÑÑÑ Ð¸ пеÑÐµÐ´Ð°Ð½Ñ Ð² запÑÐ¾Ñ Ð½Ð° генеÑаÑиÑ. ÐмеÑÑ Ð¿ÑиоÑиÑÐµÑ Ð½Ð°Ð´ ÑаÑÑиÑенной конÑигÑÑаÑией пÑовайдеÑа.","modelConfigSaved":"ÐонÑигÑÑаÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ {{name}} ÑоÑ
Ñанена","modelConfigSaveFailed":"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸","modelConfigLabel":"ÐонÑигÑÑаÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸","maxTokensLabel":"ÐакÑ. Ñокенов","maxTokensHint":"ÐакÑималÑное колиÑеÑÑво вÑÑ
однÑÑ
Ñокенов на оÑвеÑ","maxInput
150LengthLabel":"ÐакÑ. длина конÑекÑÑа","maxInputLengthHint":"Ð Ð°Ð·Ð¼ÐµÑ ÐºÐ¾Ð½ÑекÑÑного окна модели, ÑпÑавлÑÐµÑ Ð¿Ð¾Ñогом ÑжаÑÐ¸Ñ ÐºÐ¾Ð½ÑекÑÑа (â¥1000)","relayReasoningLabel":"ÐеÑедаваÑÑ ÑаÑÑÑждениÑ","relayReasoningHint":"ÐеÑедаваÑÑ ÑодеÑжимое ÑаÑÑÑждений в поÑледÑÑÑие Ñ
Ð¾Ð´Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð°","thinkingModeLabel":"ÐклÑÑиÑÑ Ð¼ÑÑление","thinkingModeHint":"ÐклÑÑиÑе Ð´Ð»Ñ Ð°ÐºÑиваÑии мÑÑлениÑ/ÑаÑÑÑждениÑ. ÐÑклÑÑиÑе Ð´Ð»Ñ Ð¾ÑклÑÑÐµÐ½Ð¸Ñ Ð¼ÑÑлениÑ.","thinkingBudgetLabel":"ÐÑÐ´Ð¶ÐµÑ Ð¼ÑÑлениÑ","thinkingBudgetHint":"ÐÑполÑзÑеÑÑÑ Ð±ÑÐ´Ð¶ÐµÑ Ð¼ÑÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ","switchToManual":"ÐÑÑÑнÑÑ","switchToAuto":"ÐвÑо","reasoningEffortLabel":"ÐлÑбина ÑаÑÑÑждениÑ","reasoningEffortHint":"УпÑавлÑÐµÑ Ð³Ð»Ñбиной ÑаÑÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ (ÑемейÑÑво OpenAI)","protocol":"ÐÑоÑокол","protocolHint":"ÐÑбеÑиÑе пÑоÑокол API пÑовайдеÑа Ð´Ð»Ñ ÑÑой конÑигÑÑаÑии.","selectProtocol":"ÐожалÑйÑÑа, вÑбеÑиÑе пÑоÑокол","protocolOpenAI":"OpenAI-ÑовмеÑÑимÑй (Chat Completions)","protocolOpenAIResponse":"OpenAI-ÑовмеÑÑимÑй (Response API)","protocolAnthropic":"Anthropic (Messages API)","currentKey":"ТекÑÑий: {{key}}","startsWith":"ÐаÑинаеÑÑÑ Ñ Â«{{prefix}}»","optionalSelfHosted":"ÐеобÑзаÑелÑно Ð´Ð»Ñ self-hosted ÑеÑвиÑов","leaveBlankKeep":"ÐÑÑавÑÑе пÑÑÑÑм, ÑÑÐ¾Ð±Ñ ÑоÑ
ÑаниÑÑ ÑекÑÑий клÑÑ","enterApiKey":"ÐведиÑе API-клÑÑ ({{prefix}}...)","enterApiKeyOptional":"ÐведиÑе API-клÑÑ (необÑзаÑелÑно)","openAIEndpoint":"OpenAI endpoint, напÑÐ¸Ð¼ÐµÑ https://api.openai.com/v1","openAICompatibleEndpoint":"OpenAI-ÑовмеÑÑимÑй endpoint, напÑÐ¸Ð¼ÐµÑ https://api.example.com (добавлÑйÑе /v1 ÑолÑко еÑли Ð²Ð°Ñ Ð¿ÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ ÑÑого ÑÑебÑеÑ)","azureEndpointHint":"Azure OpenAI endpoint, напÑÐ¸Ð¼ÐµÑ https://<resource>.openai.azure.com/openai/v1","anthropicEndpointHint":"Anthropic endpoint, напÑÐ¸Ð¼ÐµÑ https://api.anthropic.com","ollamaEndpointHint":"Ollama endpoint, напÑÐ¸Ð¼ÐµÑ http://localhost:11434","lmstudioEndpointHint":"LM Studio endpoint, напÑÐ¸Ð¼ÐµÑ http://localhost:1234/v1","apiEndpointHint":"API endpoint, напÑÐ¸Ð¼ÐµÑ https://api.example.com","pleaseEnterBaseURL":"ÐожалÑйÑÑа, введиÑе базовÑй URL API","selectBaseURL":"ÐÑбеÑиÑе базовÑй URL","selectBaseURLHint":"ÐÑбеÑиÑе ÑегионалÑнÑÑ ÐºÐ¾Ð½ÐµÑнÑÑ ÑоÑÐºÑ ÑÑого пÑовайдеÑа","pleaseEnterValidURL":"ÐожалÑйÑÑа, введиÑе коÑÑекÑнÑй URL","apiKeyShouldStart":"API-клÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ наÑинаÑÑÑÑ Ñ Â«{{prefix}}»","configurationSaved":"ÐонÑигÑÑаÑÐ¸Ñ {{name}} ÑоÑ
Ñанена","failedToSaveConfig":"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑ","revokeAuthorization":"ÐÑозваÑÑ Ð°Ð²ÑоÑизаÑиÑ","revokeConfirmContent":"ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе ÑдалиÑÑ API-клÑÑ Ð´Ð»Ñ {{name}}? ТекÑÑÐ°Ñ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ LLM-модели Ñакже бÑÐ´ÐµÑ Ð¾ÑиÑена.","revokeConfirmSimple":"ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе ÑдалиÑÑ API-клÑÑ Ð´Ð»Ñ {{name}}?","authorizationRevoked":"ÐвÑоÑизаÑÐ¸Ñ {{name}} оÑозвана, LLM-Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¾ÑиÑена","authorizationRevokedSimple":"ÐвÑоÑизаÑÐ¸Ñ {{name}} оÑозвана","failedToRevoke":"Ðе ÑдалоÑÑ Ð¾ÑозваÑÑ Ð°Ð²ÑоÑизаÑиÑ","active":"ÐкÑивно: {{provider}} / {{model}}","provider":"ÐÑовайдеÑ","model":"ÐоделÑ","selectProvider":"ÐÑбеÑиÑе пÑовайдеÑа (должен бÑÑÑ Ð°Ð²ÑоÑизован)","selectModel":"ÐÑбеÑиÑе моделÑ","llmModelUpdated":"LLM-Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð°","failedToSave":"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ","freeModelWarningTitle":"Уведомление о беÑплаÑной модели","freeModelWarningMessage":"ÐеÑплаÑнÑе модели могÑÑ ÑабоÑаÑÑ Ð½ÐµÑÑабилÑно. ÐодÑобноÑÑи ÑмоÑÑиÑе в ÑÑловиÑÑ
пÑовайдеÑа:","freeModelWarningDontShowAgain":"ÐолÑÑе не показÑваÑÑ","saved":"СоÑ
Ñанено","save":"СоÑ
ÑаниÑÑ","cancel":"ÐÑмена","loading":"ÐагÑÑзка...","retry":"ÐовÑоÑиÑÑ","notSet":"Ðе задано","notRequired":"Ðе ÑÑебÑеÑÑÑ","available":"ÐоÑÑÑпно","unavailable":"ÐедоÑÑÑпно","providerAvailable":"ÐоÑово (еÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸)","providerNoModels":"Ðе гоÑово (Ð½ÐµÑ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹)","search":"ÐоиÑк","searchPlaceholder":"ÐоиÑк пÑовайдеÑов...","searchModelPlaceholder":"ÐоиÑк моделей...","providerNotConfigured":"Ðе гоÑово (не наÑÑÑоено)","settings":"ÐаÑÑÑойки","actions":"ÐейÑÑвиÑ","custom"
150:"ÐолÑзоваÑелÑÑкий","builtin":"ÐÑÑÑоеннÑй","freeTierGroup":"ÐеÑплаÑнÑй ÑÑовенÑ","paidGroup":"ÐлаÑнÑе","localCustomGroup":"ÐокалÑнÑе и полÑзоваÑелÑÑкие","endpointCount":"{{count}} конеÑнÑÑ
ÑоÑек","connect":"OAuth","saveApiKey":"СоÑ
ÑаниÑÑ","addProvider":"ÐобавиÑÑ Ð¿ÑовайдеÑа","addProviderTitle":"ÐобавиÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого пÑовайдеÑа","providerIdLabel":"ID пÑовайдеÑа","providerIdPlaceholder":"напÑимеÑ: openai, google, anthropic","providerIdHint":"СÑÑоÑнÑе бÑквÑ, ÑиÑÑÑ, деÑиÑÑ Ð¸ подÑÑÑкиваниÑ. ÐелÑÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð¿Ð¾Ð·Ð¶Ðµ.","providerNameLabel":"ÐÑобÑажаемое имÑ","providerNamePlaceholder":"напÑимеÑ: OpenAI, Google Gemini","defaultBaseUrlLabel":"ÐазовÑй URL по ÑмолÑаниÑ","defaultBaseUrlPlaceholder":"напÑимеÑ: https://api.example.com","apiKeyPrefixLabel":"ÐÑеÑÐ¸ÐºÑ API-клÑÑа (необÑзаÑелÑно)","apiKeyPrefixPlaceholder":"напÑимеÑ: sk-","providerCreated":"ÐÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Â«{{name}}» Ñоздан","providerCreateFailed":"Ðе ÑдалоÑÑ ÑоздаÑÑ Ð¿ÑовайдеÑа","deleteProvider":"УдалиÑÑ Ð¿ÑовайдеÑа","deleteProviderConfirm":"УдалиÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого пÑовайдеÑа «{{name}}» и вÑе его модели? ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ.","providerDeleted":"ÐÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Â«{{name}}» ÑдалÑн","providerDeleteFailed":"Ðе ÑдалоÑÑ ÑдалиÑÑ Ð¿ÑовайдеÑа","manageModels":"Ðодели","models":"Ðодели","manageModelsTitle":"{{provider}} â УпÑавление моделÑми","userAdded":"Ðобавлено полÑзоваÑелем","addModel":"ÐобавиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ","addModels":"ÐобавиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸","autoDiscoverModels":"ÐвÑообнаÑÑжение моделей","addModelTitle":"ÐобавиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð² {{provider}}","modelIdLabel":"ID модели","modelIdPlaceholder":"напÑимеÑ: gpt-4o, gemini-2.0-flash","modelDiscoveryUnavailableHint":"ÐоÑÑÑпнÑе модели не найденÑ. Ðозможно, ÑÑÐ¾Ñ Ð¿ÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð»ÑÑение ÑпиÑка моделей, поÑÑÐ¾Ð¼Ñ Ð²Ð²ÐµÐ´Ð¸Ñе ID модели вÑÑÑнÑÑ.","modelNameLabel":"Ðазвание модели","modelNameRequired":"ÐожалÑйÑÑа, введиÑе название модели","modelNamePlaceholder":"напÑимеÑ: GPT-4o, Gemini 2.0 Flash","modelAdded":"ÐÐ¾Ð´ÐµÐ»Ñ Â«{{name}}» добавлена","modelAddFailed":"Ðе ÑдалоÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ","modelAlreadyExists":"ÐÐ¾Ð´ÐµÐ»Ñ Ñ ID \\"{{id}}\\" Ñже ÑÑÑеÑÑвÑеÑ","autoDiscoverModelsSuccess":"ÐвÑообнаÑÑжение завеÑÑено. Ðобавлено моделей: {{count}}","autoDiscoverModelsNoNew":"ÐвÑообнаÑÑжение завеÑÑено. ÐовÑÑ
моделей не найдено","autoDiscoverModelsFailed":"Ðе ÑдалоÑÑ Ð°Ð²ÑомаÑиÑеÑки обнаÑÑжиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸","removeModel":"УдалиÑÑ","removeModelConfirm":"УдалиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ Â«{{name}}» из {{provider}}?","modelRemoved":"ÐÐ¾Ð´ÐµÐ»Ñ Â«{{name}}» Ñдалена","modelRemoveFailed":"Ðе ÑдалоÑÑ ÑдалиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ","loadMore":"ÐагÑÑзиÑÑ ÐµÑÑ ({{count}})","modelsCount":"{{count}} моделей","noModels":"ÐÐµÑ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹","addModelFirst":"СнаÑала добавÑÑе моделÑ","modelList":"СпиÑок моделей","clearAll":"ÐÑиÑÑиÑÑ Ð²ÑÑ","filteredModelsLoaded":"ÐагÑÑжено оÑÑилÑÑÑованнÑÑ
моделей: {{count}}","filterFailed":"Ðе ÑдалоÑÑ Ð¾ÑÑилÑÑÑоваÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸","clearAllModels":"ÐÑиÑÑиÑÑ Ð²Ñе модели","clearAllModelsConfirm":"УдалиÑÑ Ð²Ñе дополниÑелÑнÑе модели (вÑего {{count}})? ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ.","allModelsCleared":"ЧиÑло ÑдаленнÑÑ
моделей: {{count}}","filterModels":"ФилÑÑÑоваÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸","filterByProvider":"ÐÑовайдеÑ:","searchProviderPlaceholder":"ÐоиÑк по Ð
150½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ пÑовайдеÑа","selectAllProviders":"ÐÑбÑаÑÑ Ð²Ñе","clearProviderSelection":"СнÑÑÑ Ð²Ñе","noMatchingProviders":"ÐÐµÑ Ð¿Ð¾Ð´Ñ
одÑÑиÑ
пÑовайдеÑов","filterByModality":"ÐодалÑноÑÑÑ Ð²Ð²Ð¾Ð´Ð°:","filterFreeOnly":"ТолÑко беÑплаÑнÑе модели:","getModels":"ÐолÑÑиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸","discovered":"ÐоÑÑÑпнÑе модели:","add":"ÐобавиÑÑ","local":"ÐокалÑнÑе","localType":"Тип","localEmbedded":"ÐÑÑÑÐ¾ÐµÐ½Ð½Ð°Ñ (в пÑоÑеÑÑе)","localDownloadFirst":"СеÑÐ²Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ не запÑÑен","localDownloadModel":"СкаÑаÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ","localModelsTitle":"{{provider}} â ÐокалÑнÑе модели","localNoModels":"Ðока Ð½ÐµÑ ÑкаÑаннÑÑ
моделей","localRepoId":"ID ÑепозиÑоÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸","localRepoIdRequired":"ÐожалÑйÑÑа, введиÑе ID ÑепозиÑоÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸","localRepoIdPlaceholder":"напÑимеÑ: Qwen/Qwen3-0.6B-GGUF","localFilename":"ÐÐ¼Ñ Ñайла (необÑзаÑелÑно)","localFilenamePlaceholder":"напÑимеÑ: mistral-7b.Q4_K_M.gguf","localFilenameHint":"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð°Ð²ÑомаÑиÑеÑкого вÑбоÑа лÑÑÑей кванÑизаÑии","localSource":"ÐÑÑоÑник","localDownloadSuccess":"ÐÐ¾Ð´ÐµÐ»Ñ ÑÑпеÑно ÑкаÑана","localDownloadFailed":"Ðе ÑдалоÑÑ ÑкаÑаÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ","localDeleteModel":"УдалиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ","localDeleteConfirm":"УдалиÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ Â«{{name}}»? Файл модели бÑÐ´ÐµÑ ÑдалÑн Ñ Ð´Ð¸Ñка.","localModelDeleted":"ÐÐ¾Ð´ÐµÐ»Ñ Â«{{name}}» Ñдалена","localDeleteFailed":"Ðе ÑдалоÑÑ ÑдалиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ","localDownloadPending":"ÐодгоÑовка к загÑÑзке...","localDownloading":"ÐагÑÑзка {{repo}}... ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð½ÑÑÑ Ð½ÐµÑколÑко минÑÑ.","localDownloadNavigateHint":"ÐÑ Ð¼Ð¾Ð¶ÐµÑе пеÑейÑи на дÑÑгÑÑ ÑÑÑаниÑÑ â загÑÑзка пÑодолжиÑÑÑ Ð² Ñоне.","localDownloadInProgress":"ÐагÑÑзка Ñже вÑполнÑеÑÑÑ","localDownloaded":"ÐагÑÑжено","localNotDownloaded":"Ðе загÑÑжено","localNoRecommendedModels":"ТекÑÑÐ°Ñ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑÑÑÑойÑÑва ÑлиÑком ÑÐ»Ð°Ð±Ð°Ñ Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка локалÑнÑÑ
моделей","localCancelDownloadTitle":"ÐÑмениÑÑ Ð·Ð°Ð³ÑÑзкÑ","localCancelDownloadAction":"ÐÑмениÑÑ Ð·Ð°Ð³ÑÑзкÑ","localCancelDownloadConfirm":"ÐÑмениÑÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Â«{{repo}}»?","localDownloadCancelled":"ÐагÑÑзка оÑменена","localCancelDownloadFailed":"Ðе ÑдалоÑÑ Ð¾ÑмениÑÑ Ð·Ð°Ð³ÑÑзкÑ","localLlamacppName":"Ðвижок инÑеÑенÑа","localLlamacppInstallHint":"СнаÑала ÑÑÑановиÑе локалÑнÑÑ ÑÑедÑ, заÑем можно ÑкаÑиваÑÑ Ð¸Ð»Ð¸ запÑÑкаÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ.","localInstallLlamacpp":"УÑÑановиÑÑ llama.cpp","localLlamacppInstallStarted":"ÐагÑÑзка llama.cpp наÑалаÑÑ","localLlamacppInstallSuccess":"llama.cpp ÑÑпеÑно ÑÑÑановлен","localLlamacppInstallFailed":"Ðе ÑдалоÑÑ ÑÑÑановиÑÑ llama.cpp","localRuntimeSectionTitle":"Inference Engine","localRuntimeSectionDescription":"Powered by Llama.cpp","localRuntimeComputeHint":"Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ CPU. ÐÑли нÑжна GPU-акÑелеÑаÑиÑ, иÑполÑзÑйÑе Ollama или LM Studio.","localRuntimeInstalled":"УÑÑановлен","localRuntimeUpdateAvailable":"ÐоÑÑÑпно обновление","localRuntimeUpdateAction":"ÐажмиÑе, ÑÑÐ¾Ð±Ñ ÑкаÑаÑÑ Ð¿Ð¾ÑледнÑÑ Ð²ÐµÑÑиÑ","localRuntimeUpdateConfirmTitle":"ÐодÑвеÑдиÑе обновление llama.cpp","localRuntimeUpdateConfirmContent":"Ðбновление пеÑезапиÑÐµÑ ÑекÑÑÑÑ ÑÑÑановленнÑÑ Ð²ÐµÑÑÐ¸Ñ llama.cpp. ÐодÑвеÑдиÑе, ÑÑÐ¾Ð±Ñ Ð½Ð°ÑаÑÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Ð¸ ÑÑÑÐ°Ð½Ð¾Ð²ÐºÑ Ð¿Ð¾Ñледней веÑÑии.","localRuntimeUpdate
150ConfirmContentWithServer":"Ðбновление пеÑезапиÑÐµÑ ÑекÑÑÑÑ ÑÑÑановленнÑÑ Ð²ÐµÑÑÐ¸Ñ llama.cpp и оÑÑÐ°Ð½Ð¾Ð²Ð¸Ñ Ð·Ð°Ð¿ÑÑеннÑй ÑеÑÐ²Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ ({{model}}). ÐодÑвеÑдиÑе, ÑÑÐ¾Ð±Ñ Ð½Ð°ÑаÑÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Ð¸ ÑÑÑÐ°Ð½Ð¾Ð²ÐºÑ Ð¿Ð¾Ñледней веÑÑии.","localRuntimeUnsupported":"Ðе поддеÑживаеÑÑÑ","localRuntimeMissing":"Ðе ÑÑÑановлен","localServerRunningTitle":"ТекÑÑий локалÑнÑй ÑеÑвеÑ","localServerOnline":"РабоÑаеÑ","localServerIdle":"ÐедоÑÑÑпен","localServerUnavailable":"ÐÑибка","localNoActiveModel":"ÐÐµÑ Ð°ÐºÑивной модели","localNoDownloadedModelsHint":"СнаÑала ÑкаÑайÑе подÑ
одÑÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ, а заÑем запÑÑкайÑе локалÑнÑй ÑеÑÐ²Ð¸Ñ Ð¸Ð½ÑеÑенÑа.","localDownloadModelFirst":"СнаÑала ÑкаÑайÑе моделÑ","localEngineInstallStateLabel":"УÑÑановка","localEngineRunStateLabel":"СÑаÑÑÑ","localEngineCurrentModelLabel":"ТекÑÑÐ°Ñ Ð¾Ð±ÑлÑÐ¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ","localEngineNextStepLabel":"СледÑÑÑий Ñаг","localEngineHealthLabel":"СоÑÑоÑние движка","localEngineStatusHint":"СкаÑайÑе и запÑÑÑиÑе подÑ
одÑÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¸Ð· ÑпиÑка ниже","localStartServer":"ÐапÑÑÑиÑÑ","localStopServer":"ÐÑÑановиÑÑ","localServerStartFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑй ÑеÑвеÑ","localServerStopFailed":"Ðе ÑдалоÑÑ Ð¾ÑÑановиÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑй ÑеÑвеÑ","localServerSwitchTitle":"ÐеÑеклÑÑиÑÑ Ð·Ð°Ð¿ÑÑеннÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ","localServerSwitchConfirm":"СейÑÐ°Ñ Ð·Ð°Ð¿ÑÑена Ð¼Ð¾Ð´ÐµÐ»Ñ {{current}}. ÐеÑеклÑÑиÑÑ Ð½Ð° {{next}}?","localSwitchModel":"ÐеÑеклÑÑиÑÑ","localModelPathMissing":"ÐÐ»Ñ ÑÑой загÑÑженной модели оÑÑÑÑÑÑвÑÐµÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑй пÑÑÑ.","localModelsSectionTitle":"ÐокалÑнÑе модели","localModelsSectionDescription":"ÐагÑÑженнÑе модели можно запÑÑкаÑÑ ÑÑазÑ. ÐдновÑеменно Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑÑÑ ÑолÑко одна загÑÑзка модели и один локалÑнÑй ÑеÑвеÑ.","localModelsLockedHint":"СнаÑала ÑÑÑановиÑе llama.cpp","localAlternativeRuntimeHint":"ÐопÑобÑйÑе иÑполÑзоваÑÑ Ollama или LM Studio","localModelsCount":"ÐагÑÑжено {{downloaded}} / {{total}}","localCurrentDownloadTitle":"ТекÑÑÐ°Ñ Ð·Ð°Ð³ÑÑзка","localAdvancedConfigTitle":"РаÑÑиÑеннÑе наÑÑÑойки локалÑной модели","localAdvancedConfigDescription":"ÐÑи наÑÑÑойки пÑименÑÑÑÑÑ Ðº вÑÑÑÐ¾ÐµÐ½Ð½Ð¾Ð¼Ñ Ð»Ð¾ÐºÐ°Ð»ÑÐ½Ð¾Ð¼Ñ ÑанÑÐ°Ð¹Ð¼Ñ Ð¸Ð½ÑеÑенÑа. ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð°ÐºÑималÑной Ð´Ð»Ð¸Ð½Ñ ÐºÐ¾Ð½ÑекÑÑа вÑÑÑпÑÑ Ð² ÑÐ¸Ð»Ñ Ð¿Ñи ÑледÑÑÑем запÑÑке локалÑного ÑеÑвеÑа.","localAdvancedConfigSaved":"РаÑÑиÑеннÑе наÑÑÑойки локалÑной модели ÑоÑ
ÑаненÑ","localAdvancedConfigSaveFailed":"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ ÑаÑÑиÑеннÑе наÑÑÑойки локалÑной модели","localMaxContextLengthLabel":"ÐакÑ. длина конÑекÑÑа","localMaxContextLengthHint":"ÐакÑималÑное ÑиÑло Ñокенов в конÑекÑÑном окне модели, опÑеделÑÑÑее, ÑколÑко иÑÑоÑии помеÑаеÑÑÑ Ð² каждÑй запÑоÑ. ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑÑÑпÑÑ Ð² ÑÐ¸Ð»Ñ Ð¿Ñи ÑледÑÑÑем запÑÑке локалÑного ÑеÑвеÑа.","localMaxContextLengthRequired":"УкажиÑе макÑ. Ð´Ð»Ð¸Ð½Ñ ÐºÐ¾Ð½ÑекÑÑа","localMaxContextLengthMin":"ÐакÑ. длина конÑекÑÑа должна бÑÑÑ Ð½Ðµ менÑÑе {{min}}","localMaxContextLengthPlaceholder":"ÐведиÑе макÑ. Ð´Ð»Ð¸Ð½Ñ ÐºÐ¾Ð½ÑекÑÑа","localServerPortLabel":"ÐоÑÑ ÑеÑвеÑа","localServerPortHint":"ÐÑÑавÑÑе поле пÑÑÑÑм, ÑÑÐ¾Ð±Ñ llama.cpp авÑомаÑиÑеÑки вÑбÑал ÑвободнÑй поÑÑ Ð¿Ñи запÑÑке. УкажиÑе поÑÑ, еÑли Ñ
оÑиÑе иÑполÑзоваÑÑ ÑикÑиÑованнÑй поÑÑ Ð¿Ñи ÑледÑÑÑиÑ
запÑÑкаÑ
. ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑÑÑпÑÑ Ð² ÑÐ¸Ð»Ñ Ð¿Ñи ÑледÑÑÑем запÑÑке локалÑного ÑеÑвеÑа.","localServerPortRange":"ÐоÑÑ ÑеÑвеÑа должен бÑÑÑ Ð² диапазоне Ð¾Ñ {{min}} до {{max}}","localServerPortPlaceholder":"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð°Ð²ÑовÑбоÑа поÑÑа","localGenerateConfigHint":"ÐаÑÑÑойÑе паÑамеÑÑÑ Ð³ÐµÐ½ÐµÑаÑии локалÑной модели в виде JSON-обÑекÑа. Ðни бÑдÑÑ ÑазвÑÑнÑÑÑ Ð² поÑледÑÑÑие запÑоÑÑ Ð³ÐµÐ½ÐµÑаÑии.","localCustomModelTitle":"ÐагÑÑзка полÑзоваÑелÑÑкой модели","localCustomModelHint":"ÐведиÑе ID ÑепозиÑоÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸. ÐоддеÑживаеÑÑÑ ÑолÑко GGUF.","localSourceHuggingFace":"Hugging Face","localSourceModelScope":"ModelScope","ollamaModelNamePlaceholder":"напÑимеÑ: mistral:7b, qwen3:8b","testConnection":"ÐÑовеÑиÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение","testConnectionSuccess":"ÐÑовеÑка подклÑÑÐµÐ½Ð¸Ñ Ð¿ÑоÑла ÑÑпеÑно","testConnectionFailed":"ÐÑовеÑка подклÑÑÐµÐ½Ð¸Ñ Ð½Ðµ ÑдалаÑÑ","testConnectionFailedWithMessage":"ÐÑовеÑка подклÑÑÐµÐ½Ð¸Ñ Ð½Ðµ ÑдалаÑÑ: {{message}}","testConnectionError":"ÐÑоизоÑла оÑибка пÑи пÑовеÑке подклÑÑениÑ","discoverModels":"ÐбнаÑÑжиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸","discoverModelsFailed":"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð°ÑÑжиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸","ollamaFetchModelsFailed":"Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ ÑпиÑок моделей Ollama. ÐÑовеÑÑÑе подÑобноÑÑи оÑибки.","modelTestFailed":"ÐÑовеÑка модели не пÑойдена, пÑовеÑÑÑе коÑÑекÑноÑÑÑ ID модели","modelTestFailedConfirm":"ТеÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ не пÑойден: {{message}}. ÐÑÑ Ñавно добавиÑÑ ÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ?","autoDiscoveredAndAdded":"ÐвÑомаÑиÑеÑки обнаÑÑжено {{count}} моделей и добавлено {{added}} новÑÑ
","autoDiscoveredNoNew":"ÐвÑомаÑиÑеÑки обнаÑÑжено {{count}} моделей; ÑпиÑок моделей Ñже акÑÑален","autoDiscoverFailed":"ÐвÑомаÑиÑеÑкое обнаÑÑжение моделей не ÑдалоÑÑ; Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе добавиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ вÑÑÑнÑÑ","tagImage":"ÐзобÑажение","tagVideo":"Ðидео","tagTextOnly":"ТолÑко ÑекÑÑ","tagMultimodal":"ÐÑлÑÑимодалÑноÑÑÑ","tagVision":"ÐÑение","tagText":"ТекÑÑ","free":"ÐеÑплаÑно","tagNotProbed":"Ðе пÑовеÑено","probeMultimodal":"ТеÑÑ Ð¼ÑлÑÑимодалÑноÑÑи","probeImage":"ÐзобÑажение","probeVideo":"Ðидео","probeSupported":"ÐоддеÑживаеÑÑÑ: {{types}}","probeNotSupported":"ÐÑа Ð¼Ð¾Ð´ÐµÐ»Ñ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¼ÑлÑÑимодалÑнÑй ввод","probeFailed":"ÐÑибка пÑовеÑки","modalityVision":"ÐзобÑажение","modalityAudio":"ÐÑдио","modalityVideo":"Ðидео","modalityFile":"Файл","modalityText":"ТолÑко ÑекÑÑ","perMillionIn":"/1M вÑ
.","perMillionOut":"/1M иÑÑ
."}'),Ex={title:"ФайлÑ",navigator:"ÐавигаÑÐ¾Ñ Ñайлов",source:"ÐÑÑоÑник",workspace:"РабоÑее пÑоÑÑÑанÑÑво",profile:"ÐÑоÑилÑ",memory:"ÐолговÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð°Ð¼ÑÑÑ",daily:"Ðневник",digest:"Ðаза знаний",memoryGraph:"ÐÑÐ°Ñ Ð¿Ð°Ð¼ÑÑи",memoryGraphShort:"ÐÑаÑ",memoryGraphLoading:"ÐагÑÑзка гÑаÑа памÑÑиâ¦",memoryGraphLoadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð³ÑÐ°Ñ Ð¿Ð°Ð¼ÑÑи.",memoryGraphCounts:"Узлов: {{nodes}} · ÑвÑзей: {{edges}}",memoryGraphEmpty:"ÐндекÑиÑованнÑе ÑвÑзи памÑÑи оÑÑÑÑÑÑвÑÑÑ.",memoryGraphZoomOut:"УменÑÑиÑÑ",memoryGraphZoomIn:"УвелиÑиÑÑ",memoryGraphFit:"ÐоказаÑÑ Ð²ÐµÑÑ Ð³ÑаÑ",memoryGraphRoot:"ÐоÑневой Ñзел",memoryGraphRootDirect:"СвÑзаннÑй Ñайл",memoryGraphOtherFile:"ÐÑÑгой Ñайл",memoryGraphIndexed:"ÐндекÑиÑованнÑй Ñайл",memoryGraphUnresolved:"ÐеÑазÑеÑÑÐ½Ð½Ð°Ñ ÑÑÑлка",memoryGraphDirection:"ÐапÑавление Wiki-ÑÑÑлки",memoryGraphOpenFile:"ÐÑкÑÑÑÑ Markdown",memoryGraphOutbound:"ÐÑÑ
одÑÑие · {{count}}
150",memoryGraphInbound:"ÐÑ
одÑÑие · {{count}}",projectDirectory:"ÐаÑалог пÑоекÑа",workspaceDirectory:"ÐаÑалог конÑигÑÑаÑии",switchRoot:"ÐеÑеклÑÑиÑÑ ÐºÐ°Ñалог",manageDirs:"УпÑавление каÑалогамиâ¦",primaryRoot:"ÐÑновной",rootMissing:"ÐÑÑÑÑÑÑвÑеÑ",rootsPending:"ÐÑÑ {{count}} ÑÑанÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ð¿Ð¾Ñле пеÑвого ÑообÑениÑ",sourceEmpty:"Ð ÑÑом иÑÑоÑнике пока Ð½ÐµÑ Ñайлов.",loadMore:"ÐагÑÑзиÑÑ ÑледÑÑÑие 200",upload:"ÐагÑÑзиÑÑ ÑайлÑ",conflictPolicy:"ÐолиÑика конÑликÑов загÑÑзки",conflictRename:"СоÑ
ÑаниÑÑ Ð¾Ð±Ð°",conflictRenameDescription:"ÐобавиÑÑ Ð½Ð¾Ð¼ÐµÑ Ðº Ð½Ð¾Ð²Ð¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸ и ÑоÑ
ÑаниÑÑ ÑÑÑеÑÑвÑÑÑий Ñайл.",conflictSkip:"СоÑ
ÑаниÑÑ ÑÑÑеÑÑвÑÑÑий",conflictSkipDescription:"ÐÑопÑÑÑиÑÑ Ð½Ð¾Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ñ ÐºÐ¾Ð½ÑликÑом и загÑÑзиÑÑ Ð¾ÑÑалÑнÑе.",conflictOverwrite:"ÐÑполÑзоваÑÑ Ð½Ð¾Ð²Ñй",conflictOverwriteDescription:"ÐамениÑÑ ÑÑÑеÑÑвÑÑÑий Ñайл новÑм.",uploadConflictTitle:"ÐÐ°Ð¹Ð´ÐµÐ½Ñ ÑÐ°Ð¹Ð»Ñ Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñми именами",uploadConflictDescription:"ÐÑи ÑÐ°Ð¹Ð»Ñ Ñже ÑÑÑеÑÑвÑÑÑ: {{files}}. ÐÑбеÑиÑе дейÑÑвие.",promptToggle:"ÐклÑÑиÑÑ Ð¸Ð»Ð¸ иÑклÑÑиÑÑ {{name}} из ÑиÑÑемного пÑомпÑа",addSystemPrompt:"ÐобавиÑÑ Ð¸Ð· ÑабоÑей облаÑÑи",addSystemPromptTitle:"ÐобавиÑÑ Ñайл ÑиÑÑемного пÑомпÑа",addSystemPromptDescription:"ÐÑбеÑиÑе Markdown-Ñайл ÑабоÑей облаÑÑи Ð´Ð»Ñ ÑиÑÑемного пÑомпÑа.",searchSystemPromptFiles:"ÐоиÑк Markdown-Ñайлов ÑабоÑей облаÑÑи",noSystemPromptCandidates:"ÐодÑ
одÑÑиÑ
Ñайлов неÑ.",sourceControl:"УпÑавление иÑÑ
однÑм кодом",preview:"ÐÑедпÑоÑмоÑÑ",edit:"ÐзмениÑÑ",selectFile:"ÐÑбеÑиÑе Ñайл Ð´Ð»Ñ Ð¾ÑкÑÑÑиÑ",closeTab:"ÐакÑÑÑÑ Ð²ÐºÐ»Ð°Ð´ÐºÑ",closeOtherTabs:"ÐакÑÑÑÑ Ð´ÑÑгие вкладки",closeAllTabs:"ÐакÑÑÑÑ Ð²Ñе вкладки",openFiles:"ÐÑкÑÑÑÑе ÑайлÑ: {{count}}",openFilesLabel:"ÐÑкÑÑÑÑе ÑайлÑ",openFileCount:"ÐÑкÑÑÑо: {{count}}",searchOpenFiles:"ÐоиÑк по ÑÐ°Ð¹Ð»Ñ Ð¸Ð»Ð¸ пÑÑи",noOpenFilesFound:"ÐÑкÑÑÑÑе ÑÐ°Ð¹Ð»Ñ Ð½Ðµ найденÑ",scrollTabsLeft:"ÐÑокÑÑÑиÑÑ Ð²ÐºÐ»Ð°Ð´ÐºÐ¸ влево",scrollTabsRight:"ÐÑокÑÑÑиÑÑ Ð²ÐºÐ»Ð°Ð´ÐºÐ¸ впÑаво",agentChangedFile:"ÐÐ³ÐµÐ½Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð» ÑÑÐ¾Ñ Ñайл",keep:"СоÑ
ÑаниÑÑ",keepAll:"СоÑ
ÑаниÑÑ Ð²ÑÑ",undo:"ÐÑмениÑÑ",undoAll:"ÐÑмениÑÑ Ð²ÑÑ",copySelectionToChat:"ÐопиÑоваÑÑ Ð²Ñделение в ÑаÑ",copyFileToChat:"ÐопиÑоваÑÑ Ñайл в ÑаÑ",previewSize:"ÐÑедпÑоÑмоÑÑ Â· {{size}} байÑ",backToPreview:"Ðазад к пÑедпÑоÑмоÑÑÑ",download:"СкаÑаÑÑ",downloadFailed:"Ðе ÑдалоÑÑ ÑкаÑаÑÑ Ñайл",resize:"ÐзмениÑÑ ÑиÑÐ¸Ð½Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸ Ñайлов",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ñайл. УбедиÑеÑÑ, ÑÑо он наÑ
одиÑÑÑ Ð² оÑновном ÑабоÑем каÑалоге ÑабоÑей облаÑÑи ÑекÑÑего агенÑа.",previewUnavailable:"ÐÑедпÑоÑмоÑÑ Ð½ÐµÐ´Ð¾ÑÑÑпен. ÐеÑаданнÑе и ÑкаÑивание оÑÑаÑÑÑÑ Ð´Ð¾ÑÑÑпнÑ.",mentionInChat:"УпомÑнÑÑÑ Ð² ÑаÑе",expandWorkspace:"РазвеÑнÑÑÑ Ð¿ÑоÑÑÑанÑÑво",openWorkspace:"ÐÑкÑÑÑÑ ÑабоÑее пÑоÑÑÑанÑÑво",closeWorkspace:"ÐакÑÑÑÑ ÑабоÑее пÑоÑÑÑанÑÑво"},Fx={agentTitle:"ÐаÑалог пÑоекÑа агенÑа",sessionTitle:"ÐаÑалог пÑоекÑа ÑеанÑа",pathPlaceholder:"ÐведиÑе абÑолÑÑнÑй пÑÑÑ",recentProjects:"Ðедавние пÑоекÑÑ",browseDirectory:"ÐÐ±Ð·Ð¾Ñ ÐºÐ°Ñалогов",noRecentProjects:"ÐÐµÑ Ð½ÐµÐ´Ð°Ð²Ð½Ð¸Ñ
пÑоекÑов",clearSelection:"ÐÑиÑÑиÑÑ Ð²ÑбÑаннÑй пÑоекÑ",homeDirectory:"ÐомаÑний каÑалог",parentDirectory:"РодиÑелÑÑкий каÑалог",refreshDirectory:"ÐбновиÑÑ ÐºÐ°Ñалог",restoreDefault:"СбÑоÑиÑÑ Ðº ÑмолÑаниÑ",createDirectory:"СоздаÑÑ Ð¿Ð°Ð¿ÐºÑ",directoryNamePlaceholder:"ÐведиÑе Ð¸Ð¼Ñ Ð¿Ð°Ð¿ÐºÐ¸",createDirectoryFailed:"Ðе ÑдалоÑÑ ÑоздаÑÑ Ð¿Ð°Ð¿ÐºÑ",useWorkspace:"ÐÑполÑзоваÑÑ ÐºÐ°Ñалог конÑигÑÑаÑии",createSessionHint:"ÐаÑалог ÑеанÑа можно задаÑÑ Ð¿Ð¾Ñле пеÑвого ÑообÑениÑ.",sessionSource:"СеанÑ",agentSource:"ÐгенÑ",makePrimary:"СделаÑÑ Ð¾ÑновнÑм",remove:"УдалиÑÑ",add:"ÐобавиÑÑ",boundDirs:"ÐобавленнÑе каÑалоги пÑоекÑа",primaryHint:"ÐÑÐ·Ð¾Ð²Ñ Ð¸Ð½ÑÑÑÑменÑов и ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑполнÑÑÑÑÑ Ð² оÑновном каÑалоге.",primaryTag:"ÐÑновной",unbound:"ÐаÑалоги не пÑивÑзанÑ",unavailable:"ÐÑÑÑÑÑÑвÑеÑ",alreadyBound:"Уже пÑивÑзан",tooMany:"Ðожно пÑивÑзаÑÑ Ð½Ðµ более {{max}} каÑалогов.",countTitle:"ЧиÑло пÑивÑзаннÑÑ
каÑалогов"},Ox=JSON.parse('{"title":"ÐонÑигÑÑаÑиÑ","projectDirectoryTitle":"ÐаÑалог пÑоекÑа по ÑмолÑаниÑ","projectDirectoryDescription":"ÐаÑалог по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ñайлов и команд.","projectDirectoryDefault":"Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ð°Ð³ÐµÐ½Ñа","changeProjectDirectory":"ÐзмениÑÑ ÐºÐ°Ñалог","projectDirectoryWorkspaceFallback":"ÐÑполÑзÑеÑÑÑ Ð¿ÑоÑÑÑанÑÑво агенÑа","enhancedCodeCapability":"РаÑÑиÑеннÑе возможноÑÑи кода","enhancedCodeCapabilityTooltip":"ÐобавлÑÐµÑ Ð¸Ð½ÑÑÑÑменÑÑ ÐºÐ¾Ð´Ð° без ÑÐ¼ÐµÐ½Ñ ÐºÐ°Ñалога пÑоекÑа.","enhancedCodeCapabilityDescription":"ÐклÑÑÐ°ÐµÑ AST, LSP, кодовÑе подÑказки, Git-конÑекÑÑ Ð¸ ÑпÑавление иÑÑ
однÑм кодом.","description":"ÐаÑÑÑойка паÑамеÑÑов вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð°Ð³ÐµÐ½Ñа","reactAgentTitle":"ÐÐ³ÐµÐ½Ñ ReAct","llmRetryTitle":"ÐвÑоповÑÐ¾Ñ LLM","llmRetryEnabled":"ÐклÑÑиÑÑ Ð°Ð²ÑоповÑоÑ","llmRetryEnabledTooltip":"ÐвÑомаÑиÑеÑки повÑоÑÑÑÑ Ð²ÑеменнÑе оÑибки LLM API, Ñакие как лимиÑÑ, ÑаймаÑÑÑ Ð¸ пÑÐ¾Ð±Ð»ÐµÐ¼Ñ ÑоединениÑ. ÐÑименÑеÑÑÑ Ðº новÑм запÑоÑам поÑле ÑоÑ
ÑанениÑ.","llmMaxRetries":"ÐакÑ. ÑиÑло повÑоÑов","llmMaxRetriesTooltip":"ÐакÑималÑное колиÑеÑÑво дополниÑелÑнÑÑ
повÑоÑов пÑи вÑеменной оÑибке LLM.","llmMaxRetriesPlaceholder":"ÐведиÑе макÑ. ÑиÑло повÑоÑов","llmMaxRetriesRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. ÑиÑло повÑоÑов","llmMaxRetriesMin":"ÐакÑ. ÑиÑло повÑоÑов должно бÑÑÑ Ð½Ðµ менÑÑе 1","llmBackoffBase":"ÐÐ°Ð·Ð¾Ð²Ð°Ñ Ð·Ð°Ð´ÐµÑжка backoff (Ñ)","llmBackoffBaseTooltip":"ÐÐ°Ð·Ð¾Ð²Ð°Ñ Ð·Ð°Ð´ÐµÑжка пеÑед пеÑвой повÑоÑной попÑÑкой. ÐалÑÑе иÑполÑзÑеÑÑÑ ÑкÑпоненÑиалÑнÑй backoff.","llmBackoffBasePlaceholder":"ÐведиÑе базовÑÑ Ð·Ð°Ð´ÐµÑжкÑ","llmBackoffBaseRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð±Ð°Ð·Ð¾Ð²ÑÑ Ð·Ð°Ð´ÐµÑÐ¶ÐºÑ backoff","llmBackoffBaseMin":"ÐÐ°Ð·Ð¾Ð²Ð°Ñ Ð·Ð°Ð´ÐµÑжка backoff должна бÑÑÑ Ð½Ðµ менÑÑе 0.1 ÑекÑндÑ","llmBackoffCap":"ÐакÑ. задеÑжка backoff (Ñ)","llmBackoffCapTooltip":"ÐакÑималÑнÑй пÑедел задеÑжки Ð´Ð»Ñ ÑкÑпоненÑиалÑного backoff.","llmBackoffCapPlaceholder":"ÐведиÑе макÑ. задеÑжкÑ","llmBackoffCapRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. задеÑÐ¶ÐºÑ backoff","llmBackoffCapMin":"ÐакÑ. задеÑжка backoff должна бÑÑÑ Ð½Ðµ менÑÑе 0.5 ÑекÑндÑ","llmBackoffCapGteBase":"ÐакÑ. задеÑжка backoff должна бÑÑÑ Ð½Ðµ менÑÑе базовой задеÑжки","llmRateLimiterTitle":"ÐгÑаниÑиÑÐµÐ»Ñ ÑкоÑоÑÑи LLM","llmMaxConcurrent":"ÐакÑ. одновÑеменнÑÑ
запÑоÑов","llmMaxConcurrentTooltip":"ÐакÑималÑное ÑиÑло одновÑеменно вÑполнÑемÑÑ
LLM-запÑоÑов. ÐбÑее Ð´Ð»Ñ Ð²ÑеÑ
агенÑов; вÑÑÑÐ¿Ð°ÐµÑ Ð² ÑÐ¸Ð»Ñ Ð¿Ñи пеÑвой иниÑиализаÑии и поÑле пеÑезапÑÑка.","llmMaxConcurrentPlaceholder":"ÐведиÑе макÑ. ÑиÑло одновÑеменнÑÑ
запÑоÑов","llmMaxConcurrentRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. ÑиÑло одновÑеменнÑÑ
запÑоÑов","llmMaxConcurrentRange":"ÐакÑ. ÑиÑло одновÑеменнÑÑ
запÑоÑов должно бÑÑÑ Ð½Ðµ менее 1","llmMaxQpm":"ÐакÑ. запÑоÑов в минÑÑÑ (QPM)","llmMaxQpmTooltip":"ÐакÑималÑное ÑиÑло запÑоÑов в
15060-ÑекÑндном ÑколÑзÑÑем окне. ÐапÑоÑÑ, пÑевÑÑаÑÑие лимиÑ, ожидаÑÑ Ð¿ÐµÑед оÑпÑавкой â ÑÑо пÑедоÑвÑаÑÐ°ÐµÑ Ð¾Ñибки 429. 0 = без огÑаниÑений.","llmMaxQpmPlaceholder":"ÐведиÑе макÑ. QPM (0 = без огÑаниÑений)","llmMaxQpmRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. QPM","llmMaxQpmRange":"ÐакÑ. QPM должен бÑÑÑ Ð½Ðµ менее 0","llmRateLimitPause":"ÐаÑза пÑи лимиÑе (Ñ)","llmRateLimitPauseTooltip":"ÐлиÑелÑноÑÑÑ Ð¿Ð°ÑÐ·Ñ (в ÑекÑндаÑ
) пÑи полÑÑении оÑвеÑа 429. ÐеÑеопÑеделÑеÑÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð¼ Retry-After Ð¾Ñ API.","llmRateLimitPausePlaceholder":"ÐведиÑе длиÑелÑноÑÑÑ Ð¿Ð°ÑзÑ","llmRateLimitPauseRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¿Ð°ÑÐ·Ñ Ð¿Ñи лимиÑе","llmRateLimitPauseMin":"ÐаÑза пÑи лимиÑе должна бÑÑÑ Ð½Ðµ менее 1 ÑекÑндÑ","llmRateLimitJitter":"Ðиапазон джиÑÑеÑа (Ñ)","llmRateLimitJitterTooltip":"СлÑÑайнÑй диапазон джиÑÑеÑа (в ÑекÑндаÑ
), добавлÑемÑй к паÑзе Ð´Ð»Ñ Ñазбивки одновÑеменнÑÑ
пÑобÑждений.","llmRateLimitJitterPlaceholder":"ÐведиÑе диапазон джиÑÑеÑа","llmRateLimitJitterRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ джиÑÑеÑа","llmRateLimitJitterMin":"Ðиапазон джиÑÑеÑа должен бÑÑÑ Ð½Ðµ менее 0 ÑекÑнд","llmAcquireTimeout":"ТаймаÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑлоÑа (Ñ)","llmAcquireTimeoutTooltip":"ÐакÑималÑное вÑÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÑлоÑа огÑаниÑиÑÐµÐ»Ñ ÑкоÑоÑÑи пеÑед оÑибкой.","llmAcquireTimeoutPlaceholder":"ÐведиÑе ÑаймаÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑлоÑа","llmAcquireTimeoutRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ ÑаймаÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑлоÑа","llmAcquireTimeoutMin":"ТаймаÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑлоÑа должен бÑÑÑ Ð½Ðµ менее 10 ÑекÑнд","llmAcquireTimeoutGtPauseJitter":"ТаймаÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑлоÑа должен бÑÑÑ Ð±Ð¾Ð»ÑÑе ÑÑÐ¼Ð¼Ñ Ð¿Ð°ÑÐ·Ñ Ð¸ джиÑÑеÑа","contextManagementTitle":"УпÑавление конÑекÑÑом","memoryManagerBackend":"ÐÑкенд ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð³Ð¾Ð²Ñеменной памÑÑÑÑ","memoryManagerBackendTooltip":"Тип бÑкенда менеджеÑа памÑÑи. ÐÑбеÑиÑе remelight (локалÑнÑе ÑайлÑ), adbpg (облаÑÐ½Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ
), PowerContext (ÑдалÑннÑй ÑеÑÐ²Ð¸Ñ Ð¿Ð°Ð¼ÑÑи) или none (оÑклÑÑиÑÑ Ð¿Ð°Ð¼ÑÑÑ).","memoryManagerBackendRestartWarning":"Смена бÑкенда ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð³Ð¾Ð²Ñеменной памÑÑÑÑ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð³Ð¾ÑÑÑÑÑ Ð¿ÐµÑезагÑÑзкÑ. СоÑ
ÑаниÑе и пеÑезапÑÑÑиÑе QwenPaw Ð´Ð»Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹.","maxIters":"ÐакÑ. иÑеÑаÑий","maxItersTooltip":"ÐакÑималÑное ÑиÑло иÑеÑаÑий ÑаÑÑÑждение-дейÑÑвие Ð´Ð»Ñ Ð°Ð³ÐµÐ½Ñа ReAct","maxItersPlaceholder":"ÐведиÑе макÑ. ÑиÑло иÑеÑаÑий","maxItersRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. ÑиÑло иÑеÑаÑий","maxItersMin":"ÐакÑ. ÑиÑло иÑеÑаÑий должно бÑÑÑ Ð½Ðµ менÑÑе 1","agentLoopTitle":"ÐаÑÑÑойки Loop агенÑа","loopMode":{"builtIn":"ÐÑÑÑоеннÑй","builtInNote":"ÐоÑÑдок заблокиÑован · ÐнаÑÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑÑпнÑ","templateSectionTitle":"Ð¨Ð°Ð±Ð»Ð¾Ð½Ñ Loop","templateSectionDescription":"ÐÑбеÑиÑе вÑÑÑоеннÑй Ñаблон или добавÑÑе Ñвой.","defaultTab":"Ðо ÑмолÑаниÑ","goalTab":"ЦелÑ","missionTab":"ÐиÑÑиÑ","defaultDescription":"СÑандаÑÑнÑй заÑиÑÑннÑй ReAct Loop вне Ñвного Ñежима.","goalDescription":"ÐгÑаниÑеннÑй поÑÑоÑннÑй Loop Ð´Ð»Ñ Ð¿ÑовеÑÑемÑÑ
Ñелей.","missionDescription":"ÐоÑÑоÑннÑй пÑоÑеÑÑ Ð´Ð»Ñ Ð´Ð»Ð¸ÑелÑнÑÑ
многоÑÑапнÑÑ
миÑÑий.","gatePipeline":"ЦепоÑка Gate","repetitionTitle":"ÐаÑиÑа Ð¾Ñ Ð¿Ð¾Ð²ÑоÑов","repetitionDescription":"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð²ÑоÑнÑе вÑÐ·Ð¾Ð²Ñ Ð¸Ð½ÑÑÑÑменÑов и вмеÑиваеÑÑÑ.","iterationTitle":"ÐÐ¸Ð¼Ð¸Ñ Ð¸ÑеÑаÑий","iterationDescription":"ÐгÑаниÑÐ¸Ð²Ð°ÐµÑ ÑиÑло иÑеÑаÑий ReAct.","retryTitle":"ÐаÑеÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð¿ÑовеÑка завеÑÑениÑ","retryDescription":"СÑабаÑÑÐ²Ð°ÐµÑ ÑолÑко Ð´Ð»Ñ ÑекÑÑового оÑвеÑа без вÑзовов инÑÑÑÑменÑов.","goalTurnTitle":"ÐÐ¸Ð¼Ð¸Ñ Ñ
одов Ñели","goalTurnDescription":"ÐгÑаниÑÐ¸Ð²Ð°ÐµÑ Ñ
Ð¾Ð´Ñ Ð²Ð½ÑÑÑи акÑивной Ñели.","maxGoalTurns":"ÐакÑимÑм Ñ
одов Ñели","goalBudgetTitle":"ÐÑÐ´Ð¶ÐµÑ Ñокенов Ñели","goalBudgetDescription":"ÐÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑÐµÐ»Ñ Ð¿Ñи доÑÑижении бÑджеÑа.","maxGoalTokens":"ÐакÑимÑм Ñокенов Ñели","goalCompletionTitle":"ÐÑовеÑка завеÑÑÐµÐ½Ð¸Ñ Ñели","goalCompletionDescription":"ЧиÑÐ°ÐµÑ ÑвнÑй ÑÑаÑÑÑ Ñели пеÑед оÑÑановкой.","goalCompletionReadOnly":"ÐавеÑÑение конÑÑолиÑÑеÑÑÑ Ð²ÑÑÑоеннÑм пÑоÑоколом Ñели.","missionProgressTitle":"ÐÑовеÑка пÑогÑеÑÑа миÑÑии","missionProgressDescription":"ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ Ð´Ð¾ ÑÑпеÑ
а вÑеÑ
иÑÑоÑий или лимиÑа.","missionProgressReadOnly":"ÐавеÑÑение опÑеделÑеÑÑÑ Ð²ÑÑÑоеннÑм ÑÑаÑÑÑом Mission Story.","missionIterationTitle":"ÐÐ¸Ð¼Ð¸Ñ Ð¸ÑеÑаÑий Mission","missionIterationDescription":"ÐадайÑе ÑÑандаÑÑнÑй Ð»Ð¸Ð¼Ð¸Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²ÑÑ
Mission.","workerAttemptsTitle":"ÐопÑÑки Worker","workerAttemptsDescription":"ÐгÑаниÑÑÑе повÑоÑÑ Worker поÑле неÑдаÑной пÑовеÑки Story.","missionVerificationTitle":"ÐолиÑика пÑовеÑки Mission","missionVerificationDescription":"ÐадайÑе ÑÑандаÑÑнÑе инÑÑÑÑкÑии пÑовеÑки и ÑеÑÑовÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ.","defaultMaxMissionIterations":"ÐакÑимÑм ÑаÑндов вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ","defaultMaxMissionIterationsTooltip":"ÐÑполÑзÑеÑÑÑ, еÑли /mission не задаÑÑ --max-iterations.","maxRetriesPerStory":"ÐакÑимÑм повÑоÑов Ð´Ð»Ñ Story","maxRetriesPerStoryTooltip":"ÐовÑоÑÑ Worker поÑле ÑезÑлÑÑаÑа FAIL или PARTIAL Ð¾Ñ Verifier.","defaultVerificationInstructions":"ÐнÑÑÑÑкÑии по пÑовеÑке (необÑзаÑелÑно)","defaultVerificationInstructionsHelp":"ÐнÑÑÑÑкÑии на еÑÑеÑÑвенном ÑзÑке Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Mission Verifier.","defaultVerificationInstructionsPlaceholder":"ÐапÑимеÑ: пÑовеÑÑÑе пÑÑи Windows и ÑакÑиÑеÑкий инÑеÑÑейÑ.","defaultVerifyCommand":"ТеÑÑÐ¾Ð²Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° по ÑмолÑÐ°Ð½Ð¸Ñ (необÑзаÑелÑно)","defaultVerifyCommandHelp":"Verifier запÑÑÐºÐ°ÐµÑ ÐµÑ Ð¾Ð±ÑÑнÑми инÑÑÑÑменÑами и Ñ Ð¾Ð±ÑÑнÑми ÑазÑеÑениÑми. /mission --verify пеÑеопÑеделÑÐµÑ Ð·Ð½Ð°Ñение.","defaultVerifyCommandPlaceholder":"ÐапÑимеÑ: pytest -q","enableRepetitionProtection":"ÐклÑÑиÑÑ Ð·Ð°ÑиÑÑ Ð¾Ñ Ð¿Ð¾Ð²ÑоÑов","removeRule":"УдалиÑÑ Ð¿Ñавило","custom"
150:"ÐолÑзоваÑелÑÑкий","customDescription":"СоздайÑе ÑоÑ
ÑанÑемÑÑ ÑепоÑÐºÑ Ð¸Ð· вÑÑÑоеннÑÑ
Gate QwenPaw.","duplicate":"ÐÑблиÑоваÑÑ","delete":"УдалиÑÑ","displayName":"ÐÑобÑажаемое имÑ","duplicateModeName":"Режим Loop Ñ Ñаким именем Ñже ÑÑÑеÑÑвÑеÑ.","slashCommand":"Slash-команда","description":"ÐпиÑание","availableToAgent":"ÐоÑÑÑпен ÑÑÐ¾Ð¼Ñ Ð°Ð³ÐµÐ½ÑÑ","runsTopToBottom":"ÐÑполнÑеÑÑÑ ÑвеÑÑ
Ñ Ð²Ð½Ð¸Ð·","addGate":"ÐобавиÑÑ Gate","emptyPipeline":"ÐобавÑÑе Ñ
оÑÑ Ð±Ñ Ð¾Ð´Ð¸Ð½ Gate, ÑÑÐ¾Ð±Ñ Ñежим ÑÑал доÑÑÑпен.","iterationGateTitle":"ÐÐ¸Ð¼Ð¸Ñ Ð¸ÑеÑаÑий","iterationGateDescription":"ÐÑÑановка поÑле заданного ÑиÑла иÑеÑаÑий Loop.","doomGateTitle":"ÐаÑиÑа Ð¾Ñ Ð¿Ð¾Ð²ÑоÑов","doomGateDescription":"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð²ÑоÑнÑе вÑÐ·Ð¾Ð²Ñ Ð¸ менÑÐµÑ ÑÑÑаÑегиÑ.","tokenGateTitle":"ÐÑÐ´Ð¶ÐµÑ Ñокенов","tokenGateDescription":"ÐгÑаниÑÐ¸Ð²Ð°ÐµÑ ÑÐ¾ÐºÐµÐ½Ñ Ð·Ð°Ð¿ÑоÑа и оÑвеÑа.","timeoutGateTitle":"ÐÐ¸Ð¼Ð¸Ñ Ð²Ñемени Loop","timeoutGateDescription":"ÐÑÑановка на ÑледÑÑÑей гÑаниÑе Loop без пÑеÑÑÐ²Ð°Ð½Ð¸Ñ ÑекÑÑей опеÑаÑии.","toolBudgetGateTitle":"ÐÑÐ´Ð¶ÐµÑ Ð²Ñзовов инÑÑÑÑменÑов","toolBudgetGateDescription":"ÐгÑаниÑÐ¸Ð²Ð°ÐµÑ Ð²Ñе и вÑбÑаннÑе вÑзовÑ.","retryGateTitle":"ÐÑовеÑка Ñанней оÑÑановки","retryGateDescription":"ÐÑоÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñа пÑовеÑиÑÑ ÑезÑлÑÑÐ°Ñ Ð¿ÐµÑед завеÑÑением.","rubricGateTitle":"ÐÑиÑеÑии завеÑÑениÑ","rubricGateDescription":"ÐÑÐµÐ½Ð¸Ð²Ð°ÐµÑ ÑвнÑе кÑиÑеÑии и запÑÑÐºÐ°ÐµÑ Ð¸ÑпÑавление.","qualitativeRubricTitle":"ÐаÑеÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð¿ÑовеÑка завеÑÑениÑ","qualitativeRubricDescription":"ÐÑовеÑÑÐµÑ ÑекÑÑовÑе оÑвеÑÑ Ð±ÐµÐ· вÑзовов инÑÑÑÑменÑов по кÑиÑеÑиÑм на еÑÑеÑÑвенном ÑзÑке.","qualitativeRubric":"ÐÑиÑеÑии завеÑÑÐµÐ½Ð¸Ñ Ð½Ð° еÑÑеÑÑвенном ÑзÑке","qualitativeRubricHelp":"СÑабаÑÑÐ²Ð°ÐµÑ ÑолÑко Ð´Ð»Ñ ÑекÑÑовÑÑ
оÑвеÑов без вÑзовов инÑÑÑÑменÑов и пÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ ÑабоÑÑ, еÑли она не завеÑÑена.","completionRubricTitle":"ÐÑовеÑка Ñигнала завеÑÑениÑ","completionRubricDescription":"ÐÑовеÑÑÐµÑ Ñигнал завеÑÑÐµÐ½Ð¸Ñ Ð² ÑекÑÑовом оÑвеÑе без вÑзовов инÑÑÑÑменÑов.","completionRubricHelp":"СÑабаÑÑÐ²Ð°ÐµÑ Ð¿Ð¾Ñле ÑекÑÑовÑÑ
оÑвеÑов без вÑзовов инÑÑÑÑменÑов. Ðо завеÑÑении Ð°Ð³ÐµÐ½Ñ Ð²ÑÐ²Ð¾Ð´Ð¸Ñ Ñигнал; инаÑе пÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ ÑабоÑÑ Ð´Ð¾ доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð°ÐºÑималÑного ÑиÑла пÑовеÑок.","completionPrompt":"ÐÑÐ¾Ð¼Ð¿Ñ Ð¿ÑовеÑки завеÑÑениÑ","completionPromptHelp":"ÐпиÑиÑе, когда ÑезÑлÑÑÐ°Ñ ÑÑиÑаеÑÑÑ Ð·Ð°Ð²ÐµÑÑÑннÑм. QwenPaw авÑомаÑиÑеÑки Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ Ð¸Ð½ÑÑÑÑкÑÐ¸Ñ Ð²Ñвода Ñигнала завеÑÑениÑ.","completionSignal":"Сигнал завеÑÑениÑ","completionSignalHelp":"QwenPaw добавлÑÐµÑ ÑÑÐ¾Ñ Ñигнал и ÑÑебование вÑвеÑÑи ÑолÑко его в пÑÐ¾Ð¼Ð¿Ñ Ð¿ÑовеÑки. Loop завеÑÑаеÑÑÑ ÑолÑко пÑи полном Ñовпадении без ÑÑÑÑа ÑегиÑÑÑа и кÑайниÑ
пÑобелов.","removeCriterion":"УдалиÑÑ ÐºÑиÑеÑий {{number}}","totalTokensHelp":"ÐакÑимÑм вÑ
однÑÑ
и вÑÑ
однÑÑ
Ñокенов вмеÑÑе за ÑÑÐ¾Ñ Ñ
од.","promptTokensHelp":"ÐклÑÑÐ°ÐµÑ ÑиÑÑемнÑе инÑÑÑÑкÑии, конÑекÑÑ, ÑÑ
ÐµÐ¼Ñ Ð¸Ð½ÑÑÑÑменÑов и иÑ
ÑезÑлÑÑаÑÑ.","completionTokensHelp":"ÐакÑимÑм Ñокенов, ÑоздаваемÑÑ
моделÑÑ Ð·Ð° ÑÑÐ¾Ñ Ñ
од.","maxIterations":"ÐакÑимÑм иÑеÑаÑий","historyWindow":"Ðкно иÑÑоÑии","similarityThreshold":"ÐоÑог ÑÑ
одÑÑва","totalTokens":"ÐакÑимÑм вÑеÑ
Ñокенов","promptTokens":"ÐакÑимÑм вÑ
однÑÑ
Ñокенов","completionTokens":"ÐакÑимÑм вÑÑ
однÑÑ
Ñокенов","maxSeconds":"ÐакÑимÑм ÑекÑнд","maxSecondsHelp":"ÐÑÐµÐ¼Ñ Ð¿ÑовеÑÑеÑÑÑ Ð¿Ð¾Ñле завеÑÑÐµÐ½Ð¸Ñ ÑекÑÑего оÑвеÑа модели или вÑзова инÑÑÑÑменÑа. ÐÑполнÑÐµÐ¼Ð°Ñ Ð¾Ð¿ÐµÑаÑÐ¸Ñ Ð½Ðµ пÑеÑÑваеÑÑÑ.","allToolCalls":"ÐÑе вÑÐ·Ð¾Ð²Ñ Ð¸Ð½ÑÑÑÑменÑов","perToolLimits":"ÐимиÑÑ Ð¿Ð¾ инÑÑÑÑменÑам","toolName":"ÐÐ¼Ñ Ð¸Ð½ÑÑÑÑменÑа","callLimitAria":"ÐÐ¸Ð¼Ð¸Ñ Ð²Ñзовов {{name}}","removeToolLimitAria":"УдалиÑÑ Ð»Ð¸Ð¼Ð¸Ñ {{name}}","addToolLimit":"ÐобавиÑÑ Ð»Ð¸Ð¼Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑа","maxRetries":"ÐакÑимÑм повÑоÑов","retryInstruction":"ÐнÑÑÑÑкÑÐ¸Ñ Ð¿Ð¾Ð²ÑоÑа","passThreshold":"ÐоÑог пÑоÑ
ождениÑ","maxEvaluations":"ÐакÑимÑм ÑаÑндов оÑенки","graderError":"ÐÑибка оÑенÑика","stopSafely":"ÐезопаÑно оÑÑановиÑÑ","verifyOnceMore":"ÐÑовеÑиÑÑ ÐµÑÑ Ñаз","completionCriteria":"ÐÑиÑеÑии завеÑÑениÑ","criterionPlaceholder":"ÐпиÑиÑе наблÑдаемÑй ÑезÑлÑÑаÑ","required":"ÐбÑзаÑелÑно","weight":"ÐеÑ","addCriterion":"ÐобавиÑÑ ÐºÑиÑеÑий","moveGateAria":"ÐеÑемеÑÑиÑÑ {{title}}","removeGate":"УдалиÑÑ Gate","newModeName":"ÐовÑй Ñежим Loop","defaultCustomDescription":"ÐолÑзоваÑелÑÑÐºÐ°Ñ ÑепоÑка Gate.","copyName":"{{name}} â копиÑ","createModeAria":"СоздаÑÑ Ñежим Loop","createModeTitle":"СоздаÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкий Ñежим Loop","startingTemplate":"Ð
150аÑалÑнÑй Ñаблон","startingPipeline":"ÐаÑалÑнÑй конвейеÑ","blankPipelineHint":"ÐаÑниÑе Ñ Ð¿ÑÑÑого Ñежима и добавÑÑе гейÑÑ Ð¿Ð¾Ð·Ð¶Ðµ","safeTemplate":"ÐезопаÑнÑй запÑÑк","researchTemplate":"ÐÑÑледование Ñ Ð±ÑджеÑом","qualityTemplate":"ÐÑиоÑиÑÐµÑ ÐºÐ°ÑеÑÑва","blankTemplate":"ÐÑÑÑÐ°Ñ ÑепоÑка"},"doomLoopEnabled":"ÐаÑиÑа Ð¾Ñ Ð¿Ð¾Ð²ÑоÑений","doomLoopEnabledTooltip":"ÐвÑомаÑиÑеÑкое вмеÑаÑелÑÑÑво, когда Ð°Ð³ÐµÐ½Ñ Ð·Ð°ÑÑÑÐµÐ²Ð°ÐµÑ Ð½Ð° повÑоÑении одниÑ
и ÑеÑ
же дейÑÑвий","doomLoopAfter":"ÐоÑле","doomLoopRepetitions":"одинаковÑÑ
дейÑÑвий","doomLoopStopAction":"ÐаÑза и запÑÐ¾Ñ Ð¿Ð¾Ð¼Ð¾Ñи","doomLoopWarnAction":"ÐÑпÑавиÑÑ Ð½Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ðµ","doomLoopSimpleMode":"ÐÑоÑÑой","doomLoopAdvancedMode":"РаÑÑиÑеннÑй","doomLoopWindowSize":"Ðиапазон обнаÑÑжениÑ","doomLoopWindowSizeTooltip":"СколÑко поÑледниÑ
дейÑÑвий пÑовеÑÑÑÑ Ð½Ð° повÑоÑение","doomLoopSimilarity":"ЧÑвÑÑвиÑелÑноÑÑÑ ÑовпадениÑ","doomLoopSimilarityTooltip":"ÐаÑколÑко поÑ
ожими Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÑоÑа (ниже = ÑÑÑоже)","doomLoopStages":"ÐÑавила вмеÑаÑелÑÑÑва","doomLoopAction":"ÐейÑÑвие","doomLoopPrompt":"СообÑение","doomLoopPromptPlaceholder":"ТекÑÑ Ð½Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ пÑиÑина паÑзÑ...","doomLoopAddStage":"ÐобавиÑÑ Ð¿Ñавило","iterationTitle":"ÐÐ¸Ð¼Ð¸Ñ Ð¸ÑеÑаÑий","iterationEnabled":"ÐклÑÑиÑÑ Ð»Ð¸Ð¼Ð¸Ñ Ð¸ÑеÑаÑий","iterationEnabledTooltip":"ÐÑÑановиÑÑ Ð°Ð³ÐµÐ½Ñа поÑле ÑикÑиÑованного ÑиÑла Ñиклов","iterationMaxIterations":"ÐакÑимÑм иÑеÑаÑий","iterationMaxIterationsTooltip":"ÐакÑималÑное ÑиÑло Ñиклов до оÑÑановки","rubricTitle":"ÐаÑеÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð¿ÑовеÑка завеÑÑениÑ","rubricEnabled":"ÐклÑÑиÑÑ ÐºÐ°ÑеÑÑвеннÑÑ Ð¿ÑовеÑÐºÑ Ð·Ð°Ð²ÐµÑÑениÑ","rubricEnabledTooltip":"СÑабаÑÑÐ²Ð°ÐµÑ ÑолÑко Ð´Ð»Ñ ÑекÑÑового оÑвеÑа без вÑзовов инÑÑÑÑменÑов.","rubricPrompt":"ÐÑиÑеÑии завеÑÑÐµÐ½Ð¸Ñ Ð½Ð° еÑÑеÑÑвенном ÑзÑке","rubricPromptTooltip":"ÐÑÐ¾Ð¼Ð¿Ñ Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑа оÑенки завеÑÑÑнноÑÑи задаÑи","rubricDesc":"ÐÐ»Ñ ÑекÑÑового оÑвеÑа без вÑзовов инÑÑÑÑменÑов пÑименÑÐµÑ ÐºÑиÑеÑии завеÑÑÐµÐ½Ð¸Ñ Ð½Ð° еÑÑеÑÑвенном ÑзÑке и пÑоÑÐ¸Ñ Ð¿ÑодолжиÑÑ, еÑли ÑабоÑа оÑÑалаÑÑ.","rubricPromptPlaceholder":"ÐÑ Ð½Ðµ вÑзвали ни одного инÑÑÑÑменÑа. ÐÑли задаÑа завеÑÑена, подÑвеÑдиÑе. РпÑоÑивном ÑлÑÑае пÑодолжайÑе Ñ Ð²Ñзовами инÑÑÑÑменÑов.","rubricMaxInterventions":"ÐакÑимÑм ÑаÑндов оÑенки","rubricMaxInterventionsTooltip":"ÐакÑималÑное ÑиÑло пÑовеÑок завеÑÑÐµÐ½Ð¸Ñ ÑекÑÑовÑÑ
оÑвеÑов без вÑзовов инÑÑÑÑменÑов за один Ñ
од.","inLoopModes":"ÐклÑÑиÑÑ Ð² ÑежимаÑ
/goal и /mission","inLoopModesTooltip":"Также пÑименÑÑÑ, когда акÑивен Ñежим /goal или /mission","comingSoonEditable":"ÐолÑзоваÑелÑÑÐºÐ°Ñ Ð½Ð°ÑÑÑойка бÑÐ´ÐµÑ Ð´Ð¾ÑÑÑпна в бÑдÑÑем вÑпÑÑке.","simpleMode":"ÐÑоÑÑой","advancedMode":"РаÑÑиÑеннÑй","comingSoon":"СкоÑо","reactModeTab":"Шаблон Loop - Ðо ÑмолÑаниÑ","goalModeTab":"Шаблон Loop - Goal","missionModeTab":"Шаблон Loop - Mission","goalModeInfoTitle":"Режим Goal vs Ðо ÑмолÑаниÑ","goalModeInfo":"Режим по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾ÑÑанавливаеÑÑÑ Ð¿Ð¾Ñле оÑвеÑа. Режим Goal заÑÑавлÑÐµÑ Ð°Ð³ÐµÐ½Ñа ÑиклиÑеÑки ÑабоÑаÑÑ Ð½Ð°Ð´ ÑелÑÑ, иÑполÑзÑÑ Rubric-оÑÐµÐ½ÐºÑ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð²ÐµÑÑениÑ. ÐÑе опеÑаÑии вÑполнÑÑÑÑÑ Ð² ÑекÑÑем конÑекÑÑе агенÑа.","missionModeInfoTitle":"Режим Mission vs Goal","missionModeInfo":"Режим Mission авÑомаÑиÑеÑки ÑÐ°Ð·Ð±Ð¸Ð²Ð°ÐµÑ ÑложнÑе задаÑи на подзадаÑи, вÑполнÑемÑе незавиÑимÑми Worker-агенÑами и пÑовеÑÑемÑе Verifier-агенÑами. ÐÐ°Ð¶Ð´Ð°Ñ Ð¿Ð¾Ð´Ð·Ð°Ð´Ð°Ñа вÑполнÑеÑÑÑ Ð² ÑобÑÑвенном конÑекÑÑе, не загÑÑзнÑÑ Ð¸ÑÑоÑÐ¸Ñ Ð¾Ñновной ÑеÑÑии.","goalIterationGate":"ШлÑз иÑеÑаÑий Ñели","goalIterationGateDesc":"ÐгÑаниÑÐ¸Ð²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво Ñ
одов агенÑа в ÑеÑÑии Ñели, оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ñ Ð¸ÑеÑаÑии и иÑполÑзование Ñокенов.","goalBudgetGate":"ШлÑз бÑджеÑа Ñокенов","goalBudgetGateDesc":"УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð»Ð¸Ð¼Ð¸Ñ ÑаÑÑ
ода Ñокенов Ð´Ð»Ñ ÑеÑÑии Ñели. ÐÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð°Ð³ÐµÐ½Ñа пÑи пÑевÑÑении бÑджеÑа.","goalRubricGate":"Ð ÑбÑика завеÑÑÐµÐ½Ð¸Ñ Ñели","goalRubricGateDesc":"ÐÑениваеÑ, доÑÑигнÑÑа ли ÑелÑ, пÑовеÑÑÑ ÑÑаÑÑÑ ÑеÑÑии.","goalDoomGate":"ÐаÑиÑа Ð¾Ñ Ð¿Ð¾Ð²ÑоÑений","goalDoomGateDesc":"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð²ÑоÑÑÑÑиеÑÑ Ð¿Ð°ÑÑеÑÐ½Ñ Ð²Ð¾ вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñели и иниÑииÑÑÐµÑ Ð²Ð¼ÐµÑаÑелÑÑÑво.","missionProgressGate":"ШлÑз пÑогÑеÑÑа миÑÑии","missionProgressGateDesc":"ÐÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð²ÐµÑÑение полÑзоваÑелÑÑкиÑ
иÑÑоÑий PRD. ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ Ð´Ð¾ пÑоÑ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð²ÑеÑ
иÑÑоÑий или доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð°ÐºÑимÑма иÑеÑаÑий.","missionIterBypass":"ÐбÑ
од иÑеÑаÑий","missionIterBypassDesc":"ÐÑеменно ÑÐ½Ð¸Ð¼Ð°ÐµÑ Ð¾Ð³ÑаниÑение иÑеÑаÑий ReAct во вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¸ÑÑии Ð´Ð»Ñ Ð´Ð»Ð¸ÑелÑнÑÑ
Ñаз.","customLoopTitle":"ÐолÑзоваÑелÑÑкие ÑÐµÐ¶Ð¸Ð¼Ñ Ñикла","customLoopDesc":"СоздавайÑе Ñвои ÑÐµÐ¶Ð¸Ð¼Ñ Ñикла Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкими комбинаÑиÑми ÑлÑзов. СкоÑо.","autoContinueOnTextOnly":"ÐвÑопÑодолжение пÑи ÑолÑко ÑекÑÑе","autoContinueOnTextOnlyTooltip":"ÐÑли Ñаг ÑаÑÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð·Ð°Ð²ÐµÑÑилÑÑ ÑолÑко ÑекÑÑом без вÑзова инÑÑÑÑменÑов, вÑÑавлÑеÑÑÑ Ð¿Ð¾Ð´Ñказка и вÑполнÑеÑÑÑ ÐµÑÑ Ð¾Ð´Ð¸Ð½ пÑоÑ
од Ñ Ñой же полиÑикой инÑÑÑÑменÑов, ÑÑÐ¾Ð±Ñ Ñеже обÑÑвалиÑÑ Ð¼Ð½Ð¾Ð³Ð¾ÑаговÑе задаÑи. ÐÑклÑÑиÑе Ð´Ð»Ñ Ð¿Ñежнего поведениÑ. ÐÑи вклÑÑении возможен ÑоÑÑ ÑаÑÑ
ода Ñокенов.","autoGenerateSessionTitle":"ÐвÑогенеÑаÑÐ¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² ÑеÑÑий","autoGenerateSessionTitleTooltip":"ÐоÑле пеÑвого полÑзоваÑелÑÑкого ÑообÑÐµÐ½Ð¸Ñ Ð² новом ÑаÑе ÑÐ¾Ð½Ð¾Ð²Ð°Ñ Ð·Ð°Ð´Ð°Ñа Ð´ÐµÐ»Ð°ÐµÑ ÐºÐ¾ÑоÑкий LLM-вÑзов и заменÑÐµÑ ÑÑеÑÑннÑÑ Ð·Ð°Ð³Ð»ÑÑÐºÑ Ð½Ð° лакониÑнÑй заголовок. Ðа каждÑй новÑй ÑÐ°Ñ Ð¿ÑиÑ
одиÑÑÑ Ð¾Ð´Ð¸Ð½ дополниÑелÑнÑй коÑоÑкий LLM-вÑзов. ÐÑклÑÑиÑе, ÑÑÐ¾Ð±Ñ Ð¾ÑÑавиÑÑ Ð·Ð°Ð³Ð»ÑÑÐºÑ Ð¸ не ÑÑаÑиÑÑ ÑокенÑ.","shell
150CommandTimeout":"Тайм-аÑÑ shell-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ (Ñ)","shellCommandTimeoutTooltip":"Тайм-аÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ (в ÑекÑндаÑ
) Ð´Ð»Ñ Ð¸Ð½ÑÑÑÑменÑа execute_shell_command. LLM Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑеопÑеделиÑÑ ÑÑо знаÑение Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ вÑзова ÑеÑез паÑамеÑÑ timeout. Ðолезно Ð´Ð»Ñ Ð´Ð»Ð¸ÑелÑнÑÑ
задаÑ, ÑакиÑ
как компилÑÑÐ¸Ñ Ð¸Ð»Ð¸ обÑабоÑка даннÑÑ
.","shellCommandTimeoutPlaceholder":"ÐведиÑе Ñайм-аÑÑ","shellCommandTimeoutRequired":"Тайм-аÑÑ shell-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ð±ÑзаÑелен","shellCommandTimeoutMin":"Тайм-аÑÑ shell-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð½Ðµ менее 1 ÑекÑндÑ","shellCommandExecutable":"ÐÑполнÑемÑй Ñайл shell","shellCommandExecutableTooltip":"ÐÑÑÑ Ðº shell, иÑполÑзÑÐµÐ¼Ð¾Ð¼Ñ execute_shell_command. Linux/macOS: напÑимеÑ, /bin/bash, /bin/zsh. Windows: поддеÑживаÑÑÑÑ powershell.exe, pwsh.exe или POSIX-ÑовмеÑÑимÑе shell (напÑимеÑ, Git Bash). ÐÑли пÑÑÑо, иÑполÑзÑеÑÑÑ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ $SHELL, заÑем плаÑÑоÑменнÑй shell по ÑмолÑÐ°Ð½Ð¸Ñ (/bin/sh Ð´Ð»Ñ Unix, cmd.exe Ð´Ð»Ñ Windows).","shellCommandExecutablePlaceholder":"напÑ. /bin/bash или powershell.exe (пÑÑÑо = авÑоопÑеделение)","maxInputLength":"ÐакÑ. длина вÑ
ода","maxInputLengthTooltip":"ÐакÑималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° вÑ
ода (ÑокенÑ) Ð´Ð»Ñ Ð¾ÐºÐ½Ð° конÑекÑÑа модели","maxInputLengthPlaceholder":"ÐведиÑе макÑ. Ð´Ð»Ð¸Ð½Ñ Ð²Ñ
ода","maxInputLengthRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. Ð´Ð»Ð¸Ð½Ñ Ð²Ñ
ода","maxInputLengthMin":"ÐакÑ. длина вÑ
ода должна бÑÑÑ Ð½Ðµ менÑÑе 1000","contextCompactRatio":"ÐоÑÑÑиÑÐ¸ÐµÐ½Ñ ÑжаÑÐ¸Ñ ÐºÐ¾Ð½ÑекÑÑа","contextCompactRatioTooltip":"ÐÐ¾Ð»Ñ ÐºÐ¾Ð½ÑекÑÑа Ð´Ð»Ñ ÑжаÑÐ¸Ñ Ð¿Ñи заполнении","contextCompactRatioRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ ÐºÐ¾ÑÑÑиÑÐ¸ÐµÐ½Ñ ÑжаÑÐ¸Ñ ÐºÐ¾Ð½ÑекÑÑа","contextCompactThreshold":"ÐоÑог ÑжаÑÐ¸Ñ ÐºÐ¾Ð½ÑекÑÑа","contextCompactThresholdTooltip":"ÐоÑог ÑжаÑÐ¸Ñ ÐºÐ¾Ð½ÑекÑÑа (ÑокенÑ), авÑомаÑиÑеÑки вÑÑиÑлÑеÑÑÑ Ð¸Ð· макÑ. Ð´Ð»Ð¸Ð½Ñ Ð²Ñ
ода и коÑÑÑиÑиенÑа ÑжаÑиÑ","contextCompactThresholdPlaceholder":"ÐвÑомаÑиÑеÑки","contextCompactReserveRatio":"ÐоÑÑÑиÑÐ¸ÐµÐ½Ñ ÑезеÑва конÑекÑÑа","contextCompactReserveRatioTooltip":"ÐÐ¾Ð»Ñ ÐºÐ¾Ð½ÑекÑÑа Ð´Ð»Ñ ÑезеÑва пÑи ÑжаÑии","contextCompactReserveRatioRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ ÐºÐ¾ÑÑÑиÑÐ¸ÐµÐ½Ñ ÑезеÑва конÑекÑÑа","contextCompactReserveThreshold":"ÐоÑог ÑезеÑва конÑекÑÑа","contextCompactReserveThresholdTooltip":"ÐоÑог ÑезеÑва конÑекÑÑа (ÑокенÑ), авÑомаÑиÑеÑки вÑÑиÑлÑеÑÑÑ Ð¸Ð· макÑ. Ð´Ð»Ð¸Ð½Ñ Ð²Ñ
ода и коÑÑÑиÑиенÑа ÑезеÑва","contextCompactReserveThresholdPlaceholder":"ÐвÑомаÑиÑеÑки","toolResultCompactRecentN":"recent_n ÑезÑлÑÑаÑов инÑÑÑÑменÑов","toolResultCompactRecentNTooltip":"ÐолиÑеÑÑво ÑезÑлÑÑаÑов инÑÑÑÑменÑов Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñога недавниÑ
ÑообÑений","toolResultCompactRecentNRequired":"recent_n ÑезÑлÑÑаÑов инÑÑÑÑменÑов обÑзаÑелÑно","toolResultCompactOldThreshold":"ÐакÑ. Ñимволов Ð´Ð»Ñ ÑезÑлÑÑаÑов инÑÑÑÑменÑов за пÑеделами recent_n","toolResultCompactOldThresholdTooltip":"РезÑлÑÑаÑÑ Ð¸Ð½ÑÑÑÑменÑов за пÑеделами recent_n, пÑевÑÑаÑÑие ÑÑÐ¾Ñ Ð»Ð¸Ð¼Ð¸Ñ, бÑдÑÑ ÑжаÑÑ","toolResultCompactOldThresholdPlaceholder":"ÐведиÑе поÑог Ñимволов","toolResultCompactOldThresholdRequired":"ÐакÑ. Ñимволов Ð´Ð»Ñ ÑезÑлÑÑаÑов за пÑеделами recent_n обÑзаÑелÑно","toolResultCompactRecentThreshold":"ÐакÑ. Ñимволов Ð´Ð»Ñ ÑезÑлÑÑаÑов инÑÑÑÑменÑов в пÑеделаÑ
recent_n","toolResultCompactRecentThresholdTooltip":"РезÑлÑÑаÑÑ Ð¸Ð½ÑÑÑÑменÑов в пÑеделаÑ
recent_n, пÑевÑÑаÑÑие ÑÑÐ¾Ñ Ð»Ð¸Ð¼Ð¸Ñ, бÑдÑÑ ÑжаÑÑ. Также задаÑÑ Ð¼Ð°ÐºÑималÑное колиÑеÑÑво байÑ, возвÑаÑаемÑÑ
за один вÑзов read_file. Ðолжно бÑÑÑ Ð±Ð¾Ð»ÑÑе или Ñавно поÑÐ¾Ð³Ñ Ð´Ð»Ñ ÑÑаÑÑÑ
ÑообÑений","toolResultCompactRecentThresholdPlaceholder":"ÐведиÑе поÑог Ñимволов","toolResultCompactRecentThresholdRequired":"ÐакÑ. Ñимволов Ð´Ð»Ñ ÑезÑлÑÑаÑов в пÑеделаÑ
recent_n обÑзаÑелÑно","toolResultCompactRetentionDays":"Ðни Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ñайлов ÑезÑлÑÑаÑов инÑÑÑÑменÑов","toolResultCompactRetentionDaysTooltip":"ÐолиÑеÑÑво дней Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑжаÑÑÑ
Ñайлов, пÑоÑÑоÑеннÑе ÑÐ°Ð¹Ð»Ñ ÑдалÑÑÑÑÑ Ð°Ð²ÑомаÑиÑеÑки","toolResultCompactRetentionDaysRequired":"Ðни Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ñайлов ÑезÑлÑÑаÑов инÑÑÑÑменÑов обÑзаÑелÑнÑ","historyRetentionDays":"Ðни Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸ÑÑоÑии","historyRetentionDaysTooltip":"ÐолиÑеÑÑво дней Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑоÑнной иÑÑоÑии ÑаÑа. Ðолее ÑÑаÑÑе запиÑи авÑомаÑиÑеÑки ÑдалÑÑÑÑÑ Ð¿Ñи запÑÑке и завеÑÑении ÑабоÑÑ Ð°Ð³ÐµÐ½Ñа.","historyRetentionDaysRequired":"Ðни Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸ÑÑоÑии обÑзаÑелÑнÑ","historyRetentionDaysForeverWarning":"ÐнаÑение 0 Ñ
ÑÐ°Ð½Ð¸Ñ Ð¸ÑÑоÑÐ¸Ñ Ð²ÐµÑно â обÑÑм Ñ
ÑанилиÑа бÑÐ´ÐµÑ ÑаÑÑи без огÑаниÑений.","historyRetentionDaysLargeWarning":"ÐолÑÑой пеÑиод Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð·Ð½Ð°ÑиÑелÑнÑй обÑÑм Ñ
ÑанилиÑа.","exemptFileExtensions":"ÐÑклÑÑеннÑе ÑаÑÑиÑÐµÐ½Ð¸Ñ Ñайлов","exemptFileExtensionsTooltip":"РезÑлÑÑаÑÑ read_file Ð´Ð»Ñ ÑÑиÑ
ÑаÑÑиÑений бÑдÑÑ Ð¸ÑполÑзоваÑÑ Ð¿Ð¾Ñог Ð´Ð»Ñ Ð½Ð¾Ð²ÑÑ
ÑообÑений","exemptFileExtensionsPlaceholder":".md, .txt, .json","exemptToolNames":"ÐÑклÑÑеннÑе инÑÑÑÑменÑÑ","exemptToolNamesTooltip":"РезÑлÑÑаÑÑ ÑÑиÑ
инÑÑÑÑменÑов бÑдÑÑ Ð¸ÑполÑзоваÑÑ Ð¿Ð¾Ñог Ð´Ð»Ñ Ð½Ð¾Ð²ÑÑ
ÑообÑений","exemptToolNamesPlaceholder":"chat_with_agent, list_agents","language":"ЯзÑк агенÑа","languageTooltip":"ЯзÑк Ñайлов пеÑÑонажа агенÑа (SOUL.md, AGENTS.md и дÑ.). ÐÑи Ñмене ÑзÑка MD-ÑÐ°Ð¹Ð»Ñ Ð±ÑдÑÑ ÑкопиÑÐ¾Ð²Ð°Ð½Ñ Ð½Ð° вÑбÑанном ÑзÑке.","languageConfirmTitle":"Смена ÑзÑка агенÑа","languageConfirmContent":"ÐÑи Ñмене ÑзÑка ÑледÑÑÑие ÑÐ°Ð¹Ð»Ñ Ð±ÑдÑÑ Ð¿ÐµÑезапиÑÐ°Ð½Ñ Ð²ÐµÑÑией на новом ÑзÑке:\\n\\n SOUL.md, AGENTS.md, PROFILE.md, MEMORY.md, BOOTSTRAP.md, HEARTBEAT.md\\n\\nÐÑли Ð²Ñ Ð²Ð½Ð¾Ñили Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² ÑÑи ÑайлÑ, ÑнаÑала ÑделайÑе ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ. ÐÑÑалÑнÑе ÑÐ°Ð¹Ð»Ñ Ð½Ðµ бÑдÑÑ Ð·Ð°ÑÑонÑÑÑ.","languageConfirmOk":"СмениÑÑ ÑзÑк","languageSaveSuccess":"ЯзÑк ÑÑпеÑно обновлÑн","languageSaveSuccessWithFiles":"ЯзÑк обновлÑн, ÑкопиÑовано Ñайлов: {{count}}","languageSaveFailed":"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ ÑзÑк","timezone":"ЧаÑовой поÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ","timezoneTooltip":"ÐÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð»Ð°Ð½Ð¸ÑованнÑÑ
задаÑ, оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñемени и конÑекÑÑа агенÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ â ÑиÑÑемнÑй ÑаÑовой поÑÑ.","timezoneRequired":"ÐожалÑйÑÑа, вÑбеÑиÑе ÑаÑовой поÑÑ","selectTimezone":"Ð
150ÑбеÑиÑе ÑаÑовой поÑÑ","timezoneSaveSuccess":"ЧаÑовой поÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»Ñн","timezoneSaveFailed":"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ ÑаÑовой поÑÑ","saveSuccess":"ÐонÑигÑÑаÑÐ¸Ñ ÑÑпеÑно ÑоÑ
Ñанена","saveFailed":"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑ","loadFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑ","historyMaxLength":"ÐакÑ. длина иÑÑоÑии","historyMaxLengthTooltip":"ÐакÑималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° вÑвода ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ /history (в ÑимволаÑ
)","historyMaxLengthRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. Ð´Ð»Ð¸Ð½Ñ Ð¸ÑÑоÑии","historyMaxLengthMin":"ÐакÑ. длина иÑÑоÑии должна бÑÑÑ Ð½Ðµ менÑÑе 1000","historyMaxLengthPlaceholder":"ÐведиÑе макÑ. длинÑ","contextCompactTitle":"ÐаÑÑÑойки ÑжаÑÐ¸Ñ ÐºÐ¾Ð½ÑекÑÑа","contextCompactEnabled":"ÐклÑÑиÑÑ ÑжаÑие конÑекÑÑа","contextCompactEnabledTooltip":"ÐвÑомаÑиÑеÑки ÑжимаÑÑ ÐºÐ¾Ð½ÑекÑÑ Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾ÐºÐ½Ð° конÑекÑÑа","tokenCountModel":"ÐÐ¾Ð´ÐµÐ»Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑÑÑа Ñокенов","tokenCountModelTooltip":"ÐÐ¼Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ Ð´Ð»Ñ ÑоÑного подÑÑÑÑа Ñокенов; ÑÑÑановиÑе \\"default\\" Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑÑÑоенной оÑенки","tokenCountModelPlaceholder":"ÐÐ¼Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ или default","tokenCountUseMirror":"ÐÑполÑзоваÑÑ Ð·ÐµÑкало HuggingFace","tokenCountUseMirrorTooltip":"ÐÑполÑзоваÑÑ Ð·ÐµÑкалÑнÑй ÑÐ°Ð¹Ñ HuggingFace пÑи загÑÑзке ÑокенизаÑоÑов","tokenCountEstimateDivisor":"ÐелиÑÐµÐ»Ñ Ð¾Ñенки byte/Token","tokenCountEstimateDivisorTooltip":"ÐелиÑÐµÐ»Ñ Ð´Ð»Ñ Ð¾Ñенки Ñокенов на оÑнове байÑов (ÑÐ¾ÐºÐµÐ½Ñ â байÑÑ / делиÑелÑ). РекомендÑемое знаÑение: 3.75â4.","tokenCountEstimateDivisorRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð´ÐµÐ»Ð¸ÑÐµÐ»Ñ Ð¾Ñенки","tokenCountEstimateDivisorMin":"ÐелиÑÐµÐ»Ñ Ð¾Ñенки должен бÑÑÑ Ð¾Ñ 2 до 5","toolResultCompactTitle":"ÐаÑÑÑойки ÑжаÑÐ¸Ñ ÑезÑлÑÑаÑов инÑÑÑÑменÑов","toolResultCompactEnabled":"ÐклÑÑиÑÑ ÑжаÑие ÑезÑлÑÑаÑов инÑÑÑÑменÑов","toolResultCompactEnabledTooltip":"СжимаÑÑ ÑлиÑком длиннÑе ÑезÑлÑÑаÑÑ Ð²Ñзовов инÑÑÑÑменÑов Ð´Ð»Ñ Ñкономии пÑоÑÑÑанÑÑва конÑекÑÑа","memorySummaryTitle":"ÐаÑÑÑойки долгоÑÑоÑной памÑÑи","memorySummaryEnabled":"ÐапÑÑÑиÑÑ ÑÐ²Ð¾Ð´ÐºÑ Ð¿Ð°Ð¼ÑÑи","memorySummaryEnabledTooltip":"ÐвÑомаÑиÑеÑки генеÑиÑоваÑÑ Ð¸ ÑоÑ
ÑанÑÑÑ Ñводки памÑÑи пÑи ÑжаÑии конÑекÑÑа","dreamCronEnabled":"ÐклÑÑиÑÑ ÑновидениÑ","dreamCronEnabledTooltip":"ÐклÑÑиÑÑ Ð¿Ð»Ð°Ð½Ð¾Ð²Ð¾Ðµ задание опÑимизаÑии памÑÑи ÑеÑез ÑновидениÑ","dreamCron":"РаÑпиÑание Ñновидений","dreamCronTooltip":"Cron-вÑÑажение Ð´Ð»Ñ Ð¿ÐµÑиодиÑеÑкой опÑимизаÑии долгоÑÑоÑнÑÑ
воÑпоминаний ÑеÑез ÑоÑÑоÑние ÑновидениÑ; иÑполÑзÑйÑе пеÑеклÑÑаÑÐµÐ»Ñ Ð²ÑÑе Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ оÑклÑÑениÑ","dreamCronPlaceholder":"0 23 * * *","dreamCronRequired":"ÐведиÑе Cron-вÑÑажение, еÑли ÑÐ½Ð¾Ð²Ð¸Ð´ÐµÐ½Ð¸Ñ Ð²ÐºÐ»ÑÑенÑ","dreamCronInvalid":"ÐведиÑе допÑÑÑимое Cron-вÑÑажение из 5 полей","autoMemorySearch":"ÐвÑомаÑиÑеÑкий поиÑк по памÑÑи (Beta)","autoMemorySearchTooltip":"ÐвÑомаÑиÑеÑки запÑÑкаÑÑ Ð¿Ð¾Ð¸Ñк по памÑÑи пÑи каждом диалоге. ÐаждÑй запÑÐ¾Ñ Ð±ÑÐ´ÐµÑ Ð°Ð²ÑомаÑиÑеÑки вÑзÑваÑÑ ÑÑнкÑÐ¸Ñ Ð¿Ð¾Ð¸Ñка по памÑÑи, Ð¿Ð¾Ð¼Ð¾Ð³Ð°Ñ QwenPaw лÑÑÑе понÑÑÑ Ð²Ð°Ñ â но ÑÑо ÑвелиÑÐ¸Ð²Ð°ÐµÑ ÑаÑÑ
од Ñокенов.","autoMaxResults":"ÐакÑ. ÑезÑлÑÑаÑов авÑомаÑиÑеÑкого поиÑка","autoMaxResultsTooltip":"ÐакÑималÑное колиÑеÑÑво ÑезÑлÑÑаÑов пÑи вклÑÑÑнном авÑомаÑиÑеÑком поиÑке по памÑÑи","autoMaxResultsRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. ÑиÑло ÑезÑлÑÑаÑов","autoMaxResultsMin":"ÐакÑ. ÑиÑло ÑезÑлÑÑаÑов должно бÑÑÑ Ð½Ðµ менÑÑе 1","inboxPushEnabled":"Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ ÑезÑлÑÑаÑаÑ
памÑÑи","inboxPushEnabledTooltip":"ÐÑпÑавлÑÑÑ ÑезÑлÑÑаÑÑ Ð°Ð²ÑомаÑиÑеÑкой памÑÑи, Ñновидений и Daily Paper во вÑ
одÑÑие. ÐÑклÑÑение не оÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð´Ð°Ñи памÑÑи.","autoMemoryInterval":"ÐнÑеÑвал авÑомаÑиÑеÑкой памÑÑи","autoMemoryIntervalTooltip":"ÐапÑÑкаÑÑ Ð°Ð²ÑомаÑиÑеÑкÑÑ Ð¿Ð°Ð¼ÑÑÑ ÐºÐ°Ð¶Ð´Ñе N полÑзоваÑелÑÑкиÑ
запÑоÑов. 0 оÑклÑÑÐ°ÐµÑ Ð¿ÐµÑиодиÑеÑкÑÑ Ð°Ð²ÑомаÑиÑеÑкÑÑ Ð¿Ð°Ð¼ÑÑÑ. 1 ознаÑÐ°ÐµÑ Ð·Ð°Ð¿ÑÑк поÑле каждого запÑоÑа. РекомендÑемое знаÑение: 2-5; пÑи знаÑении 1 ÑÑиÑÑвайÑе вÑÑокий ÑаÑÑ
од Ñокенов.","autoMemoryIntervalPlaceholder":"ÐведиÑе 0, ÑÑÐ¾Ð±Ñ Ð¾ÑклÑÑиÑÑ Ð¿ÐµÑиодиÑеÑкÑÑ Ð°Ð²ÑомаÑиÑеÑкÑÑ Ð¿Ð°Ð¼ÑÑÑ","autoMemoryIntervalRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¸Ð½ÑеÑвал авÑомаÑиÑеÑкой памÑÑи","autoMemoryIntervalMin":"ÐнÑеÑвал авÑомаÑиÑеÑкой памÑÑи должен бÑÑÑ Ð½Ðµ менÑÑе 0","embeddingConfigTitle":"Ð
150аÑÑÑойки модели Ñмбеддинга","embeddingModelTitle":"ÐÐ¾Ð´ÐµÐ»Ñ Ñмбеддингов","embeddingBackend":"Тип SDK Ñмбеддинга","embeddingBackendTooltip":"Тип SDK Ð´Ð»Ñ Ð²Ñзова модели Ñмбеддинга","embeddingBackendPlaceholder":"ÐÑбеÑиÑе Ñип SDK","embeddingApiKey":"API Key","embeddingApiKeyTooltip":"API-клÑÑ Ð¿ÑовайдеÑа Ñмбеддинга; оÑÑавÑÑе пÑÑÑÑм, еÑли аÑÑенÑиÑикаÑÐ¸Ñ Ð½Ðµ ÑÑебÑеÑÑÑ","embeddingApiKeyPlaceholder":"ÐÑÑавÑÑе пÑÑÑÑм, еÑли не ÑÑебÑеÑÑÑ","embeddingBaseUrl":"Base URL","embeddingBaseUrlTooltip":"Base URL API Ñмбеддинга. ÐÐ»Ñ OpenAI-ÑовмеÑÑимÑÑ
бÑкендов ÑÑÐ¾Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкий endpoint необÑзаÑелен; API Key и название модели обÑзаÑелÑнÑ.","embeddingBaseUrlPlaceholder":"https://dashscope.aliyuncs.com/compatible-mode/v1","embeddingHost":"Host","embeddingHostTooltip":"ÐдÑÐµÑ ÑеÑвиÑа Ollama. ÐÑли оÑÑавиÑÑ Ð¿ÑÑÑÑм, бÑÐ´ÐµÑ Ð¸ÑполÑзован Ñ
оÑÑ Ollama по ÑмолÑаниÑ.","embeddingHostPlaceholder":"http://localhost:11434","embeddingModelName":"Ðазвание модели","embeddingModelNameTooltip":"Ðазвание модели Ñмбеддинга. ÐбÑзаÑелÑно Ð´Ð»Ñ Ð²ÑеÑ
бÑкендов Ñмбеддинга.","embeddingModelNamePlaceholder":"text-embedding-v4","embeddingEnableCache":"ÐклÑÑиÑÑ ÐºÑÑ Ñмбеддинга","embeddingEnableCacheTooltip":"ÐÑÑиÑоваÑÑ ÑезÑлÑÑаÑÑ Ñмбеддинга Ð´Ð»Ñ ÑменÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÑоÑнÑÑ
вÑÑиÑлений","embeddingMaxCacheSize":"ÐакÑ. ÑÐ°Ð·Ð¼ÐµÑ ÐºÑÑа","embeddingMaxCacheSizeTooltip":"ÐакÑималÑное колиÑеÑÑво запиÑей в кÑÑе Ñмбеддинга","embeddingMaxCacheSizeRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. ÑÐ°Ð·Ð¼ÐµÑ ÐºÑÑа","embeddingUseDimensions":"ÐеÑедаваÑÑ ÑазмеÑноÑÑÑ Ð² запÑоÑе","embeddingUseDimensionsTooltip":"ÐеÑедаваÑÑ Ð¿Ð°ÑамеÑÑ dimensions в запÑоÑаÑ
к OpenAI-ÑовмеÑÑÐ¸Ð¼Ð¾Ð¼Ñ Embedding API; некоÑоÑÑе ÑеÑвиÑÑ Ð½Ðµ поддеÑживаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ","embeddingDimensions":"РазмеÑноÑÑи Ñмбеддинга","embeddingDimensionsTooltip":"ÐÐ¶Ð¸Ð´Ð°ÐµÐ¼Ð°Ñ ÑазмеÑноÑÑÑ Ð²ÐµÐºÑоÑа Ð´Ð»Ñ Ð¿ÑовеÑки оÑвеÑов, индекÑов и кÑÑа; еÑли пеÑедаÑа в запÑоÑе оÑклÑÑена, ÑкажиÑе ÑакÑиÑеÑкÑÑ ÑазмеÑноÑÑÑ Ð²Ñвода модели","embeddingDimensionsRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ ÑазмеÑноÑÑи Ñмбеддинга","embeddingDimensionsMin":"РазмеÑноÑÑи Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½Ðµ менÑÑе 1","embeddingMaxInputLength":"ÐÑÐ´Ð¶ÐµÑ Ñимволов на один вÑ
од","embeddingMaxInputLengthTooltip":"ÐÑиблизиÑелÑнÑй бÑÐ´Ð¶ÐµÑ Ñимволов Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ вÑ
ода Embedding. ÐеÑед запÑоÑом ÑекÑÑ Ð¾Ð±ÑезаеÑÑÑ, а ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ CJK и дÑÑгие полноÑиÑиннÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¾ÑениваÑÑÑÑ ÐºÐ¾Ð½ÑеÑваÑивнее; ÑÑо не ÑоÑнÑй Ð»Ð¸Ð¼Ð¸Ñ Ñокенов","embeddingMaxInputLengthRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð±ÑÐ´Ð¶ÐµÑ Ñимволов на один вÑ
од","embeddingMaxBatchSize":"ÐакÑ. ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð°ÐºÐµÑа","embeddingHealthCheckTimeout":"Тайм-аÑÑ Ð¸Ð½Ð¸ÑиализаÑии","embeddingHealthCheckTimeoutTooltip":"Тайм-аÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð¹ попÑÑки пÑовеÑки подклÑÑÐµÐ½Ð¸Ñ Ð¸ пÑовеÑки embedding пÑи запÑÑке ReMe","embeddingHealthCheckTimeoutRequired":"УкажиÑе Ñайм-аÑÑ Ð¸Ð½Ð¸ÑиализаÑии","embeddingMaxBatchSizeTooltip":"ÐакÑималÑное колиÑеÑÑво ÑлеменÑов в одном пакеÑном запÑоÑе Ñмбеддинга","embeddingMaxBatchSizeRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð°ÐºÐµÑа","maxContextLength":"ÐакÑ. длина конÑекÑÑа","maxContextLengthTooltip":"ÐакÑималÑное колиÑеÑÑво Ñокенов в окне конÑекÑÑа модели, опÑеделÑÑÑее, ÑколÑко иÑÑоÑии помеÑаеÑÑÑ Ð² каждÑй запÑоÑ","maxContextLengthRequired":"ТÑебÑеÑÑÑ ÑказаÑÑ Ð¼Ð°ÐºÑ. Ð´Ð»Ð¸Ð½Ñ ÐºÐ¾Ð½ÑекÑÑа","maxContextLengthMin":"ÐакÑ. длина конÑекÑÑа должна бÑÑÑ Ð½Ðµ менÑÑе 1000","maxContextLengthPlaceholder":"ÐведиÑе макÑ. Ð´Ð»Ð¸Ð½Ñ ÐºÐ¾Ð½ÑекÑÑа","embeddingActivationNote":"Ðмбеддинг акÑивиÑÑеÑÑÑ, когда Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð¾Ð±ÑзаÑелÑнÑе Ð¿Ð¾Ð»Ñ Ð²ÑбÑанного бÑкенда.","embeddingEnableHint":"Ðмбеддинг акÑивиÑÑеÑÑÑ, когда Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð¾Ð±ÑзаÑелÑнÑе полÑ: название модели и API Key Ð´Ð»Ñ OpenAI-ÑовмеÑÑимÑÑ
или Gemini бÑкендов;
150 название модели Ð´Ð»Ñ Ollama.","rebuildMemoryIndex":"ÐеÑеÑÑÑоиÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð°Ð¼ÑÑи","rebuildMemoryIndexWarning":"ÐÑа опеÑаÑÐ¸Ñ Ð¾ÑиÑÐ°ÐµÑ Ð¸ пеÑеÑÑÑÐ°Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð¸ÑковÑй Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð°Ð¼ÑÑи и Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑеблÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾ ÑеÑÑÑÑов CPU и опеÑаÑивной памÑÑи. ÐÑполÑзÑйÑе ÐµÑ ÑолÑко Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÑеждÑнного индекÑа или иÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾ÑÑекÑнÑÑ
ÑезÑлÑÑаÑов поиÑка.","rebuildMemoryIndexConfirmTitle":"ÐеÑеÑÑÑоиÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð°Ð¼ÑÑи?","rebuildMemoryIndexConfirm":"Ðо вÑÐµÐ¼Ñ Ð¿ÐµÑеÑÑÑÐ¾ÐµÐ½Ð¸Ñ Ð½Ð°Ð³ÑÑзка на CPU и поÑÑебление опеÑаÑивной памÑÑи могÑÑ Ð·Ð½Ð°ÑиÑелÑно возÑаÑÑи. ÐпеÑаÑÐ¸Ñ Ð½Ðµ ÑекомендÑеÑÑÑ, еÑли Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ повÑеждÑн и не нÑждаеÑÑÑ Ð² воÑÑÑановлении.","rebuildMemoryIndexSuccess":"ÐÐ½Ð´ÐµÐºÑ Ð¿Ð°Ð¼ÑÑи ÑÑпеÑно пеÑеÑÑÑоен","rebuildMemoryIndexFailed":"Ðе ÑдалоÑÑ Ð¿ÐµÑеÑÑÑоиÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð°Ð¼ÑÑи: {{error}}","rebuildMemoryIndexRequired":"ÐонÑигÑÑаÑÐ¸Ñ Embedding изменилаÑÑ. ÐекÑоÑнÑй поиÑк оÑклÑÑÑн, и до пеÑеÑÑÑÐ¾ÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа Embedding Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка по памÑÑи бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ BM25.","embeddingIndexReady":"ÐÐ½Ð´ÐµÐºÑ Embedding ÑооÑвеÑÑÑвÑÐµÑ ÑекÑÑей конÑигÑÑаÑии.","embeddingIndexStatus":"ÐÐ½Ð´ÐµÐºÑ Embedding","embeddingIndexAvailable":"ÐкÑÑален","embeddingSearchModeHybrid":"ТекÑÑий поиÑк: векÑоÑÑ + BM25","embeddingSearchModeBm25":"ТекÑÑий поиÑк: ÑолÑко BM25","embeddingSearchModeBm25Pending":"ТекÑÑий поиÑк: ÑолÑко BM25 · ожидаеÑÑÑ Ð¿ÐµÑеÑÑÑоение","embeddingIndexNeedsRebuild":"ТÑебÑеÑÑÑ Ð¿ÐµÑеÑÑÑоение","embeddingIndexRebuilding":"ÐеÑеÑÑÑоение","embeddingIndexRebuildingHint":"СоздаÑÑÑÑ Ð²ÐµÐºÑоÑÑ Ð¿Ð°Ð¼ÑÑи","embeddingIndexSaveFirst":"СнаÑала ÑоÑ
ÑаниÑе конÑигÑÑаÑиÑ","embeddingIndexUnsavedHint":"СоÑ
ÑаниÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑед пеÑеÑÑÑоением индекÑа","embeddingIndexMatchesConfig":"СооÑвеÑÑÑвÑÐµÑ ÑекÑÑей конÑигÑÑаÑии","embeddingIndexBm25Fallback":"ÐекÑоÑнÑй поиÑк оÑклÑÑÑн · иÑполÑзÑеÑÑÑ BM25","rebuildEmbeddingIndex":"ÐеÑеÑÑÑоиÑÑ Ð¸Ð½Ð´ÐµÐºÑ Embedding","rebuildEmbeddingIndexConfirmTitle":"ÐеÑеÑÑÑоиÑÑ Ð¸Ð½Ð´ÐµÐºÑ Embedding?","rebuildEmbeddingIndexConfirm":"ÐÐ»Ñ Ð²ÑеÑ
ÑÑагменÑов памÑÑи бÑдÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ ÑÐ¾Ð·Ð´Ð°Ð½Ñ Ñмбеддинги Ñ ÑекÑÑей конÑигÑÑаÑией. ÐекÑоÑнÑй поиÑк оÑÑанеÑÑÑ Ð¾ÑклÑÑÑннÑм до ÑÑпеÑного завеÑÑÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑии.","rebuildEmbeddingIndexSuccess":"ÐÐ½Ð´ÐµÐºÑ Embedding пеÑеÑÑÑоен","rebuildEmbeddingIndexFailed":"Ðе ÑдалоÑÑ Ð¿ÐµÑеÑÑÑоиÑÑ Ð¸Ð½Ð´ÐµÐºÑ Embedding: {{error}}","undoEmbeddingChange":"ÐÑмениÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ","undoEmbeddingChangeConfirmTitle":"ÐоÑÑÑановиÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Embedding, иÑполÑзованнÑÑ Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑа?","undoEmbeddingChangeConfirm":"ÐÑÐ´ÐµÑ Ð²Ð¾ÑÑÑановлена поÑледнÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑ, ÑооÑвеÑÑÑвÑÑÑÐ°Ñ ÑÑÑеÑÑвÑÑÑÐµÐ¼Ñ Ð²ÐµÐºÑоÑÐ½Ð¾Ð¼Ñ Ð¸Ð½Ð´ÐµÐºÑÑ.","undoEmbeddingChangeSuccess":"ÐонÑигÑÑаÑÐ¸Ñ Embedding, иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑа, воÑÑÑановлена","undoEmbeddingChangeFailed":"Ðе ÑдалоÑÑ Ð²Ð¾ÑÑÑановиÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Embedding: {{error}}","rebuildBm25Index":"ÐеÑеÑÑÑоиÑÑ Ð¸Ð½Ð´ÐµÐºÑ BM25","rebuildBm25IndexDescription":"Ðаново ÑоздайÑе Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ð¸Ñка по клÑÑевÑм Ñловам из ÑекÑÑиÑ
ÑÑагменÑов памÑÑи.","rebuildBm25IndexConfirmTitle":"ÐеÑеÑÑÑоиÑÑ Ð¸Ð½Ð´ÐµÐºÑ BM25?","rebuildBm25IndexConfirm":"ÐÐ½Ð´ÐµÐºÑ Ð¿Ð¾Ð¸Ñка по клÑÑевÑм Ñловам бÑÐ´ÐµÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ Ñоздан из ÑекÑÑиÑ
ÑÑагменÑов памÑÑи.","rebuildBm25IndexSuccess":"ÐÐ½Ð´ÐµÐºÑ BM25 пеÑеÑÑÑоен","goToLongTermMemory":"ÐеÑейÑи Ð
150º долговÑеменной памÑÑи","toolResultCompactRecentGtOld":"ÐоÑог Ð´Ð»Ñ Ð¿Ð¾ÑледниÑ
ÑообÑений должен бÑÑÑ Ð±Ð¾Ð»ÑÑе или Ñавен поÑÐ¾Ð³Ñ Ð´Ð»Ñ ÑÑаÑÑÑ
ÑообÑений","lightContextTitle":"УпÑавление конÑекÑÑом","visualCompactCollapseLabel":"ÐизÑалÑное ÑжаÑие","visualCompactDescription":"Ð¡Ð¶Ð¸Ð¼Ð°ÐµÑ ÑÑаÑÑй и длиннÑй конÑекÑÑ Ð² визÑалÑнÑе ÑÑÑаниÑÑ, ÑокÑаÑÐ°Ñ Ð²Ñ
однÑе ÑокенÑ. Ðедавний диалог оÑÑаÑÑÑÑ ÑекÑÑом.","visualCompactEnabled":"ÐклÑÑиÑÑ Visual Compact","visualCompactEffort":"ÐнÑенÑивноÑÑÑ ÑжаÑиÑ","visualCompactLow":"ÐизкаÑ","visualCompactMedium":"СÑеднÑÑ","visualCompactHigh":"ÐÑÑокаÑ","visualCompactLowDescription":"Ð¡Ð¶Ð¸Ð¼Ð°ÐµÑ Ð¼ÐµÐ½ÑÑе ÑодеÑжимого и оÑдаÑÑ Ð¿ÑиоÑиÑÐµÑ ÑиÑаемоÑÑи.","visualCompactMediumDescription":"ÐаланÑиÑÑÐµÑ ÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ñокенов и визÑалÑнÑÑ ÑиÑаемоÑÑÑ.","visualCompactHighDescription":"Ð¡Ð¶Ð¸Ð¼Ð°ÐµÑ Ð±Ð¾Ð»ÑÑе подÑ
одÑÑего конÑекÑÑа и оÑдаÑÑ Ð¿ÑиоÑиÑÐµÑ Ñкономии Ñокенов.","visualCompactQualityNote":"Ðолее ÑилÑное ÑжаÑие не обÑзаÑелÑно повÑÑÐ°ÐµÑ ÐºÐ°ÑеÑÑво оÑвеÑа.","visualCompactCapabilityNote":"РабоÑÐ°ÐµÑ ÑолÑко Ñ Ð¼Ð¾Ð´ÐµÐ»Ñми, поддеÑживаÑÑими ввод изобÑажений.","remeLightMemoryTitle":"ÐолгоÑÑоÑÐ½Ð°Ñ Ð¿Ð°Ð¼ÑÑÑ","toolExecutionLevelTitle":"Режим одобÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑов","toolExecutionLevelTooltip":"Режим одобÑениÑ","toolExecutionLevel":{"title":"Режим одобÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑов","alertMessage":"ÐаÑÑÑойÑе одобÑение пеÑед вÑзовом инÑÑÑÑменÑов. ÐÑавила заÑиÑÑ Ñайлов пÑименÑÑÑÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо.","strict":"СÑÑогий Ñежим","strictDesc":"ÐеÑед каждÑм вÑзовом инÑÑÑÑменÑа и доÑÑÑпом к внеÑним Ñайлам ÑÑебÑеÑÑÑ Ð¾Ð´Ð¾Ð±Ñение","smart":"УмнÑй Ñежим","smartDesc":"ÐÑÐ·Ð¾Ð²Ñ Ð¸Ð½ÑÑÑÑменÑов Ñ Ð½Ð¸Ð·ÐºÐ¸Ð¼ ÑиÑком и доÑÑÑп к внеÑним Ñайлам вÑполнÑÑÑÑÑ Ð°Ð²ÑомаÑиÑеÑки; опеÑаÑии Ñо ÑÑедним и вÑÑоким ÑиÑком ÑÑебÑÑÑ Ð¾Ð´Ð¾Ð±ÑениÑ","auto":"ÐвÑомаÑиÑеÑкий Ñежим","autoDesc":"ÐдобÑение ÑÑебÑеÑÑÑ ÑолÑко Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑий, ÑооÑвеÑÑÑвÑÑÑиÑ
пÑавилам одобÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑов и Ñайлов (по ÑмолÑаниÑ)","off":"ÐÑклÑÑено","offDesc":"ÐдобÑение инÑÑÑÑменÑов и Ñайлов оÑклÑÑено"},"saveLevelSuccess":"Режим одобÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑов ÑоÑ
ÑанÑн","saveLevelFailed":"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ñежим одобÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑÑÑÑменÑов","adbpgMemoryTitle":"ADBPG Long-term Memory","powercontextMemoryTitle":"ÐамÑÑÑ PowerContext","powercontextConfig":{"title":"ÐонÑигÑÑаÑÐ¸Ñ Ð¿Ð°Ð¼ÑÑи PowerContext","baseUrl":"URL ÑеÑвеÑа","token":"Bearer-Ñокен","scopeId":"ÐблаÑÑÑ Ð¿Ð°Ð¼ÑÑи","scopeIdPlaceholder":"ÐÑÑавÑÑе пÑÑÑÑм, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ ÑникалÑнÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ Ð°Ð³ÐµÐ½Ñа Ð´Ð»Ñ ÑÑой ÑÑÑановки","scopeIdInvalid":"ÐблаÑÑÑ Ð¿Ð°Ð¼ÑÑи не Ð¼Ð¾Ð¶ÐµÑ ÑоÑÑоÑÑÑ ÑолÑко из пÑобелов.","timeout":"Тайм-аÑÑ Ð·Ð°Ð¿ÑоÑа","maxContextBytes":"ÐакÑималÑнÑй обÑÑм внедÑÑемого конÑекÑÑа (байÑ)","maxContextBytesTooltip":"ÐгÑаниÑÐ¸Ð²Ð°ÐµÑ Ð¾Ð±Ñий обÑÑм ÑезÑлÑÑаÑов поиÑка PowerContext, добавлÑемÑÑ
за один Ñ
од модели."},"adbpgConfig":{"title":"ADBPG Memory Configuration","restBaseUrl":"REST Base URL","restApiKey":"REST API Key","memoryIsolation":"Memory Isolation (per-agent)","searchTimeout":"Search Timeout"}}'),Bx={title:"ÐÑÑÑоеннÑе инÑÑÑÑменÑÑ",description:"УпÑавлÑйÑе вÑÑÑоеннÑми инÑÑÑÑменÑами и иÑ
ÑÑаÑÑÑом. ÐÑклÑÑÑннÑе инÑÑÑÑменÑÑ Ð½Ðµ бÑдÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ð°Ð³ÐµÐ½ÑÑ.",emptyState:"ÐÐµÑ Ð½Ð°ÑÑÑоеннÑÑ
инÑÑÑÑменÑов",loadError:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¸Ð½ÑÑÑÑменÑÑ",enableSuccess:"ÐнÑÑÑÑÐ¼ÐµÐ½Ñ ÑÑпеÑно вклÑÑÑн",disableSuccess:"ÐнÑÑÑÑÐ¼ÐµÐ½Ñ ÑÑпеÑно оÑклÑÑÑн",toggleError:"Ðе ÑдалоÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑаÑÑÑ Ð¸Ð½ÑÑÑÑменÑа",enableAll:"ÐклÑÑиÑÑ Ð²Ñе",disableAll:"ÐÑклÑÑиÑÑ Ð²Ñе",enableAllSuccess:"ÐÑе инÑÑÑÑменÑÑ Ð²ÐºÐ»ÑÑенÑ",disableAllSuccess:"ÐÑе инÑÑÑÑменÑÑ Ð¾ÑклÑÑенÑ",allEnabled:"ÐÑе инÑÑÑÑменÑÑ Ñже вклÑÑенÑ",allDisabled:"ÐÑе инÑÑÑÑменÑÑ Ñже оÑклÑÑенÑ",asyncExecution:"ÐÑинÑ
Ñонное вÑполнение",asyncExecutionEnabled:"ÐÑинÑ
Ñонное вÑполнение вклÑÑено",asyncExecutionDisabled:"ÐÑинÑ
Ñонное вÑполнение оÑклÑÑено",browserUnifiedMode:"УниÑиÑиÑованнÑй бÑаÑÐ·ÐµÑ (беÑа)",browserLegacyMode:"Режим ÑовмеÑÑимоÑÑи Ñ ÑÑÑаÑевÑей веÑÑией",browserUnifiedModeButton:"ÐовÑй (беÑа)",browserLegacyModeButton:"СÑаÑÑй (Ñовм.)",browserUnifiedDescription:"ÐÑполÑзоваÑÑ Ð½Ð¾Ð²Ñе возможноÑÑи ÑниÑиÑиÑованного бÑаÑзеÑа.",browserLegacyDescription:"ÐÑполÑзоваÑÑ Ð¸ÑÑ
однÑÑ ÑеализаÑÐ¸Ñ Ð±ÑаÑзеÑа Ð´Ð»Ñ Ð¿Ñежнего поведениÑ.",browserRestartPending:"ÐоÑле пеÑезапÑÑка ÑлÑжба пеÑеклÑÑиÑÑÑ Ð½Ð°: {{mode}}",configure:"ÐаÑÑÑоиÑÑ",configured:"ÐаÑÑÑоено",requiresConfig:"ТÑебÑеÑÑÑ Ð½Ð°ÑÑÑойка",configSaved:"ÐонÑигÑÑаÑÐ¸Ñ ÑоÑ
Ñанена",configSaveError:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑ",webSearchProviderLabel:"ÐÑовайдеÑ",webSearchApiKeyLabel:"API-клÑÑ (необÑзаÑелÑно)",webSearchQuotaHintBefore:"Ðез ÑегиÑÑÑаÑии: 100 вÑзовов/денÑ. Ðа ",webSearchQuotaHintAfter:": 1000/денÑ.",active:"акÑивно",available:"ÐоÑÑÑпно",noEnabled:"ÐÐµÑ Ð²ÐºÐ»ÑÑÑннÑÑ
инÑÑÑÑменÑов",goEnableBtn:"ÐклÑÑиÑÑ",configureAction:"ÐаÑÑÑоиÑÑ â",enableAction:"ÐклÑÑиÑÑ â"},Nx={promptTitle:"ТÑебÑеÑÑÑ LLM-Ð¼Ð¾Ð´ÐµÐ»Ñ â вÑбеÑиÑе в Chat поÑле наÑÑÑойки",promptMessage:"ÐÐ»Ñ ÑабоÑÑ ÑаÑа нÑжна LLM-моделÑ. СнаÑала наÑÑÑойÑе моделÑ, заÑем вÑбеÑиÑе ÐµÑ Ð² ÑелекÑоÑе моделей ввеÑÑ
Ñ ÑÑÑаниÑÑ Chat.",configureButton:"ÐаÑÑÑоиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ",skipButton:"ÐÑопÑÑÑиÑÑ",chatDisabledTitle:"Ð§Ð°Ñ Ð¾ÑклÑÑÑн",chatDisabledMessage:"ФÑнкÑии ÑаÑа оÑклÑÑенÑ, поÑÐ¾Ð¼Ñ ÑÑо не наÑÑÑоена моделÑ. ÐаÑÑÑойÑе моделÑ, ÑÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ ÑаÑ.",configureNow:"ÐаÑÑÑоиÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ",modelNotConfigured:"ÐеÑед иÑполÑзованием ÑаÑа наÑÑÑойÑе Ð¼Ð¾Ð´ÐµÐ»Ñ Ð² Ñазделе «ÐаÑÑÑойки»"},Hx={changelog:"СпиÑок изменений",docs:"ÐокÑменÑаÑиÑ",tutorial:"Ð ÑководÑÑво",featureDemos:"ÐемонÑÑÑаÑÐ¸Ñ ÑÑнкÑий",faq:"FAQ",github:"GitHub",resources:"ÐокÑменÑаÑиÑ",updateAvailable:"ÐоÑÑÑпно обновление"}
150,Ux={dark:"ТÑмнаÑ",light:"СвеÑлаÑ",system:"Ðак в ÑиÑÑеме"},qx={newVersion:"ÐоÑÑÑпна Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑÑиÑ: v{{version}}, нажмиÑе Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ",updateModal:{title:"ÐоÑÑÑпна Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑÑиÑ: v{{version}}",viewReleases:"ÐÑкÑÑÑÑ ÑелизÑ",installDesktopUpdate:"ÐбновиÑÑ ÑейÑаÑ",desktopInstallHint:"QwenPaw Desktop {{version}} гоÑов к ÑÑÑановке. ÐÑиложение пеÑезапÑÑÑиÑÑÑ Ð¿Ð¾Ñле обновлениÑ.",checking:"ÐÑовеÑка обновленийâ¦",checkingHint:"ÐÑовеÑÑем поÑледнÑÑ Ð²ÐµÑÑиÑ",downloading:"ÐагÑÑзка обновлениÑ",downloadingTo:"Ðбновление до веÑÑии {{version}}",downloadProgress:"{{done}} / {{total}} · {{rate}}",installing:"УÑÑановка обновлениÑ",willRestart:"ÐÑиложение пеÑезапÑÑÑиÑÑÑ Ð°Ð²ÑомаÑиÑеÑки поÑле ÑÑÑановки.",stepPrepare:"ÐодгоÑовка",stepDownloading:"ÐагÑÑзка",stepInstalling:"УÑÑановка",failedTitle:"Ðбновление не ÑдалоÑÑ",back:"Ðазад",retry:"ÐовÑоÑиÑÑ",errors:{network:"Ðе ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑеÑвеÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹. ÐÑовеÑÑÑе инÑеÑÐ½ÐµÑ Ð¸ повÑоÑиÑе попÑÑкÑ.",signature:"Ðе ÑдалоÑÑ Ð¿ÑовеÑиÑÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑ Ñайла обновлениÑ. ÐопÑобÑйÑе загÑÑзиÑÑ ÐµÑÑ Ñаз.",appLocation:"QwenPaw запÑÑен из macOS-пÑÑи ÑолÑко Ð´Ð»Ñ ÑÑениÑ. ÐеÑемеÑÑиÑе QwenPaw.app в Ð¿Ð°Ð¿ÐºÑ Applications, запÑÑÑиÑе его оÑÑÑда и повÑоÑиÑе обновление.",other:"Ðбновление не ÑдалоÑÑ."},updateLater:"СкаÑаÑÑ Ð² Ñоне",backgroundDownloading:"ÐагÑÑзка в Ñоновом Ñежимеâ¦",readyToInstall:"Ðбновление гоÑово",readyToInstallHint:"Ðбновление v{{version}} загÑÑжено. ÐеÑезапÑÑÑиÑе пÑиложение, ÑÑÐ¾Ð±Ñ ÑÑÑановиÑÑ Ð¸ оÑкÑÑÑÑ Ð½Ð¾Ð²ÑÑ Ð²ÐµÑÑиÑ.",restartNow:"ÐбновиÑÑ ÑейÑаÑ",backgroundFailed:"Ð¤Ð¾Ð½Ð¾Ð²Ð°Ñ Ð·Ð°Ð³ÑÑзка не ÑдалаÑÑ"},settings:{language:"ЯзÑк",theme:"Тема",mode:"Режим",desktopMode:"Режим ÑабоÑего ÑÑола"},simpleMode:"ÐÑоÑÑой Ñежим",fullMode:"ÐолнÑй Ñежим",toggleAgentNavigation:"РазвеÑнÑÑÑ Ð¸Ð»Ð¸ ÑвеÑнÑÑÑ Ð½Ð°Ð²Ð¸Ð³Ð°ÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñа"},jx={groups:{cronShort:"РаÑпиÑание",subagentShort:"СÑбагенÑ"},fileReference:{codeSnippet:"ФÑÐ°Ð³Ð¼ÐµÐ½Ñ ÐºÐ¾Ð´Ð° · {{count}} ÑÑÑок"},modelSelectTooltip:"ÐÑÐ±Ð¾Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸",newChatTooltip:"ÐовÑй ÑаÑ",searchTooltip:"ÐоиÑк во вÑеÑ
ÑаÑаÑ
",chatHistoryTooltip:"ÐÑÑоÑÐ¸Ñ ÑаÑов",wideModeTooltip:"ШиÑокий Ñежим",normalModeTooltip:"ÐбÑÑнÑй Ñежим",messageDisplay:{stepsRunning:"ÐÑполнÑеÑÑÑ⦠· Ñагов: {{count}}",stepsCanceled:"ÐÑменено · Ñагов: {{count}}",stepsFailed:"ÐÑибка · Ñагов: {{count}}",stepsCompleted:"ÐÑполнено Ñагов: {{count}}"},allChats:"ÐÑе ÑаÑÑ",createNewChat:"СоздаÑÑ Ð½Ð¾Ð²Ñй ÑаÑ",pinDrawer:"ÐакÑепиÑÑ",unpinDrawer:"ÐÑкÑепиÑÑ",statusIdle:"Ðжидание",statusInProgress:"ÐÑполнÑеÑÑÑ",disclaimer:"РабоÑÐ°ÐµÑ Ð´Ð»Ñ Ð²Ð°Ñ, ÑаÑÑÑÑ Ð²Ð¼ÐµÑÑе Ñ Ð²Ð°Ð¼Ð¸",greeting:"ÐÑивеÑ, Ñем Ñ Ð¼Ð¾Ð³Ñ Ð¿Ð¾Ð¼Ð¾ÑÑ Ð²Ð°Ð¼ ÑегоднÑ?",description:"Я полезнÑй аÑÑиÑÑенÑ, коÑоÑÑй Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð²Ð°Ð¼ Ñ Ð²Ð°Ñими вопÑоÑами.",prompt1:"ÐавайÑе наÑнÑм новое пÑÑеÑеÑÑвие!",prompt2:"РаÑÑкажи мне, какими навÑками ÑÑ Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑÑ?",inputPlaceholder:'"ââ" Ð´Ð»Ñ Ð½Ð°Ð²Ð¸Ð³Ð°Ñии по ÑообÑениÑм · "/" Ð´Ð»Ñ Ð±ÑÑÑÑÑÑ
команд',longTextUploadPrompt:"ÐожалÑйÑÑа, пÑоÑиÑайÑе загÑÑженнÑй Ñайл Ñ Ð¿ÑомпÑом и оÑвеÑÑÑе на его оÑнове.",emptyOutputError:"ÐÑÑиÑÑÐµÐ½Ñ Ð²ÐµÑнÑл пÑÑÑой оÑвеÑ.",commands:{clear:{description:"ÐÑиÑÑиÑÑ ÐºÐ¾Ð½ÑекÑÑ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð°"},compact:{description:"СжаÑÑ ÐºÐ¾Ð½ÑекÑÑ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð° и ÑоздаÑÑ ÑезÑме; поддеÑживаеÑÑÑ Ð´Ð¾Ð¿. инÑÑÑÑкÑиÑ"},approve:{description:"ÐодÑвеÑдиÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑее дейÑÑвие инÑÑÑÑменÑа и пÑодолжиÑÑ Ð²Ñполнение"},deny:{description:"ÐÑклониÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑее дейÑÑвие инÑÑÑÑменÑа"},mission:{description:"Режим Mission â ÑÐ°Ð·Ð±Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð´Ð°Ñи на ÑÑб-аÐ
150³ÐµÐ½Ñов Ñ Ð¸Ð·Ð¾Ð»Ð¸ÑованнÑм конÑекÑÑом"},skills:{description:"ÐоказаÑÑ Ð´Ð¾ÑÑÑпнÑе в ÑаÑе навÑки и ÑвнÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸Ñ
вÑзова"},agents:{description:"ÐоказаÑÑ Ð°Ð³ÐµÐ½Ñов, доÑÑÑпнÑÑ
в ÑекÑÑей ÑÑеде"},review:{description:"ÐÑовеÑиÑÑ Ð² Codex незакоммиÑеннÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑабоÑей облаÑÑи"},status:{description:"ÐоказаÑÑ ÑекÑÑÑÑ ÑÑÑÑнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð°Ð³ÐµÐ½Ñа, Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¸ ÑабоÑÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ"},goal:{description:"Goal-Ñикл â Ð°Ð³ÐµÐ½Ñ Ð½ÐµÐ¿ÑеÑÑвно пÑеÑледÑÐµÑ ÑелÑ, авÑомаÑиÑеÑки оÑÐµÐ½Ð¸Ð²Ð°Ñ Ð·Ð°Ð²ÐµÑÑение ÑеÑез Rubric"}},attachments:{tooltip:"ÐоддеÑживаÑÑÑÑ Ð´Ð¾ÐºÑменÑÑ, изобÑажениÑ, видео, аÑдио и дÑÑгие ÑоÑмаÑÑ",tooltipImageOnly:"ТекÑÑÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑолÑко загÑÑÐ·ÐºÑ Ð¸Ð·Ð¾Ð±Ñажений",tooltipNoMultimodal:"ÐÑлÑÑимодалÑнÑе возможноÑÑи ÑекÑÑей модели не обнаÑÑженÑ, изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ видео могÑÑ Ð±ÑÑÑ Ð¾Ð±ÑабоÑÐ°Ð½Ñ Ð½ÐµÐºÐ¾ÑÑекÑно",fileSizeLimit:"ÐакÑимÑм {{limit}} ÐРна Ñайл",fileSizeExceeded:"Ð Ð°Ð·Ð¼ÐµÑ Ñайла пÑевÑÑÐ°ÐµÑ Ð»Ð¸Ð¼Ð¸Ñ {{limit}} ÐÐ. ТекÑÑий Ñайл: {{size}} ÐÐ",multimodalDisabled:"ТекÑÑÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð³ÑÑÐ·ÐºÑ Ñайлов",multimodalWarning:"ÐÑлÑÑимодалÑнÑе возможноÑÑи ÑекÑÑей модели не обнаÑÑженÑ, изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ видео могÑÑ Ð±ÑÑÑ Ð¾Ð±ÑабоÑÐ°Ð½Ñ Ð½ÐµÐºÐ¾ÑÑекÑно",imageOnlyAccept:"ТекÑÑÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑолÑко ÑÐ°Ð¹Ð»Ñ Ð¸Ð·Ð¾Ð±Ñажений",imageOnlyWarning:"ТекÑÑÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑолÑко изобÑажениÑ, видео и дÑÑгие ÑÐ°Ð¹Ð»Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾Ð±ÑабоÑÐ°Ð½Ñ Ð½ÐµÐºÐ¾ÑÑекÑно"},rateLimitHit:"ТекÑÑÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¾Ð³ÑаниÑена. ÐопÑобÑйÑе пеÑеклÑÑиÑÑÑÑ Ð½Ð° дÑÑгÑÑ Ð±ÐµÑплаÑнÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ.",turnUsagePopover:{ariaLabel:"ÐоказаÑÑ Ð¸ÑполÑзование Ñокенов и конÑекÑÑа за Ñ
од",turn:"ÐÑÐ¾Ñ Ñ
од",turnEstimated:"ÐÑÐ¾Ñ Ñ
од ~",tok:"tok",inOut:"in {{inTok}} · out {{outTok}}",contextLabel:"Ðкно конÑекÑÑа:",outerRing:"Outer ring",cacheLabel:"Cache hit rate",centerValue:"Center",cacheTokens:"попадание {{readTok}} / ввод {{inputTok}}",manageContext:"УпÑавление конÑекÑÑом",compact:"СжаÑÑ",new:"ÐовÑй ÑаÑ"},rateLimitMessage:"ÐоÑÑигнÑÑ Ð»Ð¸Ð¼Ð¸Ñ Ð·Ð°Ð¿ÑоÑов. ÐеÑеклÑÑиÑеÑÑ Ð½Ð° дÑÑгÑÑ Ð±ÐµÑплаÑнÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ:",rateLimitSwitched:"ÐеÑеклÑÑено на {{model}}",speech:{startRecording:"ÐаÑаÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð³Ð¾Ð»Ð¾Ñа (Ctrl+Shift+M)",stopRecording:"ÐÑÑановиÑÑ Ð·Ð°Ð¿Ð¸ÑÑ (Ctrl+Shift+M)",transcribing:"ТÑанÑкÑибаÑиÑ...",transcriptionDisabled:"ТÑанÑкÑибаÑÐ¸Ñ Ð¾ÑклÑÑена. ÐаÑÑÑойÑе пÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð² ÐаÑÑÑойки > ÐолоÑÐ¾Ð²Ð°Ñ ÑÑанÑкÑибаÑиÑ.",transcriptionFailed:"ÐÑибка голоÑовой ÑÑанÑкÑибаÑии",microphoneError:"Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð´Ð¾ÑÑÑп к микÑоÑонÑ",fileTooLarge:"Файл запиÑи ÑлиÑком болÑÑой ({{size}}ÐÐ). ÐакÑимÑм: {{limit}}ÐÐ",recordingTooLong:"ÐлиÑелÑноÑÑÑ Ð·Ð°Ð¿Ð¸Ñи пÑевÑÑÐ°ÐµÑ Ð»Ð¸Ð¼Ð¸Ñ ({{limit}}Ñ)"},search:{title:"ÐоиÑк в ÑаÑе",tooltip:"ÐоиÑк в ÑекÑÑем ÑаÑе",placeholder:"ÐоиÑк ÑообÑений...",noResults:"РезÑлÑÑаÑÑ Ð½Ðµ найденÑ",resultsCount:"Ðайдено {{count}} ÑезÑлÑÑаÑ(ов)",searching:"ÐоиÑк {{progress}}
150...",loading:"ÐагÑÑзка...",userMessage:"ÐолÑзоваÑелÑ",assistantMessage:"ÐÑÑиÑÑенÑ",titleMatch:"Ðазвание"},contextMenu:{open:"ÐÑкÑÑÑÑ",rename:"ÐеÑеименоваÑÑ",pin:"ÐакÑепиÑÑ",unpin:"ÐÑкÑепиÑÑ",delete:"УдалиÑÑ"},queue:{title:"ÐÑеÑÐµÐ´Ñ ÑообÑений",paused:"ÐÑиоÑÑановлено",sendFailed:"ÐÑибка оÑпÑавки",resume:"ÐозобновиÑÑ Ð¾ÑеÑедÑ",pause:"ÐÑиоÑÑановиÑÑ Ð¾ÑеÑедÑ",clear:"ÐÑиÑÑиÑÑ Ð¾ÑеÑедÑ",dragSort:"ÐеÑеÑаÑиÑе Ð´Ð»Ñ ÑоÑÑиÑовки",edit:"РедакÑиÑоваÑÑ",retry:"ÐовÑоÑиÑÑ",skip:"ÐÑопÑÑÑиÑÑ",interruptAndSend:"ÐÑеÑваÑÑ Ð¸ оÑпÑавиÑÑ",delete:"УдалиÑÑ",file:"Файл",noChatWarning:"СнаÑала оÑпÑавÑÑе ÑообÑение, ÑÑÐ¾Ð±Ñ ÑоздаÑÑ Ð´Ð¸Ð°Ð»Ð¾Ð³, пÑежде Ñем иÑполÑзоваÑÑ Ð¾ÑеÑедÑ",queueFull:"ÐÑеÑÐµÐ´Ñ Ð¿Ð¾Ð»Ð½Ð° (макÑ. {{max}} запиÑей). ÐÑпÑавÑÑе или ÑдалиÑе некоÑоÑÑе ÑообÑениÑ",otherTabOwner:"This tab queues only; sending is handled by another tab"},group:{pinned:"ÐакÑеплÑннÑе",today:"СегоднÑ",week:"Ðа 7 дней",month:"Ðа 30 дней",older:"Ранее"},sessionPanel:{searchConversations:"ÐоиÑкâ¦",noResults:"РезÑлÑÑаÑов неÑ",noConversations:"ÐÐµÑ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²",loadingConversations:"ÐагÑÑзкаâ¦"},conversationHistory:"ÐÑÑоÑÐ¸Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²",history:{empty:"ÐÐµÑ Ð¸ÑÑоÑии ÑаÑов"},sessionGroup:{today:"СегоднÑ",recent:"Ðа 7 дней",earlier:"Ранее"}},Gx={parent:"ÐаÑÑÑойки",security:"ÐезопаÑноÑÑÑ",title:"ÐезопаÑноÑÑÑ",description:"УпÑавление ÑÑнкÑиÑми безопаÑноÑÑи инÑÑÑÑменÑов и навÑков.",toolGuardTitle:"ÐаÑиÑа инÑÑÑÑменÑов",toolGuardDescription:"ÐаÑÑÑойÑе ÑканиÑование безопаÑноÑÑи Ð´Ð»Ñ Ð²Ñзовов инÑÑÑÑменÑов. ÐпаÑнÑе опеÑаÑии поÑÑебÑÑÑ Ð²Ð°Ñего Ñвного подÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿ÐµÑед вÑполнением.",enabled:"ÐклÑÑиÑÑ Ð·Ð°ÑиÑÑ Ð¸Ð½ÑÑÑÑменÑов",enabledTooltip:"ÐÑи вклÑÑении вÑÐ·Ð¾Ð²Ñ Ð¸Ð½ÑÑÑÑменÑов ÑканиÑÑÑÑÑÑ Ð½Ð° налиÑие опаÑнÑÑ
Ñаблонов пеÑед вÑполнением",guardedTools:"ÐаÑиÑÑннÑе инÑÑÑÑменÑÑ",guardedToolsTooltip:"ÐнÑÑÑÑменÑÑ, ÑÑебÑÑÑие подÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñи обнаÑÑжении опаÑнÑÑ
Ñаблонов. ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ð±Ð¾Ñа по ÑмолÑаниÑ.",guardedToolsPlaceholder:"ÐÑбеÑиÑе инÑÑÑÑменÑÑ Ð¸Ð»Ð¸ введиÑе полÑзоваÑелÑÑкие имена",deniedTools:"ÐапÑеÑÑннÑе инÑÑÑÑменÑÑ",deniedToolsTooltip:"ÐнÑÑÑÑменÑÑ, коÑоÑÑе вÑегда оÑклонÑÑÑÑÑ Ð±ÐµÐ· запÑоÑа подÑвеÑждениÑ",deniedToolsPlaceholder:"ÐÑбеÑиÑе инÑÑÑÑменÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿ÑеÑа",saveSuccess:"ÐаÑÑÑойки заÑиÑÑ Ð¸Ð½ÑÑÑÑменÑов ÑоÑ
ÑаненÑ",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ð½Ð°ÑÑÑойки заÑиÑÑ Ð¸Ð½ÑÑÑÑменÑов",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð½Ð°ÑÑÑойки заÑиÑÑ Ð¸Ð½ÑÑÑÑменÑов",rules:{title:"ÐÑавила обнаÑÑжениÑ",description:"ÐÑавила опÑеделÑÑÑ ÑÐ°Ð±Ð»Ð¾Ð½Ñ ÑегÑлÑÑнÑÑ
вÑÑажений, коÑоÑÑе вÑзÑваÑÑ Ð¾Ð¿Ð¾Ð²ÐµÑÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи. ÐÑÑÑоеннÑе пÑавила можно оÑклÑÑиÑÑ; полÑзоваÑелÑÑкие пÑавила можно добавлÑÑÑ, ÑедакÑиÑоваÑÑ Ð¸Ð»Ð¸ ÑдалÑÑÑ.",id:"ID пÑавила",severity:"СеÑÑÑзноÑÑÑ",descriptionCol:"ÐпиÑание",source:"ÐÑÑоÑник",actions:"ÐейÑÑвиÑ",builtin:"ÐÑÑÑоенное",custom:"ÐолÑзоваÑелÑÑкое",enable:"ÐклÑÑиÑÑ",disable:"ÐÑклÑÑиÑÑ",edit:"РедакÑиÑоваÑÑ",delete:"УдалиÑÑ",add:"ÐобавиÑÑ Ð¿Ñавило",addTitle:"ÐобавиÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкое пÑавило",editTitle:"РедакÑиÑоваÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкое пÑавило",ruleId:"ID пÑавила",ruleIdRequired:"ID пÑавила обÑзаÑелен",duplicateId:"ÐÑавило Ñ Ñаким ID Ñже ÑÑÑеÑÑвÑеÑ",tools:"ЦелевÑе инÑÑÑÑменÑÑ",toolsPlaceholder:"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ñо вÑеми инÑÑÑÑменÑами",params:"ЦелевÑе паÑамеÑÑÑ",paramsPlaceholder:"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ñо вÑеми паÑамеÑÑами",severityLabel:"СеÑÑÑзноÑÑÑ",categoryLabel:"ÐаÑегоÑиÑ",patterns:"Ð¨Ð°Ð±Ð»Ð¾Ð½Ñ ÑегÑлÑÑнÑÑ
вÑÑажений",patternsRequired:"ТÑебÑеÑÑÑ Ñ
оÑÑ Ð±Ñ Ð¾Ð´Ð¸Ð½ Ñаблон",patternsTooltip:"Ðо Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑегÑлÑÑÐ½Ð¾Ð¼Ñ Ð²ÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð² ÑÑÑоке. СопоÑÑавлÑеÑÑÑ Ñо знаÑениÑми паÑамеÑÑов инÑÑÑÑменÑа (без ÑÑÑÑа ÑегиÑÑÑа).",excludePatterns:"Ð¨Ð°Ð±Ð»Ð¾Ð½Ñ Ð¸ÑклÑÑениÑ",excludePatternsTooltip:"Ðо Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑегÑлÑÑÐ½Ð¾Ð¼Ñ Ð²ÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð² ÑÑÑоке. ÐÑли ÑовпадаеÑ, пÑавило пÑопÑÑкаеÑÑÑ.",descriptionLabel:"ÐпиÑание",de
150scriptionPlaceholder:"ЧÑо обнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑо пÑавило?",remediationLabel:"РекомендаÑиÑ",remediationPlaceholder:"РекомендÑемое дейÑÑвие пÑи ÑÑабаÑÑвании пÑавила",preview:"ÐÑоÑмоÑÑ",previewTitle:"ÐеÑали пÑавила",actionLabel:"ÐейÑÑвие",actionApproval:"ТÑебÑеÑÑÑ Ð¾Ð´Ð¾Ð±Ñение",autoDeny:"ÐвÑооÑказ",autoDenyTooltip:"ÐÑи вклÑÑении вÑÐ·Ð¾Ð²Ñ Ð¸Ð½ÑÑÑÑменÑов, ÑооÑвеÑÑÑвÑÑÑие ÑÑÐ¾Ð¼Ñ Ð¿ÑавилÑ, бÑдÑÑ Ð°Ð²ÑомаÑиÑеÑки оÑÐºÐ»Ð¾Ð½ÐµÐ½Ñ Ð±ÐµÐ· ÑÑÑного подÑвеÑждениÑ",autoDenyEnable:"ÐклÑÑиÑÑ Ð°Ð²ÑооÑказ Ð´Ð»Ñ ÑÑого пÑавила",autoDenyDisable:"ÐÑклÑÑиÑÑ Ð°Ð²ÑооÑказ Ð´Ð»Ñ ÑÑого пÑавила",allTools:"ÐÑе инÑÑÑÑменÑÑ",allParams:"ÐÑе паÑамеÑÑÑ",descriptions:{TOOL_CMD_CONTROL_CHARS:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð½ÐµÐ¿ÐµÑаÑаемÑе ÑпÑавлÑÑÑие ÑимволÑ, коÑоÑÑе могÑÑ Ð¾Ð±Ð¾Ð¹Ñи пÑовеÑки безопаÑноÑÑи",TOOL_CMD_DANGEROUS_MV:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ mv, коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð¾ пеÑемеÑÑиÑÑ Ð¸Ð»Ð¸ пеÑезапиÑаÑÑ ÑайлÑ",TOOL_CMD_DANGEROUS_RM:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ rm, коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к поÑеÑе даннÑÑ
",TOOL_CMD_DOS_FORK_BOMB:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ»Ð°ÑÑиÑеÑкие Bash fork-Ð±Ð¾Ð¼Ð±Ñ Ð¸ маÑÑовое завеÑÑение пÑоÑеÑÑов",TOOL_CMD_FIND_DELETE:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ 'find -delete', коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к поÑеÑе даннÑÑ
",TOOL_CMD_FS_DESTRUCTION:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð½Ð¸Ð·ÐºÐ¾ÑÑовневого ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ оÑиÑÑки диÑков",TOOL_CMD_IFS_INJECTION:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ñ Ð¿ÐµÑеменной $IFS, коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð±Ð¾Ð¹Ñи пÑовеÑÐºÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи",TOOL_CMD_JQ_FILE_FLAGS:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ jq Ñ Ñлагами Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð¿ÑоизволÑнÑÑ
Ñайлов или вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð°",TOOL_CMD_JQ_SYSTEM:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ jq Ñ ÑÑнкÑией system() Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑоизволÑнÑÑ
команд",TOOL_CMD_OBFUSCATED_EXEC:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²Ñполнение ÑÑÑок в кодиÑовке base64, пеÑедаваемÑÑ
напÑÑмÑÑ Ð² инÑеÑпÑеÑаÑÐ¾Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñки",TOOL_CMD_PIPE_TO_SHELL:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿Ð°ÑÑеÑÐ½Ñ 'curl | bash' Ð´Ð»Ñ Ð·Ð°Ð³ÑÑзки и немедленного вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑдалÑннÑÑ
ÑкÑипÑов",TOOL_CMD_PRIVILEGE_ESCALATION:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð¿ÑÑки повÑÑÐµÐ½Ð¸Ñ Ð¿Ñивилегий Ñ Ð¸ÑполÑзованием sudo, su, doas, pkexec или runas",TOOL_CMD_PROCESS_KILL:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑов, коÑоÑÑе могÑÑ Ð¾ÑÑановиÑÑ ÐºÑиÑиÑеÑкие пÑоÑеÑÑÑ",TOOL_CMD_PROC_ENVIRON:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð´Ð¾ÑÑÑп к /proc/*/environ, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ ÑаÑкÑÑÑÑ Ð¿ÐµÑеменнÑе окÑÑжениÑ",TOOL_CMD_REVERSE_SHELL:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð¿ÑÑки ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð±ÑаÑнÑÑ
оболоÑек или неÑанкÑиониÑованнÑÑ
ÑеÑевÑÑ
ÑÑннелей",TOOL_CMD_SERVICE_RESTART:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑлÑжбами, коÑоÑÑе могÑÑ Ð½Ð°ÑÑÑиÑÑ ÑабоÑÑ ÑиÑÑемнÑÑ
ÑлÑжб",TOOL_CMD_SYSTEM_REBOOT:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¿ÐµÑезагÑÑзки или вÑклÑÑÐµÐ½Ð¸Ñ ÑиÑÑемÑ, коÑоÑÑе оÑÑановÑÑ Ñ
оÑÑ-ÑиÑÑемÑ",TOOL_CMD_SYSTEM_TAMPERING:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð´Ð¾ÑÑÑп к заданиÑм cron, SSH-клÑÑам или пÑавам sudo (вклÑÑÐ°Ñ ÑÑение и изменение)",TOOL_CMD_UNICODE_WHITESPACE:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿ÑобелÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Unicode, вÑзÑваÑÑие неоднознаÑноÑÑÑ Ð¿Ð°ÑÑинга",TOOL_CMD_UNSAFE_PERMISSIONS:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð³Ð»Ð¾Ð±Ð°Ð
150»Ñное понижение пÑав доÑÑÑпа (chmod 777) или ÑÑÑÐ°Ð½Ð¾Ð²ÐºÑ Ð½ÐµÐ¸Ð·Ð¼ÐµÐ½ÑемÑÑ
Ñлагов",TOOL_CMD_ZSH_DANGEROUS:"ÐбнаÑÑÐ¶Ð¸Ð²Ð°ÐµÑ Zsh-ÑпеÑиÑиÑнÑе вÑÑÑоеннÑе командÑ, коÑоÑÑе могÑÑ Ð¾Ð±Ð¾Ð¹Ñи пÑовеÑки безопаÑноÑÑи"},categories:{command_injection:"ÐнедÑение команд",code_execution:"ÐÑполнение кода",data_exfiltration:"УÑеÑка даннÑÑ
",path_traversal:"ÐбÑ
од пÑÑи",sensitive_file_access:"ÐоÑÑÑп к конÑиденÑиалÑнÑм Ñайлам",network_abuse:"ÐлоÑпоÑÑебление ÑеÑÑÑ",credential_exposure:"УÑеÑка ÑÑÑÑнÑÑ
даннÑÑ
",resource_abuse:"ÐлоÑпоÑÑебление ÑеÑÑÑÑами",privilege_escalation:"ÐовÑÑение пÑивилегий",prompt_injection:"ÐнедÑение пÑомпÑа",other:"ÐÑÑгое"}},fileGuard:{title:"ÐаÑиÑа Ñайлов",description:"ÐаÑиÑа конÑиденÑиалÑнÑÑ
Ñайлов и диÑекÑоÑий Ð¾Ñ Ð´Ð¾ÑÑÑпа инÑÑÑÑменÑов агенÑа. ÐобавленнÑе пÑÑи бÑдÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸ÑÐ¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ Ð²ÑеÑ
вÑзовов инÑÑÑÑменÑов.",enableLabel:"ÐклÑÑиÑÑ Ð·Ð°ÑиÑÑ Ñайлов",path:"ÐÑÑÑ",actions:"ÐейÑÑвиÑ",add:"ÐобавиÑÑ",inputPlaceholder:"ÐведиÑе пÑÑÑ Ðº ÑÐ°Ð¹Ð»Ñ Ð¸Ð»Ð¸ диÑекÑоÑии (напÑимеÑ, ~/.ssh/ или /etc/passwd)",empty:"ÐолÑзоваÑелÑÑкие конÑиденÑиалÑнÑе пÑÑи не наÑÑÑоенÑ",directory:"ÐиÑекÑоÑиÑ",removeConfirm:"УдалиÑÑ ÑÑÐ¾Ñ Ð¿ÑÑÑ Ð¸Ð· ÑпиÑка заÑиÑÑ?",duplicate:"ÐÑÐ¾Ñ Ð¿ÑÑÑ Ñже еÑÑÑ Ð² ÑпиÑке",saveSuccess:"ÐаÑÑÑойки заÑиÑÑ Ñайлов ÑоÑ
ÑаненÑ",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ð½Ð°ÑÑÑойки заÑиÑÑ Ñайлов",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð½Ð°ÑÑÑойки заÑиÑÑ Ñайлов",allowPreviewOutsideWorkspace:"РазÑеÑиÑÑ Ð¿ÑедпÑоÑмоÑÑ Ñайлов вне ÑабоÑего пÑоÑÑÑанÑÑва",allowPreviewOutsideWorkspaceDesc:"РазÑеÑиÑÑ Ð¿ÑедпÑоÑмоÑÑ Ñайлов за пÑеделами ÑабоÑей диÑекÑоÑии в конÑоли. ÐаÑиÑа конÑиденÑиалÑнÑÑ
Ñайлов оÑÑаÑÑÑÑ Ð°ÐºÑивной."},allowNoAuthHosts:{title:"ХоÑÑÑ Ð±ÐµÐ· аÑÑенÑиÑикаÑии",warningTitle:"ÐÑедÑпÑеждение безопаÑноÑÑи",warningDescription:"IP-адÑеÑа в ÑÑом ÑпиÑке могÑÑ Ð¾Ð±ÑаÑаÑÑÑÑ Ðº конеÑнÑм ÑоÑкам API без аÑÑенÑиÑикаÑии. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑазÑеÑÐµÐ½Ñ Ð»Ð¾ÐºÐ°Ð»ÑнÑе Ñ
оÑÑÑ (127.0.0.1 и ::1) Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа ÑеÑез CLI. ÐобавлÑйÑе ÑолÑко довеÑеннÑе IP-адÑеÑа. ÐÐÐÐÐÐÐÐ: Ðобавление недовеÑеннÑÑ
IP пÑедÑÑавлÑÐµÑ ÑеÑÑезнÑÑ ÑгÑÐ¾Ð·Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи.",ipAddress:"IP-адÑеÑ",actions:"ÐейÑÑвиÑ",add:"ÐобавиÑÑ",inputPlaceholder:"ÐведиÑе IP-адÑÐµÑ (напÑимеÑ, 192.168.1.100 или ::1)",empty:"IP-адÑеÑа не наÑÑÑоенÑ",default:"Ðо ÑмолÑаниÑ",removeConfirm:"УдалиÑÑ ÑÑÐ¾Ñ IP-адÑÐµÑ Ð¸Ð· белого ÑпиÑка?",duplicate:"ÐÑÐ¾Ñ IP-адÑÐµÑ Ñже еÑÑÑ Ð² ÑпиÑке",invalidIP:"ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ IP-адÑеÑа",saveSuccess:"ÐаÑÑÑойки Ñ
оÑÑов без аÑÑенÑиÑикаÑии ÑоÑ
ÑаненÑ",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ð½Ð°ÑÑÑойки Ñ
оÑÑов без аÑÑенÑиÑикаÑии",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð½Ð°ÑÑÑойки Ñ
оÑÑов без аÑÑенÑиÑикаÑии"},skillScanner:{title:"Ð¡ÐºÐ°Ð½ÐµÑ Ð½Ð°Ð²Ñков",description:"ÐвÑомаÑиÑеÑкое ÑканиÑование навÑков на налиÑие ÑгÑоз безопаÑноÑÑи пеÑед акÑиваÑией или ÑÑÑановкой.",mode:"Режим ÑканиÑованиÑ",modeTooltip:"УпÑавление поведением ÑканеÑа: блокиÑовка, ÑолÑко пÑедÑпÑеждение или оÑклÑÑение",modeBlock:"ÐлокиÑоваÑÑ",modeWarn:"ТолÑко пÑедÑпÑеждение",modeOff:"ÐÑклÑÑен",timeout:"ТаймаÑÑ ÑканиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (ÑекÑндÑ)",timeoutTooltip:"ÐакÑималÑное вÑÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ ÑканиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (5-300 ÑекÑнд)",saveSuccess:"ÐаÑÑÑойки ÑканеÑа навÑков ÑоÑ
ÑаненÑ",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ð½Ð°ÑÑÑойки ÑканеÑа навÑков",scanAlerts:{title:"ÐповеÑÐµÐ½Ð¸Ñ ÑканиÑованиÑ",empty:"ÐÐµÑ Ð¾Ð¿Ð¾Ð²ÐµÑений безопаÑноÑÑи",clearAll:"ÐÑиÑÑиÑÑ Ð²Ñе",clearConfirm:"ÐÑиÑÑиÑÑ Ð²Ñе оповеÑÐµÐ½Ð¸Ñ ÑканиÑованиÑ?",skillName:"ÐавÑк",action:"ÐейÑÑвие",actionBlocked:"ÐаблокиÑовано",actionWarned:"ÐÑедÑпÑеждение",time:"ÐÑемÑ",actions:"ÐейÑÑвиÑ",allowSkill:"ÐобавиÑÑ Ð² белÑй ÑпиÑок",remove:"УдалиÑÑ",viewFindings:"ÐодÑобноÑÑи"},whitelist:{title:"ÐелÑй ÑпиÑок",empty:"ÐелÑй ÑпиÑок пÑÑÑ",skillName:"ÐавÑк",addedAt:"Ðобавлено",contentHash:"Ð¥ÐµÑ ÑодеÑжимого",actions:"ÐейÑÑвиÑ",remove:"УдалиÑÑ",removeConfirm:"УдалиÑÑ ÑÑÐ¾Ñ Ð½Ð°Ð²Ñк из белого ÑпиÑка?",addSuccess:"ÐавÑк добавлен в белÑй ÑпиÑок",removeSuccess:"ÐавÑк ÑдалÑн из белого ÑпиÑка",addFailed:"Ðе ÑдалоÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð½Ð°Ð²Ñк в белÑй ÑпиÑок",removeFailed:"Ðе ÑдалоÑÑ ÑдалиÑÑ Ð½Ð°Ð²Ñк из белого ÑпиÑка",removeWillDisable:"ÐоÑле ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð½Ð°Ð²Ñк Ñакже бÑÐ´ÐµÑ Ð¾ÑклÑÑÑн.",removeAndDisabled:"ÐавÑк ÑдалÑн из белого ÑпиÑка и оÑклÑÑÑн"},scanError:{title:"ÐбнаÑÑÐ¶ÐµÐ½Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи",description:"ÐбнаÑÑÐ¶ÐµÐ½Ñ ÑледÑÑÑие пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи:",warnDescription:"ÐбнаÑÑÐ¶ÐµÐ½Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи, но навÑк бÑл вклÑÑÑн (Ñежим пÑедÑпÑеждениÑ):",goToWhitelist:"ÐеÑейÑи Ð
150º Ð±ÐµÐ»Ð¾Ð¼Ñ ÑпиÑкÑ",moreFindings:"ÐÑÑ {{count}} запиÑей не показано (полнÑй ÑпиÑок: ÐаÑÑÑойки â ÐезопаÑноÑÑÑ â Ð¡ÐºÐ°Ð½ÐµÑ Ð½Ð°Ð²Ñков)."}}},Vx=JSON.parse('{"brand":{"title":"УпÑавление Hub","subtitle":"ÐокалÑное ÑабоÑее пÑоÑÑÑанÑÑво","controlPlane":"ÐÐ°Ð½ÐµÐ»Ñ ÑпÑавлениÑ"},"navigation":{"workspace":"РабоÑÐ°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ","overview":"ÐпеÑаÑии","runtimes":"СÑÐµÐ´Ñ Ð²ÑполнениÑ","users":"ÐолÑзоваÑели","credentials":"УÑеÑнÑе даннÑе","audit":"ÐÑÑнал аÑдиÑа","settings":"СиÑÑемнÑе наÑÑÑойки"},"actions":{"backToQwenPaw":"ÐеÑнÑÑÑÑÑ Ðº QwenPaw","useLightTheme":"ÐÑполÑзÑйÑе ÑвеÑлÑÑ ÑемÑ","useDarkTheme":"ÐÑполÑзоваÑÑ ÑемнÑÑ ÑемÑ","signOut":"ÐÑйÑи","start":"ÐапÑÑÑиÑÑ","stop":"ÐÑÑановиÑÑ","disable":"ÐÑклÑÑиÑÑ","rebuild":"ÐеÑеÑоздаÑÑ","enableAndStart":"ÐклÑÑиÑÑ Ð¸ запÑÑÑиÑÑ"},"roles":{"admin":"ÐдминиÑÑÑаÑоÑ","user":"ÐолÑзоваÑелÑ"},"userStates":{"active":"ÐкÑивен","disabled":"ÐÑклÑÑен"},"runtimeStates":{"created":"Создана","starting":"ÐапÑÑкаеÑÑÑ","running":"РабоÑаеÑ","stopped":"ÐÑÑановлена","failed":"ÐÑибка"},"runtimePolicies":{"owner_allowed":"ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑезапÑÑÑиÑÑ","admin_only":"ÐаблокиÑовано админиÑÑÑаÑоÑом"},"errors":{"actionFailed":"ÐейÑÑвие не вÑполнено","createFailed":"СоздаÑÑ Ð½Ðµ ÑдалоÑÑ","updateFailed":"Ðбновление не вÑполнено","saveFailed":"СоÑ
ÑаниÑÑ Ð½Ðµ ÑдалоÑÑ","pullTimedOut":"ÐÑÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸ÑÑекло."},"messages":{"runtimeCreated":"СÑеда вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñоздана","accountCreated":"ÐккаÑÐ½Ñ Ñоздан","credentialStored":"УÑеÑнÑе даннÑе ÑоÑ
ÑаненÑ","settingsSaved":"ÐаÑÑÑойки Ñ
аба ÑоÑ
ÑаненÑ.","imagePulled":"ÐолÑÑение обÑаза Docker завеÑÑено"},"validation":{"required":"ÐÑо поле обÑзаÑелÑно к заполнениÑ","runtimeIdInvalid":"ÐÑполÑзÑйÑе Ð¾Ñ 1 до 64 бÑкв, ÑиÑÑ, ÑоÑек, подÑеÑкиваний или деÑиÑов, наÑÐ¸Ð½Ð°Ñ Ñ Ð±ÑÐºÐ²Ñ Ð¸Ð»Ð¸ ÑиÑÑÑ.","passwordMin":"ÐаÑÐ¾Ð»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑодеÑжаÑÑ Ð½Ðµ менее воÑÑми Ñимволов","credentialNameInvalid":"ÐÑполÑзÑйÑе Ð¸Ð¼Ñ Ð¿ÐµÑеменной ÑÑÐµÐ´Ñ Ð² веÑÑ
нем ÑегиÑÑÑе, напÑÐ¸Ð¼ÐµÑ OPENAI_API_KEY."},"runtimes":{"eyebrow":"УпÑавление Hub","title":"ÐÐ±Ð·Ð¾Ñ ÑÑÐµÐ´Ñ Ð²ÑполнениÑ","description":"У каждого полÑзоваÑÐµÐ»Ñ ÐµÑÑÑ Ð¾ÑделÑÐ½Ð°Ñ ÑÑеда вÑполнениÑ, в коÑоÑой ÑÐ°Ð¹Ð»Ñ Ð¸ клÑÑи Ñ
ÑанÑÑÑÑ Ð¾ÑделÑно.","newRuntime":"ÐÐ¾Ð²Ð°Ñ ÑÑеда вÑполнениÑ","managed":"УпÑавлÑÐµÐ¼Ð°Ñ ÑÑеда вÑполнениÑ","localBoundaries":"ÐÑаниÑÑ Ð»Ð¾ÐºÐ°Ð»Ñного пÑоÑеÑÑа","runningNow":"СейÑÐ°Ñ ÑабоÑаÑÑ","needsAttention":"СÑеда вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ {{count}} ÑÑебÑÐµÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ","healthy":"ÐÑе ÑÑÐµÐ´Ñ ÑабоÑаÑÑ Ð½Ð¾ÑмалÑно","isolationPolicy":"ÐолиÑика изолÑÑии","available":"ÐоÑÑÑпнÑй","unavailable":"ÐедоÑÑÑпно","failClosed":"ÐлокиÑовка пÑи Ñбое","noFallback":"Ðез запÑÑка вне пеÑоÑниÑÑ","executionBlocked":"ÐапÑÑк ÑÑÐµÐ´Ñ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñован","isolationTitle":"ÐокалÑÐ½Ð°Ñ Ð¸Ð·Ð¾Ð»ÑÑÐ¸Ñ Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовкой пÑи Ñбое","isolationDescription":"ÐÑе деÑево пÑоÑеÑÑов ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ñ
одиÑÑÑ Ð² изолиÑованной пÑогÑаммной ÑÑеде. ÐÑли ÑобÑÑвеннÑй изолÑÑионнÑй зонд вÑÑ
Ð¾Ð´Ð¸Ñ Ð¸Ð· ÑÑÑоÑ, QwenPaw оÑказÑваеÑÑÑ ÐµÐ³Ð¾ запÑÑкаÑÑ.","unavailableTitle":"ÐезопаÑÐ½Ð°Ñ ÑеÑвеÑÐ½Ð°Ñ ÑаÑÑÑ ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÐ´Ð¾ÑÑÑпна","unavailableDescription":"{{provisioner}} недоÑÑÑпен: {{reason}} ÐÑовеÑÑÑе ÑÑÑановкÑ, ÑоÑÑоÑние и ÑиÑÑемнÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ÑеÑвеÑной ÑаÑÑи, заÑем пеÑезапÑÑÑиÑе QwenPaw Hub.","unavailableUserDescription":"СеÑвеÑÐ½Ð°Ñ ÑаÑÑÑ ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñеменно недоÑÑÑпна. ÐбÑаÑиÑеÑÑ Ðº админиÑÑÑаÑоÑÑ.","preflightFailed":"ÐÑовеÑка безопаÑноÑÑи не пÑойдена.","localEndpoint":"ÐокалÑÐ½Ð°Ñ ÐºÐ¾Ð½ÐµÑÐ½Ð°Ñ ÑоÑка · {{endpoint}}","provisioner":"Тип иÑполнениÑ","localExecution":"ÐокалÑÐ½Ð°Ñ Ð¸Ð·Ð¾Ð»ÑÑиÑ","dockerExecution":"ÐонÑÐµÐ¹Ð½ÐµÑ Docker","security":"ÐезопаÑноÑÑÑ","tenant":"ТенанÑ","removeTitle":"УдалиÑÑ {{id}}?","removeDescription":"РегиÑÑÑаÑÐ¸Ñ Ñдалена; даннÑе вÑемени вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑоÑ
ÑанÑÑÑÑÑ.","disableTitle":"ÐÑклÑÑиÑÑ {{id}}?","disableDescription":"ÐÑоÑеÑÑ Ð¾ÑÑановиÑÑÑ, и Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ Ð½Ðµ ÑÐ¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑезапÑÑÑиÑÑ ÐµÐ³Ð¾, пока админиÑÑÑаÑÐ¾Ñ Ð½Ðµ ÑазÑеÑÐ¸Ñ ÐµÐ³Ð¾.","rebuildTitle":"ÐеÑеÑобÑаÑÑ {{id}} Ñ ÑекÑÑим обÑазом?","rebuildDescription":"ÐонÑÐµÐ¹Ð½ÐµÑ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð¼ÐµÐ½ÐµÐ½ на обÑаз в наÑÑÑойкаÑ
ÑиÑÑемÑ. ÐоÑÑоÑнное ÑабоÑее пÑоÑÑÑанÑÑво, ÑекÑеÑÑ Ð¸ ÑезеÑвнÑе копии ÑоÑ
ÑанÑÑÑÑÑ.","emptyTitle":"ÐÑемени вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ° неÑ","emptyDescription":"СоздайÑе пеÑвÑÑ Ð¸Ð·Ð¾Ð»Ð¸ÑованнÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑÑ ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ QwenPaw."},"users":{"eyebrow":"ÐденÑиÑноÑÑÑ Ð¸ доÑÑÑп","title":"ÐоÑÑÑп полÑзоваÑелÑ","de
150scription":"СоздавайÑе локалÑнÑе ÑÑеÑнÑе запиÑи, назнаÑайÑе админиÑÑÑаÑивнÑй доÑÑÑп и оÑзÑвайÑе ÑеанÑÑ Ð¸Ð· одного меÑÑа.","addAccount":"ÐобавиÑÑ Ð°ÐºÐºÐ°ÑнÑ","publicRegistration":"ÐÑкÑÑÑÐ°Ñ ÑегиÑÑÑаÑиÑ","publicRegistrationDescription":"ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾ÑклÑÑен, ÑолÑко админиÑÑÑаÑоÑÑ Ð¼Ð¾Ð³ÑÑ ÑоздаваÑÑ ÑÑеÑнÑе запиÑи.","currentAccountProtected":"ТекÑÑÐ°Ñ ÑÑеÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ð·Ð°ÑиÑена","empty":"Ðи один полÑзоваÑÐµÐ»Ñ Ð½Ðµ ÑооÑвеÑÑÑвÑÐµÑ ÑÑим ÑилÑÑÑам"},"credentials":{"eyebrow":"Ð¥ÑанилиÑе по ÑенанÑам","title":"УÑеÑнÑе даннÑе","description":"Ð¥ÑаниÑе клÑÑи поÑÑавÑика внÑÑÑи Ñвной облаÑÑи клиенÑа или ÑÑÐµÐ´Ñ Ð²ÑполнениÑ. СекÑеÑнÑе знаÑÐµÐ½Ð¸Ñ Ð·Ð°ÑиÑÑÐ¾Ð²Ð°Ð½Ñ Ð¸ никогда не возвÑаÑаÑÑÑÑ API.","storeCredential":"СоÑ
ÑаниÑÑ ÑÑеÑнÑе даннÑе","updated":"Ðбновлено {{date}}","deleteTitle":"УдалиÑÑ {{name}}?","deleteDescription":"СÑÐµÐ´Ñ Ð²ÑполнениÑ, иÑполÑзÑÑÑие ÑÑи ÑÑеÑнÑе даннÑе, могÑÑ Ð¿ÐµÑеÑÑаÑÑ ÑабоÑаÑÑ.","emptyTitle":"Ð¥ÑанилиÑе пÑÑÑо","emptyDescription":"СоÑ
ÑаниÑе клÑÑ API в облаÑÑи клиенÑа или ÑÑÐµÐ´Ñ Ð²ÑполнениÑ.","encrypted":"ÐаÑиÑÑовано в ÑоÑÑоÑнии покоÑ; оÑкÑÑÑÑй ÑекÑÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑоÑиÑан"},"overview":{"eyebrow":"ÐÐ°Ð½ÐµÐ»Ñ Ð¼Ð¾Ð½Ð¸ÑоÑинга","title":"ÐÐ±Ð·Ð¾Ñ Hub","description":"ÐнализиÑÑйÑе ÑоÑÑоÑние Ñ
аба, иÑполÑзÑÑ ÑеалÑное ÑоÑÑоÑние во вÑÐµÐ¼Ñ Ð²ÑполнениÑ, ÑеÑÑÑÑÑ Ñ
оÑÑа и ÑобÑÑÐ¸Ñ Ð°ÑдиÑа.","availability":"ÐоÑÑÑпноÑÑÑ ÑÑед","availabilityDetail":"{{running}} из ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ {{total}} в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾ÑÑÑпен онлайн.","totalRuntimes":"ÐÑего ÑÑед","failedCount":"СÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ {{count}} ÑÑебÑÑÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ","totalUsers":"ÐолÑзоваÑели Ñ
аба","managedLocally":"ÐокалÑное ÑпÑавление иденÑиÑикаÑией и доÑÑÑпом","hostResources":"РеÑÑÑÑÑ Ñ
оÑÑа","liveSnapshot":"ТекÑÑий Ñнимок в ÑеалÑном вÑемени","memory":"ÐамÑÑÑ","dataDisk":"ÐиÑк Ñ Ð´Ð°Ð½Ð½Ñми","recentActivity":"ÐедавнÑÑ Ð°ÐºÑивноÑÑÑ","auditBacked":"ÐоддеÑживаеÑÑÑ Ð¿Ð¾ÑÑоÑннÑм жÑÑналом аÑдиÑа","systemHealthy":"ÐÑе ÑиÑÑÐµÐ¼Ñ Ð² ÑабоÑем ÑоÑÑоÑнии","systemDegraded":"СиÑÑема дегÑадиÑовала","localIsolation":"ÐокалÑное изолиÑованное вÑполнение"},"table":{"searchRuntimes":"ÐоиÑк ÑÑед вÑполнениÑ, владелÑÑев или конеÑнÑÑ
ÑоÑек","searchUsers":"ÐоиÑк имен полÑзоваÑелей или иденÑиÑикаÑоÑов полÑзоваÑелей","searchCredentials":"ÐоиÑк по именам или облаÑÑÑм ÑÑеÑнÑÑ
даннÑÑ
","searchAudit":"ÐоиÑк акÑеÑов или ÑеÑÑÑÑов","allStates":"ÐÑе ÑÑаÑÑÑÑ","allOwners":"ÐÑе владелÑÑÑ","allExecutions":"ÐÑе Ð²Ð¸Ð´Ñ Ð¸ÑполнениÑ","allRoles":"ÐÑе Ñоли","allUserStates":"ÐÑе полÑзоваÑелÑÑкие ÑоÑÑоÑниÑ","allScopes":"ÐÑе облаÑÑи","allActions":"ÐÑе дейÑÑвиÑ","runtime":"СÑеда вÑполнениÑ","status":"СÑаÑÑÑ","owner":"ÐладелеÑ","endpoint":"ÐдÑеÑ","execution":"Тип запÑÑка","updated":"Ðбновлено","user":"ÐолÑзоваÑелÑ","role":"РолÑ","created":"Создано","credential":"УÑеÑнÑе даннÑе","scope":"ÐблаÑÑÑ","event":"СобÑÑие","actor":"ÐпеÑаÑоÑ","resource":"РеÑÑÑÑ","result":"РезÑлÑÑаÑ","time":"ÐÑемÑ","total":"{{total}} запиÑей"},"audit":{"eyebrow":"ÐезопаÑноÑÑÑ Ð¸ ÑпÑавление","title":"ÐÑÑнал аÑдиÑа","description":"УзнайÑе, кÑо вÑполнил каждое дейÑÑвие по ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¥Ð°Ð±Ð¾Ð¼, его ÑелÑ, ÑезÑлÑÑÐ°Ñ Ð¸ вÑемÑ. ЧÑвÑÑвиÑелÑнÑе знаÑÐµÐ½Ð¸Ñ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð° не пÑовеÑÑÑÑÑÑ.","empty":"УпÑавленÑеÑкиÑ
меÑопÑиÑÑий пока неÑ"},"settings":{"eyebrow":"ÐонÑигÑÑаÑÐ¸Ñ Ð¿Ð»Ð°ÑÑоÑмÑ","title":"СиÑÑемнÑе наÑÑÑойки","description":"УпÑавлÑйÑе полной конÑигÑÑаÑией Hub из одного пÑовеÑенного иÑÑоÑника доÑÑовеÑной инÑоÑмаÑии. ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑÑÑпаÑÑ Ð² ÑÐ¸Ð»Ñ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾ и ÑоÑ
ÑанÑÑÑÑÑ Ð¿Ð¾Ñле пеÑезапÑÑка.","save":"СоÑ
ÑаниÑÑ Ð½Ð°ÑÑÑойки","meta":"ÐеÑÑÐ¸Ñ {{revision}} · Ðбновлен {{date}}","tabs":{"access":"ÐезопаÑноÑÑÑ Ð´Ð¾ÑÑÑпа","runtime":"ÐÑÐµÐ¼Ñ Ð²ÑполнениÑ"},"access":{"title":"ÐоÑÑÑп и ÑегиÑÑÑаÑиÑ","description":"ÐаÑÑÑойÑе доÑÑÑпнÑй ÑеÑез бÑаÑÐ·ÐµÑ Ð°Ð´ÑÐµÑ ÐºÐ¾Ð½ÑенÑÑаÑоÑа и полиÑÐ¸ÐºÑ Ð¾Ð±ÑедоÑÑÑпнÑÑ
ÑÑеÑнÑÑ
запиÑей.","publicBaseUrl":"URL обÑедоÑÑÑпной базÑ","publicBaseUrlHint":"ÐÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾Ð±ÑаÑнÑÑ
вÑзовов OAuth. ÐÑÑавÑÑе пÑÑÑÑм ÑолÑко Ð´Ð»Ñ ÑазвеÑÑÑваний ÑолÑко Ñ Ð¾Ð±ÑаÑной ÑвÑзÑÑ.","registration":"ÐÑкÑÑÑÐ°Ñ ÑегиÑÑÑаÑиÑ","registrationHint":"ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾ÑклÑÑен, ÑолÑко админиÑÑÑаÑоÑÑ Ð¼Ð¾Ð³ÑÑ ÑоздаваÑÑ ÑÑеÑнÑе запиÑи.","defaultRole":"Ð Ð¾Ð»Ñ ÑегиÑÑÑаÑии по ÑмолÑаниÑ","defaultRoleHint":"СамозаÑегиÑÑÑиÑованнÑе ÑÑеÑнÑе запиÑи вÑегда Ñвл
150ÑÑÑÑÑ Ð¾Ð±ÑÑнÑми полÑзоваÑелÑми в ÑелÑÑ
безопаÑноÑÑи."},"security":{"title":"ÐаÑиÑа аÑÑенÑиÑикаÑии","description":"ÐгÑаниÑÑÑе злоÑпоÑÑÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ð¿Ñи вÑ
оде и ÑегиÑÑÑаÑии и заблокиÑÑйÑе адÑеÑа или ÑеÑи.","ipBlacklist":"ЧеÑнÑй ÑпиÑок IP-адÑеÑов","ipBlacklistHint":"ÐоддеÑÐ¶Ð¸Ð²Ð°ÐµÑ IPv4, IPv6 и CIDR; нажимайÑе Enter поÑле каждого знаÑениÑ.","trustedProxyIps":"ÐовеÑеннÑе обÑаÑнÑе пÑокÑи","trustedProxyIpsHint":"X-Forwarded-For заÑлÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð´Ð¾Ð²ÐµÑÐ¸Ñ ÑолÑко пÑи оÑпÑавке Ñ ÑÑиÑ
адÑеÑов.","loginRateLimit":"ÐгÑаниÑение ÑкоÑоÑÑи неÑдаÑного вÑ
ода","loginRateLimitHint":"ÐÑеменно заблокиÑÑйÑе повÑоÑÑÑÑиеÑÑ Ð½ÐµÑдаÑнÑе попÑÑки вÑ
ода Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ адÑеÑа.","registrationRateLimit":"ÐгÑаниÑение ÑкоÑоÑÑи ÑегиÑÑÑаÑии","registrationRateLimitHint":"ÐгÑаниÑÑÑе Ñоздание новÑÑ
ÑÑеÑнÑÑ
запиÑей Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ адÑеÑа.","maxAttempts":"ÐакÑималÑное колиÑеÑÑво попÑÑок","windowSeconds":"Ðкно (ÑекÑндÑ)","blockSeconds":"ÐлиÑелÑноÑÑÑ Ð±Ð»Ð¾ÐºÐ° (ÑекÑндÑ)"},"runtime":{"title":"ÐолиÑика вÑемени вÑполнениÑ","description":"ÐÑбеÑиÑе ÑеÑвеÑнÑÑ ÑаÑÑÑ ÑÑÐµÐ´Ñ Ð²ÑполнениÑ. СÑÑеÑÑвÑÑÑие ÑÑÐµÐ´Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÐµÑеклÑÑаÑÑÑÑ Ð¿Ñи ÑледÑÑÑем пеÑезапÑÑке.","provisioner":"СеÑвеÑÐ½Ð°Ñ ÑаÑÑÑ ÑÑÐµÐ´Ñ Ð²ÑполнениÑ","localBackend":"ÐокалÑнÑй пÑоÑеÑÑ","localBackendHint":"ÐапÑÑÐºÐ°ÐµÑ Ð¸Ð·Ð¾Ð»Ð¸ÑованнÑе пÑоÑеÑÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно на ÑÑом Ñ
оÑÑе.","dockerBackend":"ÐонÑÐµÐ¹Ð½ÐµÑ Docker","dockerBackendHint":"ÐапÑÑÐºÐ°ÐµÑ ÐºÐ°Ð¶Ð´ÑÑ ÑÑеÑнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² ÑпÑавлÑемом конÑейнеÑе.","backendUnavailable":"ÐедоÑÑÑпно на ÑÑом Ñ
оÑÑе","localIsolationHint":"ÐокалÑнÑй Ñежим иÑполÑзÑÐµÑ Ñ
оÑÑ-пÑоÑеÑÑÑ Ð¸ не иÑполÑзÑÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
наÑÑÑоек обÑаза Docker.","dockerIsolationHint":"Режим Docker пÑименÑÐµÑ Ð¿ÑиведеннÑÑ Ð½Ð¸Ð¶Ðµ полиÑÐ¸ÐºÑ Ð¸Ð·Ð¾Ð±Ñажений и ÑеÑÑÑÑов к каждой ÑÑеÑной запиÑи."},"docker":{"title":"ÐолиÑика Docker","description":"ЦенÑÑализованно ÑпÑавлÑйÑе обÑазом, поведением извлеÑÐµÐ½Ð¸Ñ Ð¸ огÑаниÑениÑми ÑеÑÑÑÑов Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ конÑейнеÑа. ÐолÑзоваÑели не могÑÑ Ð¾ÑмениÑÑ ÑÑи наÑÑÑойки.","unavailable":"ÐвигаÑÐµÐ»Ñ Docker недоÑÑÑпен.","source":"ÐÑÑоÑник изобÑажениÑ","dockerHub":"ÐÑиÑиалÑнÑй Docker Hub","aliyunAcr":"ÐÑиÑиалÑнÑй ÑееÑÑÑ Alibaba Cloud","custom":"ÐолÑзоваÑелÑÑкое изобÑажение","customHint":"ÐведиÑе лÑбÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° изобÑажение, ÑазÑеÑеннÑÑ Ð¿Ð¾Ð»Ð¸Ñикой.","customRegistry":"СÑÑлка на ÑобÑÑвеннÑй ÑееÑÑÑ Ð¸Ð»Ð¸ обÑаз","localHost":"ÐокалÑное изобÑажение","localHostHint":"ÐÑполÑзÑйÑе Ñег изобÑажениÑ, Ñже пÑиÑÑÑÑÑвÑÑÑий на ÑÑом Ñ
оÑÑе.","noLocalImages":"Ðе найдено локалÑнÑÑ
изобÑажений Ñ Ñегами","image":"ÐзобÑажение и Ñег","selectLocalImage":"ÐÑбеÑиÑе локалÑнÑй Ñег изобÑажениÑ","selectedImage":"ÐÑÑекÑнÑй имидж","repository":"РепозиÑоÑий","localStatus":"ÐеÑÑнÑй ÑÑаÑÑÑ","downloaded":"СкаÑано","notDownloaded":"Ðе загÑÑжено","pullPolicy":"ÐолиÑика авÑомаÑиÑеÑкого полÑÑениÑ","ifNotPresent":"ТÑнÑÑÑ Ð¿Ñи оÑÑÑÑÑÑвии локалÑно","always":"ÐоÑÑниÑе пеÑед пеÑвÑм Ñозданием","never":"ÐÑполÑзÑйÑе ÑолÑко локалÑнÑе изобÑажениÑ","pullImage":"ÐÑÑаÑиÑÑ Ð¸Ð·Ð¾Ð±Ñажение ÑейÑаÑ","localImages":"СÑÑлки на локалÑнÑе изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ {{count}}","resources":"ÐгÑаниÑÐµÐ½Ð¸Ñ ÑеÑÑÑÑов конÑейнеÑа","cpuLimit":"ЯдÑа пÑоÑеÑÑоÑа","memoryLimit":"ÐамÑÑÑ (ÐÐ)","pidsLimit":"ÐакÑимÑм пÑоÑеÑÑов","shmSize":"ÐбÑÐ°Ñ Ð¿Ð°Ð¼ÑÑÑ (ÐÐ)"}
150,"quotas":{"title":"ÐлобалÑÐ½Ð°Ñ ÐµÐ¼ÐºÐ¾ÑÑÑ Ð²Ñемени вÑполнениÑ","description":"ÐаждÑй аÑендаÑÐ¾Ñ Ð²Ð»Ð°Ð´ÐµÐµÑ Ñовно одной ÑÑедой вÑполнениÑ; ÑÑо огÑаниÑÐ¸Ð²Ð°ÐµÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменное вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² Hub.","maxRunningRuntimes":"ÐакÑималÑное вÑÐµÐ¼Ñ ÑабоÑÑ","unlimitedHint":"ÐÑÑÑой ознаÑÐ°ÐµÑ Ð½ÐµÐ¾Ð³ÑаниÑеннÑй."}},"auditActions":{"runtime":{"create":"Ð¡Ð¾Ð·Ð´Ð°Ð½Ð½Ð°Ñ ÑÑеда вÑполнениÑ","start":"ÐаÑало вÑполнениÑ","stop":"ÐÑÑановлено вÑÐµÐ¼Ñ Ð²ÑполнениÑ","disable":"ÐÑклÑÑено вÑÐµÐ¼Ñ Ð²ÑполнениÑ","rebuild":"ÐоÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ ÑÑеда вÑполнениÑ","delete":"Удалена ÑÑеда вÑполнениÑ"},"image":{"pull":"ÐÑÑаÑено изобÑажение Docker."},"user":{"create":"СозданнÑй полÑзоваÑелÑ","update":"ÐбновленнÑй полÑзоваÑелÑ"},"credential":{"store":"СоÑ
ÑаненнÑе ÑÑеÑнÑе даннÑе","delete":"УдаленнÑе ÑÑеÑнÑе даннÑе"},"settings":{"update":"ÐÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½Ð°ÑÑÑойки Хаба."},"auth":{"register":"ÐаÑегиÑÑÑиÑованнÑй полÑзоваÑÐµÐ»Ñ Ð¥Ð°Ð±Ð°"}},"auditOutcomes":{"success":"УÑпеÑ
","failure":"ÐÑказ"},"runtimeForm":{"title":"СоздаÑÑ ÑÑÐµÐ´Ñ Ð²ÑполнениÑ","hint":"СÑеда вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑÑкаеÑÑÑ Ð²Ð½ÑÑÑи ÑобÑÑвенной локалÑной пеÑоÑниÑÑ. Ðго ÑайлÑ, ÑекÑеÑÑ Ð¸ деÑево пÑоÑеÑÑов оÑÑаÑÑÑÑ Ð¾ÑделÑно Ð¾Ñ Ð´ÑÑгиÑ
полÑзоваÑелей.","runtimeId":"ÐденÑиÑикаÑÐ¾Ñ ÑÑÐµÐ´Ñ Ð²ÑполнениÑ","startImmediately":"ÐаÑаÑÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾","submit":"СоздаÑÑ ÑÑÐµÐ´Ñ Ð²ÑполнениÑ"},"userForm":{"title":"ÐобавиÑÑ Ð°ÐºÐºÐ°ÑнÑ","hint":"ÐÑполÑзÑйÑе вÑеменнÑй паÑÐ¾Ð»Ñ Ð´Ð»Ð¸Ð½Ð¾Ð¹ не менее воÑÑми Ñимволов. ÐолÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð´Ð¾ÑÑÑп ÑолÑко к ÑÑедам вÑполнениÑ, пÑинадлежаÑим его лиÑÐ½Ð¾Ð¼Ñ Ð°ÑендаÑоÑÑ.","username":"ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ","temporaryPassword":"ÐÑеменнÑй паÑолÑ","role":"РолÑ","submit":"СоздаÑÑ ÑÑеÑнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ"},"credentialForm":{"title":"СоÑ
ÑаниÑÑ ÑÑеÑнÑе даннÑе","hint":"ÐблаÑÑÑ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñа пÑименÑеÑÑÑ ÐºÐ¾ вÑем ÑÑедам вÑполнениÑ. ÐблаÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ â ÑÑо ÑаÑÑное пеÑеопÑеделение Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ вÑбÑанного пÑоÑеÑÑа.","scope":"ÐбÑем","allRuntimes":"ÐÑе мои ÑанÑаймÑ","environmentName":"ÐÐ¼Ñ ÑÑедÑ","secretValue":"СекÑеÑное знаÑение","submit":"ÐаÑиÑÑоваÑÑ Ð¸ ÑоÑ
ÑаниÑÑ"}}'),Wx={title:"ÐÑ
од в QwenPaw",registerTitle:"Создание аккаÑнÑа",firstUserHint:"СоздайÑе ÑÑÑÑнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑа Ð´Ð»Ñ Ð½Ð°Ñала ÑабоÑÑ",usernamePlaceholder:"ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ",passwordPlaceholder:"ÐаÑолÑ",usernameRequired:"ÐожалÑйÑÑа, введиÑе Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ",passwordRequired:"ÐожалÑйÑÑа, введиÑе паÑолÑ",submit:"ÐойÑи",register:"ÐаÑегиÑÑÑиÑоваÑÑÑÑ",failed:"ÐÑибка вÑ
ода, пÑовеÑÑÑе ÑÑÑÑнÑе даннÑе",registerSuccess:"РегиÑÑÑаÑÐ¸Ñ Ð¿ÑоÑла ÑÑпеÑно",registerFailed:"ÐÑибка ÑегиÑÑÑаÑии",authNotEnabled:"ÐÑÑенÑиÑикаÑÐ¸Ñ Ð½Ðµ вклÑÑена",logout:"ÐÑйÑи",logoutSuccess:"ÐÑ ÑÑпеÑно вÑÑли",sessionExpired:"СеÑÑÐ¸Ñ Ð¸ÑÑекла, пожалÑйÑÑа, войдиÑе Ñнова",unauthorized:"Ðе авÑоÑизован, пожалÑйÑÑа, войдиÑе"},zx={title:"УпÑавление аккаÑнÑом",currentPassword:"ТекÑÑий паÑолÑ",currentPasswordRequired:"ÐожалÑйÑÑа, введиÑе ÑекÑÑий паÑолÑ",newUsername:"Ðовое Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ",newUsernamePlaceholder:"ÐÑÑавÑÑе пÑÑÑÑм, ÑÑÐ¾Ð±Ñ Ð½Ðµ менÑÑÑ",newPassword:"ÐовÑй паÑолÑ",newPasswordPlaceholder:"ÐÑÑавÑÑе пÑÑÑÑм, ÑÑÐ¾Ð±Ñ Ð½Ðµ менÑÑÑ",confirmPassword:"ÐодÑвеÑдиÑе новÑй паÑолÑ",confirmPasswordPlaceholder:"ÐведиÑе новÑй паÑÐ¾Ð»Ñ ÐµÑÑ Ñаз",passwordMismatch:"ÐаÑоли не ÑовпадаÑÑ",save:"СоÑ
ÑаниÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ",updateSuccess:"ÐккаÑÐ½Ñ ÑÑпеÑно обновлÑн",updateFailed:"Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ð°ÐºÐºÐ°ÑнÑ",wrongPassword:"ТекÑÑий паÑÐ¾Ð»Ñ Ð½ÐµÐ²ÐµÑен",nothingToUpdate:"ÐожалÑйÑÑа, введиÑе новое Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¸Ð»Ð¸ паÑолÑ",passwordEmpty:"ÐаÑÐ¾Ð»Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑÑм",usernameEmpty:"ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑÑм",username:"ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ",passwordRequired:"ÐведиÑе новÑй паÑолÑ",hubPasswordPlaceholder:"ÐведиÑе не менее воÑÑми Ñимволов",runtimeTitle:"ÐиÑÐ½Ð°Ñ ÑÑеда вÑполнениÑ",runtimeDescription:"ÐеÑезапÑÑÑиÑе ÑÑедÑ, еÑли ÑабоÑее пÑоÑÑÑанÑÑво недоÑÑÑпно. ТекÑÑие задаÑи бÑдÑÑ Ð¿ÑеÑванÑ, ÑоÑ
ÑанÑннÑе даннÑе оÑÑанÑÑÑÑ.",runtimeRestartConfirmTitle:"ÐеÑезапÑÑÑиÑÑ ÑÑÐµÐ´Ñ Ð²ÑполнениÑ?",runtimeRestartConfirmDescription:"ТекÑÑие задаÑи бÑдÑÑ Ð¿ÑеÑÐ²Ð°Ð½Ñ Ð½Ð° вÑÐµÐ¼Ñ Ð¿ÐµÑезапÑÑка.",runtimeRestart:"ÐеÑезапÑÑÑиÑÑ ÑÑедÑ",runtimeRestartSuccess:"СÑеда пеÑезапÑÑена",runtimeRestartFailed:"Ðе ÑдалоÑÑ Ð¿ÐµÑезапÑÑÑиÑÑ ÑÑедÑ"}
150,Kx={title:"ТÑанÑкÑипÑÐ¸Ñ Ð³Ð¾Ð»Ð¾Ñа",description:"ÐаÑÑÑойÑе обÑабоÑÐºÑ Ð²Ñ
одÑÑиÑ
аÑдио- и голоÑовÑÑ
ÑообÑений.",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð½Ð°ÑÑÑойки аÑдиоÑежима",saveSuccess:"ÐÑдиоÑежим ÑоÑ
ÑанÑн",saveFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ Ð°ÑдиоÑежим",audioModeLabel:"ÐÑдиоÑежим",audioModeDescription:"ÐÑбеÑиÑе, как голоÑовÑе ÑообÑÐµÐ½Ð¸Ñ Ð¸Ð· каналов (Discord, Telegram и дÑ.) обÑабаÑÑваÑÑÑÑ Ð¿ÐµÑед оÑпÑавкой модели.",modeAuto:"ÐвÑо (ÑекомендÑеÑÑÑ)",modeAutoDesc:"ТÑанÑкÑибиÑоваÑÑ Ð°Ñдио в ÑекÑÑ ÑеÑез вÑбÑаннÑй пÑовайдеÑ, заÑем оÑпÑавиÑÑ ÑекÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸. ÐÑли ÑÑанÑкÑипÑÐ¸Ñ Ð¾ÑклÑÑена или недоÑÑÑпна, оÑобÑажаеÑÑÑ Ð·Ð°Ð³Ð»ÑÑка «Ñайл загÑÑжен». Ð ÑÑом Ñежиме аÑдио не оÑпÑавлÑеÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ напÑÑмÑÑ. РабоÑÐ°ÐµÑ Ñо вÑеми моделÑми.",modeNative:"ÐаÑивное аÑдио",modeNativeDesc:"ÐÑпÑавлÑÑÑ Ð°ÑдиоÑайл модели напÑÑмÑÑ Ð±ÐµÐ· ÑÑанÑкÑипÑии. ÐÑо единÑÑвеннÑй Ñежим, пеÑедаÑÑий аÑдио модели. РабоÑÐ°ÐµÑ ÑолÑко Ñ Ð¼Ð¾Ð´ÐµÐ»Ñми, поддеÑживаÑÑими аÑдио (напÑимеÑ, gpt-4o-audio). ÐолÑÑинÑÑво моделей не поддеÑживаÑÑ ÑÑÐ¾Ñ Ñежим.",ffmpegReady:"ffmpeg ÑÑÑановлен. ÐонвеÑÑаÑÐ¸Ñ Ð°Ñдио Ð´Ð»Ñ Ð½Ð°Ñивного Ñежима доÑÑÑпна.",ffmpegMissing:"ffmpeg не ÑÑÑановлен.",ffmpegMissingDesc:"ÐаÑивнÑй аÑдиоÑежим ÑÑебÑÐµÑ ffmpeg Ð´Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÑÑаÑии аÑдиоÑоÑмаÑов (напÑимеÑ, .ogg в .wav). УÑÑановиÑе ffmpeg как ÑиÑÑемнÑй Ð¿Ð°ÐºÐµÑ Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑÑого Ñежима.",providerTypeLabel:"ÐÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ ÑÑанÑкÑипÑии",providerTypeDescription:"ÐÑбеÑиÑе бÑкенд ÑÑанÑкÑипÑии. ÐÑли голоÑÐ¾Ð²Ð°Ñ ÑÑанÑкÑипÑÐ¸Ñ Ð½Ðµ нÑжна, вÑбеÑиÑе «ÐÑклÑÑено».",providerTypeDisabled:"ÐÑклÑÑено",providerTypeDisabledDesc:"Ðез ÑÑанÑкÑипÑии. ÐолоÑовÑе ÑообÑÐµÐ½Ð¸Ñ Ð±ÑдÑÑ Ð¾ÑобÑажаÑÑÑÑ ÐºÐ°Ðº заглÑÑка «Ñайл загÑÑжен».",providerTypeWhisperApi:"Whisper API",providerTypeWhisperApiDesc:"ÐÑполÑзоваÑÑ OpenAI-ÑовмеÑÑимÑй Whisper API Ð¾Ñ Ð½Ð°ÑÑÑоенного пÑовайдеÑа (напÑимеÑ, OpenAI, Ollama).",providerTypeLocalWhisper:"ÐокалÑнÑй Whisper",providerTypeLocalWhisperDesc:"ÐапÑÑкаÑÑ ÑÑанÑкÑипÑÐ¸Ñ Ð»Ð¾ÐºÐ°Ð»Ñно Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки openai-whisper. ТÑебÑÑÑÑÑ ffmpeg и openai-whisper.",localWhisperReady:"ÐокалÑнÑй Whisper гоÑов к ÑабоÑе. ffmpeg и openai-whisper ÑÑÑановленÑ.",localWhisperMissing:"ÐокалÑнÑй Whisper не гоÑов. ÐеобÑ
одимо ÑÑÑановиÑÑ Ð½ÐµÐ´Ð¾ÑÑаÑÑие завиÑимоÑÑи.",localWhisperMissingDesc:"ffmpeg: {{ffmpeg}} | openai-whisper: {{whisper}}. УÑÑановиÑе недоÑÑаÑÑие завиÑимоÑÑи: ffmpeg (ÑиÑÑемнÑй пакеÑ) и openai-whisper (uv pip install openai-whisper или ÑÑÑановиÑе QwenPaw Ñ Ð¾Ð¿Ñией [whisper]).",providerLabel:"ÐÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Whisper API",providerDescription:"ÐÑбеÑиÑе пÑовайдеÑа Ð´Ð»Ñ ÑÑанÑкÑипÑии аÑдио ÑеÑез Whisper API. ÐÑобÑажаÑÑÑÑ ÑолÑко пÑовайдеÑÑ Ñ ÑовмеÑÑимÑм ÑндпоинÑом.",providerPlaceholder:"ÐÑбеÑиÑе пÑовайдеÑа...",noProvidersWarning:"Ðе найдено пÑовайдеÑов Ð´Ð»Ñ ÑÑанÑкÑипÑии. ÐаÑÑÑойÑе пÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ OpenAI Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð³Ð¾Ð»Ð¾Ñовой ÑÑанÑкÑипÑии.",transcriptionInfoTitle:"Ðак ÑабоÑÐ°ÐµÑ ÑÑанÑкÑипÑиÑ",transcriptionInfoDesc:"Whisper API ÑÑанÑкÑипÑÐ¸Ñ Ð¸ÑполÑзÑÐµÑ OpenAI-ÑовмеÑÑимÑй ÑÐ½Ð´Ð¿Ð¾Ð¸Ð½Ñ /v1/audio/transcriptions. ÐеобÑ
одим пÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой Whisper (напÑимеÑ, OpenAI). ÐÑбеÑиÑе конкÑеÑного пÑовайдеÑа вÑÑе Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑÑанÑкÑипÑии.",transcriptionInfoDescLocal:"ÐокалÑÐ½Ð°Ñ Whisper ÑÑанÑкÑипÑÐ¸Ñ Ð·Ð°Ð¿ÑÑÐºÐ°ÐµÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÑ openai-whisper непоÑÑедÑÑвенно на ваÑем ÑÑÑÑойÑÑве. ТÑебÑÑÑÑÑ ffmpeg (Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñдио) и Ð¿Ð°ÐºÐµÑ openai-whisper. API-клÑÑ Ð¸ подклÑÑение к инÑеÑнеÑÑ Ð½Ðµ нÑжнÑ. УÑÑановка: uv pip install 'qwenpaw[whisper]'."},$x={title:"ACP",loading:"ÐагÑÑзка конÑигÑÑаÑии ACP...",builtin:"ÐÑÑÑоеннÑй",custom:"ÐолÑзоваÑелÑÑкий",create:"ÐобавиÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкий агенÑ",createTitle:"СоздаÑÑ ACP агенÑ",createSuccess:"ACP Ð°Ð³ÐµÐ½Ñ Ñоздан",editTitle:"РедакÑиÑоваÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ACP",agentKey:"ÐлÑÑ Ð°Ð³ÐµÐ½Ñа",agentKeyRequired:"ÐожалÑйÑÑа, введиÑе клÑÑ Ð°Ð³ÐµÐ½Ñа",agentKeyInvalid:"ÐлÑÑ Ð°Ð³ÐµÐ½Ñа Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÑолÑко бÑквÑ, ÑиÑÑÑ, подÑÑÑÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¸ деÑиÑÑ",agentKeyExists:"ÐÑÐ¾Ñ ÐºÐ»ÑÑ Ð°Ð³ÐµÐ½Ñа Ñже ÑÑÑеÑÑвÑеÑ",enabled:"ÐклÑÑено",command:"Ðоманда",commandRequired:"ÐожалÑйÑÑа, введиÑе командÑ",args:"ÐÑгÑменÑÑ",argsHelp:"Ðо Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð°ÑгÑменÑÑ Ð½Ð° ÑÑÑокÑ",env:"ÐеÑеменнÑе окÑÑжениÑ",envHelp:"ÐÑполÑзÑйÑе ÑоÑÐ¼Ð°Ñ KEY=VALUE в каждой ÑÑÑоке",envInvalidLine:"ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ð¿ÐµÑеменной ок
150ÑÑжениÑ: {{line}}",trusted:"ÐовеÑеннÑй",toolParseMode:"Режим ÑазбоÑа инÑÑÑÑменÑов",toolParseModeRequired:"ÐожалÑйÑÑа, вÑбеÑиÑе Ñежим ÑазбоÑа инÑÑÑÑменÑов",stdioBufferLimit:"ÐÐ¸Ð¼Ð¸Ñ Ð±ÑÑеÑа stdio",stdioBufferLimitHelp:"ÐакÑималÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð±ÑÑеÑа ÑÑÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑÑоки stdio Ð´Ð»Ñ ACP-подпÑоÑеÑÑа в байÑаÑ
.",stdioBufferLimitRequired:"ÐожалÑйÑÑа, ÑкажиÑе Ð»Ð¸Ð¼Ð¸Ñ Ð±ÑÑеÑа stdio",stdioBufferLimitMin:"ÐÐ¸Ð¼Ð¸Ñ Ð±ÑÑеÑа stdio должен бÑÑÑ Ð½Ðµ менÑÑе 1 байÑа",docs:"ÐокÑменÑаÑиÑ",docsHelp:'ÐÑкÑÑÑÑ Ð´Ð¾ÐºÑменÑаÑÐ¸Ñ Ð¿Ð¾ ACP и пеÑейÑи к ÑÐ°Ð·Ð´ÐµÐ»Ñ "How to configure external runners"',notSet:"Ðе задано",configSaved:"ÐонÑигÑÑаÑÐ¸Ñ ACP ÑоÑ
Ñанена",configFailed:"Ðе ÑдалоÑÑ ÑоÑ
ÑаниÑÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ ACP",deleteTitle:"УдалиÑÑ {{name}}",deleteConfirm:"УдалиÑÑ ÑÑÐ¾Ñ ACP агенÑ? ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ.",deleteSuccess:"ACP Ð°Ð³ÐµÐ½Ñ ÑдалÑн",deleteFailed:"Ðе ÑдалоÑÑ ÑдалиÑÑ ACP агенÑ",nodeSettings:"ÐаÑÑÑойки Node",nodePath:"ÐÑÑÑ Ðº Node",chooseOtherNode:"ÐÑбÑаÑÑ Ð´ÑÑгой Node...",selectNodePath:"ÐÑбÑаÑÑ Ð¿ÑÑÑ Ðº Node",nodePathPrompt:"ÐведиÑе пÑÑÑ Ðº иÑполнÑÐµÐ¼Ð¾Ð¼Ñ ÑÐ°Ð¹Ð»Ñ node",nodeSaved:"ÐаÑÑÑойки Node ÑоÑ
ÑаненÑ",nodeLoadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð½Ð°ÑÑÑойки Node",nodeSaveFailed:"ÐÑÑÑ Ðº Node недоÑÑÑпен",nodeRuntime:{bundled:"ÐÑÑÑоеннÑй Node",system:"СиÑÑемнÑй Node",custom:"ÐолÑзоваÑелÑÑкий Node"},nodeRuntimeReason:{systemNodeMissing:"СиÑÑемнÑй Node не обнаÑÑжен",nodeMissing:"ÐÑÑÑ Ðº Node не ÑÑÑеÑÑвÑеÑ",npxMissing:"npx не найден",versionCheckFailed:"ÐÑовеÑка веÑÑии не ÑдалаÑÑ",unavailable:"ÐедоÑÑÑпно"}},Qx={title:"РезеÑвнÑе копии",description:"РезеÑвное копиÑование и воÑÑÑановление ÑабоÑиÑ
пÑоÑÑÑанÑÑв агенÑов и конÑигÑÑаÑий.",create:"СоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ",import:"ÐмпоÑÑ",export:"ÐкÑпоÑÑ",restore:"ÐоÑÑÑановиÑÑ",delete:"УдалиÑÑ",batchDelete:"УдалиÑÑ Ð²ÑбÑаннÑе",batchDeleteConfirm:"ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе ÑдалиÑÑ {{count}} ÑезеÑвнÑÑ(ÑÑ
) копиÑ(й)? ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ.",deleteConfirm:"ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе ÑдалиÑÑ ÑÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ? ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ.",name:"Ðазвание",createdAt:"Создана",scopeSummary:"ÐблаÑÑÑ",descriptionLabel:"ÐпиÑание",noBackups:"РезеÑвнÑÑ
копий пока неÑ. СоздайÑе Ð¾Ð´Ð½Ñ Ð´Ð»Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑекÑÑей конÑигÑÑаÑии.",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑпиÑок ÑезеÑвнÑÑ
копий",createTitle:"СоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ",backupMode:"Режим ÑезеÑвного копиÑованиÑ",fullBackup:"ÐÐ¾Ð»Ð½Ð°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ",fullBackupDesc:"РезеÑвное копиÑование вÑего, вклÑÑÐ°Ñ Ð²Ñе ÑабоÑие пÑоÑÑÑанÑÑва агенÑов, глобалÑнÑе наÑÑÑойки, пÑл навÑков и ÑекÑеÑÑ",customBackup:"ÐолÑзоваÑелÑÑÐºÐ°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ",partialBackup:"ЧаÑÑиÑÐ½Ð°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ",partialBackupDesc:"ÐаÑÑÑоиÑÑ ÑодеÑжимое ÑезеÑвной копии",nameRequired:"Ðазвание ÑезеÑвной копии обÑзаÑелÑно",namePlaceholder:"ÐведиÑе название ÑезеÑвной копии",descriptionPlaceholder:"ÐеобÑзаÑелÑное опиÑание...",scopeAgents:"РабоÑие пÑоÑÑÑанÑÑва агенÑов",scopeGlobalConfig:"ÐлобаÐ
150»ÑнÑе наÑÑÑойки",scopeSkillPool:"ÐÑл навÑков",scopeSecrets:"СекÑеÑÑ",scopeSecretsHint:"ÐклÑÑÐ°ÐµÑ ÑекÑеÑÑ Ð¿ÑовайдеÑов моделей (API-клÑÑи), пеÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ дÑÑгÑÑ ÐºÐ¾Ð½ÑиденÑиалÑнÑÑ Ð¸Ð½ÑоÑмаÑиÑ",securityNotice:"ÐÑа ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÐºÐ¾Ð½ÑиденÑиалÑнÑе ÑÑÑÑнÑе даннÑе. РабоÑие пÑоÑÑÑанÑÑва агенÑов вклÑÑаÑÑ ÑÑÑÑнÑе даннÑе каналов (ÑÐ¾ÐºÐµÐ½Ñ Ð±Ð¾Ñов, ÑекÑеÑÑ Ð¿Ñиложений и Ñ.д.), а ÑекÑеÑÑ Ð¿ÑовайдеÑов моделей вклÑÑаÑÑ API-клÑÑи. Ðе пеÑедавайÑе ÑÐ°Ð¹Ð»Ñ ÑезеÑвнÑÑ
копий дÑÑгим лиÑам.",searchPlaceholder:"ÐоиÑк по Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ ID...",total:"ÐÑего {{count}}",agentsPlaceholder:"ÐÑбеÑиÑе ÑабоÑие пÑоÑÑÑанÑÑва агенÑов (оÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð²ÑеÑ
)",selectAll:"ÐÑбÑаÑÑ Ð²Ñе",deselectAll:"СнÑÑÑ Ð²ÑбоÑ",createSuccess:"РезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑÑпеÑно Ñоздана",createFailed:"Ðе ÑдалоÑÑ ÑоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ",restoreTitle:"ÐоÑÑÑановиÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ",restoreScope:"ÐблаÑÑÑ Ð²Ð¾ÑÑÑановлениÑ",restoreFullWarning:"Ðолное воÑÑÑановление полноÑÑÑÑ Ð·Ð°Ð¼ÐµÐ½Ð¸Ñ Ð²ÑÑ ÑодеÑжимое ÑекÑÑего ÑкземплÑÑа (вÑеÑ
агенÑов, глобалÑнÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑ, пÑл навÑков и ÑекÑеÑÑ). ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ. Ðо вÑÐµÐ¼Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑвÑзаннÑе ÑÑнкÑии бÑдÑÑ Ð½ÐµÐ´Ð¾ÑÑÑпнÑ. ÐоÑле завеÑÑÐµÐ½Ð¸Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑезапÑÑÑиÑе ÑеÑвиÑ.",agentGroupExisting:"СÑÑеÑÑвÑÑÑие",agentGroupNew:"ÐовÑе",agentExists:"СÑÑеÑÑвÑеÑ",agentNew:"ÐовÑй",agentActionReplace:"ÐамениÑÑ",agentActionAdd:"ÐобавиÑÑ",agentColumnName:"ÐгенÑ",agentColumnWorkspace:"РабоÑÐ°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ",agentTotal:"ÐÑего {{count}} агенÑов",noAgentsInBackup:"Ð ÑезеÑвной копии Ð½ÐµÑ ÑабоÑиÑ
облаÑÑей агенÑов",loadingAgents:"ÐагÑÑзка ÑпиÑка агенÑов...",agentSearchPlaceholder:"ÐоиÑк по имени или ID...",agentSearchTotal:"{{count}} из {{total}} агенÑов",restoreCustomSummary:"ÐÑбÑано: {{existing}} ÑÑÑеÑÑвÑÑÑиÑ
· {{added}} новÑÑ
",defaultWorkspaceDirUnused:"ÐÐµÑ Ð½Ð¾Ð²ÑÑ
агенÑов",otherOptions:"ÐÑÑгие паÑамеÑÑÑ",defaultWorkspaceDirDefault:"<ÐÑÑÑ Ð¿Ð¾ ÑмолÑаниÑ>/{{aid}}",restoreWarningModify:"ÐоÑÑÑановление Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ ÑекÑÑие конÑигÑÑаÑии. ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ.",restoreWarningRestart:"Ðо вÑÐµÐ¼Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑвÑзаннÑе ÑÑнкÑии бÑдÑÑ Ð½ÐµÐ´Ð¾ÑÑÑпнÑ. ÐоÑле завеÑÑÐµÐ½Ð¸Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑезапÑÑÑиÑе ÑеÑвиÑ.",preRestoreBackupTitle:"СоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÐµÑед воÑÑÑановлением",preRestoreBackupContent:"ÐпеÑаÑÐ¸Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð±ÑаÑима. ХоÑиÑе ÑнаÑала ÑоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÑекÑÑего ÑоÑÑоÑниÑ? ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð¾ÑкаÑиÑÑÑÑ, еÑли во вÑÐµÐ¼Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÑÑ Ð¿ÑоблемÑ.",preRestoreBackupYes:"Ðа, ÑнаÑала ÑоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ",preRestoreBackupNo:"ÐеÑ, воÑÑÑановиÑÑ ÑÑазÑ",preRestoreBackupDesc:"ÐвÑомаÑиÑеÑки ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ð°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÐµÑед воÑÑÑановлением",preRestoreBackupFailed:"Ðе ÑдалоÑÑ ÑоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÐµÑед воÑÑÑановлением",preRestoreBackupSuccess:"РезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñоздана ÑÑпеÑно, ID: {{id}}",creatingPreRestoreBackup:"Создание ÑезеÑвной копии пеÑед воÑÑÑановлением...",skipAndRestore:"ÐÑопÑÑÑиÑÑ Ð¸ пÑодолжиÑÑ Ð²Ð¾ÑÑÑановление",restoreConfirm:"Я подÑвеÑждаÑ, ÑÑо Ñ
оÑÑ Ð²Ð¾ÑÑÑановиÑÑ ÑÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ",restoreMode:"Режим воÑÑÑановлениÑ",restoreModeFull:"Ðолное воÑÑÑановление",restoreModeFullDesc:"ÐÐ¾Ð»Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÐ½Ð° вÑего ÑодеÑжимого ÑекÑÑего ÑкземплÑÑа, вклÑÑÐ°Ñ Ð²ÑеÑ
агенÑов, глобаÐ
150»ÑнÑÑ ÐºÐ¾Ð½ÑигÑÑаÑиÑ, пÑл навÑков и ÑекÑеÑÑ",restoreModeCustom:"ÐÑбоÑоÑное воÑÑÑановление",restoreModeCustomDesc:"ÐÑбеÑиÑе ÑодеÑжимое Ð´Ð»Ñ Ð²Ð¾ÑÑÑановлениÑ, напÑимеÑ, оÑделÑнÑÑ
агенÑов, конÑигÑÑаÑÐ¸Ñ Ð¸ Ñ.д.; ÑÑÑеÑÑвÑÑÑие агенÑÑ, не вклÑÑÑннÑе в ÑÑо воÑÑÑановление, ÑоÑ
ÑанÑÑÑÑ",restoreModeFullDisabled:"ТолÑко Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ ÑезеÑвной копии",defaultWorkspaceDir:"ÐаÑалог ÑабоÑей облаÑÑи агенÑа по ÑмолÑаниÑ",defaultWorkspaceDirPlaceholder:"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ~/.qwenpaw/workspaces",defaultWorkspaceDirHint:"ÐÑли иÑÑ
однÑй пÑÑÑ ÑабоÑей облаÑÑи агенÑа не ÑÑÑеÑÑвÑеÑ, Ð°Ð³ÐµÐ½Ñ Ð±ÑÐ´ÐµÑ ÑоÑ
ÑанÑн по пÑÑи <пÑÑÑ Ð¿Ð¾ ÑмолÑаниÑ>/<ID агенÑа>. ÐÑли пÑÑÑ ÑÑÑеÑÑвÑеÑ, иÑполÑзÑеÑÑÑ Ð¸ÑÑ
однÑй пÑÑÑ Ð°Ð³ÐµÐ½Ñа.",restoreStrategy:"СÑÑаÑÐµÐ³Ð¸Ñ Ð²Ð¾ÑÑÑановлениÑ",restoreStrategyPreserve:"СоÑ
ÑаниÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑе наÑÑÑойки безопаÑноÑÑи и MCP",restoreStrategyPreserveDesc:"СоÑ
ÑаниÑÑ Ð·Ð°ÑиÑнÑе наÑÑÑойки безопаÑноÑÑи и конÑигÑÑаÑÐ¸Ñ MCP ÑÑого ÑкземплÑÑа.",restoreStrategyRestore:"ÐоÑÑÑановиÑÑ ÑÑи наÑÑÑойки из ÑезеÑвной копии",restoreStrategyRestoreDesc:"ÐÑполÑзоваÑÑ Ð½Ð°ÑÑÑойки безопаÑноÑÑи и MCP из ÑезеÑвной копии.",restoreSuccess:"РезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑÑпеÑно воÑÑÑановлена. ÐожалÑйÑÑа, пеÑезапÑÑÑиÑе ÑеÑвиÑ.",restoreSuccessPreserved:"РезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑÑпеÑно воÑÑÑановлена. СоÑ
ÑÐ°Ð½ÐµÐ½Ñ Ð»Ð¾ÐºÐ°Ð»ÑнÑе наÑÑÑойки: {{keys}}. ÐожалÑйÑÑа, пеÑезапÑÑÑиÑе ÑеÑвиÑ.",restoreSuccessWithBackup:"РезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑÑпеÑно воÑÑÑановлена. ID ÑезеÑвной копии до воÑÑÑановлениÑ: {{preRestoreId}}. ÐожалÑйÑÑа, пеÑезапÑÑÑиÑе ÑеÑвиÑ.",restoreFailed:"Ðе ÑдалоÑÑ Ð²Ð¾ÑÑÑановиÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ",restoreTimedOut:"ÐоÑÑÑановление вÑÑ ÐµÑÑ Ð²ÑполнÑеÑÑÑ Ð¸Ð»Ð¸ пÑевÑÑило 5 минÑÑ. ÐÑовеÑÑÑе ÑÐ°Ð·Ð¼ÐµÑ ÑезеÑвной копии, Ñвободное меÑÑо на диÑке и жÑÑÐ½Ð°Ð»Ñ ÑлÑÐ¶Ð±Ñ Ð¿ÐµÑед повÑоÑной попÑÑкой.",restoreTargetBusy:"Ðе ÑдалоÑÑ Ð²Ð¾ÑÑÑановиÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ: ÑÑи каÑалоги вÑе еÑе иÑполÑзÑÑÑÑÑ. ÐакÑойÑе бÑаÑÐ·ÐµÑ Ð¸Ð»Ð¸ пÑоÑеÑÑ, коÑоÑÑй иÑ
иÑполÑзÑеÑ, и повÑоÑиÑе попÑÑкÑ. ÐÑли каÑалоги оÑÑаÑÑÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸ÑованнÑми, пеÑезапÑÑÑиÑе ÑиÑÑÐµÐ¼Ñ Ð¸ попÑобÑйÑе Ñнова.",detailLoadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð´ÐµÑали ÑезеÑвной копии; воÑÑÑановление недоÑÑÑпно",trustLocalBanner:"ÐокалÑÐ½Ð°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ â по ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ðµ воÑÑÑановление",trustForeignBanner:"ÐмпоÑÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ â локалÑнÑе наÑÑÑойки безопаÑноÑÑи и MCP ÑоÑ
ÑанÑÑÑÑÑ Ð¿Ð¾ ÑмолÑаниÑ",trustLegacyBanner:"УÑÑаÑевÑÐ°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ â пеÑед воÑÑÑановлением нÑжно подÑвеÑдиÑÑ Ð´Ð¾Ð²ÐµÑие",trustForeignTitle:"ÐовеÑÑÑÑ ÑÑой ÑезеÑвной копии?",trustLegacyTitle:"ÐовеÑÑÑÑ ÑÑÑаÑевÑей ÑезеÑвной копии?",unknownBackupName:"ÐÑÑ
ив ÑезеÑвной копии",trustForeignDesc:"ÐÑа ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ подпиÑана даннÑм ÑкземплÑÑом. ÐÑодолжайÑе ÑолÑко еÑли довеÑÑеÑе иÑÑоÑникÑ; пÑи воÑÑÑановлении локалÑнÑе наÑÑÑойки безопаÑноÑÑи и MCP бÑдÑÑ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ñ Ð¿Ð¾ ÑмолÑаниÑ.",trustLegacyDesc:"У ÑÑой ÑÑаÑой ÑезеÑвной копии Ð½ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñной подпиÑи. ÐÑодолжайÑе ÑолÑко еÑли довеÑÑеÑе иÑÑоÑникÑ; ÑÑÐ¾Ñ ÑкземплÑÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑÐµÑ ÐµÐµ пеÑед воÑÑÑановлением.",deleteSuccess:"РезеÑвнаÑ(Ñе) копиÑ(и) ÑÑпеÑно Ñдалена(Ñ)",deleteFailed:"Ðе ÑдалоÑÑ ÑдалиÑÑ ÑезеÑвнÑÑ(Ñе) копиÑ(и)",exportFailed:"Ðе ÑдалоÑÑ ÑкÑпоÑÑиÑоваÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ",exportWarningTitle:"ÐÑедÑпÑеждение о конÑиденÑиалÑной инÑоÑмаÑии",exportWarningContent:"ÐÑа ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ ÐºÐ¾Ð½ÑиденÑиалÑнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ ÑÑеÑнÑÑ
даннÑÑ
. РабоÑие пÑоÑÑÑанÑÑва агенÑов ÑодеÑÐ¶Ð°Ñ ÑÑеÑнÑе даннÑе каналов (Ñакие как ÑÐ¾ÐºÐµÐ½Ñ Ð±Ð¾Ñов, ÑекÑеÑÑ Ð¿Ñиложений и Ñ.д.), а ÑекÑеÑÑ Ð¿Ð¾ÑÑавÑиков моделей ÑодеÑÐ¶Ð°Ñ API-клÑÑи. Ðе пеÑедавайÑе Ñайл ÑезеÑвной копии дÑÑгим лиÑам.",exp
150ortConfirm:"ÐодÑвеÑдиÑÑ ÑкÑпоÑÑ",importTitle:"ÐмпоÑÑ ÑезеÑвной копии",importSuccess:"РезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑÑпеÑно импоÑÑиÑована",importFailed:"Ðе ÑдалоÑÑ Ð¸Ð¼Ð¿Ð¾ÑÑиÑоваÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ",importConflictTitle:"РезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñже ÑÑÑеÑÑвÑеÑ",importConflictDesc:"РезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñ Ñаким же ID Ñже ÑÑÑеÑÑвÑеÑ. ХоÑиÑе замениÑÑ ÐµÑ?",importReplace:"ÐамениÑÑ",agents:"{{count}} агенÑ(ов)",allAgents:"ÐÑе агенÑÑ",globalConfig:"ÐлобалÑнÑе наÑÑÑойки",skillPool:"ÐÑл навÑков",secrets:"СекÑеÑÑ",selected:"ÐÑбÑано {{count}}",fileCount:"{{count}} Ñайлов",totalSize:"{{size}}",progressStarting:"ÐниÑиализаÑÐ¸Ñ ÑезеÑвной копии...",progressAgent:"РезеÑвное копиÑование агенÑа {{index}} / {{total}}...",progressSaving:"СоÑ
Ñанение Ñайла ÑезеÑвной копии...",progressDone:"РезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñоздана",localModelsNotice:"Ð¤Ð°Ð¹Ð»Ñ ÑезеÑвной копии не вклÑÑаÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑе ÑÐ°Ð¹Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹. ÐÑи мигÑаÑии Ð¼ÐµÐ¶Ð´Ñ ÑÑÑÑойÑÑвами необÑ
одимо повÑоÑно загÑÑзиÑÑ Ð½ÑжнÑе локалÑнÑе модели на Ñелевом ÑÑÑÑойÑÑве."},Jx={title:"ТÑебÑеÑÑÑ Ð¿Ð¾Ð´ÑвеÑждение безопаÑноÑÑи",tool:"ÐнÑÑÑÑменÑ",severity:"УÑÐ¾Ð²ÐµÐ½Ñ ÑгÑозÑ",findings:"ÐаÑ
одки",parameters:"ÐаÑамеÑÑÑ",approve:"ÐодÑвеÑдиÑÑ",deny:"ÐÑклониÑÑ",source:"ÐÑÑоÑник",subSession:"ÐодагенÑ",approved:"ÐÑзов инÑÑÑÑменÑа подÑвеÑжден",denied:"ÐÑзов инÑÑÑÑменÑа оÑклонен",approveFailed:"Ðе ÑдалоÑÑ Ð¿Ð¾Ð´ÑвеÑдиÑÑ",denyFailed:"Ðе ÑдалоÑÑ Ð¾ÑклониÑÑ",approvePattern:"ÐÑегда РазÑеÑиÑÑ",strictModeHint:"ÐÑегда ÑазÑеÑиÑÑ Ð½ÐµÐ´Ð¾ÑÑÑпно в ÑÑÑогом Ñежиме",approveExact:"ТолÑко СейÑаÑ",approvalScope:"ÐблаÑÑÑ Ð¿Ð¾Ð´ÑвеÑждениÑ",details:"ÐодÑобноÑÑи",timeoutAutoDenied:"ÐÑÐµÐ¼Ñ Ð¸ÑÑекло, авÑомаÑиÑеÑки оÑклонено",acknowledge:"ÐонÑÑно",builtinSource:"ÐÑÑÑоеннÑй",ownerAgent:"ÐÐ»Ð°Ð´ÐµÐ»ÐµÑ Ð°Ð³ÐµÐ½Ñа",executingAgent:"ÐÑполнÑÑÑий агенÑ"},Yx={title:"ÐÐµÐ½ÐµÐ´Ð¶ÐµÑ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð²",description:"УÑÑановка, ÑпÑавление и Ñдаление плагинов без пеÑезапÑÑка ÑлÑжбÑ.",installed:"УÑÑановленнÑе плагинÑ",noPlugins:"ÐÐ»Ð°Ð³Ð¸Ð½Ñ ÐµÑе не ÑÑÑановленÑ",installBtn:"УÑÑановиÑÑ Ð¿Ð»Ð°Ð³Ð¸Ð½",installTitle:"УÑÑановка плагина",dropPrimary:"ÐеÑеÑаÑиÑе Ð¿Ð°Ð¿ÐºÑ Ð¸Ð»Ð¸ ZIP-Ñайл ÑÑда",dropSecondary:"или нажмиÑе, ÑÑÐ¾Ð±Ñ Ð²ÑбÑаÑÑ ZIP-Ñайл",orFromUrl:"или из URL",installFromUrl:"УÑÑановиÑÑ Ð¸Ð· URL",urlPlaceholder:"https://example.com/plugin.zip",zipOnly:"ÐÑи пеÑеÑаÑкивании Ñайлов поддеÑживаÑÑÑÑ ÑолÑко ZIP-ÑÐ°Ð¹Ð»Ñ â пеÑеÑаÑиÑе Ð¿Ð°Ð¿ÐºÑ Ð´Ð»Ñ ÑÑÑановки из диÑекÑоÑии",dropFailed:"Ðе ÑдалоÑÑ Ð¿ÑоÑиÑаÑÑ Ð¿ÐµÑеÑаÑеннÑÑ Ð¿Ð°Ð¿ÐºÑ",restartHint:"ÐекоÑоÑÑе Ð¿Ð»Ð°Ð³Ð¸Ð½Ñ (напÑимеÑ, Ñ
Ñки, monkey-patches) могÑÑ ÑÑебоваÑÑ Ð¿ÐµÑезапÑÑка пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ вÑÑÑÐ¿Ð»ÐµÐ½Ð¸Ñ Ð² ÑÐ¸Ð»Ñ Ð¸Ð»Ð¸ ÑдалениÑ.",installing:"УÑÑановка...",installSuccess:"Ðлагин ÑÑпеÑно ÑÑÑановлен",installFailed:"Ðе ÑдалоÑÑ ÑÑÑановиÑÑ Ð¿Ð»Ð°Ð³Ð¸Ð½",uninstall:"УдалиÑÑ",uninstallConfirm:'УдалиÑÑ Ð¿Ð»Ð°Ð³Ð¸Ð½ "{{name}}"? ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ. ÐекоÑоÑÑе Ð¿Ð»Ð°Ð³Ð¸Ð½Ñ Ð¼Ð¾Ð³ÑÑ ÑÑебоваÑÑ Ð¿ÐµÑезапÑÑка пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ ÑдалениÑ.',uninstalling:"Удаление...",uninstallSuccess:"Ðлагин ÑÑпеÑно ÑдалÑн",uninstallFailed:"Ðе ÑдалоÑÑ ÑдалиÑÑ Ð¿Ð»Ð°Ð³Ð¸Ð½",statusLoaded:"РабоÑаеÑ",statusUnloaded:"Ðе загÑÑжен",type:"Тип",version:"ÐеÑÑиÑ",author:"ÐвÑоÑ",unknown:"ÐеизвеÑÑно",noMatchingPlugins:"ÐÐµÑ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð², ÑооÑвеÑÑÑвÑÑÑиÑ
ÑекÑÑим ÑилÑÑÑам",loadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑпиÑок плагинов",confirmTitle:"ÐодÑвеÑдиÑÑ Ñдаление",officialTitle:"ÐÑиÑиалÑнÑе плагинÑ",officialDesc:"УÑÑановка опÑбликованнÑÑ
плагинов Ñ CDN загÑÑзок.",catalogRefresh:"ÐбновиÑÑ",catalogEmpty:"ÐÐµÑ Ð´Ð¾ÑÑÑпнÑÑ
оÑиÑиалÑнÑÑ
плагинов (каÑалог CDN Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑ)",catalogLoadFailed:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÐºÐ°Ñалог оÑиÑиалÑнÑÑ
плагинов",catalogInstall:"УÑÑановиÑÑ",catalogRe
150install:"ÐеÑеÑÑÑановиÑÑ",catalogUpgrade:"ÐоÑÑÑпно обновление",catalogUpgradeBtn:"ÐбновиÑÑ",catalogInstalled:"УÑÑановлен",catalogSha256:"SHA256",kindBundle:"ÐакеÑ",kindTool:"ÐнÑÑÑÑменÑ",filterByName:"ФилÑÑÑ Ð¿Ð¾ имени",filterByKind:"ФилÑÑÑ Ð¿Ð¾ ÑипÑ",marketTitle:"Ðагазин плагинов",marketEmpty:"No plugins found in market",marketLoadFailed:"Failed to load plugin market",marketUnavailable:"Plugin Market is currently under maintenance, please try again later",marketAll:"All",marketSearch:"Search plugins...",marketCategory:"Filter by category",marketSearchResult:'Found {{count}} plugins matching "{{keyword}}"',marketDetails:"Details",marketDownloads:"Downloads",marketDeveloper:"Developer",marketSortLabel:"Sort plugins",marketSortDownloads:"Most downloaded",marketSortUpdated:"Recently updated",marketSortFavorites:"Most favorited"},Xx={title:"ÐжедневнÑй AI-ÑбоÑ",tabApprovals:"ÐодÑвеÑждениÑ",tabPushMessages:"Push-ÑообÑениÑ",tabHarvests:"AI-ÑбоÑ",summaryApprovals:"ÐодÑвеÑждениÑ",summaryPushUnread:"ÐепÑоÑиÑаннÑе push",summaryHarvests:"СбоÑÑ",from:"ÐÑ:",requestedBy:"Ðем:",markRead:"ÐÑоÑиÑано",markAllRead:"ÐÑоÑиÑаÑÑ Ð²ÑÑ",markAllReadNoUnread:"ÐÐµÑ Ð½ÐµÐ¿ÑоÑиÑаннÑÑ
ÑообÑений",markAllReadSuccess:"ÐÑмеÑено как пÑоÑиÑанное: {{count}} ÑообÑ.",selectAllCurrentPage:"ÐÑбÑаÑÑ ÑекÑÑÑÑ ÑÑÑаниÑÑ",selectedItems:"ÐÑбÑано: {{count}}",batchDeleteButton:"УдалиÑÑ Ð²ÑбÑаннÑе",batchOperation:"ÐаÑÑовÑе дейÑÑвиÑ",exitBatch:"ÐÑйÑи",batchDeleteConfirm:"УдалиÑÑ {{count}} вÑбÑаннÑÑ
push-ÑообÑений?",batchDeleteSuccess:"Удалено push-ÑообÑений: {{count}}",pushCronHeader:"Cron-задаÑа: {{name}}",viewDetails:"ÐодÑобнее",deleteMessageConfirm:"УдалиÑÑ ÑÑо push-ÑообÑение?",viewAll:"ÐоказаÑÑ Ð²Ñе",read:"ЧиÑаÑÑ",approve:"ÐодÑвеÑдиÑÑ",reject:"ÐÑклониÑÑ",ready:"ÐоÑово",harvestNow:"СобÑаÑÑ ÑейÑаÑ",createHarvest:"СоздаÑÑ ÑбоÑ",createFirstHarvest:"СоздайÑе пеÑвÑй ÑбоÑ",createSuccess:"Ð¡Ð±Ð¾Ñ ÑÑпеÑно Ñоздан",emptyApprovals:"ÐÐµÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑиÑ
подÑвеÑждений",emptyPush:"ÐÐµÑ push-ÑообÑений",wobbleEnable:"ÐклÑÑиÑÑ Ñведомление о подÑвеÑждении",wobbleDisable:"ÐÑклÑÑиÑÑ Ñведомление о подÑвеÑждении",emptyHarvests:"СбоÑов пока неÑ",statusReadyToHarvest:"ÐоÑово к ÑбоÑÑ",statusGrowing:"РаÑÑÑÑ",harvestedTimes:"СобÑано Ñаз: {{count}}",harvestSuccessRate:"УÑпеÑноÑÑÑ {{rate}}%",messageDetailComingSoon:"ÐодÑобнÑй вид ÑообÑÐµÐ½Ð¸Ñ â ÑкоÑо!",harvestSettingsComingSoon:"ÐаÑÑÑойки ÑбоÑа â ÑкоÑо!",messageDetailTitle:"ÐеÑали вÑполнениÑ",detailCronTitle:"Cron-задаÑа: {{name}}",detailHeartbeatTitle:"ÐÑлÑÑ",messageNotFound:"СообÑение не найдено",detailTaskName:"ÐÐ¼Ñ Ð·Ð°Ð´Ð°Ñи",detailTaskId:"ID задаÑи",detailStatus:"СÑаÑÑÑ",detailSeverity:"ÐажноÑÑÑ",detailAgent:"ÐгенÑ",detailSource:"ÐÑÑоÑник",detailSourceCronJob:"Cron-задаÑа",detailSourceHeartbeat:"ÐÑлÑÑ",detailTrigger:"ТÑиггеÑ",detailDuration:"ÐлиÑелÑноÑÑÑ",detailExecutedAt:"ÐÑполнено в",detailReceivedAt:"ÐолÑÑено в",detailRunId:"ID запÑÑка",detailContent:"ÐÑвод",detailPayload:"ÐаннÑе",detailExecutionTrace:"ТÑаÑÑиÑовка вÑполнениÑ",detailTraceEmpty:"ТÑаÑÑиÑовка вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÐ´Ð¾ÑÑÑпна",mailDetailSender:"ÐÑпÑавиÑелÑ",mailDetailSubject:"Тема",mailDetailDate:"ÐÑÐµÐ¼Ñ Ð¿Ð¸ÑÑма",mailDetailBody:"ÐÑедпÑоÑмоÑÑ ÑекÑÑа",mailDetailProcess:"ÐÑоÑеÑÑ Ð¾Ð±ÑабоÑки",filterByAgent:"ФилÑÑÑ Ð¿Ð¾ агенÑÑ",filterBySourceType:"ФилÑÑÑ Ð¿Ð¾ иÑÑоÑникÑ",sourceTypeCron:"Cron",sourceTypeHeartbeat:"Heartbeat",sourceTypeMemory:"Memory",sourceTypeMail:"Mail",mailAccessControl:"ÐонÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа к поÑÑе",pendingSenders:"ÐÑпÑавиÑели на ÑаÑÑмоÑÑении",senderLists:"СпиÑки оÑпÑавиÑелей",addSender:"ÐобавиÑÑ Ð¾ÑпÑавиÑелÑ",domainWildcardHint:"ÐоддеÑживаÑÑÑÑ ÑÐ°Ð±Ð»Ð¾Ð½Ñ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð², напÑÐ¸Ð¼ÐµÑ *@example.com",invalidAddress:"ÐевеÑнÑй адÑÐµÑ ÑлекÑÑонной поÑÑÑ. ÐÑполÑзÑйÑе ÑоÑÐ¼Ð°Ñ [email protected] или *@domain.com",whitelist:"ÐелÑй ÑпиÑок",blacklist:"ЧÑÑнÑй ÑпиÑок",approveSender:"ÐдобÑиÑÑ",deny:"ÐаблокиÑоваÑÑ",dismiss:"ÐгноÑиÑоваÑÑ",batchApprove:"ÐаÑÑовое одобÑение",batchDeny:"ÐаÑÑÐ¾Ð²Ð°Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовка",batchDismiss:"ÐаÑÑовое игноÑиÑование",batchRemove:"ÐаÑÑовое Ñдаление",confirmApprove:"ÐдобÑиÑÑ Ð²ÑбÑаннÑÑ
оÑпÑавиÑелей?",confirmDeny:"ÐÑклониÑÑ Ð²ÑбÑаннÑÑ
оÑпÑавиÑелей?",confirmDismiss:"ÐгноÑиÑоваÑÑ Ð²ÑбÑаннÑÑ
оÑпÑавиÑелей?",confirmRemove:"ÐодÑвеÑдиÑÑ Ñдаление?",removeSuccess:"УÑпеÑно Ñдалено",addedToAllAgents:"Ðобавлено и ÑинÑ
ÑонизиÑовано Ñо вÑеми агенÑами",senderAddress:"ÐдÑÐµÑ Ð¾ÑпÑавиÑелÑ",displayName:"ÐÐ¼Ñ Ð¾ÑпÑавиÑелÑ",emailSubject:"Тема",bodyPreview:"ÐÑедпÑоÑмоÑÑ ÑекÑÑа",selectAgent:"ÐÑбÑаÑÑ Ð°Ð³ÐµÐ½Ñа",allAgents:"ÐÑе агенÑÑ",time:"ÐÑемÑ",remark:"ÐÑимеÑание",actions:"ÐейÑÑвиÑ",optional:" (необÑзаÑелÑно)",required:" (обÑзаÑелÑно)"},Zx={title:"Режим кодиÑованиÑ",experimental:"ÐкÑпеÑименÑалÑÐ½Ð°Ñ ÑÑнкÑиÑ",experimentalDesc:"Режим кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑевÑаÑÐ°ÐµÑ QwenPaw в лÑгкÑÑ Web IDE Ñ ÑедакÑоÑом кода, деÑевом Ñайлов, инÑегÑаÑией Git и AI-помоÑником Ð´Ð»Ñ Ð¿ÑогÑаммиÑованиÑ.",experimentalNote:"ÐÑа ÑÑнкÑÐ¸Ñ ÑвлÑеÑÑÑ ÑкÑпеÑименÑалÑной и наÑ
одиÑÑÑ Ð² акÑивной ÑазÑабоÑке. ÐекоÑоÑÑе возможноÑÑи могÑÑ Ð±ÑÑÑ Ð¾Ð³ÑаниÑÐµÐ½Ñ Ð¸Ð»Ð¸ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ñ Ð² бÑдÑÑиÑ
обновлениÑÑ
.",confirmBtn:"ÐклÑÑиÑÑ Ñежим кодиÑованиÑ",enterTooltip:"ÐойÑи в Ñежим кодиÑованиÑ",exitTooltip:"ÐÑйÑи из Ñежима кодиÑованиÑ",btnCode:"Ðод",btnChat:"ЧаÑ",selectProject:"ÐÑбÑаÑÑ ÐºÐ°Ñалог пÑоекÑа",selectProjectDesc:"ÐÑбеÑиÑе пÑÐ¾ÐµÐºÑ Ð¸Ð»Ð¸ иÑполÑзÑйÑе ÑабоÑее пÑоÑÑÑанÑÑво по ÑмолÑаниÑ",tabWorksp
150ace:"РабоÑее пÑоÑÑÑанÑÑво по ÑмолÑаниÑ",tabClone:"ÐлониÑоваÑÑ ÑепозиÑоÑий",tabLocal:"ÐмпоÑÑиÑоваÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑй пÑоекÑ",tabNew:"ÐовÑй пÑоекÑ",workspaceDesc:"ÐÑполÑзоваÑÑ Ð´Ð¸ÑекÑоÑÐ¸Ñ ÑабоÑего пÑоÑÑÑанÑÑва ÑекÑÑего агенÑа",cloneUrl:"URL Git-ÑепозиÑоÑиÑ",cloneUrlPlaceholder:"https://github.com/user/repo.git",cloneName:"Ðазвание пÑоекÑа (необÑзаÑелÑно)",cloneNamePlaceholder:"ÐÑÑавÑÑе пÑÑÑÑм Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð· URL",cloneBtn:"ÐаÑаÑÑ ÐºÐ»Ð¾Ð½Ð¸Ñование",cloning:"ÐлониÑование...",localPath:"ÐÑÑÑ Ðº локалÑной диÑекÑоÑии",localPathPlaceholder:"/Users/ваÑе-имÑ/мой-пÑоекÑ",localPathHint:"ÐведиÑе абÑолÑÑнÑй пÑÑÑ Ðº ваÑÐµÐ¼Ñ Ð»Ð¾ÐºÐ°Ð»ÑÐ½Ð¾Ð¼Ñ Ð¿ÑоекÑÑ",openBtn:"ÐмпоÑÑиÑоваÑÑ",newName:"Ðазвание пÑоекÑа",newNamePlaceholder:"мой-пÑоекÑ",createBtn:"СоздаÑÑ Ð¿ÑоекÑ",switchProject:"СмениÑÑ Ð¿ÑоекÑ",currentProject:"ТекÑÑий пÑоекÑ",resetToWorkspace:"СбÑоÑиÑÑ Ð´Ð¾ ÑабоÑего пÑоÑÑÑанÑÑва по ÑмолÑаниÑ",dropPrimary:"ÐеÑеÑаÑиÑе Ð¿Ð°Ð¿ÐºÑ ÑÑда или нажмиÑе Ð´Ð»Ñ Ð²ÑбоÑа",dropSecondary:"ÐеÑеÑаÑиÑе из Finder или вÑÑавÑÑе пÑÑÑ Ð½Ð¸Ð¶Ðµ",pathHint:"ÐведиÑе полнÑй абÑолÑÑнÑй пÑÑÑ (наÑинаÑÑийÑÑ Ñ / или ~)",importing:"ÐмпоÑÑ...",dropFailed:"Ðе ÑдалоÑÑ Ð¿ÑоÑиÑаÑÑ Ð¿Ð°Ð¿ÐºÑ",workingDir:"РабоÑÐ°Ñ Ð´Ð¸ÑекÑоÑиÑ",importCopyNote:"Ðапка бÑÐ´ÐµÑ ÑкопиÑована в ÑпÑавлÑемÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÑ Ð¿ÑоекÑов QwenPaw. ÐÑигиналÑнÑе ÑÐ°Ð¹Ð»Ñ Ð½Ðµ бÑдÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ñ.",importCopyDesc:"ÐмпоÑÑ ÑоздаÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ð°Ð¿ÐºÐ¸. ÐÐ³ÐµÐ½Ñ ÑабоÑÐ°ÐµÑ Ñ ÐºÐ¾Ð¿Ð¸ÐµÐ¹, оÑигиналÑнÑе ÑÐ°Ð¹Ð»Ñ Ð½Ðµ изменÑÑÑÑÑ. ЧÑÐ¾Ð±Ñ ÑабоÑаÑÑ Ñ Ð¾Ñигиналом напÑÑмÑÑ, иÑполÑзÑйÑе «ÐÑкÑÑÑÑ ÐºÐ°Ñалог».",tabOpenDir:"ÐÑкÑÑÑÑ ÐºÐ°Ñалог",openDirDesc:"ÐÑкÑÑÑÑ ÑÑÑеÑÑвÑÑÑий локалÑнÑй каÑалог â ÑÐ°Ð¹Ð»Ñ Ð½Ðµ копиÑÑÑÑÑÑ",openDirBtn:"ÐÑкÑÑÑÑ ÑÑÐ¾Ñ ÐºÐ°Ñалог",openDirLoading:"ÐагÑÑзка...",openDirEmpty:"ÐÐµÑ Ð¿Ð¾Ð´ÐºÐ°Ñалогов",openDirHome:"Ðомой",openDirRefresh:"ÐбновиÑÑ",openDirHiddenFolders:"СкÑÑÑÑе папки"},eR={searchPlaceholder:"ÐоиÑк навÑков по плаÑÑоÑмам",categoryAll:"ÐÑе",categoryPlaceholder:"ÐоиÑк каÑегоÑии",searchResult:'Ðайдено навÑков по запÑоÑÑ "{{keyword}}": {{count}}',providerUnavailable:"ÐÑÑоÑник недоÑÑÑпен",noResults:"ÐиÑего не найдено",startTyping:"ÐведиÑе запÑÐ¾Ñ Ð²ÑÑе, ÑÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи навÑк в маÑкеÑе",browseHint:"ÐÑбеÑиÑе каÑегоÑÐ¸Ñ Ð¸Ð»Ð¸ введиÑе клÑÑевое Ñлово, ÑÑÐ¾Ð±Ñ Ð¿ÑоÑмоÑÑеÑÑ Ð½Ð°Ð²Ñки в {{providers}}",noDescription:"ÐпиÑание оÑÑÑÑÑÑвÑеÑ",browseMarket:"ÐÐ±Ð·Ð¾Ñ Ð¼Ð°ÑкеÑа",installQueue:"ÐÑеÑÐµÐ´Ñ ÑÑÑановки",clearCompleted:"ÐÑиÑÑиÑÑ",retry:"ÐовÑоÑиÑÑ",status:{queued:"РоÑеÑеди",installing:"УÑÑановка",completed:"ÐоÑово",failed:"ÐÑибка",cancelled:"ÐÑменено"},loadMore:"ÐагÑÑзиÑÑ ÐµÑÑ",noMoreResults:"ÐолÑÑе ÑезÑлÑÑаÑов неÑ",detail:{title:"Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ навÑке",version:"ÐеÑÑиÑ",author:"ÐвÑоÑ",sourceUrl:"URL ÑÑÑановки",slug:"ÐденÑиÑикаÑоÑ",missing:"â"},stats:{downloads:"СкаÑиваниÑ",stars:"ÐвÑздÑ",installs:"УÑÑановки",likes:"Ðайки",views:"ÐÑоÑмоÑÑÑ",category:"ÐаÑегоÑиÑ",updatedAt:"Ðбновлено"},queueMsg:{timedOut:"ÐÑÐµÐ¼Ñ ÑÑÑановки иÑÑекло",failedPrefix:"ÐÑибка: {{msg}}"}},tR={starting:"ÐапÑÑк ÑеÑвеÑа...",checking:"ÐодклÑÑение к ÑеÑвеÑÑ...",error:"Ðе ÑдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ ÑеÑвеÑ.",errorHint:"Ðе ÑдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ Ð¿ÑоÑеÑÑ ÑеÑвеÑа. ÐÑовеÑÑÑе жÑÑÐ½Ð°Ð»Ñ Ð¿ÑиложениÑ.",errorDetails:"ÐоказаÑÑ ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± оÑибке",timeout:"Ðе ÑдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ ÑеÑÐ²ÐµÑ Ð·Ð° {{seconds}} ÑекÑнд.",timeoutHint:"Ðе ÑдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ Ð±Ñкенд. ÐовÑоÑиÑе попÑÑÐºÑ Ð¸Ð»Ð¸ пÑовеÑÑÑе жÑÑÐ½Ð°Ð»Ñ Ð¿ÑиложениÑ.",retry:"ÐовÑоÑиÑÑ"},aR={error:{SENSITIVE_FILE_BLOCKED:"ÐÑÐ¾Ñ Ñайл заблокиÑован заÑиÑой Ñайлов (заÑиÑа конÑиденÑиалÑнÑÑ
Ñайлов).",OUTSIDE_WORKSPACE:"ÐÑÐ¾Ñ Ñайл наÑ
одиÑÑÑ Ð·Ð° пÑеделами ÑабоÑего пÑоÑÑÑанÑÑва. ÐклÑÑиÑе «РазÑеÑиÑÑ Ð¿ÑедпÑоÑмоÑÑ Ñайлов вне ÑабоÑего пÑоÑÑÑанÑÑва» в ÐаÑÑÑойки â ÐезопаÑноÑÑÑ â ÐаÑиÑа Ñайлов.",FORBIDDEN:"ÐоÑÑÑп запÑеÑÑн: недоÑÑаÑоÑно пÑав Ð´Ð»Ñ Ð¿ÑедпÑоÑмоÑÑа ÑÑого Ñайла.",NOT_FOUND:"Файл не найден. Ðозможно, он бÑл пеÑемеÑÑн или ÑдалÑн. ÐÑли иÑполÑзован оÑноÑиÑелÑнÑй пÑÑÑ, попÑобÑйÑе абÑолÑÑнÑй.",LOAD_FAILED:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¿ÑедпÑоÑмоÑÑ Ñайла.",LOAD_FAILED_DETAIL:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¿ÑедпÑоÑмоÑÑ Ñайла: {{detail}}"}},nR={readFile:"ЧиÑаÑÑ {{file}}",readFileDefault:"ЧиÑаÑÑ Ñайл",writeFile:"СоздаÑÑ {{file}}",writeFileDefault:"СоздаÑÑ Ñайл",editFile:"РедакÑиÑоваÑÑ {{file}}",editFileDefault:"РедакÑиÑоваÑÑ Ñайл",appendFile:"ÐобавиÑÑ Ð² {{file}}",appendFileDefault:"ÐобавиÑÑ Ð² Ñайл",grepSearch:"Grep {{pattern}}",grepSearchDefault:"Grep поиÑк",globSearch:"Glob {{pattern}}",globSearchDefault:"Glob поиÑк",viewImage:"ÐÑоÑмоÑÑ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ {{file}}",viewImageDefault:"ÐÑоÑмоÑÑ Ð¸Ð·Ð¾Ð±ÑажениÑ",viewVideo:"ÐÑоÑмоÑÑ Ð²Ð¸Ð´ÐµÐ¾ {{file}}",viewVideoDefault:"ÐÑоÑмоÑÑ Ð²Ð¸Ð´ÐµÐ¾",desktopScreenshot:"Снимок ÑабоÑего ÑÑола",sendFile:"ÐÑпÑавиÑÑ {{file}}",sendFileDefault:"ÐÑпÑавиÑÑ Ñайл",browserUse:"ÐÑоÑмоÑÑ {{detail}}",browserNavigate:"ÐÑкÑÑÑÑ {{url}}",browserNavigateDefault:"ÐÑкÑÑÑÑ ÑÑÑаниÑÑ",browserClick:"ÐажаÑÑ",browserType:"ÐвеÑÑи ÑекÑÑ",browserSnapshot:"Снимок ÑÑÑаниÑÑ",browserScroll:"ÐÑокÑÑÑка",getCurrentTime:"ÐолÑÑиÑÑ ÑекÑÑее вÑемÑ",setTimezone:"УÑÑановиÑÑ {{timezone}}",getTokenUsage:"ÐапÑоÑиÑÑ Ð¸ÑполÑзование Ñокенов",memorySearch:"ÐоиÑк в памÑÑи {{query}}",memorySearchDefault:"ÐоиÑк в памÑÑи",listAgents:"СпиÑок агенÑов",chatWithAgent:"Ð§Ð°Ñ Ñ {{agent}}",chatWithAgentDefault:"Ð§Ð°Ñ Ñ Ð°Ð³ÐµÐ½Ñом",submitToAgent:"ÐÑпÑавиÑÑ {{agent}}{{task}}",submitToAgentDefault:"ÐÑпÑавиÑÑ Ð·Ð°Ð´Ð°ÑÑ",checkAgentTask:"ÐÑовеÑиÑÑ {{agent}} #{{taskId}}",checkAgentTaskAgent:"ÐÑовеÑиÑÑ {{agent}}",checkAgentTaskDefault:"ÐÑовеÑиÑÑ Ð·Ð°Ð´Ð°ÑÑ",delegateExternalAgent:"ÐелегиÑоваÑÑ {{runner}}",delegateExternalAgentDefault:"ÐелегиÑоваÑÑ Ð²Ð½ÐµÑÐ½ÐµÐ¼Ñ Ð°Ð³ÐµÐ½ÑÑ",shell:"ÐÑполниÑÑ {{command}}",shellDefault:"ÐÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ",formatTable:{file:"Файл",lineNumber:"СÑÑока",score:"ÐÑенка",summary:"Сводка",name:"ÐмÑ",id:"ID",description:"ÐпиÑание",status:"СÑаÑÑÑ"},loading:"ÐагÑÑзка...",rawInputPreview:"ÐеобÑабоÑаннÑй ввод в ÑеалÑном вÑемени (поÑледние 4 096 Ñимволов)",largeOutputOmitted:"ÐÑопÑÑено ÑÑÑок: {{count}} â ÑкопиÑÑйÑе доÑÑÑпнÑй вÑвод или ÑледÑйÑе инÑÑÑÑкÑиÑм по воÑÑÑановлениÑ",largeOutputTruncated:"ÐÑвод ÑÑеÑÑн Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ â ÑкопиÑÑйÑе доÑÑÑпнÑй вÑвод или ÑледÑйÑе инÑÑÑÑкÑиÑм по воÑÑÑановлениÑ",browserAction:{startHeaded:"ÐапÑÑÑиÑÑ Ð±ÑаÑÐ·ÐµÑ (Ñ Ð¸Ð½ÑеÑÑейÑом)",start:"ÐапÑÑÑиÑÑ Ð±ÑаÑзеÑ",stop:"ÐÑÑановиÑÑ Ð±ÑаÑзеÑ",open:"ÐÑкÑÑÑÑ {{url}}",openDefault:"ÐÑкÑÑÑÑ ÑÑÑаниÑÑ",navigate:"ÐеÑейÑи на {{url}}",navigateDefault:"ÐавигаÑиÑ",navigateBack:"Ðазад",click:"ÐажаÑÑ {{selector}}",clickDefault:"ÐажаÑÑ ÑлеменÑ",type:"ÐвеÑÑи {{text}}",typeDefault:"ÐвеÑÑи ÑекÑÑ",snapshot:"ÐолÑÑиÑÑ Ñнимок",screenshot:"Снимок ÑкÑана {{path}}",screenshotDefault:"Снимок ÑкÑана",eval:"ÐÑполниÑÑ {{code}}",evalDefault:"ÐÑполниÑÑ ÐºÐ¾Ð´",runCode:"ÐапÑÑÑиÑÑ {{code}}",runCodeDefault:"ÐапÑÑÑиÑÑ ÐºÐ¾Ð´",closePage:"ÐакÑÑÑÑ ÑÑÑаниÑÑ",tabs:"Ðкладки {{action}}",tabsDefault:"УпÑавление вкладками",fillForm:"ÐаполниÑÑ ÑоÑмÑ",fileUpload:"ÐагÑÑзиÑÑ {{filename}}",fileUploadDefault:"ÐагÑÑзиÑÑ Ñайл",fileDownload:"СкаÑаÑÑ {{target}}",fileDownloadDefault:"СкаÑаÑÑ Ñайл",pressKey:"ÐажаÑÑ {{key}}",pressKeyDefault:"ÐажаÑÑ ÐºÐ»Ð°Ð²Ð¸ÑÑ",hover:"ÐавеÑÑи на {{selector}}",hoverDefault:"ÐавеÑÑи на ÑлеменÑ",drag:"ÐеÑеÑаÑиÑÑ",
150selectOption:"ÐÑбÑаÑÑ Ð¾Ð¿ÑиÑ",waitFor:"ÐдаÑÑ {{target}}",waitForDefault:"ÐдаÑÑ ÑлеменÑ",resize:"ÐзмениÑÑ ÑÐ°Ð·Ð¼ÐµÑ {{w}}x{{h}}",resizeDefault:"ÐзмениÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÐºÐ½Ð°",pdf:"ÐкÑпоÑÑ PDF {{path}}",pdfDefault:"ÐкÑпоÑÑ PDF",install:"УÑÑановиÑÑ",batch:"ÐакеÑ"},lineBadge:{lines:"{{count}} ÑÑÑок",addLines:"+{{count}} ÑÑÑок",delLines:"-{{count}} ÑÑÑок",matches:"{{count}} Ñовпадений",files:"{{count}} Ñайлов"},inlineResult:{taskId:"ÐадаÑа #{{id}}",submitted:"ÐÑпÑавлено"},execute:"ÐапÑÑÑиÑÑ {{tool}}",executeDefault:"ÐапÑÑÑиÑÑ Ð¸Ð½ÑÑÑÑменÑ"},oR={gotoSettings:"ÐаÑÑÑойки Loop агенÑа",selectorTitle:"Режим Loop",selectorHint:"ÐÑбеÑиÑе ÑпоÑоб пÑÐ¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ ÑабоÑÑ Ð°Ð³ÐµÐ½Ñа",selectorAria:"ÐÑбÑаÑÑ Ñежим Loop",builtInModes:"ÐÑÑÑоеннÑе",customModes:"ÐолÑзоваÑелÑÑкие и плагинÑ",starting:"ÐапÑÑк",running:"ÐÑполнÑеÑÑÑ",awaiting_user:"Ðжидание ваÑего оÑвеÑа",activePersistentDescription:"Режим дейÑÑвÑÐµÑ Ð² ÑÑом диалоге до завеÑÑÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñи или ÑбÑоÑа диалога.",activeCustomDescription:"ÐолÑзоваÑелÑÑкий Ñежим дейÑÑвÑÐµÑ Ð´Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ /mode off, /clear или /new.",loadError:"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе ÑÐµÐ¶Ð¸Ð¼Ñ Loop.",retry:"ÐовÑоÑиÑÑ",modes:{default:{name:"Ðо ÑмолÑаниÑ",description:"СÑандаÑÑнÑй ÑпÑавлÑемÑй Ñикл агенÑа."},goal:{name:"ЦелÑ",description:"ÐоÑледоваÑелÑÐ½Ð°Ñ ÑабоÑа над конкÑеÑной пÑовеÑÑемой ÑелÑÑ."},mission:{name:"ÐиÑÑиÑ",description:"СÑÑÑкÑÑÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð´Ð»Ð¸ÑелÑÐ½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾ÑÑÐ°Ð¿Ð½Ð°Ñ Ð·Ð°Ð´Ð°Ñа."}}},iR={common:ux,harnesses:px,desktop:mx,chunkError:hx,appCenter:gx,nav:fx,os:bx,debug:kx,agent:yx,checkpoints:vx,workspace:Tx,skills:Sx,skillPool:Cx,mcp:wx,heartbeat:Px,cronJobs:Ax,channels:Mx,sessions:Dx,environments:xx,tokenUsage:Rx,agentStats:Ix,modelSelector:_x,models:Lx,files:Ex,projectDirectory:Fx,agentConfig:Ox,tools:Bx,modelConfig:Nx,header:Hx,theme:Ux,sidebar:qx,chat:jx,security:Gx,hub:Vx,login:Wx,account:zx,voiceTranscription:Kx,acp:$x,backup:Qx,approval:Jx,pluginManager:Yx,inbox:Xx,codingMode:Zx,market:eR,startup:tR,preview:aR,tool:nR,loop:oR},sR={save:"ä¿å",reset:"éç½®",cancel:"åæ¶",confirm:"确认",apply:"åºç¨",delete:"å é¤",edit:"ç¼è¾",create:"å建",upload:"ä¸ä¼ ",download:"ä¸è½½",refresh:"å·æ°",retry:"éè¯",search:"æç´¢",enable:"å¯ç¨",disable:"ç¦ç¨",enabled:"å·²å¯ç¨",disabled:"å·²ç¦ç¨",preview:"é¢è§",raw:"æºç ",view:"æ¥ç",content:"å
容",loading:"å è½½ä¸...",saving:"ä¿åä¸...",copy:"å¤å¶",copied:"å·²å¤å¶å°åªè´´æ¿",copyFailed:"å¤å¶å°åªè´´æ¿å¤±è´¥",contentPlaceholder:"è¾å
¥å
容...",help:"帮å©",close:"å
³é",back:"è¿å",actions:"æä½",total:"å
± {{count}} æ¡",clear:"æ¸
é¤",paste:"ç²è´´",yes:"æ¯",no:"å¦"},rR={closeWindow:{title:"å
³éçªå£",description:"å
³éçªå£æ¶æ¨å¸ææ§è¡ä»ä¹æä½ï¼éåºåºç¨å°åæ¢æææ£å¨è¿è¡çä»»å¡å宿¶ä»»å¡ã",remember:"è®°ä½æçéæ©",showWindow:"æ¾ç¤ºçªå£",minimizeToTray:"æå°åå°æç",quitApp:"éåºåºç¨",preference:"å
³éçªå£",askEveryTime:"æ¯æ¬¡è¯¢é®"}},lR={title:"页é¢å 载失败",subTitle:"å¯è½ç±ç½ç»é®é¢æåºç¨æ´æ°å¯¼è´ï¼è¯·ç¨åéè¯ã",genericTitle:"页é¢åºç°å¼å¸¸",genericSubTitle:"æ¸²ææ¤é¡µé¢æ¶åçäºæå¤é误ã",reload:"å·æ°é¡µé¢"},dR={backToList:"è¿å",subtitle:"管çå·²å®è£
çåºç¨ï¼æä»å®æ¹ä¸ç¤¾åºæ¸ éæ©å±å·¥ä½ç©ºé´ã",myApps:"æçåºç¨",officialApps:"宿¹åºç¨",appMarket:"åºç¨å¸åº",browseOfficialApps:"æµè§å®æ¹åºç¨",browseMarket:"æµè§åºç¨å¸åº",officialAppsEmpty:"ææ å®æ¹åºç¨",searchOfficial:"æç´¢å®æ¹åºç¨...",installedCount:"{{count}} 个åºç¨",clearFilters:"æ¸
é¤çé",moreActions:"æ´å¤æä½",openApp:"æå¼åºç¨",noDescription:"ææ æè¿°",search:"æç´¢åºç¨...",allCategories:"å
¨é¨",noApps:"å°æªå®è£
ä»»ä½åºç¨",noResults:"没æå¹é
çåºç¨",loadFailed:"å è½½åºç¨å¤±è´¥ï¼è¯·éè¯ã",appNotLoaded:"该åºç¨å°æªå è½½ã",appLoadFailed:"åºç¨å 载失败ãä½ å¯ä»¥éæ°å è½½ï¼å½åå·¥ä½åºåå
¶ä»åºç¨ä¸ä¼åå°å½±åã",uninstall:"å¸è½½",uninstallConfirmTitle:"å¸è½½åºç¨ï¼",uninstallConfirmContent:'è¿å°å é¤åºç¨ "{{name}}" çç®å½ï¼ä¸ä¸å¯æ¤éã',uninstallSuccess:"åºç¨å·²å¸è½½",uninstallFailed:"å¸è½½å¤±è´¥",installing:"æ£å¨å®è£
",installSuccess:"å·²å®è£
",installFailed:"å®è£
失败",installedStatus:"å·²å®è£
",update:"æ´æ°",searchMarket:"æç´¢åºç¨å¸åº...",marketFilters:"åºç¨å¸åºçé",filterAll:"å
¨é¨",trending:"çé¨",marketEmpty:"æªæ¾å°åºç¨",loadMore:"å è½½æ´å¤",noMoreApps:"æ²¡ææ´å¤åºç¨äº",install:"å®è£
",details:"详æ
",featured:"ç²¾é",aboutApp:"å
³äºåºç¨",exitApp:"éåºåºç¨",moreOptions:"æ´å¤é项",backToListHint:"è¿ååºç¨å表 (ESC)",version:"çæ¬",id:"ID",category:"åç±»",description:"æè¿°"},cR={connected:"å·²è¿æ¥",disconnected:"å·²æå¼",notConnected:"æªè¿æ¥",comingSoon:"å³å°æ¨åº",connect:"ä½¿ç¨ ChatGPT è¿æ¥",disconnect:"æå¼è¿æ¥",apiKeyAuthenticated:"å·²éè¿ API Key 认è¯",chatGptAuthenticated:"å·²è¿æ¥ ChatGPT",cliAuthenticated:"{{type}} CLI 已认è¯"},uR={chat:"è天",files:"æä»¶",control:"æ§å¶",channels:"é¢é",sessions:"ä¼è¯",inbox:"æ¶ä»¶ç®±",apps:"åºç¨",cronJobs:"宿¶ä»»å¡",heartbeat:"å¿è·³",agent:"å·¥ä½åº",workspace:"æä»¶",skills:"æè½",skillPool:"æè½æ± ",marketplace:"æ©å±",market:"æè½å¸åº",tools:"å·¥å
·",mcp:"MCP",acp:"ACP",agentConfig:"è¿è¡é
ç½®",agents:"æºè½ä½ç®¡ç",settings:"设置",models:"模å",environments:"ç¯å¢åé",offloadPolicy:"å·¥å
·åå°çç¥",security:"å®å
¨",tokenUsage:"Token æ¶è",agentStats:"æºè½ä½ç»è®¡",voiceTranscription:"è¯é³è½¬å",debug:"è°è¯",plugins:"æä»¶",backups:"å¤ä»½",pluginManager:"æä»¶ç®¡ç"},pR={console:"æ§å¶å°",appStore:"åºç¨ååº",appStoreDesc:"å®è£
æç§»é¤æ¡é¢åºç¨",arrangeDesktop:"æ´çæ¡é¢",approvalActionFailed:"æä½å¤±è´¥ï¼è¯·éè¯",booting:"æ£å¨å¯å¨â¦",changeWallpaper:"æ´æ¢å£çº¸",clearAll:"å
¨é¨æ¸
é¤",closeApp:"å
³é",currentSpace:"å½å空é´",currentSpaceLabel:"å½å空é´ï¼{{name}}",currentAppLabel:"å½ååºç¨ï¼{{name}}",desktopApps:"æ¡é¢åºç¨",finder:"æ¡é¢",focusApp:"èç¦",install:"å®è£
",installed:"å·²å®è£
",installedApp:"å·²å®è£
",installedApps:"å·²å®è£
åºç¨",launchpad:"å¯å¨å°",moveDockLeft:"å左移å¨",moveDockRight:"åå³ç§»å¨",missionControl:"è°åº¦ä¸å¿",noInstalledApps:"ææ å·²å®è£
åºç¨",noNotifications:"ææ éç¥",noOpenWindows:"è¯¥ç©ºé´æ²¡ææå¼ççªå£",noSettings:"ææ å¯ç¨è®¾ç½®",notInstalled:"æªå®è£
",notifications:"éç¥",notificationSummary:"å®¡æ¹ {{approvals}} · æ¶ä»¶ç®± {{inbox}}",notifyApproval:"审æ¹",notifyInbox:"æ¶ä»¶ç®±",openApp:"æå¼",keepInDock:"ä¿çå¨ Dock",removeFromDock:"ä» Dock ç§»é¤",refreshDesktop:"å·æ°æ¡é¢",appMarket:"åºç¨å¸åº",appMarketRefresh:"å·æ°",appMarketSearch:"æç´¢åºç¨...",appMarketEmpty:"ææ åºç¨",appMarketUnavailable:"åºç¨å¸åºææ¶ä¸å¯ç¨ï¼è¯·ç¨ååè¯",appMarketInstall:"å®è£
",appMarketDetails:"详æ
",appMarketDeveloper:"å¼åè
",appMarketDownloads:"ä¸è½½é",appInstalled:"åºç¨å®è£
æå",a
150ppInstallFailed:"åºç¨å®è£
失败",appCompatibilityWarningTitle:"åºç¨å
¼å®¹æ§è¦å",appCompatibilityWarningContent:"该åºç¨æ 注éé
QwenPaw {{labels}}ï¼èæ¨å½åç QwenPaw çæ¬ä¸º {{version}}ãå®è£
åå¯è½åºç°éè¯¯ï¼æ¯å¦ç»§ç»ï¼",appCompatibilityWarningConfirm:"ä»ç¶å®è£
",appCompatibilityUnverified:"ææ æ³ç¡®è®¤è¯¥åºç¨æ¯å¦å
¼å®¹å½å QwenPaw çæ¬ã",restoreAll:"æ¢å¤å
¨é¨",returnToConsole:"è¿åæ§å¶å°",desktopMode:"æ¡é¢æ¨¡å¼",qwenpawMenu:"QwenPaw èå",restoredAll:"å·²æ¢å¤å
¨é¨åºç¨",sortBy:"æåæ¹å¼",sortFree:"èªç±æå",sortName:"æåç§°",sortType:"æç±»å",systemSettings:"ç³»ç»è®¾ç½®",uninstall:"å¸è½½",uninstallConfirmTitle:"å¸è½½åºç¨ï¼",uninstallFailed:"å¸è½½å¤±è´¥",uninstalledApp:"å·²å¸è½½",update:"æ´æ°",wallpaper:"å£çº¸",windows:"个çªå£"},mR={newVersion:"åç°æ°çæ¬ v{{version}}ï¼ç¹å»åå¾å级",updateModal:{title:"åç°æ°çæ¬ v{{version}}",viewReleases:"æ¥ç Releases",installDesktopUpdate:"ç°å¨æ´æ°",desktopInstallHint:"QwenPaw æ¡é¢ç«¯ {{version}} å·²åå¤å¥½å®è£
ï¼æ´æ°ååºç¨å°èªå¨éå¯ã",checking:"æ£æ¥æ´æ°ä¸â¦",checkingHint:"æ£å¨ç¡®è®¤ææ°çæ¬",downloading:"æ£å¨ä¸è½½æ´æ°",downloadingTo:"æ£å¨æ´æ°å°çæ¬ {{version}}",downloadProgress:"{{done}} / {{total}} · {{rate}}",installing:"æ£å¨å®è£
æ´æ°",willRestart:"åºç¨å°å¨å®è£
宿åèªå¨éå¯,请ç¨åâ¦",stepPrepare:"åå¤",stepDownloading:"ä¸è½½",stepInstalling:"å®è£
",failedTitle:"æ´æ°å¤±è´¥",back:"è¿å",retry:"éè¯",errors:{network:"è¿æ¥ä¸ä¸æ´æ°æå¡å¨ï¼è¯·æ£æ¥ç½ç»åéè¯ã",signature:"æ´æ°æä»¶ç¾åæ ¡éªå¤±è´¥ï¼è¯·éæ°å°è¯ä¸è½½ã",appLocation:"QwenPaw æ£å¨ä» macOS åªè¯»ä½ç½®è¿è¡ã请å
å° QwenPaw.app ç§»å¨å°âåºç¨ç¨åºâæä»¶å¤¹ï¼ä»é£éå¯å¨ååéè¯æ´æ°ã",other:"æ´æ°å¤±è´¥ã"},updateLater:"åå°ä¸è½½",backgroundDownloading:"æ£å¨åå°ä¸è½½æ´æ°â¦",readyToInstall:"æ´æ°å·²å°±ç»ª",readyToInstallHint:"v{{version}} æ´æ°å·²ä¸è½½ï¼éå¯åå°å®è£
å¹¶å¯å¨æ°çæ¬ã",restartNow:"ç°å¨æ´æ°",backgroundFailed:"åå°ä¸è½½å¤±è´¥"},settings:{language:"è¯è¨",theme:"主é¢",mode:"模å¼",desktopMode:"æ¡é¢æ¨¡å¼"},simpleMode:"ç²¾ç®æ¨¡å¼",fullMode:"宿´æ¨¡å¼",toggleAgentNavigation:"å±å¼ææ¶èµ·æºè½ä½å¯¼èª"},hR={title:"è°è¯",desc:"æ¥çåç«¯å®æ¤è¿ç¨æ¥å¿æä»¶ï¼ä¾¿äºææ¥é®é¢ã卿¤é¡µé¢æå¼æ¶æ¥å¿ä¼èªå¨å·æ°ã",level:{all:"å
¨é¨"},backend:{title:"å端æ¥å¿",autoRefresh:"èªå¨å·æ°",newestFirst:"ææ°å¨å",updatedAt:"æ´æ°æ¶é´",path:"æ¥å¿æä»¶",notFound:"ææªæ¾å°å端æ¥å¿æä»¶ã",placeholder:"å端æ¥å¿ä¼æ¾ç¤ºå¨è¿éã",loadFailed:"å è½½å端æ¥å¿å¤±è´¥",searchPlaceholder:"æç´¢å端æ¥å¿..."},actions:{refreshBackend:"å·æ°å端æ¥å¿",refreshSuccess:"æ¥å¿å·²å·æ°",copyBackend:"å¤å¶å端æ¥å¿"}},gR={title:"æ¶ä»¶ç®±",tabApprovals:"审æ¹",tabPushMessages:"æ¨éæ¶æ¯",tabHarvests:"AI æ¶è·",summaryApprovals:"å®¡æ¹æ°",summaryPushUnread:"æªè¯»æ¨é",summaryHarvests:"æ¶è·ä»»å¡",from:"æ¥èªï¼",heartbeatSuccess:"Heartbeat æ§è¡æå",heartbeatTimeout:"Heartbeat æ§è¡è¶
æ¶",heartbeatCancelled:"Heartbeat 已忶",heartbeatFailed:"Heartbeat æ§è¡å¤±è´¥",skillAutoSyncTitle:"æè½èªå¨åæ¥",skillBuiltinAutoUpdateTitle:"å
ç½®æè½èªå¨æ´æ°",skillPoolSender:"æè½æ± ",skillAutoSynced:"{{skill}}æè½åçä¿®æ¹ï¼èªå¨åæ¥è³ä»¥ä¸æºè½ä½ï¼{{agents}}",skillAutoSyncFailed:"{{skill}}æè½èªå¨åæ¥å¤±è´¥ï¼ç®æ æºè½ä½ï¼{{agents}}",skillBuiltinUpdated:"å
ç½®æè½â{{skill}}âå·²å¨æè½æ± æ´æ°ï¼{{from}} â {{to}}",skillBuiltinUpdateFailed:"å
ç½®æè½â{{skill}}âæªè½å¨æè½æ± å®ææ´æ°",skillBuiltinSynced:"â{{skill}}â已忥è³ï¼{{agents}}",skillBuiltinSyncFailed:"â{{skill}}âæªè½åæ¥è³ï¼{{agents}}",requestedBy:"è¯·æ±æ¹",markRead:"æ 记已读",markAllRead:"å
¨é¨æ 记已读",markAllReadNoUnread:"å½åæ²¡ææªè¯»æ¶æ¯",markAllReadSuccess:"å·²å° {{count}} æ¡æ¶æ¯æ 记为已读",selectAllCurrentPage:"å
¨éå½å页",selectedItems:"å·²é {{count}} 项",batchDeleteButton:"æ¹éå é¤",batchOperation:"æ¹éæä½",exitBatch:"éåºæ¹é",batchDeleteConfirm:"ç¡®å®å é¤éä¸ç {{count}} æ¡æ¨éæ¶æ¯åï¼",batchDeleteSuccess:"å·²å é¤ {{count}} æ¡æ¨éæ¶æ¯",pushCronHeader:"宿¶ä»»å¡ï¼{{name}}",viewDetails:"æ¥ç详æ
",deleteMessageConfirm:"ç¡®å®å é¤è¿æ¡æ¨éæ¶æ¯åï¼",viewAll:"æ¥çå
¨é¨",read:"已读",approve:"åæ",reject:"æç»",ready:"已就绪",harvestNow:"ç«å³æ¶è·",createHarvest:"å建 Harvest",createFirstHarvest:"å建第ä¸ä¸ª Harvest",createSuccess:"Harvest å建æå",emptyApprovals:"ææ å¾
审æ¹é¡¹",emptyPush:"ææ æ¨éæ¶æ¯",wobbleEnable:"å¼å¯å®¡æ¹é卿é",wobbleDisable:"å
³é审æ¹é卿é",emptyHarvests:"ææ Harvest ä»»å¡",statusReadyToHarvest:"å¯ç«å³æ¶è·",statusGrowing:"çæä¸",harvestedTimes:"å·²çæ {{count}} 次",harvestSuccessRate:"æåç {{rate}}%",messageDetailComingSoon:"æ¶æ¯è¯¦æ
åè½å¼åä¸",harvestSettingsComingSoon:"Harvest 设置åè½å¼åä¸",messageDetailTitle:"æ§è¡è¯¦æ
",detailCronTitle:"宿¶ä»»å¡ï¼{{name}}",detailHeartbeatTitle:"å¿è·³",messageNotFound:"æªæ¾å°è¯¥æ¶æ¯",detailTaskName:"ä»»å¡åç§°",detailTaskId:"ä»»å¡ ID",detailStatus:"æ§è¡ç¶æ",detailSeverity:"严éç¨åº¦",detailAgent:"æå± Agent",detailSource:"æ¥æº",detailSourceCronJob:"宿¶ä»»å¡",detailSourceHeartbeat:"å¿è·³ä»»å¡",detailTrigger:"è§¦åæ¹å¼",detailDuration:"èæ¶",detailExecutedAt:"æ§è¡æ¶é´",detailReceivedAt:"æ¶ä»¶æ¶é´",detailRunId:"è¿è¡ ID",detailContent:"æ§è¡è¾åº",detailPayload:"éå ä¿¡æ¯",detailExecutionTrace:"æ§è¡è½¨è¿¹",detailTraceEmpty:"ææ æ§è¡è½¨è¿¹",mailDetailSender:"å件人",mailDetailSubject:"主é¢",mailDetailDate:"é®ä»¶æ¶é´",mailDetailBody:"æ£æé¢è§",mailDetailProcess:"å¤çè¿ç¨",filterByAgent:"æ Agent çé",filterBySourceType:"ææ¥æºçé",sourceTypeCron:"宿¶ä»»å¡",sourceTypeHeartbeat:"å¿è·³",sourceTypeMemory:"è®°å¿",sourceTypeMail:"é®ä»¶",mailAccessControl:"é®ä»¶ç®¡æ§",pen
150dingSenders:"å¾
审æ¹å件人",senderLists:"å件人åå",addSender:"æ·»å å件人",domainWildcardHint:"æ¯æååéé
ï¼å¦ *@example.com",invalidAddress:"é®ç®±å°åæ ¼å¼ä¸æ£ç¡®ï¼è¯·è¾å
¥å¦ [email protected] æ *@domain.com çå°å",whitelist:"ç½åå",blacklist:"é»åå",approveSender:"éè¿",deny:"æé»",dismiss:"忽ç¥",batchApprove:"æ¹ééè¿",batchDeny:"æ¹éæé»",batchDismiss:"æ¹é忽ç¥",batchRemove:"æ¹éç§»é¤",confirmApprove:"确认æ¹åéä¸çå件人ï¼",confirmDeny:"确认æç»éä¸çå件人ï¼",confirmDismiss:"确认忽ç¥éä¸çå件人ï¼",confirmRemove:"确认移é¤ï¼",removeSuccess:"ç§»é¤æå",addedToAllAgents:"已添å 并忥尿æAgent",senderAddress:"å件人å°å",displayName:"å件人åç§°",emailSubject:"é®ä»¶ä¸»é¢",bodyPreview:"æ£æé¢è§",selectAgent:"éæ© Agent",allAgents:"å
¨é¨ Agent",time:"æ¶é´",remark:"夿³¨",actions:"æä½",optional:"ï¼å¯éï¼",required:"ï¼å¿
å¡«ï¼"},fR={nav:"æ£æ¥ç¹",title:"ç¶ææ£æ¥ç¹",auto:"èªå¨æ£æ¥ç¹",autoEnabled:"å·²å¼å¯èªå¨æ£æ¥ç¹",autoDisabled:"å·²å
³éèªå¨æ£æ¥ç¹",refresh:"å·æ°æ£æ¥ç¹",snapshot:"å建快ç
§",snapshotCreated:"å¿«ç
§å·²å建",graph:"å¾è°±",checkpoint:"æ£æ¥ç¹",type:"ç±»å",commit:"æäº¤",createdAt:"å建æ¶é´",session:"ä¼è¯",channel:"é¢é",parent:"ç¶èç¹",details:"æ£æ¥ç¹è¯¦æ
",search:"æç´¢ Queryãåç§°ãä¼è¯æ SHA",allTypes:"å
¨é¨ç±»å",allSessions:"å
¨é¨ä¼è¯",showingLatest:"æ¾ç¤ºæè¿ {{count}} æ¡",loadFailed:"æ æ³å è½½æ£æ¥ç¹",retry:"éè¯",more:"æ´å¤æä½",noMatches:"没æç¬¦åçéæ¡ä»¶çæ£æ¥ç¹ã",empty:"ææ ç¶ææ£æ¥ç¹ãå建åï¼çæ¬åå²ä¼æ¾ç¤ºå¨è¿éã",kind:{auto:"èªå¨",snapshot:"å¿«ç
§",safety:"å®å
¨å¿«ç
§",commit:"æäº¤"},summary:{total:"ä¸ªæ£æ¥ç¹"},snapshotDialog:{title:"å建快ç
§",session:"ä¼è¯",name:"åç§°",placeholder:"å¯éçå¿«ç
§åç§°"},gc:{settingsAction:"èªå¨æ¸
ç设置",settingsTitle:"èªå¨æ¸
ç设置",keepCount:"èªå¨æ£æ¥ç¹ä¿çæ°é",keepDays:"èªå¨æ£æ¥ç¹ä¿ç天æ°",preRestoreDays:"æ¢å¤åå¿«ç
§ä¿ç天æ°",settingsSaved:"èªå¨æ¸
ç设置已ä¿å",thoroughAction:"å½»åºåç¼©æ£æ¥ç¹",thoroughTitle:"å½»åºåç¼©æ£æ¥ç¹ï¼",thoroughDescription:"å°å¿½ç¥èªå¨æ£æ¥ç¹çä¿ççç¥ï¼æ¸
ç {{count}} ä¸ªæ£æ¥ç¹ï¼å¹¶ä¿çåä¼è¯ HEADã",thoroughConfirm:"å½»åºå缩",thoroughSuccess:"å½»åºå缩已å é¤ {{count}} ä¸ªæ£æ¥ç¹",action:"æ¸
çæ£æ¥ç¹",title:"æä¿ççç¥æ¸
çæ£æ¥ç¹ï¼",description:"å°æå½åä¿ççç¥æ¸
ç {{count}} ä¸ªè¿ææ£æ¥ç¹ï¼å¹¶ä¿çåä¼è¯ HEADã",confirm:"æ¸
ç",success:"å·²æ¸
ç {{count}} ä¸ªæ£æ¥ç¹"},reset:{action:"éç½®æ£æ¥ç¹æ°æ®",title:"éç½®å
¨é¨æ£æ¥ç¹æ°æ®ï¼",description:"è¿ä¼æ°¸ä¹
å é¤æææ£æ¥ç¹ï¼å¹¶å
³éèªå¨æ£æ¥ç¹ã",confirm:"éç½®",success:"æ£æ¥ç¹æ°æ®å·²éç½®"},restore:{action:"æ¢å¤",title:"æ¢å¤æ£æ¥ç¹",preview:"é¢è§æ¢å¤",confirm:"æ¢å¤æ£æ¥ç¹",conversation:"ä¼è¯å
容",memory:"è®°å¿",files:"å·¥ä½åºæä»¶",refreshWarning:"ä¼è¯å
容å°åçååãæ¢å¤å®æåï¼è¯·å·æ°ä¼è¯ä»¥è½½å
¥ææ°ç¶æã",selectedCount:"已鿩 {{count}} 个æä»¶",selectAll:"éæ©å
¨é¨åæ´æä»¶",delete:"å é¤",restore:"æ¢å¤",noFileChanges:"æ 鿢å¤å·¥ä½åºæä»¶ã",success:"æ£æ¥ç¹æ¢å¤æåï¼è¯·å·æ°ä¼è¯ä»¥è½½å
¥æ¢å¤åçç¶æã"}},bR={title:"æä»¶",workspacePath:"å·¥ä½åºè·¯å¾ï¼",noFiles:"没ææä»¶",coreFiles:"æ ¸å¿æä»¶",coreFilesDesc:"å¼å¯¼è§è²ã身份åå·¥å
·æåã",uploadTooltip:"ä»
æ¯æ ZIP æä»¶",uploadTooltipWithLimit:"ä»
æ¯æ ZIP æä»¶ï¼æå¤§ {{limit}}MB",selectFile:"éæ©æä»¶è¿è¡ç¼è¾",fileContent:"æä»¶å
容...",uploadSuccess:"æä»¶ä¸ä¼ æå",uploadFailed:"æä»¶ä¸ä¼ 失败",downloadPreparing:"æ£å¨åå¤å·¥ä½åºä¸è½½...",downloadSuccess:"å·¥ä½åºä¸è½½æå",downloadFailed:"å·¥ä½åºä¸è½½å¤±è´¥",zipOnly:"ä»
æ¯æä¸ä¼ .zip æä»¶",fileSizeExceeded:"æä»¶å¤§å°è¶
è¿ {{limit}}MB éå¶ãå½åæä»¶ï¼{{size}}MB",systemPromptToggleTooltip:"å¯ç¨/ç¦ç¨æ¤æä»¶å è½½å°ç³»ç»æç¤ºè¯",memoryFileWarning:"MEMORY.md ä¸è¬æ¯ç± agent 主å¨è°ç¨å·¥å
·æéæ¥è¯¢åå è½½ï¼æ¾å° system prompt éé¢å¯è½ä¼å¯¼è´ä¸ä¸æè¿é¿",configUpdated:"ç³»ç»æç¤ºè¯é
ç½®å·²æ´æ°",configUpdateFailed:"æ´æ°ç³»ç»æç¤ºè¯é
置失败",attribution:"å·¥ä½åºè®¾è®¡é¨åçµææºèª OpenClaw 项ç®ï¼å¨æ¤è¡¨ç¤ºæè°¢ ð¾",saveSuccess:"ä¿åæå",saveFailed:"ä¿å失败",saving:"ä¿åä¸...",saved:"å·²ä¿å",unsaved:"æªä¿å"},kR={parent:"设置",agents:"æºè½ä½",management:"æºè½ä½ç®¡ç",pageDescription:"å建ãé
ç½®å管çå¤ä¸ª AI æºè½ä½ï¼æ¯æèªå®ä¹å·¥ä½ç©ºé´å身份ã",name:"åç§°",id:"ID",description:"æè¿°",workspace:"å·¥ä½åºè·¯å¾",create:"å建æºè½ä½",createTitle:"åå»ºæ°æºè½ä½",createSuccess:"æºè½ä½å建æå",createFailed:"æºè½ä½å建失败",edit:"ç¼è¾",editTitle:"ç¼è¾æºè½ä½ - {{name}}",updateSuccess:"æºè½ä½æ´æ°æå",updateFailed:"æºè½ä½æ´æ°å¤±è´¥",delete:"å é¤",deleteConfirm:"确认å 餿ºè½ä½",deleteConfirmDesc:"å é¤åæºè½ä½å°ä¸å¯ç¨ï¼ä½å·¥ä½åºæä»¶ä¼ä¿ç",deleteSuccess:"æºè½ä½å 餿å",deleteFailed:"æºè½ä½å é¤å¤±è´¥",selectAgent:"éæ©æºè½ä½",defaultDisplayName:"é»è®¤æºè½ä½",currentWorkspace:"å½åæºè½ä½",switchSuccess:"æºè½ä½åæ¢æå",switchFailed:"æºè½ä½åæ¢å¤±è´¥",loadFailed:"å è½½æºè½ä½å表失败",loadConfigFailed:"å è½½æºè½ä½é
置失败",saveFailed:"ä¿åæºè½ä½å¤±è´¥",idRequired:"请è¾å
¥æºè½ä½ID",idLabel:"æºè½ä½ IDï¼å¯éï¼",idHelp:"ç空åèªå¨çæãä»
å
è®¸åæ¯ãæ°åãè¿å符åä¸å线ã",idPattern:"IDåªè½å
å«åæ¯ãæ°åãä¸å线åè¿å符",idPlaceholder:"ä¾
150å¦ï¼my-agent",nameRequired:"请è¾å
¥æºè½ä½åç§°",namePlaceholder:"ä¾å¦ï¼æçæºè½ä½",descriptionPlaceholder:"ç®è¦æè¿°è¿ä¸ªæºè½ä½çç¨é...",workspaceHelp:"ç空å°èªå¨çæå¨ ~/.qwenpaw/workspaces/<id> ç®å½",dragHandleTooltip:"ææ½è°æ´æºè½ä½é¡ºåº",reorderSuccess:"æºè½ä½é¡ºåºå·²ä¿å",reorderFailed:"ä¿åæºè½ä½é¡ºåºå¤±è´¥",defaultNotEditable:"é»è®¤æºè½ä½ä¸å
许ç¼è¾",defaultNotDeletable:"é»è®¤æºè½ä½ä¸å
许å é¤",disable:"ç¦ç¨",enable:"å¯ç¨",disabled:"å·²ç¦ç¨",disableConfirm:"确认ç¦ç¨æºè½ä½",disableConfirmDesc:"ç¦ç¨å该æºè½ä½ä¸ä¼å¯å¨è¿è¡å®ä¾ï¼ä½ä»å¯å¨åè¡¨ä¸æ¥ç",enableConfirm:"确认å¯ç¨æºè½ä½",enableConfirmDesc:"å¯ç¨å该æºè½ä½å°å¯ä»¥æ£å¸¸åæ¢ä½¿ç¨",disableSuccess:"æºè½ä½å·²ç¦ç¨",enableSuccess:"æºè½ä½å·²å¯ç¨",toggleFailed:"忢æºè½ä½ç¶æå¤±è´¥",enableAgent:"å¯ç¨ {{name}}",disableAgent:"ç¦ç¨ {{name}}",disabledAgents:"å·²ç¦ç¨ ({{count}})",pinnedAgents:"å·²åºå®",otherAgents:"å
¶ä»æºè½ä½",pinned:"å·²åºå®",defaultPinned:"é»è®¤æºè½ä½å§ç»åºå®",longPressToPin:"é¿æåºå®",longPressToUnpin:"é¿æåæ¶åºå®",pinAgent:"åºå®æºè½ä½",unpinAgent:"åæ¶åºå®æºè½ä½",pinSuccess:"æºè½ä½å·²åºå®",unpinSuccess:"æºè½ä½å·²åæ¶åºå®",pinFailed:"æ´æ°åºå®ç¶æå¤±è´¥",status:{disabled:"å·²ç¦ç¨",pending:"çå¾
å¯å¨",starting:"å¯å¨ä¸",running:"è¿è¡ä¸",failed:"å¯å¨å¤±è´¥",waitUntilStarted:"å¯å¨å®æå坿ä½"},defaultNotDisablable:"é»è®¤æºè½ä½ä¸å
许ç¦ç¨",currentAgentDeleted:"å½åæºè½ä½å·²è¢«å é¤ï¼å·²èªå¨åæ¢å°é»è®¤æºè½ä½",currentAgentDisabled:"å½åæºè½ä½å·²è¢«ç¦ç¨ï¼å·²èªå¨åæ¢å°é»è®¤æºè½ä½",switchedToDefault:"å·²èªå¨åæ¢å°é»è®¤æºè½ä½",cannotSwitchToDisabled:"该æºè½ä½å·²è¢«ç¦ç¨ï¼è¯·å
å¨ç®¡ç页é¢å¯ç¨",initialSkills:"åå§æè½",initialSkillsHelp:"ä»æè½æ± éæ©è¦æ·»å çæè½ãä¹åå¯ä»¥éæ¶æ·»å æç§»é¤ã",selectAll:"å
¨é",selectBuiltin:"å
ç½®",selectNone:"æ¸
空",noPoolSkills:"æè½æ± 䏿æ å¯ç¨æè½",addSkillsToAgent:"æ·»å æè½",backend:{column:"å端",eyebrow:"æºè½ä½æ¶æ",typeTitle:"éæ©æºè½ä½ç工使¹å¼",typeDescription:"æºè½ä½ç±»åå³å®å®å¨ ChatãCoding åææ Channel ä¸çè¿è¡æ¹å¼ã",nativeTitle:"QwenPaw åçæºè½ä½",nativeBadge:"åç",nativeDescription:"使ç¨å·²é
ç½®ç LLMãSkillsãå·¥å
·ãè®°å¿å QwenPaw Runtimeã",thirdPartyTitle:"ç¬¬ä¸æ¹æºè½ä½",thirdPartyBadge:"ç¬¬ä¸æ¹",thirdPartyDescription:"使ç¨å·²ææçå¤é¨ Agent Runtimeï¼ä¸ä¾èµ QwenPaw 模åã",providerTitle:"éæ©ç¬¬ä¸æ¹æºè½ä½",providerDescription:"ææå¨æ¬æºå
±äº«ï¼é¡¹ç®ä¸ä¼è¯ä»ææºè½ä½é离ã",codexHint:"ChatGPT OAuth · æºè½ä½å·¥ä½åº",qoderHint:"Qoder è´¦æ·æ PAT · æºè½ä½å·¥ä½åº",account:"Codex è´¦æ·",qoderAccount:"Qoder è´¦æ·",binary:"Codex 坿§è¡æä»¶",binaryHelp:"ç空å°ä¼å
ä½¿ç¨ Python SDK èªå¸¦ç Codex CLIï¼ä¹ä¼èªå¨æ£æµç¬ç«å®è£
ãæå¨å¡«åæ¶è¯·è¾å
¥ macOS/Linux ä¸ç codex æ Windows ä¸ç codex.exe 宿´è·¯å¾ã䏿¯æ ChatGPT App æç¼è¾å¨æ©å±å
ç½®çäºè¿å¶ãQwenPaw ä¹ä¼è¯»å CODEX_BINARY åå端è¿ç¨ç PATHã",binaryPlaceholder:"èªå¨æ£æµï¼æç²è´´ codex 坿§è¡æä»¶è·¯å¾",qoderBinary:"Qoder 坿§è¡æä»¶",qoderBinaryHelp:"ç空å°ä¼å
ä½¿ç¨ Python SDK èªå¸¦ç qodercliï¼ä¹ä¼èªå¨æ£æµå·²æå®è£
ãæå¨å¡«åæ¶è¯·è¾å
¥å¯æ§è¡æä»¶æ¬èº«ç宿´è·¯å¾ï¼macOS/Linux ä¸ä¸º qodercliï¼Windows ä¸ä¸º qodercli.exeãQwenPaw ä¹ä¼è¯»å QODERCLI_PATH åå端è¿ç¨ç PATHã",qoderBinaryPlaceholder:"èªå¨æ£æµï¼æç²è´´ qodercli 坿§è¡æä»¶è·¯å¾",detect:"éæ°æ£æµ",detectedBinary:"å·²æ£æµå° Codex",qoderDetectedBinary:"å·²æ£æµå° Qoder",apiKeyLoginHint:"ä¹å¯ä»¥å¨ç»ç«¯è¿è¡ codex login --with-api-key 宿 API Key 认è¯ã",qoderAuthHint:"ç¹å»è¿æ¥ä¼æå¼ Qoder æµè§å¨ç»å½ï¼ä¹å¯ä»¥å¨ç»ç«¯è¿è¡ qodercli loginï¼æå¨å¯å¨å端å设置 QODER_PERSONAL_ACCESS_TOKENã",qoderConnect:"è¿æ¥ Qoder",model:"æºè½ä½æ¨¡å",modelDefault:"ä½¿ç¨æºè½ä½é»è®¤æ¨¡å",defaultBadge:"é»è®¤",reasoningEffort:"æ¨ç强度",reasoningDefault:"ä½¿ç¨æ¨¡åé»è®¤å¼ºåº¦",codexNotFound:"æªæ£æµå° Codex runtimeã请å®è£
qwenpaw[codex]ï¼ææä¾ç¬ç« Codex CLIã",qoderNotFound:"æªæ£æµå° Qoder runtimeã请å®è£
qwenpaw[qoder]ï¼ææä¾ qodercliã",chatSettingsHint:"模åãæ¨çå¼ºåº¦ä¸æ§è¡æéç»ä¸å¨ Chat å·¥å
·æ ä¸éæ©ã",capabilityTitle:"Qwe
150nPaw è½å",inheritedSkills:"æè½",inheritedMcp:"MCP æå¡",runtimeInherited:"è¿è¡æ¶ç»§æ¿ · æ°ä¼è¯çæ",notSupported:"å½åæå¡å䏿¯æ",policyCompatibility:"MCP çç¥",toolAllowlistSupported:"æ¯æå·¥å
·ç½åå",policyLimited:"åæå¡åè½åéå¶",chatModelHint:"æºè½ä½çº§è®¾ç½® · ä¸ä¸è½®çæ",appliesNextTurn:"ä¸ä¸è½®å¯¹è¯çæ",approvalMode:"æ§è¡æé",approvalPresets:{ask:{name:"åæ´å询é®",description:"å
许修æ¹å·¥ä½åºï¼æ§è¡è¶ææä½åéè¦ç¡®è®¤ã"},"read-only":{name:"åªè¯»",description:"ä»
æ£æ¥æä»¶ï¼ä¸å
许修æ¹ã"},workspace:{name:"å·¥ä½åºè®¿é®",description:"å
è®¸ç´æ¥ä¿®æ¹å·¥ä½åºï¼æ é鿬¡ç¡®è®¤ã"},"accept-edits":{name:"èªå¨æ¥åç¼è¾",description:"å
许æä»¶ç¼è¾ï¼åæ¶ä¿çå
¶ä»å®å
¨ç¡®è®¤ã"},plan:{name:"ä»
è§å",description:"åªè¿è¡åæåè§åï¼ä¸ä¿®æ¹æä»¶ã"},auto:{name:"èªå¨å¤æ",description:"ç± Qoder 夿åªäºå®å
¨æä½å¯ä»¥ç´æ¥æ§è¡ã"},"full-access":{name:"å®å
¨è®¿é®",description:"å
许ä¸åéçæ¬å°æ§è¡ï¼ä¸è¿è¡ç¡®è®¤ã"}}},model:"模å",modelHelp:"ä¸ºæ¤æºè½ä½æå®ç¹å®ç LLM 模åãç空å使ç¨å
¨å±é»è®¤æ¨¡åã",modelPlaceholder:"使ç¨å
¨å±é»è®¤",noConfiguredModels:"ææ å·²é
ç½®çæ¨¡å",modelColumn:"模å",copyTooltip:"å¤å¶æºè½ä½é
ç½®",copyDefaultTooltip:"以é»è®¤æºè½ä½é
置为模æ¿è¿è¡å¤å¶",copyTitle:"å¤å¶æºè½ä½é
ç½®",copyNameLabel:"æ°æºè½ä½åç§°",copyOptionsLabel:"å¤å¶å
容",copyOptionAgentJson:"agent.jsonï¼å¿
éï¼",copyOptionAgentJsonHint:"å§ç»å¤å¶è§£æåçæºé
ç½®ï¼å¹¶éç½® IDãåç§°ãworkspace ä¸ channelsï¼ä¸æ¯åæ ·å¤å¶ç£çä¸ç agent.jsonã",copyOptionMdFiles:"AGENTS / SOUL / PROFILE / HEARTBEAT / BOOTSTRAP.md",copyOptionSkills:"skills/ + manifest",copyOptionJobs:"jobs.json",copyOptionJobsHint:"ä»
å¤å¶ä»»å¡å®ä¹ï¼ä¸å«åå²ï¼æ°æºè½ä½å建åä¼ç«å³æè®¡åæ§è
150¡ã",copySuccess:"æºè½ä½é
ç½®å¤å¶æå",copyFailed:"æºè½ä½é
ç½®å¤å¶å¤±è´¥",mailManagement:"é®ç®±ç®¡ç",mailModeNone:"ä¸éè¦é®ç®±ç®¡ç",mailModePersonal:"管çä½ ç个人é®ç®±",mailModeDedicated:"为æºè½ä½é
å¤ä¸å±é®ç®±",mailName:"é®ç®±å",mailNameOptional:"é®ç®±å½åï¼å¯éï¼",mailNameDedicated:"é®ç®±åï¼æ³¨ååå¯éï¼æ³¨ååå¿
å¡«ï¼",mailDomain:"é®ç®±åç¼",mailPassword:"å¯ç ",mailPhone:"ææºå·",mailAuthCode:"16 使æç ",mailAuthCodeOptional:"16 使æç /åºç¨ä¸ç¨å¯ç ï¼å¯éï¼",mailCredentialOptional:"é®ç®±å¯ç ï¼å¯éï¼",mailNameRequired:"请填åé®ç®±å",mailPasswordRequired:"请填åå¯ç ",mailPhoneRequired:"è¯·å¡«åææºå·",mailAuthCodeRequired:"è¯·å¡«åææç ",mailAuthCodeLength:"ææç å¿
须为 16 ä½",mailDomainRequired:"è¯·éæ©é®ç®±åç¼",mailDomainInvalid:"请è¾å
¥åæ³çé®ç®±ååï¼å¦ mycompany.com",mailDomainPlaceholder:"éæ©æè¾å
¥é®ç®±åå",mailProvider:"é®ç®±æå¡å",mailProviderRequired:"è¯·éæ©é®ç®±æå¡å",mailProviderPlaceholder:"éæ©è¯¥ååææç®¡çæå¡å",mailProviderTencentExmail:"è
¾è®¯ä¼ä¸é®",mailProviderAliyunQiye
150:"é¿éä¼ä¸é®",mailProviderNeteaseQiye:"ç½æä¼ä¸é®",mailCredentialLabel:"åæ®",mailCredentialRequired:"请填ååæ®",mailCredentialHintAuthCode:"å¡«åå¨é®ç®±è®¾ç½®ä¸çæç 16 使æç ",mailCredentialHintGmail:"å¡«å Gmail åºç¨ä¸ç¨å¯ç ï¼éå
å¼å¯ä¸¤æ¥éªè¯ï¼",mailCredentialHintAliyun:"å¡«åé®ç®±ç»å½å¯ç ",mailCredentialHintEnterprise:"å¡«å客æ·ç«¯ä¸ç¨å¯ç æé®ç®±ç»å½å¯ç ",mailDedicatedCredentialHint:"{{credentialHint}}ãæ³¨ååå¯ä»¥çç©ºï¼æ³¨å宿å卿¤å¡«åå¹¶ä¿åï¼å³å¯å®æé®ç®±ç»å®ã",mailPushTitle:"æ°é®ä»¶èªå¨ååº",mailAccessControl:"é®ä»¶è®¿é®æ§å¶",mailAccessControlTip:"å¼å¯åï¼æªç¥å件人çé®ä»¶é审æ¹åæä¼è¢«å¤ç",mailPushModeOff:"å
³é",mailPushModeRulesOnly:"ä»
è§å",mailPushModeRulesThenAgent:"è§å + æéå¤é",mailPushModeAgentAll:"æ¯å°å¤é",mailPushModeOffDesc:"ä¸å¯¹æ°é®ä»¶åä»»ä½èªå¨å¤ç",mailPushModeRulesOnlyDesc:"ä»
æä¸æ¹è§åèªå¨å¤çæ°é®ä»¶ï¼ä¸å¤éæºè½ä½",mailPushModeRulesThenAgentDesc:"å
æè§åå¤çï¼å½ä¸å¤éå¨ä½æ¶æå¤éæºè½ä½",mailPushModeAgentAllDesc:"æ¯å°æ°é®ä»¶é½å¤éæºè½ä½ï¼ç±æºè½ä½èªä¸»å³çå¦ä½å¤ç",mailPushModeLegacySuffix:"ï¼æ§çï¼",mailPushFieldFrom:"å件人",mailPushFieldSubject:"主é¢",mailPushFieldContent:"å
容",mailPushFieldKeyword:"å
³é®è¯",mailPushActionMarkRead:"æ 为已读",mailPushActionMove:"ç§»å¨å°æä»¶å¤¹",mailPushActionNotify:"ä»
éç¥",mailPushActionWakeAgent:"å¤éæºè½ä½",mailPushContainsPlaceholder:"å
嫿æ¬",mailPushParamMovePlaceholder:"ç®æ æä»¶å¤¹",mailPushParamWakePlaceholder:"éå æä»¤ï¼å¯éï¼",mailPushParamRequired:"请填åç®æ æä»¶å¤¹",mailPushAddRule:"æ·»å è§å",mailPushWakeOptionInvoice:"å票/è´¦åç±»é®ä»¶ä¸è½½é件并彿¡£",mailPushWakeOptionReply:"询é®ç±»é®ä»¶ç¤¼è²åå¤",mailPushWakeOptionOtp:"æåéªè¯ç å¹¶éç¥æ",mailPushWakeOptionSummary:"æ»ç»é®ä»¶è¦ç¹åå
¥æ¶ä»¶ç®±"},yR={title:"ACP",loading:"å è½½ ACP é
ç½®ä¸...",builtin:"å
ç½®",custom:"èªå®ä¹",create:"æ°å¢ Custom Agent",createTitle:"æ°å¢ ACP Agent",createSuccess:"ACP Agent å·²å建",editTitle:"ç¼è¾ ACP é
ç½®",agentKey:"Agent Key",agentKeyRequired:"请è¾å
¥ Agent Key",agentKeyInvalid:"Agent Key åªè½å
å«åæ¯ãæ°åãä¸å线åè¿å符",agentKeyExists:"该 Agent Key å·²åå¨",enabled:"å¯ç¨",command:"å½ä»¤",commandRequired:"请è¾å
¥å½ä»¤",args:"åæ°",argsHelp:"æ¯è¡ä¸ä¸ªåæ°",env:"ç¯å¢åé",envHelp:"æ¯è¡ä½¿ç¨ KEY=VALUE æ ¼å¼",envInvalidLine:"æ æç¯å¢åéæ ¼å¼ï¼{{line}}",trusted:"å¯ä¿¡æ§è¡",toolParseMode:"å·¥å
·è§£ææ¨¡å¼",toolParseModeRequired:"è¯·éæ©å·¥å
·è§£ææ¨¡å¼",stdioBufferLimit:"Stdio ç¼å²ä¸é",stdioBufferLimitHelp:"ACP åè¿ç¨ stdio åè¡è¯»åç¼å²çæå¤§åèæ°ã",stdioBufferLimitRequired:"请è¾å
¥ stdio ç¼å²ä¸é",stdioBufferLimitMin:"stdio ç¼å²ä¸éè³å°ä¸º 1 åè",docs:"é
ç½®ææ¡£",docsHelp:"æå¼ ACP éæææ¡£ï¼å¹¶è·³è½¬å°âå¦ä½é
ç½®å¤é¨ runnerâç« è",notSet:"æªè®¾ç½®",configSaved:"ACP é
置已ä¿å",configFailed:"ACP é
ç½®ä¿å失败",deleteTitle:"å é¤ {{name}}",deleteConfirm:"ç¡®å®å é¤è¯¥ ACP Agent åï¼æ¤æä½ä¸å¯æ¤éã",deleteSuccess:"ACP Agent å·²å é¤",deleteFailed:"ACP Agent å é¤å¤±è´¥",nodeSettings:"Node 设置",nodePath:"Node è·¯å¾",chooseOtherNode:"éæ©å
¶ä» Node...",selectNodePath:"éæ© Node è·¯å¾",nodePathPrompt:"请è¾å
¥ node 坿§è¡æä»¶è·¯å¾",nodeSaved:"Node 设置已ä¿å",nodeLoadFailed:"Node 设置å 载失败",nodeSaveFailed:"Node è·¯å¾ä¸å¯ç¨",nodeRuntime:{bundled:"å
ç½® Node",system:"ç³»ç» Node",custom:"èªå®ä¹ Node"},nodeRuntimeReason:{systemNodeMissing:"æªæ£æµå°ç³»ç» Node",nodeMissing:"Node è·¯å¾ä¸åå¨",npxMissing:"æªæ¾å° npx",versionCheckFailed:"çæ¬æ£æ¥å¤±è´¥",unavailable:"ä¸å¯ç¨"}},vR={title:"æè½",description:"ç®¡çæºè½ä½æè½åè½åã",preload:"é¢å è½½",preloadHint:"å¼å¯åï¼æºè½ä½ä¼é¢å 载该æè½ï¼æ éå¨ä¼è¯ä¸åæ¥æ¾åå è½½ã",qwenpawManaged:"QwenPaw 管ç",qwenpawManagedHint:"å¯ç¼è¾ï¼å¹¶å¨è¿è¡æ¶æå½±å°æ¯æçç¬¬ä¸æ¹æºè½ä½ã",providerManaged:"ç¬¬ä¸æ¹æºè½ä½æè½",providerManagedHint:"ä»å½åç¬¬ä¸æ¹æºè½ä½åç°ï¼ä»
ä¾åªè¯»æ¥çã",providerOnly:"ä»
å½åç¬¬ä¸æ¹æºè½ä½",readOnly:"åªè¯»",noDescription:"ææ æè¿°ã",providerSkillDetails:"ç¬¬ä¸æ¹æºè½ä½æè½è¯¦æ
",providerManagedDetailHint:"该æè½ç±ç¬¬ä¸æ¹æºè½ä½ç®¡çãQwenPaw å¯ä»¥å±ç¤ºå使ç¨ï¼ä½ä¸è½ä¿®æ¹ã",provider:"ç¬¬ä¸æ¹æºè½ä½",scope:"ä½ç¨å",statusLabel:"ç¶æ",descriptionLabel:"æè¿°",importHub:"éè¿URLä¸ä¼ ",supportedSources:"æ¯æçæ¥æºï¼",importSkills:"导å
¥æè½",enterSkillUrl:"è¾å
¥æè½URL",supportedSkillUrlSources:"æ¯æçæè½å¸åºï¼",urlExamples:"URL 示ä¾ï¼",urlValid:"æ¥èª {{source}}
150 çææ URL",invalidUrl:"æ æç URL",clickToFill:"ç¹å»å¡«å ¥ URL",invalidSkillUrlSource:"请确认æè½URLæ¥èªåæ¯æçæè½å¸åº",type:"ç±»å",installedFrom:"å®è£ æ¥æº",source:"æ¥æº",path:"è·¯å¾",tags:"æ ç¾",builtin:"å ç½®",custom:"èªå®ä¹",addSkill:"æ·»å æè½",createSkill:"å建æè½",viewSkill:"æ¥çæè½",editSkill:"ç¼è¾æè½",skillName:"æè½åç§°",skillContent:"æè½å 容",pleaseInputName:"请è¾å ¥æè½åç§°",pleaseInputContent:"请è¾å ¥æè½å 容",skillNamePlaceholder:"ä¾å¦ï¼weather_query",contentPlaceholder:`ãæ ¼å¼è¦æ±ã 151--- 152name: æè½åç§°ï¼å¿ å¡«ï¼è±æå°åä¸åçº¿ï¼ 153description: åè½æè¿°ï¼å¿ å¡«ï¼ç®æ´æ¸ æ°ï¼ 154--- 155 156æè½å®ç°å 容ï¼Markdownæ ¼å¼ï¼ 157 158ã示ä¾ã 159--- 160name: weather_query 161description: æ¥è¯¢æå®åå¸ç天æ°ä¿¡æ¯ 162--- 163 164## åè½ 165æ¥è¯¢å®æ¶å¤©æ°æ°æ®ã 166 167## ä½¿ç¨ 168ç¨æ·è¾å ¥åå¸åï¼è¿å天æ°ä¿¡æ¯ã`,createSuccess:"æè½å建æå",createFailed:"æè½å建失败",deleteConfirm:"ç¡®å®è¦å 餿¤æè½åï¼",deleteSuccess:"æè½å 餿å",deleteFailed:"æè½å é¤å¤±è´¥",batchEnable:"å¯ç¨",batchDisable:"ç¦ç¨",batchEnableSuccess:"å·²å¯ç¨ {{count}} 个æè½",batchEnablePartial:"{{enabled}} 个已å¯ç¨ï¼{{failed}} 个失败",batchEnableFailed:"æ¹éå¯ç¨å¤±è´¥",batchDisableSuccess:"å·²ç¦ç¨ {{count}} 个æè½",batchDisablePartial:"{{disabled}} 个已ç¦ç¨ï¼{{failed}} 个失败",batchDisableFailed:"æ¹éç¦ç¨å¤±è´¥",batchDeleteTitle:"å é¤ {{count}} 个æè½ï¼",batchDeleteSuccess:"å·²å é¤ {{count}} 个æè½",batchDeletePartial:"{{deleted}} 个已å é¤ï¼{{failed}} 个失败",batchDeleteFailed:"æ¹éå é¤å¤±è´¥",selectedCount:"å·²é {{count}} 个",updateSuccess:"æè½æ´æ°æå",updateFailed:"æè½æ´æ°å¤±è´¥",frontmatterRequired:"Skillså å®¹å¿ é¡»ä»¥ --- å¼å¤´åç»å°¾",frontmatterNameRequired:"Skills ä¸ç¼ºå°å¿ å¡«åæ®µï¼name",frontmatterDescriptionRequired:"Skills ä¸ç¼ºå°å¿ å¡«åæ®µï¼description",editNotSupported:"æè½ç¼è¾å¤±è´¥",editNote:"æç¤ºï¼è¿éå¯ä»¥ç¼è¾æè½å 容ãé¢éèå´åé ç½®ã",create:"å建",optimizeWithAI:"AIä¼å",stopOptimize:"忢",optimizeSuccess:"æè½ä¼åæå",optimizeFailed:"æè½ä¼å失败",noContentToOptimize:"没æå¯ä¼åçå 容",cancelImport:"åæ¶å¯¼å ¥",importCancelled:"已忶æè½å¯¼å ¥",importTimeout:"æè½å¯¼å ¥è¶ æ¶ï¼è¯·éè¯ææ£æ¥ç½ç»ã",uploadSkill:"ä¸ä¼ æè½",uploadZip:"éè¿Zipä¸ä¼ ",uploadSuccess:"æè½ä¸ä¼ æå",uploadFailed:"æè½ä¸ä¼ 失败",uploadNoChange:"没æå¯¼å ¥æ°æè½ï¼å¯è½å·²åå¨ç¸åæè½",zipOnly:"ä» æ¯æä¸ä¼ .zip æä»¶",fileSizeExceeded:"æä»¶å¤§å°è¶ è¿ {{limit}}MB éå¶ãå½åæä»¶ï¼{{size}}MB",channels:"éç¨é¢é",allChannels:"ææ",lastUpdated:"æ´æ°æ¶é´",searchPlaceholder:"æåç§°çé",listView:"å表è§å¾",gridView:"å¡çè§å¾",refreshHint:"ä»ç£çå·æ°æè½",poolSync:"åæ¥ç¶æ",uploadedToPool:"å·²ä¸ä¼ è³æè½æ± ",downloadedToWorkspace:"å·²ä¸è½½è³å½åå·¥ä½åº",builtinUpgradeTitle:"å级å ç½®æè½",builtinUpgradeContent:'æè½æ± ä¸ææ´æ°çæ¬çå ç½®æè½ "{{name}}"ï¼æ¯å¦è¦çå½åçæ¬ï¼',languageSwitchTitle:"忢æè½è¯è¨",languageSwitchContent:"以䏿è½å¨æ± 䏿ä¸åçè¯è¨çæ¬ï¼ç¡®è®¤åå°è¦çï¼",overwriteExistingList:"以䏿è½å·²åå¨ï¼ç¡®è®¤åå°ç´æ¥è¦çï¼",nameConflict:"æ£æµå°åç§°å²çªï¼å»ºè®®çéå½åå·²å¡«å ¥ã",uploadToPoolHint:"å°éä¸çå·¥ä½åºæè½ä¸ä¼ å°å ±äº«æ¬å°æè½æ± ",downloadFromPool:"ä»æè½æ± è½½å ¥",uploadToPool:"åæ¥å°æè½æ± ",selectWorkspaceSkill:"鿩工ä½åºæè½",selectPoolItem:"éæ©æè½æ± 项ç®",renameOptional:"éå½åï¼å¯éï¼",renamePlaceholder:"å²çªæ¶å»ºè®®çéå½åå°æ¾ç¤ºå¨æ¤",selectAll:"å ¨é",clearSelection:"æ¸ é¤",downloadSkillPool:"ä¸è½½æè½æ± ",uploadSkillPool:"ä¸ä¼ æè½æ± ",config:"é ç½®",configPlaceholder:'{"KEY": "value"}',configInvalidJson:"JSON æ ¼å¼æ æ",configSaved:"é 置已ä¿å",emptyStateBadge:"æ°å·¥ä½åºé»è®¤æ¯ç©ºç",emptyStateTitle:"è¿ä¸ªæºè½ä½è¿æ²¡æå¯ç¨æè½",emptyStateText:"è¿æ¯æ£å¸¸ç¶æãæ°å»ºçå·¥ä½åºä¸ä¼èªå¨å¸¦ä¸æè½ãä½ å¯ä»¥å ä»æè½æ± ä¸è½½å·²ææè½ï¼æè ç´æ¥å建ä¸ä¸ªæ°æè½ï¼åæè¿ä¸ªæºè½ä½è£ å¤èµ·æ¥ã",emptyStateDownload:"ä»æè½æ± è½½å ¥",emptyStateCreate:"å建第ä¸ä¸ªæè½",loadFailed:"å è½½æè½å¤±è´¥",refreshFailed:"å·æ°æè½å¤±è´¥",createdSuccessfully:"å建æå",saveFailed:"ä¿å失败",importFailed:"å¯¼å ¥å¤±è´¥",disabledSuccessfully:"å·²ç¦ç¨",enabledSuccessfully:"å·²å¯ç¨",operationFailed:"æä½å¤±è´¥",provideUrl:"请æä¾æè½åº URL",validUrl:"请è¾å ¥ä»¥ http:// æ https:// å¼å¤´çææ URL",importedSkill:"å·²å¯¼å ¥æè½ï¼{{name}}",batchOperation:"æ¹éæä½",exitBatch:"éåºæ¹é",noSearchResults:"æªæ¾å°å¹é çæè½",filterByTag:"ææ ç¾çé",noTags:"ææ æ ç¾",enabledSkills:"å·²æ¿æ´»çæè½",disabledSkills:"æªæ¿æ´»çæè½",active:"ä¸ªæ¿æ´»"},TR={description:"å ±äº«æ¬å°æè½æ± ï¼å å«å ç½®æè½åå·¥ä½åºä¸ä¼ ãClawHub æ LobeHub çå¤é¨å¯¼å ¥ä¸ºç
168¬ç«åè½ã",broadcast:"广æå°æºè½ä½",broadcastHint:"å°æè½å¹¿æç»éå®çæºè½ä½",refreshHint:"ä»ç£çå·æ°æè½æ± ",deleteExternalConfirm:"å°ä»ç£çå é¤å¤é¨æè½æä»¶:{{path}}ã",deleteExternalBatchWarning:"æéçå¤é¨æè½å°ä»ç£çæ°¸ä¹
å é¤ã",broadcastTitle:"广æ {{name}}",automation:"èªå¨å",builtinAutoUpdate:"èªå¨æ´æ°",builtinAutoUpdateFlow:"å
ç½®æè½å
â æè½æ± ",autoSyncFlow:"æè½æ± â æºè½ä½å·¥ä½åº",automationBoth:"èªå¨æ´æ° + 忥",automationMixedHint:"æå¼è¯¦æ
éæ©èªå¨æ´æ°æèªå¨åæ¥ã",automationEnableHint:"å¼å¯èªå¨æ´æ°åèªå¨åæ¥ã",automationDisableHint:"å
³éèªå¨æ´æ°åèªå¨åæ¥ã",automationEnabled:"已为 {{name}} å¼å¯èªå¨æ´æ°åèªå¨åæ¥",automationDisabled:"已为 {{name}} å
³éèªå¨æ´æ°åèªå¨åæ¥",automationFailed:"æ´æ°èªå¨å设置失败",automationNeedsAttention:"å·²ä¿åï¼{{count}} 项éå¤çï¼è¯·æ¥çæ¶ä»¶ç®±ã",autoSync:"èªå¨åæ¥",autoSyncEnableHint:"å¼å¯èªå¨åæ¥ã",autoSyncDisableHint:"å
³éèªå¨åæ¥ã",autoSyncEnabled:"已为 {{name}} å¼å¯èªå¨åæ¥",autoSyncDisabled:"已为 {{name}} å
³éèªå¨åæ¥",autoSyncAgentsPlaceholder:"ææå·²å®è£
该æè½çæºè½ä½",autoSyncAgentsHint:"ç空å忥已æå¯æ¬ï¼ä¹å¯æå®æºè½ä½ã",renameAffectsTitle:"忶卿ºè½ä½ä¸éå½åï¼",renameAffectsContent:"â{{from}}âå·²å®è£
å¨ {{count}} 个æºè½ä½ä¸ãéå½å为â{{to}}â",importBuiltin:"æ´æ°å
ç½®æè½",importBuiltinHint:"å°å
ç½®æè½æ´æ°å°ææ°çæ¬",importBuiltinAlertHint:"æ {{count}} 项å
ç½®æè½åæ´éè¦æ¥ç",importBuiltinSuccess:"已导å
¥å
ç½®æè½ï¼{{names}}",importBuiltinConflicts:"以ä¸åç§°å²çªï¼å·²è·³è¿ï¼{{names}}",importBuiltinNoChanges:"没æå¯å¯¼å
¥çå
ç½®åæ´",importBuiltinFailed:"导å
¥å
ç½®æè½å¤±è´¥",importBuiltinConflictTitle:"æ£æµå°å
ç½®æè½å²çª",importBuiltinConflictContent:"以ä¸å
ç½®æè½ä¸å½åæ± ä¸å¯æ¬ä¸åã确认åå°ä½¿ç¨æºç çæ¬è¦çã",sourceVersion:"æºç çæ¬",currentVersion:"å½åçæ¬",builtinLanguage:"è¯è¨",langDefault:"é»è®¤",langDefaultTooltip:"ä¿ææ¯ä¸ªæè½åæçè¯è¨",langEn:"è±æ",langZh:"䏿",builtinLanguageChangeTitle:"忢å
ç½®æè½è¯è¨ï¼",builtinLanguageChangeContent:"ç¡®è®¤ç¨ {{language}} çæ¬çå
ç½®æè½è¦çæ± ä¸çâ{{name}}âï¼",builtinLanguageChangeSuccess:"å·²å°â{{name}}âåæ¢ä¸º {{language}}",builtinLanguageChangeFailed:"忢å
ç½®æè½è¯è¨å¤±è´¥",importStatusMissing:"æ± ä¸ç¼ºå¤±",importStatusCurrent:"å·²æ¯ææ°",importStatusOutdated:"çæ¬è½å",importStatusLanguageSwitchTo:"å°è¦ç为{{language}}çæ¬",importStatusConflict:"å²çª",builtinNoticeSummary:"æ£æµå° {{count}} 项å
ç½®æè½åæ´",builtinNoticeLineAdded:"æ°å¢ï¼{{names}}",builtinNoticeLineMissing:"缺失ï¼{{names}}",builtinNoticeLineUpdated:"æ´æ°ï¼{{names}}",builtinNoticeLineRemoved:"ç§»é¤ï¼{{names}}",zipImport:"ZIP 导å
¥",create:"å建",edit:"ç¼è¾",delete:"å é¤",descriptionLabel:"æè¿°",tags:"æ ç¾",tagsPlaceholder:"éæ©æè¾å
¥æ ç¾",tagTooLong:"æ ç¾é¿åº¦ä¸è½è¶
è¿ {{max}} 个å符",filterByTag:"ææ ç¾çé",version:"çæ¬",createTitle:"å建æè½æ± 项ç®",editTitle:"ç¼è¾ {{name}}",skillNamePlaceholder:"æè½åç§°",contentPlaceholder:"SKILL.md å
容",nameConflict:"æ£æµå°åç§°å²çªï¼å·²åºç¨å»ºè®®çéå½åã",deletedFromPool:"å·²ä»æè½æ± å é¤",deleteBuiltinConfirm:"è¿ä¼å°å
ç½®æè½ä»æè½æ± ä¸å é¤ãä¹åä»å¯ä»æºç 鿰坼å
¥ã",deleteConfirm:"æ¤æä½å°ä»å
±äº«æ¬å°æè½æ± ä¸ç§»é¤è¯¥æè½ã",deleteTitle:"å é¤ {{name}}ï¼",batchDeleteTitle:"å é¤ {{count}} ä¸ªæ± æè½ï¼",batchDeleteSuccess:"å·²å é¤ {{count}} ä¸ªæ± æè½",batchDeletePartial:"{{deleted}} 个已å é¤ï¼{{failed}} 个失败",batchDeleteFailed:"æ¹éå é¤å¤±è´¥",zipImportFailed:"ZIP 导å
¥å¤±è´¥",externalHubHint:"å¤é¨ Hub 导å
¥ä¸æ¬å°æè½æ± æ¯ç¬ç«åè½ã",imported:"已导å
¥ï¼{{names}}",noNewImports:"æ æ°æè½å¯¼å
¥",allBuiltin:"å
¨é¨å
ç½®",selectWorkspaces:"广æå°å·¥ä½åº",allWorkspaces:"ææå·¥ä½åº",optionalRename:"å¯ééå½å",back:"è¿å",skillCount:"{{count}} 个æè½",skillName:"æè½åç§°",status:"ç¶æ",installedFrom:"å®è£
æ¥æº",updateBuiltin:"æ´æ°",updateConfirmTitle:"æ´æ° {{name}}",updateConfirmContent:"æ´æ°å°çæ¬ {{version}}ï¼è¿å°ç¨ææ°å
ç½®çæ¬æ¿æ¢å½åæ± ä¸ç坿¬ã",updateSuccess:"æ´æ°æå",updateFailed:"æ´æ°å¤±è´¥",broadcastSuccess:"广æå®æ",broadcastFailed:"广æå¤±è´¥",overwriteConfirm:"è¦çå·²åå¨çæè½ï¼",overwriteTargetsContent:"以ä¸ç®æ ä¸å·²åå¨è¯¥æè½ï¼ç¡®è®¤åå°ç´æ¥è¦çï¼",builtinOverwriteTargetsContent:"以ä¸ç®æ ä¸çå
ç½®æè½çæ¬ä¸åï¼ç¡®è®¤åå°ç´æ¥è¦çï¼",renameAndRetry:"ååæè½å·²åå¨ï¼æ¯å¦ä½¿ç¨å»ºè®®çåç§°ï¼",multiConflictTitle:"æ£æµå°å¤ä¸ªå²çª",multiConflictDesc:"以䏿è½å·²åå¨ï¼è¯·éä¸è§£å³å²çªåéè¯ï¼",singleConflictRename:'"{{name}}" å·²åå¨ãéå½å为 "{{suggested}}" 以继ç»ï¼',statusUpToDate:"ææ°",statusSynced:"已忥",statusOutdated:"å·²è¿æ",statusNotSynced:"æªåæ¥",statusConflict:"å²çª",renameEntry:'"{{name}}" çæ°åç§°ï¼',builtin:"å
ç½®",custom:"èªå®ä¹"},SR={title:"MCP 客æ·ç«¯",qwenpawManaged:"QwenPaw 管ç",qwenpawManagedHint:"ç±ç»ä¸æ§å¶é¢ç®¡çï¼å¹¶å¨è¿è¡æ¶æ³¨å
¥æ¯æçç¬¬ä¸æ¹æºè½ä½ã",providerManaged:"{{provider}} æ¬å° MCP",providerManagedHint:"ä»ç¬¬ä¸æ¹æºè½ä½èªèº«é
ç½®ä¸åç°ï¼ä
168»
ä¾è¯¥æºè½ä½ä½¿ç¨ï¼å¹¶ä»¥åªè¯»æ¹å¼å±ç¤ºã",providerOnly:"ä»
å½åç¬¬ä¸æ¹æºè½ä½",readOnly:"åªè¯»",create:"å建客æ·ç«¯",formatSupport:"æ¯æçæ ¼å¼",standardFormat:"æ åï¼mcpServers å
裹ï¼",directFormat:"ç´è¿ï¼é® â é
置对象ï¼",singleFormat:"å客æ·ç«¯ï¼å¹³éºå段ï¼",emptyState:"ææ é
ç½®ç MCP 客æ·ç«¯",loadError:"å è½½ MCP 客æ·ç«¯å¤±è´¥",createSuccess:"MCP 客æ·ç«¯å建æå",createError:"MCP 客æ·ç«¯å建失败",updateSuccess:"MCP 客æ·ç«¯æ´æ°æå",updateError:"MCP 客æ·ç«¯æ´æ°å¤±è´¥",enableSuccess:"MCP 客æ·ç«¯å¯ç¨æå",disableSuccess:"MCP 客æ·ç«¯ç¦ç¨æå",toggleError:"忢 MCP 客æ·ç«¯ç¶æå¤±è´¥",deleteConfirm:"ç¡®å®è¦å 餿¤ MCP 客æ·ç«¯åï¼",deleteSuccess:"MCP 客æ·ç«¯å 餿å",deleteError:"MCP 客æ·ç«¯å é¤å¤±è´¥",maskedFieldHint:"ææåæ®µå·²ç¨ *** 鮿©ï¼ä¸æ¯æå¨é®æ©å¼ä¸ç´æ¥ç¼è¾ï¼å¦éä¿®æ¹è¯·æ¿æ¢ä¸ºå®æ´æ°å¼ã",tools:"å·¥å
·&æé",noTools:"该 MCP æå¡å¨ææ å¯ç¨å·¥å
·",toolsLoadError:"è·å MCP æå¡å¨å·¥å
·å表失败",toolsConnecting:"MCP æå¡å¨æ£å¨è¿æ¥ä¸ï¼è¯·ç¨åéè¯",toolSchema:"æè¿°ä¸åæ°",access:{title:"è®¿é®æé",button:"æé",summary:"MCP 访é®çç¥",clientSection:"æ´ä½æé",toolSection:"å·¥å
·æé",default:"é»è®¤çç¥",sourceType:"è°ç¨æ¥æº",sourceValue:"æ¥æºå¼",sourceValueAllChannels:"ææé¢é",subjectType:"对象",subjectValue:"对象å¼",effectLabel:"çç¥",source:{channel:"é¢é"},subjectTypeOption:{all:"å
¨é¨",user:"ç¨æ·"},sourceValuePlaceholder:{channel:"æ§å¶å° / éé"},subjectValuePlaceholder:"ä¾å¦ alice",subjectValuePlaceholderSelectedSource:"æéé¢éå
çç¨æ· ID",subjectValuePlaceholderScoped:"{{source}} å
çç¨æ· ID",subjectValueAll:"å
¨é¨",recentUserPlaceholder:"ç¨æ· ID ä»
卿鿥æºå
ææï¼è¯·éæ°è¾å
¥æéæ©",noRecentUsers:"è¯¥æ¥æºææ è¿æç¨æ·ï¼å¯æå¨è¾å
¥ç¨æ· ID",ambiguousUserSourceWarning:"ç¨æ· ID ä»
卿¥æºå
å¯ä¸ï¼è¯·éæ©å
·ä½é¢é以é¿å
è·¨é¢é误å¹é
ã",unknownUserValueWarning:"è¯¥ç¨æ· ID æªåºç°å¨è¿ææ´»è·ç¨æ·ä¸ï¼ä½ä»å¯ä¿åã",validation:{missingUserValue:"è¯·éæ©å
·ä½æ¥æºå¹¶å¡«åææçç¨æ· IDã",ambiguousUserSource:"ç¨æ·è§åå¿
é¡»æå®å
·ä½é¢éï¼ä¸è½éæ©ææé¢éã",unknownUserValue:"è¯¥ç¨æ· ID æªåºç°å¨è¿ææ´»è·ç¨æ·ä¸ï¼ä½ä»å¯ä¿åã"},addRule:"æ°å¢è§å",deleteRule:"å é¤è§å",noClientRules:"ææ è§å",noRules:"ææ è§åï¼ä½¿ç¨é»è®¤çç¥",inherit:"ç»§æ¿ï¼{{effect}}ï¼",stale:"å½åä¸åå¨",disabledTools:"该 MCP 客æ·ç«¯å·²ç¦ç¨ï¼ä»å¯ç¼è¾å·²ä¿åç访é®è§åã",discardTitle:"æ¾å¼æªä¿åçæ¹å¨ï¼",discardContent:"æªä¿åç访é®çç¥æ¹å¨å°ä¼ä¸¢å¤±ã",loadError:"å è½½ MCP 访é®çç¥å¤±è´¥",saveSuccess:"MCP 访é®çç¥å·²ä¿å",saveError:"ä¿å MCP 访é®çç¥å¤±è´¥",unmanagedRules:"{{count}} æ¡é«çº§è§å",effect:{allow:"å
许",ask:"审æ¹",deny:"æç»"}},tab:{json:"JSON 导å
¥",form:"è¡¨åæ¨¡å¼"},form:{key:"客æ·ç«¯æ è¯ç¬¦",keyPlaceholder:"my-mcp-server",keyRequired:"请填å客æ·ç«¯æ è¯ç¬¦",name:"æ¾ç¤ºåç§°",namePlaceholder:"My MCP Server",nameRequired:"è¯·å¡«åæ¾ç¤ºåç§°",transport:"ä¼ è¾æ¹å¼",url:"æå¡å¨ URL",urlRequired:"è¿ç¨ MCP æå¡å¨éè¦å¡«å URL",command:"å¯å¨å½ä»¤",commandRequired:"Stdio 模å¼éè¦å¡«åå¯å¨å½ä»¤",args:"å½ä»¤åæ°ï¼ç©ºæ ¼ææ¢è¡åéï¼",description:"æè¿°",descriptionPlaceholder:"å¯éæè¿°",env:"ç¯å¢åé",envPlaceholder:"KEY=VALUEï¼æ¯è¡ä¸ä¸ªï¼"},oauth:{enableOAuth:"ä½¿ç¨ OAuth ææ",manage:"OAuth ææ",authorized:"å·²ææ",notAuthorized:"æªææ",expired:"ææå·²è¿æ",failed:"ææå¤±è´¥",waiting:"çå¾
ææä¸...",authorize:"ç¹å»ææ",reauthorize:"éæ°ææ",revoke:"æ¤éææ",startFailed:"å¯å¨ OAuth æµç¨å¤±è´¥",authFailed:"OAuth ææå¤±è´¥",popupBlocked:"å¼¹çªè¢«æµè§å¨æ¦æªï¼è¯·å
许弹çªåéè¯",windowClosed:"ææçªå£å·²å
³éï¼è¯·éè¯",noUrl:"请å
å¡«åæå¡å¨ URL",noClientKey:"请å
å建客æ·ç«¯",showAdvanced:"é«
168级é项",hideAdvanced:"æ¶èµ·é«çº§é项",clientId:"Client IDï¼å¯éï¼",clientIdPlaceholder:"ç空å使ç¨å¨æå®¢æ·ç«¯æ³¨å",scope:"Scopeï¼å¯éï¼",scopePlaceholder:"openid profile email",authEndpoint:"Authorization Endpointï¼æå¨è¦çï¼",tokenEndpoint:"Token Endpointï¼æå¨è¦çï¼",endpointHint:"ç空å°èªå¨ä» MCP æå¡å¨åç°ç«¯ç¹ï¼å¡«ååå°è·³è¿èªå¨åç°"}},CR={title:"å¿è·³",description:"æåºå®é´éç¨ HEARTBEAT.md å
容æ§è¡èªæ£ãé»è®¤éé»è¿è¡ä¸å½±åå½å对è¯ï¼ä¹å¯éæ©å°åå¤åå°ä¸æ¬¡å¯¹è¯é¢éã",enabled:"å¼å¯å¿è·³",every:"æ§è¡é´é",everyRequired:"请填åé´é",everyMin:"é´éè³å°ä¸º 1",timeoutSeconds:"æ§è¡è¶
æ¶ï¼ç§ï¼",timeoutRequired:"è¯·å¡«åæ§è¡è¶
æ¶",timeoutMin:"æ§è¡è¶
æ¶è³å°ä¸º 1",timeoutMax:"æ§è¡è¶
æ¶æå¤ä¸º 3600",unitMinutes:"åé",unitHours:"å°æ¶",target:"åå¤ç®æ ",targetMain:"éé»è¿è¡ï¼é»è®¤ï¼ä¸åéå°é¢éï¼",targetLast:"åå°ä¸æ¬¡å¯¹è¯é¢é",targetInbox:"åéå°æ¶ä»¶ç®±",activeHours:"æ´»è·æ¶æ®µï¼å¯éï¼",activeStart:"å¼å§æ¶é´",activeEnd:"ç»ææ¶é´",loadFailed:"å è½½å¿è·³é
置失败",saveSuccess:"ä¿åæåï¼å¿è·³å·²çéè½½",saveFailed:"ä¿åå¿è·³é
置失败",runNow:"ç«å³æ§è¡ä¸æ¬¡",runNowSuccess:"已触åå¿è·³æ§è¡ï¼è¯·ç¨åæ¥çæ¶ä»¶ç®±æç®æ æ¸ é",runNowFailed:"触åå¿è·³æ§è¡å¤±è´¥"},wR={title:"宿¶ä»»å¡",description:"å建å管ç卿宿¶é´èªå¨æ§è¡ç宿¶ä»»å¡ã",createJob:"å建任å¡",createFromTemplate:"仿¨¡æ¿å建",editJob:"ç¼è¾ä»»å¡",templateModalTitle:"鿩宿¶ä»»å¡æ¨¡æ¿",templateModalDescription:"å
éå
置模æ¿ï¼å卿½å±éå¾®è°å
³é®åæ°åä¿åã",useTemplate:"ä½¿ç¨æ¨¡æ¿",templateTagPersonal:"个人",templateTagTeam:"å¢é",templateTagReminder:"æé",templateTagCalendar:"æ¥å",templateTagCalendarRecommended:"æ¨è䏿¥å",confirmDelete:"确认å é¤",deleteConfirm:"ç¡®å®è¦å 餿¤å®æ¶ä»»å¡åï¼",okText:"ç¡®å®",cancelText:"åæ¶",deleteText:"å é¤",id:"ä»»å¡ID",name:"ä»»å¡åç§°",enabled:"å¯ç¨ç¶æ",saveResultToInbox:"è¿è¡ç»æåè¿æ¶ä»¶ç®±",saveResultToInboxTooltip:"å¼å¯åï¼ä»»å¡æ§è¡æå䏿éæåæ¶ï¼ä¼å°ç»æåå
¥æ¶ä»¶ç®±ï¼è¥æé失败ï¼ç³»ç»ä¼èªå¨å
åºåå
¥æ¶ä»¶ç®±ã",scheduleType:"è°åº¦ç±»å",scheduleFilterAll:"å
¨é¨è°åº¦ç±»å",scheduleTypeRecurring:"循ç¯ä»»å¡",scheduleTypeOnce
168:"æ¥ç¨ä»»å¡",scheduleCron:"æ§è¡æ¶é´ï¼Cronï¼",scheduleCronLabel:"æ§è¡æ¶é´ï¼Cronï¼",onceRunAt:"æ§è¡æ¶é´",repeatEnabled:"é夿§è¡",repeatEnabledTooltip:"ä»è¯¥å¼å§æ¶é´æåºå®å¤©æ°é夿§è¡",repeatFrequency:"éå¤é¢ç",repeatEveryDays:"éå¤é¢çï¼å¤©ï¼",repeatEveryPrefix:"æ¯",repeatEverySuffix:"天",repeatEndType:"ç»æéå¤",repeatEndNever:"æ ééå¤",repeatEndUntil:"ç»æ¢äºæå¤©",repeatEndCount:"é宿¬¡æ°",repeatUntil:"æªæ¢æ¶é´",repeatCount:"æ§è¡æ¬¡æ°",scheduleTimezone:"æ¶åº",cronType:"é¢çç±»å",cronTypeHourly:"æ¯å°æ¶",cronTypeDaily:"æ¯å¤©",cronTypeWeekly:"æ¯å¨",cronTypeCustom:"èªå®ä¹",cronTime:"æ§è¡æ¶é´",cronDaysOfWeek:"ææ",cronDayMon:"å¨ä¸",cronDayTue:"å¨äº",cronDayWed:"å¨ä¸",cronDayThu:"å¨å",cronDayFri:"å¨äº",cronDaySat:"å¨å
",cronDaySun:"卿¥",cronCustomExpression:"Cron 表达å¼",taskText:"æ¶æ¯å
容",action:"æä½",disable:"ç¦ç¨",executeNow:"ç«å³æ§è¡",edit:"ç¼è¾",delete:"å é¤",totalItems:"å
± {{count}} 项",perPage:"/ 页",pleaseInputId:"请è¾å
¥ä»»å¡ID",pleaseInputName:"请è¾å
¥ä»»å¡åç§°",pleaseInputCron:"请è¾å
¥Cron表达å¼",pleaseSelectScheduleType:"è¯·éæ©è°åº¦ç±»å",pleaseInputRunAt:"è¯·éæ©æ§è¡æ¶é´",pleaseInputRepeatEveryDays:"请è¾å
¥éå¤é¢çï¼å¤©ï¼",pleaseSelectRepeatEndType:"è¯·éæ©ç»ææ¹å¼",pleaseInputRepeatUntil:"è¯·éæ©æªæ¢æ¶é´",pleaseInputRepeatCount:"请è¾å
¥æ§è¡æ¬¡æ°",validation:{cronRequired:"循ç¯ä»»å¡å¿
须填å Cron 表达å¼ã",runAtRequired:"æ¥ç¨ä»»å¡å¿
é¡»å¡«åæ§è¡æ¶é´ã",repeatUntilRequired:"éæ©âç»æ¢äºæå¤©âæ¶ï¼å¿
é¡»å¡«åæªæ¢æ¶é´ã",repeatCountRequired:"éæ©âé宿¬¡æ°âæ¶ï¼å¿
é¡»å¡«åæ§è¡æ¬¡æ°ã",repeatUntilAfterRunAt:"æªæ¢æ¶é´å¿
é¡»æäºæ§è¡æ¶é´ï¼è¯·å°æªæ¢æ¶é´è®¾ç½®ä¸ºæ§è¡æ¶é´ä¹åã",textRequired:"ä»»å¡ç±»åä¸ºâæ¶æ¯å
å®¹âæ¶ï¼æ¶æ¯å
容ä¸è½ä¸ºç©ºã",requestRequired:"ä»»å¡ç±»å为âAgentâæ¶ï¼è¯·æ±å
容ä¸è½ä¸ºç©ºã",invalidCronExpression:"Cron è¡¨è¾¾å¼æ æï¼è¯·ä½¿ç¨ 5 段 Cron æ ¼å¼ã"},pleaseSelectTaskType:"è¯·éæ©ä»»å¡ç±»å",pleaseInputRequest:"请è¾å
¥è¯·æ±å
容",pleaseInputMessageContent:"请è¾å
¥æ¶æ¯å
容",pleaseInputChannel:"请è¾å
¥ç®æ é¢é",pleaseInputUserId:"请è¾å
¥ç®æ ç¨æ·ID",pleaseInputSessionId:"请è¾å
¥ç®æ ä¼è¯ID",jobIdPlaceholder:"ä¾å¦ï¼daily-report-job",jobNamePlaceholder:"ä¾å¦ï¼æ¯æ¥æ©æ¥",selectTimezone:"éæ©æ¶åº",taskDescriptionPlaceholder:"ç®åæ¶æ¯ä»»å¡æ¶å¡«åå®é
åéçæ£æ...",invalidJsonFormat:"JSONæ ¼å¼æ æ",jsonFormatRequired:"éè¦JSONæ ¼å¼",taskType:"ä»»å¡ç±»å",text:"æ¶æ¯å
容",requestInput:"请æ±å
容",requestSessionId:"请æ±ä¼è¯ID",requestUserId:"请æ±ç¨æ·ID",dispatchChannel:"ç®æ é¢é",dispatchTargetUserId:"ç®æ ç¨æ·ID",dispatchTargetSessionId:"ç®æ ä¼è¯ID",dispatchMode:"å忍¡å¼",silentDelivery:"é黿é",runtimeShareSession:"å
±ç¨ä¼è¯",runtimeMaxConcurrency:"æå¤§å¹¶åæ°",runtimeTimeoutSeconds:"è¶
æ¶æ¶é´ï¼ç§ï¼",runtimeMisfireGraceSeconds:"éè¿æ§è¡å®½éæï¼ç§ï¼",runtimeToolSafety:"å·¥å
·å®¡æ¹æ£æ¥",idTooltip:"ä»»å¡çå¯ä¸æ è¯ç¬¦ï¼UUIDï¼ç±ç³»ç»å¨å建æ¶èªå¨åé
ï¼ä¸å¯ä¿®æ¹ã",nameTooltip:"ä»»å¡çå好åç§°ï¼ä¾¿äºè¯å«ã",cronTooltip:"å®ä¹ä»»å¡æ§è¡æ¶é´",cronExample:"常ç¨ç¤ºä¾ï¼'0 9 * * *' = æ¯å¤©9ç¹ | '*/30 * * * *' = æ¯30åé | '0 */2 * * *' = æ¯2å°æ¶ | '0 0 * * 0' = æ¯å¨æ¥0ç¹",cronHelper:"ä¸çæ Cron 表达å¼ï¼",cronHelperLink:"使ç¨å¨çº¿å·¥å
·çæ",timezoneTooltip:"Cron 计å使ç¨çæ¶åºãé»è®¤ï¼UTC",taskTypeTooltip:"éæ© 'text' ç¨äºç®åæ¶æ¯ä»»å¡ï¼éæ© 'agent' ç¨äºå¤æçæºè½ä½å·¥ä½æµã",textTooltip:"ç®åæ¶æ¯ä»»å¡ï¼æ¤å¤ä¸ºå®é
çæ¶æ¯æ£æï¼ä»»å¡ç±»å为'text'æ¶å¿
å¡«ã",requestInputTooltip:"JSON æ ¼å¼çæ¶æ¯å
容ãè¿æ¯æºè½ä½å°æ¥æ¶åå¤ççå
容ï¼ä»»å¡ç±»å为'agent'æ¶å¿
å¡«ã",requestInputExample:'æ ¼å¼ï¼[{"role":"user","content":[{"type":"text","text":"æ¨çæ¶æ¯å
容"}]}]',requestSessionIdTooltip:"请æ±ä¸ä¸æçä¼è¯IDãä¸ç¡®å®æ¶ä½¿ç¨ 'default'ã",requestUserIdTooltip:"å起请æ±çç¨æ·IDãèªå¨åä»»å¡ä½¿ç¨ 'system'ã",dispatchChannelTooltip:"ååºå°åéå°çç®æ é¢éï¼ä¾å¦ï¼'console'ã'discord'ã'imessage'ï¼ã",dispatchTargetUserIdTooltip:"å¨ç®æ é¢é䏿¥æ¶ååºçç¨æ·IDã",dispatchTargetSessionIdTooltip:"å¨ç®æ é¢éä¸ä¼ éååºçä¼è¯IDã",dispatchModeTooltip:"éæ© 'stream' è·å宿¶ååºï¼æéæ© 'f
168inal' ä»
è·å宿´ååºã",silentDeliveryTooltip:"宿´æ§è¡ Agent ä»»å¡å¹¶ä¿çä¼è¯å追踪记å½ï¼ä½ä¸åæ¸ éåéç»æã",shareSessionTooltip:"å¼å¯æ¶ï¼ä¸ç®æ ç¨æ·å
±ç¨ä¼è¯ãå
³éæ¶ï¼æ¯æ¬¡è¿è¡å建ç¬ç«çä¼è¯ä¸ä¸æï¼äºä¸å½±åãéç¨äºä¸éè¦è®°å¿åå²çç¬ç«ä»»å¡ãé»è®¤ï¼å¼å¯",maxConcurrencyTooltip:"æ¤ä»»å¡å¯ä»¥åæ¶è¿è¡çæå¤§æ°éãé»è®¤ï¼1",timeoutSecondsTooltip:"æå¤§æ§è¡æ¶é´ï¼ç§ï¼ãè¶
æ¶å°ç»æ¢ä»»å¡ã",misfireGraceSecondsTooltip:"éè¿æ§è¡ç宽éæã妿任å¡éè¿è®¡åæ¶é´è¶
è¿æ¤æ¶é¿ï¼å°ä¸ä¼æ§è¡ã",toolSafetyTooltip:"å¼å¯æ¶ï¼é«é£é©å·¥å
·è°ç¨éè¦ç¨æ·å®¡æ¹ï¼å¯è½é»å¡æ 人å¼å®ç宿¶ä»»å¡ï¼ãå
³éæ¶ï¼å·¥å
·è°ç¨ä¸å请æ±å®¡æ¹ï¼æä»¶é²æ¤è§åä»ç¶çæãé»è®¤ï¼å
³é",executeNowTitle:"ç«å³æ§è¡ä»»å¡",executeNowContent:'ç¡®å®è¦ç«å³æ§è¡ä»»å¡ "{{name}}" åï¼',executeNowConfirm:"ç«å³æ§è¡",listView:"å表è§å¾",calendarView:"æ¥åè§å¾",calendarEmptyHint:"ææ æ¥ç¨ä»»å¡ãå建æ¥ç¨ä»»å¡å伿¾ç¤ºå¨æ¥åä¸ã",calendarMoreItems:"è¿æ {{count}} 项",calendarDayListTitle:"{{date}} çæ¥ç¨ä»»å¡",executionHistory:"æ§è¡è®°å½",historyTitle:"æ§è¡è®°å½ - {{name}}",historyEmpty:"ææ æ§è¡è®°å½ã",historyStatusSuccess:"æå",historyStatusFailed:"失败",historyStatusRunning:"æ§è¡ä¸",historyStatusCancelled:"已忶",historyTriggerScheduled:"宿¶è§¦å",historyTriggerManual:"æå¨è§¦å",historyExpand:"å±å¼å
¨æ",historyCollapse:"æ¶èµ·",templates:{dailyTechNewsBrief:{title:"工使¥ç§ææ°é»æ©æ¥",description:"工使¥ 9:30 èªå¨æ´ç彿¥çé¨ç§æèµè®¯å¹¶æ¨éç®æ¥ã",frequency:"工使¥ 09:30ï¼30 9 * * 1-5ï¼"},dailyEveningReflection:{title:"æ¯æ¥æ¶å°¾å¤ç",description:"工使¥ 20:00 æéå顾彿¥å®æäºé¡¹ä¸å¾
æ¹è¿ç¹ã",frequency:"工使¥ 20:00ï¼0 20 * * 1-5ï¼"},weekendRelaxationReminder:{title:"卿«çµå½±æ¨è",description:"卿«ä¸åæ¨éè¿æçé¨çµå½±æ¨èã",frequency:"卿« 10:00ï¼0 10 * * 6,0ï¼"},pomodoroBreakReminder:{title:"伿¯æé",description:"工使¶æ®µæ¯ 25 åéæéèµ·èº«åæ°´æè¿çºï¼åå°ç²å³ã",frequency:"工使¥ 9:00-17:59 æ¯ 25 åéï¼*/25 9-17 * * 1-5ï¼"},petCareReminder:{title:"å® ç©é©±è«/ç«èæé",description:"æ¯æ 15 æ¥ææéç»å® ç©åä½å¤é©±è«ã",frequency:"æ¯æ 15 æ¥ 20:00ï¼0 20 15 * *ï¼"},onceTextBirthdayReminder:{title:"çæ¥æé",description:"æéxxäº1æ1æ¥è¿çæ¥ã",frequency:"æ§è¡æ¶é´ï¼2026å¹´1æ1æ¥ 09:00"},onceAgentBusinessTripPrep:{title:"åºå·®å天æ°ä¸è¡ç¨åå¤",description:"æ¥è¯¢ç®çå°å¤©æ°å¹¶ç»åºè¡ç¨åå¤å»ºè®®ã",frequency:"æ§è¡æ¶é´ï¼2026å¹´1æ1æ¥ 20:00"},repeatCountTextMedicineReminder:{title:"åè¯æéï¼14次ï¼",description:"æéææ¶åè¯ï¼æ¬çç¨å
±14次ã",frequency:"馿¬¡æ§è¡ï¼2026å¹´1æ1æ¥ 09:00ï½æ¯1天䏿¬¡ï½éå®14次"},repeatCountAgentDietPlan:{title:"14天饮é£è®¡å",description:"è¿ç»14天çæå¹¶åé彿¥é¥®é£å»ºè®®ã",frequency:"馿¬¡æ§è¡ï¼2026å¹´1æ1æ¥ 08:00ï½æ¯1天䏿¬¡ï½éå®14次"},repeatUntilTextWeeklyMeeting:{title:"两个æå¨ä¼æé",description:"æ¯å¨æéåå å¨ä¼ï¼æç»å°è®¾å®æªæ¢æ¶é´ã",frequency:"馿¬¡æ§è¡ï¼2026å¹´1æ2æ¥ 08:45ï½æ¯7天䏿¬¡ï½æªæ¢å°2026å¹´3æ1æ¥"},repeatUntilAgentWeeklySummary:{title:"å¨ä¼å工使»ç»",description:"æ¯æ¬¡å¨ä¼ååºäºæè¿ä¸å¨ memory çæå·¥ä½æ»ç»ã",frequency:"馿¬¡æ§è¡ï¼2026å¹´1æ2æ¥ 08:30ï½æ¯7天䏿¬¡ï½æªæ¢å°2026å¹´3æ1æ¥"}}},PR={title:"é¢é",description:"管çåé
ç½®æ¶æ¯é¢é",loading:"æ£å¨å è½½é¢é...",configSaved:"é
ç½®ä¿åæå",configFailed:"é
ç½®ä¿å失败",botConflictTitle:"æºå
168¨äººå·²è¢«ä½¿ç¨",botConflictDescription:"该æºå¨äººå·²è¢« {{agents}} çååé¢é使ç¨ï¼ä»ç¶ä¿åå¯è½å¯¼è´æ¶æ¯å²çªã",botConflictConfirm:"ä»ç¶ä¿å",channelType:"é¢éç±»å",status:"ç¶æ",totalItems:"å
± {{count}} 项",botPrefix:"æºå¨äººåç¼",showToolCalls:"æ¾ç¤ºå·¥å
·è°ç¨ä¿¡æ¯",showToolCallsTooltip:"åç¨æ·æ¾ç¤ºå·¥å
·è°ç¨ä¿¡æ¯ï¼å
³éåéèï¼",showToolResults:"æ¾ç¤ºå·¥å
·ç»æä¿¡æ¯",showToolResultsTooltip:"åç¨æ·æ¾ç¤ºå·¥å
·ç»æä¿¡æ¯ï¼å
³éåéèï¼",toolCallMaxLength:"å·¥å
·è°ç¨æå¤§æ¾ç¤ºé¿åº¦",toolResultMaxLength:"å·¥å
·ç»ææå¤§æ¾ç¤ºé¿åº¦",toolMaxLengthTooltip:"设置为 0 è¡¨ç¤ºä¸æªæ",onebotMediaBase64:"ä½¿ç¨ Base64 å鿬å°åªä½",onebotMediaBase64Tooltip:"åªä½æä»¶åéæ¹å¼ãå
³éæ¶åéæä»¶è·¯å¾ï¼å¼å¯æ¶å°æä»¶ç¼ç 为 Base64 åéãè¿ç¨ URL ä¿æä¸åã",onebotMediaBase64MaxMb:"Base64 æä»¶å¤§å°ä¸é",onebotMediaBase64MaxMbTooltip:"è¶
è¿æ¤å¤§å°çåªä½æä»¶å°ä½¿ç¨åå§æä»¶è·¯å¾åéã",onebotMediaBase64MaxMbRequired:"请è¾å
¥ Base64 æä»¶å¤§å°ä¸é",onebotMediaBase64MaxMbMin:"Base64 æä»¶å¤§å°ä¸éè³å°ä¸º 1 MB",onebotMediaDir:"åªä½æä»¶ç®å½",onebotMediaDirTooltip:"ä¸è½½åªä½çä¿åç®å½ãé»è®¤ä½¿ç¨ Agent å·¥ä½åºå
ç media ç®å½ã",onebotMediaDownloadMaxMb:"å
¥ç«åªä½å¤§å°ä¸é",onebotMediaDownloadMaxMbTooltip:"ä» OneBot ä¸è½½çå个å¾çãé³é¢ãè§é¢ææä»¶çæå¤§å¤§å°ã",onebotMediaDownloadMaxMbRequired:"请è¾å
¥å
¥ç«åªä½å¤§å°ä¸é",onebotMediaDownloadMaxMbMin:"å
¥ç«åªä½å¤§å°ä¸éè³å°ä¸º 1 MB",onebotWsHostTooltip:"åå WebSocket æå¡ççå¬å°åãä¿æ 127.0.0.1 æ¶ä»
æ¬æºç OneBot 客æ·ç«¯å¯è¿æ¥ï¼å¡«åå
¶ä»å°åä¼å°ç«¯å£æ´é²å°ç½ç»ï¼æ¤æ¶å¿
须设置访é®ä»¤çã",onebotAccessTokenTooltip:"OneBot 客æ·ç«¯éè¿ Authorization 请æ±å¤´åéçå
±äº«ä»¤çãçå¬å°å䏿¯åç¯å°åæ¶å¿
å¡«ã",onebotAccessTokenRequired:"çå¬å°å䏿¯åç¯å°åæ¶å¿
须设置访é®ä»¤ç",showThinking:"æ¾ç¤ºæèè¿ç¨",showThinkingTooltip:"åç¨æ·æ¾ç¤ºæ¨¡åçæè/æ¨çå
容ï¼å
³éåéèï¼",noTextDebounce:"æ ææ¬æ¶æ¯é²æ",noTextDebounceTooltip:"å¼å¯åï¼ä»
å«åªä½ï¼å¾ç/è§é¢/æä»¶ï¼çæ¶æ¯ä¼æåï¼çå¾
åç»ææ¬æ¶æ¯åå¹¶å¤çï¼å
³éåæææ¶æ¯ç«å³å¤çãè¯é³æ¶æ¯å§ç»ç«å³å¤ç",streamingEnabled:"æµå¼è¾åº",streamingEnabledDingtalkHint:"ä»
卿¶æ¯ç±»å为 Card æ¶çæ",streamingEnabledFeishuHint:"éè¦å¨é£ä¹¦å¼æ¾å¹³å°æé管ççé¢å¼é cardkit:card:write æé",ackMessage:"峿¶ç¡®è®¤æ¶æ¯",ackMessageTooltip:"æ¶å°æ¶æ¯åç«å³åé䏿¡ç¡®è®¤åå¤ï¼å¨ Agent å¤çä¹åãç空åç¦ç¨ã",ackMessagePlaceholder:"â³ æ£å¨å¤çä¸...",notSet:"æªè®¾ç½®",clickCardToEdit:"ç¹å»å¡çè¿è¡ç¼è¾",settings:"设置",channelSettings:"é¢é设置",channelNames:{console:"æ§å¶å°",dingtalk:"éé",feishu:"é£ä¹¦",discord:"Discord",telegram:"Telegram",qq:"QQ",imessage:"iMessage",mattermost:"Mattermost",matrix:"Matrix",onebot:"OneBot",mqtt:"MQTT",voice:"è¯é³",sip:"SIP",wecom:"ä¼ä¸å¾®ä¿¡",wechat:"微信",xiaoyi:"å°èº",yuanbao:"å
å®",slack:"Slack"},pleaseInputDbPath:"请è¾å
¥æ°æ®åºè·¯å¾",pleaseInputPollInterval:"请è¾å
¥è½®è¯¢é´é",discordBotToken:"Discordæºå¨äººä»¤ç",acceptBotMessages:"æ¥æ¶æºå¨äººæ¶æ¯",acceptBotMessagesTooltip:"å¼å¯åï¼å°æ¥æ¶æ¥èªå
¶ä»æºå¨äººçæ¶æ¯",httpProxyPlaceholder:"http://127.0.0.1:18118",httpProxyAuthPlaceholder:"ç¨æ·å:å¯ç ",dbPathPlaceholder:"~/Library/Messages/chat.db",botPrefixPlaceholder:"@bot",dmPolicy:"ç§èçç¥",dmPolicyTooltip:"æ§å¶è°å¯ä»¥éè¿ç§è䏿ºå¨äººäº¤äºã弿¾ï¼ææäººï¼ç½ååï¼ä»
éææç¨æ·",groupPolicy:"群èçç¥",groupPolicyTooltip:"æ§å¶è°å¯ä»¥å¨ç¾¤èä¸ä¸æºå¨äººäº¤äºã弿¾ï¼ææäººï¼ç½ååï¼ä»
éææç¨æ·",requireMention:"éè¦ @æå",requireMentionTooltip:"å¼å¯åï¼ç¾¤èä¸ä»
å¨è¢« @æå æ¶æä¼åå¤",policyOpen:"弿¾",policyAllowlist:"ç½åå",allowFrom:"ç½ååç¨æ·",allowFromTooltip:"å
è®¸ä¸æºå¨äººäº¤äºçç¨æ· ID å表ãå¯ç¨ç½åååï¼ç¨æ·ç§èæºå¨äººå³å¯å¨æç»æ¶æ¯ä¸çå°èªå·±ç ID",allowFromPlaceholder:"è¾å
¥ç¨æ·IDåæå车添å ",denyMessage:"æç»è®¿é®æ¶æ¯",denyMessageTooltip:"èªå®ä¹æ¶æ¯ï¼å½ç¨æ·è¢«æç»è®¿é®æ¶æ¾ç¤º",twilioAccountSid:"Twilio
168è´¦æ· SID",twilioAuthToken:"Twilio 认è¯ä»¤ç",phoneNumber:"çµè¯å·ç ",phoneNumberSid:"çµè¯å·ç SID",phoneNumberSidHelp:"å¯å¨ Twilio æ§å¶å°ç Phone Numbers â Active Numbers 䏿¾å°ã",ttsProvider:"TTS æä¾å",ttsVoice:"TTS è¯é³",sttProvider:"STT æä¾å",language:"è¯è¨",welcomeGreeting:"欢è¿è¯",welcomeText:"æ¬¢è¿æ¶æ¯",welcomeTextTooltip:"ç¨æ·å½å¤©é¦æ¬¡è¿å
¥æºå¨äººåèä¼è¯æ¶æºå¨äººèªå¨åéçæ¶æ¯",welcomeTextPlaceholder:"ä¾å¦ï¼ä½ å¥½ï¼ææ¯ QwenPawï¼æä»ä¹å¯ä»¥å¸®ä½ çï¼",loginWeCom:"è·åä¼ä¸å¾®ä¿¡äºç»´ç ",wecomSetupGuide:"使ç¨äºç»´ç å建æºå¨äººæ¶ï¼æææºå¨äººå¯ä½¿ç¨çè½åæ¶è¯·éæ©ãæä¸ææãã妿鿩äºã确认ææãï¼é¤äºæºå¨äººå建è
ï¼å
¶ä»ç¨æ·å¯è½æ æ³ä¸æºå¨äººäº¤äºã",wecomScanAuth:"æ«ç ææ",wecomAuthHint:"请使ç¨ä¼ä¸å¾®ä¿¡æ«æä¸æ¹äºç»´ç 宿ææï¼æææåå Bot ID ä¸ Secret å°èªå¨å¡«å
¥ã",wecomAuthSuccess:"ä¼ä¸å¾®ä¿¡æºå¨äººæææåï¼Bot ID ä¸ Secret å·²èªå¨å¡«å
¥",wecomQrcodeFailed:"è·åä¼ä¸å¾®ä¿¡äºç»´ç 失败ï¼è¯·éè¯",dingtalkSetupGuide:"使ç¨ééæ«ç ä¸é®å建æºå¨äººãæ«ç åå°èªå¨å建ééåºç¨å¹¶è·å Client ID å Client Secretã",dingtalkScanAuth:"æ«ç å建æºå¨äºº",dingtalkGetQrcode:"è·åééäºç»´ç ",dingtalkScanHint:"请使ç¨ééæ«æä¸æ¹äºç»´ç ï¼å®æææå Client ID ä¸ Client Secret å°èªå¨å¡«å
¥ã",dingtalkAuthSuccess:"ééæºå¨äººå建æåï¼Client ID ä¸ Client Secret å·²èªå¨å¡«å
¥",dingtalkQrcodeFailed:"è·åééäºç»´ç 失败ï¼è¯·ç¨åéè¯",dingtalkQrcodeExpired:"äºç»´ç å·²è¿æï¼è¯·éæ°è·å",qqSetupGuide:"ä½¿ç¨ QQ æ«ç æææºå¨äººï¼æ«ç åå°èªå¨è·å APP ID å Client Secret å¹¶å¡«å
¥ã",qqScanAuth:"æ«ç æææºå¨äºº",qqGetQrcode:"è·å QQ äºç»´ç ",qqScanHint:"è¯·ä½¿ç¨ QQ æ«æä¸æ¹äºç»´ç ï¼å®æææå APP ID å Client Secret å°èªå¨å¡«å
¥ã",qqAuthSuccess:"QQ æºå¨äººæææåï¼APP ID å Client Secret å·²èªå¨å¡«å
¥",qqQrcodeFailed:"è·å QQ äºç»´ç 失败ï¼è¯·ç¨åéè¯",qqQrcodeExpired:"äºç»´ç å·²è¿æï¼è¯·éæ°è·å",atSenderOnReply:"å夿¶@åéè
",atSenderOnReplyTooltip:"å¼å¯åï¼æºå¨äººå¨ç¾¤èä¸å夿¶ä¼å¨ç¬¬ä¸æ¡æ¶æ¯ä¸@åéè
ãæ³¨æï¼å¡ç模å¼ä¸ï¼@åè½ä»
对ä¼ä¸å
鍿åçæã",dingtalkEndpoint:"API å°å",dingtalkEndpointTooltip:"ç¨äºééç§æåé¨ç½²çèªå®ä¹ API å°åãç空å使ç¨å®æ¹é»è®¤å°åã",cardAutoLayout:"宽å±å¡çï¼èªå¨å¸å±ï¼",cardAutoLayoutTooltip:"å¼å¯åï¼ééå°å¨æ¡é¢ç«¯ä»¥å®½å±æ¸²æ AI å¡çãä»
æ¶æ¯ç±»å为 card æ¶çæãå¡ç模æ¿éå·²åå¸ã",wecomCancelled:"ææå·²åæ¶",wecomAuthFailed:"ææå¤±è´¥ï¼{{msg}}",slackBotToken:"Bot Token",slackBotTokenTooltip:"Slack Bot User OAuth Tokenï¼ä»¥ xoxb- å¼å¤´",slackAppToken:"App Token",slackAppTokenTooltip:"Slack App-Level Tokenï¼Socket Modeï¼ï¼ä»¥ xapp- å¼å¤´",slackProxyTooltip:"HTTP 代çå°åï¼ç¨äºè¿æ¥ Slack API",voiceSetupGuide:"请å
注å Twilio è´¦æ·å¹¶è´ä¹°çµè¯å·ç ï¼ç¶åå¨ä¸æ¹å¡«ååæ®ãAccount SID å Auth Token å¯å¨ Twilio æ§å¶å°é¦é¡µæ¾å°ãPhone Number SID å¨ Phone Numbers â Active Numbers 䏿¥çã",voiceSetupLink:"æå¼ Twilio æ§å¶å°",sipSetupGuide:"é
ç½® SIP 注åæå¡å¨ï¼å¦ AsteriskãFreeSWITCHï¼ï¼ç¶åå¨ä¸æ¹å¡«å SIP åæ®ãDev 模å¼ä½¿ç¨ pyVoIP 卿¬å°å¤ç SIP/RTPï¼Production 模å¼ä½¿ç¨ LiveKit SIP Serverã",sipMode:"SIP 模å¼",sipModeTooltip:"Devï¼çº¯ Python pyVoIPï¼é忬å°å¼åæµè¯ãProductionï¼LiveKit SIP Serverï¼éåé«å¹¶åç产ç¯å¢ã",sipServer:"SIP æå¡å¨",sipServerPlaceholder:"ç空使ç¨å
置注åæå¡å¨",sipServerPlaceholderLivekit:"LiveKit æ¨¡å¼æ éå¡«å",sipUsername:"SIP ç¨æ·å",sipPassword:"SIP å¯ç ",sipPort:"SIP 端å£",sipTransport:"ä¼ è¾åè®®",sipDashscopeApiKey:"DashScope API Key",sipDashscopeApiKeyTooltip:"é¿éäº DashScope STT/TTS ç API Keyãç空ååéå° DASHSCOPE_API_KEY ç¯å¢åéã",livekitUrl:"LiveKit URL",livekitApiKey:"LiveKit API Key",livekitApiSecret:"LiveKit API Secret",livekitSipTrunkId:"LiveKit SIP Trunk ID",livekitRoomName:"LiveKit æ¿é´åç§°",livekitRoomNameTooltip:"Agent è¿å
¥å¹¶çå¾
SIP æ¥çµç LiveKit æ¿é´åç§°ï¼éä¸ S
168IP Dispatch Rule ä¸é
ç½®çæ¿é´åä¸è´ã",xiaoyiSetupGuide:"请å¨å为å¼åè
å¹³å°å建æºè½ä½å¹¶è·å AK/SK å Agent IDãAK/SK å¯å¨åè¯ç®¡ç页颿¾å°ã",filterAll:"å
¨é¨",builtin:"å
ç½®",custom:"èªå®ä¹",feishuRegion:"å°åº",feishuRegionTooltip:"å½å
ç¨æ·éæ©é£ä¹¦ï¼æµ·å¤ç¨æ·éæ© Lark",feishuChina:"é£ä¹¦ï¼å½å
ï¼",feishuInternational:"Larkï¼æµ·å¤ï¼",feishuScanGuide:"使ç¨é£ä¹¦æ«ç ä¸é®å建æºå¨äººãæ«ç åå°èªå¨å建é£ä¹¦åºç¨å¹¶è·å App ID å App Secretã",feishuScanLogin:"æ«ç å建æºå¨äºº",feishuGetQrcode:"è·åé£ä¹¦äºç»´ç ",feishuScanHint:"请使ç¨é£ä¹¦æ«æä¸æ¹äºç»´ç ï¼å®æææå App ID ä¸ App Secret å°èªå¨å¡«å
¥ã",feishuAuthSuccess:"é£ä¹¦æºå¨äººå建æåï¼App ID ä¸ App Secret å·²èªå¨å¡«å
¥",feishuQrcodeExpired:"äºç»´ç å·²è¿æï¼è¯·éæ°è·å",feishuQrcodeFailed:"è·åé£ä¹¦äºç»´ç 失败ï¼è¯·ç¨åéè¯",wechatSetupGuide:"å¾®ä¿¡ä¸ªäººè´¦å· Botï¼iLink åè®®ï¼ã馿¬¡å¯å¨æ¶è¥æªé
ç½® Bot Tokenï¼ç³»ç»å°æå°äºç»´ç 龿¥ï¼è¯·æ«ç ç»å½ï¼Token å°èªå¨ä¿åå°æ¬å°æä»¶ä¾åç»ä½¿ç¨ã",wechatContextTokenLimit:"微信 iLink å¹³å°éå¶ï¼æ¯æ¡ç¨æ·æ¶æ¯å¯¹åºç context_token æå¤åªè½åå¤ 10 æ¡æ¶æ¯ï¼è¿æ¯å¹³å°ä¾§ç硬æ§éå¶ã建议å
³éæèåå·¥å
·è¾åºï¼æè
ä½¿ç¨æ¶æ¯åå¹¶åè½ä»¥é¿å
è¶
åºéå¶å¯¼è´æ¶æ¯åé失败ã",wechatBotToken:"Bot Token",wechatBotTokenTooltip:"æ«ç ç»å½åè·åç Bearer Tokenãç空æ¶å°å¨å¯å¨æ¶å¼å¯¼æ«ç ç»å½ã",wechatBotTokenPlaceholder:"æ«ç ç»å½åèªå¨å¡«å
¥ï¼ä¹å¯æå¨ç²è´´",wechatBotTokenFile:"Token æä»¶è·¯å¾",wechatBotTokenFileTooltip:"Token æä¹
ååå¨è·¯å¾ï¼é»è®¤ä¸º ~/.qwenpaw/wechat_bot_token",wechatMediaDir:"åªä½æä»¶ç®å½",wechatMessageMerge:"æ¶æ¯åå¹¶",wechatMessageMergeTooltip:"å°å¤æ¡å夿¶æ¯å并为æ´å°çæ¶æ¯åéï¼é¿å
触å微信 context_token 10 æ¡æ¶æ¯çéå¶ãå¼å¯å¹¶è®¾ç½®å»¶æ¶ä¸
168º 0 æ¶ï¼ææææ¬åå¤å°å¨è¯·æ±ç»æååå¹¶ä¸ºä¸æ¡æ¶æ¯åéãè®¾ç½®æ£æ°å»¶æ¶ï¼æ¯«ç§ï¼åå并该æ¶é´çªå£å
çç¸é»æ¶æ¯ã",wechatMessageMergeDelayMs:"åå¹¶å»¶æ¶ï¼æ¯«ç§ï¼",wechatMessageMergeDelayMsTooltip:"ç¸é»æ¶æ¯åå¹¶çæ¶é´çªå£ã设为 0 è¡¨ç¤ºå°æææ¶æ¯åå¹¶ä¸ºä¸æ¡æç»åå¤ãè®¾ä¸ºæ£æ°ï¼å¦ 1000ï¼åç¼å²è¯¥æ¶é´æ®µå
çæ¶æ¯ååéã",wechatMessageMergeDelayMsValidation:"请è¾å
¥ææçéè´æ´æ°",wechatScanLogin:"æ«ç ç»å½",wechatGetQrcode:"è·åç»å½äºç»´ç ",wechatScanHint:"请ç¨å¾®ä¿¡æ«æäºç»´ç ï¼æ«ç æååç¹å»ä¿å",wechatQrcodeFailed:"è·åäºç»´ç 失败ï¼è¯·ç¨åéè¯",wechatLoginSuccess:"微信æ«ç ç»å½æåï¼Token 已填å
¥",wechatQrcodeExpired:"äºç»´ç å·²è¿æï¼è¯·éæ°è·å",shareSessionInGroup:"群èå
±äº«ä¸ä¸æ",shareSessionInGroupTooltip:"å¯ç¨æ¶ï¼ç¾¤å
æææåå
±äº«åä¸ä¼è¯ä¸ä¸æï¼ç¦ç¨æ¶ï¼æ¯ä½æåç»´æ¤åèªç¬ç«çä¼è¯ã",accessControlEnabled:"è®¿é®æ§å¶",accessControlEnabledTooltip:"å¼å¯åï¼åªæç½ååç¨æ·å¯ä»¥ä¸æºå¨äººäºå¨ãæªç¥ç¨æ·ä¼æ¶å°èªå·±çIDæç¤ºï¼å¹¶è¢«æ·»å å°å¾
审æ¹å表ã",accessControlDm:"ç§èè®¿é®æ§å¶",accessControlDmTooltip:"å¼å¯åï¼åªæç½ååç¨æ·å¯ä»¥éè¿ç§è䏿ºå¨äººäºå¨",accessControlGroup:"群èè®¿é®æ§å¶",accessControlGroupTooltip:"å¼å¯åï¼åªæç½ååç¨æ·å¯ä»¥å¨ç¾¤èä¸ä¸æºå¨äººäºå¨",dmDisabled:"ç¦ç¨ç§è",dmDisabledTooltip:"å¼å¯åï¼æºå¨äººå°å®å
¨å¿½ç¥ææç§èæ¶æ¯",groupDisabled:"ç¦ç¨ç¾¤è",groupDisabledTooltip:"å¼å¯åï¼æºå¨äººå°å®å
¨å¿½ç¥ææç¾¤èæ¶æ¯",manageAccessControl:"è®¿é®æ§å¶",pen
168dingApprovals:"å¾
审æ¹",whitelist:"ç½åå",blacklist:"é»åå",addUser:"æ·»å ç¨æ·",addUserPlaceholder:"è¾å
¥ç¨æ· ID",userId:"ç¨æ· ID",channel:"é¢é",firstMessage:"馿¡æ¶æ¯",time:"æ¶é´",actions:"æä½",approve:"å å
¥ç½åå",deny:"å å
¥é»åå",dismiss:"忽ç¥",noWhitelistUsers:"ææ ç½ååç¨æ·",noBlacklistUsers:"ææ é»ååç¨æ·",noPendingApprovals:"ææ å¾
审æ¹",userAdded:"ç¨æ·æ·»å æå",userRemoved:"ç¨æ·å 餿å",approveSuccess:"å·²å å
¥ç½åå",denySuccess:"å·²å å
¥é»åå",dismissSuccess:"已忽ç¥",operationFailed:"æä½å¤±è´¥",remark:"夿³¨",usernamePlaceholder:"è¾å
¥ç¨æ·åç§°ï¼å¯éï¼",remarkPlaceholder:"è¾å
¥å¤æ³¨ï¼å¯éï¼",filterByChannel:"ææ¸ éçé",selectToOperate:"鿩项ç®è¿è¡æä½",selectedCount:"å·²é {{count}} 项",batchApprove:"æ¹ééè¿",batchDeny:"æ¹éæé»",batchDismiss:"æ¹é忽ç¥",batchApproveConfirm:"确认éè¿ {{count}} ä½ç¨æ·ï¼",batchDenyConfirm:"ç¡®è®¤å° {{count}} ä½ç¨æ·å å
¥é»ååï¼",batchDismissConfirm:"ç¡®è®¤å¿½ç¥ {{count}} ä½ç¨æ·ï¼",batchSuccess:"å·²æåå¤ç {{count}} ä½ç¨æ·",batchRemove:"å é¤",batchRemoveConfirm:"确认å é¤ {{count}} ä½ç¨æ·ï¼",enabledSection:"å·²æ¿æ´»",enabledCount:"{{count}} 个",availableSection:"æªæ¿æ´»",enableAction:"å¯ç¨",noEnabledChannels:"ææ å·²æ¿æ´»é¢é",goEnableChannels:"å»å¯ç¨é¢é"},AR={title:"ä¼è¯",description:"æ¥çåç®¡çæ´»å¨è天ä¼è¯",loading:"æ£å¨å è½½ä¼è¯...",confirmDelete:"确认å é¤",deleteConfirm:"ç¡®å®è¦å 餿¤ä¼è¯åï¼",batchDeleteConfirm:"ç¡®å®è¦å é¤éä¸ç {{count}} 个ä¼è¯åï¼",deleteSuccess:"ä¼è¯å 餿å",deleteFailed:"ä¼è¯å é¤å¤±è´¥",batchDeleteSuccess:"æåå é¤ {{count}} 个ä¼è¯",batchDeleteFailed:"æ¹éå é¤ä¼è¯å¤±è´¥",saveSuccess:"ä¼è¯ä¿åæå",saveFailed:"ä¼è¯ä¿å失败",batchDeleteButton:"æ¹éå é¤",filterTitle:"ææ é¢çé",filterUserId:"æç¨æ·IDçé",filterChannel:"æé¢éçé",allChannels:"å
¨é¨é¢é",totalItems:"å
± {{count}} 项",selectedItems:"å·²é {{count}} 项",editSession:"ç¼è¾ä¼è¯",pleaseInputName:"请è¾å
¥ä¼è¯åç§°",sessionNamePlaceholder:"ä¼è¯åç§°",activeTab:"æ´»è·",archivedTab:"已彿¡£",archivedAtColumn:"彿¡£æ¶é´",archive:{action:"彿¡£",unaction:"忶彿¡£",batchAction:"æ¹é彿¡£",success:"ä¼è¯å·²å½æ¡£",successHint:"ä¼è¯å·²å½æ¡£ï¼å¯å¨ãæ§å¶-ä¼è¯-已彿¡£ãæ¥ç",failed:"彿¡£å¤±è´¥",unarchiveSuccess:"已忶彿¡£",unarchiveFailed:"忶彿¡£å¤±è´¥",batchSuccess:"已彿¡£ {{count}} 个ä¼è¯",batchFailed:"æ¹é彿¡£å¤±è´¥",batchUnaction:"æ¹é忶彿¡£",batchUnarchiveSuccess:"已忶彿¡£ {{count}} 个ä¼è¯",batchUnarchiveFailed:"æ¹é忶彿¡£å¤±è´¥",groupLabel:"已彿¡£ ({{count}})",modalTitle:"已彿¡£çè天记å½",unarchiveAll:"å
¨é¨åæ¶å½æ¡£",noArchived:"ææ å·²å½æ¡£çä¼è¯"}},MR={parent:"设置",environments:"ç¯å¢åé",title:"ç¯å¢åé",description:"为æºè½ä½åæè½é
ç½®é®å¼ç¯å¢åéã",key:"é®",value:"å¼",variableNamePlaceholder:"VARIABLE_NAME",valuePlaceholder:"å¼",insertRowBelow:"å¨ä¸æ¹æå
¥è¡",deleteRow:"å é¤è¡",deleteVariable:"å é¤åé",deleteConfirm:'å é¤ "{{name}}"?',deleteSelected:"å é¤éä¸é¡¹",deleteSelectedConfirm:"å é¤ {{label}}?",keyRequired:"é®ä¸ºå¿
填项",invalidKeyFormat:"鮿 ¼å¼æ æ",duplicateKey:"é®éå¤",saveSuccess:"ç¯å¢åéå·²ä¿å",saveFailed:"ä¿å失败",deleteSuccess:'"{{name}}" å·²å é¤',deleteFailed:"å é¤å¤±è´¥",noVariables:"å°æªé
ç½®ç¯å¢åéã",addVariable:"æ·»å åé",loading:"å è½½ä¸â¦",retry:"éè¯",of:"å
±",selected:"å·²é",variable:"åé",variables:"åé",showValue:"æ¾ç¤ºå¼",hideValue:"éèå¼",searchPlaceholder:"æç´¢åé",qwenpawSettings:"QwenPaw å·²ç¥é
ç½®",qwenpawSettingsDescription:"é»è®¤å±ç¤ºå·²ç¥é
ç½®ï¼å
æ¬é»è®¤å¼ååªè¯»å¯å¨é¡¹ã",liveSettings:"宿¶é
ç½®",noLiveVariables:"å½åç鿡件䏿²¡æå¯å®æ¶ä¿®æ¹çé
ç½®ã",customSettings:"èªå®ä¹åé",noCustomVariables:"å°æªæ·»å èªå®ä¹åè¿ç¨åéã",editVariable:"ç¼è¾åé",applyNow:"ç«å³åºç¨",applyHint:"å½å QwenPaw è¿ç¨ç«å³æ´æ°ï¼å·²ç»è¿è¡ç MCP éè¦éæ°å è½½ã",applied:"ç¯å¢åéå·²åºç¨",appliedWithFailures:"åéå·²ä¿åï¼ä½æ {{count}} 个 MCP æªè½éæ°å è½½",resetVariable:"éç½®åé",resetSuccess:"å·²æ¢å¤ä¸ºç³»ç»å¼æä»£ç é»è®¤å¼",startupOnly:"å
168ªè¯»",readonlySettings:"åªè¯»é
ç½®",noReadonlyVariables:"å½åç鿡件䏿²¡æåªè¯»é
ç½®ã",impactTitle:"è¿ç¨å½±å",explicitConsumers:"{{count}} 个 MCP æç¡®ä½¿ç¨æ¤åé",implicitConsumers:"{{count}} 个 stdio MCP å¯è½éå¼ç»§æ¿æ¤åé",restartMode:"å·²è¿è¡ç MCP",restartAffected:"éæ°å è½½åå½±åç MCP",restartNone:"ä¸éæ°å è½½",restartAllStdio:"éæ°å è½½å
¨é¨ stdio MCP",readonlyReason:{startup:"QwenPaw å¯å¨æ¶ç¡®å®",agent_owned:"ç±å Agent é
置管ç",initial_default:"ä»
ä½ä¸º Agent é
ç½®çåå§åé»è®¤å¼"},mutabilityDescription:{hot_runtime:"æ¯æ¬¡æä½å¼å§æ¶ä»å½å QwenPaw è¿ç¨è¯»åã",hot_process:"å¯éè¿ os.getenv() 读åï¼å¹¶ç±ä¹åå¯å¨çåè¿ç¨ç»§æ¿ã",startup_only:"ä»
便¥çï¼QwenPaw è¿è¡æé´ä¸è½ä¿®æ¹ã",internal:"ç± QwenPaw å
é¨ç®¡çã"},variableDescriptions:{QWENPAW_LLM_STREAM_FIRST_CONTENT_TIMEOUT:"çå¾
é¦ä¸ªæææµå¼å
容çæé¿æ¶é´ï¼è®¾ä¸º 0 å¯å
³éæ£æµã",QWENPAW_LLM_STREAM_IDLE_TIMEOUT:"ä¸¤ä¸ªæææµå¼å
容ä¹é´çæé¿çå¾
æ¶é´ï¼è®¾ä¸º 0 å¯å
³éæ£æµã"},source:{user:"QwenPaw",system:"ç³»ç»",default:"é»è®¤"}},DR={title:"Token æ¶è",totalTokens:"æ» Token",totalCalls:"LLM è°ç¨",toolCalls:"å·¥å
·è°ç¨",llmAndToolTrend:"LLM ä¸å·¥å
·è°ç¨è¶å¿",llmAndToolTrendTooltip:"æææºè½ä½ï¼å·²è®°å½ç¨éå
æ°æ®çå©æè½®æ¬¡ï¼ä»¥åå·¥å
·è°ç¨æå¾æ¬¡æ°ï¼ä¸ä¾èµç¨éå
æ°æ®ï¼ã䏿¯ä¸æ¹ Total Callsï¼åå§ API 次æ°ï¼ï¼å级åä¼è¯ç轮次å¯è½ä¸º 0ã",llmAndToolTrendLoadFailed:"LLM ä¸å·¥å
·è°ç¨è¶å¿å 载失败",recordedTurnsAllAgents:"LLM è°ç¨",byAgent:"ææºè½ä½",agent:"æºè½ä½",unattributed:"æªå½å±",promptTokens:"è¾å
¥ Token",completionTokens:"è¾åº Token",cacheRead:"ç¼åå½ä¸ Token",cacheHitRate:"ç¼åå½ä¸ç",byModel:"ææ¨¡å",byDate:"ææ¥æ",model:"模å",date:"æ¥æ",loadFailed:"å è½½ Token æ¶èæ°æ®å¤±è´¥",noData:"æéæ¶é´æ®µå
ææ Token æ¶èæ°æ®",modelTrend:"模åç¨éè¶å¿",tokenTypeChart:"Token ç±»åè¶å¿",selectAll:"å
¨é",allSelected:"å
¨é¨",itemsSelected:"å·²é {{count}} 项",selectModels:"éæ©æ¨¡å",selectTokenTypes:"éæ© Token ç±»å"},xR={title:"æºè½ä½ç»è®¡",totalSessions:"æ»ä¼è¯æ°",totalMessages:"æ»æ¶æ¯æ°",userMessages:"ç¨æ·æ¶æ¯",assistantMessages:"æºè½ä½æ¶æ¯",promptTokens:"è¾å
¥ Token",totalInputTokens:"æ»è¾å
¥ Token",completionTokens:"è¾åº Token",toolCalls:"å·¥å
·è°ç¨",newSessions:"æ°å»ºä¼è¯",activeSessions:"æ´»è·ä¼è¯",messageTrend:"æ¶æ¯è¶å¿",sessionTrend:"ä¼è¯è¶å¿",tokenTrend:"Token è¶å¿",llmAndToolTrend:"LLM & å·¥å
·è°ç¨è¶å¿",sessionsByChannel:"ææ¸ éä¼è¯ç»è®¡",messagesByChannel:"ææ¸ éæ¶æ¯ç»è®¡",totalSessionsTooltip:"å建çä¼è¯æ»æ°ï¼æ¯ä¸ªä¼è¯å¯¹åºä¸æ¬¡ç¬ç«è天ä¸ä¸æ",totalMessagesTooltip:"ææä¼è¯ä¸çæ¶æ¯æ»æ°ï¼å«ç¨æ·æ¶æ¯åæºè½ä½æ¶æ¯",toolCallsTooltip:"æºè½ä½å³å®è°ç¨å·¥å
·ç次æ°ï¼å次 LLM è°ç¨å¯è½äº§çå¤ä¸ªå·¥å
·æå¾",messageTrendTooltip:"ç¨æ·æ¶æ¯ä¸æºè½ä½æ¶æ¯çæ°é对æ¯è¶å¿",sessionTrendTooltip:"æ°å»ºä¼è¯ä¸æ´»è·ä¼è¯ç对æ¯è¶å¿ï¼æ©è²ä¸ºå½å¤©å建çä¼è¯ï¼èè²ä¸ºå½å¤©äº§çè¿æ¶æ¯çä¼è¯",llmAndToolTrendTooltip:"å½åæºè½ä½ LLM 轮次ä¸å·¥å
·è°ç¨æ¬¡æ°ç对æ¯è¶å¿",sessionsByChannelTooltip:"ææ¶æ¯æ¸ éåå¸çä¼è¯æ°éå æ¯ï¼æªå
³èæ¸ éçä¼è¯é»è®¤å½ä¸º Console",messagesByChannelTooltip:"ææ¶æ¯æ¸ éåå¸çæ¶æ¯æ»æ°å æ¯",currentAgentLlmCalls:"已记å½è½®æ¬¡",currentAgentTokenTrendTooltip:"å½åæºè½ä½ä¼è¯ä¸æè½®æ¬¡å
æ°æ®ç´¯è®¡çè¾å
¥ãè¾åºä¸ç¼åå½ä¸ Token è¶å¿ï¼ç¼åå½ä¸ Token æ¯è¾å
¥ Token çåé",currentAgentPromptTokensTooltip:"æéæ¶é´æ®µå
ï¼å½åæºè½ä½åä¼è¯ç´¯è®¡çè¾å
¥ Tokenï¼ä¾èµè½®æ¬¡ç¨éå
æ°æ®ï¼å级åä¼è¯å¯è½ä¸º 0ï¼",currentAgentCacheHitRateTooltip:"æéæ¶é´æ®µå
ï¼å½åæºè½ä½å·²è§æµç¼åè°ç¨ç Token å æå½ä¸çï¼ç¼åå½ä¸ Token / å¯ç¼åè¾å
¥ Tokenï¼æ å¯è§æµæ°æ®æ¶æ¾ç¤º âï¼",currentAgentCompletionTokensTooltip:"æéæ¶é´æ®µ
168å
ï¼å½åæºè½ä½åä¼è¯ç´¯è®¡çè¾åº Tokenï¼ä¾èµè½®æ¬¡ç¨éå
æ°æ®ï¼å级åä¼è¯å¯è½ä¸º 0ï¼",currentAgentLlmCallsTooltip:"æéæ¶é´æ®µå
ï¼å½åæºè½ä½å·²è®°å½ç¨éå
æ°æ®çå©æè½®æ¬¡æ°ï¼éåå§ API è°ç¨æ¬¡æ°ï¼å级åä¼è¯å¯è½ä¸º 0ï¼",loadFailed:"å è½½ç»è®¡æ°æ®å¤±è´¥",noData:"æéæ¶é´æ®µå
ææ ç»è®¡æ°æ®",retry:"éè¯"},RR={selectModel:"éæ©æ¨¡å",noConfiguredModels:"ææ å·²é
置模å",noFreeModels:"ææ å¯ç¨çå
费模å",switchFailed:"åæ¢æ¨¡å失败",searchModels:"æç´¢æ¨¡å...",clearSearch:"æ¸
餿¨¡åæç´¢",loadingModels:"æ£å¨å 载模å",partialLoadFailed:"é¨å模åä¿¡æ¯å 载失败ã",retry:"éè¯",noModelsFound:"æªæ¾å°å¹é
çæ¨¡å",free:"å
è´¹",vision:"è§è§",freeBannerText:"å
费模åå¯è½å卿å¡ä¸ç¨³å®åç¨ééå¶çæ
åµï¼è¯¦æ
请åèæä¾å说æã",moreProviders:"æ´å¤å
è´¹æä¾åï¼éé
ç½® API Keyï¼",proBannerText:"ä»
æ¾ç¤ºå¨è®¾ç½®é¡µå·²é
ç½®çæ¨¡åã",connectToUse:"è¿æ¥ {{provider}} 以使ç¨å
费模å",configureApiKey:"é
ç½® {{provider}} API Key 以使ç¨å
费模å",configureApiKeyTitle:"åå¾é
置页",configureApiKeyConfirm:"å³å°è·³è½¬å°æ¨¡åé
置页é¢ï¼é
ç½® {{provider}} ç API Keyãæ¯å¦ç»§ç»ï¼",goToConfigure:"åå¾é
ç½®",noModelsDiscovered:"å·²è¿æ¥ï¼æ¨¡åå è½½ä¸...",oauthTitle:"è¿æ¥ {{provider}}",oauthDescription:"å°æå¼ä¸ä¸ªæ°çæµè§å¨çªå£ä»¥ææè®¿é® {{provider}}ï¼API å¯é¥å°èªå¨ä¿åã",oauthContinue:"ç»§ç»",oauthWaiting:"çå¾
ææä¸...",oauthWaitingDescription:"è¯·å¨æµè§å¨çªå£ä¸å®æææã",oauthConnected:"å·²æåè¿æ¥ {{provider}}",oauthFailed:"ææå¤±è´¥ï¼è¯·éè¯",oauthTimeout:"ææè¶
æ¶ï¼è¯·éè¯",oauthModelUnavailable:"æé模åå·²ä¸å¯ç¨ï¼è¯·æ£æ¥ä¾åºå模ååéè¯ã",viewMore:"æ¾ç¤ºæ´å¤ ({{count}})",addAndUse:"æ·»å 并使ç¨",availableToAdd:"坿·»å 模å",addFailed:"æ·»å æ¨¡å失败",hideModel:"éèæ¨¡å",hiddenModels:"å·²éèæ¨¡åï¼{{count}}ï¼",restoreModel:"æ¢å¤æ¨¡å",restore:"æ¢å¤",visibilityFailed:"æ´æ°æ¨¡åå¯è§æ§å¤±è´¥",agentModelSettings:"Agent 模åè·¯ç±",agentSettingsLoadFailed:"å è½½ Agent 模å设置失败",loadingAgentSettings:"æ£å¨å è½½ Agent 模å设置",agentSettingsSaveFailed:"ä¿å Agent 模å设置失败",agentSettingsSaved:"Agent 模å设置已ä¿å",saveAgentSettings:"ä¿åè·¯ç±è®¾ç½®",thinkingLevel:"æè深度",thinkingUnsupported:"å½åæ¨¡åæªå£°æå¯é
ç½®çæèè½åã",thinking:{inherit:"模åé»è®¤",off:"å
³é",low:"ä½",medium:"ä¸",high:"é«"},subagentModel:"Sub-agent 模å",sameAsPrimary:"ä¸ä¸»æ¨¡åç¸å",enableFallback:"å¯ç¨æ¨¡åé级",fallbackScope:"é级èå´",configuredModels:"å·²é
置模å",freeModelsOnly:"ä»
å
费模å",chooseFallback:"éæ©å¤ç¨æ¨¡å",moveFallbackUp:"ä¸ç§» {{model}}",moveFallbackDown:"ä¸ç§» {{model}}",removeFallback:"ç§»é¤ {{model}}",fallbackActive:"å®é
å¤ç模åï¼{{provider}} / {{model}}"},IR=JSON.parse('{"discoveryOriginApi":"API æ£æµ","discoveryOriginCatalog":"宿¹ç®å½","discoveryOriginBoth":"API + ç®å½","availabilityAvailable":"å¯ç¨","availabilityPermissionDenied":"æ æé","availabilityNotFound":"æªæ¾å°","availabilityIncompatible":"ä¸å
¼å®¹å¯¹è¯æ¥å£","availabilityRateLimited":"éæµä¸","availabilityTransientError":"ææ¶ä¸å¯ç¨","availabilityUnverified":"æªéªè¯","modelAlreadyConfigured":"å·²é
ç½®","llmConfiguration":"LLM é
ç½®","providersTitle":"æä¾å","providersDescription":"为æ¯ä¸ªæä¾åé
ç½® API å¯é¥å端ç¹ã","llmTitle":"模å","defaultLlm":"é»è®¤LLM","notConfiguredYet":"å°æªé
ç½®","llmDescription":"å¨è¿é设置å
¨å±é»è®¤ç LLM 模åãä½ ä¹å¯ä»¥å¨è天页é¢ä¸ºå
·ä½ Agent åç¬éæ©ä½¿ç¨ç模åã","configureProvider":"é
ç½® {{name}}","baseURL":"åºç¡ URL","apiKey":"API å¯é¥","advancedConfig":"è¿é¶é
ç½®","authMode":"é´ææ¹å¼","authModeApiKey":"API Keyï¼x-api-keyï¼","authModeAuthToken":"Auth Tokenï¼Authorization: Bearerï¼","customHeaders":"èªå®ä¹ Headers","customHeadersHint":"ä¼éå å°æ¯æ¬¡ API 请æ±ä¸ï¼ä¾å¦ x-app: cli","customHeaderKey":"Header åç§°","customHeaderValue":"Header å¼","addHeader":"+ æ·»å Header","generateConfig":"çæåæ°é
ç½®","generateConfigHint":"ä½¿ç¨ JSON æ ¼å¼è¡¨ç¤ºççæåæ°é
置项ï¼ä¼è¢«å±å¼ä¼ å
¥å°çæè¯·æ±ï¼`openai.chat.completions` æ `anthropic.messages`ï¼ä¸ã","generateConfigInvalidJson":"请è¾å
¥ææç JSON","generateConfigMustBeObject":"çæåæ°é
ç½®å¿
é¡»æ¯ JSON 对象","modelAdvancedConfig":"模åè¿é¶é
ç½®","modelGenerateConfig":"模åçæåæ°","modelGenerateConfigHint":"ä½¿ç¨ JSON æ ¼å¼è¡¨ç¤ºç该模åä¸å±çæåæ°é
置项ï¼ä¼è¢«å±å¼ä¼ å
¥å°çæè¯·æ±ä¸ãä¼å
级é«äºæä¾å级å«çè¿é¶é
ç½®ã","modelConfigSaved":"模å {{name}} çé
置已ä¿å","modelConfigSaveFailed":"ä¿å模åé
置失败","modelConfigLabel":"模åé
ç½®","maxTokensLabel":"æå¤§è¾åº Tokens","maxTokensHint":"æ¯æ¬¡ååºçæå¤§è¾åº token æ°","providerDefault":"æå¡åé»è®¤","resetMaxTokens":"æ¢å¤ä¸ºèªå¨","maxOutputCapabilityLabel":"模åè½åä¸é","unknown":"æªç¥","maxInput
168LengthLabel":"æå¤§ä¸ä¸æé¿åº¦","maxInputLengthHint":"模åä¸ä¸æçªå£å¤§å°ï¼æ§å¶ä¸ä¸æå缩éå¼ï¼â¥1000ï¼","relayReasoningLabel":"è½¬åæ¨çå
容","relayReasoningHint":"å°æ¨çå
容ï¼reasoning contentsï¼åä¼ è³åç»å¯¹è¯è½®æ¬¡","thinkingModeLabel":"å¯ç¨æè","thinkingModeHint":"å¼å¯ä»¥å¯ç¨æ¨¡åæè/æ¨çï¼å
³é以ç¦ç¨æèã","thinkingBudgetLabel":"æèé¢ç®","thinkingBudgetHint":"ä½¿ç¨æ¨¡åé»è®¤æèé¢ç®","switchToManual":"æå¨è®¾ç½®","switchToAuto":"èªå¨","reasoningEffortLabel":"æ¨ç深度","reasoningEffortHint":"æ§å¶æ¨ç深度ï¼OpenAI ç³»åï¼","protocol":"åè®®","protocolHint":"为å½åé
ç½®éæ©æä¾å API åè®®ã","selectProtocol":"è¯·éæ©åè®®","protocolOpenAI":"OpenAI å
¼å®¹ï¼Chat Completionsï¼","protocolOpenAIResponse":"OpenAI å
¼å®¹ï¼Response APIï¼","protocolAnthropic":"Anthropicï¼Messages APIï¼","currentKey":"å½åå¯é¥ï¼{{key}}","startsWith":"以 \\"{{prefix}}\\" å¼å¤´","optionalSelfHosted":"èªæç®¡æå¡å¯é","leaveBlankKeep":"çç©ºä»¥ä¿æå½åå¯é¥","enterApiKey":"è¾å
¥ API å¯é¥ ({{prefix}}...)","enterApiKeyOptional":"è¾å
¥ API å¯é¥ï¼å¯éï¼","openAIEndpoint":"OpenAI 端ç¹ï¼ä¾å¦ https://api.openai.com/v1","openAICompatibleEndpoint":"OpenAI å
¼å®¹ç«¯ç¹ï¼ä¾å¦ https://api.example.comï¼ä»
å¨ä½ çæå¡è¦æ±æ¶å追å /v1ï¼","azureEndpointHint":"Azure OpenAI 端ç¹ï¼ä¾å¦ https://<resource>.openai.azure.com/openai/v1","anthropicEndpointHint":"Anthropic 端ç¹ï¼ä¾å¦ https://api.anthropic.com","ollamaEndpointHint":"Ollama 端ç¹ï¼ä¾å¦ http://localhost:11434","lmstudioEndpointHint":"LM Studio 端ç¹ï¼ä¾å¦ http://localhost:1234/v1","apiEndpointHint":"API 端ç¹ï¼ä¾å¦ https://api.example.com","pleaseEnterBaseURL":"请è¾å
¥ API åºç¡ URL","selectBaseURL":"è¯·éæ©åºç¡ URL","selectBaseURLHint":"éæ©è¯¥æå¡åçåºåæ¥å
¥ç¹","pleaseEnterValidURL":"请è¾å
¥ææç URL","apiKeyShouldStart":"API å¯é¥åºä»¥ \\"{{prefix}}\\" å¼å¤´","configurationSaved":"{{name}} é
置已ä¿å","failedToSaveConfig":"ä¿åé
置失败","revokeAuthorization":"æ¤éææ","revokeConfirmContent":"ç¡®å®è¦ç§»é¤ {{name}} ç API å¯é¥åï¼å½å LLM 模åé
ç½®ä¹å°è¢«æ¸
é¤ã","revokeConfirmSimple":"ç¡®å®è¦ç§»é¤ {{name}} ç API å¯é¥åï¼","authorizationRevoked":"{{name}} ææå·²æ¤éï¼LLM 模åå·²æ¸
é¤","authorizationRevokedSimple":"{{name}} ææå·²æ¤é","failedToRevoke":"æ¤éææå¤±è´¥","active":"æ´»å¨ï¼{{provider}} / {{model}}","provider":"æä¾å","model":"模å","selectProvider":"éæ©æä¾åï¼å¿
须已ææï¼","selectModel":"éæ©æ¨¡å","llmModelUpdated":"LLM 模åå·²æ´æ°","failedToSave":"ä¿å失败","freeModelWarningTitle":"å
费模åæç¤º","freeModelWarningMessage":"å
费模åå¯è½å卿å¡ä¸ç¨³å®çæ
åµï¼è¯¦æ
请åèæä¾åæå¡æ¡æ¬¾ï¼","freeModelWarningDontShowAgain":"ä»åä¸åæç¤º","saved":"å·²ä¿å","save":"ä¿å","cancel":"åæ¶","loading":"å è½½ä¸...","retry":"éè¯","notSet":"æªè®¾ç½®","notRequired":"æ éé
ç½®","available":"å¯ç¨","unavailable":"ä¸å¯ç¨","providerAvailable":"å¯ç¨ï¼ææ¨¡åï¼","providerNoModels":"æªå°±ç»ªï¼æ 模åï¼","providerNotConfigured":"æªå°±ç»ªï¼æªé
ç½®ï¼","settings":"设置","actions":"æä½","search":"æç´¢","searchPlaceholder":"æç´¢æä¾å...","searchModelPlaceholder":"æç´¢æ¨¡å...","custom":"èªå®ä¹","builtin":"å
ç½®","freeTierGroup":"å
è´¹","paidGroup":"ä»è´¹","localCustomGroup":"æ¬å° & èªå®ä¹","cloudGroup":"äºç«¯æä¾å","configuredGroup":"å·²é
ç½®","configuredOnline":"个æä¾åå¨çº¿","noConfigured":"å°æªé
ç½®ä»»ä½æä¾åï¼è¯·å¨ä¸æ¹éæ©ä¸ä¸ªå¼å§ä½¿ç¨","goConfigureBtn":"å»é
ç½®","availableGroup":"å¯ç¨æä¾å","clickToConfigure":"ç¹å»é
ç½®","configureAction":"é
ç½® â","endpointCount":"{{count}} 个端ç¹","connect":"OAuth 认è¯","saveApiKey":"ä¿å","addProvider":"æ·»å æä¾å","addProviderTitle":"æ·»å èªå®ä¹æä¾å","providerIdLabel":"æä¾å ID","providerIdPlaceholder":"ä¾å¦ openai, google, anthropic","providerIdHint":"å°ååæ¯ãæ°åãè¿å符ãä¸å线ï¼å建åä¸å¯æ´æ¹ã","providerNameLabel":"æ¾ç¤ºåç§°","providerNamePlaceholder":"ä¾å¦ OpenAI, Google Gemini","defaultBaseUrlLabel":"é»è®¤ Base URL","defaultBaseUrlPlaceholder":"ä¾å¦ https://api.example.com","apiKeyPrefixLabel":"API Key åç¼ï¼å¯éï¼","apiKeyPrefixPlaceholder":"ä¾å¦ sk-","providerCreated":"æä¾å \\"{{name}}\\" å·²å建","providerCreateFailed":"å建æä¾å失败","deleteProvider":"å 餿ä¾å","deleteProviderConfirm":"ç¡®å®å é¤èªå®ä¹æä¾å \\"{{name}}\\" åå
¶æææ¨¡åï¼æ¤æä½ä¸å¯æ¤éã","providerDeleted":"æä¾å \\"{{name}}\\" å·²å é¤","providerDeleteFailed":"å 餿ä¾å失败","disableProvider":"åç¨æä¾å","disableProviderConfirm":"ç¡®å®æ¸
é¤ \\"{{name}}\\" ç API Keyï¼è¯¥æä¾åå°å为æªé
ç½®ç¶æã","disableBtn":"åç¨","changeApiKey":"ä¿®æ¹","selectVariant":"éæ© {{name}} ççæ¬","providerDisabled":"æä¾å \\"{{name}}\\" å·²åç¨","manageModels":"模å","models":"模å","manageModelsTitle":"{{provider}} â æ¨¡å管ç","userAdded":"ç¨æ·æ·»å ","addModel":"æ·»å æ¨¡å","addModels":"æ·»å æ¨¡å","autoDiscoverModels":"èªå¨åç°æ¨¡å","addModelTitle":"为 {{provider}} æ·»å æ¨¡å","modelIdLabel":"模å ID","modelIdPlaceholder":"ä¾å¦ gpt-4o, gemini-2.0-flash","modelDiscoveryUnavailableHint":"æªåç°å¯ç¨æ¨¡åã该ä¾åºåå¯è½ä¸æ¯ææ¨¡åå表æ¥è¯¢ï¼è¯·æå¨è¾å
¥æ¨¡å IDã","modelNameLabel":"模ååç§°","modelNameRequired":"请è¾å
¥æ¨¡ååç§°","modelNamePlaceholder":"ä¾å¦ GPT-4o, Gemini 2.0 Flash","modelAdded":"模å \\"{{name}}\\" 已添å ","modelAddFailed":"æ·»å æ¨¡å失败","modelAlreadyExists":"模å ID \\"{{id}}\\" å·²åå¨","autoDiscoverModelsSuccess":"模åç®å½å·²åæ¥ï¼åç° {{count}} 个æ°å鿍¡å","autoDiscoverModelsNoNew":"模åç®å½å·²åæ¥ï¼æ²¡ææ°çå鿍¡å","autoDiscoverModelsFailed":"èªå¨åç°æ¨¡å失败","modelsLastSynced":"æå忥ï¼{{time}}","modelsNeverSynced":"模åå°æªåæ¥","modelsSyncFailed":"䏿¬¡åæ¥å¤±è´¥","modelsSyncing":"æ£å¨åç°æ¨¡ååé项...","discoveredModelsReady":"å·²åç° {{count}}
168 个模ååéé¡¹ï¼æ·»å åå³å¯ä½¿ç¨","addAllDiscoveredModels":"æ·»å å
¨é¨å¯ç¨æ¨¡åï¼{{count}} 个ï¼","discoveredModelsAdded":"已添å {{count}} 个已åç°æ¨¡å","discoveredModelsAddFailed":"{{count}} ä¸ªæ¨¡åæ·»å 失败","removeModel":"ç§»é¤","removeModelConfirm":"ç¡®å®ä» {{provider}} ä¸ç§»é¤æ¨¡å \\"{{name}}\\"ï¼","modelRemoved":"模å \\"{{name}}\\" 已移é¤","modelRemoveFailed":"ç§»é¤æ¨¡å失败","loadMore":"å è½½æ´å¤ ({{count}})","modelsCount":"{{count}} 个模å","noModels":"ææ æ¨¡å","addModelFirst":"请å
æ·»å æ¨¡å","modelList":"模åå表","clearAll":"æ¸
é¤å
¨é¨","filteredModelsLoaded":"å·²å è½½è¿æ»¤æ¨¡åï¼{{count}}","filterFailed":"è¿æ»¤æ¨¡å失败","clearAllModels":"æ¸
é¤æææ¨¡å","clearAllModelsConfirm":"æ¸
餿æ {{count}} 个é¢å¤æ¨¡åï¼æ¤æä½ä¸å¯æ¤éã","allModelsCleared":"å·²æ¸
é¤ {{count}} 个模å","filterModels":"è¿æ»¤æ¨¡å","filterByProvider":"ä¾åºåï¼","searchProviderPlaceholder":"æç´¢ä¾åºååç§°","selectAllProviders":"å
¨é","clearProviderSelection":"å
¨ä¸é","noMatchingProviders":"没æå¹é
çä¾åºå","filterByModality":"è¾å
¥æ¨¡æï¼","filterFreeOnly":"ä»
å
费模åï¼","getModels":"è·å模å","discovered":"å¯ç¨æ¨¡åï¼","add":"æ·»å ","local":"æ¬å°","localType":"ç±»å","localEmbedded":"åµå
¥å¼ï¼è¿ç¨å
ï¼","localDownloadFirst":"æªå¯å¨æ¨¡åæå¡","localDownloadModel":"ä¸è½½æ¨¡å","localModelsTitle":"{{provider}} â æ¬å°æ¨¡å","localNoModels":"ææ å·²ä¸è½½ç模å","localRepoId":"模åä»åº ID","localRepoIdRequired":"请è¾å
¥æ¨¡åä»åº ID","localRepoIdPlaceholder":"ä¾å¦ Qwen/Qwen3-0.6B-GGUF","localFilename":"æä»¶åï¼å¯éï¼","localFilenamePlaceholder":"ä¾å¦ mistral-7b.Q4_K_M.gguf","localFilenameHint":"ç空å°èªå¨éæ©æä½³éåçæ¬","localSource":"æ¥æº","localDownloadSuccess":"模åä¸è½½æå","localDownloadFailed":"模åä¸è½½å¤±è´¥","localDeleteModel":"å 餿¨¡å","localDeleteConfirm":"ç¡®å®å 餿¬å°æ¨¡å \\"{{name}}\\"ï¼æ¨¡åæä»¶å°ä»ç£çä¸å é¤ã","localModelDeleted":"模å \\"{{name}}\\" å·²å é¤","localDeleteFailed":"å 餿¨¡å失败","localDownloadPending":"åå¤ä¸è½½...","localDownloading":"æ£å¨ä¸è½½ {{repo}}... å¯è½éè¦å åéã","localDownloadNavigateHint":"æ¨å¯ä»¥ç¦»å¼æ¤é¡µé¢ï¼ä¸è½½å°å¨åå°ç»§ç»è¿è¡ã","localDownloadInProgress":"å·²æä¸è½½ä»»å¡æ£å¨è¿è¡","localDownloaded":"å·²ä¸è½½","localNotDownloaded":"æªä¸è½½","localNoRecommendedModels":"å½åæºå¨é
ç½®è¾ä½ï¼ä¸éåè¿è¡æ¬å°æ¨¡å","localCancelDownloadTitle":"åæ¶ä¸è½½","localCancelDownloadAction":"åæ¶ä¸è½½","localCancelDownloadConfirm":"ç¡®å®åæ¶ä¸è½½ \\"{{repo}}\\"ï¼","localDownloadCancelled":"ä¸è½½å·²åæ¶","localCancelDownloadFailed":"åæ¶ä¸è½½å¤±è´¥","localLlamacppName":"æ¨ç弿","localLlamacppInstallHint":"éè¦å
å®è£
æ¬å°è¿è¡æ¶ï¼æè½ä¸è½½æå¯å¨æ¨¡åã","localInstallLlamacpp":"å®è£
llama.cpp","localLlamacppInstallStarted":"å·²å¼å§ä¸è½½ llama.cpp","localLlamacppInstallSuccess":"llama.cpp å®è£
æå","localLlamacppInstallFailed":"llama.cpp å®è£
失败","localRuntimeSectionTitle":"Inference Engine","localRuntimeSectionDescription":"Powered by Llama.cpp","localRuntimeComputeHint":"é»è®¤ä½¿ç¨ CPUï¼å¦é GPU å éåè½ï¼è¯·ä½¿ç¨ Ollama æ LM Studio","localRuntimeInstalled":"å·²å®è£
","localRuntimeUpdateAvailable":"坿´æ°","localRuntimeUpdateAction":"ç¹å»ä¸è½½ææ°çæ¬","localRuntimeUpdateConfirmTitle":"ç¡®è®¤æ´æ° llama.cpp","localRuntimeUpdateConfirmContent":"æ´æ°ä¼è¦çå½åå·²å®è£
ç llama.cpp çæ¬ã确认åå°å¼å§ä¸è½½å¹¶å®è£
ææ°çæ¬ã","localRuntimeUpdateConfirmContentWithServer":"æ´æ°ä¼è¦çå½åå·²å®è£
ç llama.cpp çæ¬ï¼å¹¶å
³éå½åæ£å¨è¿è¡ç模åæå¡ï¼{{model}}ï¼ã确认åå°å¼å§ä¸è½½å¹¶å®è£
ææ°çæ¬ã","localRuntimeUnsupported":"å½åç¯å¢ä¸æ¯æ","localRuntimeMissing":"æªå®è£
","localServerRunningTitle":"å½åæ¬å°æå¡","localServerOnline":"è¿è¡ä¸","localServerIdle":"ä¸å¯ç¨","localServerUnavailable":"å¼å¸¸","localNoActiveModel":"ææ è¿è¡ä¸ç模å","localNoD
168ownloadedModelsHint":"请å
ä¸è½½åéçæ¨¡åï¼åå¯å¨æ¬å°æ¨çæå¡ã","localDownloadModelFirst":"请å
ä¸è½½æ¨¡å","localEngineInstallStateLabel":"å®è£
","localEngineRunStateLabel":"ç¶æ","localEngineCurrentModelLabel":"å½åæå¡æ¨¡å","localEngineNextStepLabel":"ä¸ä¸æ¥","localEngineHealthLabel":"å¼æç¶æ","localEngineStatusHint":"请å¨ä¸æ¹å表ä¸ä¸è½½å¹¶å¯å¨åéçæ¨¡å","localStartServer":"å¯å¨","localStopServer":"忢","localServerStartFailed":"å¯å¨æ¬å°æå¡å¤±è´¥","localServerStopFailed":"忢æ¬å°æå¡å¤±è´¥","localServerSwitchTitle":"忢è¿è¡ä¸ç模å","localServerSwitchConfirm":"å½åæå¡æ£å¨è¿è¡ {{current}}ãç¡®è®¤åæ¢å° {{next}}ï¼","localSwitchModel":"忢","localModelPathMissing":"该已ä¸è½½æ¨¡åç¼ºå°æ¬å°è·¯å¾ä¿¡æ¯ã","localModelsSectionTitle":"æ¬å°æ¨¡å","localModelsSectionDescription":"ä¸è½½åå³å¯å¯å¨ï¼å½ååªå
许ä¸ä¸ªæ¨¡åä¸è½½ä»»å¡åä¸ä¸ªæ¬å°æå¡å®ä¾ã","localModelsLockedHint":"请å
å®è£
llama.cpp","localAlternativeRuntimeHint":"请å°è¯ä½¿ç¨ Ollama æ LM Studio","localModelsCount":"å·²ä¸è½½ {{downloaded}} / {{total}}","localCurrentDownloadTitle":"å½åä¸è½½","localAdvancedConfigTitle":"æ¬å°æ¨¡åè¿é¶é
ç½®","localAdvancedConfigDescription":"è¿äºè®¾ç½®ä¼åºç¨å°å
ç½®æ¬å°æ¨çè¿è¡æ¶ãå
¶ä¸æå¤§ä¸ä¸æé¿åº¦ä¼å¨ä¸ä¸æ¬¡å¯å¨æ¬å°æå¡æ¶çæ","localAdvancedConfigSaved":"æ¬å°æ¨¡åè¿é¶é
置已ä¿å","localAdvancedConfigSaveFailed":"ä¿åæ¬å°æ¨¡åè¿é¶é
置失败","localMaxContextLengthLabel":"æå¤§ä¸ä¸æé¿åº¦","localMaxContextLengthHint":"模åä¸ä¸æçªå£çæå¤§ token æ°ï¼å³å®æ¯æ¬¡è¯·æ±å¯æºå¸¦çåå²é¿åº¦ï¼å¨ä¸ä¸æ¬¡å¯å¨æ¬å°æå¡æ¶çæ","localMaxContextLengthRequired":"请è¾å
¥æå¤§ä¸ä¸æé¿åº¦","localMaxContextLengthMin":"æå¤§ä¸ä¸æé¿åº¦å¿
须大äºçäº {{min}}","localMaxContextLengthPlaceholder":"请è¾å
¥æå¤§ä¸ä¸æé¿åº¦","localServerPortLabel":"æå¡ç«¯å£","localServerPortHint":"ç空æ¶ï¼llama.cpp ä¼å¨å¯å¨æ¶èªå¨éæ©ä¸ä¸ªå¯ç¨ç«¯å£ï¼å¡«å端å£å·åä¼å¨åç»å¯å¨æ¶å¤ç¨è¯¥åºå®ç«¯å£ï¼é
ç½®ä¼å¨ä¸ä¸æ¬¡å¯å¨æ¬å°æå¡æ¶çæ","localServerPortRange":"æå¡ç«¯å£å¿
é¡»å¨ {{min}} å° {{max}} ä¹é´","localServerPortPlaceholder":"ç空åèªå¨éæ©ç«¯å£","localGenerateConfigHint":"ä½¿ç¨ JSON æ ¼å¼è¡¨ç¤ºççæåæ°é
置项ï¼ä¼è¢«å±å¼ä¼ å
¥å°çæè¯·æ±ä¸","localCustomModelTitle":"èªå®ä¹æ¨¡åä¸è½½","localCustomModelHint":"è¾å
¥æ¨¡åä»åº IDï¼ä»
æ¯æ GGUF æ ¼å¼ã","localSourceHuggingFace":"Hugging Face","localSourceModelScope":"ModelScope","ollamaModelNamePlaceholder":"ä¾å¦ mistral:7b, qwen3:8b","testConnection":"æµè¯è¿æ¥","testConnectionSuccess":"è¿æ¥æµè¯æå","testConnectionFailed":"è¿æ¥æµè¯å¤±è´¥","testConnectionFailedWithMessage":"è¿æ¥æµè¯å¤±è´¥ï¼{{message}}","testConnectionError":"æµè¯è¿æ¥æ¶åçé误","modelTestFailed":"模åéªè¯å¤±è´¥ï¼è¯·æ£æ¥æ¨¡åIDæ¯å¦æ£ç¡®","modelTestFailedConfirm":"模åè¿æ¥æµè¯å¤±è´¥ï¼{{message}}ãæ¯å¦ä»è¦æ·»å æ¤æ¨¡åï¼","tagVideo":"è§é¢","tagMultimodal":"夿¨¡æ","tagVision":"è§è§","tagText":"ææ¬","free":"å
è´¹","probeMultimodal":"æµè¯å¤æ¨¡æ","probeImage":"å¾ç","probeVideo":"è§é¢","probeSupported":"æ¯æ: {{types}}","probeNotSupported":"该模å䏿¯æå¤æ¨¡æè¾å
¥","probeFailed":"æ¢æµå¤±è´¥","tagNotProbed":"æªæ£æµ","modalityVision":"å¾ç","modalityAudio":"é³é¢","modalityVideo":"è§é¢","modalityFile":"æä»¶","perMillionIn":"/1M è¾å
¥","perMillionOut":"/1M è¾åº"}'),_R={title:"æä»¶",navigator:"æä»¶å¯¼èªå¨",source:"æ¥æº",workspace:"å·¥ä½åº",agentWorkspace:"Agent å·¥ä½åº",profile:"æ¡£æ¡",memory:"é¿æè®°å¿",daily:"æ¥è®°",digest:"ç¥è¯åº",memoryGraph:"è®°å¿å¾è°±",memoryGraphShort:"Graph",memoryGraphLoading:"æ£å¨å 载记å¿å¾è°±â¦",memoryGraphLoadFailed:"è®°å¿å¾è°±å 载失败ã",memoryGraphCounts:"{{nodes}} 个èç¹ Â· {{edges}} æ¡é¾æ¥",memoryGraphEmpty:"è¿æ²¡æå·²ç´¢å¼çè®°å¿é¾æ¥ã",memoryGraphZoomOut:"缩å°",memoryGraphZoomIn:"æ¾å¤§",memoryGraphFit:"éåºç»å¸",memoryGraphAutoRotate:"èªå¨æè½¬",memoryGraphMotionReduced:"ç³»ç»å·²å¯ç¨åå°å¨æææ",memoryGraphRendering:"æ£å¨æå»º 3D åºæ¯â¦",memoryGraphRenderFailed:"3D å¾è°±æ¸²æå¤±è´¥ã",memoryGraphCanvasLabel:"交äºå¼ 3D è®°å¿å¾è°±ãå¯æå¨æè½¬è§è§ãæ»å¨ç¼©æ¾ï¼å¹¶éæ©èç¹æ¥ç详æ
ã",memoryGraphCloseDetails:"å
³éèç¹è¯¦æ
",memoryGraphRoot:"æ ¹èç¹",memoryGraphRootDirect:"ç´è¿æä»¶",memoryGraphOtherFile:"å
¶ä»æä»¶",memoryGraphIndexed:"å·²ç´¢å¼æä»¶",memoryGraphUnresolved:"æªè§£æé¾æ¥",memoryGraphDirection:"Wiki Link æ¹å",memoryGraphOpenFile:"æå¼ Markdown",memoryGraphOutbound:"åºé¾ · {{count}}
168",memoryGraphInbound:"å
¥é¾ · {{count}}",projectDirectory:"项ç®ç®å½",workspaceDirectory:"é
ç½®ç®å½",switchRoot:"忢ç®å½",manageDirs:"管çç®å½â¦",primaryRoot:"主工ä½ç®å½",rootMissing:"缺失",rootsPending:"妿 {{count}} 个ç®å½å°å¨åéç¬¬ä¸æ¡æ¶æ¯åå¯ç¨",changeDirectoryTitle:"æ´æ¢é¡¹ç®ç®å½ï¼",changeDirectoryWarning:"å½å项ç®ä»ææªä¿åçç¼è¾æå¾
å¤çå·®å¼ãæ´æ¢ç®å½å°ä¸¢å¼è¿äºå
容ã",sourceEmpty:"æ¤æ¥æºææ å¯ç¨æä»¶ã",loadMore:"ç»§ç»å è½½ 200 项",upload:"ä¸ä¼ æä»¶",conflictPolicy:"ä¸ä¼ å²çªçç¥",conflictRename:"ä¿ç两份",conflictRenameDescription:"èªå¨ä¸ºæ°æä»¶æ·»å åºå·ï¼åæä»¶ä¿æä¸åã",conflictSkip:"ä¿çåæä»¶",conflictSkipDescription:"è·³è¿ååçæ°æä»¶ï¼ç»§ç»ä¸ä¼ å
¶ä»æä»¶ã",conflictOverwrite:"ä½¿ç¨æ°æä»¶",conflictOverwriteDescription:"ç¨æ°æä»¶æ¿æ¢å·²æçååæä»¶ã",uploadConflictTitle:"åç°ååæä»¶",uploadConflictDescription:"以䏿件已åå¨ï¼{{files}}ãè¯·éæ©å¤çæ¹å¼ã",promptToggle:"忢 {{name}} æ¯å¦å å
¥ç³»ç» Prompt",addSystemPrompt:"ä»å·¥ä½åºæ·»å ",addSystemPromptTitle:"æ·»å System Prompt æä»¶",addSystemPromptDescription:"éæ©ä¸ä¸ªå·¥ä½åº Markdown æä»¶ï¼å°å
¶å å
¥ System Promptã",searchSystemPromptFiles:"æç´¢å·¥ä½åº Markdown æä»¶",noSystemPromptCandidates:"没æå¹é
çå¯éæä»¶ã",sourceControl:"æºç 管ç",preview:"é¢è§",htmlPreview:"HTML é¢è§",openHtmlInBrowser:"卿µè§å¨ä¸æå¼",edit:"ç¼è¾",selectFile:"éæ©æä»¶ä»¥æå¼",closeTab:"å
³éæ ç¾é¡µ",closeOtherTabs:"å
³éå
¶ä»æ ç¾é¡µ",closeAllTabs:"å
³éå
¨é¨æ ç¾é¡µ",openFiles:"å·²æå¼æä»¶ï¼{{count}} 个",openFilesLabel:"å·²æå¼æä»¶",openFileCount:"å·²æå¼ {{count}} 个",searchOpenFiles:"æç´¢æä»¶åæè·¯å¾",noOpenFilesFound:"没æå¹é
çå·²æå¼æä»¶",scrollTabsLeft:"åå·¦æ»å¨æ ç¾é¡µ",scrollTabsRight:"å峿»å¨æ ç¾é¡µ",agentChangedFile:"æºè½ä½ä¿®æ¹äºæ¤æä»¶",keep:"åºç¨",keepAll:"å
¨é¨åºç¨",undo:"åé",undoAll:"å
¨é¨åé",copySelectionToChat:"å¤å¶éåºå°è天",copyFileToChat:"å¤å¶æä»¶å°è天",previewSize:"é¢è§ · {{size}} åè",backToPreview:"è¿åé¢è§",download:"ä¸è½½",downloadFailed:"æä»¶ä¸è½½å¤±è´¥",resize:"è°æ´æä»¶æ½å±å®½åº¦",loadFailed:"æä»¶å 载失败ã请确认æä»¶ä»å¨å½åæºè½ä½å·¥ä½åºç主工ä½ç®å½ä¸ã",previewUnavailable:"æä¸æ¯æé¢è§ï¼ä»å¯æ¥çå
æ°æ®å¹¶ä¸è½½ã",mentionInChat:"å¨è天ä¸å¼ç¨",expandWorkspace:"å±å¼å·¥ä½åº",openWorkspace:"æå¼å·¥ä½åº",closeWorkspace:"å
³éå·¥ä½åº",artifactCreated:"å·²æ°å¢",artifactModified:"已修æ¹",artifactsExpand:"å±å¼å
¶ä½ {{count}} 个æä»¶",artifactsCollapse:"æ¶èµ·æä»¶"},LR={agentTitle:"Agent 项ç®ç®å½",agentDescription:"Agent æä»¶å·¥ä½åºé»è®¤ä½¿ç¨æ¤ç®å½ã",sessionTitle:"å½åä¼è¯é¡¹ç®ç®å½",pathPlaceholder:"è¾å
¥ç»å¯¹ç®å½è·¯å¾",recentProjects:"æè¿é¡¹ç®",browseDirectory:"æµè§ç®å½",noRecentProjects:"ææ æè¿é¡¹ç®",clearSelection:"æ¸
餿é项ç®",homeDirectory:"主工ä½ç®å½",parentDirectory:"ä¸ä¸çº§ç®å½",refreshDirectory:"å·æ°ç®å½",restoreDefault:"æ¢å¤é»è®¤",createDirectory:"æ°å»ºæä»¶å¤¹",directoryNamePlaceholder:"è¾å
¥æä»¶å¤¹åç§°",createDirectoryFailed:"æ°å»ºæä»¶å¤¹å¤±è´¥",useWorkspace:"使ç¨é
ç½®ç®å½",createSessionHint:"åéç¬¬ä¸æ¡æ¶æ¯åå¯è®¾ç½®ä¼è¯ä¸å±ç®å½ã",sessionSource:"ä¼è¯",agentSource:"Agent é»è®¤",makePrimary:"设为主è¦",remove:"å é¤",add:"æ·»å ",boundDirs:"æºè½ä½å·¥ä½åº",primaryHint:"å·¥å
·è°ç¨ä¸å½ä»¤é»è®¤å¨ä¸»å·¥ä½ç®å½ä¸æ§è¡ã",primaryTag:"主工ä½ç®å½",unbound:"æªç»å®ç®å½",unavailable:"ä¸åå¨",alreadyBound:"å·²ç»å®",tooMany:"æå¤å¯ç»å® {{max}} 个ç®å½ã",countTitle:"å·²ç»å®çç®å½æ°é"},ER=JSON.parse('{"title":"è¿è¡é
ç½®","projectDirectoryTitle":"é»è®¤é¡¹ç®ç®å½","projectDirectoryDescription":"æä»¶åå½ä»¤é»è®¤ä½¿ç¨çç®å½ã","projectDirectoryDefault":"Agent é»è®¤ç®å½","changeProjectDirectory":"æ´æ¢ç®å½","projectDirectoryWorkspaceFallback":"å½åä½¿ç¨æºè½ä½å·¥ä½åº","enhancedCodeCapability":"å¢å¼ºä»£ç è½å","enhancedCodeCapabilityTooltip":"å¢å 代ç å·¥å
·ï¼ä½ä¸ä¼æ¹å项ç®ç®å½ã","enhancedCodeCapabilityDescription":"å¯ç¨ ASTãLSPãä»£ç æç¤ºè¯ãGit ä¸ä¸æåæºç 管çã","description":"é
ç½®æºè½ä½è¿è¡åæ°","reactAgentTitle":"ReAct æºè½ä½","llmRetryTitle":"LLM èªå¨éè¯","llmRetryEnabled":"å¯ç¨èªå¨éè¯","llmRetryEnabledTooltip":"坹鿵ãè¶
æ¶ãè¿æ¥ä¸æçç¬æ¶ LLM API é误èªå¨éè¯ãä¿åå对æ°ç请æ±çæã","llmMaxRetries":"æå¤§éè¯æ¬¡æ°","llmMaxRetriesTooltip":"忬¡ LLM 请æ±å¨éå°å¯éè¯é误æ¶ï¼æå¤é¢å¤éè¯å¤å°æ¬¡ã","llmMaxRetriesPlaceholder":"请è¾å
¥æå¤§éè¯æ¬¡æ°","llmMaxRetriesRequired":"æå¤§éè¯æ¬¡æ°ä¸ºå¿
填项","llmMaxRetriesMin":"æå¤§éè¯æ¬¡æ°å¿
须大äºçäº 1","llmBackoffBase":"éé¿åºç¡å»¶è¿ï¼ç§ï¼","llmBackoffBaseTooltip":"ç¬¬ä¸æ¬¡éè¯åçåºç¡çå¾
æ¶é´ï¼åç»ä¼æææ°éé¿å¢é¿ã","llmBackoffBasePlaceholder":"请è¾å
¥åºç¡å»¶è¿","llmBackoffBaseRequired":"éé¿åºç¡å»¶è¿ä¸ºå¿
填项","llmBackoffBaseMin":"éé¿åºç¡å»¶è¿å¿
须大äºçäº 0.1 ç§","llmBackoffCap":"éé¿æå¤§å»¶è¿ï¼ç§ï¼","llmBackoffCapTooltip":"ææ°éé¿çæå¤§çå¾
ä¸éï¼é¿å
éè¯é´éæ éå¢å¤§ã","llmBackoffCapPlaceholder":"请è¾å
¥æå¤§å»¶è¿","llmBackoffCapRequired":"éé¿æå¤§å»¶è¿ä¸ºå¿
填项","llmBackoffCapMin":"éé¿æå¤§å»¶è¿å¿
须大äºçäº 0.5 ç§","llmBackoffCapGteBase":"éé¿æå¤§å»¶è¿å¿
须大äºçäºåºç¡å»¶è¿","llmRateLimiterTitle":"LLM å¹¶åéæµ","llmMaxConcurrent":"æå¤§å¹¶åè¯·æ±æ°","llmMaxConcurrentTooltip":"å
è®¸åæ¶ååºç LLM 请æ±ä¸éï¼ææ Agent å
±äº«ãä»
168
馿¬¡åå§åæ¶çæï¼ä¿®æ¹åéé坿å¡ã","llmMaxConcurrentPlaceholder":"请è¾å
¥æå¤§å¹¶åæ°","llmMaxConcurrentRequired":"æå¤§å¹¶åè¯·æ±æ°ä¸ºå¿
填项","llmMaxConcurrentRange":"æå¤§å¹¶åè¯·æ±æ°å¿
须大äºçäº 1","llmMaxQpm":"æ¯åéæå¤§è¯·æ±æ°ï¼QPMï¼","llmMaxQpmTooltip":"60 ç§æ»å¨çªå£å
å
许çæå¤§è¯·æ±æ°ãè¶
åºä¸éç请æ±å¨åéåä¼çå¾
ï¼ä»æºå¤´é¢é² 429 éæµã0 表示ä¸éå¶ã","llmMaxQpmPlaceholder":"请è¾å
¥æ¯åéæå¤§è¯·æ±æ°ï¼0 = ä¸éå¶ï¼","llmMaxQpmRequired":"æ¯åéæå¤§è¯·æ±æ°ä¸ºå¿
填项","llmMaxQpmRange":"æ¯åéæå¤§è¯·æ±æ°å¿
须大äºçäº 0","llmRateLimitPause":"éæµæåæ¶é¿ï¼ç§ï¼","llmRateLimitPauseTooltip":"æ¶å° 429 éæµååºæ¶å
¨å±æåçé»è®¤æ¶é¿ï¼ç§ï¼ãè¥ API è¿å Retry-After 头ï¼å以å
¶ä¸ºåã","llmRateLimitPausePlaceholder":"请è¾å
¥æåæ¶é¿","llmRateLimitPauseRequired":"éæµæåæ¶é¿ä¸ºå¿
填项","llmRateLimitPauseMin":"éæµæåæ¶é¿å¿
须大äºçäº 1 ç§","llmRateLimitJitter":"æå¨èå´ï¼ç§ï¼","llmRateLimitJitterTooltip":"卿忶é¿åºç¡ä¸å å çéæºæå¨èå´ï¼ç§ï¼ï¼ä½¿å¹¶åçå¾
è
éå¼å¤éæ¶é´ï¼é¿å
æ°ç请æ±çªåºã","llmRateLimitJitterPlaceholder":"请è¾å
¥æå¨èå´","llmRateLimitJitterRequired":"æå¨èå´ä¸ºå¿
填项","llmRateLimitJitterMin":"æå¨èå´å¿
须大äºçäº 0 ç§","llmAcquireTimeout":"æ§½ä½è·åè¶
æ¶ï¼ç§ï¼","llmAcquireTimeoutTooltip":"çå¾
è·åéæµæ§½ä½çæé¿æ¶é´ï¼ç§ï¼ï¼è¶
æ¶åå°æåºé误èéæ éçå¾
ã","llmAcquireTimeoutPlaceholder":"请è¾å
¥è¶
æ¶æ¶é´","llmAcquireTimeoutRequired":"æ§½ä½è·åè¶
æ¶ä¸ºå¿
填项","llmAcquireTimeoutMin":"æ§½ä½è·åè¶
æ¶å¿
须大äºçäº 10 ç§","llmAcquireTimeoutGtPauseJitter":"æ§½ä½è·åè¶
æ¶å¿
须大äºéæµæåæ¶é¿ä¸æå¨èå´ä¹å","contextManagementTitle":"ä¸ä¸æç®¡ç","memoryManagerBackend":"é¿æè®°å¿ç®¡çå端","memoryManagerBackendTooltip":"è®°å¿ç®¡çå¨çå端类åï¼å¯é remelightï¼æ¬å°æä»¶ï¼ãadbpgï¼äºç«¯æ°æ®åºï¼ãPowerContextï¼è¿ç¨è®°å¿æå¡ï¼æ noneï¼å
³éè®°å¿ï¼","memoryManagerBackendRestartWarning":"åæ¢é¿æè®°å¿ç®¡çåç«¯ä¸æ¯æçæ´æ°ï¼ä¿ååéè¦éå¯ QwenPaw æè½çæ","maxIters":"æå¤§è¿ä»£æ¬¡æ°","maxItersTooltip":"ReAct æºè½ä½çæå¤§æ¨ç-è¡å¨è¿ä»£æ¬¡æ°","maxItersPlaceholder":"请è¾å
¥æå¤§è¿ä»£æ¬¡æ°","maxItersRequired":"æå¤§è¿ä»£æ¬¡æ°ä¸ºå¿
填项","maxItersMin":"æå¤§è¿ä»£æ¬¡æ°å¿
须大äºçäº 1","agentLoopTitle":"æºè½ä½ Loop 设置","loopMode":{"builtIn":"å
ç½®","builtInNote":"æµç¨å·²éå® Â· åæ°å¯ç¼è¾","templateSectionTitle":"Loop 模æ¿","templateSectionDescription":"éæ©å
置模æ¿ï¼ææ·»å èªå·±ç模æ¿ã","defaultTab":"é»è®¤","goalTab":"ç®æ ","missionTab":"ä»»å¡","defaultDescription":"æªå¯ç¨æ¾å¼æ¨¡å¼æ¶ä½¿ç¨çæ ååæ§ ReAct Loopã","goalDescription":"é¢åå
·ä½ãå¯éªè¯ç®æ çæçæç» Loopã","missionDescription":"é¢åé¿æ¶ã夿¥éª¤ä»»å¡çæç»æ§è¡æµç¨ã","gatePipeline":"Gate æµç¨","repetitionTitle":"éå¤è¡ä¸ºä¿æ¤","repetitionDescription":"æ£æµéå¤å·¥å
·è°ç¨å¹¶è¿è¡å¹²é¢ã","iterationTitle":"è¿ä»£æ¬¡æ°éå¶","iterationDescription":"éå¶ ReAct çæå¤§è¿ä»£æ¬¡æ°ã","retryTitle":"宿§å®æåº¦æ£æ¥","retryDescription":"ä»
å¨ Agent ç»åºä¸å
å«å·¥å
·è°ç¨çææ¬ç夿¶è§¦åã","goalTurnTitle":"ç®æ 轮次éå¶","goalTurnDescription":"éå¶å个活å¨ç®æ å
çæ§è¡è½®æ¬¡ã","maxGoalTurns":"æå¤§ç®æ 轮次","goalBudgetTitle":"ç®æ Token é¢ç®","goalBudgetDescription":"宿´ç®æ è¾¾å°é¢ç®æ¶åæ¢ã","maxGoalTokens":"æå¤§ç®æ Token æ°","goalCompletionTitle":"ç®æ å®ææ£æ¥","goalCompletionDescription":"忢å读åæç¡®çç®æ ç¶æã","goalCompletionReadOnly":"å®æç¶æç±å
ç½®ç®æ ç¶æåè®®æ§å¶ã","missionProgressTitle":"ä»»å¡è¿åº¦æ£æ¥","missionProgressDescription":"æç»æ§è¡ï¼ç´å°ä»»å¡æ
äºå
¨é¨éè¿æè¾¾å°ä¸éã","missionProgressReadOnly":"å®æç¶æç±å
ç½® Mission Story ç¶ææ§å¶ã","missionIterationTitle":"ä»»å¡è½®æ¬¡éå¶","missionIterationDescription":"è®¾ç½®æ° Mission é»è®¤å
许çæå¤§æ§è¡è½®æ¬¡ã","workerAttemptsTitle":"Worker å°è¯æ¬¡æ°","workerAttemptsDescription":"éå¶ Story éªè¯æªéè¿å Worker çéè¯æ¬¡æ°ã","missionVerificationTitle":"ä»»å¡éªè¯çç¥","missionVerificationDescription":"设置é»è®¤éªè¯æå¯¼åæµè¯å½ä»¤ã","defaultMaxMissionIterations":"é»è®¤æå¤§æ§è¡è½®æ¬¡","defaultMaxMissionIterationsTooltip":"å½ /mission æªæå® --max-iterations æ¶ä½¿ç¨ã","maxRetriesPerStory":"æ¯ä¸ª Story æå¤§éè¯æ¬¡æ°","maxRetriesPerStoryTooltip":"Verifier è¿å失败æé¨å宿åï¼Worker å¯éè¯ç次æ°ã","defaultVerificationInstructions":"éªè¯æå¯¼ï¼å¯éï¼","defaultVerificationInstructionsHelp":"åºç¨äºæ¯ä¸ª Mission Verifier çèªç¶è¯è¨éªè¯è¦æ±ã","defaultVerificationInstructionsPlaceholder":"ä¾å¦ï¼æ£æ¥ Windows è·¯å¾å
¼å®¹æ§ï¼å¹¶æ£æ¥å®é
渲æçé¢ã","defaultVerifyCommand":"é»è®¤æµè¯å½ä»¤ï¼å¯éï¼","defaultVerifyCommandHelp":"Verifier ä¼éè¿æ£å¸¸å·¥å
·åæéå°è¯æ§è¡ï¼/mission --verify å¯ä¸´æ¶è¦çã","defaultVerifyCommandPlaceholder":"ä¾å¦ï¼pytest -q","enableRepetitionProtection":"å¯ç¨éå¤è¡ä¸ºä¿æ¤","removeRule":"å é¤è§å","custom"
168:"èªå®ä¹","customDescription":"ä½¿ç¨ QwenPaw å
ç½® Gate æå»ºå¹¶ä¿åæ§è¡æµç¨ã","duplicate":"å¤å¶","delete":"å é¤","displayName":"æ¾ç¤ºåç§°","duplicateModeName":"å·²åå¨ååç Loop 模å¼ã","slashCommand":"ææ å½ä»¤","description":"æè¿°","availableToAgent":"å
许å½åæºè½ä½ä½¿ç¨","runsTopToBottom":"æä»ä¸å°ä¸çé¡ºåºæ§è¡","addGate":"æ·»å Gate","emptyPipeline":"è³å°æ·»å ä¸ä¸ª Gate åï¼æ¤æ¨¡å¼å³å¯ä½¿ç¨ã","iterationGateTitle":"è¿ä»£æ¬¡æ°éå¶","iterationGateDescription":"è¾¾å°åºå® Loop è¿ä»£æ¬¡æ°å忢ã","doomGateTitle":"éå¤è¡ä¸ºä¿æ¤","doomGateDescription":"æ£æµéå¤å·¥å
·è°ç¨å¹¶è°æ´çç¥ã","tokenGateTitle":"Token é¢ç®","tokenGateDescription":"éå¶æç¤ºåçæå
容ç Token ç¨éã","timeoutGateTitle":"Loop æ¶é´éå¶","timeoutGateDescription":"è¾¾å°æ¶é´ä¸éåå¨ä¸ä¸ä¸ª Loop è¾¹ç忢ï¼ä¸ä¼ä¸ææ£å¨æ§è¡çå
容ã","toolBudgetGateTitle":"å·¥å
·è°ç¨é¢ç®","toolBudgetGateDescription":"éå¶å
¨é¨è°ç¨åæå®å·¥å
·çè°ç¨æ¬¡æ°ã","retryGateTitle":"æå忢éè¯","retryGateDescription":"ç»æåæç¤ºæºè½ä½å次éªè¯ã","rubricGateTitle":"å®æåº¦é表","rubricGateDescription":"è¯ä¼°æç¡®ç宿æ åï¼å¹¶å¨éè¦æ¶ä¿®è®¢ã","qualitativeRubricTitle":"宿§å®æåº¦æ£æ¥","qualitativeRubricDescription":"ä»
å¨ Agent ç»åºä¸å
å«å·¥å
·è°ç¨çææ¬ç夿¶ï¼æèªç¶è¯è¨æ 忣æ¥å®æåº¦ã","qualitativeRubric":"èªç¶è¯è¨å®ææ å","qualitativeRubricHelp":"ä»
å¨ä¸å
å«å·¥å
·è°ç¨çææ¬ç夿¶è§¦åï¼ä»æå·¥ä½æ¶è¦æ± Agent ç»§ç»ã","completionRubricTitle":"å®æä¿¡å·æ£æ¥","completionRubricDescription":"ä»
å¨ Agent ç»åºä¸å
å«å·¥å
·è°ç¨çææ¬ç夿¶æ£æ¥å®æä¿¡å·ã","completionRubricHelp":"å¨ä¸å
å«å·¥å
·è°ç¨çææ¬çå¤å触åãå®ææ¶ Agent è¾åºå®æä¿¡å·ï¼æªå®ææ¶ç»§ç»å·¥ä½ï¼ç´å°è¾¾å°æå¤å¤æè½®æ°ã","completionPrompt":"宿夿 Prompt","completionPromptHelp":"æè¿°ç»æä½æ¶ç®å®æï¼QwenPaw ä¼èªå¨æ³¨å
¥å®æä¿¡å·çè¾åºè¦æ±ã","completionSignal":"å®æä¿¡å·","completionSignalHelp":"QwenPaw ä¼å°æ¤ä¿¡å·åâåªè½è¾åºè¯¥ä¿¡å·âçè¦æ±èªå¨æ³¨å
¥å®æå¤æ Promptãæ¸
çé¦å°¾ç©ºç½å¹¶å¿½ç¥å¤§å°ååï¼åªæå®æ´å¹é
æä¼ç»æ Loopã","removeCriterion":"å 餿 å {{number}}","totalTokensHelp":"æ¬è½®è¾å
¥åè¾åº Token çå计ä¸éã","promptTokensHelp":"å
å«ç³»ç»æä»¤ã对è¯ä¸ä¸æãå·¥å
·å®ä¹åå·¥å
·ç»æã","completionTokensHelp":"æ¬è½®æ¨¡åçæå
容ç Token ä¸éã","maxIterations":"æå¤§è¿ä»£æ¬¡æ°","historyWindow":"åå²çªå£","similarityThreshold":"ç¸ä¼¼åº¦éå¼","totalTokens":"æå¤§æ» Token","promptTokens":"æå¤§è¾å
¥ Token","completionTokens":"æå¤§è¾åº Token","maxSeconds":"æé¿ç§æ°","maxSecondsHelp":"å½å模åååºæå·¥å
·è°ç¨å®æåææ£æ¥èæ¶ï¼ä¸ä¼å¼ºè¡ä¸ææ£å¨æ§è¡çå
容ã","allToolCalls":"å
¨é¨å·¥å
·è°ç¨","perToolLimits":"å个工å
·éå¶","toolName":"å·¥å
·åç§°","callLimitAria":"{{name}} è°ç¨ä¸é","removeToolLimitAria":"å é¤ {{name}} çéå¶","addToolLimit":"æ·»å å个工å
·éå¶","maxRetries":"æå¤§éè¯æ¬¡æ°","retryInstruction":"éè¯æä»¤","passThreshold":"éè¿éå¼","maxEvaluations":"æå¤å¤æè½®æ°","graderError":"è¯åå¨é误","stopSafely":"å®å
¨åæ¢","verifyOnceMore":"åéªè¯ä¸æ¬¡","completionCriteria":"宿æ å","criterionPlaceholder":"æè¿°å¯è§å¯çå®æç»æ","required":"å¿
é","weight":"æé","addCriterion":"æ·»å æ å","moveGateAria":"ç§»å¨ {{title}}","removeGate":"å é¤ Gate","newModeName":"æ° Loop 模å¼","defaultCustomDescription":"èªå®ä¹ Gate æµç¨ã","copyName":"{{name}} 坿¬","createModeAria":"å建èªå®ä¹ Loop 模å¼","createModeTitle":"å建èªå®ä¹ Loop 模å¼","startingTemplate":"åå§æ¨¡æ¿","startingPipeline":"åå§ Gate æµç¨","blankPipelineHint":"ä»ç©ºæµç¨å¼å§ï¼ç¨åæ·»å Gate","safeTemplate":"å®å
¨è¿è¡","researchTemplate":"é¢ç®ç ç©¶","qualityTemplate":"è´¨éä¼å
","blankTemplate":"ç©ºç½æµç¨"},"doomLoopEnabled":"éå¤è¡ä¸ºä¿æ¤","doomLoopEnabledTooltip":"å½ Agent é·å
¥éå¤ç¸åæä½æ¶èªå¨ä»å
¥","doomLoopAfter":"è¿ç»éå¤","doomLoopRepetitions":"次ç¸åæä½å","doomLoopStopAction":"æåå¹¶çå¾
确认","doomLoopWarnAction":"åéæé","doomLoopSimpleMode":"ç®å","doomLoopAdvancedMode":"é«çº§","doomLoopWindowSize":"æ£æµèå´","doomLoopWindowSizeTooltip":"æ£æ¥æè¿å¤å°æ¬¡æä½æ¯å¦éå¤","doomLoopSimilarity":"å¹é
çµæåº¦","doomLoopSimilarityTooltip":"æä½ç¸ä¼¼åº¦è¶
è¿æ¤å¼è§ä¸ºéå¤ï¼è¶ä½è¶ä¸¥æ ¼ï¼","doomLoopStages":"å¹²é¢è§å","doomLoopAction":"å¨ä½","doomLoopPrompt":"æç¤ºè¯","doomLoopPromptPlaceholder":"æéå
容ææååå ...","doomLoopAddStage":"æ·»å è§å","iterationTitle":"è¿ä»£éå¶","iterationEnabled":"å¯ç¨è¿ä»£éå¶","iterationEnabledTooltip":"å¨åºå®è½®æ¬¡å忢 Agent 循ç¯","iterationMaxIterations":"æå¤§è¿ä»£æ¬¡æ°","iterationMaxIterationsTooltip":"å¾ªç¯æ§è¡çæå¤§è½®æ¬¡","rubricTitle":"宿§å®æåº¦æ£æ¥","rubricEnabled":"å¯ç¨å®æ§å®æåº¦æ£æ¥","rubricEnabledTooltip":"ä»
å¨ Agent ç»åºä¸å
å«å·¥å
·è°ç¨çææ¬ç夿¶è§¦åã","rubricPrompt":"èªç¶è¯è¨å®ææ å","rubricPromptTooltip":"注å
¥çæç¤ºè¯ï¼è¦æ± Agent è¯ä¼°ä»»å¡å®ææ
åµ","rubricDesc":"å½ Agent ç»åºä¸å
å«å·¥å
·è°ç¨çææ¬ç夿¶ï¼æèªç¶è¯è¨å®ææ 忣æ¥ï¼å¹¶å¨ä»æå·¥ä½æ¶è¦æ± Agent ç»§ç»ã","rubricPromptPlaceholder":"ä½ ä¸ä¸è½®æ²¡æè°ç¨ä»»ä½å·¥å
·ã妿任å¡å·²å®æè¯·ç¡®è®¤ï¼å¦å请继ç»ä½¿ç¨å·¥å
·å®æã","rubricMaxInterventions":"æå¤å¤æè½®æ°","rubricMaxInterventionsTooltip":"å个 Turn å
ï¼å¯¹ä¸å
å«å·¥å
·è°ç¨çææ¬ç夿å¤è¿è¡å¤å°è½®å®æåº¦æ£æ¥ã","inLoopModes":"å¨ /goalã/mission 模å¼ä¸å¯ç¨","inLoopModesTooltip":"å½ /goal æ /mission å¾ªç¯æ¨¡å¼æ¿æ´»æ¶ä¹å¯ç¨æ¤åè½","comingSoonEditable":"èªå®ä¹é
ç½®å°å¨æªæ¥çæ¬ä¸å¼æ¾ã","simpleMode":"ç®å","advancedMode":"é«çº§","comingSoon":"å³å°æ¨åº","reactModeTab":"Loopæ¨¡æ¿ - é»è®¤","goalModeTab":"Loopæ¨¡æ¿ - Goal模å¼","missionModeTab":"Loopæ¨¡æ¿ - Mission模å¼","goalModeInfoTitle":"Goalæ¨¡å¼ vs é»è®¤æ¨¡å¼","goalModeInfo":"é»è®¤æ¨¡å¼å¨äº§çåå¤åå³åæ¢ãGoal模å¼è®© Agent å´ç»ç®æ æç»å¾ªç¯æ§è¡ï¼éè¿ Rubric è¯ä¼°èªå¨å¤ææ¯å¦å®æï¼æªå®æåç»§ç»æ¨è¿ãæææä½å¨å½å Agent ä¸ä¸æä¸è¿è¡ã","missionModeInfoTitle":"Missionæ¨¡å¼ vs Goal模å¼","missionModeInfo":"Mission模å¼å°å¤æä»»å¡èªå¨å解为
168åä»»å¡ï¼ç± Worker åAgentç¬ç«æ§è¡ï¼Verifier åAgentéªè¯ç»æãæ¯ä¸ªå任塿ç¬ç«ä¸ä¸æï¼ä¸ä¼æ±¡æä¸»ä¼è¯åå²ãéåéè¦é¿æ¶é´ã夿¥éª¤åä½ç夿工ç¨ä»»å¡ã","goalIterationGate":"ç®æ è¿ä»£ Gate","goalIterationGateDesc":"éå¶ç®æ ä¼è¯ä¸ç Agent æ§è¡è½®æ¬¡ï¼è·è¸ªè¿ä»£æ¬¡æ°å Token 使ç¨éã","goalBudgetGate":"Token é¢ç® Gate","goalBudgetGateDesc":"ä¸ºç®æ ä¼è¯è®¾ç½® Token æ¶èä¸éï¼è¶
åºé¢ç®æ¶åæ¢ Agentã","goalRubricGate":"ç®æ å®æåº¦è¯ä¼°","goalRubricGateDesc":"éè¿æ£æ¥ä¼è¯ç¶æè¯ä¼°ç®æ æ¯å¦å·²å®æã","goalDoomGate":"éå¤è¡ä¸ºä¿æ¤","goalDoomGateDesc":"å¨ç®æ æ§è¡è¿ç¨ä¸æ£æµé夿¨¡å¼å¹¶è§¦åå¹²é¢ã","missionProgressGate":"ä»»å¡è¿åº¦ Gate","missionProgressGateDesc":"è·è¸ª PRD ç¨æ·æ
äºç宿æ
åµï¼ç´å°æææ
äºéè¿æè¾¾å°æå¤§è¿ä»£æ¬¡æ°ã","missionIterBypass":"è¿ä»£ç»è¡","missionIterBypassDesc":"å¨ä»»å¡æ§è¡æé´ä¸´æ¶åæ¶ ReAct è¿ä»£éå¶ï¼å
è®¸é¿æ¶é´è¿è¡çé¶æ®µã","customLoopTitle":"èªå®ä¹å¾ªç¯æ¨¡å¼","customLoopDesc":"使ç¨èªå®ä¹ Gate ç»åå建æ¨èªå·±çå¾ªç¯æ¨¡å¼ï¼
168å³å°æ¨åºã","autoGenerateSessionTitle":"èªå¨çæä¼è¯æ é¢","autoGenerateSessionTitleTooltip":"æ°ä¼è¯é¦æ¡ç¨æ·æ¶æ¯åéåï¼åå°è§¦å䏿¬¡è½»é LLM è°ç¨ï¼ææªæçå 使 颿¿æ¢ä¸ºæ´è´´åççæ é¢ãæ¯ä¸ªæ°ä¼è¯ä¼å¤ä¸æ¬¡ LLM è°ç¨ï¼å
³éåä¿çå 使 é¢ãä¸äº§ç该å¼éã","shellCommandTimeout":"Shell å½ä»¤è¶
æ¶ï¼ç§ï¼","shellCommandTimeoutTooltip":"execute_shell_command å·¥å
·çé»è®¤è¶
æ¶æ¶é´ï¼ç§ï¼ãLLM å¨å次è°ç¨æ¶ä»å¯éè¿ timeout åæ°è¦çæ¤å¼ãéç¨äºç¼è¯ãæ°æ®å¤ççèæ¶ä»»å¡ã","shellCommandTimeoutPlaceholder":"请è¾å
¥è¶
æ¶æ¶é´","shellCommandTimeoutRequired":"Shell å½ä»¤è¶
æ¶ä¸ºå¿
填项","shellCommandTimeoutMin":"Shell å½ä»¤è¶
æ¶è³å°ä¸º 1 ç§","shellCommandExecutable":"Shell 坿§è¡ç¨åº","shellCommandExecutableTooltip":"execute_shell_command 使ç¨ç shell è·¯å¾ãLinux/macOSï¼å¦ /bin/bashã/bin/zshãWindowsï¼æ¯æ powershell.exeãpwsh.exe æç±» POSIX shellï¼å¦ Git Bashï¼ãç空æ¶ä¾æ¬¡åéå° $SHELL ç¯å¢åéï¼ååéå°å¹³å°é»è®¤å¼ï¼Unix 为 /bin/shï¼Windows 为 cmd.exeï¼ã","shellCommandExecutablePlaceholder":"ä¾å¦ /bin/bash æ powershell.exeï¼ç空 = èªå¨æ£æµï¼","maxInputLength":"æå¤§è¾å
¥é¿åº¦","maxInputLengthTooltip":"模åä¸ä¸æçªå£çæå¤§è¾å
¥é¿åº¦ï¼token æ°ï¼","maxInputLengthPlaceholder":"请è¾å
¥æå¤§è¾å
¥é¿åº¦","maxInputLengthRequired":"æå¤§è¾å
¥é¿åº¦ä¸ºå¿
填项","maxInputLengthMin":"æå¤§è¾å
¥é¿åº¦å¿
须大äºçäº 1000","contextCompactRatio":"ä¸ä¸æå缩é弿¯ä¾","contextCompactRatioTooltip":"å½ä¸ä¸æé¿åº¦è¾¾å°æå¤§ä¸ä¸æé¿åº¦ç该æ¯ä¾æ¶ï¼è§¦åèªå¨å缩","contextCompactRatioRequired":"ä¸ä¸æå缩æ¯ä¾ä¸ºå¿
填项","contextCompactThreshold":"å缩触åéå¼ï¼tokensï¼","contextCompactThresholdTooltip":"æ ¹æ®æå¤§ä¸ä¸æé¿åº¦ä¸å缩é弿¯ä¾èªå¨è®¡ç®ï¼ä¸ä¸æè¶
è¿æ¤ token æ°æ¶è§¦åå缩","contextCompactThresholdPlaceholder":"èªå¨è®¡ç®","contextCompactReserveRatio":"ä¸ä¸æä¿çé弿¯ä¾","contextCompactReserveRatioTooltip":"ç¨äºè®¡ç® recent tail çç®æ é¢ç®ï¼Scroll 模å¼ä¼ååºç¨æå° recent é¢ç®å 40K ä¸éï¼å¹¶å§ç»å®æ´ä¿ç active turn","contextCompactReserveRatioRequired":"ä¸ä¸æä¿çæ¯ä¾ä¸ºå¿
填项","contextCompactReserveThreshold":"ä¿çéå¼ï¼tokensï¼","contextCompactReserveThresholdTooltip":"å®é
ç¨äºåå recent tail çç®æ token æ°ï¼è¿æ¯è½¯ç®æ ï¼è¾¹çæ¶æ¯å宿´ active turn å¯è½ä½¿å®é
ä¿ç鿴大","contextCompactReserveThresholdPlaceholder":"èªå¨è®¡ç®","toolResultCompactRecentN":"ææ°å·¥å
·ç»æèå´","toolResultCompactRecentNTooltip":"Native ä¸ä¸ææ¨¡å¼ä¸ï¼æè¿ N æ¡å
å«å·¥å
·ç»æçæ¶æ¯ä½¿ç¨è¾å¤§çæè¿é¢è§åèä¸é","toolResultCompactRecentNRequired":"ææ°å·¥å
·ç»æèå´ä¸ºå¿
填项","toolResultCompactOldThreshold":"æ§å·¥å
·ç»æé¢è§åèæ°","toolResultCompactOldThresholdTooltip":"Native ä¸ä¸ææ¨¡å¼ä¸ï¼æ§å·¥å
·ç»æä½¿ç¨çæå¤§é¢è§åèæ°","toolResultCompactOldThresholdPlaceholder":"请è¾å
¥é¢è§åèä¸é","toolResultCompactOldThresholdRequired":"æ§å·¥å
·ç»æé¢è§åèæ°ä¸ºå¿
填项","toolResultCompactRecentThreshold":"æè¿å·¥å
·ç»æé¢è§åèæ°","toolResultCompactRecentThresholdTooltip":"å·¥å
·ç»æè¿å
¥ agent context å使ç¨çæå¤§é¢è§åèæ°ï¼Scroll 模å¼ä¸ä¹ä½ä¸º recall_history å页å read_file 忬¡è¯»åçåèä¸é","toolResultCompactRecentThresholdPlaceholder":"请è¾å
¥é¢è§åèä¸é","toolResultCompactRecentThresholdRequired":"æè¿å·¥å
·ç»æé¢è§åèæ°ä¸ºå¿
填项","toolResultCompactRetentionDays":"宿´å·¥å
·ç»ææä»¶ä¿ç天æ°","toolResultCompactRetentionDaysTooltip":"宿´å·¥å
·ç»æ artifact çç¬ç«ä¿ç天æ°ï¼å°æåèªå¨æ¸
çï¼history.db ä¸ä»å¯è½ä¿çæéé¢è§","toolResultCompactRetentionDaysRequired":"宿´å·¥å
·ç»ææä»¶ä¿ç天æ°ä¸ºå¿
填项","historyRetentionDays":"åå²è®°å½ä¿ç天æ°","historyRetentionDaysTooltip":"æä¹
åè天åå²çä¿ç天æ°ãè¶
æè®°å½ä¼å¨å¯å¨å Agent å
³éæ¶èªå¨æ¸
çã","historyRetentionDaysRequired":"åå²è®°å½ä¿ç天æ°ä¸ºå¿
填项","historyRetentionDaysForeverWarning":"设为 0 å°æ°¸ä¹
ä¿çåå²ï¼åå¨ä¼æ éå¢é¿ã","historyRetentionDaysLargeWarning":"ä¿ç天æ°è¿å¤§å¯è½å ç¨è¾å¤åå¨ç©ºé´ã","exemptFileExtensions":"è±å
æä»¶åç¼","exemptFileExtensionsTooltip":"Native ä¸ä¸ææ¨¡å¼ä¸ï¼è¿äºæä»¶åç¼ç read_file ç»æå§ç»ä½¿ç¨è¾å¤§çæè¿é¢è§åèä¸é","exemptFileExtensionsPlaceholder":".md, .txt, .json","exemptToolNames":"è±å
å·¥å
·åç§°","exemptToolNamesTooltip":"Native ä¸ä¸ææ¨¡å¼ä¸ï¼è¿äºå·¥å
·çè°ç¨ç»æå§ç»ä½¿ç¨è¾å¤§çæè¿é¢è§åèä¸é","exemptToolNamesPlaceholder":"chat_with_agent, list_agents","language":"æºè½ä½è¯è¨","languageTooltip":"æºè½ä½äººè®¾æä»¶ï¼SOUL.mdãAGENTS.md çï¼ä½¿ç¨çè¯è¨ã忢è¯è¨åå°èªå¨éæ°å¤å¶å¯¹åºè¯è¨ç MD æä»¶ã","languageConfirmTitle":"忢æºè½ä½è¯è¨","languageConfirmContent":"忢è¯è¨å°ä¼è¦çä»¥ä¸æä»¶ä¸ºæ°è¯è¨çé»è®¤çæ¬ï¼\\n\\n SOUL.mdãAGENTS.mdãPROFILE.mdãMEMORY.mdãBOOTSTRAP.mdãHEARTBEAT.md\\n\\n妿æ¨å·²å¯¹è¿äºæä»¶è¿è¡è¿èªå®ä¹ä¿®æ¹ï¼è¯·æåå¤ä»½ãæ¨èªè¡æ·»å çå
¶ä»æä»¶ä¸åå½±åã","languageConfirmOk":"忢è¯è¨","languageSaveSuccess":"è¯è¨æ´æ°æå","languageSaveSuccessWithFiles":"è¯è¨å·²æ´æ°ï¼å·²å¤å¶ {{count}} 个 MD æä»¶","languageSaveFailed":"è¯è¨æ´æ°å¤±è´¥","timezone":"ç¨æ·æ¶åº","timezoneTooltip":"ç¨äºå®æ¶ä»»å¡ãæ¶é´æ¾ç¤ºå Agent ä¸ä¸æï¼é»è®¤ä½¿ç¨ç³»ç»æ¶åºã","timezoneRequired":"è¯·éæ©æ¶åº","selectTimezone":"éæ©æ¶åº","timezoneSaveSuccess":"æ¶åºæ´æ°æå","timezoneSaveFailed":"æ¶åºæ´æ°å¤±è´¥","saveSuccess":"é
ç½®ä¿åæå","saveFailed":"é
ç½®ä¿å失败","loadFailed":"é
ç½®å 载失败","historyMaxLength":"åå²è®°å½æå¤§é¿åº¦","historyMaxLengthTooltip":"/history å½ä»¤è¾åºçæå¤§é¿åº¦ï¼å符æ°ï¼","historyMaxLengthRequired":"åå²è®°å½æå¤§é¿åº¦ä¸ºå¿
填项","historyMaxLengthMin":"åå²è®°å½æå¤§é¿åº¦å¿
须大äºçäº 1000","historyMaxLengthPlaceholder":"请è¾å
¥æå¤§é¿åº¦","contextCompactTitle":"ä¸ä¸æå缩é
ç½®","contextCompactEnabled":"å¯ç¨ä¸ä¸æå缩","contextCompactEnabledTooltip":"èªå¨å缩ä¸ä¸æï¼é²æ¢ä¸ä¸æçªå£æº¢åº","tokenCountModel":"Token è®¡æ°æ¨¡å","tokenCountModelTooltip":"ç¨äºç²¾ç¡®è®¡ç® token æ°éçæ¨¡ååç§°ï¼å¡« default 使ç¨å
置估ç®","tokenCountModelPlaceholder":"填忍¡ååç§°æ default","tokenCountUseMirror":"ä½¿ç¨ HuggingFace éå","tokenCountUseMirrorTooltip":"ä¸è½½ tokenizer æ¶æ¯å
168¦ä½¿ç¨ HuggingFace å½å
éå","tokenCountEstimateDivisor":"byte/Token ä¼°ç®é¤æ°","tokenCountEstimateDivisorTooltip":"åºäºåèæ°ä¼°ç® token æ°ç餿°ï¼token æ° â åèæ° / 餿°ï¼ãæ¨èå¼ï¼3.75 ~ 4ã","tokenCountEstimateDivisorRequired":"ä¼°ç®é¤æ°ä¸ºå¿
填项","tokenCountEstimateDivisorMin":"ä¼°ç®é¤æ°èå´ä¸º 2 ~ 5","toolResultCompactTitle":"å·¥å
·ç»æå缩é
ç½®","toolResultCompactEnabled":"å¯ç¨å·¥å
·ç»æå缩","toolResultCompactEnabledTooltip":"对è¿é¿çå·¥å
·è°ç¨ç»æè¿è¡å缩ï¼èçä¸ä¸æç©ºé´","memorySummaryTitle":"é¿æè®°å¿é
ç½®","memorySummaryEnabled":"å¯å¨è®°å¿æ»ç»","memorySummaryEnabledTooltip":"å¨ä¸ä¸æå缩æ¶èªå¨çæå¹¶ä¿åè®°å¿æ»ç»","dreamCronEnabled":"å¯ç¨æ¢¦å¢ä»»å¡","dreamCronEnabledTooltip":"å¯ç¨æ Cron 宿¶æ§è¡ç梦å¢è®°å¿ä¼åä»»å¡","dreamCron":"梦å¢å®æ¶","dreamCronTooltip":"设置梦å¢ä»»å¡èªå¨æ´çåä¼åé¿æè®°å¿ã宿¶è§¦ååä¼éæºå»¶è¿ 0â60 ç§åå¯å¨ï¼ä»¥é¿å
éä¸è°ç¨ï¼æ¯å¦æ§è¡ç±ä¸æ¹å¼å
³æ§å¶","dreamCronPlaceholder":"0 23 * * *","dreamCronRequired":"å¯ç¨æ¢¦å¢ä»»å¡æ¶è¯·è¾å
¥ Cron 表达å¼","dreamCronInvalid":"请è¾å
¥ææç 5 段 Cron 表达å¼","memoryDailyPaperTitle":"æ¯æ¥è®ºæ","memoryDailyPaperDescription":"æè®¡åçæè®ºæç²¾è¯»åç®æçæ¯æ¥è®ºæç®æ¥ï¼è®ºæä¿¡æ¯æ¥èª Hugging Faceã","dailyPaperCron":"æ¯æ¥è®ºæå®æ¶","dailyPaperCronTooltip":"è®¾ç½®æ¯æ¥è®ºæçæä»»å¡ç Cron 表达å¼ï¼é»è®¤å
³éï¼å¯ç¨ä¸æ¹å¼å
³åæä¼æ§è¡ã","dailyPaperTopics":"å
³æ³¨ä¸»é¢","dailyPaperTopicsTooltip":"å¡«åå¸ææ¯æ¥è®ºæä¼å
å
³æ³¨ç主é¢ï¼å¯ç空ã","dailyPaperTopicsPlaceholder":"ä¾å¦ï¼æºè½ä½è®°å¿ã强åå¦ä¹ ","dailyPaperUseHfMirror":"ä½¿ç¨ Hugging Face éåç«","dailyPaperUseHfMirrorDescription":"ä» Hugging Face éåç«è·å论æä¿¡æ¯","dailyPaperCronPlaceholder":"0 9 * * *","dailyPaperCronRequired":"å¯ç¨æ¯æ¥è®ºææ¶è¯·è¾å
¥ Cron 表达å¼","dailyPaperCronInvalid":"请è¾å
¥ææç 5 段 Cron 表达å¼","memoryAutoFinTitle":"è´¢ç»ç ç©¶","memoryAutoFinDescription":"ç ç©¶è¿æä¸å
³æ³¨ä¸»é¢ç¸å
³çè´¢èç¤¾çµæ¥ï¼å¹¶ç»ååå²è®°å¿å½¢ææ¥åã","autoFinDocumentation":"æ¥çä½¿ç¨æå","autoFinCron":"宿¶","autoFinCronTooltip":"设置 Auto Fin è´¢ç»ç ç©¶ä»»å¡ç Cron 表达å¼ï¼å¯ç¨ä¸æ¹å¼å
³åæä¼æ§è¡ã","autoFinCronPlaceholder":"0 18 * * *","autoFinCronRequired":"å¯ç¨ Auto Fin æ¶è¯·è¾å
¥ Cron 表达å¼","autoFinCronInvalid":"请è¾å
¥ææç 5 段 Cron 表达å¼","autoFinTopics":"å
³æ³¨ä¸»é¢","autoFinTopicsTooltip":"ç¨äºçéè¿æè´¢è社æ°é»ç主é¢ï¼å¤ä¸ªä¸»é¢è¯·ç¨éå·åéã","autoFinTopicsPlaceholder":"ä¾å¦ï¼é»éãAIãåå¨è¯ç","autoFinWindowHours":"æ°é»æ¶é´çªå£ï¼å°æ¶ï¼","autoFinWindowHoursTooltip":"æ¯æ¬¡è¿è¡æ¶åååæå¤å°å°æ¶å
çè´¢èç¤¾çµæ¥ã","autoFinWindowHoursPlaceholder":"24","autoFinWindowHoursRequired":"请è¾å
¥æ°é»æ¶é´çªå£","autoFinWindowHoursMin":"æ°é»æ¶é´çªå£ä¸è½å°äº 1 å°æ¶","autoFinWindowHoursMax":"æ°é»æ¶é´çªå£ä¸è½è¶
è¿ {{max}} å°æ¶","autoFinNotifyDescription":"Auto Fin 宿ååéç»æå°æ¶ä»¶ç®±","autoFinDisclaimer":"Auto Fin 䏿ä¾è¡æ
ãæ¶çãç®æ ä»·ãä¹°åç¹ææèµå»ºè®®ã","autoMemorySearch":"èªå¨è®°å¿æç´¢(Beta)","autoMemorySearchTooltip":"æ¯è½®å¯¹è¯é½èªå¨è§¦åè®°å¿æç´¢ãæ¯æ¬¡ query è¿æ¥é½ä¼èªå¨è°ç¨è®°å¿æç´¢è½åï¼è®© QwenPaw æ´æä½ ï¼ä½ä¼å¢å token æ¶èã","autoMaxResults":"èªå¨è®°å¿æç´¢æå¤§ç»ææ°","autoMaxResultsTooltip":"èªå¨è®°å¿æç´¢æ¶è¿åçæå¤§ç»ææ°","autoMaxResultsRequired":"æå¤§ç»ææ°ä¸ºå¿
填项","autoMaxResultsMin":"æå¤§ç»ææ°å¿
须大äºçäº 1","embeddingConfigTitle":"å鿍¡åé
ç½®","embeddingModelTitle":"Embedding 模å","embeddingBackend":"å鿍¡å SDK ç±»å","embeddingBackendTooltip":"éæ©ç¨äºè°ç¨å鿍¡åç SDK ç±»å","embeddingBackendPlaceholder":"è¯·éæ© SDK ç±»å","embeddingApiKey":"API Key","embeddingApiKeyTooltip":"å鿍¡åæä¾æ¹ç API Keyï¼æ éè®¤è¯æ¶ç空","embeddingApiKeyPlaceholder":"æ éè®¤è¯æ¶ç空","embeddingBaseUrl":"Base URL","embeddingBaseUrlTooltip":"å鿍¡å API ç Base URLãOpenAI å
¼å®¹å端ä¸è¯¥èªå®ä¹å°å为å¯é项ï¼API Key 忍¡åå称为å¿
填项","embeddingBaseUrlPlaceholder":"https://dashscope.aliyuncs.com/compatible-mode/v1","embeddingHost":"Host","embeddingHostTooltip":"Ollama æå¡å°åãç空æ¶ä½¿ç¨ Ollama é»è®¤å°å","embeddingHostPlaceholder":"http://localhost:11434","embeddingModelName":"模ååç§°","embeddingModelNameTooltip":"å鿍¡ååç§°ï¼ææåéå端é½é
168è¦å¡«å","embeddingModelNamePlaceholder":"text-embedding-v4","embeddingEnableCache":"å¯ç¨ Embedding ç¼å","embeddingEnableCacheTooltip":"ç¼ååéç»æï¼åå°éå¤è®¡ç®","embeddingMaxCacheSize":"æå¤§ç¼åæ¡ç®æ°","embeddingMaxCacheSizeTooltip":"åéç¼åçæå¤§æ¡ç®æ°","embeddingMaxCacheSizeRequired":"æå¤§ç¼åæ¡ç®æ°ä¸ºå¿
填项","embeddingUseDimensions":"è¯·æ±æ¶ä¼ é维度","embeddingUseDimensionsTooltip":"å¼å¯åï¼å¨ OpenAI å
¼å®¹ç Embedding API 请æ±ä¸ä¼ é dimensions åæ°ï¼é¨åæå¡ä¸æ¯æè¯¥åæ°","embeddingDimensions":"åé维度","embeddingDimensionsTooltip":"颿çåé维度ï¼ç¨äºè¿å弿 ¡éªãç´¢å¼åç¼åï¼å
³éâè¯·æ±æ¶ä¼ éç»´åº¦âæ¶ï¼ä»é填忍¡åå®é
è¾åºç维度","embeddingDimensionsRequired":"åé维度为å¿
填项","embeddingDimensionsMin":"åé维度å¿
须大äºçäº 1","embeddingMaxInputLength":"åæ¡è¾å
¥å符é¢ç®","embeddingMaxInputLengthTooltip":"åæ¡ Embedding è¾å
¥çè¿ä¼¼å符é¢ç®ã请æ±å伿®æ¤æªæææ¬ï¼å¹¶å¯¹ä¸æçå
¨è§å符éç¨æ´ä¿å®çä¼°ç®ï¼è¯¥å¼ä¸æ¯ç²¾ç¡®ç Token ä¸é","embeddingMaxInputLengthRequired":"åæ¡è¾å
¥å符é¢ç®ä¸ºå¿
填项","embeddingMaxBatchSize":"æå¤§æ¹å¤ç大å°","embeddingMaxBatchSizeTooltip":"忬¡æ¹éåéå请æ±çæå¤§æ¡ç®æ°","embeddingMaxBatchSizeRequired":"æå¤§æ¹å¤ç大å°ä¸ºå¿
填项","embeddingHealthCheckTimeout":"åå§åè¶
æ¶æ¶é´","embeddingHealthCheckTimeoutTooltip":"çå®è¿æ¥æµè¯å ReMe å¯å¨æ¶ Embedding å¥åº·æ£æ¥ç忬¡è¶
æ¶æ¶é´","embeddingHealthCheckTimeoutRequired":"åå§åè¶
æ¶æ¶é´ä¸ºå¿
填项","embeddingTestConnection":"æµè¯ Embedding æå¡","embeddingTestSuccess":"Embedding æå¡æµè¯æå","embeddingTestSuccessDetail":"å®é
维度ï¼{{dimensions}}ï¼è¯·æ±èæ¶ï¼{{latency}} msãä¿ååå°åºç¨è¯¥æ¨¡åã","embeddingTestFailed":"Embedding æå¡æµè¯å¤±è´¥","embeddingTestIncomplete":"请å
å¡«å宿´ç模ååç§°ãåè¯åææçåé维度","embeddingStatusDescription":"æ¥çå½å模åé
ç½®ï¼å¹¶éªè¯æå¡è¿æ¥ä¸åéè¾åº","embeddingOverviewTitle":"Embedding 模åä¸å¿","embeddingConfigStatus":"é
ç½®ç¶æ","embeddingCurrentModel":"å½å模å","embeddingConfiguredDimensions":"设置维度","embeddingDimensionsUnit":"ç»´åé","embeddingVerificationStatus":"æå¡éªè¯","embeddingVerified":"éªè¯éè¿","embeddingNotVerified":"å°æªéªè¯","embeddingVerificationHint":"ç¹å»éªè¯æå¡ï¼æ¥çè¿å维度ä¸èæ¶","embeddingVerificationMetrics":"è¿å {{dimensions}} ç»´ · {{latency}} ms","embeddingServiceTitle":"Embedding æå¡","embeddingServiceDescription":"è¿æ¥æ¨¡åæå¡å¹¶å®ä¹åéè¾åº","embeddingCapabilityEnabled":"å·²å¼å¯","embeddingCapabilityDisabled":"æªå¼å¯","embeddingIndexTitle":"ç´¢å¼ä¸ç¼å","embeddingIndexDescription":"æ§å¶ ReMe çåéåå¨åæ¹å¤çè¡ä¸º","memoryPageDescription":"让æºè½ä½ä»åå²å¯¹è¯ä¸æåãæ´çå¹¶å¬åæç¨ä¿¡æ¯ãæ¥å¸¸è®¾ç½®ä¼ç«å³çæï¼è¯ä¹æç´¢é
置为å¯é项ã","memoryPoweredBy":"Powered by","memoryDocumentation":"ä½¿ç¨ææ¡£","memoryOverviewTitle":"é¿æè®°å¿ä¸å¿","memoryRuntimeStatus":"æå¡ç¶æ","memoryStatusUnknown":"æªæ£æ¥","memoryStatusChecking":"æ£å¨æ£æ¥","memoryStatusRunning":"è¿è¡æ£å¸¸","memoryStatusCheckFailed":"ç¶ææ£æ¥å¤±è´¥","remeStatusLoading":"æ£å¨è¯»å ReMe è¿è¡ç¶æâ¦","remeStatusFailed":"æ æ³è¯»å ReMe è¿è¡ç¶æ","remeStatusComponentsTotal":"ReMe ç»ä»¶ä¼°ç®å ç¨","remeStatusEstimated":"åç¶æç»ä»¶ç对象大å°å计","remeStatusProcessRss":"è¿ç¨å
å RSS","remeStatusProcessRssHint":"QwenPaw å½åè¿ç¨çç©çå
åå ç¨","remeStatusComponents":"ç»ä»¶æç»","remeStatusEstimateNote":"ç»ä»¶å ç¨ä¸ºç¬ç«ä¼°ç®ï¼å
±äº«å¯¹è±¡å¯è½è¢«éå¤è®¡ç®ï¼å æ¤ç»ä»¶å计ä¸çåäºè¿ç¨ RSSã","memoryStatusNeedsAttention":"éè¦å
³æ³¨","memoryStatusBusy":"åå°å¤çä¸","memoryStatusStopping":"æ£å¨åæ¢","memoryBackgroundTasks":"åå°ä»»å¡","memoryWorker":"è®°å¿å·¥ä½å¨","memoryWorkerStatus":{"idle":"空é²","busy":"å¤çä¸","stopping":"æ£å¨åæ¢","error":"å¼å¸¸åæ¢"},"memoryQueueSummary":"{{running}} 项å¤çä¸ Â· {{pending}} 项çå¾
","memoryQueueIdleSummary":"ç©ºé² Â· æ çå¾
ä»»å¡","memoryAutoRecordDisabledHint":"èªå¨å¯¹è¯è®°å¿å·²å
³é","memoryAutoMemoryEnabledSummary":"èªå¨è®°å¿å·²å¼å¯ · æ¯ {{interval}} 轮对è¯è§¦å","memoryRuntimeActivityDescription":"èªå¨åæå¨è§¦åçèªå¨è®°å¿ä»»å¡ä¼å¨åå°ä¾æ¬¡å¤çï¼ä¸ä¼é»å¡å½å对è¯","memoryLastError":"æè¿ä¸æ¬¡é误","memoryNeverRun":"ææ è®°å½","autoMemoryRecentTasks":"æè¿çèªå¨è®°å¿ä»»å¡","autoMemoryRecentTasksEmpty":"æè¿è¿æ²¡æèªå¨è®°å¿ä»»å¡","autoMemoryTrigger":{"periodic":"å¨æè§¦å","manual":"æå¨è§¦å","compact":"ä¸ä¸æå缩","new":"æ°ä¼è¯"},"memoryTaskMessages":"å¤ç {{count}} æ¡æ¶æ¯","memoryTaskNoResult":"ä»»å¡å°æªè¿åå
容","memoryTaskStatus":{"pen
168ding":"çå¾
ä¸","running":"å¤çä¸","completed":"已宿","failed":"失败","cancelled":"已忶"},"memoryResourceUsageDescription":"å½å ReMe ç»ä»¶ä¼°ç®ä¸ QwenPaw è¿ç¨å
å","memoryDiagnostics":"èµæºä¸è¯æ","memoryComponentsMetric":"ç»ä»¶","memoryProcessMetric":"è¿ç¨","memoryDiagnosticsHint":"æ¥çç»ä»¶å ç¨ä¸è¿è¡æç»","remeStatusComponent":{"embedding_store":"åéåå¨","file_graph":"æä»¶å
³ç³»å¾","file_store":"æä»¶åå¨","keyword_index":"å
³é®è¯ç´¢å¼"},"memoryStatusDisabled":"å·²å
³é","memoryJournalTitle":"èªå¨è®°å¿","memoryJournalDescription":"ä»å¯¹è¯åå¤é¨ç¥è¯æºä¸æç»æåå¹¶æ²æ·å¯æ£ç´¢çè®°å¿","memoryConversationJournalTitle":"对è¯è®°å¿","memoryExternalSourcesDevelopingLabel":"æç»å¼åä¸","memoryExternalSourcesTitle":"å¤é¨ç¥è¯æ¥è®°","dailyPaperDocumentation":"æ¥çä½¿ç¨æå","memoryAutoRecordTitle":"å¯ç¨å¯¹è¯è®°å¿","memoryAutoRecordDescription":"æè®¾å®è½®æ¬¡æç»æåæ°çé¿æè®°å¿","memoryAutoRecordFrequency":"è®°å½é¢çï¼å¯¹è¯è½®æ°ï¼","memoryNotifyTitle":"æ¶ä»¶ç®±éç¥","memoryNotifyDescription":"ä»
å¨å¯¹è¯æ¥è®°æååæä»»å¡å¤±è´¥æ¶åéå°æ¶ä»¶ç®±","dailyPaperNotifyDescription":"æ¯æ¥è®ºæçæååéå°æ¶ä»¶ç®±","autoDreamNotifyDescription":"ä»
å¨è®°å¿æ´çæååæä»»å¡å¤±è´¥æ¶åéå°æ¶ä»¶ç®±","memoryOrganizeSectionTitle":"è®°å¿æ´ç","memoryOrganizeSectionDescription":"宿å½çº³ãåå¹¶å¹¶ä¼åå·²æé¿æè®°å¿","memoryOrganizeTitle":"æ¢¦å¢æ´ç","memoryScheduledOrganizeTitle":"å¯ç¨æ¢¦å¢æ´ç","memoryScheduledOrganizeDescription":"éè¿æ¢¦å¢ä»»å¡å¨åå°ç»´æ¤è®°å¿è´¨é","memoryRecallTitle":"è®°å¿æç´¢å·¥å
·","memorySearchSectionTitle":"è®°å¿æç´¢","memorySearchSectionDescription":"æ§å¶æºè½ä½ä¸»å¨æç´¢ååå¤åèªå¨å¬åè®°å¿çæ¹å¼","memorySearchToolTitle":"åæºè½ä½æä¾è®°å¿æç´¢å·¥å
·","memorySearchToolDescription":"å
许æºè½ä½æé主å¨è°ç¨ memory_search","memoryAutoRecallTitle":"å¯ç¨èªå¨è®°å¿æç´¢ï¼Betaï¼","memoryAutoRecallDescription":"æ¯è½®å¯¹è¯èªå¨æç´¢ï¼æ éæºè½ä½ä¸»å¨è°ç¨å·¥å
·","memoryMaintenanceEyebrow":"ç»´æ¤ä¸ä¿®å¤","memoryMaintenanceTitle":"é建记å¿ç´¢å¼","memoryMaintenanceDescription":"æ¸
é¤å¹¶éæ°çææç´¢ç´¢å¼ãä»
建议å¨ç´¢å¼æåææç´¢ç»æå¼å¸¸æ¶ä½¿ç¨ã","toolExecutionLevelTitle":"å·¥å
·å®¡æ¹æ¨¡å¼","toolExecutionLevelTooltip":"å®¡æ¹æ¨¡å¼","toolExecutionLevel":{"title":"å·¥å
·å®¡æ¹æ¨¡å¼","alertMessage":"é
置工å
·è°ç¨åç审æ¹çç¥ï¼æä»¶é²æ¤è§åç¬ç«çæ","strict":"ä¸¥æ ¼æ¨¡å¼","strictDesc":"æ¯æ¬¡å·¥å
·è°ç¨åå¤é¨æä»¶è®¿é®ååé审æ¹","smart":"æºè½æ¨¡å¼","smartDesc":"ä½é£é©å·¥å
·è°ç¨åå¤é¨æä»¶è®¿é®æä½èªå¨æ§è¡ï¼ä¸é«é£é©é审æ¹","auto":"èªå¨æ¨¡å¼","autoDesc":"ä»
å½ä¸å·¥å
·åæä»¶å®¡æ¹è§åçæä½é审æ¹ï¼é»è®¤ï¼","off":"å
³é模å¼","offDesc":"å
³éå·¥å
·åæä»¶å®¡æ¹"},"saveLevelSuccess":"å·¥å
·å®¡æ¹æ¨¡å¼å·²ä¿å","saveLevelFailed":"ä¿åå·¥å
·å®¡æ¹æ¨¡å¼å¤±è´¥","offloadPolicy":{"title":"å·¥å
·åå°æ§è¡çç¥","alertMessage":"è¿æ¯å
¨å±è®¾ç½®ï¼sett
168ings.jsonï¼ï¼ä¸æ¯æ Agent ç¬ç«é
ç½®ãç¨äºæ§å¶å·¥å
·å°è¾¾è½¬å
¥åå°æ¶éåçé»è®¤è¡ä¸ºï¼ç¨æ·ä»å¯å¨å·¥å
·è¿è¡æ¶éè¿æ§å¶é¢æ¿ä¸´æ¶è¦çã","keepForeground":"ä¿æåå°æ§è¡","keepForegroundDesc":"å计æ¶ç»æåå·¥å
·ç»§ç»å¨åå°è¿è¡ï¼ä¸èªå¨è½¬å
¥åå°ãéåéè¦å®æ¶æ¥çè¾åºçåºæ¯ã","offload":"èªå¨è½¬å
¥åå°","offloadDesc":"å计æ¶ç»æåå·¥å
·èªå¨è½¬å
¥åå°æ§è¡ï¼Agent å¯ç»§ç»å¤çå
¶ä»ä»»å¡ãéåé¿æ¶é´è¿è¡çå·¥å
·ã","saveFailed":"ä¿åçç¥å¤±è´¥"},"maxContextLength":"æå¤§ä¸ä¸æé¿åº¦","maxContextLengthTooltip":"模åä¸ä¸æçªå£çæå¤§ token æ°ï¼å³å®æ¯æ¬¡è¯·æ±è½æºå¸¦çæå¤§åå²é¿åº¦","maxContextLengthRequired":"æå¤§ä¸ä¸æé¿åº¦ä¸ºå¿
填项","maxContextLengthMin":"æå¤§ä¸ä¸æé¿åº¦å¿
须大äºçäº 1000","maxContextLengthPlaceholder":"请è¾å
¥æå¤§ä¸ä¸æé¿åº¦","embeddingActivationNote":"æéå端çå¿
è¦å段填å宿´åæä¼å¼å¯å鿍¡ååè½","embeddingEnableHint":"æéå端çå¿
è¦å段填å宿´åå¯ç¨å鿍¡ååè½ï¼OpenAI å
¼å®¹æ Gemini å端éè¦æ¨¡ååç§°å API Keyï¼Ollama éè¦æ¨¡ååç§°ã","rebuildMemoryIndex":"é建记å¿ç´¢å¼","rebuildMemoryIndexWarning":"æ¤æä½ä¼æ¸
空并éå»ºè®°å¿æç´¢ç´¢å¼ï¼æé´ä¼æ¶èè¾å¤ CPU åå
åãä»
建议å¨ç´¢å¼æåææç´¢ç»æå¼å¸¸æ¶ç¨äºä¿®å¤ã","rebuildMemoryIndexConfirmTitle":"确认é建记å¿ç´¢å¼ï¼","rebuildMemoryIndexConfirm":"é建æé´ CPU åå
åå ç¨å¯è½ææ¾åé«ãé¤éç´¢å¼æåæéè¦ä¿®å¤ï¼å¦åä¸å»ºè®®æ§è¡ã","rebuildMemoryIndexSuccess":"è®°å¿ç´¢å¼éå»ºå®æ","rebuildMemoryIndexFailed":"è®°å¿ç´¢å¼é建失败ï¼{{error}}","rebuildMemoryIndexRequired":"Embedding é
置已ååï¼åéæç´¢å½åä¸å¯ç¨ï¼é建 Embedding ç´¢å¼æååï¼è®°å¿æç´¢å°èªå¨é级为 BM25ã","embeddingIndexReady":"Embedding ç´¢å¼ä¸å½åé
ç½®ä¸è´ã","embeddingIndexStatus":"Embedding ç´¢å¼","embeddingIndexAvailable":"æ éé建","embeddingIndexDisabled":"æªå¼å¯","embeddingIndexEnableFirst":"请å
å¼å¯ Embeddingï¼åé建索å¼","embeddingSearchModeHybrid":"å½åæç´¢ï¼åé + BM25","embeddingSearchModeBm25":"å½åæç´¢ï¼ä»
BM25","embeddingSearchModeBm25Pending":"å½åæç´¢ï¼ä»
BM25 · çå¾
é建","embeddingIndexNeedsRebuild":"éè¦é建","embeddingIndexRebuilding":"æ£å¨é建","embeddingIndexRebuildingHint":"æ£å¨çæè®°å¿åéï¼è¯·ç¨å","embeddingIndexSaveFirst":"请å
ä¿åé
ç½®","embeddingIndexUnsavedHint":"å½åä¿®æ¹å°æªä¿åï¼ä¿ååæè½é建索å¼","embeddingIndexMatchesConfig":"ä¸å½åé
ç½®ä¸è´","embeddingIndexBm25Fallback":"åéæç´¢åç¨ Â· å½åä½¿ç¨ BM25","rebuildEmbeddingIndex":"é建 Embedding ç´¢å¼","rebuildEmbeddingIndexConfirmTitle":"确认é建 Embedding ç´¢å¼ï¼","rebuildEmbeddingIndexConfirm":"å°ä½¿ç¨å½åé
ç½®éæ°çæå
¨é¨è®°å¿åéãæå宿åï¼åéæç´¢ä¼ä¿æç¦ç¨ã","rebuildEmbeddingIndexSuccess":"Embedding ç´¢å¼éå»ºå®æ","rebuildEmbeddingIndexFailed":"Embedding ç´¢å¼é建失败ï¼{{error}}","undoEmbeddingChange":"æ¤éä¿®æ¹","undoEmbeddingChangeConfirmTitle":"æ¢å¤å·²ç´¢å¼ç Embedding é
ç½®ï¼","undoEmbeddingChangeConfirm":"å°æ¢å¤ä¸ç°æåéç´¢å¼å¹é
çä¸ä¸æ¬¡ Embedding é
ç½®ã","undoEmbeddingChangeSuccess":"å·²æ¢å¤å Embedding é
ç½®","undoEmbeddingChangeFailed":"æ¢å¤ Embedding é
置失败ï¼{{error}}","rebuildBm25Index":"é建 BM25 ç´¢å¼","rebuildBm25IndexDescription":"æ ¹æ®å½åè®°å¿ååéæ°çæå
³é®è¯ç´¢å¼ã","rebuildBm25IndexConfirmTitle":"确认é建 BM25 ç´¢å¼ï¼","rebuildBm25IndexConfirm":"å°æ ¹æ®å½åè®°å¿ååéæ°çæå
³é®è¯æç´¢ç´¢å¼ã","rebuildBm25IndexSuccess":"BM25 ç´¢å¼éå»ºå®æ","goToLongTermMemory":"åå¾é¿æè®°å¿","toolResultCompactRecentGtOld":"æè¿å·¥å
·ç»æé¢è§åèæ°å¿
é¡»å¤§äºæçäº compact é¢è§åèæ°","lightContextTitle":"ä¸ä¸æç®¡ç","remeLightMemoryTitle":"é¿æè®°å¿","dialogPath":"对è¯åå¨è·¯å¾","dialogPathTooltip":"对è¯è®°å½æä¹
ååå¨çç¸å¯¹è·¯å¾ï¼ç¸å¯¹äº working_dirï¼","dialogPathPlaceholder":"dialog","contextCompactCollapseLabel":"ä¸ä¸æå缩","toolResultPruningCollapseLabel":"å·¥å
·ç»æå缩","visualCompactCollapseLabel":"è§è§å缩","visualCompactDescription":"å°è¾æ©ãè¾é¿çä¸ä¸æå缩为è§è§é¡µé¢ï¼ä»¥åå°è¾å
¥ Tokenï¼æè¿å¯¹è¯ä»ä¿çä¸ºææ¬ã","visualCompactEnabled":"å¯ç¨ Visual Compact","visualCompactEffort":"å缩强度","visualCompactLow":"ä½","visualCompactMedium":"ä¸","visualCompactHigh":"é«","visualCompactLowDescription":"å缩è¾å°å
容ï¼ä¼å
ä¿è¯å¯è¯»æ§ã","visualCompactMediumDescription":"平衡 Token èçä¸è§è§å¯è¯»æ§ã","visualCompactHighDescription":"å缩æ´å¤ç¬¦åæ¡ä»¶çä¸ä¸æï¼ä¼å
èç Tokenã","visualCompactQualityNote":"æ´é«å缩强度ä¸ä¸å®å¸¦æ¥æ´é«åçè´¨éã","visualCompactCapabilityNote":"ä»
å¯¹æ¯æå¾çè¾å
¥ç模åçæã","autoMemorySearchCollapseLabel":"èªå¨è®°å¿æç´¢","embeddingConfigCollapseLabel":"å鿍¡åé
ç½®","summarizeWhenCompact":"å缩æ¶è®°å¿","summarizeWhenCompactTooltip":"å¨ä¸ä¸æå缩æ¶èªå¨çæå¹¶ä¿åè®°å¿","inboxPushEnabled":"è®°å¿ç»ææ¶ä»¶ç®±éç¥","inboxPushEnabledTooltip":"å°èªå¨è®°å¿ãèªå¨æ¢¦å¢åæ¯æ¥è®ºæä»»å¡ç»ææ¨éå°æ¶ä»¶ç®±ãå
³éåä»
忢éç¥ï¼ä¸å½±åè®°å¿ä»»å¡è¿è¡ã
168","autoMemoryInterval":"èªå¨è®°å¿é´é","autoMemoryIntervalTooltip":"æ¯é N æ¬¡ç¨æ·æ¥è¯¢è§¦å䏿¬¡èªå¨è®°å¿ã0 表示ç¦ç¨å®æèªå¨è®°å¿ï¼1 è¡¨ç¤ºæ¯æ¬¡æ¥è¯¢åèªå¨è®°å¿ï¼æ¨è设置 2-5ï¼è®¾ç½® 1 éè¦æ³¨æé« token æ¶èã","autoMemoryIntervalPlaceholder":"è¾å
¥ 0 ç¦ç¨å®æèªå¨è®°å¿","autoMemoryIntervalRequired":"请è¾å
¥èªå¨è®°å¿é´é","autoMemoryIntervalMin":"èªå¨è®°å¿é´éå¿
须大äºçäº 0","contextManagerBackend":"ä¸ä¸æç®¡çå端","contextManagerBackendTooltip":"ä¸ä¸æç®¡çå¨çå端类åï¼ç®åä»
æ¯æ Light","contextStrategy":"ä¸ä¸æçç¥","contextStrategyTooltip":"æºè½ä½å¦ä½ç®¡çé¿ä¸ä¸æãScrollï¼æ¨èï¼å°é©±éç对è¯è½®æ¬¡æä¹
åå°åå²åºå¹¶æéå¬åï¼Native 使ç¨å°±å°åç¼©ãæ´æ¹åééå¯ QwenPaw çæã","contextStrategyScroll":"Scroll","contextStrategyNative":"Native","backendRestartWarning":"忢åç«¯ä¸æ¯æçæ´æ°ï¼ä¿ååéè¦éå¯ QwenPaw æè½çæ","adbpgMemoryTitle":"ADBPG é¿æè®°å¿","powercontextMemoryTitle":"PowerContext è®°å¿","powercontextConfig":{"title":"PowerContext è®°å¿é
ç½®","baseUrl":"æå¡å°å","token":"Bearer Token","scopeId":"è®°å¿ä½ç¨å","scopeIdPlaceholder":"ç空以使ç¨å½åå®è£
ä¸å¯ä¸ç Agent ä½ç¨å","scopeIdInvalid":"è®°å¿ä½ç¨åä¸è½åªå
å«ç©ºç½å符ã","timeout":"请æ±è¶
æ¶","maxContextBytes":"æå¤§æ³¨å
¥ä¸ä¸æï¼åèï¼","maxContextBytesTooltip":"éå¶å轮模åè°ç¨ä¸æ³¨å
¥ç PowerContext æ£ç´¢ç»ææ»éã"},"adbpgConfig":{"title":"ADBPG è®°å¿é
ç½®","restBaseUrl":"REST Base URL","restApiKey":"REST API Key","memoryIsolation":"è®°å¿éç¦»ï¼æ Agentï¼","searchTimeout":"æç´¢è¶
æ¶"}}'),FR={title:"å
置工å
·",description:"管çå
置工å
·åå
¶å¯ç¨ç¶æãç¦ç¨çå·¥å
·å°ä¸ä¼æä¾ç»æºè½ä½ä½¿ç¨ã",emptyState:"ææ å·¥å
·é
ç½®",loadError:"å 载工å
·å¤±è´¥",enableSuccess:"å·¥å
·å¯ç¨æå",disableSuccess:"å·¥å
·ç¦ç¨æå",toggleError:"忢工å
·ç¶æå¤±è´¥",enableAll:"å
¨é¨å¯ç¨",disableAll:"å
¨é¨ç¦ç¨",enableAllSuccess:"å
¨é¨å·¥å
·å·²å¯ç¨",disableAllSuccess:"å
¨é¨å·¥å
·å·²ç¦ç¨",allEnabled:"ææå·¥å
·å·²å¤äºå¯ç¨ç¶æ",allDisabled:"ææå·¥å
·å·²å¤äºç¦ç¨ç¶æ",asyncExecution:"弿¥æ§è¡",asyncExecutionEnabled:"弿¥æ§è¡å·²å¯ç¨",asyncExecutionDisabled:"弿¥æ§è¡å·²ç¦ç¨",browserUnifiedMode:"ç»ä¸æµè§å¨ï¼Betaï¼",browserLegacyMode:"æ§çå
¼å®¹æ¨¡å¼",browserUnifiedModeButton:"æ°ç(Beta)",browserLegacyModeButton:"æ§ç(å
¼å®¹)",browserUnifiedDescription:"ä½¿ç¨æ°çç»ä¸æµè§å¨è½åã",browserLegacyDescription:"使ç¨åææµè§å¨å®ç°ï¼éç¨äºéè¦æ§è¡ä¸ºçåºæ¯ã",browserRestartPending:"é坿å¡åå°åæ¢ä¸ºï¼{{mode}}",configure:"é
ç½®",configured:"å·²é
ç½®",requiresConfig:"éè¦é
ç½®",configSaved:"é
置已ä¿å",configSaveError:"é
ç½®ä¿å失败",webSearchProviderLabel:"æç´¢æå¡å",webSearchApiKeyLabel:"API å¯é¥ï¼å¯éï¼",webSearchQuotaHintBefore:"æªæ³¨åæ¯æ¥é 100 次ï¼åå¾ ",webSearchQuotaHintAfter:" 注åå¯äº«æ¯æ¥ 1000 次å
è´¹é¢åº¦ã",active:"ä¸ªå·²æ¿æ´»",available:"å¯ç¨",noEnabled:"ææ å·²å¯ç¨çå·¥å
·",goEnableBtn:"å»å¯ç¨",configureAction:"é
ç½® â",enableAction:"å¯ç¨ â"},OR={promptTitle:"éè¦é
ç½® LLM 模åï¼é
置模ååå¨ Chat 页é¢éæ©",promptMessage:"è天åè½éè¦ LLM 模åæè½è¿è¡ã请å
é
置模åï¼é
ç½®å®æåå¨ Chat 页é¢é¡¶é¨ç模åéæ©å¨ä¸éæ©å³å¯ä½¿ç¨ã",configureButton:"é
置模å",skipButton:"è·³è¿",chatDisabledTitle:"è天已ç¦ç¨",chatDisabledMessage:"è天åè½å·²ç¦ç¨ï¼å 为æªé
置模åã请é
置模å以å¯ç¨è天åè½ã",configureNow:"é
置模å",modelNotConfigured:"请å
å¨è®¾ç½®ä¸é
置模ååå使ç¨è天åè½"},BR={changelog:"æ´æ°æ¥å¿",docs:"ææ¡£",tutorial:"æç¨",featureDemos:"åè½æ¼ç¤º",faq:"常è§é®é¢",github:"GitHub",resources:"ææ¡£èµæ",updateAvailable:"æå¯ç¨æ´æ°"},NR={dark:"æ·±è²",light:"æµ
è²",system:"è·éç³»ç»"},HR={fileReference:{codeSnippet:"代ç çæ®µ · {{count}} è¡"},modelSelectTooltip:"模åéæ©",newChatTooltip:"æ°å»ºè天",searchTooltip:"æç´¢ææè天",chatHistoryTooltip:"è天å
168å²",wideModeTooltip:"宽屿¨¡å¼",normalModeTooltip:"æ£å¸¸æ¨¡å¼",messageDisplay:{stepsRunning:"æ£å¨æ§è¡ä¸â¦ · {{count}} 个æ¥éª¤",stepsCanceled:"已忶 · {{count}} 个æ¥éª¤",stepsFailed:"æ§è¡å¤±è´¥ · {{count}} 个æ¥éª¤",stepsCompleted:"已宿 {{count}} 个æ¥éª¤"},allChats:"å
¨é¨è天",createNewChat:"å建æ°è天",pinDrawer:"åºå®",unpinDrawer:"åæ¶åºå®",statusIdle:"空é²",statusInProgress:"è¿è¡ä¸",statusUnseenResult:"ææ°ç»æ",disclaimer:"æä½ æéï¼ä¼´ä½ å·¦å³",greeting:"ä½ å¥½ï¼æä»å¤©è½å¸®ä½ åä»ä¹ï¼",description:"ææ¯ä¸ä¸ªæºè½å©æï¼å¯ä»¥å¸®å©ä½ è§£çé®é¢ã",prompt1:"让æä»¬å¼å¯ä¸æ®µæ°çæ
ç¨å§ï¼",prompt2:"è½åè¯æä½ æåªäºæè½åï¼",inputPlaceholder:'"ââ" æµè§æ¶æ¯ · "/" å¿«æ·æä»¤',longTextUploadPrompt:"请读åå·²ä¸ä¼ çæç¤ºè¯æä»¶ï¼å¹¶æ ¹æ®æä»¶å
容åçã",emptyOutputError:"婿è¿åäºç©ºååºã",commands:{clear:{description:"æ¸
空对è¯ä¸ä¸æ"},compact:{description:"å缩对è¯ä¸ä¸æå¹¶çææè¦ï¼æ¯æé带说æ"},approve:{description:"æ¹åå¾
æ§è¡çå·¥å
·æä½å¹¶ç»§ç»æ§è¡"},deny:{description:"æç»å¾
æ§è¡çå·¥å
·æä½"},mission:{description:"Missionæ¨¡å¼ â å解任å¡å§æ´¾åAgentï¼ç¬ç«ä¸ä¸æä¸æ±¡æä¸»ä¼è¯"},skills:{description:"ååºå½å对è¯å¯ç¨çæè½ï¼å¹¶æ¾ç¤ºå¯æ¾å¼è°ç¨çæè½å½ä»¤"},agents:{description:"ååºå½åè¿è¡æ¶å¯ç¨çæºè½ä½"},review:{description:"ä½¿ç¨ Codex 审æ¥å·¥ä½åºä¸å°æªæäº¤çåæ´"},status:{description:"æ¥çå½åæºè½ä½è´¦æ·ã模ååå·¥ä½åº"},plan:{description:"åå»ºç»æå计åï¼å°ä»»å¡å解为å¤ä¸ªåä»»å¡"},goal:{description:"Goalå¾ªç¯ â Agentå´ç»ç®æ æç»æ§è¡ï¼éè¿Rubricè¯ä¼°èªå¨å¤æå®æ"}},attachments:{tooltip:"æ¯æææ¡£ãå¾çãè§é¢ãé³é¢çå¤ç§æ ¼å¼",tooltipImageOnly:"å½å模åä»
æ¯æå¾çä¸ä¼ ",tooltipNoMultimodal:"å½åæ¨¡åæªæ£æµå°å¤æ¨¡æè½åï¼å¾çæè§é¢å¯è½æ æ³è¢«æ£ç¡®å¤ç",fileSizeLimit:"åæä»¶ä¸è¶
è¿ {{limit}}MB",fileSizeExceeded:"æä»¶å¤§å°è¶
è¿ {{limit}}MB éå¶ãå½åæä»¶ï¼{{size}}MB",multimodalDisabled:"å½å模å䏿¯ææä»¶ä¸ä¼ ",multimodalWarning:"å½åæ¨¡åæªæ£æµå°å¤æ¨¡æè½åï¼å¾çæè§é¢å¯è½æ æ³è¢«æ£ç¡®å¤ç",imageOnlyAccept:"å½å模åä»
æ¯æå¾çæä»¶",imageOnlyWarning:"å½å模åä»
æ£æµå°å¾çæ¯æï¼è§é¢çéå¾çæä»¶å¯è½æ æ³è¢«æ£ç¡®å¤ç"},rateLimitHit:"å½å模å已触åéæµï¼è¯·å°è¯åæ¢å
¶ä»å
费模åã",modelFallbackNotice:"模åå·²ä» {{from}} åæ¢å° {{to}}ï¼{{reason}}ï¼ã",turnUsagePopover:{ariaLabel:"ä¸ä¸æå ç¨ {{contextRate}}ï¼ç¼åå½ä¸ {{cacheRate}}ï¼æ¥çç¨é详æ
",turn:"æ¬è½®",turnEstimated:"æ¬è½®çº¦",tok:"tok",inOut:"in {{inTok}} · out {{outTok}}",contextLabel:"ä¸ä¸æçªå£",outerRing:"å¤å",cacheLabel:"ç¼åå½ä¸ç",centerValue:"ä¸å¿",cacheTokens:"å½ä¸ {{readTok}} / è¾å
¥ {{inputTok}}",manageContext:"ä¸ä¸æç®¡ç",compact:"å缩",new:"æ°å¯¹è¯"},rateLimitMessage:"已触åéæµï¼åæ¢å
¶ä»å
费模åï¼",rateLimitSwitched:"å·²åæ¢è³ {{model}}",speech:{startRecording:"å¼å§è¯é³å½å¶ (Ctrl+Shift+M)",stopRecording:"忢å½å¶ (Ctrl+Shift+M)",transcribing:"æ£å¨è½¬å½...",transcriptionDisabled:"è¯é³è½¬å½å·²ç¦ç¨ã请å¨è®¾ç½® > è¯é³è½¬åä¸é
ç½®è½¬å½æå¡ã",transcriptionFailed:"è¯é³è½¬å½å¤±è´¥",microphoneError:"æ æ³è®¿é®éº¦å
é£",fileTooLarge:"å½é³æä»¶è¿å¤§ï¼{{size}}MBï¼ï¼æå¤§æ¯æ {{limit}}MB",recordingTooLong:"å½é³æ¶é¿è¶
è¿éå¶ï¼{{limit}}ç§ï¼"},search:{title:"æç´¢è天",tooltip:"æç´¢å½åè天",placeholder:"æç´¢æ¶æ¯...",noResults:"æªæ¾å°ç»æ",resultsCount:"æ¾å° {{count}} ä¸ªç»æ",searching:"æ£å¨æç´¢ {{progress}}...",loading:"å è½½ä¸...",userMessage:"ç¨æ·",assistantMessage:"婿",titleMatch:"æ é¢"},contextMenu:{open:"æå¼",rename:"éå½å",pin:"置顶",unpin:"åæ¶ç½®é¡¶",pinFailed:"æ´æ°ä¼è¯ç½®é¡¶ç¶æå¤±è´¥",moveToGroup:"ç§»å¨å°åç»",delete:"å é¤"},queue:{title:"æ¶æ¯éå",paused:"å·²æå",sendFailed:"åé失败",resume:"ç»§ç»åééå",pause:"æååééå",clear:"æ¸
空éå",dragSort:"æå¨æåº",edit:"ç¼è¾",retry:"éè¯",skip:"è·³è¿",interruptAndSend:"ææå¹¶åé",delete:"å é¤",file:"æä»¶",noChatWarning:"请å
åé䏿¡æ¶æ¯å建对è¯ï¼å使ç¨éååè½",queueFull:"éåå·²æ»¡ï¼æå¤ {{max}} æ¡ï¼ï¼è¯·å
åéæå é¤é¨åæ¶æ¯",otherTabOwner:"å½åæ ç¾é¡µä»
å
¥éï¼åéç±å
¶ä»æ ç¾é¡µå®æ"},group:{pinned:"置顶",today:"ä»å¤©",week:"7天å
",month:"30天å
",older:"æ´æ©"},groups:{create:"æ°å»ºåç»",namePlaceholder:"åç»åç§°",uncategorized:"æªåç»",cron:"宿¶ä»»å¡å¯¹è¯",cronShort:"宿¶ä»»å¡",cronHint:"ç±å®æ¶ä»»å¡è¿è¡æ¶å建çç¬ç«å¯¹è¯ï¼é»è®¤æ¶èµ·å¹¶åºå®å¨å表åºé¨",subagents:"ä¸åæºè½ä½ç对è¯",subagentShort:"åæºè½ä½",subagentsHint:"ç±åæºè½ä½æ§è¡ä»»å¡æ¶å建çç¬ç«å¯¹è¯ï¼é»è®¤æ¶èµ·å¹¶åºå®å¨å表åºé¨",pin:"置顶åç»",unpin:"åæ¶ç½®é¡¶åç»",pinned:"已置顶åç»",fixedLast:"ç³»ç»åç»ï¼åºå®å¨å表åºé¨",dragSessionHint:"é¿æä¼è¯å¹¶æå°ç®æ åç»",moveSuccess:"已移å¨å°â{{name}}â",moveFailed:"ç§»å¨ä¼è¯å¤±è´¥ï¼è¯·éè¯",rename:"éå½å",moveUp:"ä¸ç§»",moveDown:"ä¸ç§»",delete:"å é¤åç»",manage:"管çåç»",deleteTitle:"å é¤è¿ä¸ªåç»ï¼",deleteHint:"ç»å
ä¼è¯å°è¿ååèªçç³»ç»åç»ã"},sessionPanel:{searchConversations:"æç´¢å¯¹è¯â¦",noResults:"æ å¹é
ç»æ",noConversations:"ææ å¯¹è¯",loadingConversations:"å è½½ä¸â¦"},conversationHistory:"åå²å¯¹è¯",history:{empty:"ææ è天记å½"},sessionGroup:{today:"ä»å¤©",recent:"è¿ 7 天",earlier:"æ´æ©"}},UR={parent:"设置",security:"å®å
¨",title:"å®å
¨",description:"管çå·¥å
·åæè½çå®å
¨åè½ã",toolGuardTitle:"å·¥å
·é²æ¤",toolGuardDescription:"é
置工å
·è°ç¨çå®å
¨æ«æãå±é©æä½å°å¨æ§è¡åéè¦ä½ çæç¡®æ¹åã",enabled:"å¯ç¨å·¥å
·é²æ¤",enabledTooltip:"å¯ç¨åï¼å·¥å
·è°ç¨å¨æ§è¡åä¼è¢«æ«ææ¯å¦å
å«å±é©æ¨¡å¼",sandboxEnabled:"å¯ç¨æ²ç®±æ§è¡",sandboxEnabledTooltip:"å¯ç¨åï¼æ å¹é
è§åç shell å½ä»¤ä¼å¨æ²ç®±å
é黿§è¡ï¼å
³éåï¼æ¤ç±»å½ä»¤å°ä¸ç»æ²ç®±ç´æ¥æ§è¡ï¼æ é审æ¹ï¼ãæ 论å¼å
³å¦ä½ï¼å¯é¥æä»¶è¯»åä¸å±é©å½ä»¤ï¼å¦ rm -rf /ãsudoï¼çä»ä¼è¢«æ¦æªæè¦æ±å®¡æ¹ã",sandboxDegradedWarning:"æ²ç®±å·²é
置为å¼å¯ï¼ä½å½åæªä»¥ç®¡çå身份è¿è¡ï¼æ²ç®±æ¬æ¬¡ä¼è¯ä¸ä¼çæãå¦éä½¿ç¨æ²ç®±ï¼è¯·ä»¥ç®¡çåèº«ä»½éæ°å¯å¨ QwenPawã",sandboxElevatedWarning:"æ²ç®±æ£å¨ä»¥ç®¡ç忍¡å¼è¿è¡",sandboxElevatedDescription:"管ç忍¡å¼çæ²ç®±å¯è½ä¼è§¦åææ¯è½¯ä»¶æ¦æªæå¯¼è´å
¼å®¹æ§é®é¢ã妿éå°æå¤é»æ¢æå´©æºï¼è¯·å°è¯å
³éæ²ç®±æä»¥é管çå身份è¿è¡ QwenPawã",sandboxUnelevatedWarning:"æ²ç®±æ£å¨ä»¥é管ç忍¡å¼è¿è¡",sandboxUnelevatedDescription:"管ç忍¡å¼ä¼æä¾æ´å æ¿è¿å宿´çæ²ç®±é离åè½ï¼ä½å¯è½ä¼è§¦åææ¯è½¯ä»¶æ¦æªæå¯¼è´å
¼å®¹æ§é®é¢ï¼ä»
建议é«çº§ç¨æ·ä½¿ç¨ãå¯ç¨æ¹æ³ï¼å³é®ç¹å» QwenPaw å¿«æ·æ¹å¼ â 以管çå身份è¿è¡ï¼ææå¼ç®¡çåæéçç»ç«¯ï¼è¿è¡ `qwenpaw app`ã",denyPathsProtection:"ææè·¯å¾è®¿é®ä¿æ¤",denyPathsSandboxEnhancement:"è¿æ¯æ²ç®±çå¢å¼ºåè½ãå¨é管ç忍¡å¼ä¸è¿è¡æ¶ï¼æ²ç®±æ æ³å®å
¨é离æä»¶ç³»ç»è®¿é®ã
168æ¤åè½éè¿ Windows ACL æç»å¯¹ææè·¯å¾ç访é®ï¼æä¾é¢å¤çä¿æ¤å±ã",denyPathsProtectionTooltip:"å¯ç¨åï¼å°å¨ç³»ç»çº§å«ä¸ºå½åç¨æ·è®¾ç½®æç» ACLï¼é»æ¢å¯¹ææè·¯å¾ï¼å¦ ~/.sshã~/.awsï¼ç访é®ãè¦åï¼å¯ç¨æé´ï¼å½åç¨æ·çææç¨åºé½æ æ³è®¿é®è¿äºè·¯å¾ï¼èéä»
éäº QwenPawãQwenPaw éåºæå
³éæ¤å¼å
³åä¼èªå¨æ¢å¤è®¿é®æéã",denyPathsActiveMessage:"ææè·¯å¾ä¿æ¤å·²å¯ç¨",denyPathsActiveDescription:"以ä¸è·¯å¾å½å已对å½åç¨æ·çææè¿ç¨ç¦æ¢è®¿é®ãå
³éæ¤å¼å
³æéåº QwenPaw å³å¯æ¢å¤è®¿é®ã",guardedTools:"åä¿æ¤çå·¥å
·",guardedToolsTooltip:"æ£æµå°å±é©æ¨¡å¼æ¶éè¦å®¡æ¹çå·¥å
·ãç空å使ç¨å
ç½®é»è®¤éåã",guardedToolsPlaceholder:"鿩工å
·æè¾å
¥èªå®ä¹å·¥å
·å",deniedTools:"ç¦æ¢çå·¥å
·",deniedToolsTooltip:"å§ç»è¢«æç»çå·¥å
·ï¼æ é审æ¹ç´æ¥æ¦æª",deniedToolsPlaceholder:"éæ©è¦å§ç»ç¦æ¢çå·¥å
·",saveSuccess:"å·¥å
·é²æ¤è®¾ç½®å·²ä¿å",saveFailed:"ä¿åå·¥å
·é²æ¤è®¾ç½®å¤±è´¥",loadFailed:"å 载工å
·é²æ¤è®¾ç½®å¤±è´¥",rules:{title:"æ£æµè§å",description:"è§åå®ä¹äºè§¦åå®å
¨è¦åçæ£åè¡¨è¾¾å¼æ¨¡å¼ãå
ç½®è§åå¯ä»¥ç¦ç¨ï¼èªå®ä¹è§åå¯ä»¥æ·»å ãç¼è¾æå é¤ã",id:"è§å ID",severity:"严éç¨åº¦",descriptionCol:"æè¿°",source:"æ¥æº",actions:"æä½",builtin:"å
ç½®",custom:"èªå®ä¹",enable:"å¯ç¨",disable:"ç¦ç¨",edit:"ç¼è¾",delete:"å é¤",add:"æ·»å è§å",addTitle:"æ·»å èªå®ä¹è§å",editTitle:"ç¼è¾èªå®ä¹è§å",ruleId:"è§å ID",ruleIdRequired:"è§å ID ä¸è½ä¸ºç©º",duplicateId:"å·²åå¨ç¸å ID çè§å",tools:"ç®æ å·¥å
·",toolsPlaceholder:"ç空å¹é
ææå·¥å
·",params:"ç®æ åæ°",paramsPlaceholder:"ç空å¹é
ææåæ°",severityLabel:"严éç¨åº¦",categoryLabel:"åç±»",patterns:"æ£å模å¼",patternsRequired:"è³å°éè¦ä¸ä¸ªæ£å模å¼",patternsTooltip:"æ¯è¡ä¸ä¸ªæ£å表达å¼ï¼å¹é
å·¥å
·åæ°å¼ï¼ä¸åºå大å°åï¼ã",excludePatterns:"æé¤æ¨¡å¼",excludePatternsTooltip:"æ¯è¡ä¸ä¸ªæ£å表达å¼ã妿å¹é
ï¼åè·³è¿è¯¥è§åã",descriptionLabel:"æè¿°",descriptionPlaceholder:"该è§åæ£æµä»ä¹ï¼",remediationLabel:"ä¿®å¤å»ºè®®",remediationPlaceholder:"触åè§åæ¶å»ºè®®çæä½",preview:"é¢è§",previewTitle:"è§å详æ
",actionLabel:"触åè¡ä¸º",actionApproval:"çå¾
审æ¹",autoDeny:"èªå¨æç»",autoDenyTooltip:"å¯ç¨åï¼å¹é
æ¤è§åçå·¥å
·è°ç¨å°è¢«èªå¨æç»ï¼æ é人工审æ¹",autoDenyEnable:"å¯ç¨æ¤è§åçèªå¨æç»",autoDenyDisable:"å
³éæ¤è§åçèªå¨æç»",allTools:"ææå·¥å
·",allParams:"ææåæ°",descriptions:{TOOL_CMD_CONTROL_CHARS:"æ£æµå
å«ä¸å¯æå°æ§å¶å符çå½ä»¤ï¼å¯è½ç»è¿å®å
¨æ£æ¥",TOOL_CMD_DANGEROUS_MV:"æ£æµå¯è½æå¤ç§»å¨æè¦çæä»¶ç mv å½ä»¤",TOOL_CMD_DANGEROUS_RM:"æ£æµå¯è½å¯¼è´æ°æ®ä¸¢å¤±ç rm å½ä»¤",TOOL_CMD_DOS_FORK_BOMB:"æ£æµç»å
¸ Bash Fork ç¸å¼¹åæ¹éè¿ç¨ç»æ¢",TOOL_CMD_FIND_DELETE:"æ£æµå¯è½å¯¼è´æ°æ®ä¸¢å¤±ç find -delete å½ä»¤",TOOL_CMD_FS_DESTRUCTION:"æ£æµä½çº§å«ç£çæ ¼å¼åææ¦é¤å½ä»¤",TOOL_CMD_IFS_INJECTION:"æ£æµä½¿ç¨ $IFS åéç»è¿å®å
¨éªè¯çå½ä»¤",TOOL_CMD_JQ_FILE_FLAGS:"æ£æµä½¿ç¨æ å¿ä½è¯»åä»»ææä»¶ææ§è¡å¤é¨ä»£ç ç jq å½ä»¤",TOOL_CMD_JQ_SYSTEM:"æ£æµå
å« system() 彿°å¯æ§è¡ä»»æ Shell å½ä»¤ç jq å½ä»¤",TOOL_CMD_OBFUSCATED_EXEC:"æ£æµå° base64 ç¼ç åç¬¦ä¸²ç´æ¥ä¼ éç» Shell è§£é卿§è¡çè¡ä¸º",TOOL_CMD_PIPE_TO_SHELL:"æ£æµéè¿ 'curl | bash' 模å¼ä¸è½½å¹¶ç«å³æ§è¡è¿ç¨è½½è·çè¡ä¸º",TOOL_CMD_PRIVILEGE_ESCALATION:"æ£æµä½¿ç¨ sudoãsuãdoasãpkexec æ runas çæéæåå°è¯",TOOL_CMD_PROCESS_KILL:"æ£æµå¯è½ç»æ¢å
³é®è¿ç¨çè¿ç¨ç»æ¢å½ä»¤",TOOL_CMD_PROC_ENVIRON:"æ£æµè®¿é® /proc/*/environ å¯è½æ³é²ææç¯å¢åéçå½ä»¤",TOOL_CMD_REVERSE_SHELL:"æ£æµå»ºç«åå Shell ææªææç½ç»é§éçè¡ä¸º",TOOL_CMD_SERVICE_RESTART:"æ£æµå¯è½ä¸æç³»ç»æå¡çæå¡ç®¡çå½ä»¤",TOOL_CMD_SYSTEM_REBOOT:"æ£æµå°ç»æ¢ä¸»æºç³»ç»çç³»ç»é坿å
³æºå½ä»¤",TOOL_CMD_SYSTEM_TAMPERING:"æ£æµå¯¹å®æ¶ä»»å¡ãSSH å¯é¥æ sudo æéç访é®ï¼å
æ¬è¯»ååä¿®æ¹ï¼",TOOL_CMD_UNICODE_WHITESPACE:"æ£æµå
å«å¯è½å¯¼è´è§£æä¸ä¸è´ç Unicode 空ç½å符çå
168½ä»¤",TOOL_CMD_UNSAFE_PERMISSIONS:"æ£æµå
¨å±æéé级ï¼chmod 777ï¼æè®¾ç½®ä¸å¯åæ å¿çæä½",TOOL_CMD_ZSH_DANGEROUS:"æ£æµä½¿ç¨ Zsh ç¹æå
ç½®å½ä»¤å¯è½ç»è¿å®å
¨æ£æ¥çå½ä»¤"},categories:{command_injection:"å½ä»¤æ³¨å
¥",code_execution:"ä»£ç æ§è¡",data_exfiltration:"æ°æ®å¤æ³",path_traversal:"è·¯å¾ç©¿è¶",sensitive_file_access:"æææä»¶è®¿é®",network_abuse:"ç½ç»æ»¥ç¨",credential_exposure:"åè¯æ³é²",resource_abuse:"èµæºæ»¥ç¨",privilege_escalation:"æéæå",prompt_injection:"æç¤ºæ³¨å
¥",other:"å
¶ä»"}},shellEvasion:{title:"Shell é鏿£æµ",description:"é
ç½®å¯ç¨åªäº Shell éé¸åæ··æ·æ£æµãè¿äºæ£æµè½å¤åç°è¯å¾ç»è¿ç®åæ£åæ£æµæ¥éèæ¶ææå¾çææ¯ææ®µã",checks:{command_substitution:{name:"å½ä»¤æ¿æ¢",description:"æ£æµ $()ãåå¼å·ãè¿ç¨æ¿æ¢çå½ä»¤æ¿æ¢æ¨¡å¼"},obfuscated_flags:{name:"æ··æ·æ å¿",description:"æ£æµ ANSI-C å¼å·ãæ¬å°åå¼å·å空å¼å·æ å¿æ··æ·"},backslash_escaped_whitespace:{name:"åææ 转ä¹ç©ºç½",description:"æ£æµå¯è½æ¹åå½ä»¤è§£æçåææ 转ä¹ç©ºæ ¼/å¶è¡¨ç¬¦"},backslash_escaped_operators:{name:"åææ è½¬ä¹æä½ç¬¦",description:"æ£æµ Shell æä½ç¬¦ (;|&<>) åçåææ ï¼å¯éèå½ä»¤ç»æ"},newlines:{name:"éèæ¢è¡ç¬¦",description:"æ£æµå¯è½åééèå½ä»¤çæ¢è¡ç¬¦åå车符"},comment_quote_desync:{name:"注éå¼å·å¤±åæ¥",description:"æ£æµ # 注éä¸çå¼å·å符ï¼å¯å¯¼è´å¼å·è¿½è¸ªå¤±åæ¥"},quoted_newline:{name:"å¼å·å
æ¢è¡",description:"æ£æµå¼å·å符串ä¸çæ¢è¡ç¬¦åè· # è¡ï¼å¯éèåæ°"}}},fileGuard:{title:"æä»¶é²æ¤",description:"ä¿æ¤æææä»¶åç®å½ï¼é²æ¢è¢« Agent å·¥å
·è®¿é®ãæ·»å çè·¯å¾å°å¨ææå·¥å
·è°ç¨ä¸è¢«æ¦æªã",enableLabel:"å¯ç¨æä»¶é²æ¤",path:"è·¯å¾",actions:"æä½",add:"æ·»å ",inputPlaceholder:"è¾å
¥æä»¶æç®å½è·¯å¾ï¼å¦ ~/.ssh/ æ /etc/passwdï¼",empty:"æªé
ç½®èªå®ä¹ææè·¯å¾",directory:"ç®å½",removeConfirm:"ä»ä¿æ¤å表ä¸ç§»é¤è¯¥è·¯å¾ï¼",duplicate:"该路å¾å·²åå¨",saveSuccess:"æä»¶é²æ¤è®¾ç½®å·²ä¿å",saveFailed:"ä¿åæä»¶é²æ¤è®¾ç½®å¤±è´¥",loadFailed:"å è½½æä»¶é²æ¤è®¾ç½®å¤±è´¥",allowPreviewOutsideWorkspace:"å
许æ§å¶å°é¢è§å·¥ä½åºå¤æä»¶",allowPreviewOutsideWorkspaceDesc:"å
è®¸å¨æ§å¶å°ä¸é¢è§å·¥ä½åºç®å½ä¹å¤çæä»¶ï¼æææä»¶é²æ¤ä»ç¶çæã"},allowNoAuthHosts:{title:"å
认è¯ä¸»æºç½åå",warningTitle:"å®å
¨è¦å",warningDescription:"æ¤å表ä¸ç IP å°åå¯ä»¥æ é认è¯è®¿é® API 端ç¹ãé»è®¤æ
åµä¸ï¼æ¬å°ä¸»æºï¼127.0.0.1 å ::1ï¼å
许 CLI 访é®ãä»
æ·»å å¯ä¿¡ä»»ç IP å°åãè¦åï¼æ·»å ä¸åä¿¡ä»»ç IP ä¼å¸¦æ¥ä¸¥éçå®å
¨é£é©ã",ipAddress:"IP å°å",actions:"æä½",add:"æ·»å ",inputPlaceholder:"è¾å
¥ IP å°åï¼ä¾å¦ï¼192.168.1.100 æ ::1ï¼",empty:"æªé
ç½® IP å°å",default:"é»è®¤",removeConfirm:"ä»ç½ååä¸ç§»é¤è¯¥ IP å°åï¼",duplicate:"该 IP å°åå·²åå¨",invalidIP:"æ æç IP å°åæ ¼å¼",saveSuccess:"å
认è¯ä¸»æºç½åå设置已ä¿å",saveFailed:"ä¿åå
认è¯ä¸»æºç½åå设置失败",loadFailed:"å è½½å
认è¯ä¸»æºç½åå设置失败"},skillScanner:{title:"æè½æ«æå¨",description:"å¨å¯ç¨æå®è£
æè½åï¼èªå¨æ«æå®å
¨å¨èãä¸å®å
¨çæè½å¯ä»¥è¢«æ¦æªæå å
¥ç½ååã",mode:"æ«ææ¨¡å¼",modeTooltip:"æ§å¶æ«æå¨å¦ä½å¤çä¸å®å
¨çæè½ï¼æ¦æªãä»
æéæå
³é",modeBlock:"æ¦æª",modeWarn:"ä»
æé",modeOff:"å
³é",timeout:"æ«æè¶
æ¶ï¼ç§ï¼",timeoutTooltip:"çå¾
æ«æå®æçæé¿æ¶é´ï¼5-300ç§ï¼",saveSuccess:"æè½æ«æå¨è®¾ç½®å·²ä¿å",saveFailed:"ä¿åæè½æ«æå¨è®¾ç½®å¤±è´¥",scanAlerts:{title:"æ«æåè¦",empty:"ææ å®å
¨åè¦",clearAll:"æ¸
é¤å
¨é¨",clearConfirm:"ç¡®å®æ¸
é¤æææ«æåè¦åï¼",skillName:"æè½",action:"å¨ä½",actionBlocked:"å·²æ¦æª",actionWarned:"å·²æé",time:"æ¶é´",actions:"æä½",allowSkill:"å å
¥ç½åå",remove:"å é¤",viewFindings:"æ¥ç详æ
"},whitelist:{title:"ç½åå",empty:"ææ ç½ååæè½",skillName:"æè½",addedAt:"æ·»å æ¶é´",contentHash:"å
容åå¸",actions:"æä½",remove:"ç§»é¤",removeConfirm:"ç¡®å®å°æ¤æè½ä»ç½ååä¸ç§»é¤ï¼",addSuccess:"æè½å·²å å
¥ç½åå",removeSuccess:"æè½å·²ä»ç½ååç§»é¤",addFailed:"å å
¥ç½åå失败",removeFailed:"ä»ç½ååç§»é¤å¤±è´¥",removeWillDisable:"ç§»é¤å该æè½å°åæ¶è¢«ç¦ç¨ã",removeAndDisabled:"æè½å·²ä»ç½ååç§»é¤å¹¶å·²ç¦ç¨"},scanError:{title:"æ£æµå°å®å
¨é®é¢",description:"åç°ä»¥ä¸å®å
¨é®é¢ï¼",warnDescription:"åç°å®å
¨é®é¢ï¼ä½æè½ä»å·²å¯ç¨ï¼ä»
æé模å¼ï¼ï¼",goToWhitelist:"åå¾ç½åå",moreFindings:"妿 {{count}} æ¡æªååºï¼å®æ´åè¡¨è§ è®¾ç½® â å®å
¨ â æè½æ«æï¼ã"}}},qR={brand:{title:"Hub 管çä¸å¿",subtitle:"æ¬å°å·¥ä½ç©ºé´",controlPlane:"æ§å¶ä¸å¿"},navigation:{workspace:"å·¥ä½ç©ºé´",overview:"è¿è¥æ»è§",runtimes:"è¿è¡ç¯å¢",users:"ç¨æ·",credentials:"åæ®",audit:"审计æ¥å¿",settings:"ç³»ç»è®¾ç½®"},actions:{backToQwenPaw:"è¿å QwenPaw",useLightTheme:"ä½¿ç¨æµ
è²ä¸»é¢",useDar
168kTheme:"ä½¿ç¨æ·±è²ä¸»é¢",signOut:"éåºç»å½",start:"å¯å¨",stop:"忢",disable:"ç¦ç¨",rebuild:"é建",enableAndStart:"å¯ç¨å¹¶å¯å¨"},roles:{admin:"管çå",user:"æ®éç¨æ·"},userStates:{active:"å·²å¯ç¨",disabled:"å·²ç¦ç¨"},runtimeStates:{created:"å·²å建",starting:"å¯å¨ä¸",running:"è¿è¡ä¸",stopped:"已忢",failed:"失败"},runtimePolicies:{owner_allowed:"ç¨æ·å¯éå¯",admin_only:"管çåéå®"},errors:{actionFailed:"æä½å¤±è´¥",createFailed:"å建失败",updateFailed:"æ´æ°å¤±è´¥",saveFailed:"ä¿å失败",pullTimedOut:"éåæåçå¾
è¶
æ¶"},messages:{runtimeCreated:"è¿è¡ç¯å¢å·²å建",accountCreated:"è´¦å·å·²å建",credentialStored:"忮已ä¿å",settingsSaved:"Hub 设置已ä¿å",imagePulled:"Docker éåæå宿"},validation:{required:"æ¤é¡¹ä¸ºå¿
填项",runtimeIdInvalid:"请è¾å
¥ 1â64 ä½åæ¯ãæ°åãç¹ãä¸å线æè¿å符ï¼å¹¶ä»¥åæ¯ææ°åå¼å¤´",passwordMin:"å¯ç è³å°éè¦å
«ä¸ªå符",credentialNameInvalid:"请è¾å
¥å¤§åç¯å¢åéåç§°ï¼ä¾å¦ OPENAI_API_KEY"},runtimes:{eyebrow:"Hub 管çä¸å¿",title:"è¿è¡ç¯å¢æ¦è§",description:"æ¯ä½ç¨æ·æ¥æç¬ç«çè¿è¡ç¯å¢ï¼æä»¶åå¯é¥å½¼æ¤åå¼ã",newRuntime:"æ°å»ºè¿è¡ç¯å¢",managed:"æç®¡è¿è¡ç¯å¢",localBoundaries:"æ¬å°è¿ç¨è¾¹ç",runningNow:"å½åè¿è¡",needsAttention:"{{count}} 个è¿è¡ç¯å¢éè¦å¤ç",healthy:"å½åææç¶æåæ£å¸¸",isolationPolicy:"é离çç¥",available:"å¯ç¨",unavailable:"ä¸å¯ç¨",failClosed:"失败å³å
³é",noFallback:"ä¸åéå°éæ²ç®±æ¨¡å¼",executionBlocked:"è¿è¡ç¯å¢æ§è¡å·²è¢«é»æ¢",isolationTitle:"失败å³å
³éçæ¬å°é离",isolationDescription:"æ´ä¸ªè¿è¡ç¯å¢è¿ç¨æ å卿²ç®±ä¸æ§è¡ã妿åçéç¦»æ¢æµå¤±è´¥ï¼QwenPaw å°æç»å¯å¨ã",unavailableTitle:"å®å
¨è¿è¡å端ä¸å¯ç¨",unavailableDescription:"{{provisioner}} ä¸å¯ç¨ï¼{{reason}}ãè¯·æ£æ¥è¯¥å端çå®è£
ãè¿è¡ç¶æåç³»ç»é
ç½®ï¼ç¶åéå¯ QwenPaw Hubã",unavailableUserDescription:"è¿è¡å端æä¸å¯ç¨ï¼è¯·è系管çåã",preflightFailed:"å®å
¨é¢æ£å¤±è´¥",localEndpoint:"æ¬å°ç«¯ç¹ · {{endpoint}}",provisioner:"è¿è¡æ¹å¼",localExecution:"æ¬æºé离",dockerExecution:"Docker 容å¨",security:"å®å
¨çº§å«",tenant:"ç§æ·",removeTitle:"ç§»é¤ {{id}}ï¼",removeDescription:"ä»
ç§»é¤æ³¨åè®°å½ï¼è¿è¡ç¯å¢æ°æ®å°ä¿çã",disableTitle:"ç¦ç¨ {{id}}ï¼",disableDescription:"è¿ç¨å°è¢«åæ¢ï¼å¨ç®¡çåéæ°å¯ç¨ä¹åï¼ç¨æ·æ æ³èªè¡å¯å¨æéå¯ã",rebuildTitle:"使ç¨å½åéåé建 {{id}}ï¼",rebuildDescription:"容å¨å°è¢«æ¿æ¢å¹¶ä½¿ç¨ç³»ç»è®¾ç½®ä¸çå½åéåï¼æä¹
åå·¥ä½ç®å½ãå¯é¥åå¤ä»½ä¼ä¿çã",emptyTitle:"å°æ è¿è¡ç¯å¢",emptyDescription:"å建第ä¸ä¸ªéç¦»çæ¬å° QwenPaw è¿è¡ç¯å¢ã"},users:{eyebrow:"身份ä¸è®¿é®æ§å¶",title:"ç¨æ·è®¿é®",description:"éä¸å建æ¬å°è´¦å·ãåé
管çåæéå¹¶æ¤éä¼è¯ã",addAccount:"æ·»å è´¦å·",publicRegistration:"弿¾æ³¨å",publicRegistrationDescription:"å
³éåï¼ä»
管çåå¯ä»¥å建账å·ã",currentAccountProtected:"å½åè´¦æ·å·²ä¿æ¤",empty:"没æç¬¦åæ¡ä»¶çç¨æ·"},credentials:{eyebrow:"ç§æ·çº§ä¿ç®¡ç®±",title:"åæ®",description:"å° Provider å¯é¥ä¿åå°æç¡®çç§æ·æè¿è¡ç¯å¢ä½ç¨åãå¯é¥å¼ä¼å å¯ä¿åï¼API æ°¸ä¸è¿åææã",storeCredential:"ä¿ååæ®",updated:"æ´æ°äº {{date}}",deleteTitle:"å é¤ {{name}}ï¼",deleteDescription:"ä½¿ç¨æ¤åæ®çè¿è¡ç¯å¢å¯è½ä¼åæ¢å·¥ä½ã",emptyTitle:"ä¿ç®¡ç®±ä¸ºç©º",emptyDescription:"ä¿åç§æ·çº§æè¿è¡ç¯å¢çº§ API Keyã",encrypted:"å·²å å¯ä¿åï¼ä¸å¯è¯»åææ"},overview:{eyebrow:"è¿è¥æ§å¶å°",title:"Hub è¿è¡æ¦è§",description:"åºäºçå®è¿è¡ç¶æã主æºèµæºå审计äºä»¶ææ¡ Hub å½åæ
åµã",availability:"å®ä¾å¨çº¿ç",availabilityDetail:"{{running}} / {{total}} 个è¿è¡å®ä¾å½åå¨çº¿",totalRuntimes:"å
¨é¨è¿è¡å®ä¾",failedCount:"{{count}} 个å®ä¾éè¦å
³æ³¨",totalUsers:"Hub ç¨æ·",managedLocally:"æ¬å°èº«ä»½ä¸æé管ç",hostResources:"主æºèµæº",liveSnapshot:"å½å宿¶å¿«ç
§",memory:"å
å",dataDisk:"æ°æ®ç",recentActivity:"æè¿æ´»å¨",auditBacked:"æ¥èªæä¹
å审计æ¥å¿",systemHealthy:"ç³»ç»è¿è¡æ£å¸¸",systemDegraded:"ç³»ç»ç¶æå¼å¸¸",localIsolation:"æ¬æºé离è¿è¡æ¹å¼"},table:{searchRuntimes:"æç´¢å®ä¾ãç¨æ·æç«¯ç¹",searchUsers:"æç´¢ç¨æ·åæç¨æ· ID",searchCredentials:"æç´¢åæ®åç§°æä½ç¨å",searchAudit:"æç´¢æä½äººæèµæº",allStates:"å
¨é¨ç¶æ",allOwners:"å
¨é¨ææè
",allExecutions:"å
¨é¨è¿è¡æ¹å¼",allRoles:"å
¨é¨è§è²",allUserStates:"å
¨é¨ç¨æ·ç¶æ",allScopes:"å
¨é¨ä½ç¨å",allActions:"å
¨é¨æä½",runtime:"è¿è¡å®ä¾",status:"ç¶æ",owner:"ææè
",endpoint:"端ç¹",execution:"è¿è¡æ¹å¼",updated:"æè¿æ´æ°",user:"ç¨æ·",role:"è§è²",created:"å建æ¶é´",credential:"åæ®",scope:"ä½ç¨å",event:"äºä»¶",actor:"æä½äºº",resource:"ç®æ èµæº",result:"ç»æ",time:"æ¶é´",total:"å
± {{total}} æ¡"},audit:{eyebrow:"å®å
¨ä¸æ²»ç",title:"审计æ¥å¿",description:"æ¥ç Hub 管çæä½ç主ä½ãç®æ ãç»æååçæ¶é´ãææå¼ä¸ä¼è¿å
¥å®¡è®¡æ°æ®ã",empty:"å°æ 管çæä½è®°å½"},settings:{eyebrow:"å¹³å°é
ç½®",title:"ç³»ç»è®¾ç½®",description:"å¨ä¸ä¸ªå¸¦å®¡è®¡çæå¨å
¥å£ä¸ç®¡ç宿´ Hub é
ç½®ãä¿®æ¹ä¼ç«å³çæï¼å¹¶å¨æå¡éå¯åä¿çã",save:"ä¿å设置",meta:"é
ç½®çæ¬ {{revision}} · æ´æ°äº {{date}}",tabs:{access:"访é®å®å
¨",runtime:"è¿è¡ç¯å¢"},access:{title:"访é®ä¸æ³¨å",description:"é
ç½®æµè§å¨å¯è®¿é®ç Hub å°ååå
¬å¼è´¦å·çç¥ã",publicBaseUrl:"å
¬å¼è®¿é®å°å",publicBaseUrlHint:"ç¨äº OAuth åè°ãåªæçº¯æ¬æºé¨ç½²æå»ºè®®ç空ã",registration:"弿¾æ³¨å",registrationHint:"å
³éåï¼ä»
管çåå¯ä»¥å建账å·ã",defaultRole:"é»è®¤æ³¨åè§è²",defaultRoleHint:"åºäºå®å
¨èèï¼èªå©æ³¨åè´¦å·åºå®ä¸ºæ®éç¨æ·ã"},security:{title:"ç»å½é²æ¤",description:"éå¶ç»å½åæ³¨åæ»¥ç¨ï¼å¹¶æ IP å°åæ
168ç½æ®µé»æ¢è®¿é®ã",ipBlacklist:"IP é»åå",ipBlacklistHint:"æ¯æ IPv4ãIPv6 å CIDRï¼è¾å
¥åæå车确认ã",trustedProxyIps:"å¯ä¿¡åå代ç",trustedProxyIpsHint:"åªææ¥èªè¿äºå°åç X-Forwarded-For æä¼è¢«ä¿¡ä»»ã",loginRateLimit:"ç»å½å¤±è´¥éçéå¶",loginRateLimitHint:"åä¸å°åè¿ç»ç»å½å¤±è´¥æ¶ï¼ä¸´æ¶é»æ¢å
¶ç»§ç»å°è¯ã",registrationRateLimit:"注åéçéå¶",registrationRateLimitHint:"éå¶åä¸å°åçæ¶é´å
æ¹éå建账å·ã",maxAttempts:"æå¤§å°è¯æ¬¡æ°",windowSeconds:"ç»è®¡çªå£ï¼ç§ï¼",blockSeconds:"å°ç¦æ¶é¿ï¼ç§ï¼"},runtime:{title:"è¿è¡ç¯å¢çç¥",description:"管çåç»ä¸éæ©è¿è¡ç¯å¢å端ï¼ç°æç¯å¢å°å¨ä¸æ¬¡é坿¶åæ¢ã",provisioner:"è¿è¡ç¯å¢å端",localBackend:"æ¬æºè¿ç¨",localBackendHint:"ç´æ¥å¨å½å宿主æºä¸è¿è¡é离è¿ç¨ã",dockerBackend:"Docker 容å¨",dockerBackendHint:"为æ¯ä¸ªè´¦æ·è¿è¡ç¬ç«çæç®¡å®¹å¨ã",backendUnavailable:"å½å宿主æºä¸å¯ç¨",localIsolationHint:"æ¬æºæ¨¡å¼ä½¿ç¨å®¿ä¸»æºè¿ç¨ï¼ä¸ä¼è¯»åæåºç¨ä»»ä½ Docker éå设置ã",dockerIsolationHint:"Docker 模å¼ä¼æä¸æ¹éåä¸èµæºçç¥ç»ä¸åºç¨å°ææè´¦æ·ã"},docker:{title:"Docker çç¥",description:"ç»ä¸ç®¡çéåãæåè§ååæ¯ä¸ªå®¹å¨çèµæºä¸éãæ®éç¨æ·æ æ³è¦çè¿äºè®¾ç½®ã",unavailable:"Docker 弿ä¸å¯ç¨",source:"éåæº",dockerHub:"Docker Hub 宿¹æº",aliyunAcr:"é¿éäºå®æ¹æº",custom:"èªå®ä¹éå",customHint:"å¡«åçç¥å
许èå´å
çä»»æéåå¼ç¨ã",customRegistry:"èªå®ä¹ä»åºæéåå¼ç¨",localHost:"æ¬æºéå",localHostHint:"使ç¨å®¿ä¸»æºå·²ç»ä¸è½½å¹¶å¸¦æ Tag çéåã",noLocalImages:"å®¿ä¸»æºææ 带 Tag çæ¬å°éå",image:"éåä¸ Tag",selectLocalImage:"éæ©æ¬æºéå Tag",selectedImage:"å®é
使ç¨éå",repository:"éåä»åº",localStatus:"æ¬æºç¶æ",downloaded:"å·²ä¸è½½",notDownloaded:"æªä¸è½½",pullPolicy:"èªå¨æåçç¥",ifNotPresent:"æ¬å°ä¸å卿¶æå",always:"æ¯æ¬¡é¦æ¬¡å建åæå",never:"ä»
ä½¿ç¨æ¬å°éå",pullImage:"ç«å³æåéå",localImages:"æ¬æºå·²æ {{count}} 个éåå¼ç¨",resources:"容å¨èµæºä¸é",cpuLimit:"CPU æ ¸æ°",memoryLimit:"å
åï¼MBï¼",pidsLimit:"æå¤§è¿ç¨æ°",shmSize:"å
±äº«å
åï¼MBï¼"},quotas:{title:"å
¨å±è¿è¡å®¹é",description:"æ¯ä¸ªç§æ·åºå®æ¥æä¸ä¸ªè¿è¡ç¯å¢ï¼è¿éåªéå¶æ´ä¸ª Hub åæ¶è¿è¡çæ°éã",maxRunningRuntimes:"æå¤åæ¶è¿è¡æ°",unlimitedHint:"ç空表示ä¸éå¶ã"}},auditActions:{runtime:{create:"å建è¿è¡å®ä¾",start:"å¯å¨è¿è¡å®ä¾",stop:"忢è¿è¡å®ä¾",disable:"ç¦ç¨è¿è¡å®ä¾",rebuild:"é建è¿è¡å®ä¾",delete:"å é¤è¿è¡å®ä¾"},image:{pull:"æå Docker éå"},user:{create:"åå»ºç¨æ·",update:"æ´æ°ç¨æ·"},credential:{store:"ä¿ååæ®",delete:"å é¤åæ®"},settings:{update:"æ´æ° Hub 设置"},auth:{register:"注å Hub ç¨æ·"}},auditOutcomes:{success:"æå",failure:"失败"},runtimeForm:{title:"å建è¿è¡ç¯å¢",hint:"è¿è¡ç¯å¢å°å¨æ¬æºåçæ²ç®±ä¸å¯å¨ï¼å
¶æä»¶ãå¯é¥åè¿ç¨æ ä¸å
¶ä»ç¨æ·ä¿æé离ã",runtimeId:"è¿è¡ç¯å¢ ID",startImmediately:"ç«å³å¯å¨",submit:"å建è¿è¡ç¯å¢"},userForm:{title:"æ·»å è´¦å·",hint:"请设置è³å°å
«ä½ç临æ¶å¯ç ãè¯¥ç¨æ·åªè½è®¿é®å
¶ä¸ªäººç§æ·æ¥æçè¿è¡ç¯å¢ã",username:"ç¨æ·å",temporaryPassword:"临æ¶å¯ç ",role:"è§è²",submit:"å建账å·"},credentialForm:{title:"ä¿ååæ®",hint:"ç§æ·ä½ç¨åéç¨äºä½ çå
¨é¨è¿è¡ç¯å¢ï¼è¿è¡ç¯å¢ä½ç¨åå¯ä¸ºå个è¿ç¨æä¾ç§æè¦çã",scope:"ä½ç¨å",allRuntimes:"æçå
¨é¨è¿è¡ç¯å¢",environmentName:"ç¯å¢åéåç§°",secretValue:"å¯é¥å¼",submit:"å å¯å¹¶ä¿å"}},jR={title:"ç»å½ QwenPaw",registerTitle:"å建账æ·",firstUserHint:"å建管çåè´¦æ·ä»¥å¼å§ä½¿ç¨",usernamePlaceholder:"ç¨æ·å",passwordPlaceholder:"å¯ç ",usernameRequired:"请è¾å
¥ç¨æ·å",passwordRequired:"请è¾å
¥å¯ç ",submit:"ç»å½",register:"注å",returnToSignIn:"è¿åç»å½",createAccount:"å建账å·",failed:"ç»å½å¤±è´¥ï¼è¯·æ£æ¥æ¨çåæ®",registerSuccess:"注åæå",registerFailed:"注å失败",authNotEnabled:"è®¤è¯æªå¯ç¨",logout:"éåºç»å½",logoutSuccess:"å·²æåéåº",sessionExpired:"ä¼è¯å·²è¿æï¼è¯·éæ°ç»å½",unauthorized:"æªææï¼è¯·ç»å½",switchLanguage:"忢è¯è¨",hubDisclaimerTitle:"èªæç®¡ Hub å®å
¨æç¤º",hubDisclaimerPoint1:"ä»
ç»å½ç±ä½ æ¬äººæå¯ä¿¡ç»ç»è¿è¥ç Hub",hubDisclaimerPoint2:"管çåå¯è½æ¥è§¦æ¤å®ä¾å卿å¤ççæ°æ®",hubDisclaimerPoint3:"æ²ç®±ç¯å¢å¯è½éå¶é¨å QwenPaw è½å",hubDisclaimerAccept:"æå·²é
读并åæç¨æ·æ¡æ¬¾",hubDisclaimerAcceptPrefix:"æå·²é
读并åæ",hubTerms:"ãç¨æ·æ¡æ¬¾ã",hubLinks:"QwenPaw ç¸å
³é¾æ¥",officialWebsite:"宿¹ç½ç«",hubTermsTitle:"Qwe
168nPaw Hub ç¨æ·æ¡æ¬¾",hubTermsLead:"ä½¿ç¨æ¤ç¬ç«é¨ç½²ç QwenPaw Hub å®ä¾åï¼è¯·å®æ´é
è¯»ä»¥ä¸æ¡æ¬¾ã",hubTermsSection1Title:"ä¸ãå¯ä¿¡é¨ç½²",hubTermsSection1Body:"请ä»
使ç¨ç±ä½ æ¬äººæå¯ä¿¡ç»ç»é¨ç½²ç Hubãç¬¬ä¸æ¹ Hub ç±å
¶è¿è¥è
ç¬ç«ç®¡çï¼QwenPaw é¡¹ç®æ æ³éªè¯è¯¥å®ä¾ç身份ãé
ç½®æå®å
¨æ§ã",hubTermsSection2Title:"äºãæ°æ®ä¸ç®¡çåæé",hubTermsSection2Body:"å®ä¾è¿è¥è
æ§å¶æå¡å¨ãæ°æ®åºãå¤ä»½ãæ¥å¿åè¿è¡è¿ç¨ã管çå卿æ¯ä¸å¯è½æ¥è§¦æ¤å®ä¾å卿å¤çç对è¯ãä¸ä¼ æä»¶ãåæ®ãé
ç½®åè¿è¡æ°æ®ã",hubTermsSection3Title:"ä¸ã忮䏿æä¿¡æ¯",hubTermsSection3Body:"请ä»
æä¾å®æå·¥ä½æå¿
éç忮忰æ®ï¼ä¸è¦åä¸å¯ä¿¡å®ä¾æäº¤ç§å¯ä¿¡æ¯ãæ°æ®çåå¨ãä¿çãå¤ä»½ãå é¤åå®å
¨äºä»¶å¤ççç¥ç±å®ä¾è¿è¥è
å³å®ã",hubTermsSection4Title:"åãæ²ç®±ä¸è½åéå¶",hubTermsSection4Body:"QwenPaw å¨ Hub çé离è¿è¡ç¯å¢ä¸å·¥ä½ãå®¿ä¸»æºæéã设å¤ãæ¬å°åºç¨ãç½ç»åå
¶ä»éæå¯è½åéï¼å æ¤ Hub æ æ³ä¿è¯å
·å¤å¯ä¿¡æ¬å° QwenPaw å®è£
çå
¨é¨è½åã",hubTermsSection5Title:"äºã忳䏿æä½¿ç¨",hubTermsSection5Body:"ä½ åªè½å°æ¬æå¡ç¨äºåæ³ä¸å·²è·ææçç¨éï¼å¹¶å¯¹èªå·±çæä»¤ãä¸ä¼ å
容ãçæç»æãå¤é¨æå¡ä½¿ç¨ï¼ä»¥åéµå®å®ä¾è¿è¥è§ååç¸å
³æå¡è§åæ¿æ
责任ã",hubTermsSection6Title:"å
ãå¯ç¨æ§ä¸é£é©",hubTermsSection6Body:"æå¡å¯ç¨æ§ãæ°æ®ä¿æ¤ãæ¯æåæ¢å¤ç±å®ä¾è¿è¥è
è´è´£ã请èªè¡å¤ä»½éè¦æ°æ®ï¼å¹¶å¨ä¾èµçæç»æåè¿è¡æ ¸éªãQwenPaw 项ç®è´¡ç®è
䏿¯ç¬¬ä¸æ¹é¨ç½²çè¿è¥è
ã",hubTermsEnd:"ç¹å»âåæå¹¶ç»§ç»âï¼å³è¡¨ç¤ºä½ 确认信任å½å Hub çè¿è¥è
ï¼å¹¶çè§£ä¸è¿°æ°æ®ãè½åå使ç¨è¾¹çã",hubTermsScrollHint:"请æ»å¨è³åºé¨åç»§ç»",hubTermsAgree:"åæå¹¶ç»§ç»"},GR={title:"è´¦æ·ç®¡ç",currentPassword:"å½åå¯ç ",currentPasswordRequired:"请è¾å
¥å½åå¯ç ",newUsername:"æ°ç¨æ·å",newUsernamePlaceholder:"ç空åä¿æä¸å",newPassword:"æ°å¯ç ",newPasswordPlaceholder:"ç空åä¿æä¸å",confirmPassword:"确认æ°å¯ç ",confirmPasswordPlaceholder:"忬¡è¾å
¥æ°å¯ç ",passwordMismatch:"两次è¾å
¥çå¯ç ä¸ä¸è´",save:"ä¿åæ´æ¹",updateSuccess:"è´¦æ·æ´æ°æå",updateFailed:"è´¦æ·æ´æ°å¤±è´¥",wrongPassword:"å½åå¯ç 䏿£ç¡®",nothingToUpdate:"请è¾å
¥æ°ç¨æ·åææ°å¯ç ",passwordEmpty:"å¯ç ä¸è½ä¸ºç©ºç½",usernameEmpty:"ç¨æ·åä¸è½ä¸ºç©ºç½",username:"ç¨æ·å",passwordRequired:"请è¾å
¥æ°å¯ç ",hubPasswordPlaceholder:"请è¾å
¥è³å°å
«ä¸ªå符",runtimeTitle:"个人è¿è¡ç¯å¢",runtimeDescription:"å·¥ä½ç©ºé´ä¸å¯ç¨æ¶å¯å¨æ¤éå¯ãæ£å¨è¿è¡çä»»å¡ä¼è¢«ä¸æï¼å·²ä¿åçæ°æ®ä¸ä¼å é¤ã",runtimeRestartConfirmTitle:"确认éå¯è¿è¡ç¯å¢ï¼",runtimeRestartConfirmDescription:"æ£å¨è¿è¡çä»»å¡ä¼è¢«ä¸æï¼è¿è¡ç¯å¢å°±ç»ªå页é¢å°èªå¨å·æ°ã",runtimeRestart:"éå¯è¿è¡ç¯å¢",runtimeRestarting:"æ£å¨éå¯è¿è¡ç¯å¢â¦",runtimeRestartSuccess:"è¿è¡ç¯å¢å·²éå¯",runtimeRestartFailed:"è¿è¡ç¯å¢éå¯å¤±è´¥",runtimeStoppedTitle:"è¿è¡ç¯å¢å·²åæ¢",runtimeStoppedDescription:"管çå已忢è¿ç¨ãéè¦ç»§ç»ä½¿ç¨æ¶ï¼ä½ å¯ä»¥æå¨éæ°å¯å¨ã",runtimeDisabledTitle:"è¿è¡ç¯å¢å·²è¢«ç¦ç¨",runtimeDisabledDescription:"管çåå·²ç¦æ¢è¯¥è¿è¡ç¯å¢å¯å¨ï¼è¯·è系管ç忢å¤ä½¿ç¨ã"},VR={title:"è¯é³è½¬å",description:"é
ç½®å¦ä½å¤çæ¶å°çé³é¢åè¯é³æ¶æ¯ã",loadFailed:"å è½½é³é¢æ¨¡å¼è®¾ç½®å¤±è´¥",saveSuccess:"é³é¢æ¨¡å¼å·²ä¿å",saveFailed:"ä¿åé³é¢æ¨¡å¼å¤±è´¥",audioModeLabel:"é³é¢æ¨¡å¼",audioModeDescription:"éæ©æ¥èªé¢éï¼DiscordãTelegram çï¼çè¯é³æ¶æ¯å¨åéç»æ¨¡åä¹åå¦ä½å¤çã",modeAuto:"èªå¨ï¼æ¨èï¼",modeAutoDesc:"ä½¿ç¨æé转åæä¾åå°é³é¢è½¬å为æåååéç»æ¨¡åãå¦æè½¬åæªå¯ç¨æä¸å¯ç¨ï¼åæ¾ç¤ºæä»¶ä¸ä¼ å 使¶æ¯ãæ¤æ¨¡å¼ä¸é³é¢ä¸ä¼ç´æ¥åéç»æ¨¡åãéç¨äºæææ¨¡åã",modeNative:"åçé³é¢",modeNativeDesc:"ç´æ¥å°é³é¢æä»¶åéç»æ¨¡åï¼ä¸è¿è¡è½¬åãè¿æ¯å¯ä¸ä¼å°é³é¢åéç»æ¨¡åçæ¨¡å¼ãä»
éç¨äºç¹å®çé³é¢æ¨¡åï¼å¦ gpt-4o-audioï¼ï¼å¤§å¤æ°æ¨¡å䏿¯ææ¤æ¨¡å¼ã",ffmpegReady:"ffmpeg å·²å®è£
ãåçæ¨¡å¼é³é¢æ ¼å¼è½¬æ¢å¯ç¨ã",ffmpegMissing:"ffmpeg æªå®è£
ã",ffmpegMissingDesc:"åçé³é¢æ¨¡å¼éè¦ ffmpeg æ¥è½¬æ¢é³é¢æ ¼å¼ï¼å¦ .ogg 转 .wavï¼ã请å®è£
ffmpeg ç³»ç»å
以å¯ç¨æ¤æ¨¡å¼ã",providerTypeLabel:"转åæä¾å",providerTypeDescription:"éæ©è½¬åå端ã妿ä¸éè¦è¯é³è½¬åï¼è¯·éæ©ãå·²ç¦ç¨ãã",providerTypeDisabled:"å·²ç¦ç¨",providerTypeDisabledDesc:"ä¸è¿è¡è½¬åãè¯é³æ¶æ¯å°æ¾ç¤ºä¸ºæä»¶ä¸ä¼ å 使¶æ¯ã",providerTypeWhisperApi:"Whisper API",providerTypeWhisperApiDesc:"使ç¨å·²é
ç½®æä¾åï¼å¦ OpenAIãOllamaï¼ç OpenAI å
¼å®¹ Whisper API 端ç¹ã",providerTypeLocalWhisper:"æ¬å° Whisper",providerTypeLocalWhisperDesc:"ä½¿ç¨æ¬å°å®è£
ç openai-whisper Python åºè¿è¡è½¬åãéè¦åæ¶å®è£
ffmpeg å openai-whisperã",localWhisperReady:"æ¬å° Whisper 已就绪ãffmpeg å openai-whisper åå·²å®è£
ã",localWhisperMissing:"æ¬å° Whisper æªå°±ç»ªï¼ç¼ºå°å¿
è¦ä¾èµã",localWhisperMissingDesc:"ffmpeg: {{ffmpeg}} | openai-whisper: {{whisper}}ã请å®è£
缺å°çä¾èµï¼ffmpegï¼ç³»ç»å
ï¼å openai-whisperï¼uv pip install openai-whisperï¼æä½¿ç¨ [whisper] é¢å¤ä¾èµå®è£
QwenPawï¼ã",providerLabel:"Whisper API æä¾å",providerDescription:"éæ©ç¨äº Whisper API é³é¢è½¬åçæä¾åãä»
æ¾ç¤ºæ¯æ Whisper 端ç¹çæä¾åã",providerPlaceholder:"éæ©æä¾å...",noProvidersWarning:"æªæ¾å°æ¯æè½¬åçæä¾åã请é
ç½®ä¸ä¸ª OpenAI æä¾å以å¯ç¨è¯é³è½¬åã",transcriptionInfoTitle:"转åå·¥ä½åç",transcriptionInfoDesc:"Whisper API 转åä½¿ç¨ OpenAI å
¼å®¹ç /v1/audio/transcriptions 端ç¹ãéè¦é
ç½®ä¸ä¸ªæ¯æ Whisper 端ç¹çæä¾åï¼å¦ OpenAIï¼ã请å¨ä¸æ¹éæ©å
·ä½çæä¾å以å¯ç¨è½¬åã",transcriptionInfoDescLocal:"æ¬å° Whisper 转åç´æ¥å¨æ¨ç设å¤ä¸è¿è¡ openai-whisper åºãéè¦åæ¶å®è£
ffmpegï¼ç¨äºé³é¢è§£ç ï¼å openai-whisper Python å
ãæ é API Key æç½ç»è¿æ¥ãå®è£
å½ä»¤ï¼uv pip install 'qwenpaw[whisper]'ã"},WR={title:"å¤ä»½",description:"å¤ä»½åæ¢å¤æºè½ä½å·¥ä½åºåé
ç½®ã",create:"å建å¤ä»½",import:"导å
¥",export:"导åº",restore:"æ¢å¤",delete:"å é¤",batchDelete:"æ¹éå é¤",batchDeleteConfirm:"ç¡®å®è¦å é¤ {{count}} 个å¤ä»½åï¼æ¤æä½ä¸å¯æ¢å¤ã",deleteConfirm:"ç¡®å®è¦å 餿¤å¤ä»½åï¼æ¤æä½ä¸å¯æ¢å¤ã",name:"åç§°",createdAt:"å建æ¶é´",scopeSummary:"å¤ä»½èå´",descriptionLabel:"æè¿°",noBackups:"ææ å¤ä»½ãå建ä¸ä¸ªå¤ä»½æ¥ä¿åå½åé
ç½®ã",loadFailed:"å è½½å¤ä»½å表失败",createTitle:"å建å¤ä»½",backupMode:"å¤ä»½æ¨¡å¼",fullBackup:"宿´å¤ä»½",fullBackupDesc:"å¤ä»½ææå
容ï¼å
æ¬æææºè½ä½å·¥ä½åºãå
¨å±è®¾ç½®ãæè½æ± åå¯é¥ä¿¡æ¯",customBackup:"èªå®ä¹å¤ä»½",partialBackup:"é¨åå¤ä»½",partialBackupDesc:"èªå®ä¹éæ©è¦å¤ä»½çå
容",nameRequired:"å¤ä»½åç§°ä¸è½ä¸ºç©º",namePlaceholder:"è¾å
¥å¤ä»½åç§°",descriptionPlaceholder:"å¯éçæè¿°ä¿¡æ¯...",scopeAgents:"æºè½ä½å·¥ä½åº",scopeGlobalConfig:"å
¨å±è®¾ç½®",scopeSkillPool:"æè½æ± ",scopeSecrets:"å¯é¥ä¿¡æ¯",scopeSecretsHint:"å
嫿¨¡åä¾åºåå¯é¥ï¼API Keyï¼åç¯å¢åéçææä¿¡æ¯",securityNotice:"æ¤å¤ä»½å¯è½å
嫿æåè¯ä¿¡æ¯ãæºè½ä½å·¥ä½åºå
嫿¸ éåè¯ï¼å¦ bot tokenãapp secret çï¼ï¼æ¨¡åä¾åºåå¯é¥å
å« API Keyã请å¿å°å¤ä»½æä»¶å享ç»ä»äººã",searchPlaceholder:"æåç§°æ ID æç´¢å¤ä»½...",total:"å
± {{count}} æ¡",agentsPlaceholder:"è¯·éæ©æºè½ä½å·¥ä½åºï¼ç空表示å
¨é¨ï¼",selectAll:"å
¨é",deselectAll:"åæ¶å
168
¨é",createSuccess:"å¤ä»½å建æå",createFailed:"å¤ä»½å建失败",restoreTitle:"æ¢å¤å¤ä»½",restoreScope:"æ¢å¤èå´",restoreFullWarning:"æ´ä½æ¢å¤å°å®å
¨æ¿æ¢å½åå®ä¾çææå
容ï¼å
æ¬æææºè½ä½ãå
¨å±é
ç½®ãæè½æ± åå¯é¥ï¼ï¼æä½ä¸å¯æ¤éãæ¢å¤æé´ç¸å
³åè½ä¸å¯ç¨ï¼æ¢å¤å®æå请é坿å¡ã",agentGroupExisting:"å·²åå¨",agentGroupNew:"æ°å¢",agentExists:"å·²åå¨",agentNew:"æ°å¢",agentActionReplace:"æ¿æ¢å·²æ",agentActionAdd:"æ°å¢",agentColumnName:"æºè½ä½",agentColumnWorkspace:"å·¥ä½ç®å½",agentTotal:"å
± {{count}} 个æºè½ä½",noAgentsInBackup:"å¤ä»½ä¸æ²¡ææºè½ä½å·¥ä½åº",loadingAgents:"æ£å¨å è½½æºè½ä½å表...",agentSearchPlaceholder:"æåç§°æ ID æç´¢æºè½ä½...",agentSearchTotal:"æç´¢å° {{count}} 个ï¼å
± {{total}} 个",restoreCustomSummary:"å·²é {{existing}} 个已åå¨ Â· {{added}} 个æ°å¢",defaultWorkspaceDirUnused:"æ æ°å¢æºè½ä½ï¼ä¸çæ",otherOptions:"å
¶ä»é项",defaultWorkspaceDirDefault:"<é»è®¤è·¯å¾>/{{aid}}",restoreWarningModify:"æ¢å¤æä½ä¼ä¿®æ¹å½åé
ç½®ï¼æ¤æä½ä¸å¯æ¤éã",restoreWarningRestart:"æ¢å¤æé´ç¸å
³åè½ä¸å¯ç¨ï¼æ¢å¤å®æå请é坿å¡ã",preRestoreBackupTitle:"å建æ¢å¤åå¤ä»½",preRestoreBackupContent:"æ¢å¤æä½ä¸å¯éãæ¯å¦å
å建å½åç¶æçå¤ä»½ï¼è¿æ ·å¦ææ¢å¤åºç°é®é¢ï¼æ¨å¯ä»¥åéå°å½åç¶æã",preRestoreBackupYes:"æ¯ï¼å
å建å¤ä»½",preRestoreBackupNo:"å¦ï¼ç´æ¥æ¢å¤",preRestoreBackupDesc:"æ¢å¤åèªå¨å建çå¤ä»½",preRestoreBackupFailed:"å建æ¢å¤åå¤ä»½å¤±è´¥",preRestoreBackupSuccess:"æ¢å¤åå¤ä»½å建æåï¼IDï¼{{id}}",creatingPreRestoreBackup:"æ£å¨å建æ¢å¤åå¤ä»½...",skipAndRestore:"è·³è¿å¹¶ç»§ç»æ¢å¤",restoreConfirm:"æç¡®è®¤è¦æ¢å¤æ¤å¤ä»½",restoreMode:"æ¢å¤æ¨¡å¼",restoreModeFull:"æ´ä½æ¢å¤",restoreModeFullDesc:"å®å
¨æ¿æ¢å½åå®ä¾çææå
容ï¼å
æ¬æææºè½ä½ãå
¨å±é
ç½®ãæè½æ± åå¯é¥",restoreModeCustom:"èªå®ä¹æ¢å¤",restoreModeCustomDesc:"éæ©è¦æ¢å¤çå
容ï¼å¦é¨åæºè½ä½ãé
ç½®çï¼å½åå·²æä½ä¸å¨æ¬æ¬¡æ¢å¤èå´å
çå
¶ä»æºè½ä½ä¸ä¼è¢«ç§»é¤",restoreModeFullDisabled:"ä»
宿´å¤ä»½å¯ç¨",defaultWorkspaceDir:"æºè½ä½é»è®¤å·¥ä½ç®å½",defaultWorkspaceDirPlaceholder:"ç空æ¶å°ä½¿ç¨ ~/.qwenpaw/workspaces",defaultWorkspaceDirHint:"å¾
æ¢å¤çæºè½ä½çå·¥ä½è·¯å¾ä¸å卿¶ï¼æºè½ä½å°ä¿åå¨ <é»è®¤è·¯å¾>/<æºè½ä½ID> ä¸ï¼å卿¶åä½¿ç¨æºè½ä½çåå§å·¥ä½è·¯å¾ã",restoreStrategy:"æ¢å¤çç¥",restoreStrategyPreserve:"ä¿çæ¬å°å®å
¨å MCP é
ç½®",restoreStrategyPreserveDesc:"ä¿çå½åå®ä¾çå®å
¨é²æ¤å MCP é
ç½®ã",restoreStrategyRestore:"ä»å¤ä»½æ¢å¤è¿äºè®¾ç½®",restoreStrategyRestoreDesc:"使ç¨å¤ä»½ä¸çå®å
¨å MCP é
ç½®ã",restoreSuccess:"å¤ä»½æ¢å¤æåï¼è¯·æ¨é坿å¡ã",restoreSuccessPreserved:"å¤ä»½æ¢å¤æåãå·²ä¿çæ¬å°è®¾ç½®ï¼{{keys}}ã请é坿å¡ã",restoreSuccessWithBackup:"å¤ä»½æ¢å¤æåï¼æ¢å¤åå¤ä»½ IDï¼{{preRestoreId}}ï¼è¯·æ¨é坿å¡ã",restoreFailed:"å¤ä»½æ¢å¤å¤±è´¥",restoreTimedOut:"æ¢å¤ä»å¨è¿è¡æå·²è¶
è¿ 5 åéãè¯·æ£æ¥å¤ä»½å¤§å°ãç£ç空é´åæå¡æ¥å¿ååè¯ã",restoreTargetBusy:"å¤ä»½æ¢å¤å¤±è´¥ï¼ä»¥ä¸ç®å½ä»è¢«å ç¨ã请å
³éæ£å¨ä½¿ç¨è¿äºç®å½çæµè§å¨æè¿ç¨åéè¯ï¼å¦æä»ç¶è¢«éå®ï¼è¯·éå¯ç³»ç»ååè¯ã",detailLoa
168dFailed:"å¤ä»½è¯¦æ
å è½½å¤±è´¥ï¼æ æ³è¿è¡æ¢å¤æä½",trustLocalBanner:"æ¬å°å¤ä»½ - é»è®¤å®æ´æ¢å¤",trustForeignBanner:"导å
¥çå¤ä»½ - é»è®¤ä¿çæ¬å°å®å
¨å MCP é
ç½®",trustLegacyBanner:"åå²å¤ä»½ - æ¢å¤åéè¦ç¡®è®¤ä¿¡ä»»",trustForeignTitle:"ä¿¡ä»»æ¤å¤ä»½ï¼",trustLegacyTitle:"ä¿¡ä»»åå²å¤ä»½ï¼",unknownBackupName:"å¤ä»½å½æ¡£",trustForeignDesc:"æ¤å¤ä»½ä¸æ¯ç±å½åå®ä¾ç¾åãä»
å¨ä¿¡ä»»æ¥æºæ¶ç»§ç»ï¼æ¢å¤æ¶é»è®¤ä¿çæ¬å°å®å
¨å MCP é
ç½®ã",trustLegacyDesc:"æ¤æ§çå¤ä»½æ²¡ææ¬å°ç¾åãä»
å¨ä¿¡ä»»æ¥æºæ¶ç»§ç»ï¼ç¡®è®¤åä¼ä½¿ç¨å½åå®ä¾ç¾å忢å¤ã",deleteSuccess:"å¤ä»½å 餿å",deleteFailed:"å¤ä»½å é¤å¤±è´¥",exportFailed:"导åºå¤ä»½å¤±è´¥",exportWarningTitle:"ææä¿¡æ¯è¦å",exportWarningContent:"æ¤å¤ä»½å¯è½å
嫿æåè¯ä¿¡æ¯ãæºè½ä½å·¥ä½åºå
嫿¸ éåè¯ï¼å¦ bot tokenãapp secret çï¼ï¼æ¨¡åä¾åºåå¯é¥å
å« API Keyã请å¿å°å¤ä»½æä»¶å享ç»ä»äººã",exportConfirm:"确认导åº",importTitle:"导å
¥å¤ä»½",importSuccess:"å¤ä»½å¯¼å
¥æå",importFailed:"å¤ä»½å¯¼å
¥å¤±è´¥",importConflictTitle:"å¤ä»½å·²åå¨",importConflictDesc:"导å
¥çå¤ä»½ä¸ç³»ç»ä¸å·²æçå¤ä»½ ID ç¸åï¼æ¯å¦è¦çå·²æå¤ä»½ï¼",importReplace:"è¦ç",agents:"{{count}} 个 Agent",allAgents:"å
¨é¨ Agent",globalConfig:"å
¨å±è®¾ç½®",skillPool:"æè½æ± ",secrets:"å¯é¥",selected:"已鿩 {{count}} 个",fileCount:"{{count}} 个æä»¶",totalSize:"{{size}}",progressStarting:"æ£å¨åå§åå¤ä»½...",progressAgent:"æ£å¨å¤ä»½ç¬¬ {{index}} / {{total}} 个 Agent...",progressSaving:"æ£å¨åå
¥å¤ä»½æä»¶...",progressDone:"å¤ä»½å®æ",localModelsNotice:"å¤ä»½æä»¶ä¸å
嫿¬å°æ¨¡åæä»¶ãå¦é跨设å¤è¿ç§»ï¼è¯·å¨ç®æ 设å¤ä¸éæ°ä¸è½½æéçæ¬å°æ¨¡åã"},zR={title:"å®å
¨å®¡æ¹",agent:"Agent",ownerAgent:"å½å±Agent",executingAgent:"æ§è¡Agent",tool:"å·¥å
·",severity:"䏥鿧",findings:"åç°",reason:"è°ç¨çç±",parameters:"åæ°",approve:"æ¹å",deny:"æç»",source:"æ¥æº",builtinSource:"å
ç½®",subSession:"åAgent",approved:"å·²æ¹åå·¥å
·è°ç¨",denied:"å·²æç»å·¥å
·è°ç¨",approveFailed:"æ¹å失败",denyFailed:"æç»å¤±è´¥",timeoutAutoDenied:"å·²è¶
æ¶ï¼èªå¨æç»",acknowledge:"æç¥éäº",approvePattern:"æ»æ¯å
许",strictModeHint:"ä¸¥æ ¼æ¨¡å¼ä¸æ æ³æ»æ¯å
许",approveExact:"ä»
æ¬æ¬¡",approvalScope:"æ¹åèå´",details:"详ç»ä¿¡æ¯"},KR={title:"æä»¶ç®¡ç",description:"å®è£
ã管çåå¸è½½æä»¶ï¼æ éé坿å¡ã",installed:"å·²å®è£
æä»¶",noPlugins:"ææ å·²å®è£
æä»¶",installBtn:"å®è£
æä»¶",publishBtn:"å叿件",installTitle:"å®è£
æä»¶",dropPrimary:"æå
¥æä»¶å¤¹æ ZIP æä»¶",dropSecondary:"æç¹å»éæ© ZIP æä»¶",orFromUrl:"æéè¿ URL å®è£
",installFromUrl:"ä» URL å®è£
",urlPlaceholder:"https://example.com/plugin.zip",zipOnly:"ç´æ¥æå
¥æä»¶æ¶ä»
æ¯æ ZIPï¼å¦éå®è£
æä»¶å¤¹è¯·ç´æ¥æå
¥æä»¶å¤¹",dropFailed:"读åæå
¥çæä»¶å¤¹å¤±è´¥",restartHint:"é¨åæä»¶ï¼å¦ hookãmonkey-patch ç±»åï¼å®è£
æå¸è½½åå¯è½éè¦éå¯åºç¨æè½å®å
¨çæã",installing:"å®è£
ä¸...",installSuccess:"æä»¶å®è£
æå",installFailed:"æä»¶å®è£
失败",uninstall:"å¸è½½",uninstallConfirm:'ç¡®å®è¦å¸è½½æä»¶ "{{name}}"ï¼æä½æ æ³æ¤éãé¨åæä»¶å¯è½éè¦éå¯åºç¨æè½å®å
¨ç§»é¤ã',uninstalling:"å¸è½½ä¸...",uninstallSuccess:"æä»¶å¸è½½æå",uninstallFailed:"æä»¶å¸è½½å¤±è´¥",statusLoaded:"è¿è¡ä¸",statusUnloaded:"æªå è½½",type:"ç±»å",version:"çæ¬",author:"ä½è
",unknown:"æªç¥",noMatchingPlugins:"没æç¬¦åå½åç鿡件çæä»¶",loadFailed:"å è½½æä»¶å表失败",confirmTitle:"确认å¸è½½",officialTitle:"宿¹æä»¶",officialDesc:"ä»ä¸è½½ç«è·åå·²åå¸çæä»¶ï¼ä¸é®å®è£
å°æ¬æºã",catalogRefresh:"å·æ°",catalogEmpty:"ææ å®æ¹æä»¶ï¼è¯·ç¡®è®¤å·²åå¸å°ä¸è½½ CDNï¼",catalogLoadFailed:"å è½½å®æ¹æä»¶å表失败",catalogInstall:"å®è£
",catalogReinstall:"éæ°å®è£
",catalogUpgrade:"å¯å级",catalogUpgradeBtn:"å级",catalogInstalled:"å·²å®è£
",catalogSha256:"SHA256",kindBundle:"æä»¶å
",kindTool:"å·¥å
·",filterByName:"æåç§°çé",filterByKind:"ææ ç¾çé",marketTitle:"æä»¶å¸åº",marketEmpty:"ææ å¸åºæä»¶",marketLoadFailed:"å è½½æä»¶å¸åºå¤±è´¥",marketUnavailable:"æä»¶å¸åºæ£å¨ç»´æ¤ä¸ï¼è¯·ç¨ååè¯",marketSearch:"æç´¢æä»¶...",marketAll:"å
¨é¨",marketFeatured:"ç²¾é",marketTrending:"çé¨",marketCategory:"æç±»å«çé",marketSearchResult:'"{{keyword}}" ç¸å
³æä»¶å
±æç´¢å° {{count}} ä¸ªç»æ',marketDetails:"详æ
",marketDownloads:"ä¸è½½é",marketDeveloper:"å¼åè
",marketSortLabel:"æä»¶æåº",marketSortDownloads:"ä¸è½½éæå¤",marketSortUpdated:"æè¿æ´æ°",marketSortFavorites:"æ¶èéæå¤",compatWarningTitle:"å
¼å®¹æ§è¦å",compatWarningContent:"该æä»¶æ 注éé
QwenPaw {{labels}}ï¼èæ¨å½åç QwenPaw çæ¬ä¸º {{version}}
168ãå®è£
åå¯è½åºç°éè¯¯ï¼æ¯å¦ç¡®è®¤ç»§ç»ï¼",compatWarningConfirm:"ä»ç¶å®è£
"},$R={title:"ç¼ç¨æ¨¡å¼",experimental:"å®éªæ§åè½",experimentalDesc:"ç¼ç¨æ¨¡å¼å° QwenPaw 转å为ä¸ä¸ªè½»é级 Web IDEï¼æä¾ä»£ç ç¼è¾å¨ãæä»¶æ ãGit éæå AI è¾
å©ç¼ç¨è½åã",experimentalNote:"该åè½ç®å为å®éªæ§é¶æ®µï¼ä»å¨æç»å¼åä¸ï¼é¨ååè½å¯è½åéæå¨åç»çæ¬ä¸ææåå¨ã",confirmBtn:"确认",enterTooltip:"è¿å
¥ç¼ç¨æ¨¡å¼",exitTooltip:"éåºç¼ç¨æ¨¡å¼",btnCode:"代ç ",btnChat:"è天",selectProject:"鿩项ç®ç®å½",selectProjectDesc:"éæ©ä¸ä¸ªé¡¹ç®å¼å§å·¥ä½ï¼æä½¿ç¨é»è®¤å·¥ä½åº",tabWorkspace:"é»è®¤å·¥ä½åº",tabClone:"å
éä»åº",tabLocal:"导å
¥æ¬å°é¡¹ç®",tabNew:"æ°å»ºé¡¹ç®",workspaceDesc:"使ç¨å½å Agent çå·¥ä½åºç®å½",cloneUrl:"Git ä»åºå°å",cloneUrlPlaceholder:"https://github.com/user/repo.git",cloneName:"项ç®åç§°ï¼å¯éï¼",cloneNamePlaceholder:"ç空åèªå¨ä» URL è·å",cloneBtn:"å¼å§å
é",cloning:"å
éä¸...",localPath:"æ¬å°ç®å½è·¯å¾",localPathPlaceholder:"/Users/yourname/my-project",localPathHint:"è¾å
¥æ¬å°é¡¹ç®çç»å¯¹è·¯å¾",openBtn:"导å
¥",newName:"项ç®åç§°",newNamePlaceholder:"my-project",createBtn:"å建项ç®",switchProject:"忢项ç®",currentProject:"å½å项ç®",resetToWorkspace:"é置为é»è®¤å·¥ä½åº",dropPrimary:"æå
¥æä»¶å¤¹ï¼æç¹å»æµè§",dropSecondary:"æ¯æä» Finder ç´æ¥æå
¥",pathHint:"请è¾å
¥å®æ´çç»å¯¹è·¯å¾ï¼ä»¥ / æ ~ å¼å¤´ï¼",importing:"导å
¥ä¸...",dropFailed:"读åæä»¶å¤¹å¤±è´¥",workingDir:"å·¥ä½åºç®å½",importCopyNote:"æä»¶å¤¹å°è¢«å¤å¶å° QwenPaw æç®¡ç项ç®åºä¸ï¼ä¸ä¼ä¿®æ¹åå§æä»¶ï¼",importCopyDesc:"导å
¥ä¼å°æä»¶å¤¹å¤å¶ä¸ºå¯æ¬ï¼Agent å¨å¯æ¬ä¸å·¥ä½ï¼ä¸ä¼ä¿®æ¹åå§æä»¶ãå¦éç´æ¥æä½åç®å½ï¼è¯·ä½¿ç¨ãæå¼ç®å½ã",tabOpenDir:"æå¼ç®å½",openDirDesc:"ç´æ¥æå¼æ¬æºä¸å·²æçç®å½ï¼ä¸ä¼å¤å¶ä»»ä½æä»¶",openDirBtn:"æå¼æ¤ç®å½",openDirLoading:"å è½½ä¸...",openDirEmpty:"æ¤ç®å½ä¸æ²¡æåç®å½",openDirHome:"主ç®å½",openDirRefresh:"å·æ°",openDirHiddenFolders:"éèæä»¶å¤¹"},QR={searchPlaceholder:"å¨å¤å¹³å°ä¸æç´¢æè½",categoryAll:"å
¨é¨",categoryPlaceholder:"æç´¢åç±»",searchResult:'"{{keyword}}" ç¸å
³æè½å
±æç´¢å° {{count}} ä¸ªç»æ',providerUnavailable:"æ°æ®æºä¸å¯ç¨",noResults:"æ²¡ææ¾å°ç»æ",startTyping:"å¨ä¸æ¹è¾å
¥å
³é®å以æç´¢æè½å¸åº",browseHint:"éæ©åç±»æè¾å
¥å
³é®è¯ä»¥æµè§ {{providers}} ä¸çæè½",noDescription:"ææ æè¿°",browseMarket:"æµè§å¸åº",installQueue:"å®è£
éå",clearCompleted:"æ¸
空",retry:"éè¯",status:{queued:"æéä¸",installing:"å®è£
ä¸",completed:"已宿",failed:"失败",cancelled:"已忶"},loadMore:"å è½½æ´å¤",noMoreResults:"æ²¡ææ´å¤äº",detail:{title:"æè½è¯¦æ
",version:"çæ¬",author:"ä½è
",sourceUrl:"å®è£
å°å",slug:"æ è¯",missing:"â"},stats:{downloads:"ä¸è½½é",stars:"ææ ",installs:"å®è£
é",likes:"ç¹èµ",views:"æµè§é",category:"åç±»",updatedAt:"æ´æ°æ¶é´"},queueMsg:{timedOut:"å®è£
è¶
æ¶",failedPrefix:"失败ï¼{{msg}}"}},JR={starting:"æ£å¨å¯å¨å端æå¡...",checking:"æ£å¨è¿æ¥å端...",error:"å端æå¡å¯å¨å¤±è´¥ã",errorHint:"æ æ³å¯å¨å端è¿ç¨ï¼è¯·æ£æ¥åºç¨æ¥å¿äºè§£è¯¦æ
ã",errorDetails:"æ¾ç¤ºé误详æ
",timeout:"å端æå¡å¨ {{seconds}} ç§å
æªè½å¯å¨ã",timeoutHint:"å端å¯å¨å¤±è´¥ï¼è¯·éè¯ï¼ææ£æ¥åºç¨æ¥å¿äºè§£è¯¦æ
ã",retry:"éè¯"},YR={readFile:"é
读 {{file}}",readFileDefault:"é
读 æä»¶",writeFile:"å建 {{file}}",writeFileDefault:"å建 æä»¶",editFile:"ç¼è¾ {{file}}",editFileDefault:"ç¼è¾ æä»¶",appendFile:"追å {{file}}",appendFileDefault:"è¿½å æä»¶",grepSearch:"ææ¬å¹é
{{pattern}}",grepSearchDefault:"ææ¬å¹é
",globSearch:"æä»¶å¹é
{{pattern}}",globSearchDefault:"æä»¶å¹é
",viewImage:"æ¥çå¾ç {{file}}",viewImageDefault:"æ¥çå¾ç",viewVideo:"æ¥çè§é¢ {{file}}
168",viewVideoDefault:"æ¥çè§é¢",desktopScreenshot:"æªå¾ æ¡é¢",sendFile:"åé {{file}}",sendFileDefault:"åé æä»¶",browserUse:"æµè§ {{detail}}",browserNavigate:"æµè§ æå¼ {{url}}",browserNavigateDefault:"æµè§ æå¼é¡µé¢",browserClick:"æµè§ ç¹å»",browserType:"æµè§ è¾å
¥",browserSnapshot:"æµè§ å¿«ç
§",browserScroll:"æµè§ æ»å¨",getCurrentTime:"è·å å½åæ¶é´",setTimezone:"设置 {{timezone}}",getTokenUsage:"æ¥è¯¢ Token ç¨é",memorySearch:"æç´¢è®°å¿ {{query}}",memorySearchDefault:"æç´¢ è®°å¿",listAgents:"ååº ä»£ç",chatWithAgent:"å¯¹è¯ {{agent}}",chatWithAgentDefault:"å¯¹è¯ ä»£ç",submitToAgent:"æäº¤ {{agent}}{{task}}",submitToAgentDefault:"æäº¤ ä»»å¡",checkAgentTask:"æ£æ¥ {{agent}} #{{taskId}}",checkAgentTaskAgent:"æ£æ¥ {{agent}}",checkAgentTaskDefault:"æ£æ¥ ä»»å¡",delegateExternalAgent:"å§æ´¾ {{runner}}",delegateExternalAgentDefault:"å§æ´¾ å¤é¨ä»£ç",shell:"æ§è¡ {{command}}",shellDefault:"æ§è¡ å½ä»¤",runToolBatch:"è¿è¡å·¥ä½æµ {{workflow}}",runToolBatchRunning:"æ£å¨è¿è¡é¢å工使µ",runToolBatchProgress:"å
± {{count}} æ¥",runToolBatchStepCount:"æ»æ¥éª¤æ°ï¼{{count}}",formatTable:{file:"æä»¶",lineNumber:"è¡å·",score:"åæ°",summary:"æè¦",name:"åç§°",id:"ID",description:"æè¿°",status:"ç¶æ"},loading:"å¤çä¸...",rawInputPreview:"宿¶åå§åæ°ï¼æå 4096 个å符ï¼",largeOutputOmitted:"å·²çç¥ {{count}} è¡ â å¯å¤å¶å½åè¾åºï¼ææå
¶ä¸çæ¢å¤æç¤ºè·å宿´ç»æ",largeOutputTruncated:"è¾åºè¿é¿å·²æªææ¾ç¤º â å¯å¤å¶å½åè¾åºï¼ææå
¶ä¸çæ¢å¤æç¤ºè·å宿´ç»æ",browserAction:{startHeaded:"å¯å¨æµè§å¨(æçé¢)",start:"å¯å¨æµè§å¨",stop:"å
³éæµè§å¨",open:"æå¼ {{url}}",openDefault:"æå¼é¡µé¢",navigate:"å¯¼èª {{url}}",navigateDefault:"导èªé¡µé¢",navigateBack:"è¿åä¸ä¸é¡µ",click:"ç¹å» {{selector}}",clickDefault:"ç¹å»å
ç´ ",type:"è¾å
¥ {{text}}",typeDefault:"è¾å
¥ææ¬",snapshot:"è·åå¿«ç
§",screenshot:"æ
168ªå¾ {{path}}",screenshotDefault:"æªå¾",eval:"æ§è¡ {{code}}",evalDefault:"æ§è¡ä»£ç ",runCode:"è¿è¡ {{code}}",runCodeDefault:"è¿è¡ä»£ç ",closePage:"å
³é页é¢",tabs:"æ ç¾é¡µ {{action}}",tabsDefault:"ç®¡çæ ç¾é¡µ",fillForm:"å¡«å表å",fileUpload:"ä¸ä¼ {{filename}}",fileUploadDefault:"ä¸ä¼ æä»¶",fileDownload:"ä¸è½½ {{target}}",fileDownloadDefault:"ä¸è½½æä»¶",pressKey:"æé® {{key}}",pressKeyDefault:"æé®",hover:"æ¬å {{selector}}",hoverDefault:"æ¬åå
ç´ ",drag:"ææ½",selectOption:"éæ©é项",waitFor:"çå¾
{{target}}",waitForDefault:"çå¾
å
ç´ ",resize:"è°æ´å¤§å° {{w}}x{{h}}",resizeDefault:"è°æ´çªå£å¤§å°",pdf:"导åºPDF {{path}}",pdfDefault:"导åºPDF",install:"å®è£
",batch:"æ¹éæä½"},lineBadge:{lines:"{{count}}è¡",addLines:"+{{count}}è¡",delLines:"-{{count}}è¡",matches:"{{count}}å¹é
",files:"{{count}}æä»¶"},inlineResult:{taskId:"ä»»å¡ #{{id}}",submitted:"å·²æäº¤"},execute:"æ§è¡ {{tool}}",executeDefault:"æ§è¡ å·¥å
·",control:{title:"å·¥å
·æ§è¡ä¸ · æ¯å¦è½¬åå°ï¼",offload:"转å
¥åå°",keep:"ä¿æåå°",extendOffload:"æ¨è¿è½¬åå°",extendKill:"å»¶é¿æ§è¡è¶
æ¶",cancel:"åæ¶æ§è¡",autoAction:"{{seconds}}ç§åèªå¨æ§è¡é»è®¤æä½ï¼",noCountdown:"æ åè®¡æ¶ Â· é»è®¤æä½ï¼",policyOffload:"转å
¥åå°",policyKeep:"ä¸è½¬åå°",manage:"åå°ç®¡ç",offloadMode:{title:"å·¥å
·æ§è¡è¾ä¹
· å³å°è½¬å
¥åå°",offloadNow:"ç«å³è½¬å
¥åå°",preventOffload:"ç¦æ¢è½¬å
¥åå°",delayOffload:"å»¶è¿è½¬å
¥åå°",countdownCaption:"åèªå¨è½¬å
¥åå°",footerNoCountdown:"æ åè®¡æ¶ Â· é»è®¤å°è½¬å
¥åå°",ringAria:"è·èªå¨è½¬å
¥åå°è¿å© {{seconds}} ç§",toastAuto:"å·²èªå¨è½¬å
¥åå°",preventedTitle:"å·²ç¦æ¢èªå¨è½¬å
¥åå°",preventedFooter:"ä¸ä¼èªå¨è½¬å
¥åå°ï¼å¯æå¨è½¬å
¥åå°æåæ¶æ§è¡"},keepMode:{title:"å·¥å
·ä»å¨åå°æ§è¡",offload:"转å
¥åå°",countdownCaption:"åæ¶èµ·æ¬é¢æ¿",footerNoCountdown:"é»è®¤ä¿æåå°ï¼å¯éæ¶æå¨è½¬å
¥åå°",ringAria:"颿¿å°å¨ {{seconds}} ç§åæ¶èµ·",toastDismiss:"å·²æ¶èµ·æéï¼å·¥å
·ç»§ç»åå°æ§è¡"},toast:{offloaded:"å·¥å
·å·²è½¬å
¥åå°",keepWaiting:"ç»§ç»åå°çå¾
â¦",extended:"已延è¿è½¬å
¥åå°ï¼+30 ç§å忬¡æç¤º",killExtended:"æ§è¡è¶
æ¶å·²å»¶é¿ 30 ç§",cancelled:"å·¥å
·è°ç¨å·²åæ¶",cancelFailed:"åæ¶å·¥å
·å¤±è´¥",actionFailed:"æä½å¤±è´¥ãå·¥å
·å¯è½å·²ç»æï¼æè¯·æ±è¢«æç»ã",notFound:"æ¾ä¸å°è¯¥å·¥å
·è°ç¨ï¼å¯è½å·²ç»æï¼ã",conflict:"æä½è¢«æç»ï¼å·¥å
·ç¶æå·²ååæå·²è¾¾ä¸éï¼ã",networkError:"ç½ç»é误ï¼è¯·æ£æ¥è¿æ¥åéè¯ã",bgComplete:"åå°å·¥å
·å·²å®æï¼{{tool}}",bgCancelled:"åå°å·¥å
·å·²åæ¶ï¼{{tool}}"},hint:{completed:"å·¥å
· {{tool}} å·²å¨åå°å®æ",cancelled:"å·¥å
· {{tool}} 已忶"},bgQueue:{title:"åå°ä»»å¡",running:"è¿è¡ä¸",done:"已宿",doneLabel:"ä»»å¡å·²å®æ",cancelled:"已忶",totalDuration:"æ»èæ¶",cancel:"åæ¶",remove:"ç§»é¤",cancelAll:"å
¨é¨åæ¶",clearAll:"æ¸
é¤å·²å®æ",cancelAllDone:"已忶å
¨é¨è¿è¡ä¸ä»»å¡",clearAllDone:"å·²æ¸
é¤å·²å®æä»»å¡",showFinished:"æ¾ç¤ºå·²å®æ",emptyRunning:"ææ è¿è¡ä¸ä»»å¡",emptyHiddenFinished:"{{count}} ä¸ªå·²å®æï¼å·²éèï¼",scrollMore:"坿»å¨æ¥ç",noOutput:"ææ è¾åº"}}},XR={error:{SENSITIVE_FILE_BLOCKED:"该æä»¶è¢«æä»¶é²æ¤æ¦æªï¼æææä»¶ä¿æ¤ï¼ã",OUTSIDE_WORKSPACE:"该æä»¶ä½äºå·¥ä½åºèå´ä¹å¤ãè¯·å¨ è®¾ç½® â å®å
¨ â æä»¶é²æ¤ ä¸å¯ç¨ãå
许æ§å¶å°é¢è§å·¥ä½åºå¤æä»¶ãã",FORBIDDEN:"访é®è¢«æç»ï¼æ²¡æé¢è§æ¤æä»¶çæéã",NOT_FOUND:"æä»¶æªæ¾å°ï¼å¯è½å·²è¢«ç§»å¨æå é¤ãå¦æä½¿ç¨äºç¸å¯¹è·¯å¾ï¼è¯·å°è¯ä½¿ç¨ç»å¯¹è·¯å¾ã",LOAD_FAILED:"å è½½æä»¶é¢è§å¤±è´¥ã",LOAD_FAILED_DETAIL:"å è½½æä»¶é¢è§å¤±è´¥ï¼{{detail}}"}},ZR={budget:{low:"ä½",medium:"ä¸",high:"é«"},status:{pause:"æå",resume:"ç»§ç»",stop:"忢"},gotoSettings:"æºè½ä½ Loop 设置",selectorTitle:"Loop 模å¼",selectorHint:"éæ©æºè½ä½æ¥ä¸æ¥ç工使¹å¼",selectorAria:"éæ© Loop 模å¼",builtInModes:"å
ç½®",customModes:"èªå®ä¹ä¸æä»¶",starting:"æ£å¨å¯å¨",running:"è¿è¡ä¸",awaiting_user:"çå¾
ä½ çåå¤",activePersistentDescription:"该模å¼ä¼å¨å½åä¼è¯ä¸æç»çæï¼ç´å°ä»»å¡ç»ææéæ°å¼å§ä¼è¯ã",activeCustomDescription:"该èªå®ä¹æ¨¡å¼ä¼æç»çæï¼ç´å°ä½¿ç¨ /mode offã/clear æ /newã",loadError:"é¨å Loop 模å¼å 载失败ã",retry:"éè¯",modes:{default:{name:"é»è®¤",description:"æ åçåæ§æºè½ä½ Loopã"},goal:{name:"ç®æ ",description:"æç»æ¨è¿ä¸ä¸ªå
·ä½ä¸å¯éªè¯çç®æ ã"},mission:{name:"ä»»å¡",description:"è¿è¡ç»æåã坿ç»ç夿¥éª¤ä»»å¡ã"}}},eI={common:sR,desktop:rR,chunkError:lR,appCenter:dR,harnesses:cR,nav:uR,os:pR,sidebar:mR,debug:hR,inbox:gR,checkpoints:fR,workspace:bR,agent:kR,acp:yR,skills:vR,skillPool:TR,mcp:SR,heartbeat:CR,cronJobs:wR,channels:PR,sessions:AR,environments:MR,tokenUsage:DR,agentStats:xR,modelSelector:RR,models:IR,files:_R,projectDirectory:LR,agentConfig:ER,tools:FR,modelConfig:OR,header:BR,theme:NR,chat:HR,security:UR,hub:qR,login:jR,account:GR,voiceTranscription:VR,backup:WR,approval:zR,pluginManager:KR,codingMode:$R,market:QR,startup:JR,tool:YR,preview:XR,loop:ZR},tI={save:"ä¿å",reset:"ãªã»ãã",cancel:"ãã£ã³ã»ã«",confirm:"確èª",apply:"é©ç¨",delete:"åé¤",edit:"ç·¨é",create:"使",upload:"ã¢ãããã¼ã",download:"ãã¦ã³ãã¼ã",refresh:"æ´æ°",retry:"å試
168è¡",search:"æ¤ç´¢",enable:"æå¹å",disable:"ç¡å¹å",enabled:"æå¹",disabled:"ç¡å¹",preview:"ãã¬ãã¥ã¼",raw:"ã½ã¼ã¹",view:"é²è¦§",content:"å
容",loading:"èªã¿è¾¼ã¿ä¸...",saving:"ä¿åä¸...",copy:"ã³ãã¼",copied:"ã¯ãªãããã¼ãã«ã³ãã¼ãã¾ãã",copyFailed:"ã¯ãªãããã¼ãã¸ã®ã³ãã¼ã«å¤±æãã¾ãã",contentPlaceholder:"å
容ãå
¥åãã¦ãã ãã...",help:"ãã«ã",close:"éãã",actions:"æä½",total:"åè¨ {{count}} ä»¶",clear:"ã¯ãªã¢",paste:"è²¼ãä»ã"},aI={connected:"æ¥ç¶æ¸ã¿",disconnected:"åææ¸ã¿",notConnected:"æªæ¥ç¶",comingSoon:"è¿æ¥å
¬é",connect:"ChatGPTã§æ¥ç¶",disconnect:"åæ",apiKeyAuthenticated:"API ãã¼ã§èªè¨¼æ¸ã¿",chatGptAuthenticated:"ChatGPT ã«æ¥ç¶æ¸ã¿",cliAuthenticated:"{{type}} CLI èªè¨¼æ¸ã¿"},nI={closeWindow:{title:"ã¦ã£ã³ãã¦ãéãã",description:"ã¦ã£ã³ãã¦ãéããã¨ãã«å®è¡ããæä½ã鏿ãã¦ãã ãããã¢ããªãçµäºããã¨ãå®è¡ä¸ã®ãã¹ã¦ã®ã¿ã¹ã¯ã¨ã¹ã±ã¸ã¥ã¼ã«æ¸ã¿ã¿ã¹ã¯ã忢ãã¾ãã",remember:"鏿ãè¨æ¶ãã",showWindow:"ã¦ã£ã³ãã¦ã表示",minimizeToTray:"ãã¬ã¤ã«æå°å",quitApp:"ã¢ããªãçµäº",preference:"ã¦ã£ã³ãã¦ãéãã",askEveryTime:"æ¯å確èªãã"}},oI={title:"ãã¼ã¸ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",subTitle:"ãããã¯ã¼ã¯ã®åé¡ã¾ãã¯ã¢ããªã®æ´æ°ãåå ã®å¯è½æ§ãããã¾ãã",genericTitle:"åé¡ãçºçãã¾ãã",genericSubTitle:"ãã®ãã¼ã¸ã®ã¬ã³ããªã³ã°ä¸ã«äºæããªãã¨ã©ã¼ãçºçãã¾ããã",reload:"åèªã¿è¾¼ã¿"},iI={backToList:"æ»ã",subtitle:"ã¤ã³ã¹ãã¼ã«æ¸ã¿ã®ã¢ããªã管çããããã¢ããªãã¼ã±ããããã¯ã¼ã¯ã¹ãã¼ã¹ãæ¡å¼µãããã§ãã¾ãã",myApps:"ãã¤ã¢ããª",officialApps:"å
¬å¼ã¢ããª",appMarket:"ã¢ããªãã¼ã±ãã",browseOfficialApps:"å
¬å¼ã¢ããªãè¦ã",browseMarket:"ã¢ããªãã¼ã±ãããè¦ã",officialAppsEmpty:"å
¬å¼ã¢ããªã¯ã¾ã ããã¾ãã",searchOfficial:"å
¬å¼ã¢ããªãæ¤ç´¢...",installedCount:"{{count}} åã®ã¢ããª",clearFilters:"ãã£ã«ã¿ã¼ãã¯ãªã¢",moreActions:"ãã®ä»ã®æä½",openApp:"ã¢ããªãéã",noDescription:"説æã¯ããã¾ãã",search:"ã¢ããªãæ¤ç´¢...",allCategories:"ãã¹ã¦",noApps:"ã¤ã³ã¹ãã¼ã«æ¸ã¿ã®ã¢ããªã¯ããã¾ãã",noResults:"æ¤ç´¢æ¡ä»¶ã«ä¸è´ããã¢ããªã¯ããã¾ãã",loadFailed:"ã¢ããªã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãããå試è¡ãã¦ãã ããã",appNotLoaded:"ãã®ã¢ããªã¯ã¾ã èªã¿è¾¼ã¾ãã¦ãã¾ããããµã¤ããã¼ããä¸åº¦éãã¦ããå試è¡ãã¦ãã ããã",uninstall:"ã¢ã³ã¤ã³ã¹ãã¼ã«",uninstallConfirmTitle:"ã¢ããªãã¢ã³ã¤ã³ã¹ãã¼ã«ãã¾ããï¼",uninstallConfirmContent:"ã¢ããªã{{name}}ãã®ãã£ã¬ã¯ããªãåé¤ããã¾ãããã®æä½ã¯å
ã«æ»ãã¾ããã",uninstallSuccess:"ã¢ããªãã¢ã³ã¤ã³ã¹ãã¼ã«ãã¾ãã",uninstallFailed:"ã¢ã³ã¤ã³ã¹ãã¼ã«ã«å¤±æãã¾ãã",installing:"ã¤ã³ã¹ãã¼ã«ä¸",installSuccess:"ã¤ã³ã¹ãã¼ã«ãã¾ãã",installFailed:"ã¤ã³ã¹ãã¼ã«ã«å¤±æãã¾ãã",installedStatus:"ã¤ã³ã¹ãã¼ã«æ¸ã¿",update:"ã¢ãããã¼ã",searchMarket:"ã¢ããªãã¼ã±ãããæ¤ç´¢...",marketFilters:"ã¢ããªãã¼ã±ããã®ãã£ã«ã¿ã¼",filterAll:"ãã¹ã¦",trending:"人æ°",marketEmpty:"ã¢ããªãè¦ã¤ããã¾ãã",loadMore:"ããã«èªã¿è¾¼ã",noMoreApps:"ãã以ä¸ã¢ããªã¯ããã¾ãã",install:"ã¤ã³ã¹ãã¼ã«",details:"詳細",featured:"ãããã",refreshApp:"ã¢ããªãæ´æ°",appRefreshed:"ã¢ããªãæ´æ°ãã¾ãã",aboutApp:"ã¢ããªã«ã¤ãã¦",exitApp:"ã¢ããªãçµäº",moreOptions:"ãã®ä»ã®ãªãã·ã§ã³",backToListHint:"ã¢ããªä¸è¦§ã«æ»ã (ESC)",version:"ãã¼ã¸ã§ã³",id:"ID",category:"ã«ãã´ãª",description:"説æ"},sI={chat:"ãã£ãã",files:"ãã¡ã¤ã«",control:"ã³ã³ããã¼ã«",channels:"ãã£ã³ãã«",sessions:"ã»ãã·ã§ã³",cronJobs:"宿å®è¡",heartbeat:"ãã¼ããã¼ã",agent:"ã¯ã¼ã¯ã¹ãã¼ã¹",workspace:"ãã¡ã¤ã«",skills:"ã¹ãã«",skillPool:"ã¹ãã«ãã¼ã«",marketplace:"æ¡å¼µæ©è½",mcp:"MCP",agentConfig:"è¨å®",settings:"è¨å®",models:"ã¢ãã«",environments:"ç°å¢å¤æ°",security:"ã»ãã¥ãªãã£",tokenUsage:"ãã¼ã¯ã³ä½¿ç¨é",agentStats:"ã¨ã¼ã¸ã§ã³ãçµ±è¨",tools:"ãã¼ã«",voiceTranscription:"é³å£°æåèµ·ãã",agents:"ã¨ã¼ã¸ã§ã³ã管ç",debug:"ãããã°",plugins:"ãã©ã°ã¤ã³",acp:"ACP",backups:"ããã¯ã¢ãã",pluginManager:"ãã©ã°ã¤ã³ããã¼ã¸ã£ã¼"},rI={console:"ã³ã³ã½ã¼ã«",appStore:"App Store",appStoreDesc:"ãã¹ã¯ãããã¢ããªã®ã¤ã³ã¹ãã¼ã«ã¨åé¤",arrangeDesktop:"ãã¹ã¯ããããæ´ç",approvalActionFailed:"æä½ã«å¤±æãã¾ãããå試è¡ãã¦ãã ãã",booting:"èµ·åä¸â¦",changeWallpaper:"å£ç´ã夿´",clearAll:"ãã¹ã¦ã¯ãªã¢",closeApp:"éãã",currentSpace:"ç¾å¨ã®ã¹ãã¼ã¹",currentSpaceLabel:"ç¾å¨ã®ã¹ãã¼ã¹ï¼{{name}}",currentAppLabel:"ç¾å¨ã®ã¢ããªï¼{{name}}",desktopApps:"ãã¹ã¯ãããã¢ããª",finder:"ãã¹ã¯ããã",focu
168sApp:"ãã©ã¼ã«ã¹",install:"ã¤ã³ã¹ãã¼ã«",installed:"ã¤ã³ã¹ãã¼ã«æ¸ã¿",installedApp:"ã¤ã³ã¹ãã¼ã«ãã¾ãã",installedApps:"ã¤ã³ã¹ãã¼ã«æ¸ã¿ã¢ããª",launchpad:"Launchpad",moveDockLeft:"å·¦ã¸ç§»å",moveDockRight:"å³ã¸ç§»å",missionControl:"Mission Control",noInstalledApps:"ã¤ã³ã¹ãã¼ã«æ¸ã¿ã®ã¢ããªã¯ããã¾ãã",noNotifications:"éç¥ã¯ããã¾ãã",noOpenWindows:"ãã®ã¹ãã¼ã¹ã«éãã¦ããã¦ã£ã³ãã¦ã¯ããã¾ãã",noSettings:"å©ç¨å¯è½ãªè¨å®ã¯ããã¾ãã",notInstalled:"æªã¤ã³ã¹ãã¼ã«",notifications:"éç¥",notificationSummary:"æ¿èª {{approvals}} · åä¿¡ãã¬ã¤ {{inbox}}",notifyApproval:"æ¿èª",notifyInbox:"åä¿¡ãã¬ã¤",openApp:"éã",keepInDock:"Dock ã«è¿½å ",removeFromDock:"Dock ããåé¤",refreshDesktop:"ãã¹ã¯ããããæ´æ°",appMarket:"ã¢ããªãã¼ã±ãã",appMarketRefresh:"æ´æ°",appMarketSearch:"ã¢ããªãæ¤ç´¢...",appMarketEmpty:"ã¢ããªãè¦ã¤ããã¾ãã",appMarketUnavailable:"ã¢ããªãã¼ã±ããã¯ç¾å¨å©ç¨ã§ãã¾ãããå¾ã§ããä¸åº¦ã試ããã ããã",appMarketInstall:"ã¤ã³ã¹ãã¼ã«",appMarketDetails:"詳細",appMarketDeveloper:"éçºè
",appMarketDownloads:"ãã¦ã³ãã¼ãæ°",appInstalled:"ã¢ããªãã¤ã³ã¹ãã¼ã«ãã¾ãã",appInstallFailed:"ã¢ããªã®ã¤ã³ã¹ãã¼ã«ã«å¤±æãã¾ãã",appCompatibilityWarningTitle:"ã¢ããªã®äºææ§ã«é¢ããè¦å",appCompatibilityWarningContent:"ãã®ã¢ããªã¯ QwenPaw {{labels}} åãã§ããç¾å¨ã® QwenPaw ãã¼ã¸ã§ã³ã¯ {{version}} ã§ããã¤ã³ã¹ãã¼ã«ããã¨ã¨ã©ã¼ãçºçããå¯è½æ§ãããã¾ããç¶è¡ãã¾ããï¼",appCompatibilityWarningConfirm:"ããã§ãã¤ã³ã¹ãã¼ã«",appCompatibilityUnverified:"ç¾å¨ã® QwenPaw ãã¼ã¸ã§ã³ã¨ã®äºææ§ã確èªã§ãã¾ããã",restoreAll:"ãã¹ã¦å¾©å
",returnToConsole:"ã³ã³ã½ã¼ã«ã«æ»ã",desktopMode:"ãã¹ã¯ãããã¢ã¼ã",qwenpawMenu:"QwenPaw ã¡ãã¥ã¼",restoredAll:"ãã¹ã¦ã®ã¢ããªã復å
ãã¾ãã",sortBy:"ä¸¦ã¹æ¿ã",sortFree:"èªç±é
ç½®",sortName:"åå",sortType:"種é¡",systemSettings:"ã·ã¹ãã è¨å®",uninstall:"ã¢ã³ã¤ã³ã¹ãã¼ã«",uninstallConfirmTitle:"ã¢ããªãã¢ã³ã¤ã³ã¹ãã¼ã«ãã¾ããï¼",uninstallFailed:"ã¢ã³ã¤ã³ã¹ãã¼ã«ã«å¤±æãã¾ãã",uninstalledApp:"ã¢ã³ã¤ã³ã¹ãã¼ã«ãã¾ãã",update:"ã¢ãããã¼ã",wallpaper:"å£ç´",windows:"åã®ã¦ã£ã³ãã¦"},lI={title:"ãããã°",desc:"ããã¯ã¨ã³ãã®ãã¼ã¢ã³ãã°ã表示ããåé¡ã®èª¿æ»ã«å½¹ç«ã¦ã¾ãããã®ãã¼ã¸ãéãã¦ããéã¯èªåã§æ´æ°ããã¾ãã",level:{all:"ãã¹ã¦"},backend:{title:"ããã¯ã¨ã³ããã°",autoRefresh:"èªåæ´æ°",newestFirst:"æ°ããé ",updatedAt:"æ´æ°æå»",path:"ãã°ãã¡ã¤ã«",notFound:"ããã¯ã¨ã³ããã°ãã¡ã¤ã«ã¯ã¾ã è¦ã¤ãã£ã¦ãã¾ããã",placeholder:"ããã¯ã¨ã³ããã°ãããã«è¡¨ç¤ºããã¾ãã",loadFailed:"ããã¯ã¨ã³ããã°ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",searchPlaceholder:"ããã¯ã¨ã³ããã°ãæ¤ç´¢..."},actions:{refreshBackend:"ããã¯ã¨ã³ããã°ãæ´æ°",refreshSuccess:"ãã°ãæ´æ°ãã¾ãã",copyBackend:"ããã¯ã¨ã³ããã°ãã³ãã¼"}},dI={parent:"è¨å®",agents:"ã¨ã¼ã¸ã§ã³ã",management:"ã¨ã¼ã¸ã§ã³ã管ç",pageDescription:"ã«ã¹ã¿ã ã¯ã¼ã¯ã¹ãã¼ã¹ã¨ã¢ã¤ãã³ãã£ãã£ãæã¤è¤æ°ã® AI ã¨ã¼ã¸ã§ã³ãã使ãè¨å®ã管çãã¾ãã",name:"åå",id:"ID",description:"説æ",workspace:"ã¯ã¼ã¯ã¹ãã¼ã¹ãã¹",backend:{column:"ããã¯ã¨ã³ã",eyebrow:"ã¨ã¼ã¸ã§ã³ãã¢ã¼ããã¯ãã£",typeTitle:"ãã®ã¨ã¼ã¸ã§ã³ãã®å使¹å¼ã鏿",typeDescription:"ã¨ã¼ã¸ã§ã³ãã®ç¨®é¡ã¯ãChatãCodingãChannel ã®ãã¹ã¦ã®ä¼è©±ã«é©ç¨ããã¾ãã",nativeTitle:"QwenPaw ãã¤ãã£ãã¨ã¼ã¸ã§ã³ã",nativeBadge:"ãã¤ãã£ã",nativeDescription:"è¨å®æ¸ã¿ã® LLMãSkillsããã¼ã«ãã¡ã¢ãªãQwenPaw ã©ã³ã¿ã¤ã ã使ç¨ãã¾ãã",thirdPartyTitle:"ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ã",thirdPartyBadge:"ãµã¼ããã¼ãã£",thirdPartyDescription:"QwenPaw ã¢ãã«ã®ä»£ããã«ãèªè¨¼æ¸ã¿ã®å¤é¨ã¨ã¼ã¸ã§ã³ãã©ã³ã¿ã¤ã ã使ç¨ãã¾ãã",providerTitle:"ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ãã鏿",providerDescription:"èªè¨¼æ
å ±ã¯ãã®ããã¤ã¹ã§å
±æããã¾ãããããã¸ã§ã¯ãã¨ä¼è©±ã¯ã¨ã¼ã¸ã§ã³ããã¨ã«åé¢ããã¾ãã",codexHint:"ChatGPT OAuth · ã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹",qoderHint:"Qoder ã¢ã«ã¦ã³ãã¾ã㯠PAT · ã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹",account:"Codex ã¢ã«ã¦ã³ã",qoderAccount:"Qoder ã¢ã«ã¦ã³ã",binary:"Codex å®è¡ãã¡ã¤ã«",binaryHelp:"空æ¬ã®å ´å㯠Python SDK ä»å±ã® Codex CLI ãåªå
ããåç¬ã¤ã³ã¹ãã¼ã«ãèªåæ¤åºãã¾ããæåã§æå®ããå ´åã¯ãmacOS/Linux ã® codex ã¾ã㯠Windows ã® codex.exe ã®ãã«ãã¹ãå
¥åãã¦ãã ãããChatGPT App ãã¨ãã£ã¿ã¼æ¡å¼µæ©è½ã«å
èµããããã¤ããªã¯ãµãã¼ãããã¾ãããQwenPaw 㯠CODEX_BINARY ã¨ããã¯ã¨ã³ãã® PATH ãåç
§ãã¾ãã",binaryPlaceholder:"èªåæ¤åºãã¾ã㯠Codex å®è¡ãã¡ã¤ã«ã®ãã¹ãè²¼ãä»ã",qoderBinary:"Qoder å®è¡ãã¡ã¤ã«",qoderBinaryHelp:"空æ¬ã®å ´å㯠Python SDK 忢±ã® qodercli ãåªå
ããæ¢åã®ã¤ã³ã¹ãã¼ã«ãèªåæ¤åºãã¾ããæåæå®ã§ã¯ macOS/Linux ã® qodercli ã¾ã㯠Windows ã® qodercli.exe ã¸ã®ãã«ãã¹ãå
¥åãã¦ãã ãããQODERCLI_PATH ã¨ããã¯ã¨ã³ãã® PATH ãåç
§ãã¾ãã",qoderBinaryPlaceholder:"èªåæ¤åºãã¾ã㯠qodercli ã®ãã¹ãè²¼ãä»ã",detect:"忤åº",detectedBinary:"Codex ãæ¤åºãã¾ãã",qoderDetectedBinary:"Qoder ãæ¤åºãã¾ãã",apiKeyLoginHint:"ã¿ã¼ããã«ã§ codex login --with-api-key ãå®è¡ãã¦èªè¨¼ãããã¨ãã§ãã¾ãã",qoderAuthHint:"æ¥ç¶ãã㨠Qoder ã®ãã©ã¦ã¶ãã°ã¤ã³ãéãã¾ããqodercli login ã®
168å®è¡ãã¾ãã¯ããã¯ã¨ã³ãèµ·ååã® QODER_PERSONAL_ACCESS_TOKEN è¨å®ãå©ç¨ã§ãã¾ãã",qoderConnect:"Qoder ã«æ¥ç¶",model:"ã¨ã¼ã¸ã§ã³ãã¢ãã«",modelDefault:"ã¨ã¼ã¸ã§ã³ãã®ããã©ã«ãã使ç¨",defaultBadge:"ããã©ã«ã",reasoningEffort:"æ¨è«ã¬ãã«",reasoningDefault:"ã¢ãã«ã®ããã©ã«ãã使ç¨",codexNotFound:"Codex runtime ãè¦ã¤ããã¾ãããqwenpaw[codex] ãã¤ã³ã¹ãã¼ã«ããããåç¬ã® Codex CLI ãæå®ãã¦ãã ããã",qoderNotFound:"Qoder runtime ãè¦ã¤ããã¾ãããqwenpaw[qoder] ãã¤ã³ã¹ãã¼ã«ããããqodercli ãæå®ãã¦ãã ããã",chatSettingsHint:"Chat ãã¼ã«ãã¼ã§ã¢ãã«ãæ¨è«ã¬ãã«ãå®è¡æ¨©éã鏿ãã¾ãã",capabilityTitle:"QwenPaw ã®æ©è½",inheritedSkills:"ã¹ãã«",inheritedMcp:"MCP ãµã¼ãã¼",runtimeInherited:"å®è¡æã«ç¶æ¿ · æ°è¦ã»ãã·ã§ã³",notSupported:"ãã®ãããã¤ãã¼ã§ã¯æªå¯¾å¿",policyCompatibility:"MCP ããªã·ã¼",toolAllowlistSupported:"ãã¼ã«è¨±å¯ãªã¹ã対å¿",policyLimited:"ãããã¤ãã¼ã®å¶éãã",chatModelHint:"ã¨ã¼ã¸ã§ã³ãåä½ã®è¨å® · 次ã®ã¿ã¼ã³ããé©ç¨",appliesNextTurn:"次ã®ã¿ã¼ã³ããé©ç¨",approvalMode:"å®è¡æ¨©é",approvalPresets:{ask:{name:"夿´åã«ç¢ºèª",description:"ã¯ã¼ã¯ã¹ãã¼ã¹ã®å¤æ´ã許å¯ããææ ¼æä½ã®åã«ç¢ºèªãã¾ãã"},"read-only":{name:"èªã¿åãå°ç¨",description:"ãã¡ã¤ã«ã夿´ããã«ç¢ºèªãã¾ãã"},workspace:{name:"ã¯ã¼ã¯ã¹ãã¼ã¹ã¢ã¯ã»ã¹",description:"確èªãªãã§ã¯ã¼ã¯ã¹ãã¼ã¹ã®å¤æ´ã許å¯ãã¾ãã"},"accept-edits":{name:"ç·¨éã許å¯",description:"ãã¡ã¤ã«ç·¨éã許å¯ãããã®ä»ã®å®å
¨ç¢ºèªã¯ç¶æãã¾ãã"},plan:{name:"è¨ç»ã®ã¿",description:"ãã¡ã¤ã«ã夿´ããã«åæã¨è¨ç»ãè¡ãã¾ãã"},auto:{name:"èªå",description:"å®å
¨ãªæä½ã Qoder ã夿ãã¦å®è¡ãã¾ãã"},"full-access":{name:"ãã«ã¢ã¯ã»ã¹",description:"確èªãªãã§ç¡å¶éã®ãã¼ã«ã«å®è¡ã許å¯ãã¾ãã"}}},create:"ã¨ã¼ã¸ã§ã³ãã使",createTitle:"æ°ããã¨ã¼ã¸ã§ã³ãã使",createSuccess:"ã¨ã¼ã¸ã§ã³ããæ£å¸¸ã«ä½æããã¾ãã",createFailed:"ã¨ã¼ã¸ã§ã³ãã®ä½æã«å¤±æãã¾ãã",edit:"ç·¨é",editTitle:"ã¨ã¼ã¸ã§ã³ããç·¨é - {{name}}",updateSuccess:"ã¨ã¼ã¸ã§ã³ããæ£å¸¸ã«æ´æ°ããã¾ãã",updateFailed:"ã¨ã¼ã¸ã§ã³ãã®æ´æ°ã«å¤±æãã¾ãã",delete:"åé¤",deleteConfirm:"ã¨ã¼ã¸ã§ã³ãã®åé¤ã確èª",deleteConfirmDesc:"åé¤å¾ãã¨ã¼ã¸ã§ã³ãã¯å©ç¨ã§ããªããªãã¾ãããã¯ã¼ã¯ã¹ãã¼ã¹ãã¡ã¤ã«ã¯ä¿æããã¾ã",deleteSuccess:"ã¨ã¼ã¸ã§ã³ããæ£å¸¸ã«åé¤ããã¾ãã",deleteFailed:"ã¨ã¼ã¸ã§ã³ãã®åé¤ã«å¤±æãã¾ãã",selectAgent:"ã¨ã¼ã¸ã§ã³ãã鏿",defaultDisplayName:"ããã©ã«ãã¨ã¼ã¸ã§ã³ã",currentWorkspace:"ç¾å¨ã®ã¨ã¼ã¸ã§ã³ã",switchSuccess:"ã¨ã¼ã¸ã§ã³ããæ£å¸¸ã«åãæ¿ãããã¾ãã",switchFailed:"ã¨ã¼ã¸ã§ã³ãã®åãæ¿ãã«å¤±æãã¾ãã",loadFailed:"ã¨ã¼ã¸ã§ã³ããªã¹ãã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",loadConfigFailed:"ã¨ã¼ã¸ã§ã³ãè¨å®ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",saveFailed:"ã¨ã¼ã¸ã§ã³ãã®ä¿åã«å¤±æãã¾ãã",idRequired:"ã¨ã¼ã¸ã§ã³ã ID ãå
¥åãã¦ãã ãã",idLabel:"ã¨ã¼ã¸ã§ã³ã IDï¼ä»»æï¼",idHelp:"空æ¬ã®ã¾ã¾ã«ããã¨èªåçæããã¾ããè±æ°åããã¤ãã³ãã¢ã³ãã¼ã¹ã³ã¢ã®ã¿ä½¿ç¨å¯è½ã",idPattern:"ID ã¯è±æ°åãã¢ã³ãã¼ã¹ã³ã¢ããã¤ãã³ã®ã¿ä½¿ç¨ã§ãã¾ã",idPlaceholder:"ä¾ï¼my-agent",nameRequired:"ã¨ã¼ã¸ã§ã³ãåãå
¥åãã¦ãã ãã",namePlaceholder:"ä¾ï¼ãã¤ã¨ã¼ã¸ã§ã³ã",descriptionPlaceholder:"ãã®ã¨ã¼ã¸ã§ã³ãã®ç®çãç°¡åã«èª¬æãã¦ãã ãã...",workspaceHelp:"空æ¬ã®ã¾ã¾ã«ããã¨ã~/.qwenpaw/workspaces/<id> ã«èªåçæããã¾ã",dragHandleTooltip:"ãã©ãã°ãã¦ã¨ã¼ã¸ã§ã³ãã®é åºã夿´",reorderSuccess:"ã¨ã¼ã¸ã§ã³ãã®é åºãä¿åãã¾ãã",reorderFailed:"ã¨ã¼ã¸ã§ã³ãã®é åºãä¿åã§ãã¾ããã§ãã",defaultNotEditable:"ããã©ã«ãã®ã¨ã¼ã¸ã§ã³ãã¯ç·¨éã§ãã¾ãã",defaultNotDeletable:"ããã©ã«ãã®ã¨ã¼ã¸ã§ã³ãã¯åé¤ã§ãã¾ãã",disable:"ç¡å¹å",enable:"æå¹å",disabled:"ç¡å¹",disableConfirm:"ã¨ã¼ã¸ã§ã³ãã®ç¡å¹åã確èª",disableConfirmDesc:"ç¡å¹åå¾ãã¨ã¼ã¸ã§ã³ãã¤ã³ã¹ã¿ã³ã¹ã¯èµ·åãã¾ãããããªã¹ãã«ã¯è¡¨ç¤ºããã¾ã",enableConfirm:"ã¨ã¼ã¸ã§ã³ãã®æå¹åã確èª",enableConfirmDesc:"æå¹åå¾ãã¨ã¼ã¸ã§ã³ãã¯åãæ¿ãã¦ä½¿ç¨ã§ããããã«ãªãã¾ã",disableSuccess:"ã¨ã¼ã¸ã§ã³ããç¡å¹åããã¾ãã",enableSuccess:"ã¨ã¼ã¸ã§ã³ããæå¹åããã¾ãã",toggleFailed:"ã¨ã¼ã¸ã§ã³ãç¶æ
ã®åãæ¿ãã«å¤±æãã¾ãã",enableAgent:"{{name}} ãæå¹å",disableAgent:"{{name}}
168 ãç¡å¹å",disabledAgents:"ç¡å¹ ({{count}})",pinnedAgents:"åºå®æ¸ã¿",otherAgents:"ãã®ä»ã®ã¨ã¼ã¸ã§ã³ã",pinned:"åºå®æ¸ã¿",defaultPinned:"ããã©ã«ãã¨ã¼ã¸ã§ã³ãã¯å¸¸ã«åºå®ããã¾ã",longPressToPin:"é·æ¼ãã§åºå®",longPressToUnpin:"é·æ¼ãã§åºå®è§£é¤",pinAgent:"ã¨ã¼ã¸ã§ã³ããåºå®",unpinAgent:"ã¨ã¼ã¸ã§ã³ãã®åºå®ãè§£é¤",pinSuccess:"ã¨ã¼ã¸ã§ã³ããåºå®ãã¾ãã",unpinSuccess:"ã¨ã¼ã¸ã§ã³ãã®åºå®ãè§£é¤ãã¾ãã",pinFailed:"åºå®ç¶æ
ãæ´æ°ã§ãã¾ããã§ãã",status:{disabled:"ç¡å¹",pending:"èµ·åå¾
ã¡",starting:"èµ·åä¸",running:"å®è¡ä¸",failed:"èµ·å失æ",waitUntilStarted:"èµ·åå®äºå¾ã«æä½ã§ãã¾ã"},defaultNotDisablable:"ããã©ã«ãã®ã¨ã¼ã¸ã§ã³ãã¯ç¡å¹åã§ãã¾ãã",currentAgentDeleted:"ç¾å¨ã®ã¨ã¼ã¸ã§ã³ããåé¤ããã¾ãããããã©ã«ãã¨ã¼ã¸ã§ã³ãã«èªååãæ¿ããã¾ãã",currentAgentDisabled:"ç¾å¨ã®ã¨ã¼ã¸ã§ã³ããç¡å¹åããã¾ãããããã©ã«ãã¨ã¼ã¸ã§ã³ãã«èªååãæ¿ããã¾ãã",switchedToDefault:"ããã©ã«ãã¨ã¼ã¸ã§ã³ãã«èªååãæ¿ããã¾ãã",cannotSwitchToDisabled:"ãã®ã¨ã¼ã¸ã§ã³ãã¯ç¡å¹åããã¦ãã¾ãã管çãã¼ã¸ã§æå¹åãã¦ãã ãã",model:"ã¢ãã«",modelHelp:"ãã®ã¨ã¼ã¸ã§ã³ãã«ç¹å®ã® LLM ã¢ãã«ãå²ãå½ã¦ã¾ãã空æ¬ã®å ´åã¯ã°ãã¼ãã«ããã©ã«ãã使ç¨ããã¾ãã",modelPlaceholder:"ã°ãã¼ãã«ããã©ã«ã",noConfiguredModels:"è¨å®æ¸ã¿ã®ã¢ãã«ãããã¾ãã",modelColumn:"ã¢ãã«",initialSkills:"åæã¹ãã«",initialSkillsHelp:"ãã¼ã«ããã¹ãã«ã追å 鏿ãã¾ããå¾ã§ãã¤ã§ã追å ã»åé¤ã§ãã¾ãã",selectAll:"ãã¹ã¦",selectBuiltin:"çµã¿è¾¼ã¿",selectNone:"ã¯ãªã¢",noPoolSkills:"ãã¼ã«ã«å©ç¨å¯è½ãªã¹ãã«ãããã¾ãã",addSkillsToAgent:"ã¹ãã«ã追å ",copyTooltip:"ã¨ã¼ã¸ã§ã³ãè¨å®ãã³ãã¼",copyDefaultTooltip:"ããã©ã«ãã¨ã¼ã¸ã§ã³ãããã³ãã¬ã¼ãã¨ãã¦ã³ãã¼",copyTitle:"ã¨ã¼ã¸ã§ã³ãè¨å®ãã³ãã¼",copyNameLabel:"æ°ããã¨ã¼ã¸ã§ã³ãå",copyOptionsLabel:"ã³ãã¼å
容",copyOptionAgentJson:"agent.jsonï¼å¿
é ï¼",copyOptionAgentJsonHint:"è§£ææ¸ã¿ã®ã½ã¼ã¹è¨å®ã常ã«ã³ãã¼ããIDã»ååã»workspaceã»channels ã®ã¿ãªã»ãããã¾ãããã£ã¹ã¯ä¸ã® agent.json ããã®ã¾ã¾è¤è£½ããããã§ã¯ããã¾ããã",copyOptionMdFiles:"AGENTS / SOUL / PROFILE / HEARTBEAT / BOOTSTRAP.md",copyOptionSkills:"skills/ + manifest",copyOptionJobs:"jobs.json",copyOptionJobsHint:"ã¸ã§ãå®ç¾©ã®ã¿ãã³ãã¼ããå®è¡å±¥æ´ã¯å«ã¿ã¾ããã使å¾ãæ°ããã¨ã¼ã¸ã§ã³ãã¯ã¹ã±ã¸ã¥ã¼ã«ã«å¾ã£ã¦ããã«å®è¡ãéå§ãã¾ãã",copySuccess:"ã¨ã¼ã¸ã§ã³ãè¨å®ã®ã³ãã¼ã«æåãã¾ãã",copyFailed:"ã¨ã¼ã¸ã§ã³ãè¨å®ã®ã³ãã¼ã«å¤±æãã¾ãã",mailManagement:"ã¡ã¼ã«ç®¡ç",mailModeNone:"ã¡ã¼ã«ç®¡çã¯ä¸è¦",mailModePersonal:"å人ã®ã¡ã¼ã«ããã¯ã¹ã管ç",mailModeDedicated:"ã¨ã¼ã¸ã§ã³ãå°ç¨ã®ã¡ã¼ã«ããã¯ã¹ãç¨æ",mailName:"ã¡ã¼ã«ããã¯ã¹å",mailNameOptional:"ã¡ã¼ã«ããã¯ã¹åï¼ä»»æï¼",mailDomain:"ã¡ã¼ã«ãã¡ã¤ã³",mailPassword:"ãã¹ã¯ã¼ã",mailPhone:"é»è©±çªå·",mailAuthCode:"16æ¡ã®èªè¨¼ã³ã¼ã",mailNameRequired:"ã¡ã¼ã«ããã¯ã¹åãå
¥åãã¦ãã ãã",mailPasswordRequired:"ãã¹ã¯ã¼ããå
¥åãã¦ãã ãã",mailPhoneRequired:"é»è©±çªå·ãå
¥åãã¦ãã ãã",mailAuthCodeRequired:"èªè¨¼ã³ã¼ããå
¥åãã¦ãã ãã",mailAuthCodeLength:"èªè¨¼ã³ã¼ãã¯16æ¡ã§ããå¿
è¦ãããã¾ã",mailDomainRequired:"ã¡ã¼ã«ãã¡ã¤ã³ã鏿ãã¦ãã ãã",mailDomainInvalid:"æå¹ãªã¡ã¼ã«ãã¡ã¤ã³ãå
¥åãã¦ãã ããï¼ä¾ï¼mycompany.comï¼",mailDomainPlaceholder:"ã¡ã¼ã«ãã¡ã¤ã³ã鏿ã¾ãã¯å
¥å",mailProvider:"ã¡ã¼ã«ãããã¤ãã¼",mailProviderRequired:"ã¡ã¼ã«ãããã¤ãã¼ã鏿ãã¦ãã ãã",mailProviderPlaceholder:"ãã®ãã¡ã¤ã³ããã¹ããããããã¤ãã¼ã鏿",mailProviderTencentExmail:"Tencent Exmailï¼é¨°è¨ä¼æ¥ã¡ã¼ã«ï¼",mailProviderAliyunQiye
168:"Alibaba Enterprise Mailï¼é¿é伿¥ã¡ã¼ã«ï¼",mailProviderNeteaseQiye:"Netease Enterprise Mailï¼ç¶²æä¼æ¥ã¡ã¼ã«ï¼",mailCredentialLabel:"èªè¨¼æ
å ±",mailCredentialRequired:"èªè¨¼æ
å ±ãå
¥åãã¦ãã ãã",mailCredentialHintAuthCode:"ã¡ã¼ã«ããã¯ã¹è¨å®ã§çæãã16æ¡ã®èªè¨¼ã³ã¼ããå
¥åãã¦ãã ãã",mailCredentialHintGmail:"Gmailã®ã¢ããªãã¹ã¯ã¼ããå
¥åãã¦ãã ããï¼2段éèªè¨¼ã®æå¹åãå¿
è¦ï¼",mailCredentialHintAliyun:"ã¡ã¼ã«ããã¯ã¹ã®ãã°ã¤ã³ãã¹ã¯ã¼ããå
¥åãã¦ãã ãã",mailCredentialHintEnterprise:"ã¯ã©ã¤ã¢ã³ãå°ç¨ãã¹ã¯ã¼ãã¾ãã¯ã¡ã¼ã«ããã¯ã¹ã®ãã°ã¤ã³ãã¹ã¯ã¼ããå
¥åãã¦ãã ãã",mailPushTitle:"æ°çã¡ã¼ã«ã®èªåå¿ç",mailAccessControl:"ã¡ã¼ã«ã¢ã¯ã»ã¹å¶å¾¡",mailAccessControlTip:"æå¹ã«ããã¨ã䏿ãªå·®åºäººããã®ã¡ã¼ã«ã¯æ¿èªãããã¾ã§å¦çããã¾ãã",mailPushModeOff:"ãªã",mailPushModeRulesOnly:"ã«ã¼ã«ã®ã¿",mailPushModeRulesThenAgent:"ã«ã¼ã« + å¿
è¦æã«èµ·å",mailPushModeAgentAll:"æ¯åèµ·å",mailPushModeOffDesc:"æ°çã¡ã¼ã«ãèªåå¦çãã¾ãã",mailPushModeRulesOnlyDesc:"以ä¸ã®ã«ã¼ã«ã®ã¿ã§æ°çã¡ã¼ã«ãå¦çããã¨ã¼ã¸ã§ã³ãã¯èµ·åãã¾ãã",mailPushModeRulesThenAgentDesc:"ã¾ãã«ã¼ã«ã§å¦çããèµ·åã¢ã¯ã·ã§ã³ã«ä¸è´ããå ´åã®ã¿ã¨ã¼ã¸ã§ã³ããèµ·åãã¾ã",mailPushModeAgentAllDesc:"æ°çã¡ã¼ã«ãã¨ã«ã¨ã¼ã¸ã§ã³ããèµ·åããå¦çæ¹æ³ãã¨ã¼ã¸ã§ã³ããèªå¾çã«å¤æãã¾ã",mailPushModeLegacySuffix:"ï¼æ§çï¼",mailPushFieldFrom:"å·®åºäºº",mailPushFieldSubject:"ä»¶å",mailPushFieldContent:"å
容",mailPushFieldKeyword:"ãã¼ã¯ã¼ã",mailPushActionMarkRead:"æ¢èªã«ãã",mailPushActionMove:"ãã©ã«ãã¸ç§»å",mailPushActionNotify:"éç¥ã®ã¿",mailPushActionWakeAgent:"ã¨ã¼ã¸ã§ã³ããèµ·å",mailPushContainsPlaceholder:"å«ã¾ããããã¹ã",mailPushParamMovePlaceholder:"ç§»åå
ãã©ã«ã",mailPushParamWakePlaceholder:"è¿½å æç¤ºï¼ä»»æï¼",mailPushParamRequired:"ç§»åå
ãã©ã«ããå
¥åãã¦ãã ãã",mailPushAddRule:"ã«ã¼ã«ã追å ",mailPushWakeOptionInvoice:"è«æ±æ¸ã»é 忏ã¡ã¼ã«ã®æ·»ä»ãä¿åãã¦ã¢ã¼ã«ã¤ã",mailPushWakeOptionReply:"åãåããã¡ã¼ã«ã«ä¸å¯§ã«è¿ä¿¡",mailPushWakeOptionOtp:"èªè¨¼ã³ã¼ããæ½åºãã¦éç¥",mailPushWakeOptionSummary:"ã¡ã¼ã«ã®è¦ç¹ãã¾ã¨ãã¦åä¿¡ç®±ã«ä¿å"},cI={nav:"ãã§ãã¯ãã¤ã³ã",title:"ç¶æ
ãã§ãã¯ãã¤ã³ã",auto:"èªå",autoEnabled:"èªåãã§ãã¯ãã¤ã³ããæå¹ã«ãã¾ãã",autoDisabled:"èªåãã§ãã¯ãã¤ã³ããç¡å¹ã«ãã¾ãã",refresh:"æ´æ°",snapshot:"ã¹ãããã·ã§ãã",snapshotCreated:"ã¹ãããã·ã§ããã使ãã¾ãã",graph:"ã°ã©ã",checkpoint:"ãã§ãã¯ãã¤ã³ã",type:"種é¡",commit:"ã³ããã",createdAt:"ä½ææ¥æ",session:"ã»ãã·ã§ã³",channel:"ãã£ã³ãã«",parent:"親",details:"ãã§ãã¯ãã¤ã³ãã®è©³ç´°",search:"ã¯ã¨ãªãååãã»ãã·ã§ã³ãSHAãæ¤ç´¢",allTypes:"ãã¹ã¦ã®ç¨®é¡",allSessions:"ãã¹ã¦ã®ã»ãã·ã§ã³",showingLatest:"ææ°{{count}}ä»¶ã表示",loadFailed:"ãã§ãã¯ãã¤ã³ããèªã¿è¾¼ãã¾ãã",retry:"å試è¡",more:"ãã®ä»ã®æä½",noMatches:"æ¡ä»¶ã«ä¸è´ãããã§ãã¯ãã¤ã³ãã¯ããã¾ããã",empty:"ç¶æ
ãã§ãã¯ãã¤ã³ãã¯ã¾ã ããã¾ããã使å¾ãå±¥æ´ãããã«è¡¨ç¤ºããã¾ãã",kind:{auto:"èªå",snapshot:"ã¹ãããã·ã§ãã",safety:"å®å
¨",commit:"ã³ããã"},summary:{total:"ä»¶"},snapshotDialog:{title:"ã¹ãããã·ã§ããã使",session:"ã»ãã·ã§ã³",name:"åå",placeholder:"ä»»æã®åå"},gc:{settingsAction:"èªåæ´çè¨å®",settingsTitle:"èªåæ´çè¨å®",keepCount:"ä¿æããèªåãã§ãã¯ãã¤ã³ãæ°",keepDays:"èªåãã§ãã¯ãã¤ã³ãã®ä¿ææ¥æ°",preRestoreDays:"復å
åã¹ãããã·ã§ããã®ä¿ææ¥æ°",settingsSaved:"èªåæ´çè¨å®ãä¿åãã¾ãã",thoroughAction:"Thoroughly compact checkpoints",thoroughTitle:"Thoroughly compact checkpoints?",thoroughDescription:"èªåãã§ãã¯ãã¤ã³ãã®ä¿æããªã·ã¼ãç¡è¦ã㦠{{count}} ä»¶ãåé¤ãã¾ããåã»ãã·ã§ã³ã® HEAD ã¯ä¿æããã¾ãã",thoroughConfirm:"Thoroughly compact",thoroughSuccess:"Removed {{count}} checkpoint(s) during thorough compaction",action:"ãã§ãã¯ãã¤ã³ããæ´ç",title:"ä¿æããªã·ã¼ã«å¾ã£ã¦ãã§ãã¯ãã¤ã³ããæ´çãã¾ããï¼",description:"ç¾å¨ã®ä¿æããªã·ã¼ã«å¾ããæéåãã®ãã§ãã¯ãã¤ã³ã {{count}} ä»¶ãåé¤ãã¾ããåã»ãã·ã§ã³ã® HEAD ã¯ä¿æããã¾ãã",confirm:"æ´ç",success:"{{count}}ä»¶ãåé¤ãã¾ãã"},reset:{action:"ãã§ãã¯ãã¤ã³ãããªã»ãã",title:"ãã¹ã¦ãªã»ãããã¾ããï¼",description:"ãã¹ã¦ã®ãã§ãã¯ãã¤ã³ããå®å
¨ã«åé¤ããèªå使ãç¡å¹ã«ãã¾ãã",confirm:"ãªã»ãã",success:"ãªã»ãããã¾ãã"},restore:{action:"復å
",title:"ãã§ãã¯ãã¤ã³ãã復å
",preview:"復å
ããã¬ãã¥ã¼",confirm:"復å
",conversation:"ä¼è©±",memory:"ã¡ã¢ãª",files:"ã¯ã¼ã¯ã¹ãã¼ã¹ãã¡ã¤ã«",refreshWarning:"ä¼è©±ã夿´ããã¾ãã復å
å¾ã«ä¼è©±ãæ´æ°ãã¦ãã ããã",selectedCount:"{{count}}ãã¡ã¤ã«ã鏿",selectAll:"夿´ãã¡ã¤ã«ããã¹ã¦é¸æ",delete:"åé¤",restore:"復å
",noFileChanges:"復å
ãå¿
è¦ãªãã¡ã¤ã«ã¯ããã¾ããã",success:"復å
ãã¾ãããä¼è©±ãæ´æ°ãã¦ç¶æ
ãèªã¿è¾¼ãã§ãã ããã"}},uI={title:"ãã¡ã¤ã«",workspacePath:"ã¯ã¼ã¯ã¹ãã¼ã¹:",noFiles:"ãã¡ã¤ã«ãªã",coreFiles:"ã³ã¢ãã¡ã¤ã«",coreFilesDesc:"ãã«ã½ãã»ã¢ã¤ãã³ãã£ãã£ã»ãã¼ã«ã¬ã¤ãã³ã¹ãè¨å®ãã¾ãã",uploadTooltip:"ZIPãã¡ã¤ã«ã®ã¿",uploadTooltipWithLimit:"ZIPãã¡ã¤ã«ã®ã¿ãæå¤§{{limit}}MB",selectFile:"ç·¨éãããã¡ã¤ã«ã鏿",fileContent:"ãã¡ã¤ã«ã®å
容...",uploadSuccess:"ãã¡ã¤ã«ã®ã¢ãããã¼ãã«æåãã¾ãã",uploadFailed:"ãã¡ã¤ã«ã®ã¢ãããã¼ãã«å¤±æãã¾ãã",downloadPreparing:"ã¯ã¼ã¯ã¹ãã¼ã¹ã®ãã¦ã³ãã¼ããæºåä¸...",downloadSuccess:"ã¯ã¼ã¯ã¹ãã¼ã¹ã®ãã¦ã³ãã¼ãã«æåãã¾ãã",downloadFailed:"ã¯ã¼ã¯ã¹ãã¼ã¹ã®ãã¦ã³ãã¼ãã«å¤±æãã¾ãã",zipOnly:"ã¢ãããã¼ãã§ããã®ã¯ .zip ãã¡ã¤ã«ã®ã¿ã§ã",fileSizeExceeded:"ãã¡ã¤ã«ãµã¤ãºã{{limit}}MBã®å¶éãè¶
ãã¦ãã¾ããç¾å¨ã®ãã¡ã¤ã«: {{size}}MB",systemPromptToggleTooltip:"ã·ã¹ãã ããã³ããã¸ã®ãã¡ã¤ã«èªã¿è¾¼ã¿ãæå¹/ç¡å¹ã«ãã",memoryFileWarning:"MEMORY.md ã¯é常ãã¨ã¼ã¸ã§ã³ãããã¼ã«ã使ç¨ãã¦ãªã³ããã³ãã§ç
§ä¼ããã³èªã¿è¾¼ã¿ã¾ããã·ã¹ãã ããã³ããã«èªã¿è¾¼ãã¨ãã³ã³ããã¹ããé·ããªããããå¯è½æ§ãããã¾ãã",configUpdated:"ã·ã¹ãã ããã³ããè¨å®ãæ´æ°ããã¾ãã",configUpdateFailed:"ã·ã¹ãã ããã³ããè¨å®ã®æ´æ°ã«å¤±æãã¾ãã",attribution:"ã¯ã¼ã¯ã¹ãã¼ã¹ã®è¨è¨ã¯OpenClawããã¸ã§ã¯ãã®ä¸é¨ãåèã«ãã¦ãã¾ã â ãããã¨ãï¼ð¾",saveSuccess:"ä¿åãã¾ãã",saveFailed:"ä¿åã«å¤±æãã¾ãã"},pI={title:"ã¹ãã«",description:"ã¨ã¼ã¸ã§ã³ãã®ã¹ãã«ã¨æ©è½ã管çãã¾ãã",preload:"ããªãã¼ã",preloadHint:"æå¹ã«ããã¨ãã¨ã¼ã¸ã§ã³ãããã®ã¹ãã«ãããªãã¼ãããä¼è©±ä¸ã«æ¢ãã¦èªã¿è¾¼ãå¿
è¦ããªããªãã¾ãã",qwenpawManaged:"QwenPaw 管ç",qwenpawManagedHint:"ç·¨éå¯è½ã§ãå®è¡æã«å¯¾å¿ããå¤é¨ã¨ã¼ã¸ã§ã³ãã¸åæ ããã¾ãã",providerManaged:"ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ãã®ã¹ãã«",providerManagedHint:"ç¾å¨ã®ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ãããæ¤åºãããèªã¿åãå°ç¨ã§è¡¨ç¤ºããã¾ãã",providerOnly:"ç¾å¨ã®ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ãã®ã¿",readOnly:"èªã¿åãå°ç¨",noDescription:"説æã¯ããã¾ããã",providerSkillDetails:"ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ã Skill ã®è©³ç´°",providerManagedDetailHint:"ãã® Skill ã¯ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ãã«ãã£ã¦ç®¡çããã¦ãã¾ããQwenPaw ã§ã¯è¡¨ç¤ºããã³ä½¿ç¨ã§ãã¾ããã夿´ã¯ã§ãã¾ããã",provider:"ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ã",scope:"ã¹ã³ã¼ã",statusLabel:"ã¹ãã¼ã¿ã¹",descriptionLabel:"説æ",importHub:"URL ããã¢ãããã¼ã",supportedSources:"対å¿ã½ã¼ã¹ï¼",importSkills:"ã¹ãã«ãã¤ã³ãã¼ã",enterSkillUrl:"ã¹ãã«ã®URLãå
¥å",supportedSkillUrlSources:"ãµãã¼ãããã¦ããã¹ãã«ãã¼ã±ãããã¬ã¤ã¹:",urlExamples:"URLã®ä¾:",urlValid:"{{source}}
168 ããã®æå¹ãª URL",invalidUrl:"ç¡å¹ãª URL",clickToFill:"ã¯ãªãã¯ã㦠URL ãå ¥å",invalidSkillUrlSource:"ãµãã¼ãããã¦ãããã¼ã±ãããã¬ã¤ã¹ã®ã¹ãã«URLã§ãããã¨ã確èªãã¦ãã ãã",type:"ã¿ã¤ã",installedFrom:"ã¤ã³ã¹ãã¼ã«å ",source:"ã½ã¼ã¹",path:"ãã¹",tags:"ã¿ã°",builtin:"çµã¿è¾¼ã¿",custom:"ã«ã¹ã¿ã ",addSkill:"ã¹ãã«ã追å ",createSkill:"ã¹ãã«ã使",viewSkill:"ã¹ãã«ã表示",editSkill:"ã¹ãã«ãç·¨é",skillName:"ã¹ãã«å",skillContent:"ã¹ãã«ã®å 容",pleaseInputName:"ã¹ãã«åãå ¥åãã¦ãã ãã",pleaseInputContent:"ã¹ãã«ã®å 容ãå ¥åãã¦ãã ãã",skillNamePlaceholder:"ä¾: weather_query",contentPlaceholder:`--- 169name: <ã¹ãã«å> (å¿ é ) 170description: <ã¹ãã«ã®èª¬æ> (å¿ é ) 171metadata: { "qwenpaw": { "emoji": "ð§" } } 172--- 173 174ã¹ãã«ã®å®è£ å 容... 175 176# ä¾: 177# --- 178# name: cron 179# description: qwenpawã³ãã³ãçµç±ã§cronã¸ã§ãã管ç - ã¿ã¹ã¯ã®ä½æã»ç §ä¼ã»ä¸æåæ¢ã»åéã»åé¤ 180# metadata: { "qwenpaw": { "emoji": "â°" } } 181# ---`,createSuccess:"ã¹ãã«ã使ãã¾ãã",createFailed:"ã¹ãã«ã®ä½æã«å¤±æãã¾ãã",deleteConfirm:"ãã®ã¹ãã«ãåé¤ãã¦ãããããã§ããï¼",deleteSuccess:"ã¹ãã«ãåé¤ãã¾ãã",deleteFailed:"ã¹ãã«ã®åé¤ã«å¤±æãã¾ãã",batchEnable:"æå¹å",batchDisable:"ç¡å¹å",batchEnableSuccess:"{{count}}åã®ã¹ãã«ãæå¹ã«ãã¾ãã",batchEnablePartial:"{{enabled}}åæå¹åã{{failed}}å失æ",batchEnableFailed:"䏿¬æå¹åã«å¤±æãã¾ãã",batchDisableSuccess:"{{count}}åã®ã¹ãã«ãç¡å¹ã«ãã¾ãã",batchDisablePartial:"{{disabled}}åç¡å¹åã{{failed}}å失æ",batchDisableFailed:"䏿¬ç¡å¹åã«å¤±æãã¾ãã",batchDeleteTitle:"{{count}}åã®ã¹ãã«ãåé¤ãã¾ããï¼",batchDeleteSuccess:"{{count}}åã®ã¹ãã«ãåé¤ãã¾ãã",batchDeletePartial:"{{deleted}}ååé¤ã{{failed}}å失æ",batchDeleteFailed:"䏿¬åé¤ã«å¤±æãã¾ãã",selectedCount:"{{count}}å鏿ä¸",selectAll:"ãã¹ã¦é¸æ",clearSelection:"ã¯ãªã¢",updateSuccess:"ã¹ãã«ãæ´æ°ãã¾ãã",updateFailed:" ã¹ãã«ã®æ´æ°ã«å¤±æãã¾ãã",frontmatterRequired:"ã¹ãã«ã¯ --- ã§å§ã¾ã --- ã§çµããå¿ è¦ãããã¾ã",frontmatterNameRequired:"ã¹ãã«ã«å¿ é ãã£ã¼ã«ããnameããããã¾ãã",frontmatterDescriptionRequired:"ã¹ãã«ã«å¿ é ãã£ã¼ã«ããdescriptionããããã¾ãã",editNotSupported:"ã¹ãã«ã®ç·¨éã«å¤±æãã¾ãã",editNote:"ãã³ã: ããã§ã¹ãã«ã®å 容ããã£ã³ãã«ç¯å²ãè¨å®ãç·¨éã§ãã¾ãã",create:"使",optimizeWithAI:"AIæé©å",stopOptimize:"忢",optimizeSuccess:"ã¹ãã«ãæé©åãã¾ãã",optimizeFailed:"ã¹ãã«ã®æé©åã«å¤±æãã¾ãã",noContentToOptimize:"æé©åããã³ã³ãã³ããããã¾ãã",cancelImport:"ã¤ã³ãã¼ãã䏿¢",importCancelled:"ã¹ãã«ã®ã¤ã³ãã¼ãã䏿¢ãã¾ãã",importTimeout:"ã¹ãã«ã®ã¤ã³ãã¼ããã¿ã¤ã ã¢ã¦ããã¾ãããå試è¡ããããããã¯ã¼ã¯ã確èªãã¦ãã ããã",uploadSkill:"ã¹ãã«ãã¢ãããã¼ã",uploadZip:"Zip ãã¢ãããã¼ã",uploadSuccess:"ã¹ãã«ã®ã¢ãããã¼ãã«æåãã¾ãã",uploadFailed:"ã¹ãã«ã®ã¢ãããã¼ãã«å¤±æãã¾ãã",uploadNoChange:"æ°ããã¹ãã«ã¯ã¤ã³ãã¼ãããã¾ããã§ãããæ¢ã«åå¨ããå¯è½æ§ãããã¾ã",zipOnly:"ã¢ãããã¼ã㯠.zip ãã¡ã¤ã«ã®ã¿å¯¾å¿ãã¦ãã¾ã",fileSizeExceeded:"ãã¡ã¤ã«ãµã¤ãºã{{limit}}MBã®å¶éãè¶ ãã¦ãã¾ããç¾å¨ã®ãã¡ã¤ã«: {{size}}MB",channels:"é©ç¨ãã£ã³ãã«",allChannels:"ãã¹ã¦",lastUpdated:"æ´æ°æ¥æ",searchPlaceholder:"ååã§çµãè¾¼ã¿",listView:"ãªã¹ã表示",gridView:"ã«ã¼ã表示",refreshHint:"ãã£ã¹ã¯ããã¹ãã«ãæ´æ°",poolSync:"åæç¶æ ",uploadedToPool:"ã¹ãã«ãã¼ã«ã«ã¢ãããã¼ããã¾ãã",downloadedToWorkspace:"ç¾å¨ã®ã¯ã¼ã¯ã¹ãã¼ã¹ã«ãã¦ã³ãã¼ããã¾ãã",builtinUpgradeTitle:"ãã«ãã¤ã³ã¹ãã«ã®ã¢ããã°ã¬ã¼ã",builtinUpgradeContent:"ã¹ãã«ãã¼ã«ã«ãã«ãã¤ã³ã¹ãã«ã{{name}}ãã®æ°ãããã¼ã¸ã§ã³ãããã¾ããç¾å¨ã®ãã¼ã¸ã§ã³ã䏿¸ããã¾ããï¼",languageSwitchTitle:"ã¹ãã«è¨èªã®åãæ¿ã",languageSwitchContent:"次ã®ã¹ãã«ã¯ãã¼ã«å ã«ç°ãªãè¨èªãã¼ã¸ã§ã³ãããã䏿¸ãããã¾ã:",overwriteExistingList:"次ã®ã¹ãã«ã¯æ¢ã«åå¨ãã¦ããã䏿¸ãããã¾ã:",nameConflict:"ååã®ç«¶åãæ¤åºããã¾ãããæ¨å¥¨ãããåå夿´ãå ¥åããã¾ããã",uploadToPoolHint:"鏿ããã¯ã¼ã¯ã¹ãã¼ã¹ã¹ãã«ãå ±æãã¼ã«ã«ã¹ãã«ãã¼ã«ã«ã¢ãããã¼ããã¾ã",downloadFromPool:"ã¹ãã«ãã¼ã«ããèªã¿è¾¼ã",uploadToPool:"ã¹ãã«ãã¼ã«ã«åæ",emptyStateBadge:"æ°ããã¯ã¼ã¯ã¹ãã¼ã¹ã¯ç©ºã§å§ã¾ãã¾ã",emptyStateTitle:"ãã®ã¨ã¼ã¸ã§ã³ãã«ã¯ã¾ã ã¹ãã«ãããã¾ãã",emptyStateText:"ããã¯æ£å¸¸ãªç¶æ ã§ããæ°ããã¯ã¼ã¯ã¹ãã¼ã¹ã«ã¯ã¹ãã«ãèªåçã«å«ã¾ãã¦ãã¾ãããã¹ãã«ãã¼ã«ããã¹ãã«ããã¦ã³ãã¼ãããããããã§æ°ããã¹ãã«ã使ãã¦ããã®ã¨ã¼ã¸ã§ã³ããè£ åãã¦ãã ããã",emptyStateDownload:"ã¹ãã«ãã¼ã«ããèªã¿è¾¼ã",emptyStateCreate:"æåã®ã¹ãã«ã使",selectWorkspaceSkill:"ã¯ã¼ã¯ã¹ãã¼ã¹ã¹ãã«ã鏿",selectPoolItem:"ã¹ãã«ãã¼ã«é ç®ã鏿",renameOptional:"åå夿´ï¼ä»»æï¼",renamePlaceholder:"ç«¶åæã«æ¨å¥¨ãããåå夿´ãããã«è¡¨ç¤ºããã¾ã",renameSingleOnly:"åå夿´ã¯ã¹ãã«ã1ã¤ã ã鏿ããå ´åã«ã®ã¿å©ç¨ã§ãã¾ãã",downloadSkillPool:"ã¹ãã«ãã¼ã«ããã¦ã³ãã¼ã",uploadSkillPool:"ã¹ãã«ãã¼ã«ã«ã¢ãããã¼ã",config:"è¨å®",configPlaceholder:'{"KEY": "value"}',configInvalidJson:"ç¡å¹ãª JSON å½¢å¼",configSaved:"è¨å®ãä¿åãã¾ãã",loadFailed:"ã¹ãã«ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",refreshFailed:"ã¹ãã«ã®æ´æ°ã«å¤±æãã¾ãã",createdSuccessfully:"使ãã¾ãã",saveFailed:"ä¿åã«å¤±æãã¾ãã",importFailed:"ã¤ã³ãã¼ãã«å¤±æãã¾ãã",disabledSuccessfully:"ç¡
181å¹åãã¾ãã",enabledSuccessfully:"æå¹åãã¾ãã",operationFailed:"æä½ã«å¤±æãã¾ãã",provideUrl:"ããã¹ãã«ã®URLãå
¥åãã¦ãã ãã",validUrl:"http:// ã¾ã㯠https:// ã§å§ã¾ãæå¹ãªURLãå
¥åãã¦ãã ãã",importedSkill:"ã¹ãã«ãã¤ã³ãã¼ããã¾ãã: {{name}}",batchOperation:"䏿¬æä½",exitBatch:"䏿¬æä½ãçµäº",noSearchResults:"æ¤ç´¢ã«ä¸è´ããã¹ãã«ãè¦ã¤ããã¾ãã",filterByTag:"ã¿ã°ã§çµãè¾¼ã¿",noTags:"å©ç¨å¯è½ãªã¿ã°ãããã¾ãã",enabledSkills:"æå¹ãªã¹ãã«",disabledSkills:"ç¡å¹ãªã¹ãã«",active:"åæå¹"},mI={description:"ãã«ãã¤ã³ã¹ãã«ã¨ã¯ã¼ã¯ã¹ãã¼ã¹ã¢ãããã¼ãç¨ã®å
±æãã¼ã«ã«ã¹ãã«ãã¼ã«ãClawHub ã LobeHub ãªã©ã®å¤é¨ã¤ã³ãã¼ãã¯å¥æ©è½ã§ãã",broadcast:"ããã¼ããã£ã¹ã",broadcastHint:"ã¹ãã«ãã¼ã«ã®ã¹ãã«ãå
¨ã¦ã¾ãã¯é¸æããã¯ã¼ã¯ã¹ãã¼ã¹ã«ããã¼ããã£ã¹ã",refreshHint:"ãã£ã¹ã¯ããã¹ãã«ãã¼ã«ãæ´æ°",deleteExternalConfirm:"å¤é¨ã¹ãã«ã®ãã¡ã¤ã« {{path}} ããã£ã¹ã¯ããåé¤ãã¾ãã",deleteExternalBatchWarning:"鏿ããå¤é¨ã¹ãã«ã¯ãã£ã¹ã¯ããå®å
¨ã«åé¤ããã¾ãã",broadcastTitle:"{{name}} ãããã¼ããã£ã¹ã",automation:"èªåå",builtinAutoUpdate:"èªåæ´æ°",builtinAutoUpdateFlow:"ãã«ãã¤ã³ããã±ã¼ã¸ â ã¹ãã«ãã¼ã«",autoSyncFlow:"ã¹ãã«ãã¼ã« â ã¨ã¼ã¸ã§ã³ãã®ã¯ã¼ã¯ã¹ãã¼ã¹",automationBoth:"èªåæ´æ° + èªååæ",automationMixedHint:"詳細ãéãã¦èªåæ´æ°ã¾ãã¯èªååæãè¨å®ãã¾ãã",automationEnableHint:"èªåæ´æ°ã¨èªååæãæå¹ã«ãã¾ãã",automationDisableHint:"èªåæ´æ°ã¨èªååæãç¡å¹ã«ãã¾ãã",automationEnabled:"{{name}} ã®èªåæ´æ°ã¨èªååæãæå¹ã«ãã¾ãã",automationDisabled:"{{name}} ã®èªåæ´æ°ã¨èªååæãç¡å¹ã«ãã¾ãã",automationFailed:"èªååè¨å®ãæ´æ°ã§ãã¾ããã§ãã",automationNeedsAttention:"ä¿åãã¾ããã{{count}} ä»¶ã¯åä¿¡ãã¬ã¤ã§ç¢ºèªãã¦ãã ããã",autoSync:"èªååæ",autoSyncEnableHint:"èªååæãæå¹ã«ãã¾ãã",autoSyncDisableHint:"èªååæãç¡å¹ã«ãã¾ãã",autoSyncEnabled:"{{name}} ã®èªååæãæå¹ã«ãã¾ãã",autoSyncDisabled:"{{name}} ã®èªååæãç¡å¹ã«ãã¾ãã",autoSyncAgentsPlaceholder:"ãã®ã¹ãã«ããããã¹ã¦ã®ã¨ã¼ã¸ã§ã³ã",autoSyncAgentsHint:"空æ¬ãªãæ¢åã®ã³ãã¼ãåæãã¾ããç¹å®ã®ã¨ã¼ã¸ã§ã³ãã鏿ã§ãã¾ãã",importBuiltin:"ãã«ãã¤ã³ãåãè¾¼ã",importBuiltinHint:"ã½ã¼ã¹ãããã«ãã¤ã³ã¹ãã«ããã¼ã«ã«åãè¾¼ã¿ã¾ã",importBuiltinAlertHint:"{{count}} ä»¶ã®ãã«ãã¤ã³å¤æ´ã確èªãã¦ãã ãã",importBuiltinSuccess:"ãã«ãã¤ã³ãåãè¾¼ã¿ã¾ãã: {{names}}",importBuiltinConflicts:"ååã®ç«¶åã§ã¹ããããã¾ãã: {{names}}",importBuiltinNoChanges:"åãè¾¼ããã«ãã¤ã³å¤æ´ã¯ããã¾ãã",importBuiltinFailed:"ãã«ãã¤ã³ã
181®åãè¾¼ã¿ã«å¤±æãã¾ãã",importBuiltinConflictTitle:"ãã«ãã¤ã³ã®ç«¶åãè¦ã¤ããã¾ãã",importBuiltinConflictContent:"以ä¸ã®ãã«ãã¤ã³ã¯ç¾å¨ã®ãã¼ã«å
ã³ãã¼ã¨ç°ãªãã¾ãã確èªããã¨ã½ã¼ã¹çã§ä¸æ¸ããã¾ãã",sourceVersion:"ã½ã¼ã¹ç",currentVersion:"ç¾å¨ã®ç",builtinLanguage:"è¨èª",langDefault:"ããã©ã«ã",langDefaultTooltip:"åã¹ãã«ã®å
ã®è¨èªè¨å®ãä¿æ",langEn:"è±èª",langZh:"ä¸å½èª",builtinLanguageChangeTitle:"ãã«ãã¤ã³è¨èªãåãæ¿ãã¾ããï¼",builtinLanguageChangeContent:"ãã¼ã«å
ã®ã{{name}}ãã {{language}} çã®ãã«ãã¤ã³ã§ä¸æ¸ããã¾ããï¼",builtinLanguageChangeSuccess:"ã{{name}}ãã {{language}} ã«åãæ¿ãã¾ãã",builtinLanguageChangeFailed:"ãã«ãã¤ã³è¨èªã®åãæ¿ãã«å¤±æãã¾ãã",importStatusMissing:"ãã¼ã«ã«ããã¾ãã",importStatusCurrent:"ææ°ã§ã",importStatusOutdated:"ãã¼ã¸ã§ã³ãå¤ãã§ã",importStatusLanguageSwitchTo:"{{language}}çã§ä¸æ¸ããã¾ã",importStatusConflict:"ç«¶å",builtinNoticeSummary:"{{count}} ä»¶ã®ãã«ãã¤ã³å¤æ´ãè¦ã¤ããã¾ãã",builtinNoticeLineAdded:"追å : {{names}}",builtinNoticeLineMissing:"ä¸è¶³: {{names}}",builtinNoticeLineUpdated:"æ´æ°: {{names}}",builtinNoticeLineRemoved:"åé¤: {{names}}",zipImport:"ZIPã¤ã³ãã¼ã",create:"使",edit:"ç·¨é",delete:"åé¤",descriptionLabel:"説æ",tags:"ã¿ã°",tagsPlaceholder:"ã¿ã°ã鏿ã¾ãã¯å
¥å",filterByTag:"ã¿ã°ã§çµãè¾¼ã",version:"ãã¼ã¸ã§ã³",createTitle:"ã¹ãã«ãã¼ã«é
ç®ã使",editTitle:"{{name}} ãç·¨é",skillNamePlaceholder:"ã¹ãã«å",contentPlaceholder:"SKILL.md ã®å
容",nameConflict:"ååã®ç«¶åãæ¤åºããã¾ãããæ¨å¥¨ãããåå夿´ãé©ç¨ããã¾ããã",deletedFromPool:"ã¹ãã«ãã¼ã«ããåé¤ãã¾ãã",deleteBuiltinConfirm:"ãã®ãã«ãã¤ã³ã¹ãã«ããã¼ã«ããåé¤ãã¾ããå¾ã§ã½ã¼ã¹ããå度åãè¾¼ãã¾ãã",deleteConfirm:"å
±æãã¼ã«ã«ã¹ãã«ãã¼ã«ãããã®ã¹ãã«ãåé¤ãã¾ãã",deleteTitle:"{{name}} ãåé¤ãã¾ããï¼",batchDeleteTitle:"{{count}}åã®ãã¼ã«ã¹ãã«ãåé¤ãã¾ããï¼",batchDeleteSuccess:"{{count}}åã®ãã¼ã«ã¹ãã«ãåé¤ãã¾ãã",batchDeletePartial:"{{deleted}}ååé¤ã{{failed}}å失æ",batchDeleteFailed:"䏿¬åé¤ã«å¤±æãã¾ãã",imported:"ã¤ã³ãã¼ãæ¸ã¿ï¼{{names}}",noNewImports:"æ°ããã¹ãã«ã¯ã¤ã³ãã¼ãããã¾ããã§ãã",allBuiltin:"ãã¹ã¦ã®çµã¿è¾¼ã¿",selectWorkspaces:"ã¯ã¼ã¯ã¹ãã¼ã¹ã«ããã¼ããã£ã¹ã",allWorkspaces:"ãã¹ã¦ã®ã¯ã¼ã¯ã¹ãã¼ã¹",optionalRename:"ä»»æã®åå夿´",back:"æ»ã",skillCount:"{{count}} ã¹ãã«",skillName:"ã¹ãã«å",status:"ç¶æ
",installedFrom:"ã¤ã³ã¹ãã¼ã«å
",updateBuiltin:"æ´æ°",updateConfirmTitle:"{{name}} ãæ´æ°",updateConfirmContent:"ãã¼ã¸ã§ã³ {{version}} ã«æ´æ°ãã¾ããï¼ç¾å¨ã®ãã¼ã«ã³ãã¼ãææ°ã®çµã¿è¾¼ã¿ãã¼ã¸ã§ã³ã«ç½®ãæãããã¾ãã",updateSuccess:"æ´æ°ãã¾ãã",updateFailed:"æ´æ°ã«å¤±æãã¾ãã",broadcastSuccess:"ããã¼ããã£ã¹ããå®äºãã¾ãã",broadcastFailed:"ããã¼ããã£ã¹ãã«å¤±æãã¾ãã",overwriteConfirm:"æ¢åã®ã¹ãã«ã䏿¸ããã¾ããï¼",overwriteTargetsContent:"æ¬¡ã®æ¢åã¿ã¼ã²ããã¯ä¸æ¸ãããã¾ã:",builtinOverwriteTargetsContent:"次ã®ãã«ãã¤ã³ã¿ã¼ã²ããã¯ãã¼ã¸ã§ã³ãç°ãªãããã䏿¸ãããã¾ã:",renameAndRetry:"ååã®ã¹ãã«ãåå¨ãã¾ããæ¨å¥¨åã使ç¨ãã¾ããï¼",multiConflictTitle:"è¤æ°ã®ç«¶åãæ¤åºããã¾ãã",multiConflictDesc:"以ä¸ã®ã¹ãã«ã¯æ¢ã«åå¨ãã¾ããç«¶åãåå¥ã«è§£æ±ºãã¦ããå試è¡ãã¦ãã ããï¼",singleConflictRename:'"{{name}}" ã¯æ¢ã«åå¨ãã¾ãã"{{suggested}}" ã«ãªãã¼ã ãã¦ç¶è¡ãã¾ããï¼',statusUpToDate:"ææ°",statusSynced:"åææ¸ã¿",statusOutdated:"å¤ãã§ã",statusNotSynced:"æªåæ",statusConflict:"ç«¶å",renameEntry:'"{{name}}" ã®æ°ããååï¼',builtin:"çµã¿è¾¼ã¿",custom:"ã«ã¹ã¿ã "},hI={title:"MCPã¯ã©ã¤ã¢ã³ã",qwenpawManaged:"QwenPaw 管ç",qwenpawManagedHint:"çµ±åã³ã³ããã¼ã«ãã¬ã¼ã³ã§ç®¡çãã対å¿ã
181ããµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ãã¸å®è¡æã«æ³¨å
¥ãã¾ãã",providerManaged:"{{provider}} ãã¼ã«ã« MCP",providerManagedHint:"ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ãåºæã®è¨å®ããæ¤åºããã¾ããèªã¿åãå°ç¨ã§ããã®ã¨ã¼ã¸ã§ã³ãã ãã§ä½¿ç¨ã§ãã¾ãã",providerOnly:"ãµã¼ããã¼ãã£ã¨ã¼ã¸ã§ã³ãéå®",readOnly:"èªã¿åãå°ç¨",create:"ã¯ã©ã¤ã¢ã³ãã使",formatSupport:"ãµãã¼ãããã¦ãããã©ã¼ããã",standardFormat:"æ¨æºï¼mcpServers ã§ã©ããï¼",directFormat:"ç´æ¥ï¼ãã¼ â è¨å®ãªãã¸ã§ã¯ãï¼",singleFormat:"åä¸ã¯ã©ã¤ã¢ã³ãï¼ãã©ãããªãã£ã¼ã«ãï¼",emptyState:"MCPã¯ã©ã¤ã¢ã³ããã¾ã è¨å®ããã¦ãã¾ãã",loadError:"MCPã¯ã©ã¤ã¢ã³ãã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",createSuccess:"MCPã¯ã©ã¤ã¢ã³ãã使ãã¾ãã",createError:"MCPã¯ã©ã¤ã¢ã³ãã®ä½æã«å¤±æãã¾ãã",updateSuccess:"MCPã¯ã©ã¤ã¢ã³ããæ´æ°ãã¾ãã",updateError:"MCPã¯ã©ã¤ã¢ã³ãã®æ´æ°ã«å¤±æãã¾ãã",enableSuccess:"MCPã¯ã©ã¤ã¢ã³ããæå¹åãã¾ãã",disableSuccess:"MCPã¯ã©ã¤ã¢ã³ããç¡å¹åãã¾ãã",toggleError:"MCPã¯ã©ã¤ã¢ã³ãã®ã¹ãã¼ã¿ã¹å¤æ´ã«å¤±æãã¾ãã",deleteConfirm:"ãã®MCPã¯ã©ã¤ã¢ã³ããåé¤ãã¦ãããããã§ããï¼",deleteSuccess:"MCPã¯ã©ã¤ã¢ã³ããåé¤ãã¾ãã",deleteError:"MCPã¯ã©ã¤ã¢ã³ãã®åé¤ã«å¤±æãã¾ãã",maskedFieldHint:"æ©å¯ãã£ã¼ã«ã㯠*** ã§ãã¹ã¯ããã¦ãã¾ãããã¹ã¯å¤ã®ç´æ¥ç·¨éã¯ã§ãã¾ããã夿´ããã«ã¯å®å
¨ãªæ°ããå¤ã«ç½®ãæãã¦ãã ããã",tools:"ãã¼ã«&権é",noTools:"ãã®MCPãµã¼ãã¼ã«ã¯å©ç¨å¯è½ãªãã¼ã«ãããã¾ãã",toolsLoadError:"MCPãµã¼ãã¼ãããã¼ã«ä¸è¦§ã®åå¾ã«å¤±æãã¾ãã",toolsConnecting:"MCPãµã¼ãã¼ã«æ¥ç¶ä¸ã§ãããã°ãããã¦ããå度ã試ããã ãã",toolSchema:"å
¥åã¹ãã¼ã",access:{title:"ã¢ã¯ã»ã¹",button:"ã¢ã¯ã»ã¹",summary:"MCPã¢ã¯ã»ã¹ããªã·ã¼",clientSection:"å
¨ä½ã¢ã¯ã»ã¹",toolSection:"ãã¼ã«ã¢ã¯ã»ã¹",default:"ããã©ã«ã",sourceType:"ã½ã¼ã¹",sourceValue:"ã½ã¼ã¹å¤",sourceValueAllChannels:"ãã¹ã¦ã®ãã£ã³ãã«",subjectType:"対象",subjectValue:"対象å¤",effectLabel:"ããªã·ã¼",source:{channel:"ãã£ã³ãã«"},subjectTypeOption:{all:"ãã¹ã¦",user:"ã¦ã¼ã¶ã¼"},sourceValuePlaceholder:{channel:"console / dingtalk"},subjectValuePlaceholder:"ä¾: alice",subjectValuePlaceholderSelectedSource:"鏿ããã½ã¼ã¹å
ã®ã¦ã¼ã¶ã¼ID",subjectValuePlaceholderScoped:"{{source}} ã®ã¦ã¼ã¶ã¼ID",subjectValueAll:"ãã¹ã¦",recentUserPlaceholder:"ã¦ã¼ã¶ã¼IDã¯é¸æããã½ã¼ã¹å
ã§æå¹ã§ããåå
¥åã¾ãã¯é¸æãã¦ãã ãã",noRecentUsers:"ãã®ã½ã¼ã¹ã«æè¿ã®ã¦ã¼ã¶ã¼ã¯ãã¾ãããã¦ã¼ã¶ã¼IDãæå
¥åã§ãã¾ã",ambiguousUserSourceWarning:"ã¦ã¼ã¶ã¼IDã¯ã½ã¼ã¹å
ã§ã®ã¿ä¸æã§ãããã£ã³ãã«ãæå®ãã¦ãå¥ãã£ã³ãã«ã®ã¦ã¼ã¶ã¼ã¨èª¤ã£ã¦ä¸è´ããªãããã«ãã¦ãã ããã",unknownUserValueWarning:"ãã®ã¦ã¼ã¶ã¼IDã¯æè¿ã®ã¢ã¯ãã£ãã¦ã¼ã¶ã¼ã«ããã¾ãããä¿åã¯å¯è½ã§ãã",validation:{missingUserValue:"å
·ä½çãªã½ã¼ã¹ã鏿ããæå¹ãªã¦ã¼ã¶ã¼IDãå
¥åãã¦ãã ããã",ambiguousUserSource:"ã¦ã¼ã¶ã¼ã«ã¼ã«ã¯ããã¹ã¦ã®ãã£ã³ãã«ã§ã¯ãªãç¹å®ã®ãã£ã³ãã«ã対象ã«ãã¦ãã ããã",unknownUserValue:"ãã®ã¦ã¼ã¶ã¼IDã¯æè¿ã®ã¢ã¯ãã£ãã¦ã¼ã¶ã¼ã«ããã¾ãããä¿åã¯å¯è½ã§ãã"},addRule:"ã«ã¼ã«ã追å ",deleteRule:"ã«ã¼ã«ãåé¤",noClientRules:"ã«ã¼ã«ãªã",noRules:"ã«ã¼ã«ãªããããã©ã«ãããªã·ã¼ã使ç¨ãã¾ã",inherit:"ç¶æ¿ï¼{{effect}}ï¼",stale:"è¦ã¤ããã¾ãã",disabledTools:"ãã®MCPã¯ã©ã¤ã¢ã³ãã¯ç¡å¹ã§ããä¿åæ¸ã¿ã®ã¢ã¯ã»ã¹ã«ã¼ã«ã¯å¼ãç¶ãç·¨éã§ãã¾ãã",discardTitle:"æªä¿åã®å¤æ´ãç ´æ£ãã¾ããï¼",discardContent:"æªä¿åã®ã¢ã¯ã»ã¹ããªã·ã¼å¤æ´ã¯å¤±ããã¾ãã",loadError:"MCPã¢ã¯ã»ã¹ããªã·ã¼ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",saveSuccess:"MCPã¢ã¯ã»ã¹ããªã·ã¼ãä¿åãã¾ãã",saveError:"MCPã¢ã¯ã»ã¹ããªã·ã¼ã®ä¿åã«å¤±æãã¾ãã",unmanagedRules:"{{count}} ä»¶ã®è©³ç´°ã«ã¼ã«",effect:{allow:"許å¯",ask:"確èª",deny:"æå¦"}},tab:{json:"JSONã¤ã³ãã¼ã",form:"ãã©ã¼ã ã¢ã¼ã"},form:{key:"ã¯ã©ã¤ã¢ã³ããã¼",keyPlaceholder:"my-mcp-server",keyRequired:"ã¯ã©ã¤ã¢ã³ããã¼ã¯å¿
é ã§ã",name:"表示å",namePlaceholder:"My MCP Server",n
181ameRequired:"表示åã¯å¿
é ã§ã",transport:"ãã©ã³ã¹ãã¼ã",url:"ãµã¼ãã¼URL",urlRequired:"ãªã¢ã¼ãMCPãµã¼ãã¼ã«ã¯URLãå¿
è¦ã§ã",command:"ã³ãã³ã",commandRequired:"stdioãã©ã³ã¹ãã¼ãã«ã¯ã³ãã³ããå¿
è¦ã§ã",args:"弿°ï¼ã¹ãã¼ã¹ã¾ãã¯æ¹è¡åºåãï¼",description:"説æ",descriptionPlaceholder:"ä»»æã®èª¬æ",env:"ç°å¢å¤æ°",envPlaceholder:"KEY=VALUEï¼1è¡ã«1ã¤ï¼"},oauth:{enableOAuth:"OAuth èªè¨¼ã使ç¨ãã",manage:"OAuth",authorized:"èªè¨¼æ¸ã¿",notAuthorized:"æªèªè¨¼",expired:"ãã¼ã¯ã³æéåã",failed:"èªè¨¼å¤±æ",waiting:"èªè¨¼å¾
ã¡...",authorize:"èªè¨¼ãã",reauthorize:"åèªè¨¼ãã",revoke:"åãæ¶ã",startFailed:"OAuthããã¼ã®éå§ã«å¤±æãã¾ãã",authFailed:"OAuthèªè¨¼ã«å¤±æãã¾ãã",popupBlocked:"ãããã¢ããããã©ã¦ã¶ã«ãããã¯ããã¾ããã許å¯ãã¦ããå試è¡ãã¦ãã ããã",windowClosed:"èªè¨¼ã¦ã£ã³ãã¦ãéãããã¾ãããå試è¡ãã¦ãã ããã",noUrl:"å
ã«ãµã¼ãã¼URLãå
¥åãã¦ãã ãã",noClientKey:"å
ã«ã¯ã©ã¤ã¢ã³ãã使ãã¦ãã ãã",showAdvanced:"詳細ãªãã·ã§ã³",hideAdvanced:"詳細ãªãã·ã§ã³ãé ã",clientId:"Client IDï¼ä»»æï¼",clientIdPlaceholder:"空ç½ã®ã¾ã¾ã§åçã¯ã©ã¤ã¢ã³ãç»é²ã使ç¨",scope:"Scopeï¼ä»»æï¼",scopePlaceholder:"openid profile email",authEndpoint:"Authorization Endpointï¼ä¸æ¸ãï¼",tokenEndpoint:"Token Endpointï¼ä¸æ¸ãï¼",endpointHint:"空ç½ã®ã¾ã¾ã«ããã¨MCPãµã¼ãã¼ããèªåæ¤åºããã¾ãã"}},gI={title:"ãã¼ããã¼ã",description:"ä¸å®ééã§HEARTBEAT.mdãå®è¡ãã¦ã»ã«ããã§ãã¯ãè¡ãã¾ããããã©ã«ãã§ã¯ç¾å¨ã®ä¼è©±ã«å½±é¿ãä¸ãããµã¤ã¬ã³ãã«åä½ãã¾ããããªãã·ã§ã³ã§æå¾ã®ãã£ãããã£ã³ãã«ã«è¿ä¿¡ãéããã¨ãã§ãã¾ãã",enabled:"ãã¼ããã¼ããæå¹å",every:"éé",everyRequired:"å¿
é ",everyMin:"1以ä¸ã®å¤ãå¿
è¦ã§ã",timeoutSeconds:"å®è¡ã¿ã¤ã ã¢ã¦ãï¼ç§ï¼",timeoutRequired:"å¿
é ",timeoutMin:"1以ä¸ã®å¤ãå¿
è¦ã§ã",timeoutMax:"3600以ä¸ã®å¤ãå¿
è¦ã§ã",unitMinutes:"å",unitHours:"æé",target:"è¿ä¿¡å
",targetMain:"ãµã¤ã¬ã³ãã¢ã¼ãï¼ããã©ã«ãããã£ã³ãã«åºåãªãï¼",targetLast:"æå¾ã®ãã£ãããã£ã³ãã«ã«éä¿¡",activeHours:"稼åæéï¼ä»»æï¼",activeStart:"éå§æå»",activeEnd:"çµäºæå»",loadFailed:"ãã¼ããã¼ãè¨å®ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",saveSuccess:"ä¿åãã¾ããããã¼ããã¼ããããããªãã¼ããã¾ãã",saveFailed:"ãã¼ããã¼ãè¨å®ã®ä¿åã«å¤±æãã¾ãã",targetInbox:"åä¿¡ãã¬ã¤ã«éä¿¡",runNow:"ä»ããå®è¡",runNowSuccess:"ãã¼ããã¼ããå®è¡ãã¾ãããåä¿¡ãã¬ã¤ã¾ãã¯éä¿¡å
ãã£ã³ãã«ã確èªãã¦ãã ããã",runNowFailed:"ãã¼ããã¼ãã®å®è¡ã«å¤±æãã¾ãã"},fI={title:"宿å®è¡",description:"æå®ããæå»ã«èªåå®è¡ãããã¹ã±ã¸ã¥ã¼ã«ã¿ã¹ã¯ã使ã»ç®¡çãã¾ãã",createJob:"ã¸ã§ãã使",editJob:"ã¸ã§ããç·¨é",confirmDelete:"åé¤ã®ç¢ºèª",deleteConfirm:"ãã®å®æå®è¡ã¸ã§ããåé¤ãã¦ãããããã§ããï¼",okText:"OK",cancelText:"ãã£ã³ã»ã«",deleteText:"åé¤",id:"ã¸ã§ãID",name:"ã¸ã§ãå",enabled:"ã¹ãã¼ã¿ã¹",scheduleType:"ã¹ã±ã¸ã¥ã¼ã«ã¿ã¤ã",scheduleCron:"ã¹ã±ã¸ã¥ã¼ã«ï¼Cronï¼",scheduleCronLabel:"ã¹ã±ã¸ã¥ã¼ã«ï¼Cronï¼",scheduleTimezone:"ã¿ã¤ã ã¾ã¼ã³",cronType:"é »åº¦",cronTypeHourly:"æ¯æ",cronTypeDaily:"æ¯æ¥",cronTypeWeekly:"æ¯é±",cronTypeCustom:"ã«ã¹ã¿ã ",cronTime:"æå»",cronDaysOfWeek:"ææ¥",cronDayMon:"æææ¥",cronDayTue:"ç«ææ¥",cronDayWed:"æ°´ææ¥",cronDayThu:"æ¨ææ¥",cronDayFri:"éææ¥",cronDaySat:"åææ¥",cronDaySun:"æ¥ææ¥",cronCustomExpression:"Cronå¼",taskText:"ã¡ãã»ã¼ã¸å
容",action:"æä½",disable:"ç¡å¹å",executeNow:"ä»ããå®è¡",edit:"ç·¨é",delete:"åé¤",totalItems:"åè¨ {{count}} ä»¶",perPage:"ä»¶/ãã¼ã¸",pleaseInputId:"ã¸ã§ãIDãå
¥åãã¦ãã ãã",pleaseInputName:"ã¸ã§ãåãå
¥åãã¦ãã ãã",pleaseInputCron:"Cronå¼ãå
¥åãã¦ãã ãã",pleaseSelectTaskType:"ã¿ã¹ã¯ã¿ã¤ãã鏿ãã¦ãã ãã",pleaseInputRequest:"ãªã¯ã¨ã¹ãå
容ãå
¥åãã¦ãã ãã",pleaseInputMessageContent:"ã¡ãã»ã¼ã¸å
容ãå
¥åãã¦ãã ãã",pleaseInputChannel:"対象ãã£ã³ãã«ãå
¥åãã¦ãã ãã",pleaseInputUserId:"対象ã¦ã¼ã¶ã¼IDãå
¥åãã¦ãã ãã",pleaseInputSessionId:"対象ã»ãã·ã§ã³IDãå
¥åãã¦ãã ãã",jobIdPlaceholder:"ä¾
181: daily-report-job",jobNamePlaceholder:"ä¾: æ¯æã®æ¥å ±",selectTimezone:"ã¿ã¤ã ã¾ã¼ã³ã鏿",taskDescriptionPlaceholder:"ããã¹ãã¿ã¹ã¯ã®å ´åã¯éä¿¡ããæ¬æãå
¥å...",invalidJsonFormat:"JSONãã©ã¼ãããã䏿£ã§ã",jsonFormatRequired:"JSONãã©ã¼ããããå¿
è¦ã§ã",taskType:"ã¿ã¹ã¯ã¿ã¤ã",text:"ã¡ãã»ã¼ã¸å
容",requestInput:"ãªã¯ã¨ã¹ãå
容",requestSessionId:"ãªã¯ã¨ã¹ãã»ãã·ã§ã³ID",requestUserId:"ãªã¯ã¨ã¹ãã¦ã¼ã¶ã¼ID",dispatchChannel:"対象ãã£ã³ãã«",dispatchTargetUserId:"対象ã¦ã¼ã¶ã¼ID",dispatchTargetSessionId:"対象ã»ãã·ã§ã³ID",dispatchMode:"é
ä¿¡ã¢ã¼ã",silentDelivery:"ãµã¤ã¬ã³ãé
ä¿¡",runtimeShareSession:"ã»ãã·ã§ã³å
±æ",runtimeMaxConcurrency:"æå¤§åæå®è¡æ°",runtimeTimeoutSeconds:"ã¿ã¤ã ã¢ã¦ãï¼ç§ï¼",runtimeMisfireGraceSeconds:"é
延許容æéï¼ç§ï¼",runtimeToolSafety:"ãã¼ã«æ¿èªãã§ãã¯",idTooltip:"ã¿ã¹ã¯ã®ä½ææã«ã·ã¹ãã ã«ãã£ã¦çæãããç·¨éä¸å¯ã®ä¸æã®UUIDã",nameTooltip:"ãã®ã¸ã§ããèå¥ããããã®ããããããååã",cronTooltip:"ã¿ã¹ã¯ã®å®è¡ã¿ã¤ãã³ã°ãå®ç¾©ãã¾ã",cronExample:"ãã使ãä¾: '0 9 * * *' = æ¯æ¥9æ | '*/30 * * * *' = 30åã㨠| '0 */2 * * *' = 2æéã㨠| '0 0 * * 0' = æ¥æ0æ",cronHelper:"Cronå¼ã«æ
£ãã¦ãã¾ãããï¼",cronHelperLink:"ãªã³ã©ã¤ã³ã¸ã§ãã¬ã¼ã¿ã¼ã使ã",timezoneTooltip:"Cronã¹ã±ã¸ã¥ã¼ã«ã®ã¿ã¤ã ã¾ã¼ã³ãããã©ã«ã: UTC",taskTypeTooltip:"ã·ã³ãã«ãªã¡ãã»ã¼ã¸ã¿ã¹ã¯ã«ã¯ãããã¹ããããè¤éãªã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ããã¼ã«ã¯ãã¨ã¼ã¸ã§ã³ããã鏿ãã¦ãã ããã",textTooltip:"ã·ã³ãã«ãªã¡ãã»ã¼ã¸ã¿ã¹ã¯ï¼å®éã«éãæ¬æã§ããã¿ã¹ã¯ã¿ã¤ãããtextãã®ã¨ãå¿
é ã§ãã",requestInputTooltip:"JSONå½¢å¼ã®ã¡ãã»ã¼ã¸å
容ãã¨ã¼ã¸ã§ã³ããåãåã£ã¦å¦çããå
容ã§ããã¿ã¹ã¯ã¿ã¤ãããagentãã®ã¨ãå¿
é ã§ãã",requestInputExample:'ãã©ã¼ããã: [{"role":"user","content":[{"type":"text","text":"ããã«ã¡ãã»ã¼ã¸ãå
¥å"}]}]',requestSessionIdTooltip:"ãªã¯ã¨ã¹ãã³ã³ããã¹ãã®ã»ãã·ã§ã³IDã䏿ãªå ´åã¯ãdefaultãã使ç¨ãã¦ãã ããã",requestUserIdTooltip:"ãªã¯ã¨ã¹ããéå§ããã¦ã¼ã¶ã¼IDãèªåã¿ã¹ã¯ã«ã¯ãsystemãã使ç¨ãã¦ãã ããã",dispatchChannelTooltip:"ã¬ã¹ãã³ã¹ãéä¿¡ãã対象ãã£ã³ãã«ï¼ä¾: 'console', 'discord', 'imessage'ï¼ã",dispatchTargetUserIdTooltip:"対象ãã£ã³ãã«ã§ã¬ã¹ãã³ã¹ãåãåãã¦ã¼ã¶ã¼IDã",dispatchTargetSessionIdTooltip:"対象ãã£ã³ãã«ã§ã¬ã¹ãã³ã¹ãå±ããã»ãã·ã§ã³IDã",dispatchModeTooltip:"ãªã¢ã«ã¿ã¤ã å¿çã«ã¯ãã¹ããªã¼ã ãããå®äºå¾ã®å¿çã«ã¯ããã¡ã¤ãã«ãã鏿ãã¦ãã ããã",silentDeliveryTooltip:"ã¨ã¼ã¸ã§ã³ãã¿ã¹ã¯ãå®è¡ãã¦ã»ãã·ã§ã³ã¨ãã¬ã¼ã¹ãä¿æãã¾ãããçµæã¯ãã£ã³ãã«ã«éä¿¡ãã¾ããã",shareSessionTooltip:"æå¹ã«ããã¨ã対象ã¦ã¼ã¶ã¼ã¨ã»ãã·ã§ã³ãå
±æãã¾ããç¡å¹ã«ããã¨ãå®è¡ãã¨ã«ä¸æã®IDã§ç¬ç«ããã³ã³ããã¹ãã使ãã¾ããå±¥æ´ãå¿
è¦ã¨ããªãç¬ç«ããã¿ã¹ã¯ã«é©ãã¦ãã¾ããããã©ã«ã: æå¹",maxConcurrencyTooltip:"ãã®ã¸ã§ãã®æå¤§åæå®è¡æ°ãããã©ã«ã: 1",timeoutSecondsTooltip:"æå¤§å®è¡æéï¼ç§ï¼ãè¶
éããã¨ã¸ã§ããçµäºãã¾ãã",misfireGraceSecondsTooltip:"å®è¡æ¼ãã®è¨±å®¹æéãã¹ã±ã¸ã¥ã¼ã«æå»ããã®æé以ä¸éããå ´åã¯å®è¡ããã¾ããã",toolSafetyTooltip:"æå¹ã«ããã¨ããªã¹ã¯ã®é«ããã¼ã«å¼ã³åºãã«ã¦ã¼ã¶ã¼æ¿èªãå¿
è¦ã§ãï¼ç¡äººã®cronã¸ã§ãããããã¯ããå¯è½æ§ãããã¾ãï¼ãç¡å¹ã«ããã¨ããã¼ã«å¼ã³åºãã§ã¯æ¿èªãæ±ãã¾ãããããã¡ã¤ã«ä¿è·ã«ã¼ã«ã¯å¼ãç¶ãé©ç¨ããã¾ããããã©ã«ãï¼ç¡å¹",executeNowTitle:"ã¿ã¹ã¯ãä»ããå®è¡",executeNowContent:'"{{name}}" ãä»ããå®è¡ãã¦ãããããã§ããï¼',executeNowConfirm:"ä»ããå®è¡",createFromTemplate:"ãã³ãã¬ã¼ããã使",templateModalTitle:"ã¿ã¹ã¯ãã³ãã¬ã¼ãã鏿",templateModalDescription:"å
èµãã³ãã¬ã¼ããé¸ã³ãä¿ååã«ä¸»è¦ãã©ã¡ã¼ã¿ã調æ´ãã¾ãã",useTemplate:"ãã®ãã³ãã¬ã¼ãã使ç¨",templateTagPersonal:"å人",templateTagTeam:"ãã¼ã ",templateTagReminder:"ãªãã¤ã³ãã¼",templateTagCalendar:"ã«ã¬ã³ãã¼",templateTagCalendarRecommended:"ã«ã¬ã³ãã¼æ¨å¥¨",saveResultToInbox:"å®è¡çµæãåä¿¡ãã¬ã¤ã«ä¿å",saveResultToInboxTooltip:"æå¹æãå®è¡ã¨é
ä¿¡ãæåããçµæãåä¿¡ãã¬ã¤ã«ä¿åãã¾ããé
信失ææã¯ãã©ã¼ã«ããã¯ã¨ãã¦å¿
ãåä¿¡ãã¬ã¤ã«è¨é²ããã¾ãã",scheduleFilterAll:"ãã¹ã¦ã®ã¹ã±ã¸ã¥ã¼ã«ç¨®å¥",scheduleTypeRecurring:"ç¹°ãè¿ã",scheduleTypeOnce
181:"æ¥ç¨",onceRunAt:"å®è¡æ¥æ",repeatEnabled:"ç¹°ãè¿ãå®è¡",repeatEnabledTooltip:"ãã®éå§æå»ãã宿å®è¡ãæå¹åãã¾ã",repeatFrequency:"ç¹°ãè¿ãé »åº¦",repeatEveryDays:"ç¹°ãè¿ãééï¼æ¥ï¼",repeatEveryPrefix:"æ¯",repeatEverySuffix:"æ¥",repeatEndType:"çµäºæ¡ä»¶",repeatEndNever:"çµäºããªã",repeatEndUntil:"æ¥æã§çµäº",repeatEndCount:"åæ°ã§çµäº",repeatUntil:"çµäºæ¥æ",repeatCount:"å®è¡åæ°",pleaseSelectScheduleType:"ã¹ã±ã¸ã¥ã¼ã«ç¨®å¥ã鏿ãã¦ãã ãã",pleaseInputRunAt:"å®è¡æ¥æã鏿ãã¦ãã ãã",pleaseInputRepeatEveryDays:"ç¹°ãè¿ãééï¼æ¥ï¼ãå
¥åãã¦ãã ãã",pleaseSelectRepeatEndType:"çµäºæ¡ä»¶ã鏿ãã¦ãã ãã",pleaseInputRepeatUntil:"çµäºæ¥æã鏿ãã¦ãã ãã",pleaseInputRepeatCount:"å®è¡åæ°ãå
¥åãã¦ãã ãã",validation:{cronRequired:"ç¹°ãè¿ãã¹ã±ã¸ã¥ã¼ã«ã«ã¯ Cron å¼ãå¿
è¦ã§ãã",runAtRequired:"åçºã¹ã±ã¸ã¥ã¼ã«ã«ã¯å®è¡æ¥æãå¿
è¦ã§ãã",repeatUntilRequired:"ãæ¥æã§çµäºãã鏿ããå ´åã¯çµäºæ¥æãå¿
è¦ã§ãã",repeatCountRequired:"ãåæ°ã§çµäºãã鏿ããå ´åã¯å®è¡åæ°ãå¿
è¦ã§ãã",repeatUntilAfterRunAt:"çµäºæ¥æã¯å®è¡æ¥æããå¾ã§ããå¿
è¦ãããã¾ããå®è¡æ¥æããå¾ã®æ¥æãæå®ãã¦ãã ããã",textRequired:"ã¿ã¹ã¯ã¿ã¤ãã text ã®å ´åãã¡ãã»ã¼ã¸å
容ã¯å¿
é ã§ãã",requestRequired:"ã¿ã¹ã¯ã¿ã¤ãã agent ã®å ´åããªã¯ã¨ã¹ãå
容ã¯å¿
é ã§ãã",invalidCronExpression:"Cron å¼ã䏿£ã§ãã5 ãã£ã¼ã«ãå½¢å¼ã使ç¨ãã¦ãã ããã"},listView:"ãªã¹ã表示",calendarView:"ã«ã¬ã³ãã¼è¡¨ç¤º",calendarEmptyHint:"Scheduled ã¿ã¹ã¯ã¯ã¾ã ããã¾ããã使ããã¨ã«ã¬ã³ãã¼ã«è¡¨ç¤ºããã¾ãã",calendarMoreItems:"ä» {{count}} ä»¶",calendarDayListTitle:"{{date}} ã® Scheduled ã¿ã¹ã¯",executionHistory:"å®è¡å±¥æ´",historyTitle:"å®è¡å±¥æ´ - {{name}}",historyEmpty:"å®è¡å±¥æ´ã¯ã¾ã ããã¾ããã",historyStatusSuccess:"æå",historyStatusFailed:"失æ",historyStatusRunning:"å®è¡ä¸",historyStatusCancelled:"ãã£ã³ã»ã«",historyTriggerScheduled:"ã¹ã±ã¸ã¥ã¼ã«å®è¡",historyTriggerManual:"æåå®è¡",historyExpand:"å±é",historyCollapse:"æãããã",templates:{dailyTechNewsBrief:{title:"å¹³æ¥ããã¯ãã¥ã¼ã¹è¦ç´",description:"å¹³æ¥ 09:30 ã«æ³¨ç®ã®æè¡ãã¥ã¼ã¹ãçãè¦ç´ãã¦é
ä¿¡ãã¾ãã",frequency:"å¹³æ¥ 09:30 (30 9 * * 1-5)"},dailyEveningReflection:{title:"æ¯æ¥å¤ã®æ¯ãè¿ã",description:"å¹³æ¥ 20:00 ã«å½æ¥ã®æ¯ãè¿ããä¿ãã¾ãã",frequency:"å¹³æ¥ 20:00 (0 20 * * 1-5)"},weekendRelaxationReminder:{title:"鱿«ãªã©ãã¯ã¹éç¥",description:"鱿«æã«ããããæ ç»ãé
ä¿¡ãã¾ãã",frequency:"鱿« 10:00 (0 10 * * 6,0)"},pomodoroBreakReminder:{title:"ãã¢ãã¼ã伿©ãªãã¤ã³ãã¼",description:"æ¥åæéä¸ã« 25 åãã¨ã«ä¼æ©ã¨æ°´åè£çµ¦ãä¿ãã¾ãã",frequency:"å¹³æ¥ 09:00-17:59ã25 åã㨠(*/25 9-17 * * 1-5)"},petCareReminder:{title:"ãããã±ã¢ãªãã¤ã³ãã¼",description:"æ¯æ15æ¥å¤ã«é§è«ã»ã¯ã¯ãã³ç¢ºèªãéç¥ãã¾ãã",frequency:"æ¯æ15æ¥ 20:00 (0 20 15 * *)"},onceTextBirthdayReminder:{title:"èªçæ¥ãªãã¤ã³ãã¼",description:"xx ã 1æ1æ¥ã«èªçæ¥ã§ãããã¨ãéç¥ãã¾ãã",frequency:"å®è¡æå»ï¼2026-01-01 09:00"},onceAgentBusinessTripPrep:{title:"åºå¼µåã®æºå",description:"ç®çå°ã®å¤©æ°ã確èªããåºå¼µæºåã®ææ¡ãè¡ãã¾ãã",frequency:"å®è¡æå»ï¼2026-01-01 20:00"},repeatCountTextMedicineReminder:{title:"æè¬ãªãã¤ã³ãã¼ï¼14åï¼",description:"14åã®çç¨ã§ãæéã©ããã®æè¬ãéç¥ãã¾ãã",frequency:"ååï¼2026-01-01 09:00ï½1æ¥ãã¨ï½14å"},repeatCountAgentDietPlan:{title:"14æ¥éã®é£äºãã©ã³",description:"14æ¥éãæ¯æ¥ã®é£äºææ¡ãçæãã¦éä¿¡ãã¾ãã",frequency:"ååï¼2026-01-01 08:00ï½1æ¥ãã¨ï½14å"},repeatUntilTextWeeklyMeeting:{title:"2ãæéã®é±æ¬¡ä¼è°ãªãã¤ã³ãã¼",description:"è¨å®ããç· åã¾ã§æ¯é±ãä¼è°åå ãéç¥ãã¾ãã",frequency:"ååï¼2026-01-02 08:45ï½7æ¥ãã¨ï½2026-03-01ã¾ã§"},repeatUntilAgentWeeklySummary:{title:"ä¼è°åã®é±æ¬¡ãµããªã¼",description:"æ¯é±ä¼è°åã«ãç´è¿1é±éã® memory ã
181ãã¨ã«æ¥åãµããªã¼ãçæãã¾ãã",frequency:"ååï¼2026-01-02 08:30ï½7æ¥ãã¨ï½2026-03-01ã¾ã§"}}},bI=JSON.parse('{"title":"ãã£ã³ãã«","description":"ã¡ãã»ã¼ã¸ãã£ã³ãã«ã®ç®¡çã¨è¨å®","loading":"ãã£ã³ãã«ãèªã¿è¾¼ã¿ä¸...","configSaved":"è¨å®ãä¿åãã¾ãã","configFailed":"è¨å®ã®ä¿åã«å¤±æãã¾ãã","botConflictTitle":"Bot ã¯ãã§ã«ä½¿ç¨ããã¦ãã¾ã","botConflictDescription":"ãã® Bot ã¯åããã£ã³ãã«ã§ {{agents}} ã«ãã£ã¦ä½¿ç¨ããã¦ãã¾ãããã®ã¾ã¾ä¿åããã¨ã¡ãã»ã¼ã¸ãç«¶åããå¯è½æ§ãããã¾ãã","botConflictConfirm":"ãã®ã¾ã¾ä¿å","channelType":"ãã£ã³ãã«ã¿ã¤ã","status":"ã¹ãã¼ã¿ã¹","totalItems":"åè¨ {{count}} ä»¶","botPrefix":"Botãã¬ãã£ãã¯ã¹","showToolCalls":"ãã¼ã«å¼ã³åºãæ
å ±ã表示","showToolCallsTooltip":"ãã¼ã«å¼ã³åºãæ
å ±ãã¦ã¼ã¶ã¼ã«è¡¨ç¤ºãã¾ãï¼ãªãã«ããã¨é表示ï¼","showToolResults":"ãã¼ã«çµææ
å ±ã表示","showToolResultsTooltip":"ãã¼ã«çµææ
å ±ãã¦ã¼ã¶ã¼ã«è¡¨ç¤ºãã¾ãï¼ãªãã«ããã¨é表示ï¼","toolCallMaxLength":"ãã¼ã«å¼ã³åºãã®æå¤§è¡¨ç¤ºé·","toolResultMaxLength":"ãã¼ã«çµæã®æå¤§è¡¨ç¤ºé·","toolMaxLengthTooltip":"0 ã«è¨å®ããã¨çç¥ãã¾ãã","onebotMediaBase64":"ãã¼ã«ã«ã¡ãã£ã¢ã Base64 ã§éä¿¡","onebotMediaBase64Tooltip":"ã¡ãã£ã¢ãã¡ã¤ã«ã®éä¿¡æ¹å¼ã鏿ãã¾ããç¡å¹ã®å ´åã¯ãã¡ã¤ã«ãã¹ãéä¿¡ããæå¹ã®å ´åã¯ãã¡ã¤ã«ã Base64 ã«ã¨ã³ã³ã¼ããã¦éä¿¡ãã¾ãããªã¢ã¼ã URL ã¯å¤æ´ããã¾ããã","onebotMediaBase64MaxMb":"Base64 ãã¡ã¤ã«ãµã¤ãºä¸é","onebotMediaBase64MaxMbTooltip":"ãã®ä¸éãè¶
ããã¡ãã£ã¢ãã¡ã¤ã«ã¯ãå
ã®ãã¡ã¤ã«ãã¹ã使ç¨ãã¦éä¿¡ããã¾ãã","onebotMediaBase64MaxMbRequired":"Base64 ãã¡ã¤ã«ãµã¤ãºä¸éãå
¥åãã¦ãã ãã","onebotMediaBase64MaxMbMin":"Base64 ãã¡ã¤ã«ãµã¤ãºä¸é㯠1 MB 以ä¸ã«ãã¦ãã ãã","onebotMediaDir":"ã¡ãã£ã¢ãã£ã¬ã¯ããª","onebotMediaDirTooltip":"ãã¦ã³ãã¼ãããã¡ãã£ã¢ã®ä¿åå
ã§ããããã©ã«ãã§ã¯ã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹ã® media ãã£ã¬ã¯ããªã使ç¨ãã¾ãã","onebotMediaDownloadMaxMb":"åä¿¡ã¡ãã£ã¢ãµã¤ãºä¸é","onebotMediaDownloadMaxMbTooltip":"OneBot ãããã¦ã³ãã¼ãããç»åãé³å£°ãåç»ããã¡ã¤ã«ãã¨ã®æå¤§ãµã¤ãºã§ãã","onebotMediaDownloadMaxMbRequired":"åä¿¡ã¡ãã£ã¢ãµã¤ãºä¸éãå
¥åãã¦ãã ãã","onebotMediaDownloadMaxMbMin":"åä¿¡ã¡ãã£ã¢ãµã¤ãºä¸é㯠1 MB 以ä¸ã«ãã¦ãã ãã","onebotWsHostTooltip":"ãªãã¼ã¹ WebSocket ãµã¼ãã¼ã®å¾
ã¡åãã¢ãã¬ã¹ã127.0.0.1 ã®ã¾ã¾ã«ããã¨ããã®ãã·ã³ä¸ã® OneBot ã¯ã©ã¤ã¢ã³ãã®ã¿æ¥ç¶ã§ãã¾ããä»ã®ã¢ãã¬ã¹ãæå®ããã¨ãã¼ãããããã¯ã¼ã¯ã«å
¬éããããããã¢ã¯ã»ã¹ãã¼ã¯ã³ãå¿
é ã«ãªãã¾ãã","onebotAccessTokenTooltip":"OneBot ã¯ã©ã¤ã¢ã³ãã Authorization ãããã¼ã§éä¿¡ããå
±æãã¼ã¯ã³ãå¾
ã¡åãã¢ãã¬ã¹ãã«ã¼ãããã¯ä»¥å¤ã®å ´åã¯å¿
é ã§ãã","onebotAccessTokenRequired":"å¾
ã¡åãã¢ãã¬ã¹ãã«ã¼ãããã¯ã§ãªãå ´åã¯ã¢ã¯ã»ã¹ãã¼ã¯ã³ãå¿
é ã§ã","showThinking":"æèéç¨ã表示","showThinkingTooltip":"ã¢ãã«ã®æèã»æ¨è«å
容ãã¦ã¼ã¶ã¼ã«è¡¨ç¤ºãã¾ãï¼ãªãã«ããã¨é表示ï¼","noTextDebounce":"ããã¹ããªãããã¦ã³ã¹","noTextDebounceTooltip":"æå¹ã«ããã¨ãã¡ãã£ã¢ã®ã¿ã®ã¡ãã»ã¼ã¸ï¼ç»å/åç»/ãã¡ã¤ã«ï¼ã¯ä¸æä¿åãããå¾ç¶ã®ããã¹ãã¡ãã»ã¼ã¸å°çæã«çµåããã¾ããç¡å¹ã«ããã¨ãã¹ã¦ã®ã¡ãã»ã¼ã¸ã峿å¦çããã¾ããé³å£°ã¡ãã»ã¼ã¸ã¯å¸¸ã«å³æå¦çããã¾ãã","streamingEnabled":"ã¹ããªã¼ãã³ã°åºå","streamingEnabledDingtalkHint":"ã¡ãã»ã¼ã¸ã¿ã¤ããCardã®å ´åã®ã
181¿æå¹","streamingEnabledFeishuHint":"Feishuãªã¼ãã³ãã©ãããã©ã¼ã ã®æ¨©é管çãã¼ã¸ã§cardkit:card:write権éãæå¹ã«ããå¿
è¦ãããã¾ã","ackMessage":"å³æç¢ºèªã¡ãã»ã¼ã¸","ackMessageTooltip":"ã¡ãã»ã¼ã¸åä¿¡æã«ã¨ã¼ã¸ã§ã³ãå¦çã®åã«å³æè¿ä¿¡ãéä¿¡ãã¾ãã空æ¬ã§ç¡å¹åã","ackMessagePlaceholder":"â³ å¦çä¸...","notSet":"æªè¨å®","clickCardToEdit":"ã«ã¼ããã¯ãªãã¯ãã¦ç·¨é","settings":"è¨å®","channelSettings":"ãã£ã³ãã«è¨å®","pleaseInputDbPath":"DBãã¹ãå
¥åãã¦ãã ãã","pleaseInputPollInterval":"ãã¼ãªã³ã°ééãå
¥åãã¦ãã ãã","discordBotToken":"Discord Botãã¼ã¯ã³","acceptBotMessages":"Botã¡ãã»ã¼ã¸ãåä¿¡","acceptBotMessagesTooltip":"æå¹ã«ããã¨ãä»ã®Botããã®ã¡ãã»ã¼ã¸ãåä¿¡ãã¾ã","httpProxyPlaceholder":"http://127.0.0.1:18118","httpProxyAuthPlaceholder":"ã¦ã¼ã¶ã¼:ãã¹ã¯ã¼ã","dbPathPlaceholder":"~/Library/Messages/chat.db","botPrefixPlaceholder":"@bot","dmPolicy":"DMããªã·ã¼","dmPolicyTooltip":"ãã¤ã¬ã¯ãã¡ãã»ã¼ã¸ã§Botã¨å¯¾è©±ã§ããã¦ã¼ã¶ã¼ãå¶å¾¡ãã¾ãããªã¼ãã³: å
¨å¡ã許å¯ãªã¹ã: èªè¨¼æ¸ã¿ã¦ã¼ã¶ã¼ã®ã¿","groupPolicy":"ã°ã«ã¼ãããªã·ã¼","groupPolicyTooltip":"ã°ã«ã¼ããã£ããã§Botã¨å¯¾è©±ã§ããã¦ã¼ã¶ã¼ãå¶å¾¡ãã¾ãããªã¼ãã³: å
¨å¡ã許å¯ãªã¹ã: èªè¨¼æ¸ã¿ã¦ã¼ã¶ã¼ã®ã¿","requireMention":"@ã¡ã³ã·ã§ã³å¿
é ","requireMentionTooltip":"æå¹ã«ããã¨ãã°ã«ã¼ããã£ããã§ã¯æç¤ºçã«@ã¡ã³ã·ã§ã³ãããå ´åã®ã¿å¿çãã¾ã","policyOpen":"ãªã¼ãã³","policyAllowlist":"許å¯ãªã¹ã","allowFrom":"許å¯ã¦ã¼ã¶ã¼","allowFromTooltip":"Botã¨å¯¾è©±ã§ããã¦ã¼ã¶ã¼IDã®ãªã¹ãï¼ãã©ã¼ããã: ããã¯ãã¼ã #æ«å°¾4æ¡ãä¾: John#1234ï¼","allowFromPlaceholder":"ã¦ã¼ã¶ã¼IDãå
¥åãã¦Enterã§è¿½å ","denyMessage":"ã¢ã¯ã»ã¹æå¦ã¡ãã»ã¼ã¸","denyMessageTooltip":"ã¢ã¯ã»ã¹ãæå¦ãããã¦ã¼ã¶ã¼ã«è¡¨ç¤ºãããã«ã¹ã¿ã ã¡ãã»ã¼ã¸","twilioAccountSid":"Twilio ã¢ã«ã¦ã³ã SID","twilioAuthToken":"Twilio
181èªè¨¼ãã¼ã¯ã³","phoneNumber":"é»è©±çªå·","phoneNumberSid":"é»è©±çªå· SID","phoneNumberSidHelp":"Twilioã³ã³ã½ã¼ã«ã®Phone Numbers â Active Numbersã§ç¢ºèªã§ãã¾ãã","ttsProvider":"TTSãããã¤ãã¼","ttsVoice":"TTSãã¤ã¹","sttProvider":"STTãããã¤ãã¼","language":"è¨èª","welcomeGreeting":"ã¦ã§ã«ã«ã ã¡ãã»ã¼ã¸","voiceSetupGuide":"Twilioã¢ã«ã¦ã³ãã使ãã¦é»è©±çªå·ãåå¾ãã以ä¸ã«èªè¨¼æ
å ±ãå
¥åãã¦ãã ãããã¢ã«ã¦ã³ã SIDã¨èªè¨¼ãã¼ã¯ã³ã¯Twilioã³ã³ã½ã¼ã«ã®ããã·ã¥ãã¼ãã§ç¢ºèªã§ãã¾ããé»è©±çªå· SIDã¯Phone Numbers â Active Numbersã«è¨è¼ããã¦ãã¾ãã","voiceSetupLink":"Twilioã³ã³ã½ã¼ã«ãéã","sipSetupGuide":"SIPã¬ã¸ã¹ãã©ï¼AsteriskãFreeSWITCHãªã©ï¼ãè¨å®ãã以ä¸ã«SIPèªè¨¼æ
å ±ãå
¥åãã¦ãã ãããDevã¢ã¼ãã§ã¯pyVoIPããã¼ã«ã«ã§SIP/RTPãå¦çãã¾ããProductionã¢ã¼ãã§ã¯LiveKit SIP Serverã使ç¨ãã¾ãã","sipMode":"SIPã¢ã¼ã","sipModeTooltip":"Devï¼ãã¼ã«ã«ãã¹ãç¨ã®Python pyVoIPãProductionï¼é«ä¸¦è¡æ§ã®LiveKit SIP Serverã","sipServer":"SIPãµã¼ãã¼","sipServerPlaceholder":"空æ¬ã§å
èµã¬ã¸ã¹ãã©ã使ç¨","sipServerPlaceholderLivekit":"LiveKitã¢ã¼ãã§ã¯ä¸è¦","sipUsername":"SIPã¦ã¼ã¶ã¼å","sipPassword":"SIPãã¹ã¯ã¼ã","sipPort":"SIPãã¼ã","sipTransport":"ãã©ã³ã¹ãã¼ã","sipDashscopeApiKey":"DashScope API Key","sipDashscopeApiKeyTooltip":"Aliyun DashScope STT/TTSç¨ã®APIãã¼ã空ã®å ´åãDASHSCOPE_API_KEYç°å¢å¤æ°ã«ãã©ã¼ã«ããã¯ãã¾ãã","livekitUrl":"LiveKit URL","livekitApiKey":"LiveKit APIãã¼","livekitApiSecret":"LiveKit APIã·ã¼ã¯ã¬ãã","livekitSipTrunkId":"LiveKit SIPãã©ã³ã¯ID","livekitRoomName":"LiveKit ã«ã¼ã å","livekitRoomNameTooltip":"SIPçä¿¡ãå¾
æ©ããLiveKitã«ã¼ã åãSIP Dispatch Ruleã®ã«ã¼ã åã¨ä¸è´ããã¦ãã ããã","loginWeCom":"WeCom QRã³ã¼ããåå¾","wecomSetupGuide":"QRã³ã¼ãã§ãããã使ããéããããã®æ¨©éãæ¿èªããç»é¢ã§ã¯ãæ¿èªãã¹ããããã鏿ãã¦ãã ããããæ¿èªã確èªãã鏿ããã¨ãããã使è
以å¤ã®ã¦ã¼ã¶ã¼ããããã¨å¯¾è©±ã§ããªããªãå ´åãããã¾ãã","wecomScanAuth":"QRã³ã¼ãã§èªè¨¼","wecomAuthHint":"ä¸ã®QRã³ã¼ããWeComã§ã¹ãã£ã³ãã¦èªè¨¼ãã¦ãã ãããèªè¨¼å¾ãBot IDã¨Secretãèªåå
¥åããã¾ãã","wecomAuthSuccess":"WeComãããã®èªè¨¼ã«æåãã¾ãããBot IDã¨Secretãèªåå
¥åããã¾ããã","wecomQrcodeFailed":"WeCom QRã³ã¼ãã®åå¾ã«å¤±æãã¾ãããããä¸åº¦ã試ããã ããã","slackBotToken":"Bot Token","slackBotTokenTooltip":"Slack Bot User OAuth Tokenï¼xoxb- ã§å§ã¾ãï¼","slackAppToken":"App Token","slackAppTokenTooltip":"Slack App-Level Tokenï¼Socket Modeç¨ãxapp- ã§å§ã¾ãï¼","slackProxyTooltip":"Slack APIæ¥ç¶ç¨HTTPãããã·URL","dingtalkSetupGuide":"DingTalkã§QRã³ã¼ããã¹ãã£ã³ãã¦ãããã使ãã¾ããã¹ãã£ã³å¾ãDingTalkã¢ããªãèªå使ãããClient IDã¨Client Secretãèªåå
¥åããã¾ãã","dingtalkScanAuth":"ã¹ãã£ã³ãã¦ãããã使","dingtalkGetQrcode":"DingTalk QRã³ã¼ããåå¾","dingtalkScanHint":"ä¸ã®QRã³ã¼ããDingTalkã§ã¹ãã£ã³ãã¦ãã ãããèªè¨¼å¾ãClient IDã¨Client Secretãèªåå
¥åããã¾ãã","dingtalkAuthSuccess":"DingTalkãããã使ããã¾ãããClient IDã¨Client Secretãèªåå
¥åããã¾ããã","dingtalkQrcodeFailed":"DingTalk QRã³ã¼ãã®åå¾ã«å¤±æãã¾ãããããä¸åº¦ã試ããã ããã","dingtalkQrcodeExpired":"QRã³ã¼ãã®æå¹æéãåãã¾ãããååå¾ãã¦ãã ããã","qqSetupGuide":"QQã使ç¨ãã¦QRã³ã¼ããã¹ãã£ã³ãããããã®èªè¨¼ãè¡ã£ã¦ãã ãããã¹ãã£ã³å¾ãAPP IDã¨Client Secretãèªåçã«åå¾ãããå
¥åæ¬ã«åæ ããã¾ãã","qqScanAuth":"QRã³ã¼ããã¹ãã£ã³ãã¦ããããèªè¨¼ãã","qqGetQrcode":"QQã®QRã³ã¼ããåå¾ãã","qqScanHint":"ä¸é¨ã®QRã³ã¼ããQQã§ã¹ãã£ã³ããèªè¨¼ãå®äºãã¦ãã ãããèªè¨¼å®äºå¾ãAPP IDã¨Client Secretãèªåçã«å
¥åããã¾ãã","qqAuthSuccess":"QQãããã®èªè¨¼ãå®äºãã¾ãããAPP IDã¨Client Secretãèªåçã«å
¥åããã¾ããã","qqQrcodeFailed":"QQã®QRã³ã¼ãã®åå¾ã«å¤±æãã¾ããããã°ãããã¦ããããä¸åº¦ã試ããã ããã","qqQrcodeExpired":"QRã³ã¼ãã®æå¹æéãåãã¦ãã¾ããå度åå¾ãã¦ãã ããã","atSenderOnReply":"è¿ä¿¡æã«éä¿¡è
ã@ã¡ã³ã·ã§ã³","atSenderOnReplyTooltip":"æå¹ã«ããã¨ããããã¯ã°ã«ã¼ããã£ããã§ã®è¿ä¿¡ã®æåã®ã¡ãã»ã¼ã¸ã§éä¿¡è
ã@ã¡ã³ã·ã§ã³ãã¾ããæ³¨æï¼ã«ã¼ãã¢ã¼ãã§ã¯ã@ã¡ã³ã·ã§ã³ã¯ä¼æ¥å
é¨ã¡ã³ãã¼ã®ã¿æå¹ã§ãã","dingtalkEndpoint":"APIã¨ã³ããã¤ã³ã","dingtalkEndpointTooltip":"DingTalkãã©ã¤ãã¼ããããã¤ç¨ã®ã«ã¹ã¿ã APIã¨ã³ããã¤ã³ãã空æ¬ã®å ´åã¯å
¬å¼ããã©ã«ãã使ç¨ãã¾ãã","cardAutoLayout":"ã¯ã¤ãã¹ã¯ãªã¼ã³ã«ã¼ãï¼èªåã¬ã¤ã¢ã¦ãï¼","cardAutoLayoutTooltip":"æå¹ã«ããã¨ãDingTalk ããã¹ã¯ãããã§ AI ã«ã¼ããã¯ã¤ãã¹ã¯ãªã¼ã³ã§ã¬ã³ããªã³ã°ãã¾ããã¡ãã»ã¼ã¸ã¿ã¤ãã card ã®å ´åã®ã
181¿æå¹ã§ããã«ã¼ããã³ãã¬ã¼ãã¯å
¬éæ¸ã¿ã§ããå¿
è¦ãããã¾ãã","wecomCancelled":"èªè¨¼ããã£ã³ã»ã«ããã¾ãã","wecomAuthFailed":"èªè¨¼ã«å¤±æãã¾ãã: {{msg}}","filterAll":"ãã¹ã¦","builtin":"çµã¿è¾¼ã¿","custom":"ã«ã¹ã¿ã ","feishuRegion":"å°å","feishuRegionTooltip":"ä¸å½å½å
ã¯Feishuãæµ·å¤ã¯Larkã鏿","feishuChina":"Feishuï¼ä¸å½ï¼","feishuInternational":"Larkï¼æµ·å¤ï¼","feishuScanGuide":"Feishuã§QRã³ã¼ããã¹ãã£ã³ãã¦ãããã使ãã¾ããã¹ãã£ã³å¾ãFeishuã¢ããªãèªå使ãããApp IDã¨App Secretãèªåå
¥åããã¾ãã","feishuScanLogin":"ã¹ãã£ã³ãã¦ãããã使","feishuGetQrcode":"Feishu QRã³ã¼ããåå¾","feishuScanHint":"ä¸ã®QRã³ã¼ããFeishuã§ã¹ãã£ã³ãã¦ãã ãããèªè¨¼å¾ãApp IDã¨App Secretãèªåå
¥åããã¾ãã","feishuAuthSuccess":"Feishuãããã使ããã¾ãããApp IDã¨App Secretãèªåå
¥åããã¾ããã","feishuQrcodeExpired":"QRã³ã¼ãã®æå¹æéãåãã¾ãããååå¾ãã¦ãã ããã","feishuQrcodeFailed":"Feishu QRã³ã¼ãã®åå¾ã«å¤±æãã¾ãããããä¸åº¦ã試ããã ããã","wechatSetupGuide":"WeChatå人ã¢ã«ã¦ã³ãBotï¼iLinkãããã³ã«ï¼ãBot Tokenãæªè¨å®ã®å ´åãèµ·åæã«QRã³ã¼ãURLã表示ãã¾ããã¹ãã£ã³ãã¦èªè¨¼ãã¦ãã ãããTokenã¯ãã¼ã«ã«ã«ä¿åããã¾ãã","wechatContextTokenLimit":"WeChat iLinkãã©ãããã©ã¼ã ã®å¶éï¼åã¦ã¼ã¶ã¼ã¡ãã»ã¼ã¸ã®context_tokenã§è¿ä¿¡ã§ããã¡ãã»ã¼ã¸ã¯æå¤§10ä»¶ã§ããããã¯ãã©ãããã©ã¼ã å´ã®ãã¼ãå¶éã§ããå¶éè¶
éã«ããé信失æãé¿ãããããæèããã³ãã¼ã«åºåãç¡å¹ã«ããããã¡ãã»ã¼ã¸çµ±åæ©è½ãæå¹ã«ãããã¨ããå§ããã¾ãã","wechatBotToken":"Bot Token","wechatBotTokenTooltip":"QRã³ã¼ããã°ã¤ã³å¾ã«åå¾ããBearerãã¼ã¯ã³ã空ã®å ´åã¯èµ·åæã«QRã³ã¼ããã°ã¤ã³ãæ¡å
ããã¾ãã","wechatBotTokenPlaceholder":"QRãã°ã¤ã³å¾ã«èªåå
¥åãã¾ãã¯æåã§è²¼ãä»ã","wechatBotTokenFile":"Tokenãã¡ã¤ã«ãã¹","wechatBotTokenFileTooltip":"Botãã¼ã¯ã³ã®ä¿åãã¹ãããã©ã«ã㯠~/.qwenpaw/wechat_bot_token","wechatMediaDir":"ã¡ãã£ã¢ãã£ã¬ã¯ããª","wechatMessageMerge":"ã¡ãã»ã¼ã¸çµ±å","wechatMessageMergeTooltip":"è¤æ°ã®è¿ä¿¡ã¡ãã»ã¼ã¸ãçµ±åãã¦éä¿¡ããWeChat ã® context_token ããã10ä»¶ã®ã¡ãã»ã¼ã¸å¶éãåé¿ãã¾ããé
å»¶ã0ã«è¨å®ããã¨ããã¹ã¦ã®ããã¹ãè¿ä¿¡ããªã¯ã¨ã¹ãçµäºæã«1ã¤ã®ã¡ãã»ã¼ã¸ã«çµ±åããã¾ããæ£ã®é
å»¶å¤ï¼ããªç§ï¼ã¯ããã®æéå
ã®é£æ¥ã¡ãã»ã¼ã¸ãçµ±åãã¾ãã","wechatMessageMergeDelayMs":"çµ±åé
å»¶ï¼ããªç§ï¼","wechatMessageMergeDelayMsTooltip":"飿¥ã¡ãã»ã¼ã¸çµ±åã®æéã¦ã£ã³ãã¦ã0ã«è¨å®ããã¨ããã¹ã¦ã®ã¡ãã»ã¼ã¸ã1ã¤ã®æçµè¿ä¿¡ã«çµ±åãã¾ããæ£ã®å¤ï¼ä¾: 1000ï¼ã¯ããã®æéä¸ã®ã¡ãã»ã¼ã¸ããããã¡ãªã³ã°ãã¦ããéä¿¡ãã¾ãã","wechatMessageMergeDelayMsValidation":"æå¹ãªéè² æ´æ°ãå
¥åãã¦ãã ãã","wechatScanLogin":"QRã³ã¼ãã§ãã°ã¤ã³","wechatGetQrcode":"ãã°ã¤ã³QRã³ã¼ããåå¾","wechatScanHint":"WeChatã§QRã³ã¼ããã¹ãã£ã³ãã¦ãå®äºå¾ã«ä¿åãã¦ãã ãã","wechatQrcodeFailed":"QRã³ã¼ãã®åå¾ã«å¤±æãã¾ãããå試è¡ãã¦ãã ãã","wechatLoginSuccess":"WeChat ãã°ã¤ã³æåããã¼ã¯ã³ãå
¥åããã¾ãã","wechatQrcodeExpired":"QRã³ã¼ããæéåãã§ããååå¾ãã¦ãã ãã","shareSessionInGroup":"ã°ã«ã¼ãã§ã³ã³ããã¹ãå
±æ","shareSessionInGroupTooltip":"æå¹ã«ããã¨ãã°ã«ã¼ãã®å
¨ã¡ã³ãã¼ãåãä¼è©±ã³ã³ããã¹ããå
±æãã¾ããç¡å¹ã«ããã¨ãåã¡ã³ãã¼ãç¬ç«ããã³ã³ããã¹ããæã¡ã¾ãã","accessControlEnabled":"ã¢ã¯ã»ã¹å¶å¾¡","accessControlEnabledTooltip":"æå¹ã«ããã¨ããã¯ã¤ããªã¹ãã®ã¦ã¼ã¶ã¼ã®ã¿Botã¨å¯¾è©±ã§ãã¾ããæªç¥ã®ã¦ã¼ã¶ã¼ã«ã¯IDãéç¥ãããæ¿èªå¾
ã¡ãªã¹ãã«è¿½å ããã¾ãã","accessControlDm":"DM ã¢ã¯ã»ã¹å¶å¾¡","accessControlDmTooltip":"æå¹ã«ããã¨ããã¯ã¤ããªã¹ãã®ã¦ã¼ã¶ã¼ã®ã¿DMã
181§Botã¨å¯¾è©±ã§ãã¾ã","accessControlGroup":"ã°ã«ã¼ã ã¢ã¯ã»ã¹å¶å¾¡","accessControlGroupTooltip":"æå¹ã«ããã¨ããã¯ã¤ããªã¹ãã®ã¦ã¼ã¶ã¼ã®ã¿ã°ã«ã¼ããã£ããã§Botã¨å¯¾è©±ã§ãã¾ã","dmDisabled":"DMãç¡å¹å","dmDisabledTooltip":"æå¹ã«ããã¨ãBotã¯ãã¹ã¦ã®ãã¤ã¬ã¯ãã¡ãã»ã¼ã¸ãå®å
¨ã«ç¡è¦ãã¾ã","groupDisabled":"ã°ã«ã¼ããç¡å¹å","groupDisabledTooltip":"æå¹ã«ããã¨ãBotã¯ãã¹ã¦ã®ã°ã«ã¼ãã¡ãã»ã¼ã¸ãå®å
¨ã«ç¡è¦ãã¾ã","manageAccessControl":"ã¢ã¯ã»ã¹å¶å¾¡","pendingApprovals":"æ¿èªå¾
ã¡","whitelist":"ãã¯ã¤ããªã¹ã","blacklist":"ãã©ãã¯ãªã¹ã","addUser":"ã¦ã¼ã¶ã¼ã追å ","addUserPlaceholder":"ã¦ã¼ã¶ã¼IDãå
¥å","userId":"ã¦ã¼ã¶ã¼ID","username":"ã¦ã¼ã¶ã¼å","channel":"ãã£ã³ãã«","firstMessage":"æåã®ã¡ãã»ã¼ã¸","time":"æé","actions":"æä½","approve":"ãã¯ã¤ããªã¹ã","deny":"ãã©ãã¯ãªã¹ã","dismiss":"ç¡è¦","noWhitelistUsers":"ãã¯ã¤ããªã¹ãã¦ã¼ã¶ã¼ãªã","noBlacklistUsers":"ãã©ãã¯ãªã¹ãã¦ã¼ã¶ã¼ãªã","noPendingApprovals":"æ¿èªå¾
ã¡ãªã","userAdded":"ã¦ã¼ã¶ã¼ã追å ãã¾ãã","userRemoved":"ã¦ã¼ã¶ã¼ãåé¤ãã¾ãã","approveSuccess":"ãã¯ã¤ããªã¹ãã«è¿½å ãã¾ãã","denySuccess":"ãã©ãã¯ãªã¹ãã«è¿½å ãã¾ãã","dismissSuccess":"ç¡è¦ãã¾ãã","operationFailed":"æä½ã«å¤±æãã¾ãã","remark":"åè","usernamePlaceholder":"ã¦ã¼ã¶ã¼åãå
¥åï¼ä»»æï¼","remarkPlaceholder":"åèãå
¥åï¼ä»»æï¼","filterByChannel":"ãã£ã³ãã«ã§çµãè¾¼ã¿","selectToOperate":"é
ç®ã鏿ãã¦æä½","selectedCount":"{{count}}件鏿ä¸","batchApprove":"æ¿èª","batchDeny":"ãã©ãã¯ãªã¹ã","batchDismiss":"åé¤","batchApproveConfirm":"{{count}}ä»¶ã®ã¦ã¼ã¶ã¼ãæ¿èªãã¾ããï¼","batchDenyConfirm":"{{count}}ä»¶ã®ã¦ã¼ã¶ã¼ããã©ãã¯ãªã¹ãã«è¿½å ãã¾ããï¼","batchDismissConfirm":"{{count}}ä»¶ã®ã¦ã¼ã¶ã¼ãåé¤ãã¾ããï¼","batchSuccess":"{{count}}ä»¶ã®ã¦ã¼ã¶ã¼ãå¦çãã¾ãã","batchRemove":"åé¤","batchRemoveConfirm":"{{count}}ä»¶ã®ã¦ã¼ã¶ã¼ãåé¤ãã¾ããï¼","enabledSection":"æå¹","enabledCount":"{{count}}ä»¶","availableSection":"æªæå¹","enableAction":"æå¹ã«ãã","noEnabledChannels":"æå¹ãªãã£ã³ãã«ã¯ããã¾ãã","goEnableChannels":"ãã£ã³ãã«ãæå¹ã«ãã"}'),kI={title:"ã»ãã·ã§ã³",description:"ã¢ã¯ãã£ããªãã£ããã»ãã·ã§ã³ã®è¡¨ç¤ºã¨ç®¡ç",loading:"ã»ãã·ã§ã³ãèªã¿è¾¼ã¿ä¸...",confirmDelete:"åé¤ã®ç¢ºèª",deleteConfirm:"ãã®ã»ãã·ã§ã³ãåé¤ãã¦ãããããã§ããï¼",batchDeleteConfirm:"鏿ãã {{count}} ä»¶ã®ã»ãã·ã§ã³ãåé¤ãã¦ãããããã§ããï¼",deleteSuccess:"ã»ãã·ã§ã³ãåé¤ãã¾ãã",deleteFailed:"ã»ãã·ã§ã³ã®åé¤ã«å¤±æãã¾ãã",batchDeleteSuccess:"{{count}} ä»¶ã®ã»ãã·ã§ã³ãåé¤ãã¾ãã",batchDeleteFailed:"ã»ãã·ã§ã³ã®ä¸æ¬åé¤ã«å¤±æãã¾ãã",saveSuccess:"ã»ãã·ã§ã³ãä¿åãã¾ãã",saveFailed:"ã»ãã·ã§ã³ã®ä¿åã«å¤±æãã¾ãã",batchDeleteButton:"䏿¬åé¤",filterTitle:"ã¿ã¤ãã«ã§çµãè¾¼ã¿",filterUserId:"ã¦ã¼ã¶ã¼IDã§çµãè¾¼ã¿",filterChannel:"ãã£ã³ãã«ã§çµãè¾¼ã¿",allChannels:"ãã¹ã¦ã®ãã£ã³ãã«",totalItems:"åè¨ {{count}} ä»¶",selectedItems:"{{count}} 件鏿ä¸",editSession:"ã»ãã·ã§ã³ãç·¨é",pleaseInputName:"ã»ãã·ã§ã³åãå
¥åãã¦ãã ãã",sessionNamePlaceholder:"ã»ãã·ã§ã³å",activeTab:"ã¢ã¯ãã£ã",archivedTab:"ã¢ã¼ã«ã¤ãæ¸ã¿",archivedAtColumn:"ã¢ã¼ã«ã¤ãæ¥æ",archive:{action:"ã¢ã¼ã«ã¤ã",unaction:"ã¢ã¼ã«ã¤ãè§£é¤",batchAction:"䏿¬ã¢ã¼ã«ã¤ã",batchUnaction:"䏿¬ã¢ã¼ã«ã¤ãè§£é¤",success:"ãã£ãããã¢ã¼ã«ã¤ããã¾ãã",successHint:"ã¢ã¼ã«ã¤ããã¾ããããã³ã³ããã¼ã«ï¼ã»ãã·ã§ã³ç®¡çï¼ã¢ã¼ã«ã¤ãæ¸ã¿ãã§ç¢ºèªã§ãã¾ãã",failed:"ã¢ã¼ã«ã¤ãã«å¤±æãã¾ãã",unarchiveSuccess:"ã¢ã¼ã«ã¤ããè§£é¤ãã¾ãã",unarchiveFailed:"ã¢ã¼ã«ã¤ãè§£é¤ã«å¤±æãã¾ãã",batchSuccess:"{{count}} ä»¶ã®ãã£ãããã¢ã¼ã«ã¤ããã¾ãã",batchFailed:"䏿¬ã¢ã¼ã«ã¤ãã«å¤±æãã¾ãã",batchUnarchiveSuccess:"{{count}} ä»¶ã®ã¢ã¼ã«ã¤ããè§£é¤ãã¾ãã",batchUnarchiveFailed:"䏿¬ã¢ã¼ã«ã¤ãè§£é¤ã«å¤±æãã¾ãã",groupLabel:"ã¢ã¼ã«ã¤ãæ¸ã¿ ({{count}})",modalTitle:"ã¢ã¼ã«ã¤ãæ¸ã¿ã®ãã£ãã",unarchiveAll:"ãã¹ã¦ã¢ã¼ã«ã¤ãè§£é¤",noArchived:"ã¢ã¼ã«ã¤ãæ¸ã¿ã®ãã£ããã¯ããã¾ãã"}},yI={parent:"è¨å®",environments:"ç°å¢å¤æ°",title:"ç°å¢å¤æ°",description:"ã¨ã¼ã¸ã§ã³ãã¨ã¹ãã«ã®ãã¼ã»ããªã¥ã¼å½¢å¼ã®ç°å¢å¤æ°ãè¨å®ãã¾ãã",key:"ãã¼",value:"å¤",variableNamePlaceholder:"VARIABLE_NAME",valuePlaceholder:"å¤",insertRowBelow:"ä¸ã«è¡ãæ¿å
¥",deleteRow:"è¡ãåé¤",deleteVariable:"夿°ãåé¤",deleteConfirm:'"{{name}}" ãåé¤ãã¾ããï¼',deleteSelected:"鏿ãåé¤",deleteSelectedConfirm:"{{label}} ãåé¤ãã¾ããï¼",keyRequired:"ãã¼ã¯å¿
é ã§ã",invali
181dKeyFormat:"ãã¼ã®ãã©ã¼ãããã䏿£ã§ã",duplicateKey:"ãã¼ãéè¤ãã¦ãã¾ã",saveSuccess:"ç°å¢å¤æ°ãä¿åãã¾ãã",saveFailed:"ä¿åã«å¤±æãã¾ãã",deleteSuccess:'"{{name}}" ãåé¤ãã¾ãã',deleteFailed:"åé¤ã«å¤±æãã¾ãã",noVariables:"ç°å¢å¤æ°ãã¾ã è¨å®ããã¦ãã¾ããã",addVariable:"夿°ã追å ",loading:"èªã¿è¾¼ã¿ä¸...",retry:"å試è¡",of:"/",selected:"鏿ä¸",variable:"夿°",variables:"夿°",showValue:"å¤ã表示",hideValue:"å¤ãé表示",searchPlaceholder:"夿°ãæ¤ç´¢",liveSettings:"ãªã¢ã«ã¿ã¤ã è¨å®",noLiveVariables:"ç¾å¨ã®æ¡ä»¶ã«ä¸è´ãããªã¢ã«ã¿ã¤ã è¨å®ã¯ããã¾ããã",customSettings:"ã«ã¹ã¿ã 夿°",noCustomVariables:"ã«ã¹ã¿ã 夿°ã¯ã¾ã ããã¾ããã",editVariable:"夿°ãç·¨é",applyNow:"ä»ããé©ç¨",applyHint:"ç¾å¨ã® QwenPaw ããã»ã¹ã¯å³ææ´æ°ããã¾ããå®è¡ä¸ã® MCP ã«ã¯åèªã¿è¾¼ã¿ãå¿
è¦ã§ãã",applied:"ç°å¢å¤æ°ãé©ç¨ãã¾ãã",appliedWithFailures:"ä¿åãã¾ãããã{{count}} ä»¶ã® MCP ãåèªã¿è¾¼ã¿ã§ãã¾ããã§ãã",resetVariable:"夿°ããªã»ãã",resetSuccess:"ã·ã¹ãã å¤ã¾ãã¯æ¢å®å¤ã«æ»ãã¾ãã",readonlySettings:"èªã¿åãå°ç¨è¨å®",noReadonlyVariables:"ç¾å¨ã®æ¡ä»¶ã«ä¸è´ããèªã¿åãå°ç¨è¨å®ã¯ããã¾ããã",impactTitle:"ããã»ã¹ã¸ã®å½±é¿",explicitConsumers:"{{count}} ä»¶ã® MCP ããã®å¤æ°ãæç¤ºçã«ä½¿ç¨ãã¦ãã¾ã",implicitConsumers:"{{count}} ä»¶ã® stdio MCP ãæé»çã«ç¶æ¿ããå¯è½æ§ãããã¾ã",restartMode:"å®è¡ä¸ã® MCP",restartAffected:"å½±é¿ãåãã MCP ãåèªã¿è¾¼ã¿",restartNone:"åèªã¿è¾¼ã¿ããªã",restartAllStdio:"ãã¹ã¦ã® stdio MCP ãåèªã¿è¾¼ã¿",readonlyReason:{startup:"QwenPaw èµ·åæã«ç¢ºå®",agent_owned:"åã¨ã¼ã¸ã§ã³ãè¨å®ã§ç®¡ç",initial_default:"Agent è¨å®ã®åæå¤ã¨ãã¦ã®ã¿ä½¿ç¨"},mutabilityDescription:{hot_runtime:"åæä½ã®éå§æã«ç¾å¨ã® QwenPaw ããã»ã¹ããèªã¿åãã¾ãã",hot_process:"os.getenv() ã§å©ç¨ã§ããä»å¾ã®åããã»ã¹ã«ç¶æ¿ããã¾ãã",startup_only:"åç
§å°ç¨ã§ãQwenPaw ã®å®è¡ä¸ã¯å¤æ´ã§ãã¾ããã",internal:"QwenPaw ãå
é¨ã§ç®¡çãã¾ãã"},variableDescriptions:{QWENPAW_LLM_STREAM_FIRST_CONTENT_TIMEOUT:"æåã®æå¹ãªã¹ããªã¼ã å
容ãå¾
ã¤æå¤§æéã§ãã0 ã§ç£è¦ãç¡å¹åãã¾ãã",QWENPAW_LLM_STREAM_IDLE_TIMEOUT:"æå¹ãªã¹ããªã¼ã ãã£ã³ã¯éã®æå¤§å¾
æ©æéã§ãã0 ã§ç£è¦ãç¡å¹åãã¾ãã"},source:{user:"QwenPaw",system:"ã·ã¹ãã ",default:"æ¢å®å¤"}},vI={title:"Token 使ç¨é",totalTokens:"åè¨ Token",totalCalls:"LLMå¼ã³åºã",toolCalls:"ãã¼ã«å¼ã³åºã",llmAndToolTrend:"LLM ã¨ãã¼ã«å¼ã³åºãã®æ¨ç§»",llmAndToolTrendTooltip:"å
¨ã¨ã¼ã¸ã§ã³ãã®ãç¨éã¡ã¿ãã¼ã¿ä»ãã¢ã·ã¹ã¿ã³ãã»ã¿ã¼ã³ã¨ãã¼ã«å¼ã³åºãæå³ã®åè¨ã§ããTotal Callsï¼çã® API åæ°ï¼ã§ã¯ããã¾ãããã¢ããã°ã¬ã¼ãåã®ã¿ã¼ã³ã¯ 0 ã«ãªãå ´åãããã¾ãã",llmAndToolTrendLoadFailed:"LLM ã¨ãã¼ã«å¼ã³åºãæ¨ç§»ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",recordedTurnsAllAgents:"LLMå¼ã³åºã",byAgent:"ã¨ã¼ã¸ã§ã³ãå¥",agent:"ã¨ã¼ã¸ã§ã³ã",unattributed:"æªå¸°å±",promptTokens:"å
¥å Token",completionTokens:"åºå Token",cacheRead:"ãã£ãã·ã¥ããã Token",cacheHitRate:"ãã£ãã·ã¥ãããç",byModel:"ã¢ãã«å¥",byDate:"æ¥ä»å¥",model:"ã¢ãã«",date:"æ¥ä»",loadFailed:"Token 使ç¨éã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",noData:"鏿æéã« Token 使ç¨ãã¼ã¿ãããã¾ãã",modelTrend:"ã¢ãã«ä½¿ç¨éãã¬ã³ã",tokenTypeChart:"ãã¼ã¯ã³ã¿ã¤ãã®ãã¬ã³ã",selectAll:"ãã¹ã¦é¸æ",allSelected:"ãã¹ã¦",itemsSelected:"{{count}} 件鏿æ¸ã¿",selectModels:"ã¢ãã«ã鏿",selectTokenTypes:"ãã¼ã¯ã³ã¿ã¤ãã鏿"},TI={title:"ã¨ã¼ã¸ã§ã³ãçµ±è¨",totalSessions:"ç·ã»ãã·ã§ã³æ°",totalMessages:"ç·ã¡ãã»ã¼ã¸æ°",userMe
181ssages:"ã¦ã¼ã¶ã¼ã¡ãã»ã¼ã¸",assistantMessages:"ã¢ã·ã¹ã¿ã³ãã¡ãã»ã¼ã¸",promptTokens:"å
¥å Token",totalInputTokens:"ç·å
¥å Token",completionTokens:"åºå Token",toolCalls:"ãã¼ã«å¼ã³åºã",newSessions:"æ°è¦ã»ãã·ã§ã³",activeSessions:"ã¢ã¯ãã£ãã»ãã·ã§ã³",messageTrend:"ã¡ãã»ã¼ã¸æ¨ç§»",sessionTrend:"ã»ãã·ã§ã³æ¨ç§»",tokenTrend:"Token æ¨ç§»",llmAndToolTrend:"LLM & ãã¼ã«å¼ã³åºãæ¨ç§»",sessionsByChannel:"ãã£ã³ãã«å¥ã»ãã·ã§ã³çµ±è¨",messagesByChannel:"ãã£ã³ãã«å¥ã¡ãã»ã¼ã¸çµ±è¨",totalSessionsTooltip:"使ããããã£ããã»ãã·ã§ã³ã®ç·æ°ãåã»ãã·ã§ã³ã¯ç¬ç«ããä¼è©±ã³ã³ããã¹ãã§ã",totalMessagesTooltip:"å
¨ã»ãã·ã§ã³ã®ã¡ãã»ã¼ã¸ç·æ°ãã¦ã¼ã¶ã¼ã¡ãã»ã¼ã¸ã¨ã¢ã·ã¹ã¿ã³ãã¡ãã»ã¼ã¸ãå«ã¿ã¾ã",toolCallsTooltip:"ã¨ã¼ã¸ã§ã³ãããã¼ã«ãå¼ã³åºããã¨ã決ããåæ°ã1åã®LLMå¼ã³åºãã§è¤æ°ã®ãã¼ã«æå³ãçºçããå ´åãããã¾ã",messageTrendTooltip:"ã¦ã¼ã¶ã¼ã¡ãã»ã¼ã¸ã¨ã¢ã·ã¹ã¿ã³ãã¡ãã»ã¼ã¸ã®æ¯è¼æ¨ç§»",sessionTrendTooltip:"æ°è¦ã»ãã·ã§ã³ã¨ã¢ã¯ãã£ãã»ãã·ã§ã³ã®æ¯è¼æ¨ç§»ããªã¬ã³ã¸è²ã®ãã¼ã¯ãã®æ¥ã«ä½æãããã»ãã·ã§ã³ãéè²ã®ãã¼ã¯ãã®æ¥ã«ã¡ãã»ã¼ã¸ããã£ãã»ãã·ã§ã³ã§ã",llmAndToolTrendTooltip:"ç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã® LLM ã¿ã¼ã³ã¨ãã¼ã«å¼ã³åºãã®æ¯è¼æ¨ç§»",sessionsByChannelTooltip:"ã¡ãã»ã¼ã¸ãã£ã³ãã«å¥ã®ã»ãã·ã§ã³åå¸ããã£ã³ãã«ã«å±ããªãã»ãã·ã§ã³ã¯ããã©ã«ãã§ Console ã«ã°ã«ã¼ãåããã¾ã",messagesByChannelTooltip:"ã¡ãã»ã¼ã¸ãã£ã³ãã«å¥ã®ã¡ãã»ã¼ã¸ç·æ°åå¸",currentAgentLlmCalls:"è¨é²æ¸ã¿ã¿ã¼ã³",currentAgentTokenTrendTooltip:"ç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã®ã¿ã¼ã³åä½ã¡ã¿ãã¼ã¿ã«åºã¥ãå
¥åãåºåããã£ãã·ã¥ããã Token ã®æ¨ç§»ããã£ãã·ã¥ããã Token ã¯å
¥å Token ã®ä¸é¨ã§ã",currentAgentPromptTokensTooltip:"鏿æéã«ãããç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã®åã»ãã·ã§ã³åè¨ããã³ãã Tokenï¼ã¿ã¼ã³ç¨éã¡ã¿ãã¼ã¿ãå¿
è¦ãã¢ããã°ã¬ã¼ãåã®ã»ãã·ã§ã³ã¯ 0 ã«ãªãå ´åãããã¾ãï¼",currentAgentCacheHitRateTooltip:"鏿æéã«ç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã§è¦³æ¸¬ããããã£ãã·ã¥å¼ã³åºãã® Token å éãããçï¼ãã£ãã·ã¥ããã Token / ãã£ãã·ã¥å¯¾è±¡å
¥å Tokenããã¼ã¿ããªãå ´å㯠âï¼",currentAgentCompletionTokensTooltip:"鏿æéã«ãããç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã®åã»ãã·ã§ã³åè¨å®äº Tokenï¼ã¿ã¼ã³ç¨éã¡ã¿ãã¼ã¿ãå¿
è¦ãã¢ããã°ã¬ã¼ãåã®ã»ãã·ã§ã³ã¯ 0 ã«ãªãå ´åãããã¾ãï¼",currentAgentLlmCallsTooltip:"鏿æéã«ãããç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã®ç¨éã¡ã¿ãã¼ã¿ä»ãã¢ã·ã¹ã¿ã³ãã»ã¿ã¼ã³æ°ï¼çã® API å¼ã³åºãåæ°ã§ã¯ããã¾ãããã¢ããã°ã¬ã¼ãåã®ã»ãã·ã§ã³ã¯ 0 ã«ãªãå ´åãããã¾ãï¼",loadFailed:"çµ±è¨ãã¼ã¿ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",noData:"鏿æéã«çµ±è¨ãã¼ã¿ãããã¾ãã",retry:"å試è¡"},SI={selectModel:"ã¢ãã«ã鏿",noConfiguredModels:"è¨å®æ¸ã¿ã¢ãã«ãããã¾ãã",noFreeModels:"å©ç¨å¯è½ãªç¡æã¢ãã«ãããã¾ãã",switchFailed:"ã¢ãã«ã®åãæ¿ãã«å¤±æãã¾ãã",searchModels:"ã¢ãã«ãæ¤ç´¢...",noModelsFound:"ä¸è´ããã¢ãã«ãè¦ã¤ããã¾ãã",free:"ç¡æ",vision:"è¦è¦",freeBannerText:"ç¡æã¢ãã«ã«ã¯å©ç¨å¶éããµã¼ãã¹ä¸å®å®ã®å¯è½æ§ãããã¾ãã詳細ã¯ãããã¤ãã¼ãã確èªãã ããã",moreProviders:"ãã®ä»ã®ç¡æãããã¤ãã¼ï¼API Key ãå¿
è¦ï¼",proBannerText:"è¨å®ãã¼ã¸ã§æ§ææ¸ã¿ã®ã¢ãã«ã®ã¿è¡¨ç¤ºã",connectToUse:"{{provider}} ã«æ¥ç¶ãã¦ç¡æã¢ãã«ãå©ç¨",configureApiKey:"{{provider}} ã® API Key ãè¨å®ãã¦ç¡æã¢ãã«ãå©ç¨",configureApiKeyTitle:"è¨å®ãã¼ã¸ã¸ç§»å",configureApiKeyConfirm:"ã¢ãã«è¨å®ãã¼ã¸ã«ç§»åã㦠{{provider}} ã® API Key ãè¨å®ãã¾ããç¶è¡ãã¾ããï¼",goToConfigure:"è¨å®ã¸",noModelsDiscovered:"æ¥ç¶æ¸ã¿ã
181ã¢ãã«èªã¿è¾¼ã¿ä¸...",oauthTitle:"{{provider}} ã«æ¥ç¶",oauthDescription:"{{provider}} ã¸ã®èªè¨¼ç¨ã«æ°ãããã©ã¦ã¶ã¦ã£ã³ãã¦ãéãã¾ããAPIãã¼ã¯èªåçã«ä¿åããã¾ãã",oauthContinue:"ç¶è¡",oauthWaiting:"èªè¨¼ãå¾
æ©ä¸...",oauthWaitingDescription:"ãã©ã¦ã¶ã¦ã£ã³ãã¦ã§èªè¨¼ãå®äºãã¦ãã ããã",oauthConnected:"{{provider}} ã«æ£å¸¸ã«æ¥ç¶ãã¾ãã",oauthFailed:"èªè¨¼ã«å¤±æãã¾ãããããä¸åº¦ã試ããã ãã",oauthTimeout:"èªè¨¼ãã¿ã¤ã ã¢ã¦ããã¾ãããããä¸åº¦ã試ããã ãã",viewMore:"ãã£ã¨è¦ã ({{count}})"},CI=JSON.parse('{"discoveryOriginApi":"API æ¤åº","discoveryOriginCatalog":"å
¬å¼ã«ã¿ãã°","discoveryOriginBoth":"API + ã«ã¿ãã°","availabilityAvailable":"å©ç¨å¯è½","availabilityPermissionDenied":"権éãªã","availabilityNotFound":"è¦ã¤ããã¾ãã","availabilityIncompatible":"ãã£ããé対å¿","availabilityRateLimited":"ã¬ã¼ãå¶éä¸","availabilityTransientError":"䏿çã«å©ç¨ä¸å¯","availabilityUnverified":"æªæ¤è¨¼","modelAlreadyConfigured":"è¨å®æ¸ã¿","llmConfiguration":"LLMè¨å®","providersTitle":"ãããã¤ãã¼","providersDescription":"åãããã¤ãã¼ã®APIãã¼ã¨ã¨ã³ããã¤ã³ããè¨å®ãã¾ãã","llmTitle":"ã¢ãã«","defaultLlm":"ããã©ã«ã LLM","llmDescription":"ããã§ã¯ã°ãã¼ãã«æ¢å®ã® LLM ã¢ãã«ãè¨å®ãã¾ããChat ãã¼ã¸ã§ã¯å Agent ãã¨ã«ä½¿ç¨ããã¢ãã«ãåå¥ã«é¸æã§ãã¾ãã","configureProvider":"{{name}} ãè¨å®","baseURL":"ãã¼ã¹URL","apiKey":"APIãã¼","advancedConfig":"詳細è¨å®","authMode":"èªè¨¼ã¢ã¼ã","authModeApiKey":"API Key (x-api-key)","authModeAuthToken":"Auth Token (Authorization: Bearer)","customHeaders":"ã«ã¹ã¿ã ãããã¼","customHeadersHint":"ãã¹ã¦ã® API ãªã¯ã¨ã¹ãã«è¿½å ããã¾ãï¼ä¾: x-app: cliï¼","customHeaderKey":"ãããã¼å","customHeaderValue":"ãããã¼å¤","addHeader":"+ ãããã¼ã追å ","generateConfig":"çæãã©ã¡ã¼ã¿è¨å®","generateConfigHint":"JSON å½¢å¼ã§æå®ããçæãã©ã¡ã¼ã¿è¨å®ã§ããå±éãããããã§çæãªã¯ã¨ã¹ãï¼`openai.chat.completions` ã¾ã㯠`anthropic.messages`ï¼ã«æ¸¡ããã¾ãã","generateConfigInvalidJson":"æå¹ãª JSON ãå
¥åãã¦ãã ãã","generateConfigMustBeObject":"çæãã©ã¡ã¼ã¿è¨å®ã¯ JSON ãªãã¸ã§ã¯ãã§ããå¿
è¦ãããã¾ã","modelAdvancedConfig":"ã¢ãã«è©³ç´°è¨å®","modelGenerateConfig":"ã¢ãã«çæãã©ã¡ã¼ã¿","modelGenerateConfigHint":"JSON å½¢å¼ã§æå®ãããã®ã¢ãã«å°ç¨ã®çæãã©ã¡ã¼ã¿è¨å®ã§ããå±éãããããã§çæãªã¯ã¨ã¹ãã«æ¸¡ããã¾ãããããã¤ãã¼ã¬ãã«ã®è©³ç´°è¨å®ããåªå
ããã¾ãã","modelConfigSaved":"ã¢ãã« {{name}} ã®è¨å®ãä¿åããã¾ãã","modelConfigSaveFailed":"ã¢ãã«è¨å®ã®ä¿åã«å¤±æãã¾ãã","modelConfigLabel":"ã¢ãã«è¨å®","maxTokensLabel":"æå¤§åºåãã¼ã¯ã³æ°","maxTokensHint":"1åã®ã¬ã¹ãã³ã¹ãããã®æå¤§åºåãã¼ã¯ã³æ°","maxInputLengthLabel":"æå¤§ã³ã³ããã¹ãé·","maxInputLengthHint":"ã¢ãã«ã®ã³ã³ããã¹ãã¦ã£ã³ãã¦ãµã¤ãºãã³ã³ããã¹ãå§ç¸®ã®ãããå¤ãå¶å¾¡ãã¾ãï¼â¥1000ï¼","relayReasoningLabel":"æèå
容ã転é","relayReasoningHint":"æ¨è«å
容ï¼reasoning contentsï¼ãå¾ç¶ã®ä¼è©±ã¿ã¼ã³ã«è»¢éãã¾ã","thinkingModeLabel":"æèãæå¹å","thinkingModeHint":"ãªã³ã«ããã¨æè/æ¨è«ãæå¹åããªãã«ããã¨æèãç¡å¹åãã¾ãã","thinkingBudgetLabel":"æèãã¸ã§ãã","thinkingBudgetHint":"ã¢ãã«ã®ããã©ã«ãæèãã¸ã§ããã使ç¨","switchToManual":"æåè¨å®","switchToAuto":"èªå","reasoningEffortLabel":"æ¨è«æ·±åº¦","reasoningEffortHint":"æ¨è«ã®æ·±ããå¶å¾¡ï¼OpenAIç³»ï¼","protocol":"ãããã³ã«","protocolHint":"ãã®è¨å®ã®ãããã¤ãã¼APIãããã³ã«ã鏿ãã¦ãã ããã","selectProtocol":"ãããã³ã«ã鏿ãã¦ãã ãã","protocolOpenAI":"OpenAIäºæï¼Chat Completionsï¼","protocolOpenAIResponse":"OpenAIäºæï¼Response APIï¼","protocolAnthropic":"Anthropicï¼Messages APIï¼","currentKey":"ç¾å¨: {{key}}","startsWith":"\\"{{prefix}}\\" ã§å§ã¾ã","optionalSelfHosted":"ã»ã«ããã¹ããµã¼ãã¹ã®å ´åã¯ä»»æ","leaveBlankKeep":"空æ¬ã®ã¾ã¾ã«ããã¨ç¾å¨ã®ãã¼ãç¶æãã¾ã","enterApiKey":"APIãã¼ãå
¥åï¼{{prefix}}...ï¼","enterApiKeyOptional":"APIãã¼ãå
¥åï¼ä»»æï¼","openAIEndpoint":"OpenAIã¨ã³ããã¤ã³ããä¾: https://api.openai.com/v1","openAICompatibleEndpoint":"OpenAIäºæã¨ã³ããã¤ã³ããä¾: https://api.example.comï¼ãããã¤ãã¼ãå¿
è¦ã¨ããå ´åã®ã
181¿ /v1 ã追å ï¼","azureEndpointHint":"Azure OpenAIã¨ã³ããã¤ã³ããä¾: https://<resource>.openai.azure.com/openai/v1","anthropicEndpointHint":"Anthropicã¨ã³ããã¤ã³ããä¾: https://api.anthropic.com","ollamaEndpointHint":"Ollamaã¨ã³ããã¤ã³ããä¾: http://localhost:11434","lmstudioEndpointHint":"LM Studioã¨ã³ããã¤ã³ããä¾: http://localhost:1234/v1","apiEndpointHint":"APIã¨ã³ããã¤ã³ããä¾: https://api.example.com","pleaseEnterBaseURL":"APIãã¼ã¹URLãå
¥åãã¦ãã ãã","selectBaseURL":"ãã¼ã¹URLã鏿ãã¦ãã ãã","selectBaseURLHint":"ãã®ãããã¤ãã¼ã®ãªã¼ã¸ã§ã³ã¨ã³ããã¤ã³ãã鏿","pleaseEnterValidURL":"æå¹ãªURLãå
¥åãã¦ãã ãã","apiKeyShouldStart":"APIãã¼ã¯ \\"{{prefix}}\\" ã§å§ã¾ãå¿
è¦ãããã¾ã","configurationSaved":"{{name}} ã®è¨å®ãä¿åãã¾ãã","failedToSaveConfig":"è¨å®ã®ä¿åã«å¤±æãã¾ãã","revokeAuthorization":"èªè¨¼ãåãæ¶ã","revokeConfirmContent":"{{name}} ã®APIãã¼ãåé¤ãã¦ãããããã§ããï¼ç¾å¨ã®LLMã¢ãã«è¨å®ãã¯ãªã¢ããã¾ãã","revokeConfirmSimple":"{{name}} ã®APIãã¼ãåé¤ãã¦ãããããã§ããï¼","authorizationRevoked":"{{name}} ã®èªè¨¼ãåãæ¶ããLLMã¢ãã«ãã¯ãªã¢ãã¾ãã","authorizationRevokedSimple":"{{name}} ã®èªè¨¼ãåãæ¶ãã¾ãã","failedToRevoke":"èªè¨¼ã®åãæ¶ãã«å¤±æãã¾ãã","active":"ã¢ã¯ãã£ã: {{provider}} / {{model}}","provider":"ãããã¤ãã¼","model":"ã¢ãã«","selectProvider":"ãããã¤ãã¼ã鏿ï¼èªè¨¼æ¸ã¿ã§ããå¿
è¦ãããã¾ãï¼","selectModel":"ã¢ãã«ã鏿","llmModelUpdated":"LLMã¢ãã«ãæ´æ°ãã¾ãã","failedToSave":"ä¿åã«å¤±æãã¾ãã","freeModelWarningTitle":"ç¡æã¢ãã«ã®ãæ¡å
","freeModelWarningMessage":"ç¡æã¢ãã«ã¯ãµã¼ãã¹ãä¸å®å®ã«ãªãå ´åãããã¾ãã詳細ã¯ãããã¤ãã¼ã®å©ç¨è¦ç´ãã確èªãã ããï¼","freeModelWarningDontShowAgain":"ä»å¾ã¯è¡¨ç¤ºããªã","saved":"ä¿åãã¾ãã","save":"ä¿å","cancel":"ãã£ã³ã»ã«","loading":"èªã¿è¾¼ã¿ä¸...","retry":"å試è¡","notSet":"æªè¨å®","notRequired":"ä¸è¦","available":"å©ç¨å¯è½","unavailable":"å©ç¨ä¸å¯","providerAvailable":"æºåå®äºï¼ã¢ãã«ããï¼","providerNoModels":"æªæºåï¼ã¢ãã«ãªãï¼","search":"æ¤ç´¢","searchPlaceholder":"ãããã¤ãã¼ãæ¤ç´¢...","searchModelPlaceholder":"ã¢ãã«ãæ¤ç´¢...","providerNotConfigured":"æªæºåï¼æªè¨å®ï¼","settings":"è¨å®","actions":"æä½","custom":"ã«ã¹ã¿ã ","builtin":"çµã¿è¾¼ã¿","freeTierGroup":"ç¡ææ ","paidGroup":"ææ","localCustomGroup":"ãã¼ã«ã« & ã«ã¹ã¿ã ","endpointCount":"{{count}} ã¨ã³ããã¤ã³ã","connect":"OAuth","saveApiKey":"ä¿å","addProvider":"ãããã¤ãã¼ã追å ","addProviderTitle":"ã«ã¹ã¿ã ãããã¤ãã¼ã追å ","providerIdLabel":"ãããã¤ãã¼ID","providerIdPlaceholder":"ä¾: openai, google, anthropic","providerIdHint":"å°æåã»æ°åã»ãã¤ãã³ã»ã¢ã³ãã¼ã¹ã³ã¢ã使ç¨ã§ãã¾ããå¾ãã夿´ã§ãã¾ããã","providerNameLabel":"表示å","providerNamePlaceholder":"ä¾: OpenAI, Google Gemini","defaultBaseUrlLabel":"ããã©ã«ããã¼ã¹URL","defaultBaseUrlPlaceholder":"ä¾: https://api.example.com","apiKeyPrefixLabel":"APIãã¼ãã¬ãã£ãã¯ã¹ï¼ä»»æï¼","apiKeyPrefixPlaceholder":"ä¾: sk-","providerCreated":"ãããã¤ãã¼ \\"{{name}}\\" ã使ãã¾ãã","providerCreateFailed":"ãããã¤ãã¼ã®ä½æã«å¤±æãã¾ãã","deleteProvider":"ãããã¤ãã¼ãåé¤","deleteProviderConfirm":"ã«ã¹ã¿ã ãããã¤ãã¼ \\"{{name}}\\" ã¨ãã¹ã¦ã®ã¢ãã«ãåé¤ãã¾ããï¼ãã®æä½ã¯åãæ¶ãã¾ããã","providerDeleted":"ãããã¤ãã¼ \\"{{name}}\\" ãåé¤ãã¾ãã","providerDeleteFailed":"ãããã¤ãã¼ã®åé¤ã«å¤±æãã¾ãã","manageModels":"ã¢ãã«","models":"ã¢ãã«","manageModelsTitle":"{{provider}} â ã¢ãã«ç®¡ç","userAdded":"ã¦ã¼ã¶ã¼è¿½å ","addModel":"ã¢ãã«ã追å ","addModels":"ã¢ãã«ã追å ","autoDiscoverModels":"ã¢ãã«ãèªåæ¤åº","addModelTitle":"{{provider}} ã«ã¢ãã«ã追å ","modelIdLabel":"ã¢ãã«ID","modelIdPlaceholder":"ä¾: gpt-4o, gemini-2.0-flash","modelDiscoveryUnavailableHint":"å©ç¨å¯è½ãªã¢ãã«ãè¦ã¤ããã¾ããã§ããããã®ãããã¤ãã¼ã¯ã¢ãã«ä¸è¦§ã®åå¾ã«å¯¾å¿
181ãã¦ããªãå¯è½æ§ããããããã¢ãã«IDãæåã§å
¥åãã¦ãã ããã","modelNameLabel":"ã¢ãã«å","modelNameRequired":"ã¢ãã«åãå
¥åãã¦ãã ãã","modelNamePlaceholder":"ä¾: GPT-4o, Gemini 2.0 Flash","modelAdded":"ã¢ãã« \\"{{name}}\\" ã追å ãã¾ãã","modelAddFailed":"ã¢ãã«ã®è¿½å ã«å¤±æãã¾ãã","modelAlreadyExists":"ã¢ãã« ID \\"{{id}}\\" ã¯æ¢ã«åå¨ãã¾ã","autoDiscoverModelsSuccess":"èªåæ¤åºãå®äºãã¾ããã{{count}} ä»¶ã®ã¢ãã«ã追å ãã¾ãã","autoDiscoverModelsNoNew":"èªåæ¤åºãå®äºãã¾ãããæ°ããã¢ãã«ã¯è¿½å ããã¾ããã§ãã","autoDiscoverModelsFailed":"ã¢ãã«ã®èªåæ¤åºã«å¤±æãã¾ãã","removeModel":"åé¤","removeModelConfirm":"{{provider}} ããã¢ãã« \\"{{name}}\\" ãåé¤ãã¾ããï¼","modelRemoved":"ã¢ãã« \\"{{name}}\\" ãåé¤ãã¾ãã","modelRemoveFailed":"ã¢ãã«ã®åé¤ã«å¤±æãã¾ãã","loadMore":"ãã£ã¨èªã¿è¾¼ã ({{count}})","modelsCount":"{{count}} ã¢ãã«","noModels":"ã¢ãã«ãªã","addModelFirst":"å
ã«ã¢ãã«ã追å ãã¦ãã ãã","local":"ãã¼ã«ã«","localType":"ã¿ã¤ã","localEmbedded":"çµã¿è¾¼ã¿ï¼ã¤ã³ããã»ã¹ï¼","localDownloadFirst":"ã¢ãã«ãµã¼ãã¹ã¯æªèµ·åã§ã","localDownloadModel":"ã¢ãã«ããã¦ã³ãã¼ã","localModelsTitle":"{{provider}} â ãã¼ã«ã«ã¢ãã«","localNoModels":"ã¾ã ãã¦ã³ãã¼ãæ¸ã¿ã¢ãã«ãããã¾ãã","localRepoId":"ã¢ãã«ãªãã¸ããªID","localRepoIdRequired":"ã¢ãã«ãªãã¸ããªIDãå
¥åãã¦ãã ãã","localRepoIdPlaceholder":"ä¾: Qwen/Qwen3-0.6B-GGUF","localFilename":"ãã¡ã¤ã«åï¼ä»»æï¼","localFilenamePlaceholder":"ä¾: mistral-7b.Q4_K_M.gguf","localFilenameHint":"空æ¬ã«ããã¨æé©ãªé
181ååãèªå鏿ããã¾ã","localSource":"ã½ã¼ã¹","localDownloadSuccess":"ã¢ãã«ã®ãã¦ã³ãã¼ãã«æåãã¾ãã","localDownloadFailed":"ã¢ãã«ã®ãã¦ã³ãã¼ãã«å¤±æãã¾ãã","localDeleteModel":"ã¢ãã«ãåé¤","localDeleteConfirm":"ãã¼ã«ã«ã¢ãã« \\"{{name}}\\" ãåé¤ãã¾ããï¼ã¢ãã«ãã¡ã¤ã«ã¯ãã£ã¹ã¯ããåé¤ããã¾ãã","localModelDeleted":"ã¢ãã« \\"{{name}}\\" ãåé¤ãã¾ãã","localDeleteFailed":"ã¢ãã«ã®åé¤ã«å¤±æãã¾ãã","localDownloadPending":"ãã¦ã³ãã¼ãã®æºåä¸...","localDownloading":"{{repo}} ããã¦ã³ãã¼ãä¸... æ°åãããå ´åãããã¾ãã","localDownloadNavigateHint":"ä»ã®ãã¼ã¸ã«ç§»åãã¦ãæ§ãã¾ããããã¦ã³ãã¼ãã¯ããã¯ã°ã©ã¦ã³ãã§ç¶ç¶ããã¾ãã","localDownloadInProgress":"ãã§ã«ãã¦ã³ãã¼ããé²è¡ä¸ã§ã","localDownloaded":"ãã¦ã³ãã¼ãæ¸ã¿","localNotDownloaded":"æªãã¦ã³ãã¼ã","localNoRecommendedModels":"ç¾å¨ã®ãã·ã³æ§è½ã§ã¯ãã¼ã«ã«ã¢ãã«ã®å®è¡ã«åãã¦ãã¾ãã","localCancelDownloadTitle":"ãã¦ã³ãã¼ãããã£ã³ã»ã«","localCancelDownloadAction":"ãã¦ã³ãã¼ãããã£ã³ã»ã«","localCancelDownloadConfirm":"\\"{{repo}}\\" ã®ãã¦ã³ãã¼ãããã£ã³ã»ã«ãã¾ããï¼","localDownloadCancelled":"ãã¦ã³ãã¼ãããã£ã³ã»ã«ãã¾ãã","localCancelDownloadFailed":"ãã¦ã³ãã¼ãã®ãã£ã³ã»ã«ã«å¤±æãã¾ãã","localLlamacppName":"æ¨è«ã¨ã³ã¸ã³","localLlamacppInstallHint":"ã¢ãã«ã®ãã¦ã³ãã¼ããèµ·åã®åã«ãã¼ã«ã«ã©ã³ã¿ã¤ã ãã¤ã³ã¹ãã¼ã«ãã¦ãã ããã","localInstallLlamacpp":"llama.cpp ãã¤ã³ã¹ãã¼ã«","localLlamacppInstallStarted":"llama.cpp ã®ãã¦ã³ãã¼ããéå§ãã¾ãã","localLlamacppInstallSuccess":"llama.cpp ã®ã¤ã³ã¹ãã¼ã«ãå®äºãã¾ãã","localLlamacppInstallFailed":"llama.cpp ã®ã¤ã³ã¹ãã¼ã«ã«å¤±æãã¾ãã","localRuntimeSectionTitle":"Inference Engine","localRuntimeSectionDescription":"Powered by Llama.cpp","localRuntimeComputeHint":"ããã©ã«ãã§ã¯ CPU ã使ç¨ãã¾ããGPU ã¢ã¯ã»ã©ã¬ã¼ã·ã§ã³ãå¿
è¦ãªå ´åã¯ãOllama ã¾ã㯠LM Studio ã使ç¨ãã¦ãã ããã","localRuntimeInstalled":"ã¤ã³ã¹ãã¼ã«æ¸ã¿","localRuntimeUpdateAvailable":"æ´æ°å¯è½","localRuntimeUpdateAction":"ã¯ãªãã¯ãã¦ææ°ãã¼ã¸ã§ã³ããã¦ã³ãã¼ã","localRuntimeUpdateConfirmTitle":"llama.cpp ã®æ´æ°ã確èª","localRuntimeUpdateConfirmContent":"æ´æ°ããã¨ãç¾å¨ã¤ã³ã¹ãã¼ã«ããã¦ãã llama.cpp ã䏿¸ãããã¾ãã確èªããã¨ææ°ãã¼ã¸ã§ã³ã®ãã¦ã³ãã¼ãã¨ã¤ã³ã¹ãã¼ã«ãéå§ãã¾ãã","localRuntimeUpdateConfirmContentWithServer":"æ´æ°ããã¨ãç¾å¨ã¤ã³ã¹ãã¼ã«ããã¦ãã llama.cpp ã䏿¸ããããç¾å¨å®è¡ä¸ã®ã¢ãã«ãµã¼ãã¹ï¼{{model}}ï¼ã忢ãã¾ãã確èªããã¨ææ°ãã¼ã¸ã§ã³ã®ãã¦ã³ãã¼ãã¨ã¤ã³ã¹ãã¼ã«ãéå§ãã¾ãã","localRuntimeUnsupported":"æªå¯¾å¿","localRuntimeMissing":"æªå°å
¥","localServerRunningTitle":"ç¾å¨ã®ãã¼ã«ã«ãµã¼ãã¼","localServerOnline":"稼åä¸","localServerIdle":"忢","localServerUnavailable":"ç°å¸¸","localNoActiveModel":"å®è¡ä¸ã®ã¢ãã«ã¯ããã¾ãã","localNoDownloadedModelsHint":"ãã¼ã«ã«æ¨è«ãµã¼ãã¹ãèµ·åããåã«ãé©åãªã¢ãã«ããã¦ã³ãã¼ããã¦ãã ããã","localDownloadModelFirst":"å
ã«ã¢ãã«ããã¦ã³ãã¼ããã¦ãã ãã","localEngineInstallStateLabel":"å°å
¥","localEngineRunStateLabel":"ç¶æ
","localEngineCurrentModelLabel":"ç¾å¨æä¾ä¸ã®ã¢ãã«","localEngineNextStepLabel":"次ã®ã¹ããã","localEngineHealthLabel":"ã¨ã³ã¸ã³ç¶æ
","localEngineStatusHint":"ä¸ã®ä¸è¦§ããé©åãªã¢ãã«ããã¦ã³ãã¼ããã¦èµ·åãã¦ãã ãã","localStartServer":"èµ·å","localStopServer":"忢","localServerStartFailed":"ãã¼ã«ã«ãµã¼ãã¼ã®èµ·åã«å¤±æãã¾ãã","localServerStopFailed":"ãã¼ã«ã«ãµã¼ãã¼ã®åæ¢ã«å¤±æãã¾ãã","localServerSwitchTitle":"å®è¡ä¸ã¢ãã«ãåãæ¿ã","localServerSwitchConfirm":"ç¾å¨ {{current}} ãå®è¡ä¸ã§ãã{{next}} ã«åãæ¿ãã¾ããï¼","localSwitchModel":"åãæ¿ã","localModelPathMissing":"ãã®ãã¦ã³ãã¼ãæ¸ã¿ã¢ãã«ã«ã¯ãã¼ã«ã«ãã¹æ
å ±ãããã¾ããã","localModelsSectionTitle":"ãã¼ã«ã«ã¢ãã«","localModelsSectionDescription":"ãã¦ã³ãã¼ãæ¸ã¿ã¢ãã«ã¯ããã«èµ·åã§ãã¾ããåæã«å®è¡ã§ããã®ã¯ 1 ã¤ã®ã¢ãã«ãã¦ã³ãã¼ã㨠1 ã¤ã®ãã¼ã«ã«ãµã¼ãã¼ã ãã§ãã","localModelsLockedHint":"å
ã« llama.cpp ãã¤ã³ã¹ãã¼ã«ãã¦ãã ãã","localAlternativeRuntimeHint":"Ollama ã¾ã㯠LM Studio ãã試ããã ãã","localModelsCount":"ãã¦ã³ãã¼ãæ¸ã¿ {{downloaded}} / {{total}}","localCurrentDownloadTitle":"ç¾å¨ã®ãã¦ã³ãã¼ã","localAdvancedConfigTitle":"ãã¼ã«ã«ã¢ãã«è©³ç´°è¨å®","localAdvancedConfigDescription":"ãããã®è¨å®ã¯çµã¿è¾¼ã¿ã®ãã¼ã«ã«æ¨è«ã©ã³ã¿ã¤ã ã«é©ç¨ããã¾ããæå¤§ã³ã³ããã¹ãé·ã®å¤æ´ã¯ã次åãã¼ã«ã«ãµã¼ãã¼èµ·åæã«åæ ããã¾ãã","localAdvancedConfigSaved":"ãã¼ã«ã«ã¢ãã«è©³ç´°è¨å®ãä¿åãã¾ãã","localAdvancedConfigSaveFailed":"ãã¼ã«ã«ã¢ãã«è©³ç´°è¨å®ã®ä¿åã«å¤±æãã¾ãã","localMaxContextLengthLabel":"æå¤§ã³ã³ããã¹ãé·","localMaxContextLengthHint":"ã¢ãã«ã®ã³ã³ããã¹ãã¦ã£ã³ãã¦ã§æ±ããæå¤§ãã¼ã¯ã³æ°ã§ããåãªã¯ã¨ã¹ãã«å«ããããå±¥æ´é·ã決å®ãã¾ãã夿´ã¯æ¬¡åãã¼ã«ã«ãµã¼ãã¼èµ·åæã«åæ ããã¾ãã","localMaxContextLengthRequired":"æå¤§ã³ã³ããã¹ãé·ãå
¥åãã¦ãã ãã","localMaxContextLengthMin":"æå¤§ã³ã³ããã¹ãé·ã¯ {{min}} 以ä¸ã§ããå¿
è¦ãããã¾ã","localMaxContextLengthPlaceholder":"æå¤§ã³ã³ããã¹ãé·ãå
¥å","localServerPortLabel":"ãµã¼ãã¼ãã¼ã","localServerPortHint":"空æ¬ã®å ´åãllama.cpp ã¯èµ·åæã«å©ç¨å¯è½ãªãã¼ããèªå鏿ãã¾ãããã¼ãçªå·ãå
¥åããã¨ã以å¾ã®èµ·åã§ãã®åºå®ãã¼ããåå©ç¨ãã¾ãã夿´ã¯æ¬¡åãã¼ã«ã«ãµã¼ãã¼èµ·åæã«åæ ããã¾ãã","localServerPortRange":"ãµã¼ãã¼ãã¼ã㯠{{min}} ãã {{max}} ã®ç¯å²ã§æå®ãã¦ãã ãã","localServerPortPlaceholder":"空æ¬ã§èªåãã¼ã鏿","localGenerateConfigHint":"ãã¼ã«ã«ã¢ãã«ã®çæãã©ã¡ã¼ã¿ã JSON ãªãã¸ã§ã¯ãã§è¨å®ãã¾ããå¾ç¶ã®çæãªã¯ã¨ã¹ãã«å±éãã¦æ¸¡ããã¾ãã","localCustomModelTitle":"ã«ã¹ã¿ã ã¢ãã«ã®ãã¦ã³ãã¼ã","localCustomModelHint":"ã¢ãã«ãªãã¸ããªIDãå
¥åãã¾ããGGUFå½¢å¼ã®ã¿å¯¾å¿ã","localSourceHuggingFace":"Hugging Face","localSourceModelScope":"ModelScope","ollamaModelNamePlaceholder":"ä¾: mistral:7b, qwen3:8b","testConnection":"æ¥ç¶ãã¹ã","testConnectionSuccess":"æ¥ç¶ãã¹ãã«æåãã¾ãã","testConnectionFailed":"æ¥ç¶ãã¹ãã«å¤±æãã¾ãã","testConnectionFailedWithMessage":"æ¥ç¶ãã¹ãã«å¤±æãã¾ãã: {{message}}","testConnectionError":"æ¥ç¶ãã¹ãä¸ã«ã¨ã©ã¼ãçºçãã¾ãã","discoverModels":"ã¢ãã«ãæ¤åº","discoverModelsFailed":"ã¢ãã«ã®æ¤åºã«å¤±æãã¾ãã","ollamaFetchModelsFailed":"Ollamaã¢ãã«ã®åå¾ã«å¤±æãã¾ãããã¨ã©ã¼ã®è©³ç´°ã確èªãã¦ãã ããã","modelTestFailed":"ã¢ãã«ã®æ¤è¨¼ã«å¤±æãã¾ãããã¢ãã«IDãæ£ããã確èªãã¦ãã ãã","modelTestFailedConfirm":"ã¢ãã«ã®æ¥ç¶ãã¹ãã«å¤±æãã¾ãã: {{message}}ããã®ã¢ãã«ã追å ãã¾ããï¼","autoDiscoveredAndAdded":"{{count}} ä»¶ã®ã¢ãã«ãèªåæ¤åºãã{{added}}
181 ä»¶ã®æ°è¦ã¢ãã«ã追å ãã¾ãã","autoDiscoveredNoNew":"{{count}} ä»¶ã®ã¢ãã«ãèªåæ¤åºãã¾ãããã¢ãã«ãªã¹ãã¯ãã§ã«ææ°ã§ã","autoDiscoverFailed":"ã¢ãã«ã®èªåæ¤åºã«å¤±æãã¾ãããæåã§ã¢ãã«ã追å ã§ãã¾ã","tagImage":"ç»å","tagVideo":"åç»","tagTextOnly":"ããã¹ãã®ã¿","tagMultimodal":"ãã«ãã¢ã¼ãã«","tagVision":"ãã¸ã§ã³","tagText":"ããã¹ã","free":"ç¡æ","tagNotProbed":"æªæ¤åº","probeMultimodal":"ãã«ãã¢ã¼ãã«ãã¹ã","probeImage":"ç»å","probeVideo":"åç»","probeSupported":"対å¿: {{types}}","probeNotSupported":"ãã®ã¢ãã«ã¯ãã«ãã¢ã¼ãã«å
¥åã«å¯¾å¿ãã¦ãã¾ãã","probeFailed":"æ¤åºã«å¤±æãã¾ãã","modalityVision":"ç»å","modalityAudio":"é³å£°","modalityVideo":"åç»","modalityFile":"ãã¡ã¤ã«","modalityText":"ããã¹ãã®ã¿","searchProviderPlaceholder":"ãããã¤ãã¼åãæ¤ç´¢","selectAllProviders":"ãã¹ã¦é¸æ","clearProviderSelection":"ãã¹ã¦è§£é¤","noMatchingProviders":"ä¸è´ãããããã¤ãã¼ãããã¾ãã","filterFreeOnly":"ç¡æã¢ãã«ã®ã¿"}'),wI={title:"ãã¡ã¤ã«",navigator:"ãã¡ã¤ã«ããã²ã¼ã¿ã¼",source:"ã½ã¼ã¹",workspace:"ã¯ã¼ã¯ã¹ãã¼ã¹",profile:"ãããã£ã¼ã«",memory:"é·æè¨æ¶",daily:"æ¥è¨",digest:"ãã¬ãã¸ãã¼ã¹",memoryGraph:"ã¡ã¢ãªã°ã©ã",memoryGraphShort:"ã°ã©ã",memoryGraphLoading:"ã¡ã¢ãªã°ã©ããèªã¿è¾¼ã¿ä¸â¦",memoryGraphLoadFailed:"ã¡ã¢ãªã°ã©ããèªã¿è¾¼ãã¾ããã§ããã",memoryGraphCounts:"{{nodes}} ãã¼ã · {{edges}} ãªã³ã¯",memoryGraphEmpty:"ã¤ã³ããã¯ã¹æ¸ã¿ã®ã¡ã¢ãªãªã³ã¯ã¯ããã¾ããã",memoryGraphZoomOut:"縮å°",memoryGraphZoomIn:"æ¡å¤§",memoryGraphFit:"å
¨ä½ã表示",memoryGraphRoot:"ã«ã¼ã",memoryGraphRootDirect:"ç´çµãã¡ã¤ã«",memoryGraphOtherFile:"ãã®ä»ã®ãã¡ã¤ã«",memoryGraphIndexed:"ã¤ã³ããã¯ã¹æ¸ã¿ãã¡ã¤ã«",memoryGraphUnresolved:"æªè§£æ±ºãªã³ã¯",memoryGraphDirection:"Wiki ãªã³ã¯ã®æ¹å",memoryGraphOpenFile:"Markdownãéã",memoryGraphOutbound:"çºãªã³ã¯ · {{count}}",memoryGraphInbound:"被ãªã³ã¯ · {{count}}",projectDirectory:"ããã¸ã§ã¯ããã£ã¬ã¯ããª",workspaceDirectory:"è¨å®ãã£ã¬ã¯ããª",switchRoot:"ãã£ã¬ã¯ããªãåãæ¿ã",manageDirs:"ãã£ã¬ã¯ããªã管çâ¦",primaryRoot:"ã¡ã¤ã³",rootMissing:"è¦ã¤ããã¾ãã",rootsPending:"ä» {{count}} ä»¶ã¯æåã®ã¡ãã»ã¼ã¸éä¿¡å¾ã«å©ç¨ã§ãã¾ã",sourceEmpty:"ãã®ã½ã¼ã¹ã«ã¯ã¾ã ãã¡ã¤ã«ãããã¾ããã",loadMore:"次ã®200ä»¶ãèªã¿è¾¼ã",upload:"ãã¡ã¤ã«ãã¢ãããã¼ã",conflictPolicy:"ã¢ãããã¼ãç«¶åããªã·ã¼",conflictRename:"両æ¹ãä¿æ",conflictRenameDescription:"æ°ãããã¡ã¤ã«åã«çªå·ãä»ããæ¢åãã¡ã¤ã«ãä¿æãã¾ãã",conflictSkip:"æ¢åãä¿æ",conflictSkipDescription:"ååã®æ°è¦ãã¡ã¤ã«ãã¹ãããããæ®ããã¢ãããã¼ããã¾ãã",conflictOverwrite:"æ°ãããã¡ã¤ã«ã使ç¨",conflictOverwriteDescription:"æ¢åãã¡ã¤ã«ãæ°ãããã¡ã¤ã«ã§ç½®ãæãã¾ãã",uploadConflictTitle:"ååãã¡ã¤ã«ãããã¾ã",uploadConflictDescription:"次ã®ãã¡ã¤ã«ã¯æ¢ã«åå¨ãã¾ãï¼{{files}}ãå¦çæ¹æ³ã鏿ãã¦ãã ããã",promptToggle:"{{name}} ãã·ã¹ãã ããã³ããã«å«ãããåãæ¿ãã¾ã",addSystemPrompt:"ã¯ã¼ã¯ã¹ãã¼ã¹ãã追å ",addSystemPromptTitle:"ã·ã¹ãã ããã³ãããã¡ã¤ã«ã追å ",addSystemPromptDescription:"ã·ã¹ãã ããã³ããã«å«ããã¯ã¼ã¯ã¹ãã¼ã¹ã® Markdown ãã¡ã¤ã«ã鏿ãã¾ãã",searchSystemPromptFiles:"ã¯ã¼ã¯ã¹ãã¼ã¹ã® Markdown ãã¡ã¤ã«ãæ¤ç´¢",noSystemPromptCandidates:"ä¸è´ãããã¡ã¤ã«ã¯ããã¾ããã",sourceControl:"ã½ã¼ã¹ç®¡ç",preview:"ãã¬ãã¥ã¼",edit:"ç·¨é",selectFile:"éããã¡ã¤ã«ã鏿",closeTab:"ã¿ããéãã",closeOtherTabs:"ä»ã®ã¿ããéãã",closeAllTabs:"ãã¹ã¦ã®ã¿ããéãã",openFiles:"éãã¦ãããã¡ã¤ã«ã{{count}}ä»¶",openFilesLabel:"éãã¦ãããã¡ã¤ã«",openFileCount:"{{count}}ä»¶ãéãã¦ãã¾ã",searchOpenFiles:"ãã¡ã¤ã«åã¾ãã¯ãã¹ãæ¤ç´¢",noOpenFilesFound:"ä¸è´ãããã¡ã¤ã«ã¯ããã¾ãã",scrollTabsLeft:"ã¿ããå·¦ã¸ã¹ã¯ãã¼ã«",scrollTabsRight:"ã¿ããå³ã¸ã¹ã¯ãã¼ã«",agentChangedFile:"ã¨ã¼ã¸ã§ã³ãããã®ãã¡ã¤ã«ã夿´ãã¾ãã",keep:"ä¿æ",keepAll:"ãã¹ã¦ä¿æ",undo:"å
ã«æ»ã",undoAll:"ãã¹ã¦å
ã«æ»ã",copySelectionToChat:"鏿ç¯å²ããã£ããã«ã
181³ãã¼",copyFileToChat:"ãã¡ã¤ã«ããã£ããã«ã³ãã¼",previewSize:"ãã¬ãã¥ã¼ · {{size}} ãã¤ã",backToPreview:"ãã¬ãã¥ã¼ã«æ»ã",download:"ãã¦ã³ãã¼ã",downloadFailed:"ãã¡ã¤ã«ããã¦ã³ãã¼ãã§ãã¾ããã§ãã",resize:"ãã¡ã¤ã«ããã¯ã¼ã®å¹
ã夿´",loadFailed:"ãã¡ã¤ã«ãèªã¿è¾¼ãã¾ããã§ãããç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹ã®ã¡ã¤ã³ä½æ¥ãã£ã¬ã¯ããªã«ãã¡ã¤ã«ããããã¨ã確èªãã¦ãã ããã",previewUnavailable:"ãã¬ãã¥ã¼ã§ãã¾ãããã¡ã¿ãã¼ã¿ã®è¡¨ç¤ºã¨ãã¦ã³ãã¼ãã¯å©ç¨ã§ãã¾ãã",mentionInChat:"ãã£ããã§åç
§",expandWorkspace:"ã¯ã¼ã¯ã¹ãã¼ã¹ãå±é",openWorkspace:"ã¯ã¼ã¯ã¹ãã¼ã¹ãéã",closeWorkspace:"ã¯ã¼ã¯ã¹ãã¼ã¹ãéãã"},PI={agentTitle:"ã¨ã¼ã¸ã§ã³ãã®ããã¸ã§ã¯ããã£ã¬ã¯ããª",sessionTitle:"ã»ãã·ã§ã³ã®ããã¸ã§ã¯ããã£ã¬ã¯ããª",pathPlaceholder:"絶対ãã£ã¬ã¯ããªãã¹ãå
¥å",recentProjects:"æè¿ã®ããã¸ã§ã¯ã",browseDirectory:"ãã£ã¬ã¯ããªãåç
§",noRecentProjects:"æè¿ã®ããã¸ã§ã¯ãã¯ããã¾ãã",clearSelection:"鏿ããããã¸ã§ã¯ããè§£é¤",homeDirectory:"ãã¼ã ãã£ã¬ã¯ããª",parentDirectory:"親ãã£ã¬ã¯ããª",refreshDirectory:"ãã£ã¬ã¯ããªãæ´æ°",restoreDefault:"æ¢å®ã«æ»ã",createDirectory:"æ°ãããã©ã«ãã¼ã使",directoryNamePlaceholder:"ãã©ã«ãã¼åãå
¥å",createDirectoryFailed:"ãã©ã«ãã¼ã使ã§ãã¾ããã§ãã",useWorkspace:"è¨å®ãã£ã¬ã¯ããªã使ç¨",createSessionHint:"æåã®ã¡ãã»ã¼ã¸éä¿¡å¾ã«ã»ãã·ã§ã³å°ç¨ãã£ã¬ã¯ããªãè¨å®ã§ãã¾ãã",sessionSource:"ã»ãã·ã§ã³",agentSource:"ã¨ã¼ã¸ã§ã³ãæ¢å®",makePrimary:"主ã«ãã",remove:"åé¤",add:"追å ",boundDirs:"追å ããããã¸ã§ã¯ããã£ã¬ã¯ããª",primaryHint:"ãã¼ã«å¼ã³åºãã¨ã³ãã³ãã¯æ¢å®ã§ã¡ã¤ã³ãã£ã¬ã¯ããªã§å®è¡ããã¾ãã",primaryTag:"ã¡ã¤ã³",unbound:"ãã¤ã³ãããããã£ã¬ã¯ããªãªã",unavailable:"è¦ã¤ããã¾ãã",alreadyBound:"æ¢ã«ãã¤ã³ãæ¸ã¿",tooMany:"ãã¤ã³ãã§ãããã£ã¬ã¯ããªã¯æå¤§ {{max}} ä»¶ã§ãã",countTitle:"è¨å®æ¸ã¿ãã£ã¬ã¯ããªæ°"},AI=JSON.parse('{"title":"è¨å®","projectDirectoryTitle":"æ¢å®ã®ããã¸ã§ã¯ããã£ã¬ã¯ããª","projectDirectoryDescription":"ãã¡ã¤ã«ã¨ã³ãã³ãã§ä½¿ç¨ããæ¢å®ãã£ã¬ã¯ããªã§ãã","projectDirectoryDefault":"ã¨ã¼ã¸ã§ã³ãã®æ¢å®å¤","changeProjectDirectory":"ãã£ã¬ã¯ããªã夿´","projectDirectoryWorkspaceFallback":"ã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹ã使ç¨ä¸","enhancedCodeCapability":"ã³ã¼ãè½åãå¼·å","enhancedCodeCapabilityTooltip":"ããã¸ã§ã¯ããã£ã¬ã¯ããªã夿´ããã«ã³ã¼ããã¼ã«ã追å ãã¾ãã","enhancedCodeCapabilityDescription":"ASTãLSPãã³ã¼ãããã³ãããGitã³ã³ããã¹ããã½ã¼ã¹ç®¡çãæå¹ã«ãã¾ãã","description":"ã¨ã¼ã¸ã§ã³ãã®ã©ã³ã¿ã¤ã ãã©ã¡ã¼ã¿ã¼ãè¨å®ãã¾ã","reactAgentTitle":"ReActã¨ã¼ã¸ã§ã³ã","llmRetryTitle":"LLMèªåå試è¡","llmRetryEnabled":"èªåå試è¡ãæå¹å","llmRetryEnabledTooltip":"ã¬ã¼ãå¶éãã¿ã¤ã ã¢ã¦ããæ¥ç¶ã¨ã©ã¼ãªã©ã®ä¸æçãªLLM API失æãèªåã§å試è¡ãã¾ããä¿åå¾ãæ°ãããªã¯ã¨ã¹ãã«é©ç¨ããã¾ãã","llmMaxRetries":"æå¤§å試è¡åæ°","llmMaxRetriesTooltip":"å試è¡å¯è½ãªLLMã¨ã©ã¼ãçºçããå ´åã®è¿½å å試è¡åæ°ã®ä¸éã§ãã","llmMaxRetriesPlaceholder":"æå¤§å試è¡åæ°ãå
¥å","llmMaxRetriesRequired":"æå¤§å試è¡åæ°ã¯å¿
é ã§ã","llmMaxRetriesMin":"æå¤§å試è¡åæ°ã¯1以ä¸ã§ããå¿
è¦ãããã¾ã","llmBackoffBase":"ããã¯ãªãåæå¾
æ©æéï¼ç§ï¼","llmBackoffBaseTooltip":"æåã®å試è¡ã¾ã§ã®åºæ¬å¾
æ©æéã§ãã以éã¯ææ°ããã¯ãªãã§å¢å ãã¾ãã","llmBackoffBasePlaceholder":"åæå¾
æ©æéãå
¥å","llmBackoffBaseRequired":"ããã¯ãªãåæå¾
æ©æéã¯å¿
é ã§ã","llmBackoffBaseMin":"ããã¯ãªãåæå¾
æ©æéã¯0.1ç§ä»¥ä¸ã§ããå¿
è¦ãããã¾ã","llmBackoffCap":"ããã¯ãªãæå¤§å¾
æ©æéï¼ç§ï¼","llmBackoffCapTooltip":"ææ°ããã¯ãªãã®å¾
æ©æéã®ä¸éã§ãã","llmBackoffCapPlaceholder":"æå¤§å¾
æ©æéãå
¥å","llmBackoffCapRequired":"ããã¯ãªãæå¤§å¾
æ©æéã¯å¿
é ã§ã","llmBackoffCapMin":"ããã¯ãªãæå¤§å¾
æ©æéã¯0.5ç§ä»¥ä¸ã§ããå¿
è¦ãããã¾ã","llmBackoffCapGteBase":"ããã¯ãªãæå¤§å¾
æ©æéã¯åæå¾
æ©æé以ä¸ã§ããå¿
è¦ãããã¾ã","llmRateLimiterTitle":"LLMã¬ã¼ããªããã¿ã¼","llmMaxConcurrent":"æå¤§åæãªã¯ã¨ã¹ãæ°","llmMaxConcurrentTooltip":"åæã«å®è¡ã§ããLLMãªã¯ã¨ã¹ãã®ä¸éã§ãããã¹ã¦ã®Agentã§å
±æããã¾ãã夿´ã¯åèµ·åå¾ã«åæ ããã¾ãã","llmMaxConcurrentPlaceholder":"æå¤§åæãªã¯ã¨ã¹ãæ°ãå
¥å","llmMaxConcurrentRequired":"æå¤§åæãªã¯ã¨ã¹ãæ°ã¯å¿
é ã§ã","llmMaxConcurrentRange":"æå¤§åæãªã¯ã¨ã¹ãæ°ã¯1以ä¸ã§ããå¿
è¦ãããã¾ã","llmMaxQpm":"æå¤§ã¯ã¨ãªæ°/åï¼QPMï¼","llmMaxQpmTooltip":"60ç§ã¹ã©ã¤ãã£ã³ã°ã¦ã£ã³ãã¦å
ã§è¨±å¯ãããæå¤§ãªã¯ã¨ã¹ãæ°ã§ããä¸éãè¶
ãããªã¯ã¨ã¹ãã¯ãã£ã¹ãããåã«å¾
æ©ãã429ã¬ã¼ãå¶éã¨ã©ã¼ãæªç¶ã«é²ãã¾ãã0 = ç¡å¶éã","llmMaxQpmPlaceholder":"æå¤§QPMãå
¥åï¼0 = ç¡å¶éï¼","llmMaxQpmRequired":"æå¤§QPMã¯å¿
é ã§ã","llmMaxQpmRange":"æå¤§QPMã¯0以ä¸ã§ããå¿
è¦ãããã¾ã","llmRateLimitPause":"ã¬ã¼ãå¶é䏿忢ï¼ç§ï¼","llmRateLimitPauseTooltip":"429ã¬ã¼ãå¶éã¬ã¹ãã³ã¹ãåä¿¡ããéã«é©ç¨ãããããã©ã«ãã®ä¸æåæ¢æéï¼ç§ï¼ã§ããAPIã®Retry-Afterãããã¼ãåå¨ããå ´åã¯ãã¡ããåªå
ããã¾ãã","llmRateLimitPausePlaceholder":"䏿忢æéãå
¥å","llmRateLimitPauseRequired":"ã¬ã¼ãå¶é䏿忢æéã¯å¿
é ã§ã","llmRateLimitPauseMin":"ã¬ã¼ãå¶é䏿忢æéã¯1ç§ä»¥ä¸ã§ããå¿
è¦ãããã¾ã","llmRateLimitJitter":"ã¸ãã¿ã¼ç¯å²ï¼ç§ï¼","llmRateLimitJitterTooltip":"䏿忢æéã«è¿½å ãããã©ã³ãã ãªã¸ãã¿ã¼ç¯å²ï¼ç§ï¼ã§ããåæå¾
æ©è
ã®èµ·åºãããããã¨ã§æ°ããªãã¼ã¹ããé²ãã¾ãã","llmRateLimitJitterPlaceholder":"ã¸ãã¿ã¼ç¯å²ãå
¥å","llmRateLimitJitterRequired":"ã¸ãã¿ã¼ç¯å²ã¯å¿
é ã§ã","llmRateLimitJitterMin":"ã¸ãã¿ã¼ç¯å²ã¯0ç§ä»¥ä¸ã§ããå¿
è¦ãããã¾ã","llmAcquireTimeout":"ã¹ãããåå¾ã¿ã¤ã ã¢ã¦ãï¼ç§ï¼","llmAcquireTimeoutTooltip":"ã¬ã¼ããªãã¿ã¼ã¹ãããã®åå¾ãå¾
æ©ããæå¤§æéï¼ç§ï¼ã§ããã¿ã¤ã ã¢ã¦ãå¾ã
181¯ã¨ã©ã¼ãçºçãã¾ãã","llmAcquireTimeoutPlaceholder":"ã¿ã¤ã ã¢ã¦ãæéãå
¥å","llmAcquireTimeoutRequired":"ã¹ãããåå¾ã¿ã¤ã ã¢ã¦ãã¯å¿
é ã§ã","llmAcquireTimeoutMin":"ã¹ãããåå¾ã¿ã¤ã ã¢ã¦ãã¯10ç§ä»¥ä¸ã§ããå¿
è¦ãããã¾ã","llmAcquireTimeoutGtPauseJitter":"ã¹ãããåå¾ã¿ã¤ã ã¢ã¦ãã¯ã¬ã¼ãå¶é䏿忢ã¨ã¸ãã¿ã¼ã®åè¨ãã大ããå¿
è¦ãããã¾ã","contextManagementTitle":"ã³ã³ããã¹ã管ç","memoryManagerBackend":"é·æè¨æ¶ç®¡çããã¯ã¨ã³ã","memoryManagerBackendTooltip":"ã¡ã¢ãªããã¼ã¸ã£ã¼ã®ããã¯ã¨ã³ãã¿ã¤ããremelightï¼ãã¼ã«ã«ãã¡ã¤ã«ï¼ãadbpgï¼ã¯ã©ã¦ããã¼ã¿ãã¼ã¹ï¼ãPowerContextï¼ãªã¢ã¼ãã¡ã¢ãªãµã¼ãã¹ï¼ãã¾ã㯠noneï¼ã¡ã¢ãªãç¡å¹åï¼ãã鏿ã§ãã¾ãã","memoryManagerBackendRestartWarning":"é·æè¨æ¶ç®¡çããã¯ã¨ã³ãã®åãæ¿ãã¯ããããªãã¼ãã«å¯¾å¿ãã¦ãã¾ããã夿´ãåæ ããã«ã¯ä¿åå¾ã« QwenPaw ãåèµ·åãã¦ãã ããã","maxIters":"æå¤§å復忰","maxItersTooltip":"ReActã¨ã¼ã¸ã§ã³ãã®æ¨è«ã»è¡åãµã¤ã¯ã«ã®æå¤§å復忰","maxItersPlaceholder":"æå¤§å復忰ãå
¥å","maxItersRequired":"æå¤§å復忰ã¯å¿
é ã§ã","maxItersMin":"æå¤§å復忰ã¯1以ä¸ã§ããå¿
è¦ãããã¾ã","agentLoopTitle":"ã¨ã¼ã¸ã§ã³ã Loop è¨å®","loopMode":{"builtIn":"çµã¿è¾¼ã¿","builtInNote":"ãã¤ãã©ã¤ã³åºå® · å¤ã¯ç·¨éå¯è½","templateSectionTitle":"Loop ãã³ãã¬ã¼ã","templateSectionDescription":"çµã¿è¾¼ã¿ãã³ãã¬ã¼ãã鏿ããããç¬èªã«è¿½å ãã¾ãã","defaultTab":"ããã©ã«ã","goalTab":"ã´ã¼ã«","missionTab":"ããã·ã§ã³","defaultDescription":"æç¤ºçãªã¢ã¼ã以å¤ã§ä½¿ç¨ããæ¨æºã®ä¿è·ä»ã ReAct Loopã","goalDescription":"å
·ä½çã§æ¤è¨¼å¯è½ãªã´ã¼ã«åãã®æç¶ Loopã","missionDescription":"é·æéã®è¤æ°ã¹ãããããã·ã§ã³åããã¤ãã©ã¤ã³ã","gatePipeline":"Gate ãã¤ãã©ã¤ã³","repetitionTitle":"å復ä¿è·","repetitionDescription":"ç¹°ãè¿ããããã¼ã«å¼ã³åºããæ¤åºãã¦ä»å
¥ãã¾ãã","iterationTitle":"å復忰å¶é","iterationDescription":"ReAct ã®å復忰ãå¶éãã¾ãã","retryTitle":"宿§çå®äºãã§ãã¯","retryDescription":"ãã¼ã«å¼ã³åºããå«ã¾ãªãããã¹ãå¿çã®ã¨ãã ãå®è¡ãã¾ãã","goalTurnTitle":"ã´ã¼ã«ã®ã¿ã¼ã³å¶é","goalTurnDescription":"ã¢ã¯ãã£ããªã´ã¼ã«å
ã®ã¿ã¼ã³æ°ãå¶éãã¾ãã","maxGoalTurns":"ã´ã¼ã«ã®æå¤§ã¿ã¼ã³æ°","goalBudgetTitle":"ã´ã¼ã«ã®ãã¼ã¯ã³äºç®","goalBudgetDescription":"ã´ã¼ã«å
¨ä½ãäºç®ã«éããã忢ãã¾ãã","maxGoalTokens":"ã´ã¼ã«ã®æå¤§ãã¼ã¯ã³æ°","goalCompletionTitle":"ã´ã¼ã«å®äºãã§ãã¯","goalCompletionDescription":"忢åã«æç¤ºçãªã´ã¼ã«ç¶æ
ã確èªãã¾ãã","goalCompletionReadOnly":"å®äºã¯çµã¿è¾¼ã¿ã®ã´ã¼ã«ç¶æ
ãããã³ã«ã§å¶å¾¡ããã¾ãã","missionProgressTitle":"ããã·ã§ã³é²æãã§ãã¯","missionProgressDescription":"å
¨ã¹ãã¼ãªã¼ãééãããä¸éã¾ã§ç¶ç¶ãã¾ãã","missionProgressReadOnly":"å®äºã¯çµã¿è¾¼ã¿ã® Mission Story ç¶æ
ã§å¶å¾¡ããã¾ãã","missionIterationTitle":"Mission ã®å復ä¸é","missionIterationDescription":"æ°ãã Mission ã®æ¢å®ã®å®è¡ä¸éãè¨å®ãã¾ãã","workerAttemptsTitle":"Worker ã®è©¦è¡åæ°","workerAttemptsDescription":"Story ã®æ¤è¨¼å¤±æå¾ã® Worker å試è¡åæ°ãå¶éãã¾ãã","missionVerificationTitle":"Mission ã®æ¤è¨¼ããªã·ã¼","missionVerificationDescription":"æ¢å®ã®æ¤è¨¼ã¬ã¤ãã³ã¹ã¨ãã¹ãã³ãã³ããè¨å®ãã¾ãã","defaultMaxMissionIterations":"æ¢å®ã®æå¤§å®è¡ã©ã¦ã³ãæ°","defaultMaxMissionIterationsTooltip":"/mission ã§ --max-iterations ãæªæå®ã®å ´åã«ä½¿ç¨ãã¾ãã","maxRetriesPerStory":"Story ãã¨ã®æå¤§å試è¡åæ°","maxRetriesPerStoryTooltip":"Verifier ã失æã¾ãã¯é¨åå®äºãè¿ããå¾ã® Worker å試è¡åæ°ã§ãã","defaultVerificationInstructions":"æ¤è¨¼ã¬ã¤ãã³ã¹ï¼ä»»æï¼","defaultVerificationInstructionsHelp":"ãã¹ã¦ã® Mission Verifier ã«é©ç¨ããèªç¶è¨èªã®æç¤ºã§ãã","defaultVerificationInstructionsPlaceholder":"ä¾ï¼Windows ã®ãã¹å¦çã¨å®éã® UI 表示ã確èªãã¦ãã ããã","defaultVerifyCommand":"æ¢å®ã®ãã¹ãã³ãã³ãï¼ä»»æï¼","defaultVerifyCommandHelp":"Verifier ã¯é常ã®ãã¼ã«ã¨æ¨©éã§å®è¡ã試ã¿ã¾ãã/mission --verify ã
181§ä¸æ¸ãã§ãã¾ãã","defaultVerifyCommandPlaceholder":"ä¾ï¼pytest -q","enableRepetitionProtection":"å復ä¿è·ãæå¹å","removeRule":"ã«ã¼ã«ãåé¤","custom":"ã«ã¹ã¿ã ","customDescription":"QwenPaw çµã¿è¾¼ã¿ Gate ã§ä¿åå¯è½ãªãã¤ãã©ã¤ã³ãæ§ç¯ãã¾ãã","duplicate":"è¤è£½","delete":"åé¤","displayName":"表示å","duplicateModeName":"åãååã® Loop ã¢ã¼ããæ¢ã«åå¨ãã¾ãã","slashCommand":"ã¹ã©ãã·ã¥ã³ãã³ã","description":"説æ","availableToAgent":"ãã®ã¨ã¼ã¸ã§ã³ãã§ä½¿ç¨å¯è½","runsTopToBottom":"ä¸ããä¸ã¸å®è¡","addGate":"Gate ã追å ","emptyPipeline":"Gate ã1ã¤ä»¥ä¸è¿½å ããã¨ããã®ã¢ã¼ãã使ç¨ã§ãã¾ãã","iterationGateTitle":"å復忰å¶é","iterationGateDescription":"æå®åæ°ã® Loop å¾ã«åæ¢ãã¾ãã","doomGateTitle":"å復ä¿è·","doomGateDescription":"ç¹°ãè¿ããæ¤åºãã¦æ¦ç¥ã夿´ãã¾ãã","tokenGateTitle":"ãã¼ã¯ã³äºç®","tokenGateDescription":"å
¥åã¨åºåã®ãã¼ã¯ã³ä½¿ç¨éãå¶éãã¾ãã","timeoutGateTitle":"Loop æéå¶é","timeoutGateDescription":"æéè¶
éå¾ãå®è¡ä¸ã®å¦çã䏿ããæ¬¡ã® Loop å¢çã§åæ¢ãã¾ãã","toolBudgetGateTitle":"ãã¼ã«å¼ã³åºãäºç®","toolBudgetGateDescription":"å
¨ä½ããã³æå®ãã¼ã«ã®å¼ã³åºããå¶éãã¾ãã","retryGateTitle":"æ©æçµäºã®å試è¡","retryGateDescription":"çµäºåã«å確èªãä¿ãã¾ãã","rubricGateTitle":"å®äºã«ã¼ããªãã¯","rubricGateDescription":"æç¤ºçãªåºæºãè©ä¾¡ããå¿
è¦ãªãä¿®æ£ãã¾ãã","qualitativeRubricTitle":"宿§çå®äºãã§ãã¯","qualitativeRubricDescription":"ãã¼ã«å¼ã³åºãã®ãªãããã¹ãå¿çãèªç¶è¨èªã®åºæºã§ç¢ºèªãã¾ãã","qualitativeRubric":"èªç¶è¨èªã®å®äºåºæº","qualitativeRubricHelp":"ãã¼ã«å¼ã³åºãã®ãªãããã¹ãå¿çã§ã®ã¿å®è¡ãã使¥ãæ®ãå ´åã¯ç¶è¡ããã¾ãã","completionRubricTitle":"å®äºä¿¡å·ãã§ãã¯","completionRubricDescription":"ãã¼ã«å¼ã³åºãã®ãªãããã¹ãå¿çã§å®äºä¿¡å·ã確èªãã¾ãã","completionRubricHelp":"ãã¼ã«å¼ã³åºãã®ãªãããã¹ãå¿çå¾ã«å®è¡ãã¾ããå®äºæã¯å®äºä¿¡å·ãåºåããæªå®äºæã¯æå¤§å¤å®åæ°ã«éããã¾ã§ä½æ¥ãç¶è¡ãã¾ãã","completionPrompt":"å®äºå¤å®ããã³ãã","completionPromptHelp":"å®äºã¨è¦ãªãæ¡ä»¶ãè¨è¿°ãã¾ããå®äºä¿¡å·ã®åºåæç¤ºã¯ QwenPaw ãèªåçã«æ¿å
¥ãã¾ãã","completionSignal":"å®äºä¿¡å·","completionSignalHelp":"QwenPaw ã¯ãã®ä¿¡å·ã¨ããã®ä¿¡å·ã ããåºåããæç¤ºãå¤å®ããã³ããã«æ¿å
¥ãã¾ããåå¾ã®ç©ºç½ã¨å¤§æåå°æåãç¡è¦ããå®å
¨ä¸è´ã®ã¿ã Loop ãçµäºãã¾ãã","removeCriterion":"åºæº {{number}} ãåé¤","totalTokensHelp":"ãã®ã¿ã¼ã³ã§ä½¿ç¨ããå
¥åã»åºåãã¼ã¯ã³ã®åè¨ä¸éã§ãã","promptTokensHelp":"ã·ã¹ãã æç¤ºãä¼è©±å±¥æ´ããã¼ã«å®ç¾©ããã¼ã«çµæãå«ã¿ã¾ãã","completionTokensHelp":"ãã®ã¿ã¼ã³ã§ã¢ãã«ãçæãããã¼ã¯ã³ã®ä¸éã§ãã","maxIterations":"æå¤§å復忰","historyWindow":"å±¥æ´ã¦ã£ã³ãã¦","similarityThreshold":"é¡ä¼¼åº¦ãããå¤","totalTokens":"æå¤§ç·ãã¼ã¯ã³","promptTokens":"æå¤§å
¥åãã¼ã¯ã³","completionTokens":"æå¤§åºåãã¼ã¯ã³","maxSeconds":"æå¤§ç§æ°","maxSecondsHelp":"ç¾å¨ã®ã¢ãã«å¿çã¾ãã¯ãã¼ã«å¼ã³åºãã®å®äºå¾ã«æéã確èªããå®è¡ä¸ã®å¦çã¯ä¸æãã¾ããã","allToolCalls":"å
¨ãã¼ã«å¼ã³åºã","perToolLimits":"ãã¼ã«å¥å¶é","toolName":"ãã¼ã«å","callLimitAria":"{{name}} ã®å¼ã³åºãä¸é","removeToolLimitAria":"{{name}} ã®å¶éãåé¤","addToolLimit":"ãã¼ã«å¥å¶éã追å ","maxRetries":"æå¤§å試è¡åæ°","retryInstruction":"å試è¡ã®æç¤º","passThreshold":"åæ ¼ãããå¤","maxEvaluations":"æå¤§å¤å®åæ°","graderError":"è©ä¾¡ã¨ã©ã¼","stopSafely":"å®å
¨ã«åæ¢","verifyOnceMore":"ããä¸åº¦æ¤è¨¼","completionCriteria":"å®äºåºæº","criterionPlaceholder":"観測å¯è½ãªå®äºæ¡ä»¶ãè¨è¿°","required":"å¿
é ","weight":"éã¿","addCriterion":"åºæºã追å ","moveGateAria":"{{title}} ãç§»å","removeGate":"Gate ãåé¤","newModeName":"æ°ãã Loop ã¢ã¼ã","defaultCustomDescription":"ã«ã¹ã¿ã Gate ãã¤ãã©ã¤ã³ã","copyName":"{{name}} ã®ã³ãã¼","createModeAria":"ã«ã¹ã¿ã Loop ã¢ã¼ãã使","createModeTitle":"ã«ã¹ã¿ã Loop ã¢ã¼ãã使","startingTemplate":"éå§ãã³ãã¬ã¼ã","startingPipeline":"éå§ãã¤ãã©ã¤ã³","blankPipelineHint":"空ã®ç¶æ
ããå§ããå¾ã§ã²ã¼ãã追å ","safeTemplate":"å®å
¨ãªå®è¡","researchTemplate":"äºç®ä»ã調æ»","qualityTemplate":"å質åªå
","blankTemplate":"空ã®ãã¤ãã©ã¤ã³"},"doomLoopEnabled":"ç¹°ãè¿ãè¡åä¿è·","doomLoopEnabledTooltip":"ã¨ã¼ã¸ã§ã³ããåãæä½ãç¹°ãè¿ãã¦ããå ´åã«èªåçã«ä»å
¥ãã¾ã","doomLoopAfter":"é£ç¶","doomLoopRepetitions":"åã®å䏿ä½å¾","doomLoopStopAction":"䏿忢ãã¦ç¢ºèªãå¾
ã¤","doomLoopWarnAction":"ãªãã¤ã³ãã¼ãéä¿¡","doomLoopSimpleMode":"ã·ã³ãã«","doomLoopAdvancedMode":"詳細","doomLoopWindowSize":"æ¤åºç¯å²","doomLoopWindowSizeTooltip":"ç¹°ãè¿ãæ¤åºã®ããã«æè¿ä½åã®æä½ããã§ãã¯ããã","doomLoopSimilarity":"ãããæåº¦","doomLoopSimilarityTooltip":"æä½ãã©ã®ç¨åº¦é¡ä¼¼ãã¦ããã°ç¹°ãè¿ãã¨ã¿ãªã
181ãï¼ä½ãã»ã©å³æ ¼ï¼","doomLoopStages":"ä»å
¥ã«ã¼ã«","doomLoopAction":"ã¢ã¯ã·ã§ã³","doomLoopPrompt":"ã¡ãã»ã¼ã¸","doomLoopPromptPlaceholder":"ãªãã¤ã³ãã¼ã¡ãã»ã¼ã¸ã¾ãã¯ä¸æåæ¢ã®çç±...","doomLoopAddStage":"ã«ã¼ã«ã追å ","iterationTitle":"ã¤ãã¬ã¼ã·ã§ã³å¶é","iterationEnabled":"ã¤ãã¬ã¼ã·ã§ã³å¶éãæå¹å","iterationEnabledTooltip":"åºå®åæ°ã®ã«ã¼ãå¾ã«ã¨ã¼ã¸ã§ã³ãã忢","iterationMaxIterations":"æå¤§ã¤ãã¬ã¼ã·ã§ã³æ°","iterationMaxIterationsTooltip":"忢ããã¾ã§ã®æå¤§ã«ã¼ãåæ°","rubricTitle":"宿§çå®äºãã§ãã¯","rubricEnabled":"宿§çå®äºãã§ãã¯ãæå¹å","rubricEnabledTooltip":"ãã¼ã«å¼ã³åºããå«ã¾ãªãããã¹ãå¿çã®ã¨ãã ãå®è¡ãã¾ãã","rubricPrompt":"èªç¶è¨èªã®å®äºåºæº","rubricPromptTooltip":"ã¿ã¹ã¯å®äºè©ä¾¡ãæ±ããããã«æ³¨å
¥ãããããã³ãã","rubricDesc":"ãã¼ã«å¼ã³åºãã®ãªãããã¹ãå¿çã«èªç¶è¨èªã®å®äºåºæºãé©ç¨ãã使¥ãæ®ãå ´åã¯ç¶è¡ããã¾ãã","rubricPromptPlaceholder":"åã®ã¿ã¼ã³ã§ãã¼ã«ãå¼ã³åºãã¾ããã§ãããã¿ã¹ã¯ãå®äºãã¦ããå ´åã¯ç¢ºèªãã¦ãã ãããããã§ãªããã°ãã¼ã«ã使ã£ã¦ç¶è¡ãã¦ãã ããã","rubricMaxInterventions":"æå¤§å¤å®åæ°","rubricMaxInterventionsTooltip":"1ã¿ã¼ã³å
ã§ããã¼ã«å¼ã³åºãã®ãªãããã¹ãå¿çã«å¯¾ãã¦è¡ãå®äºãã§ãã¯ã®æå¤§åæ°ã§ãã","inLoopModes":"/goalã»/mission ã¢ã¼ãã§ãæå¹å","inLoopModesTooltip":"/goal ã¾ã㯠/mission ã«ã¼ãã¢ã¼ããã¢ã¯ãã£ããªæããã®ã²ã¼ããé©ç¨","comingSoonEditable":"ã«ã¹ã¿ã è¨å®ã¯å°æ¥ã®ãªãªã¼ã¹ã§å©ç¨å¯è½ã«ãªãã¾ãã","simpleMode":"ã·ã³ãã«","advancedMode":"詳細","comingSoon":"è¿æ¥å
¬é","reactModeTab":"Loopãã³ãã¬ã¼ã - ããã©ã«ã","goalModeTab":"Loopãã³ãã¬ã¼ã - Goal","missionModeTab":"Loopãã³ãã¬ã¼ã - Mission","goalModeInfoTitle":"Goalã¢ã¼ã vs ããã©ã«ã","goalModeInfo":"ããã©ã«ãã¢ã¼ãã¯å¿çå¾ã«åæ¢ãã¾ããGoalã¢ã¼ãã¯ã¨ã¼ã¸ã§ã³ããç®æ¨ã«åãã£ã¦ã«ã¼ããããRubricè©ä¾¡ã§å®äºã夿ãã¾ãããã¹ã¦ã®æä½ã¯ç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã³ã³ããã¹ãå
ã§å®è¡ããã¾ãã","missionModeInfoTitle":"Missionã¢ã¼ã vs Goalã¢ã¼ã","missionModeInfo":"Missionã¢ã¼ãã¯è¤éãªã¿ã¹ã¯ãèªååè§£ããç¬ç«ããWorkerãµãã¨ã¼ã¸ã§ã³ããå®è¡ãVerifierãµãã¨ã¼ã¸ã§ã³ããæ¤è¨¼ãã¾ããåãµãã¿ã¹ã¯ã¯ç¬èªã®ã³ã³ããã¹ãã§å®è¡ãããã¡ã¤ã³ã»ãã·ã§ã³ã®ã³ã³ããã¹ãæ±æãé²ãã¾ãã","goalIterationGate":"ç®æ¨ã¤ãã¬ã¼ã·ã§ã³ã²ã¼ã","goalIterationGateDesc":"ç®æ¨ã»ãã·ã§ã³å
ã®ã¨ã¼ã¸ã§ã³ãã¿ã¼ã³æ°ãå¶éããã¤ãã¬ã¼ã·ã§ã³æ°ã¨ãã¼ã¯ã³ä½¿ç¨éã追跡ãã¾ãã","goalBudgetGate":"ãã¼ã¯ã³äºç®ã²ã¼ã","goalBudgetGateDesc":"ç®æ¨ã»ãã·ã§ã³ã®ãã¼ã¯ã³æ¶è²»ä¸éãè¨å®ããäºç®è¶
éæã«ã¨ã¼ã¸ã§ã³ãã忢ãã¾ãã","goalRubricGate":"ç®æ¨å®äºã«ã¼ããªãã¯","goalRubricGateDesc":"ã»ãã·ã§ã³ç¶æ
ããã§ãã¯ãã¦ç®æ¨ãéæãããããè©ä¾¡ãã¾ãã","goalDoomGate":"ç¹°ãè¿ãä¿è·","goalDoomGateDesc":"ç®æ¨å®è¡ä¸ã®ç¹°ãè¿ããã¿ã¼ã³ãæ¤åºããä»å
¥ãããªã¬ã¼ãã¾ãã","missionProgressGate":"ããã·ã§ã³é²æã²ã¼ã","missionProgressGateDesc":"PRDã¦ã¼ã¶ã¼ã¹ãã¼ãªã¼ã®å®äºç¶æ³ã追跡ãã¾ãããã¹ã¦åæ ¼ã¾ãã¯æå¤§ã¤ãã¬ã¼ã·ã§ã³ã«éããã¾ã§ç¶è¡ãã¾ãã","missionIterBypass":"ã¤ãã¬ã¼ã·ã§ã³ãã¤ãã¹","missionIterBypassDesc":"ããã·ã§ã³å®è¡ä¸ã«ReActã¤ãã¬ã¼ã·ã§ã³å¶éã䏿çã«è§£é¤ããé·æéã®ãã§ã¼ãºã許å¯ãã¾ãã","customLoopTitle":"ã«ã¹ã¿ã ã«ã¼ãã¢ã¼ã","customLoopDesc":"ã«ã¹ã¿ã ã²ã¼ãçµã¿åããã§ç¬èªã®ã«ã¼ãã¢ã¼ãã使ãè¿æ¥å
¬éäºå®ã","autoContinueOnTextOnly":"ããã¹ãã®ã¿ã®ã¹ãããã§èªåç¶ç¶","autoContinueOnTextOnlyTooltip":"æ¨è«ã¹ãããããã¼ã«å¼ã³åºããªãã®ããã¹ãã®ã¿ã§çµãã£ãå ´åããã³ããæ¿å
¥ãåããã¼ã«æ¹éã§ãã1忍è«ãã¾ãã夿®µéã¿ã¹ã¯ã®éä¸åæ¢ãæ¸ããã¾ãããªãã«ããã¨å¾æ¥ã©ããã§ããæå¹æã¯ãã¼ã¯ã³æ¶è²»ãå¢ããå ´åãããã¾ãã","autoGenerateSessionTitle":"ã»ãã·ã§ã³ã¿ã¤ãã«ãèªåçæ","autoGenerateSessionTitleTooltip":"æ°ãããã£ããã®æåã®ã¦ã¼ã¶ã¼ã¡ãã»ã¼ã¸å¾ãããã¯ã°ã©ã¦ã³ãã§çãLLMå¼ã³åºããå®è¡ããåãè©°ãããããã¬ã¼ã¹ãã«ããç°¡æ½ãªã¿ã¤ãã«ã«ç½®ãæãã¾ããæ°ãããã£ãããã¨ã«çãLLMå¼ã³åºãã1å追å ããã¾ãããªãã«ããã¨ãã¬ã¼ã¹ãã«ãã®ã¾ã¾ã§ããã®è¿½å ã³ã¹ãã¯çºçãã¾ããã","shellCommandTimeout":"Shellã³ãã³ãã¿ã¤ã ã¢ã¦ãï¼ç§ï¼","shell
181CommandTimeoutTooltip":"execute_shell_commandãã¼ã«ã®ããã©ã«ãã¿ã¤ã ã¢ã¦ãï¼ç§ï¼ãLLMã¯timeoutãã©ã¡ã¼ã¿ã§å¼ã³åºããã¨ã«ãã®å¤ã䏿¸ãã§ãã¾ããã³ã³ãã¤ã«ããã¼ã¿å¦çãªã©ã®é·æéã¿ã¹ã¯ã«ä¾¿å©ã§ãã","shellCommandTimeoutPlaceholder":"ã¿ã¤ã ã¢ã¦ããå
¥å","shellCommandTimeoutRequired":"Shellã³ãã³ãã¿ã¤ã ã¢ã¦ãã¯å¿
é ã§ã","shellCommandTimeoutMin":"Shellã³ãã³ãã¿ã¤ã ã¢ã¦ãã¯1ç§ä»¥ä¸ã§ããå¿
è¦ãããã¾ã","shellCommandExecutable":"Shellå®è¡ãã¡ã¤ã«","shellCommandExecutableTooltip":"execute_shell_commandã使ç¨ããã·ã§ã«ã®ãã¹ãLinux/macOS: /bin/bashã/bin/zshãªã©ãWindows: powershell.exeãpwsh.exeãã¾ãã¯Git Bashãªã©ã® POSIXäºæã·ã§ã«ã«å¯¾å¿ã空ã®å ´å㯠$SHELL ç°å¢å¤æ°ã次ã«ãã©ãããã©ã¼ã ããã©ã«ãï¼Unix㯠/bin/shãWindows㯠cmd.exeï¼ã«ãã©ã¼ã«ããã¯ãã¾ãã","shellCommandExecutablePlaceholder":"ä¾: /bin/bash ã¾ã㯠powershell.exeï¼ç©º = èªåæ¤åºï¼","maxInputLength":"æå¤§å
¥åé·","maxInputLengthTooltip":"ã¢ãã«ã®ã³ã³ããã¹ãã¦ã£ã³ãã¦ã®æå¤§å
¥åé·ï¼ãã¼ã¯ã³æ°ï¼","maxInputLengthPlaceholder":"æå¤§å
¥åé·ãå
¥å","maxInputLengthRequired":"æå¤§å
¥åé·ã¯å¿
é ã§ã","maxInputLengthMin":"æå¤§å
¥åé·ã¯1000以ä¸ã§ããå¿
è¦ãããã¾ã","contextCompactRatio":"ã³ã³ããã¹ãå§ç¸®æ¯ç","contextCompactRatioTooltip":"ã³ã³ããã¹ãããã£ã±ãã®æã«å§ç¸®ããã³ã³ããã¹ãã®æ¯ç","contextCompactRatioRequired":"ã³ã³ããã¹ãå§ç¸®æ¯çã¯å¿
é ã§ã","contextCompactThreshold":"ã³ã³ããã¹ãå§ç¸®é¾å¤","contextCompactThresholdTooltip":"ã³ã³ããã¹ãå§ç¸®é¾å¤ï¼ãã¼ã¯ã³æ°ï¼ãæå¤§å
¥åé·ã¨å§ç¸®æ¯çããèªåè¨ç®","contextCompactThresholdPlaceholder":"èªåè¨ç®","contextCompactReserveRatio":"ã³ã³ããã¹ãäºç´æ¯ç","contextCompactReserveRatioTooltip":"ã³ã³ããã¹ãå§ç¸®æã«äºç´ããæ¯ç","contextCompactReserveRatioRequired":"ã³ã³ããã¹ãäºç´æ¯çã¯å¿
é ã§ã","contextCompactReserveThreshold":"ã³ã³ããã¹ãäºç´é¾å¤","contextCompactReserveThresholdTooltip":"ã³ã³ããã¹ãäºç´é¾å¤ï¼ãã¼ã¯ã³æ°ï¼ãæå¤§å
¥åé·ã¨äºç´æ¯çããèªåè¨ç®","contextCompactReserveThresholdPlaceholder":"èªåè¨ç®","toolResultCompactRecentN":"ãã¼ã«å¼ã³åºãçµæã®recent_n","toolResultCompactRecentNTooltip":"æè¿ã®ãããå¤ã使ç¨ãããã¼ã«å¼ã³åºãçµæã®æ°","toolResultCompactRecentNRequired":"ãã¼ã«å¼ã³åºãçµæã®recent_nã¯å¿
é ã§ã","toolResultCompactOldThreshold":"recent_nãè¶
ãããã¼ã«å¼ã³åºãçµæã®æå¤§æåæ°","toolResultCompactOldThresholdTooltip":"recent_nç¯å²å¤ã®ãã¼ã«å¼ã³åºãçµæã§ããã®æåæ°ãè¶
ããã¨å§ç¸®ããã¾ã","toolResultCompactOldThresholdPlaceholder":"æåæ°ãããå¤ãå
¥å","toolResultCompactOldThresholdRequired":"recent_nãè¶
ãããã¼ã«å¼ã³åºãçµæã®æå¤§æåæ°ã¯å¿
é ã§ã","toolResultCompactRecentThreshold":"recent_nå
ã®ãã¼ã«å¼ã³åºãçµæã®æå¤§æåæ°","toolResultCompactRecentThresholdTooltip":"recent_nç¯å²å
ã®ãã¼ã«å¼ã³åºãçµæã§ããã®ãã¤ãæ°ãè¶
ããã¨å§ç¸®ããã¾ããã¾ããread_fileãã¼ã«ã®1åã®èªã¿åãã§è¿ãããæå¤§ãã¤ãæ°ã«ããªãã¾ããå¤ãã¡ãã»ã¼ã¸ã®ãããå¤ä»¥ä¸ã§ããå¿
è¦ãããã¾ã","toolResultCompactRecentThresholdPlaceholder":"æåæ°ãããå¤ãå
¥å","toolResultCompactRecentThresholdRequired":"recent_nå
ã®ãã¼ã«å¼ã³åºãçµæã®æå¤§æåæ°ã¯å¿
é ã§ã","toolResultCompactRetentionDays":"ãã¼ã«å¼ã³åºããã¡ã¤ã«ã®ä¿ææ¥æ°","toolResultCompactRetentionDaysTooltip":"å§ç¸®ããããã¼ã«çµæãã¡ã¤ã«ã®ä¿ææ¥æ°ãæéåãã¯èªååé¤ããã¾ã","toolResultCompactRetentionDaysRequired":"ãã¼ã«å¼ã³åºããã¡ã¤ã«ã®ä¿ææ¥æ°ã¯å¿
é ã§ã","historyRetentionDays":"å±¥æ´ã®ä¿ææ¥æ°","historyRetentionDaysTooltip":"æ°¸ç¶çãªãã£ããå±¥æ´ãä¿æããæ¥æ°ãå¤ãè¡ã¯èµ·åæã¨ã¨ã¼ã¸ã§ã³ãçµäºæã«èªåçã«åé¤ããã¾ãã","historyRetentionDaysRequired":"å±¥æ´ã®ä¿ææ¥æ°ã¯å¿
é ã§ã","historyRetentionDaysForeverWarning":"0 ã«è¨å®ããã¨å±¥æ´ãæ°¸ä¹
ã«ä¿æããã¹ãã¬ã¼ã¸ãç¡å¶éã«å¢å ãã¾ãã","historyRetentionDaysLargeWarning":"ä¿ææ¥æ°ã大ããã¨ãã¹ãã¬ã¼ã¸ã大éã«æ¶è²»ããå¯è½æ§ãããã¾ãã","exemptFileExtensions":"é¤å¤ãã¡ã¤ã«æ¡å¼µå","exemptFileExtensionsTooltip":"read_fileãã¼ã«ã®çµæã§ããããã®ãã¡ã¤ã«æ¡å¼µåã«ã¯ææ°ã¡ãã»ã¼ã¸ã®å§ç¸®ãããå¤ã使ç¨ããã¾ã","exemptFileExtensionsPlaceholder":".md, .txt, .json","exemptToolNames":"é¤å¤ãã¼ã«å","exemptToolNamesTooltip":"ãããã®ãã¼ã«ã®çµæã«ã¯ææ°ã¡ãã»ã¼ã¸ã®å§ç¸®ãããå¤ã使ç¨ããã¾ã","exemptToolNamesPlaceholder":"chat_with_agent, list_agents","language":"ã¨ã¼ã¸ã§ã³ãè¨èª","languageTooltip":"ã¨ã¼ã¸ã§ã³ãã®ãã«ã½ããã¡ã¤ã«ï¼
181SOUL.mdãAGENTS.md ãªã©ï¼ã®è¨èªã夿´ããã¨é¸æããè¨èªã®MDãã¡ã¤ã«ãåã³ãã¼ããã¾ãã","languageConfirmTitle":"ã¨ã¼ã¸ã§ã³ãè¨èªã®å¤æ´","languageConfirmContent":"è¨èªã夿´ããã¨ã以ä¸ã®ãã¡ã¤ã«ãæ°ããè¨èªã®ããã©ã«ãçã§ä¸æ¸ãããã¾ãï¼\\n\\n SOUL.mdãAGENTS.mdãPROFILE.mdãMEMORY.mdãBOOTSTRAP.mdãHEARTBEAT.md\\n\\nã«ã¹ã¿ãã¤ãºæ¸ã¿ã®ãã¡ã¤ã«ãããå ´åã¯ãäºåã«ããã¯ã¢ãããã¦ãã ããããã®ä»ã®ãã¡ã¤ã«ã¯å½±é¿ãåãã¾ããã","languageConfirmOk":"è¨èªã夿´","languageSaveSuccess":"è¨èªãæ´æ°ãã¾ãã","languageSaveSuccessWithFiles":"è¨èªãæ´æ°ãã{{count}} åã®MDãã¡ã¤ã«ãã³ãã¼ãã¾ãã","languageSaveFailed":"è¨èªã®æ´æ°ã«å¤±æãã¾ãã","timezone":"ã¦ã¼ã¶ã¼ã¿ã¤ã ã¾ã¼ã³","timezoneTooltip":"ã¹ã±ã¸ã¥ã¼ã«ã¿ã¹ã¯ãæå»è¡¨ç¤ºãã¨ã¼ã¸ã§ã³ãã³ã³ããã¹ãã«ä½¿ç¨ããã¾ããããã©ã«ãã¯ã·ã¹ãã ã®ã¿ã¤ã ã¾ã¼ã³ã§ãã","timezoneRequired":"ã¿ã¤ã ã¾ã¼ã³ã鏿ãã¦ãã ãã","selectTimezone":"ã¿ã¤ã ã¾ã¼ã³ã鏿","timezoneSaveSuccess":"ã¿ã¤ã ã¾ã¼ã³ãæ´æ°ãã¾ãã","timezoneSaveFailed":"ã¿ã¤ã ã¾ã¼ã³ã®æ´æ°ã«å¤±æãã¾ãã","saveSuccess":"è¨å®ãä¿åãã¾ãã","saveFailed":"è¨å®ã®ä¿åã«å¤±æãã¾ãã","loadFailed":"è¨å®ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã","historyMaxLength":"å±¥æ´ã®æå¤§é·","historyMaxLengthTooltip":"/history ã³ãã³ãã®æå¤§åºåé·ï¼æåæ°ï¼","historyMaxLengthRequired":"å±¥æ´ã®æå¤§é·ã¯å¿
é ã§ã","historyMaxLengthMin":"å±¥æ´ã®æå¤§é·ã¯1000以ä¸ã§ããå¿
è¦ãããã¾ã","historyMaxLengthPlaceholder":"æå¤§é·ãå
¥å","contextCompactTitle":"ã³ã³ããã¹ãå§ç¸®è¨å®","contextCompactEnabled":"ã³ã³ããã¹ãå§ç¸®ãæå¹å","contextCompactEnabledTooltip":"ã³ã³ããã¹ãã¦ã£ã³ãã¦ã®ãªã¼ãã¼ããã¼ãé²ãããã«èªåçã«ã³ã³ããã¹ããå§ç¸®ãã¾ã","tokenCountModel":"ãã¼ã¯ã³ã«ã¦ã³ãã¢ãã«","tokenCountModelTooltip":"精確ãªãã¼ã¯ã³æ°è¨ç®ã«ä½¿ç¨ããã¢ãã«åããdefaultããè¨å®ããã¨çµã¿è¾¼ã¿ã®æ¨å®å¤ã使ç¨ãã¾ã","tokenCountModelPlaceholder":"ã¢ãã«åã¾ã㯠default","tokenCountUseMirror":"HuggingFaceãã©ã¼ã使ç¨","tokenCountUseMirrorTooltip":"ãã¼ã¯ãã¤ã¶ã¼ã®ãã¦ã³ãã¼ãæã«HuggingFaceãã©ã¼ãµã¤ãã使ç¨ãã¾ã","tokenCountEstimateDivisor":"byte/Token æ¨å®é¤æ°","tokenCountEstimateDivisorTooltip":"ãã¤ãæ°ã«åºã¥ããã¼ã¯ã³æ°æ¨å®ã®é¤æ°ï¼ãã¼ã¯ã³æ° â ãã¤ãæ° / 餿°ï¼ãæ¨å¥¨å¤ï¼3.75ï½4","tokenCountEstimateDivisorRequired":"æ¨å®é¤æ°ã¯å¿
é ã§ã","tokenCountEstimateDivisorMin":"æ¨å®é¤æ°ã¯2ãã5ã®ç¯å²ã§ããå¿
è¦ãããã¾ã","toolResultCompactTitle":"ãã¼ã«çµæå§ç¸®è¨å®","toolResultCompactEnabled":"ãã¼ã«çµæå§ç¸®ãæå¹å","toolResultCompactEnabledTooltip":"é大ãªãã¼ã«å¼ã³åºãçµæãå§ç¸®ãã¦ã³ã³ããã¹ãã¹ãã¼ã¹ãç¯ç´ãã¾ã","memorySummaryTitle":"é·æè¨æ¶è¨å®","memorySummaryEnabled":"è¨æ¶ã¾ã¨ããèµ·å","memorySummaryEnabledTooltip":"ã³ã³ããã¹ãå§ç¸®æã«èªåçã«è¨æ¶ãµããªã¼ãçæã»ä¿åãã¾ã","dreamCronEnabled":"ããªã¼ã ãæå¹å","dreamCronEnabledTooltip":"Cron ã«ããããªã¼ã ãã¼ã¹ã®è¨æ¶æé©åã¿ã¹ã¯ãæå¹ã«ãã¾ã","dreamCron":"ããªã¼ã ã¹ã±ã¸ã¥ã¼ã«","dreamCronTooltip":"ããªã¼ã ç¶æ
ãéãã¦å®æçã«é·æè¨æ¶ãæé©åããCronå¼ã§ããå®è¡ã¯ä¸ã®ã¹ã¤ããã§åãæ¿ãã¾ã","dreamCronPlaceholder":"0 23 * * *","dreamCronRequired":"ããªã¼ã ãæå¹ã«ããå ´å㯠Cron å¼ãå
¥åãã¦ãã ãã","dreamCronInvalid":"æå¹ãª5ãã£ã¼ã«ãã® Cron å¼ãå
¥åãã¦ãã ãã","autoMemorySearch":"èªåè¨æ¶æ¤ç´¢ï¼Betaï¼","autoMemorySearchTooltip":"æ¯åã®ä¼è©±ã§è¨æ¶æ¤ç´¢ãèªåå®è¡ãã¾ããåã¯ã¨ãªã§èªåçã«è¨æ¶æ¤ç´¢æ©è½ãå¼ã³åºããQwenPawãããªããããçè§£ã§ãã¾ããããã¼ã¯ã³æ¶è²»ãå¢å ãã¾ãã","autoMaxResults":"èªåæ¤ç´¢ã®æå¤§çµææ°","autoMaxResultsTooltip":"èªåè¨æ¶æ¤ç´¢ãæå¹ãª
181å ´åã«è¿ãããæå¤§çµææ°","autoMaxResultsRequired":"æå¤§çµææ°ã¯å¿
é ã§ã","autoMaxResultsMin":"æå¤§çµææ°ã¯1以ä¸ã§ããå¿
è¦ãããã¾ã","inboxPushEnabled":"è¨æ¶çµæã®åä¿¡ãã¬ã¤éç¥","inboxPushEnabledTooltip":"èªåè¨æ¶ãèªå夢æ³ãDaily Paper ã®çµæãåä¿¡ãã¬ã¤ã«éä¿¡ãã¾ããç¡å¹ã«ãã¦ãè¨æ¶ã¸ã§ãã¯åæ¢ãã¾ããã","autoMemoryInterval":"èªåè¨æ¶ã®éé","autoMemoryIntervalTooltip":"ã¦ã¼ã¶ã¼ã¯ã¨ãª N åãã¨ã«èªåè¨æ¶ãå®è¡ãã¾ãã0 ã¯å®æçãªèªåè¨æ¶ãç¡å¹ã«ãã¾ãã1 ã¯åã¯ã¨ãªå¾ã«èªåè¨æ¶ãå®è¡ãã¾ããæ¨å¥¨è¨å®ã¯ 2-5 ã§ãã1 ã«è¨å®ããå ´åã¯é«ããã¼ã¯ã³æ¶è²»ã«æ³¨æãã¦ãã ããã","autoMemoryIntervalPlaceholder":"0 ãå
¥åããã¨å®æçãªèªåè¨æ¶ãç¡å¹å","autoMemoryIntervalRequired":"èªåè¨æ¶ã®ééãå
¥åãã¦ãã ãã","autoMemoryIntervalMin":"èªåè¨æ¶ã®éé㯠0 以ä¸ã§ããå¿
è¦ãããã¾ã","embeddingConfigTitle":"åãè¾¼ã¿ã¢ãã«è¨å®","embeddingModelTitle":"åãè¾¼ã¿ã¢ãã«","embeddingBackend":"åãè¾¼ã¿SDKã¿ã¤ã","embeddingBackendTooltip":"åãè¾¼ã¿ã¢ãã«ã®å¼ã³åºãã«ä½¿ç¨ããSDKã¿ã¤ã","embeddingBackendPlaceholder":"SDKã¿ã¤ãã鏿","embeddingApiKey":"API Key","embeddingApiKeyTooltip":"åãè¾¼ã¿ãããã¤ãã¼ã®APIãã¼ãèªè¨¼ãä¸è¦ãªå ´åã¯ç©ºæ¬ã«ãã¦ãã ãã","embeddingApiKeyPlaceholder":"ä¸è¦ãªå ´åã¯ç©ºæ¬","embeddingBaseUrl":"Base URL","embeddingBaseUrlTooltip":"åãè¾¼ã¿APIã®Base URLãOpenAIäºæããã¯ã¨ã³ãã§ã¯ããã®ã«ã¹ã¿ã ã¨ã³ããã¤ã³ãã¯ä»»æã§ãAPI Keyã¨ã¢ãã«åãå¿
é ã§ã","embeddingBaseUrlPlaceholder":"https://dashscope.aliyuncs.com/compatible-mode/v1","embeddingHost":"Host","embeddingHostTooltip":"Ollamaãµã¼ãã¹ã®URLã空æ¬ã®å ´åã¯Ollamaã®ããã©ã«ããã¹ãã使ç¨ãã¾ã","embeddingHostPlaceholder":"http://localhost:11434","embeddingModelName":"ã¢ãã«å","embeddingModelNameTooltip":"åãè¾¼ã¿ã¢ãã«åããã¹ã¦ã®åãè¾¼ã¿ããã¯ã¨ã³ãã§å¿
é ã§ã","embeddingModelNamePlaceholder":"text-embedding-v4","embeddingEnableCache":"åãè¾¼ã¿ãã£ãã·ã¥ãæå¹å","embeddingEnableCacheTooltip":"åãè¾¼ã¿çµæããã£ãã·ã¥ãã¦éè¤è¨ç®ã忏ãã¾ã","embeddingMaxCacheSize":"æå¤§ãã£ãã·ã¥ãµã¤ãº","embeddingMaxCacheSizeTooltip":"åãè¾¼ã¿ãã£ãã·ã¥ã®æå¤§ã¨ã³ããªæ°","embeddingMaxCacheSizeRequired":"æå¤§ãã£ãã·ã¥ãµã¤ãºã¯å¿
é ã§ã","embeddingUseDimensions":"ãªã¯ã¨ã¹ãã§æ¬¡å
æ°ãéä¿¡","embeddingUseDimensionsTooltip":"OpenAI äºæã® Embedding API ãªã¯ã¨ã¹ãã« dimensions ãã©ã¡ã¼ã¿ãå«ãã¾ããä¸é¨ã®ãµã¼ãã¹ã¯ãã®ãã©ã¡ã¼ã¿ã«å¯¾å¿ãã¦ãã¾ãã","embeddingDimensions":"åãè¾¼ã¿æ¬¡å
æ°","embeddingDimensionsTooltip":"ã¬ã¹ãã³ã¹æ¤è¨¼ãã¤ã³ããã¯ã¹ããã£ãã·ã¥ã«ä½¿ç¨ããæ³å®ãã¯ãã«æ¬¡å
æ°ã§ãããªã¯ã¨ã¹ãã§ã®éä¿¡ãç¡å¹ã«ããå ´åããã¢ãã«ãå®éã«åºåããæ¬¡å
æ°ãå
¥åãã¦ãã ãã","embeddingDimensionsRequired":"åãè¾¼ã¿æ¬¡å
æ°ã¯å¿
é ã§ã","embeddingDimensionsMin":"次å
æ°ã¯1以ä¸ã§ããå¿
è¦ãããã¾ã","embeddingMaxInputLength":"å
¥åãã¨ã®æåæ°äºç®","embeddingMaxInputLengthTooltip":"å Embedding å
¥åã®ããããã®æåæ°äºç®ã§ãããªã¯ã¨ã¹ãåã«ããã¹ããåãè©°ããCJK ãªã©ã®å
¨è§æåã¯ããä¿å®çã«è¦ç©ããã¾ããæ£ç¢ºãªãã¼ã¯ã³ä¸éã§ã¯ããã¾ãã","embeddingMaxInputLengthRequired":"å
¥åãã¨ã®æåæ°äºç®ã¯å¿
é ã§ã","embeddingMaxBatchSize":"æå¤§ããããµã¤ãº","embeddingHealthCheckTimeout":"åæåã¿ã¤ã ã¢ã¦ã","embeddingHealthCheckTimeoutTooltip":"æ¥ç¶ãã¹ã㨠ReMe èµ·åæã®åãè¾¼ã¿ãã«ã¹ãã§ãã¯ã«ãããå試è¡ã®ã¿ã¤ã ã¢ã¦ã","embeddingHealthCheckTimeoutRequired":"åæåã¿ã¤ã ã¢ã¦ãã¯å¿
é ã§ã","embeddingMaxBatchSizeTooltip":"åä¸ãããåãè¾¼ã¿ãªã¯ã¨ã¹ãã®æå¤§ã¢ã¤ãã æ°","embeddingMaxBatchSizeRequired":"æå¤§ããããµã¤ãºã¯å¿
é ã§ã","maxContextLength":"æå¤§ã³ã³ããã¹ãé·","maxContextLengthTooltip":"ã¢ãã«ã³ã³ããã¹ãã¦ã£ã³ãã¦ã®æå¤§ãã¼ã¯ã³æ°ã
181åãªã¯ã¨ã¹ãã§ä¿æã§ããæå¤§å±¥æ´é·ã決å®ãã¾ã","maxContextLengthRequired":"æå¤§ã³ã³ããã¹ãé·ã¯å¿
é ã§ã","maxContextLengthMin":"æå¤§ã³ã³ããã¹ãé·ã¯1000以ä¸ã§ããå¿
è¦ãããã¾ã","maxContextLengthPlaceholder":"æå¤§ã³ã³ããã¹ãé·ãå
¥å","embeddingActivationNote":"鏿ããããã¯ã¨ã³ãã®å¿
é é
ç®ãå
¥åãããã¨åãè¾¼ã¿æ©è½ãæå¹ã«ãªãã¾ã","embeddingEnableHint":"鏿ããããã¯ã¨ã³ãã®å¿
é é
ç®ãå
¥åãããã¨åãè¾¼ã¿æ©è½ãæå¹ã«ãªãã¾ããOpenAIäºæã¾ãã¯Geminiã§ã¯ã¢ãã«åã¨API KeyãOllamaã§ã¯ã¢ãã«åãå¿
è¦ã§ãã","rebuildMemoryIndex":"è¨æ¶ã¤ã³ããã¯ã¹ãåæ§ç¯","rebuildMemoryIndexWarning":"ãã®æä½ã¯è¨æ¶æ¤ç´¢ã¤ã³ããã¯ã¹ãæ¶å»ãã¦åæ§ç¯ãããããå¤ãã®CPUã¨ã¡ã¢ãªãæ¶è²»ããå¯è½æ§ãããã¾ããã¤ã³ããã¯ã¹ã®ç ´æãæ¤ç´¢çµæã®ç°å¸¸ã修復ããå ´åã«ã®ã¿ä½¿ç¨ãã¦ãã ããã","rebuildMemoryIndexConfirmTitle":"è¨æ¶ã¤ã³ããã¯ã¹ãåæ§ç¯ãã¾ããï¼","rebuildMemoryIndexConfirm":"åæ§ç¯ä¸ã¯CPUã¨ã¡ã¢ãªã®ä½¿ç¨éã大å¹
ã«å¢å ããå¯è½æ§ãããã¾ããã¤ã³ããã¯ã¹ãç ´æãã¦ãããã¾ãã¯ä¿®å¾©ãå¿
è¦ãªå ´åãé¤ããå®è¡ã¯æ¨å¥¨ããã¾ããã","rebuildMemoryIndexSuccess":"è¨æ¶ã¤ã³ããã¯ã¹ã®åæ§ç¯ãå®äºãã¾ãã","rebuildMemoryIndexFailed":"è¨æ¶ã¤ã³ããã¯ã¹ã®åæ§ç¯ã«å¤±æãã¾ããï¼{{error}}","rebuildMemoryIndexRequired":"Embeddingè¨å®ã夿´ããã¾ãããEmbeddingã¤ã³ããã¯ã¹ãåæ§ç¯ãããã¾ã§ããã¯ãã«æ¤ç´¢ã¯ç¡å¹ã«ãªããè¨æ¶æ¤ç´¢ã«ã¯BM25ã使ç¨ããã¾ãã","embeddingIndexReady":"Embeddingã¤ã³ããã¯ã¹ã¯ç¾å¨ã®è¨å®ã¨ä¸è´ãã¦ãã¾ãã","embeddingIndexStatus":"Embeddingã¤ã³ããã¯ã¹","embeddingIndexAvailable":"ææ°","embeddingSearchModeHybrid":"ç¾å¨ã®æ¤ç´¢ï¼ãã¯ãã« + BM25","embeddingSearchModeBm25":"ç¾å¨ã®æ¤ç´¢ï¼BM25ã®ã¿","embeddingSearchModeBm25Pending":"ç¾å¨ã®æ¤ç´¢ï¼BM25ã®ã¿ · åæ§ç¯å¾
ã¡","embeddingIndexNeedsRebuild":"åæ§ç¯ãå¿
è¦","embeddingIndexRebuilding":"åæ§ç¯ä¸","embeddingIndexRebuildingHint":"ã¡ã¢ãªãã¯ãã«ãçæãã¦ãã¾ã","embeddingIndexSaveFirst":"å
ã«è¨å®ãä¿åãã¦ãã ãã","embeddingIndexUnsavedHint":"ã¤ã³ããã¯ã¹ãåæ§ç¯ããåã«å¤æ´ãä¿åãã¦ãã ãã","embeddingIndexMatchesConfig":"ç¾å¨ã®è¨å®ã¨ä¸è´","embeddingIndexBm25Fallback":"ãã¯ãã«æ¤ç´¢ã¯ç¡å¹ · BM25ã使ç¨ä¸","rebuildEmbeddingIndex":"Embeddingã¤ã³ããã¯ã¹ãåæ§ç¯","rebuildEmbeddingIndexConfirmTitle":"Embeddingã¤ã³ããã¯ã¹ãåæ§ç¯ãã¾ããï¼","rebuildEmbeddingIndexConfirm":"ç¾å¨ã®è¨å®ã§ãã¹ã¦ã®è¨æ¶ãã£ã³ã¯ã®Embeddingãåçæãã¾ããæ£å¸¸ã«å®äºããã¾ã§ããã¯ãã«æ¤ç´¢ã¯ç¡å¹ã®ã¾ã¾ã§ãã","rebuildEmbeddingIndexSuccess":"Embeddingã¤ã³ããã¯ã¹ãåæ§ç¯ãã¾ãã","rebuildEmbeddingIndexFailed":"Embeddingã¤ã³ããã¯ã¹ã®åæ§ç¯ã«å¤±æãã¾ããï¼{{error}}","undoEmbeddingChange":"夿´ãå
ã«æ»ã","undoEmbeddingChangeConfirmTitle":"ã¤ã³ããã¯ã¹ä½ææã®Embeddingè¨å®ã復å
ãã¾ããï¼","undoEmbeddingChangeConfirm":"æ¢åã®ãã¯ãã«ã¤ã³ããã¯ã¹ã¨ä¸è´ããç´åã®è¨å®ã復å
ãã¾ãã","undoEmbeddingChangeSuccess":"ã¤ã³ããã¯ã¹ä½ææã®Embeddingè¨å®ã復å
ãã¾ãã","undoEmbeddingChangeFailed":"Embeddingè¨å®ã®å¾©å
ã«å¤±æãã¾ããï¼{{error}}","rebuildBm25Index":"BM25ã¤ã³ããã¯ã¹ãåæ§ç¯","rebuildBm25IndexDescription":"ç¾å¨ã®è¨æ¶ãã£ã³ã¯ãããã¼ã¯ã¼ãæ¤ç´¢ã¤ã³ããã¯ã¹ãåçæãã¾ãã","rebuildBm25IndexConfirmTitle":"BM25ã¤ã³ããã¯ã¹ãåæ§ç¯ãã¾ããï¼","rebuildBm25IndexConfirm":"ç¾å¨ã®è¨æ¶ãã£ã³ã¯ãããã¼ã¯ã¼ãæ¤ç´¢ã¤ã³ããã¯ã¹ãåçæãã¾ãã","rebuildBm25IndexSuccess":"BM25ã¤ã³ããã¯ã¹ãåæ§ç¯ãã¾ãã","goToLongTermMemory":"é·æè¨æ¶ã¸ç§»å","toolResultCompactRecentGtOld":"ææ°ã¡ãã»ã¼ã¸ã®é¾å¤ã¯å¤ãã¡ãã»ã¼ã¸ã®é¾å¤ä»¥ä¸ã§ããå¿
è¦ãããã¾ã","lightContextTitle":"ã³ã³ããã¹ã管ç","visualCompactCollapseLabel":"ãã¸ã¥ã¢ã«å§ç¸®","visualCompactDescription":"å¤ãé·ãã³ã³ããã¹ãããã¸ã¥ã¢ã«ãã¼ã¸ã«å§ç¸®ãã¦å
¥åãã¼ã¯ã³ã忏ãã¾ããæè¿ã®ä¼è©±ã¯ããã¹ãã®ã¾ã¾ä¿æããã¾ãã","visualCompactEnabled":"Visual Compact ãæå¹ã«ãã","visualCompactEffort":"å§ç¸®å¼·åº¦","visualCompactLow":"ä½","visualCompactMedium":"ä¸","visualCompactHigh":"é«","visualCompactLowDescription":"å§ç¸®ããå
容ãæããèªã¿ããããåªå
ãã¾ãã","visualCompactMediumDescription":"ãã¼ã¯ã³åæ¸ã¨è¦èªæ§ã®ãã©ã³ã¹ãåãã¾ãã","visualCompactHighDescription":"対象ã³ã³ããã¹ããããå¤ãå§ç¸®ãããã¼ã¯ã³åæ¸ãåªå
ãã¾ãã","visualCompactQualityNote":"å§ç¸®å¼·åº¦ãä¸ãã¦ããåçå質ãåä¸ããã¨ã¯éãã¾ããã","visualCompactCapabilityNote":"ç»åå
¥åã«å¯¾å¿
181ããã¢ãã«ã§ã®ã¿æå¹ã§ãã","remeLightMemoryTitle":"é·æè¨æ¶","toolExecutionLevelTitle":"ãã¼ã«æ¿èªã¢ã¼ã","toolExecutionLevelTooltip":"æ¿èªã¢ã¼ã","toolExecutionLevel":{"title":"ãã¼ã«æ¿èªã¢ã¼ã","alertMessage":"ãã¼ã«å¼ã³åºãåã®æ¿èªãè¨å®ãã¾ãããã¡ã¤ã«ä¿è·ã«ã¼ã«ã¯ç¬ç«ãã¦é©ç¨ããã¾ãã","strict":"峿 ¼ã¢ã¼ã","strictDesc":"ãã¹ã¦ã®ãã¼ã«å¼ã³åºãã¨å¤é¨ãã¡ã¤ã«ã¸ã®ã¢ã¯ã»ã¹åã«æ¿èªãå¿
è¦ã§ã","smart":"ã¹ãã¼ãã¢ã¼ã","smartDesc":"ä½ãªã¹ã¯ã®ãã¼ã«å¼ã³åºãã¨å¤é¨ãã¡ã¤ã«ã¢ã¯ã»ã¹ã¯èªåå®è¡ãããä¸ãé«ãªã¹ã¯ã®æä½ã«ã¯æ¿èªãå¿
è¦ã§ã","auto":"èªåã¢ã¼ã","autoDesc":"ãã¼ã«ã¨ãã¡ã¤ã«ã®æ¿èªã«ã¼ã«ã«ä¸è´ããæä½ã®ã¿æ¿èªãå¿
è¦ã§ãï¼ããã©ã«ãï¼","off":"ãªãã¢ã¼ã","offDesc":"ãã¼ã«ã¨ãã¡ã¤ã«ã®æ¿èªãç¡å¹ã«ãã¾ã"},"saveLevelSuccess":"ãã¼ã«æ¿èªã¢ã¼ããä¿åãã¾ãã","saveLevelFailed":"ãã¼ã«æ¿èªã¢ã¼ãã®ä¿åã«å¤±æãã¾ãã","adbpgMemoryTitle":"ADBPG Long-term Memory","powercontextMemoryTitle":"PowerContext ã¡ã¢ãª","powercontextConfig":{"title":"PowerContext ã¡ã¢ãªè¨å®","baseUrl":"ãµã¼ãã¼ URL","token":"Bearer ãã¼ã¯ã³","scopeId":"ã¡ã¢ãªã¹ã³ã¼ã","scopeIdPlaceholder":"空æ¬ã®å ´åããã®ã¤ã³ã¹ãã¼ã«åºæã®ã¨ã¼ã¸ã§ã³ãã¹ã³ã¼ãã使ç¨ãã¾ã","scopeIdInvalid":"ã¡ã¢ãªã¹ã³ã¼ããç©ºç½æåã ãã«ãããã¨ã¯ã§ãã¾ããã","timeout":"ãªã¯ã¨ã¹ãã¿ã¤ã ã¢ã¦ã","maxContextBytes":"注å
¥ããã³ã³ããã¹ãã®æå¤§éï¼ãã¤ãï¼","maxContextBytesTooltip":"1åã®ã¢ãã«å¼ã³åºãã«è¿½å ããã PowerContext æ¤ç´¢çµæã®åè¨éãå¶éãã¾ãã"},"adbpgConfig":{"title":"ADBPG Memory Configuration","restBaseUrl":"REST Base URL","restApiKey":"REST API Key","memoryIsolation":"Memory Isolation (per-agent)","searchTimeout":"Search Timeout"}}'),MI={title:"ãã«ãã¤ã³ãã¼ã«",description:"ãã«ãã¤ã³ãã¼ã«ã¨ãã®æå¹ç¶æ
ã管çãã¾ããç¡å¹ãªãã¼ã«ã¯ã¨ã¼ã¸ã§ã³ãã§ä½¿ç¨ã§ãã¾ããã",emptyState:"ãã¼ã«ãè¨å®ããã¦ãã¾ãã",loadError:"ãã¼ã«ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",enableSuccess:"ãã¼ã«ãæå¹åãã¾ãã",disableSuccess:"ãã¼ã«ãç¡å¹åãã¾ãã",toggleError:"ãã¼ã«ç¶æ
ã®åãæ¿ãã«å¤±æãã¾ãã",enableAll:"ãã¹ã¦æå¹å",disableAll:"ãã¹ã¦ç¡å¹å",enableAllSuccess:"ãã¹ã¦ã®ãã¼ã«ãæå¹åãã¾ãã",disableAllSuccess:"ãã¹ã¦ã®ãã¼ã«ãç¡å¹åãã¾ãã",allEnabled:"ãã¹ã¦ã®ãã¼ã«ã¯æ¢ã«æå¹ã§ã",allDisabled:"ãã¹ã¦ã®ãã¼ã«ã¯æ¢ã«ç¡å¹ã§ã",asyncExecution:"éåæå®è¡",asyncExecutionEnabled:"éåæå®è¡ãæå¹ã§ã",asyncExecutionDisabled:"éåæå®è¡ãç¡å¹ã§ã",browserUnifiedMode:"çµ±åãã©ã¦ã¶ã¼ï¼ãã¼ã¿ï¼",browserLegacyMode:"ã¬ã¬ã·ã¼äºæã¢ã¼ã",browserUnifiedModeButton:"æ°çï¼ãã¼ã¿ï¼",browserLegacyModeButton:"æ§çï¼äºæï¼",browserUnifiedDescription:"æ°ããçµ±åãã©ã¦ã¶ã¼æ©è½ã使ç¨ãã¾ãã",browserLegacyDescription:"徿¥ã®åä½ãå¿
è¦ãªå ´åã¯ãå
ã®ãã©ã¦ã¶ã¼å®è£
ã使ç¨ãã¾ãã",browserRestartPending:"ãµã¼ãã¹ã®åèµ·åå¾ã« {{mode}} ã¸åãæ¿ããã¾ãã",configure:"è¨å®",configured:"è¨å®æ¸ã¿",requiresConfig:"è¨å®ãå¿
è¦ã§ã",configSaved:"è¨å®ãä¿åãã¾ãã",configSaveError:"è¨å®ã®ä¿åã«å¤±æãã¾ãã",webSearchProviderLabel:"ãããã¤ãã¼",webSearchApiKeyLabel:"APIãã¼ï¼ä»»æï¼",webSearchQuotaHintBefore:"æªç»é²æã¯1æ¥100åã¾ã§ã",webSearchQuotaHintAfter:"ã§ç»é²ããã¨1æ¥1,000åç¡æã«ã",active:"åãæå¹",available:"å©ç¨å¯è½",noEnabled:"æå¹ãªãã¼ã«ã¯ããã¾ãã",goEnableBtn:"æå¹ã«ãã",configureAction:"è¨å® â",enableAction:"æå¹å â"},DI={promptTitle:"LLMã¢ãã«ãå¿
è¦ã§ã â è¨å®å¾ã«Chatãã¼ã¸ã§é¸æ",promptMessage:"ãã£ããæ©è½ã«ã¯LLMã¢ãã«ãå¿
è¦ã§ããã¾ãã¢ãã«ãè¨å®ããè¨å®å®äºå¾ã«Chatãã¼ã¸ä¸é¨ã®ã¢ãã«ã»ã¬ã¯ã¿ã¼ã§é¸æãã¦ãã ããã",configureButton:"ã¢ãã«ãè¨å®",skipButton:"ã¹ããã",chatDisabledTitle:"ãã£ããç¡å¹",chatDisabledMessage:"ã¢ãã«ãè¨å®ããã¦ããªããããã£ããæ©è½ãç¡å¹ã§ãããã£ãããæå¹ã«ããã«ã¯ã¢ãã«ãè¨å®ãã¦ãã ããã",configureNow:"ã¢ãã«ãè¨å®",modelNotConfigured:"ãã£ããã使ç¨ããåã«è¨å®ã§ã¢ãã«ãè¨å®ãã¦ãã ãã"},xI={changelog:"夿´å±¥æ´",docs:"ããã¥ã¡ã³ã",tutorial:"ãã¥ã¼ããªã¢ã«",featureDemos:"æ©è½ãã¢",faq:"ãããã質å",github:"GitHub",resources:"ããã¥ã¡ã³ãè³æ",updateAvailable:"å©ç¨å¯è½ãªæ´æ°"},RI={dark:"ãã¼ã¯",light:"ã©ã¤ã",system:"ã·ã¹ãã ã«å¾ã"},II={newVersion:"æ°ãããã¼ã¸ã§ã³ãå©ç¨å¯è½ã§ã: v{{version}}ãã¯ãªãã¯ãã¦ã¢ããã°ã¬ã¼ã",updateModal:{title:"æ°ãããã¼ã¸ã§ã³ãå©ç¨å¯è½ã§ã: v{{version}}",viewReleases:"ãªãªã¼ã¹ãè¦ã",installDesktopUpdate:"ä»ããæ´æ°",desktopInstallHint:"QwenPaw Desktop {{version}} ã®ã¤ã³ã¹ãã¼ã«æºåãæ´ãã¾ãããæ´æ°å¾ã«ã¢ããªãåèµ·åãã¾ãã",checking:"æ´æ°ã確èªä¸â¦",checkingHint:"ææ°ãã¼ã¸ã§ã³ã確èªãã¦ãã¾ã",downloading:"æ´æ°ããã¦ã³ãã¼ãä¸",downloadingTo:"ãã¼ã¸ã§ã³ {{version}} ã«æ´æ°ä¸",downloadProgress:"{{done}} / {{total}} · {{rate}}",installing:"æ´æ°ãã¤ã³ã¹ãã¼ã«ä¸",willRestart:"ã¢ããªã¯ã¤ã³ã¹ãã¼ã«å®äºå¾ã«èªåçã«åèµ·åãã¾ã",stepPrepare:"æºå",stepDownloading:"ãã¦ã³ãã¼ã",stepInstalling:"ã¤ã³ã¹ãã¼ã«",failedTitle:"æ´æ°ã«å¤±æãã¾ãã",back:"æ»ã",retry:"å試
181è¡",errors:{network:"æ´æ°ãµã¼ãã¼ã«æ¥ç¶ã§ãã¾ããã§ãããã¤ã³ã¿ã¼ãããæ¥ç¶ã確èªãã¦å試è¡ãã¦ãã ããã",signature:"æ´æ°ãã¡ã¤ã«ã®ç½²åæ¤è¨¼ã«å¤±æãã¾ãããããä¸åº¦ãã¦ã³ãã¼ããã¦ãã ããã",appLocation:"QwenPaw ã¯èªã¿åãå°ç¨ã® macOS ã®å ´æããå®è¡ããã¦ãã¾ããQwenPaw.app ã Applications ãã©ã«ãã¼ã¸ç§»åããããããèµ·åãã¦ããããä¸åº¦æ´æ°ãã¦ãã ããã",other:"æ´æ°ã«å¤±æãã¾ããã"},updateLater:"ããã¯ã°ã©ã¦ã³ãã§ãã¦ã³ãã¼ã",backgroundDownloading:"ããã¯ã°ã©ã¦ã³ãã§ãã¦ã³ãã¼ãä¸â¦",readyToInstall:"æ´æ°ã®æºåãå®äº",readyToInstallHint:"v{{version}} ã®æ´æ°ããã¦ã³ãã¼ããã¾ãããåèµ·åãã¦ã¤ã³ã¹ãã¼ã«ããæ°ãããã¼ã¸ã§ã³ãèµ·åãã¾ãã",restartNow:"ä»ããæ´æ°",backgroundFailed:"ããã¯ã°ã©ã¦ã³ããã¦ã³ãã¼ã失æ"},settings:{language:"è¨èª",theme:"ãã¼ã",mode:"ã¢ã¼ã",desktopMode:"ãã¹ã¯ãããã¢ã¼ã"},simpleMode:"ã·ã³ãã«ã¢ã¼ã",fullMode:"ãã«ã¢ã¼ã",toggleAgentNavigation:"ã¨ã¼ã¸ã§ã³ãããã²ã¼ã·ã§ã³ãå±éã¾ãã¯æãããã"},_I={groups:{cronShort:"宿ã¿ã¹ã¯",subagentShort:"ãµãã¨ã¼ã¸ã§ã³ã"},fileReference:{codeSnippet:"ã³ã¼ãã¹ãããã · {{count}} è¡"},modelSelectTooltip:"ã¢ãã«ã鏿",newChatTooltip:"æ°ãããã£ãã",searchTooltip:"ãã¹ã¦ã®ãã£ãããæ¤ç´¢",chatHistoryTooltip:"ãã£ããå±¥æ´",wideModeTooltip:"ã¯ã¤ãã¢ã¼ã",normalModeTooltip:"æ¨æºã¢ã¼ã",messageDisplay:{stepsRunning:"å®è¡ä¸â¦ · {{count}} ã¹ããã",stepsCanceled:"ãã£ã³ã»ã«æ¸ã¿ · {{count}} ã¹ããã",stepsFailed:"å®è¡å¤±æ · {{count}} ã¹ããã",stepsCompleted:"{{count}} ã¹ãããå®äº"},allChats:"ãã¹ã¦ã®ãã£ãã",createNewChat:"æ°ãããã£ããã使",pinDrawer:"åºå®",unpinDrawer:"åºå®è§£é¤",statusIdle:"å¾
æ©",statusInProgress:"å¦çä¸",disclaimer:"ããªãã®ããã«åããããªãã¨å
±ã«æé·ãã¾ã",greeting:"ããã«ã¡ã¯ã仿¥ã¯ã©ããªãæä¼ããã§ãã¾ããï¼",description:"ç§ã¯ããªãã®è³ªåããµãã¼ãããAIã¢ã·ã¹ã¿ã³ãã§ãã",prompt1:"æ°ããæ
ãå§ãã¾ãããï¼",prompt2:"ããªãã®ã¹ãã«ãæãã¦ãã ããã",inputPlaceholder:'"ââ"ã§ã¡ãã»ã¼ã¸ç§»å · "/"ã§ã¯ã¤ãã¯ã³ãã³ã',longTextUploadPrompt:"ã¢ãããã¼ããããããã³ãããã¡ã¤ã«ãèªã¿ããã®å
容ã«åºã¥ãã¦åçãã¦ãã ããã",emptyOutputError:"ã¢ã·ã¹ã¿ã³ãã空ã®ã¬ã¹ãã³ã¹ãè¿ãã¾ããã",commands:{clear:{description:"ä¼è©±ã®ã³ã³ããã¹ããã¯ãªã¢"},compact:{description:"ä¼è©±ã³ã³ããã¹ããå§ç¸®ãã¦è¦ç´ãçæãè¿½å æç¤ºã«ã対å¿"},approve:{description:"ä¿çä¸ã®ãã¼ã«æä½ãæ¿èªãã¦å®è¡ãç¶è¡"},deny:{description:"ä¿çä¸ã®ãã¼ã«æä½ãæå¦"},mission:{description:"Missionã¢ã¼ã â ã¿ã¹ã¯ããµãã¨ã¼ã¸ã§ã³ãã«åè§£å§ä»»ãç¬ç«ã³ã³ããã¹ãã§ã¡ã¤ã³ä¼è©±ãæ±æããªã"},skills:{description:"ãã£ããã§å©ç¨å¯è½ãªã¹ãã«ãä¸è¦§ããæç¤ºçãªã¹ãã«ã³ãã³ãã表示ãã¾ã"},agents:{description:"ç¾å¨ã®ã©ã³ã¿ã¤ã ã§å©ç¨å¯è½ãªã¨ã¼ã¸ã§ã³ããä¸è¦§è¡¨ç¤º"},review:{description:"Codex ã§æªã³ãããã®ã¯ã¼ã¯ã¹ãã¼ã¹å¤æ´ãã¬ãã¥ã¼"},status:{description:"ç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã¢ã«ã¦ã³ããã¢ãã«ãã¯ã¼ã¯ã¹ãã¼ã¹ã表示"},goal:{description:"Goalã«ã¼ã â ã¨ã¼ã¸ã§ã³ããç®æ¨ã«åãã£ã¦ç¶ç¶å®è¡ããRubricè©ä¾¡ã§å®äºãèªåå¤å®"}},attachments:{tooltip:"ããã¥ã¡ã³ããç»åãåç»ãé³å£°ãªã©ãæ§ã
ãªå½¢å¼ã«å¯¾å¿",tooltipImageOnly:"ç¾å¨ã®ã¢ãã«ã¯ç»åã¢ãããã¼ãã®ã¿å¯¾å¿",tooltipNoMultimodal:"ç¾å¨ã®ã¢ãã«ã«ãã«ãã¢ã¼ãã«æ©è½ãæ¤åºããã¦ãã¾ãããç»åãåç»ãæ£ããå¦çãããªãå ´åãããã¾ã",fileSizeLimit:"1ãã¡ã¤ã«ãããæå¤§{{limit}}MB",fileSizeExceeded:"ãã¡ã¤ã«ãµã¤ãºã{{limit}}MBã®å¶éãè¶
ãã¦ãã¾ããç¾å¨ã®ãã¡ã¤ã«: {{size}}MB",multimodalDisabled:"ç¾å¨ã®ã¢ãã«ã¯ãã¡ã¤ã«ã¢ãããã¼ãã«å¯¾å¿
181ãã¦ãã¾ãã",multimodalWarning:"ç¾å¨ã®ã¢ãã«ã«ãã«ãã¢ã¼ãã«æ©è½ãæ¤åºããã¦ãã¾ãããç»åãåç»ãæ£ããå¦çãããªãå ´åãããã¾ã",imageOnlyAccept:"ç¾å¨ã®ã¢ãã«ã¯ç»åãã¡ã¤ã«ã®ã¿å¯¾å¿ãã¦ãã¾ã",imageOnlyWarning:"ç¾å¨ã®ã¢ãã«ã¯ç»åã®ã¿å¯¾å¿ãã¦ãã¾ããåç»ãªã©ã®éç»åãã¡ã¤ã«ã¯æ£ããå¦çãããªãå ´åãããã¾ã"},rateLimitHit:"ç¾å¨ã®ã¢ãã«ãã¬ã¼ãå¶éããã¦ãã¾ããä»ã®ç¡æã¢ãã«ã«åãæ¿ãã¦ã¿ã¦ãã ããã",turnUsagePopover:{ariaLabel:"ãã®ã¿ã¼ã³ã®ãã¼ã¯ã³ã¨ã³ã³ããã¹ã使ç¨éã表示",turn:"ãã®ã¿ã¼ã³",turnEstimated:"ãã®ã¿ã¼ã³ç´",tok:"tok",inOut:"å
¥å {{inTok}} · åºå {{outTok}}",contextLabel:"ã³ã³ããã¹ãã¦ã£ã³ãã¦ï¼",outerRing:"Outer ring",cacheLabel:"Cache hit rate",centerValue:"Center",cacheTokens:"ããã {{readTok}} / å
¥å {{inputTok}}",manageContext:"ã³ã³ããã¹ã管ç",compact:"å§ç¸®",new:"æ°ããä¼è©±"},rateLimitMessage:"ã¬ã¼ãå¶éã«éãã¾ãããä»ã®ç¡æã¢ãã«ã«åãæ¿ãï¼",rateLimitSwitched:"{{model}} ã«åãæ¿ãã¾ãã",speech:{startRecording:"é³å£°é²é³ãéå§ (Ctrl+Shift+M)",stopRecording:"é²é³ã忢 (Ctrl+Shift+M)",transcribing:"æåèµ·ããä¸...",transcriptionDisabled:"æåèµ·ããã¯ç¡å¹ã§ããè¨å® > é³å£°æåèµ·ããã§ãããã¤ãã¼ãè¨å®ãã¦ãã ããã",transcriptionFailed:"é³å£°æåèµ·ããã«å¤±æãã¾ãã",microphoneError:"ãã¤ã¯ã«ã¢ã¯ã»ã¹ã§ãã¾ãã",fileTooLarge:"é²é³ãã¡ã¤ã«ã大ãããã¾ãï¼{{size}}MBï¼ãä¸é: {{limit}}MB",recordingTooLong:"é²é³æéãå¶éãè¶
ãã¦ãã¾ãï¼ä¸é: {{limit}}ç§ï¼"},search:{title:"ãã£ãããæ¤ç´¢",tooltip:"ç¾å¨ã®ãã£ãããæ¤ç´¢",placeholder:"ã¡ãã»ã¼ã¸ãæ¤ç´¢...",noResults:"çµæãè¦ã¤ããã¾ãã",resultsCount:"{{count}} ä»¶ã®çµæãè¦ã¤ããã¾ãã",searching:"æ¤ç´¢ä¸ {{progress}}...",loading:"èªã¿è¾¼ã¿ä¸...",userMessage:"ã¦ã¼ã¶ã¼",assistantMessage:"ã¢ã·ã¹ã¿ã³ã",titleMatch:"ã¿ã¤ãã«"},contextMenu:{open:"éã",rename:"ååã夿´",pin:"ãã³çã",unpin:"ãã³çãè§£é¤",delete:"åé¤"},queue:{title:"ã¡ãã»ã¼ã¸ãã¥ã¼",paused:"䏿忢ä¸",sendFailed:"é信失æ",resume:"ãã¥ã¼ãåé",pause:"ãã¥ã¼ã䏿忢",clear:"ãã¥ã¼ãã¯ãªã¢",dragSort:"ãã©ãã°ã§ä¸¦ã¹æ¿ã",edit:"ç·¨é",retry:"å試è¡",skip:"ã¹ããã",interruptAndSend:"䏿ãã¦éä¿¡",delete:"åé¤",file:"ãã¡ã¤ã«",noChatWarning:"ãã¥ã¼ã使ç¨ããåã«ãã¾ãã¡ãã»ã¼ã¸ãéä¿¡ãã¦ä¼è©±ã使ãã¦ãã ãã",queueFull:"ãã¥ã¼ãæºæ¯ã§ãï¼æå¤§ {{max}} ä»¶ï¼ãã¡ãã»ã¼ã¸ãéä¿¡ã¾ãã¯åé¤ãã¦ãã ãã",otherTabOwner:"This tab queues only; sending is handled by another tab"},group:{pinned:"ãã³çã",today:"仿¥",week:"7æ¥ä»¥å
",month:"30æ¥ä»¥å
",older:"ãã以å"},sessionPanel:{searchConversations:"ä¼è©±ãæ¤ç´¢â¦",noResults:"çµæãªã",noConversations:"ä¼è©±ãªã",loadingConversations:"èªã¿è¾¼ã¿ä¸â¦"},conversationHistory:"ä¼è©±å±¥æ´",history:{empty:"ãã£ããå±¥æ´ãªã"},sessionGroup:{today:"仿¥",recent:"éå»7æ¥é",earlier:"ãã以å"}},LI={parent:"è¨å®",security:"ã»ãã¥ãªãã£",title:"ã»ãã¥ãªãã£",description:"ãã¼ã«ã¨ã¹ãã«ã®ã»ãã¥ãªãã£æ©è½ã管çãã¾ãã",toolGuardTitle:"ãã¼ã«ã¬ã¼ã",toolGuardDescription:"ãã¼ã«å¼ã³åºãã®ã»ãã¥ãªãã£ã¹ãã£ã³ãè¨å®ãã¾ããå±éºãªæä½ã¯å®è¡åã«æç¤ºçãªæ¿èªãå¿
è¦ã«ãªãã¾ãã",enabled:"ãã¼ã«ã¬ã¼ããæå¹ã«ãã",enabledTooltip:"æå¹ã«ããã¨ããã¼ã«å¼ã³åºããå®è¡åã«å±éºãªãã¿ã¼ã³ãã¹ãã£ã³ããã¾ã",guardedTools:"ä¿è·å¯¾è±¡ãã¼ã«",guardedToolsTooltip:"å±éºãªãã¿ã¼ã³ãæ¤åºãããå ´åã«æ¿èªãå¿
è¦ãªãã¼ã«ã空ã®å ´åã¯ããã©ã«ãã»ããã使ç¨ããã¾ãã",guardedToolsPlaceholder:"ãã¼ã«ã鏿ã¾ãã¯ã«ã¹ã¿ã ãã¼ã«åãå
¥å",deniedTools:"æå¦ãã¼ã«",deniedToolsTooltip:"æ¿èªãªãã§å¸¸ã«æå¦ããããã¼ã«",deniedToolsPlaceholder:"å¸¸ã«æå¦ãããã¼ã«ã鏿",saveSuccess:"ãã¼ã«ã¬ã¼ãè¨å®ãä¿åãã¾ãã",saveFailed:"ãã¼ã«ã¬ã¼ãè¨å®ã®ä¿åã«å¤±æãã¾ãã",loadFailed:"ãã¼ã«ã¬ã¼ãè¨å®ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",rules:{title:"æ¤
181åºã«ã¼ã«",description:"ã«ã¼ã«ã¯ã»ãã¥ãªãã£ã¢ã©ã¼ããããªã¬ã¼ããæ£è¦è¡¨ç¾ãã¿ã¼ã³ãå®ç¾©ãã¾ããçµã¿è¾¼ã¿ã«ã¼ã«ã¯ç¡å¹åã§ããã«ã¹ã¿ã ã«ã¼ã«ã¯è¿½å ã»ç·¨éã»åé¤ã§ãã¾ãã",id:"ã«ã¼ã« ID",severity:"éè¦åº¦",descriptionCol:"説æ",source:"ã½ã¼ã¹",actions:"æä½",builtin:"çµã¿è¾¼ã¿",custom:"ã«ã¹ã¿ã ",enable:"æå¹å",disable:"ç¡å¹å",edit:"ç·¨é",delete:"åé¤",add:"ã«ã¼ã«è¿½å ",addTitle:"ã«ã¹ã¿ã ã«ã¼ã«ã追å ",editTitle:"ã«ã¹ã¿ã ã«ã¼ã«ãç·¨é",ruleId:"ã«ã¼ã« ID",ruleIdRequired:"ã«ã¼ã« ID ã¯å¿
é ã§ã",duplicateId:"ãã®IDã®ã«ã¼ã«ã¯æ¢ã«åå¨ãã¾ã",tools:"対象ãã¼ã«",toolsPlaceholder:"空ç½ã®å ´åã¯ãã¹ã¦ã®ãã¼ã«ã«ä¸è´",params:"対象ãã©ã¡ã¼ã¿",paramsPlaceholder:"空ç½ã®å ´åã¯ãã¹ã¦ã®ãã©ã¡ã¼ã¿ã«ä¸è´",severityLabel:"éè¦åº¦",categoryLabel:"ã«ãã´ãª",patterns:"æ£è¦è¡¨ç¾ãã¿ã¼ã³",patternsRequired:"ãã¿ã¼ã³ãå°ãªãã¨ã1ã¤å¿
è¦ã§ã",patternsTooltip:"1è¡ã«1ã¤ã®æ£è¦è¡¨ç¾ããã¼ã«ãã©ã¡ã¼ã¿å¤ã«å¯¾ãã¦ãããã³ã°ï¼å¤§æåå°æååºå¥ãªãï¼ã",excludePatterns:"é¤å¤ãã¿ã¼ã³",excludePatternsTooltip:"1è¡ã«1ã¤ã®æ£è¦è¡¨ç¾ããããããå ´åããã®ã«ã¼ã«ã¯ã¹ãããããã¾ãã",descriptionLabel:"説æ",descriptionPlaceholder:"ãã®ã«ã¼ã«ã¯ä½ãæ¤åºãã¾ããï¼",remediationLabel:"ä¿®æ£ææ¡",remediationPlaceholder:"ã«ã¼ã«ãããªã¬ã¼ãããå ´åã®æ¨å¥¨ã¢ã¯ã·ã§ã³",preview:"ãã¬ãã¥ã¼",previewTitle:"ã«ã¼ã«è©³ç´°",actionLabel:"ã¢ã¯ã·ã§ã³",actionApproval:"æ¿èªå¾
ã¡",autoDeny:"èªåæå¦",autoDenyTooltip:"æå¹ã«ããã¨ããã®ã«ã¼ã«ã«ä¸è´ãããã¼ã«å¼ã³åºãã¯æåæ¿èªãªãã§èªåçã«æå¦ããã¾ã",autoDenyEnable:"ãã®ã«ã¼ã«ã®èªåæå¦ãæå¹ã«ãã",autoDenyDisable:"ãã®ã«ã¼ã«ã®èªåæå¦ãç¡å¹ã«ãã",allTools:"ãã¹ã¦ã®ãã¼ã«",allParams:"ãã¹ã¦ã®ãã©ã¡ã¼ã¿",descriptions:{TOOL_CMD_CONTROL_CHARS:"ã»ãã¥ãªãã£ãã§ãã¯ããã¤ãã¹ããå¯è½æ§ã®ããéå°å·å¶å¾¡æåãå«ãã³ãã³ããæ¤åº",TOOL_CMD_DANGEROUS_MV:"ãã¡ã¤ã«ãæå³ããç§»åã»ä¸æ¸ãããå¯è½æ§ã®ãã mv ã³ãã³ããæ¤åº",TOOL_CMD_DANGEROUS_RM:"ãã¼ã¿æå¤±ãå¼ãèµ·ããå¯è½æ§ã®ãã rm ã³ãã³ããæ¤åº",TOOL_CMD_DOS_FORK_BOMB:"Bash ãã©ã¼ã¯çå¼¾ããã³å¤§éããã»ã¹çµäºãæ¤åº",TOOL_CMD_FIND_DELETE:"ãã¼ã¿æå¤±ãå¼ãèµ·ããå¯è½æ§ã®ãã find -delete ã³ãã³ããæ¤åº",TOOL_CMD_FS_DESTRUCTION:"ä½ã¬ãã«ã®ãã£ã¹ã¯ãã©ã¼ãããã¾ãã¯ã¯ã¤ãã³ãã³ããæ¤åº",TOOL_CMD_IFS_INJECTION:"$IFS夿°ã使ç¨ãã¦ã»ãã¥ãªãã£æ¤è¨¼ããã¤ãã¹ããå¯è½æ§ã®ããã³ãã³ããæ¤åº",TOOL_CMD_JQ_FILE_FLAGS:"ä»»æã®ãã¡ã¤ã«ãèªã¿åã£ããå¤é¨ã³ã¼ããå®è¡ããå¯è½æ§ã®ãããã©ã°ã使ç¨ããjqã³ãã³ããæ¤åº",TOOL_CMD_JQ_SYSTEM:"ä»»æã®ã·ã§ã«ã³ãã³ããå®è¡ã§ããsystem()颿°ãå«ãjqã³ãã³ããæ¤åº",TOOL_CMD_OBFUSCATED_EXEC:"base64 ã¨ã³ã³ã¼ãæååãã·ã§ã«ã¤ã³ã¿ããªã¿ã«ç´æ¥æ¸¡ãã¦å®è¡ããæä½ãæ¤åº",TOOL_CMD_PIPE_TO_SHELL:"ãªã¢ã¼ããã¤ãã¼ãããã¦ã³ãã¼ããã¦å³åº§ã«å®è¡ãã 'curl | bash' ãã¿ã¼ã³ãæ¤åº",TOOL_CMD_PRIVILEGE_ESCALATION:"sudoãsuãdoasãpkexecãã¾ã㯠runas ã使ç¨ããæ¨©éææ ¼ã®è©¦ã¿ãæ¤åº",TOOL_CMD_PROCESS_KILL:"éè¦ãªããã»ã¹ãçµäºãããå¯è½æ§ã®ããããã»ã¹çµäºã³ãã³ããæ¤åº",TOOL_CMD_PROC_ENVIRON:"æ©å¯ã®ç°å¢å¤æ°ãå
¬éããå¯è½æ§ã®ãã /proc/*/environ ã«ã¢ã¯ã»ã¹ããã³ãã³ããæ¤åº",TOOL_CMD_REVERSE_SHELL:"ãªãã¼ã¹ã·ã§ã«ã¾ãã¯ä¸æ£ãªãããã¯ã¼ã¯ãã³ãã«ã®ç¢ºç«ãæ¤åº",TOOL_CMD_SERVICE_RESTART:"ã·ã¹ãã ãµã¼ãã¹ã䏿ãããå¯è½æ§ã®ãããµã¼ãã¹ç®¡çã³ãã³ããæ¤åº",TOOL_CMD_SYSTEM_REBOOT:"ãã¹ãã·ã¹ãã ãçµäºãããã·ã¹ãã åèµ·åã¾ãã¯ã·ã£ãããã¦ã³ã³ãã³ããæ¤åº",TOOL_CMD_SYSTEM_TAMPERING:"cron ã¸ã§ããSSH ãã¼ãsudo 権éã¸ã®ã¢ã¯ã»ã¹ï¼èªã¿åãã»å¤æ´ãå«ãï¼ãæ¤åº",TOOL_CMD_UNICODE_WHITESPACE:"è§£æã®ä¸æ´åãå¼ãèµ·ããå¯è½æ§ã®ããUnicodeç©ºç½æåãå«ãã³ãã³ããæ¤åº",TOOL_CMD_UNSAFE_PERMISSIONS:"ã°ãã¼ãã«æ¨©éã®å¼ãä¸ãï¼chmod 777ï¼ãä¸å¤ãã©ã°ã®è¨å®ãæ¤åº",TOOL_CMD_ZSH_DANGEROUS:"ã»ãã¥ãªãã£ãã§ãã¯ããã¤ãã¹ããå¯è½æ§ã®ããZshåºæã®ãã«ãã¤ã³ã使ç¨ããã³ãã³ããæ¤åº"},categories:{command_injection:"ã³ãã³ãã¤ã³ã¸ã§ã¯ã·ã§ã³",code_execution:"ã³ã¼ãå®è¡",data_exfiltration:"ãã¼ã¿æ¼æ´©",path_traversal:"ãã¹ãã©ãã¼ãµã«",sensitive_file_access:"æ©å¯ãã¡ã¤ã«ã¢ã¯ã»ã¹",network_abuse:"ãããã¯ã¼ã¯ä¸æ£å©ç¨",credential_exposure:"èªè¨¼æ
å ±æ¼æ´©",resource_abuse:"ãªã½ã¼ã¹ä¸æ£å©ç¨",privilege_escalation:"æ¨©éææ ¼",prompt_injection:"ããã³ããã¤ã³ã¸ã§ã¯ã·ã§ã³",other:"ãã®ä»"}},fileGuard:{title:"ãã¡ã¤ã«ã¬ã¼ã",description:"æ©å¯ãã¡ã¤ã«ããã£ã¬ã¯ããªãã¨ã¼ã¸ã§ã³ããã¼ã«ããã®ã¢ã¯ã»ã¹ããä¿è·ãã¾ãã追å ããããã¹ã¯ããã¹ã¦ã®ãã¼ã«å¼ã³åºãã§ãããã¯ããã¾ãã",enableLabel:"ãã¡ã¤ã«ã¬ã¼ããæå¹ã«ãã",path:"ãã¹",actions:"æä½",add:"追å ",inputPlaceholder:"ãã¡ã¤ã«ã¾ãã¯ãã£ã¬ã¯ããªãã¹ãå
¥åï¼ä¾: ~/.ssh/ ã¾ã㯠/etc/passwdï¼",empty:"ã«ã¹ã¿ã æ©å¯ãã¹ãè¨å®ããã¦ãã¾ãã",directory:"ãã£ã¬ã¯ããª",removeConfirm:"ãã®ãã¹ãä¿è·ãªã¹ãããåé¤ãã¾ããï¼",duplicate:"ãã®ãã¹ã¯æ¢ã«ãªã¹ãã«åå¨ãã¾ã",saveSuccess:"ãã¡ã¤ã«ã¬ã¼ãè¨å®ãä¿åãã¾ãã",saveFailed:"ãã¡ã¤ã«ã¬ã¼ãè¨å®ã®ä¿åã«å¤±æãã¾ãã",loadFailed:"ãã¡ã¤ã«ã¬ã¼ãè¨å®ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",allowPreviewOutsideWorkspace:"ã³ã³ã½ã¼ã«ã§ã¯ã¼ã¯ã¹ãã¼ã¹å¤ãã¡ã¤ã«ã®ãã¬ãã¥ã¼ã許å¯",allowPreviewOutsideWorkspaceDesc:"ã³ã³ã½ã¼ã«ã§ã¯ã¼ã¯ã¹ãã¼ã¹ãã£ã¬ã¯ããªå¤ã®ãã¡ã¤ã«ããã¬ãã¥ã¼ã§ããããã«ãã¾ããæ©å¯ãã¡ã¤ã«ä¿è·ã¯å¼ãç¶ãæå¹ã§ãã"},allowNoAuthHosts:{title:"èªè¨¼ä¸è¦ãã¹ã",warningTitle:"ã»ãã¥ãªãã£è¦å",warningDescription:"ãã®ãªã¹ãã®IPã¢ãã¬ã¹ã¯èªè¨¼ãªãã§APIã¨ã³ããã¤ã³ãã«ã¢ã¯ã»ã¹ã§ãã¾ããããã©ã«ãã§ã¯ããã¼ã«ã«ãã¹ãï¼127.0.0.1ã¨::1ï¼ãCLIã¢ã¯ã»ã¹ã®ããã«è¨±å¯ããã¦ãã¾ããä¿¡é ¼ã§ããIPã¢ãã¬ã¹ã®ã¿ã追å ãã¦ãã ãããè¦åï¼ä¿¡é ¼ã§ããªãIPã追å ããã¨ãæ·±å»ãªã»ãã¥ãªãã£ãªã¹ã¯ãçãã¾ãã",ipAddress:"IPã¢ãã¬ã¹",actions:"æä½",add:"追å ",inputPlaceholder:"IPã¢ãã¬ã¹ãå
¥åï¼ä¾ï¼192.168.1.100 ã¾ã㯠::1ï¼",empty:"IPã¢ãã¬ã¹ãè¨å®ããã¦ãã¾ãã",default:"ããã©ã«ã",removeConfirm:"ãã®IPã¢ãã¬ã¹ããã¯ã¤ããªã¹ãããåé¤ãã¾ããï¼",duplicate:"ãã®IPã¢ãã¬ã¹ã¯æ¢ã«ãªã¹ãã«åå¨ãã¾ã",
181invalidIP:"ç¡å¹ãªIPã¢ãã¬ã¹å½¢å¼",saveSuccess:"èªè¨¼ä¸è¦ãã¹ãè¨å®ãä¿åãã¾ãã",saveFailed:"èªè¨¼ä¸è¦ãã¹ãè¨å®ã®ä¿åã«å¤±æãã¾ãã",loadFailed:"èªè¨¼ä¸è¦ãã¹ãè¨å®ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã"},skillScanner:{title:"ã¹ãã«ã¹ãã£ãã¼",description:"ã¹ãã«ãæå¹åã»ã¤ã³ã¹ãã¼ã«ããåã«ã»ãã¥ãªãã£è
å¨ãèªåã¹ãã£ã³ãã¾ãã",mode:"ã¹ãã£ã³ã¢ã¼ã",modeTooltip:"ã¹ãã£ãã¼ãå®å
¨ã§ãªãã¹ãã«ãã©ãå¦çããããå¶å¾¡: ãããã¯ãè¦åã®ã¿ããªã",modeBlock:"ãããã¯",modeWarn:"è¦åã®ã¿",modeOff:"ãªã",timeout:"ã¹ãã£ã³ã¿ã¤ã ã¢ã¦ãï¼ç§ï¼",timeoutTooltip:"ã¹ãã£ã³å®äºãå¾
ã¤æå¤§æéï¼5-300ç§ï¼",saveSuccess:"ã¹ãã«ã¹ãã£ãã¼è¨å®ãä¿åãã¾ãã",saveFailed:"ã¹ãã«ã¹ãã£ãã¼è¨å®ã®ä¿åã«å¤±æãã¾ãã",scanAlerts:{title:"ã¹ãã£ã³ã¢ã©ã¼ã",empty:"ã»ãã¥ãªãã£ã¢ã©ã¼ãã¯ããã¾ãã",clearAll:"ãã¹ã¦ã¯ãªã¢",clearConfirm:"ãã¹ã¦ã®ã¹ãã£ã³ã¢ã©ã¼ããã¯ãªã¢ãã¾ããï¼",skillName:"ã¹ãã«",action:"ã¢ã¯ã·ã§ã³",actionBlocked:"ãããã¯æ¸ã¿",actionWarned:"è¦åæ¸ã¿",time:"æ¥æ",actions:"æä½",allowSkill:"ãã¯ã¤ããªã¹ãã«è¿½å ",remove:"åé¤",viewFindings:"詳細ã表示"},whitelist:{title:"ãã¯ã¤ããªã¹ã",empty:"ãã¯ã¤ããªã¹ãã«ã¹ãã«ãããã¾ãã",skillName:"ã¹ãã«",addedAt:"è¿½å æ¥æ",contentHash:"ã³ã³ãã³ãããã·ã¥",actions:"æä½",remove:"åé¤",removeConfirm:"ãã®ã¹ãã«ããã¯ã¤ããªã¹ãããåé¤ãã¾ããï¼",addSuccess:"ã¹ãã«ããã¯ã¤ããªã¹ãã«è¿½å ãã¾ãã",removeSuccess:"ã¹ãã«ããã¯ã¤ããªã¹ãããåé¤ãã¾ãã",addFailed:"ãã¯ã¤ããªã¹ãã¸ã®è¿½å ã«å¤±æãã¾ãã",removeFailed:"ãã¯ã¤ããªã¹ãããã®åé¤ã«å¤±æãã¾ãã",removeWillDisable:"åé¤å¾ããã®ã¹ãã«ãç¡å¹åããã¾ãã",removeAndDisabled:"ã¹ãã«ããã¯ã¤ããªã¹ãããåé¤ããç¡å¹åãã¾ãã"},scanError:{title:"ã»ãã¥ãªãã£åé¡ãæ¤åºããã¾ãã",description:"以ä¸ã®ã»ãã¥ãªãã£åé¡ãè¦ã¤ããã¾ããï¼",warnDescription:"ã»ãã¥ãªãã£åé¡ãè¦ã¤ããã¾ããããã¹ãã«ã¯å¼ãç¶ãæå¹ã§ãï¼è¦åã¢ã¼ãï¼ï¼",goToWhitelist:"ãã¯ã¤ããªã¹ãã¸",moreFindings:"ä»ã« {{count}} ä»¶ã¯è¡¨ç¤ºãã¦ãã¾ããï¼ä¸è¦§ã¯ è¨å® â ã»ãã¥ãªã㣠â ã¹ãã«ã¹ãã£ã ãåç
§ï¼ã"}}},EI={brand:{title:"Hub 管ç",subtitle:"ãã¼ã«ã«ã¯ã¼ã¯ã¹ãã¼ã¹",controlPlane:"管çåºç¤"},navigation:{workspace:"ã¯ã¼ã¯ã¹ãã¼ã¹",overview:"éç¨ç¶æ³",runtimes:"ã©ã³ã¿ã¤ã ",users:"ã¦ã¼ã¶ã¼",credentials:"èªè¨¼æ
å ±",audit:"ç£æ»ãã°",settings:"ã·ã¹ãã è¨å®"},actions:{backToQwenPaw:"QwenPawã«æ»ã",useLightTheme:"ã©ã¤ããã¼ãã使ç¨ãã",useDarkTheme:"ãã¼ã¯ãã¼ãã使ç¨ãã",signOut:"ãµã¤ã³ã¢ã¦ã",start:"éå§",stop:"忢",disable:"ç¡å¹å",rebuild:"åæ§ç¯",enableAndStart:"æå¹åãã¦éå§"},roles:{admin:"管çè
",user:"ã¦ã¼ã¶ã¼"},userStates:{active:"æå¹",disabled:"ç¡å¹"},runtimeStates:{created:"使æ¸ã¿",starting:"èµ·åä¸",running:"å®è¡ä¸",stopped:"忢",failed:"失æ"},runtimePolicies:{owner_allowed:"ãªã¼ãã¼ã¯åèµ·åã§ãã",admin_only:"管çè
ã«ããããã¯"},errors:{actionFailed:"ã¢ã¯ã·ã§ã³ã失æãã¾ãã",createFailed:"使ã«å¤±æãã¾ãã",updateFailed:"ã¢ãããã¼ãã«å¤±æãã¾ãã",saveFailed:"ä¿åã«å¤±æãã¾ãã",pullTimedOut:"ã¤ã¡ã¼ã¸ã®ãã«ãå¾
æ©ä¸ã«ã¿ã¤ã ã¢ã¦ããã¾ãã"},messages:{runtimeCreated:"ã©ã³ã¿ã¤ã ã使ããã¾ãã",accountCreated:"ã¢ã«ã¦ã³ãã使ããã¾ãã",credentialStored:"ä¿åãããèªè¨¼æ
å ±",settingsSaved:"ããè¨å®ãä¿åããã¾ãã",imagePulled:"Docker ã¤ã¡ã¼ã¸ã®ãã«ãå®äºãã¾ãã"},validation:{required:"ãã®é
ç®ã¯å¿
é ã§ã",runtimeIdInvali
181d:"æåã¾ãã¯æ°åã§å§ã¾ã 1 ï½ 64 ã®æåãæ°åãããããã¢ã³ãã¼ã¹ã³ã¢ãã¾ãã¯ãã¤ãã³ã使ç¨ãã¾ã",passwordMin:"ãã¹ã¯ã¼ãã«ã¯å°ãªãã¨ã 8 æåãå«ããå¿
è¦ãããã¾ã",credentialNameInvalid:"OPENAI_API_KEY ãªã©ã®å¤§æåã®ç°å¢å¤æ°åã使ç¨ãã¾ãã"},runtimes:{eyebrow:"Hub 管ç",title:"ã©ã³ã¿ã¤ã ã®æ¦è¦",description:"ã¦ã¼ã¶ã¼ãã¨ã«å°ç¨ã®ã©ã³ã¿ã¤ã ãããããã¡ã¤ã«ã¨ãã¼ã¯äºãã«åé¢ããã¦ãã¾ãã",newRuntime:"ã©ã³ã¿ã¤ã ã使",managed:"管ç対象ã©ã³ã¿ã¤ã ",localBoundaries:"ãã¼ã«ã«ããã»ã¹å¢ç",runningNow:"ç¾å¨å®è¡ä¸",needsAttention:"{{count}} ã©ã³ã¿ã¤ã ã«ã¯æ³¨æãå¿
è¦ã§ã",healthy:"ãã¹ã¦ã®ã©ã³ã¿ã¤ã ã¯æ£å¸¸ã§ã",isolationPolicy:"éé¢ããªã·ã¼",available:"å©ç¨å¯è½",unavailable:"å©ç¨ä¸å¯",failClosed:"ç°å¸¸æã¯èµ·åãæå¦",noFallback:"ãµã³ãããã¯ã¹ãªãã§ã¯å®è¡ããªã",executionBlocked:"ã©ã³ã¿ã¤ã ã®å®è¡ããããã¯ããã¦ãã¾ã",isolationTitle:"ç°å¸¸æã«èµ·åãæå¦ãããã¼ã«ã«åé¢",isolationDescription:"ã©ã³ã¿ã¤ã ããã»ã¹ ããªã¼å
¨ä½ããµã³ãããã¯ã¹åããã¾ãããã¤ãã£ãåé¢ããã¼ãã失æããå ´åãQwenPaw ã¯ãã®éå§ãæå¦ãã¾ãã",unavailableTitle:"ã»ãã¥ã¢ãªã©ã³ã¿ã¤ã ããã¯ã¨ã³ããå©ç¨ã§ããªã",unavailableDescription:"{{provisioner}} ã¯å©ç¨ã§ãã¾ãã: {{reason}} ããã¯ã¨ã³ãã®ã¤ã³ã¹ãã¼ã«ãå®è¡ç¶æ
ãã·ã¹ãã è¨å®ã確èªãã¦ãããQwenPaw Hub ãåèµ·åãã¦ãã ããã",unavailableUserDescription:"ã©ã³ã¿ã¤ã ããã¯ã¨ã³ãã¯ä¸æçã«å©ç¨ã§ãã¾ããã管çè
ã«é£çµ¡ãã¦ãã ããã",preflightFailed:"ã»ãã¥ãªãã£ãã§ãã¯ã«å¤±æãã¾ããã",localEndpoint:"ãã¼ã«ã«ã¨ã³ããã¤ã³ã · {{endpoint}}",provisioner:"å®è¡ã¿ã¤ã",localExecution:"ãã¼ã«ã«åé¢",dockerExecution:"Dockerã³ã³ãã",security:"å®å
¨",tenant:"ããã³ã",removeTitle:"{{id}} ãåé¤ãã¾ãã?",removeDescription:"ç»é²ã¯åé¤ããã¾ããå®è¡æãã¼ã¿ã¯ä¿æããã¾ãã",disableTitle:"{{id}}ãç¡å¹ã«ãã¾ãã?",disableDescription:"ããã»ã¹ã¯åæ¢ãã管çè
ãæå¹ã«ããã¾ã§ææè
ã¯åèµ·åã§ãã¾ããã",rebuildTitle:"ç¾å¨ã®ã¤ã¡ã¼ã¸ã§ {{id}} ãåæ§ç¯ãã¾ãã?",rebuildDescription:"ã³ã³ããã¯ã·ã¹ãã è¨å®ã®ã¤ã¡ã¼ã¸ã使ç¨ãã¦ç½®ãæãããã¾ããæ°¸ç¶çãªã¯ã¼ã¯ã¹ãã¼ã¹ãã·ã¼ã¯ã¬ãããããã¯ã¢ããã¯ä¿æããã¾ãã",emptyTitle:"ã©ã³ã¿ã¤ã ã¯ã¾ã ããã¾ãã",emptyDescription:"æåã®åé¢ããããã¼ã«ã« QwenPaw ã©ã³ã¿ã¤ã ã使ãã¾ãã"},users:{eyebrow:"ã¢ã¤ãã³ãã£ãã£ã¨ã¢ã¯ã»ã¹",title:"ã¦ã¼ã¶ã¼ã¢ã¯ã»ã¹",description:"ãã¼ã«ã« ã¢ã«ã¦ã³ãã使ãã管çã¢ã¯ã»ã¹ãå²ãå½ã¦ãã»ãã·ã§ã³ã 1 ãæããåãæ¶ãã¾ãã",addAccount:"ã¢ã«ã¦ã³ãã追å ",publicRegistration:"å
¬çç»é²",publicRegistrationDescription:"ç¡å¹ã«ããã¨ã管çè
ã®ã¿ãã¢ã«ã¦ã³ãã使ã§ãã¾ãã",currentAccountProtected:"ç¾å¨ã®ã¢ã«ã¦ã³ãã¯ä¿è·ããã¦ãã¾ã",empty:"ãããã®ãã£ã«ã¿ã¼ã«ä¸è´ããã¦ã¼ã¶ã¼ã¯ãã¾ãã"},credentials:{eyebrow:"ããã³ãéå®ã®ã³ã³ããã¼",title:"èªè¨¼æ
å ±",description:"ãããã¤ãã¼ ãã¼ãæç¤ºçãªããã³ãã¾ãã¯ã©ã³ã¿ã¤ã ã¹ã³ã¼ãå
ã«ä¿åãã¾ããã·ã¼ã¯ã¬ããå¤ã¯æå·åãããAPI ã«ãã£ã¦è¿ããããã¨ã¯ããã¾ããã",storeCredential:"èªè¨¼æ
å ±ãä¿å",updated:"{{date}} ã«æ´æ°",deleteTitle:"{{name}}ãåé¤ãã¾ããï¼",deleteDescription:"ãã®è³æ ¼æ
å ±ã使ç¨ããã©ã³ã¿ã¤ã ã¯åä½ã忢ããå¯è½æ§ãããã¾ãã",emptyTitle:"é庫ã¯ç©ºã§ã",emptyDescription:"ããã³ãã¾ãã¯ã©ã³ã¿ã¤ã ã¹ã³ã¼ãã® API ãã¼ãä¿åãã¾ãã",encrypted:"ä¿åæã¯æå·åãã
181ã¾ããå¹³æã¯èªã¿åãã¾ãã"},overview:{eyebrow:"ãªãã¬ã¼ã·ã§ã³ã³ãã¯ããã",title:"ããéç¨ã®æ¦è¦",description:"å®éã®å®è¡æç¶æ
ããã¹ã ãªã½ã¼ã¹ãç£æ»ã¤ãã³ãã使ç¨ãã¦ããã®å¥å
¨æ§ãçè§£ãã¾ãã",availability:"ã©ã³ã¿ã¤ã ã®å¯ç¨æ§",availabilityDetail:"{{total}} ã©ã³ã¿ã¤ã ä¸ {{running}} ã¯ç¾å¨ãªã³ã©ã¤ã³ã§ã",totalRuntimes:"ã©ã³ã¿ã¤ã åè¨",failedCount:"{{count}} ã©ã³ã¿ã¤ã ã«ã¯æ³¨æãå¿
è¦ã§ã",totalUsers:"ããã¦ã¼ã¶ã¼",managedLocally:"ãã¼ã«ã« ID ã¨ã¢ã¯ã»ã¹ç®¡ç",hostResources:"ãã¹ããªã½ã¼ã¹",liveSnapshot:"ç¾å¨ã®ã©ã¤ãã¹ãããã·ã§ãã",memory:"ã¡ã¢ãª",dataDisk:"ãã¼ã¿ãã£ã¹ã¯",recentActivity:"æè¿ã®æ´»å",auditBacked:"æ°¸ç¶çãªç£æ»ãã°ã«ããè£ä»ã",systemHealthy:"ãã¹ã¦ã®ã·ã¹ãã ã稼åä¸",systemDegraded:"ã·ã¹ãã ãå£åãã¾ãã",localIsolation:"ãã¼ã«ã«ã§åé¢ãããå®è¡"},table:{searchRuntimes:"ã©ã³ã¿ã¤ã ãææè
ãã¾ãã¯ã¨ã³ããã¤ã³ããæ¤ç´¢ãã",searchUsers:"ã¦ã¼ã¶ã¼åã¾ãã¯ã¦ã¼ã¶ã¼ ID ãæ¤ç´¢ãã",searchCredentials:"èªè¨¼æ
å ±ã®ååã¾ãã¯ã¹ã³ã¼ããæ¤ç´¢ãã",searchAudit:"ã¢ã¯ã¿ã¼ã¾ãã¯ãªã½ã¼ã¹ãæ¤ç´¢ãã",allStates:"ãã¹ã¦ã®ç¶æ
",allOwners:"ãã¹ã¦ã®ææè
",allExecutions:"ãã¹ã¦ã®å®è¡ã¿ã¤ã",allRoles:"ãã¹ã¦ã®å½¹å²",allUserStates:"ãã¹ã¦ã®ã¦ã¼ã¶ã¼ç¶æ
",allScopes:"ãã¹ã¦ã®ã¹ã³ã¼ã",allActions:"ãã¹ã¦ã®ã¢ã¯ã·ã§ã³",runtime:"ã©ã³ã¿ã¤ã ",status:"ç¶æ
",owner:"ææè
",endpoint:"ã¨ã³ããã¤ã³ã",execution:"å®è¡",updated:"æ´æ°æ¥æ",user:"ã¦ã¼ã¶ã¼",role:"å½¹å²",created:"ä½ææ¥æ",credential:"èªè¨¼æ
å ±",scope:"ã¹ã³ã¼ã",event:"ã¤ãã³ã",actor:"æä½è
",resource:"ãªã½ã¼ã¹",result:"çµæ",time:"æé",total:"{{total}} ä»¶"},audit:{eyebrow:"ã»ãã¥ãªãã£ã¨ã¬ããã³ã¹",title:"ç£æ»ãã°",description:"åãã管çã¢ã¯ã·ã§ã³ãå®è¡ãã人ããã®ç®æ¨ãçµæãæéã確èªãã¾ããæ©å¯å¤ã¯æ±ºãã¦ç£æ»ããã¾ããã",empty:"管çã¤ãã³ãã¯ã¾ã ããã¾ãã"},settings:{eyebrow:"ãã©ãããã©ã¼ã æ§æ",title:"ã·ã¹ãã è¨å®",description:"1 ã¤ã®ç£æ»æ¸ã¿ã®ä¿¡é ¼ã§ããæ
å ±æºããå®å
¨ãªããæ§æã管çãã¾ãã夿´ã¯ããã«æå¹ã«ãªããåèµ·åãã¦ãç¶æããã¾ãã",save:"è¨å®ãä¿åãã",meta:"ãªãã¸ã§ã³ {{revision}} · æ´æ°ããã {{date}}",tabs:{access:"ã¢ã¯ã»ã¹ã»ãã¥ãªãã£",runtime:"ã©ã³ã¿ã¤ã "},access:{title:"ã¢ã¯ã»ã¹ã¨ç»é²",description:"ãã©ã¦ã¶ã¼ããå°éå¯è½ãªãã ã¢ãã¬ã¹ã¨ãããªã㯠ã¢ã«ã¦ã³ã ããªã·ã¼ãæ§æãã¾ãã",publicBaseUrl:"ãããªãã¯ãã¼ã¹URL",publicBaseUrlHint:"OAuth ã³ã¼ã«ããã¯ã«ä½¿ç¨ããã¾ããã«ã¼ãããã¯ã®ã¿ã®å±éã®å ´åã®ã¿ç©ºã®ã¾ã¾ã«ãã¦ãã ããã",registration:"å
¬çç»é²",registrationHint:"ç¡å¹ã«ããã¨ã管çè
ã®ã¿ãã¢ã«ã¦ã³ãã使ã§ãã¾ãã",defaultRole:"ããã©ã«ãã®ç»é²ãã¼ã«",defaultRoleHint:"ã»ãã¥ãªãã£ã®ããã«ãèªå·±ç»é²ã¢ã«ã¦ã³ãã¯å¸¸ã«ä¸è¬ã¦ã¼ã¶ã¼ã«ãªãã¾ãã"},security:{title:"èªè¨¼ä¿è·",description:"ãã°ã¤ã³ã¨ç»é²ã®ä¸æ£è¡çºãå¶éããã¢ãã¬ã¹ããããã¯ã¼ã¯ããããã¯ãã¾ãã",ipBlacklist:"IPãã©ãã¯ãªã¹ã",ipBlacklistHint:"IPv4ãIPv6ãCIDRããµãã¼ããã¾ããåå¤ã®å¾ã« Enter ãã¼ãæ¼ãã¾ãã",trustedProxyIps:"ä¿¡é ¼ã§ãããªãã¼ã¹ ãããã·",trustedProxyIpsHint:"X-Forwarded-For ã¯ããããã®ã¢ãã¬ã¹ã«ãã£ã¦éä¿¡ãããå ´åã«ã®ã¿ä¿¡é ¼ããã¾ãã",loginRateLimit:"ãã°ã¤ã³å¤±æçå¶é",loginRateLimitHint:"1 ã¤ã®ã¢ãã¬ã¹ããã®ç¹°ãè¿ã失æãããµã¤ã³ã¤ã³è©¦è¡ã䏿çã«ãããã¯ãã¾ãã",registrationRateLimit:"ç»é²ã¬ã¼ãå¶é",registrationRateLimitHint:"1 ã¤ã®ã¢ãã¬ã¹ããã®æ°ããã¢ã«ã¦ã³ãã®å¤§é使ãå¶éãã¾ãã",maxAttempts:"æå¤§è©¦è¡åæ°",windowSeconds:"ã¦ã£ã³ã㦠(ç§)",blockSeconds:"ãããã¯æé (ç§)"},runtime:{title:"ã©ã³ã¿ã¤ã ããªã·ã¼",description:"ã©ã³ã¿ã¤ã ããã¯ã¨ã³ãã鏿ãã¾ããæ¢åã®ã©ã³ã¿ã¤ã ã¯ã次åã®åèµ·åæã«åãæ¿ããã¾ãã",provisioner:"ã©ã³ã¿ã¤ã ããã¯ã¨ã³ã",localBackend:"ãã¼ã«ã«ããã»ã¹",localBackendHint:"åé¢ãããããã»ã¹ããã®ãã¹ãä¸ã§ç´æ¥å®è¡ãã¾ãã",dockerBackend:"Dockerã³ã³ãã",dockerBackendHint:"管çãããã³ã³ããã¼ã§åã¢ã«ã¦ã³ããå®è¡ãã¾ãã",backendUnavailable:"ãã®ãã¹ãã§ã¯å©ç¨ã§ãã¾ãã",localIsolationHint:"ãã¼ã«ã« ã¢ã¼ãã¯ãã¹ã ããã»ã¹ã使ç¨ããDocker ã¤ã¡ã¼ã¸è¨å®ã使ç¨ãã¾ããã",dockerIsolationHint:"Docker ã¢ã¼ãã§ã¯ã以ä¸ã®ã¤ã¡ã¼ã¸ã¨ãªã½ã¼ã¹ã®ããªã·ã¼ããã¹ã¦ã®ã¢ã«ã¦ã³ãã«é©ç¨ããã¾ãã"},docker:{title:"Dockerããªã·ã¼",description:"ã¤ã¡ã¼ã¸ããã«åä½ãã³ã³ããã¼ãã¨ã®ãªã½ã¼ã¹å¶éãä¸å
管çãã¾ããã¦ã¼ã¶ã¼ã¯ãããã®è¨å®ã䏿¸ãã§ãã¾ããã",unavailable:"Docker ã¨ã³ã¸ã³ã¯ä½¿ç¨ã§ãã¾ãã",source:"ç»åã½ã¼ã¹",dockerHub:"å
¬å¼Dockerãã",aliyunAcr:"å
¬å¼ Alibaba Cloud ã¬ã¸ã¹ããª",custom:"ã«ã¹ã¿ã ã¤ã¡ã¼ã¸",customHint:"ããªã·ã¼ã§è¨±å¯ããã¦ããç»ååç
§ãå
¥åãã¾ãã",customRegistry:"ã«ã¹ã¿ã ã¬ã¸ã¹ããªã¾ãã¯ã¤ã¡ã¼ã¸åç
§",localHost:"ãã¼ã«ã«ç»å",localHostHint:"ãã®ãã¹ãã«ãã§ã«åå¨ããã¤ã¡ã¼ã¸ ã¿ã°ã使ç¨ãã¾ãã",noLocalImages:"ã¿ã°ä»ãããããã¼ã«ã«ç»åãè¦ã¤ããã¾ãã",image:"ç»åã¨ã¿ã°",selectLocalImage:"ãã¼ã«ã«ã¤ã¡ã¼ã¸ã¿ã°ã鏿ãã¦ãã ãã",selectedImage:"广çãªã¤ã¡ã¼ã¸",repository:"ãªãã¸ããª",localStatus:"ç¾å°ã®ç¶æ³",downloaded:"ãã¦ã³ãã¼ãæ¸ã¿",notDownloaded:"ãã¦ã³ãã¼ãããã¦ãã¾ãã",pullPolicy:"èªåãã«ããªã·ã¼",ifNotPresent:"ãã¼ã«ã«ã§æ¬ è½ããå ´åã«ãã«ãã",always:"æåã®ä½æåã«ãã«ãã",never:"ãã¼ã«ã«ç»åã®ã¿ã使ç¨ãã",pullImage:"ä»ããç»åããã«ãã¾ã",localImages:"{{count}} ãã¼ã«ã«ç»ååç
§",resources:"ã³ã³ãããªã½ã¼ã¹ã®å¶é",cpuLimit:"CPUã³ã¢",memoryLimit:"ã¡ã¢ãª(MB)",pidsLimit:"æå¤§ããã»ã¹æ°",shmSize:"å
±æã¡ã¢ãª (MB)"},quotas:{title:"ã°ãã¼ãã«ãªã©ã³ã¿ã¤ã 容é",description:"åããã³ãã¯ã©ã³ã¿ã¤ã ã 1 ã¤ã ãææãã¾ããããã«ãããããå
¨ä½ã§ã®åæå®è¡æéãå¶éããã¾ãã",maxRunningRuntimes:"æå¤§å®è¡ã©ã³ã¿ã¤ã ",unlimitedHint:"空ã¨ã¯ç¡å¶éãæå³ãã¾ãã"}},auditActions:{runtime:{create:"使ãããã©ã³ã¿ã¤ã ",start:"ã©ã³ã¿ã¤ã ãéå§ãã¾ãã",stop:"忢ããã©ã³ã¿ã¤ã ",disable:"ç¡å¹åãããã©ã³ã¿ã¤ã ",rebuild:"åæ§ç¯ãããã©ã³ã¿ã¤ã ",delete:"åé¤ãããã©ã³ã¿ã¤ã "},image:{pull:"Docker ã¤ã¡ã¼ã¸ããã«ãã¾ãã"},user:{create:"使ãããã¦ã¼ã¶ã¼",update:"æ´æ°ãããã¦ã¼ã¶ã¼"}
181,credential:{store:"ä¿åãããè³æ ¼æ
å ±",delete:"åé¤ãããèªè¨¼æ
å ±"},settings:{update:"æ´æ°ãããããè¨å®"},auth:{register:"ç»é²æ¸ã¿ã® Hub ã¦ã¼ã¶ã¼"}},auditOutcomes:{success:"æå",failure:"失æ"},runtimeForm:{title:"ã©ã³ã¿ã¤ã ã®ä½æ",hint:"ã©ã³ã¿ã¤ã ã¯ãã¤ãã£ãã®ãã¼ã«ã« ãµã³ãããã¯ã¹å
ã§éå§ããã¾ãããã®ãã¡ã¤ã«ãã·ã¼ã¯ã¬ãããããã»ã¹ ããªã¼ã¯ä»ã®ã¦ã¼ã¶ã¼ããåé¢ãããã¾ã¾ã«ãªãã¾ãã",runtimeId:"ã©ã³ã¿ã¤ã ID",startImmediately:"ããã«éå§",submit:"ã©ã³ã¿ã¤ã ã®ä½æ"},userForm:{title:"ã¢ã«ã¦ã³ãã追å ",hint:"8 æå以ä¸ã®ä¸æãã¹ã¯ã¼ãã使ç¨ãã¦ãã ãããã¦ã¼ã¶ã¼ã¯ãå人ããã³ããææããã©ã³ã¿ã¤ã ã«ã®ã¿ã¢ã¯ã»ã¹ã§ãã¾ãã",username:"ã¦ã¼ã¶ã¼å",temporaryPassword:"ä»®ãã¹ã¯ã¼ã",role:"å½¹å²",submit:"ã¢ã«ã¦ã³ãã使ãã"},credentialForm:{title:"èªè¨¼æ
å ±ãä¿å",hint:"ããã³ã ã¹ã³ã¼ãã¯ãã¹ã¦ã®ã©ã³ã¿ã¤ã ã«é©ç¨ããã¾ããã©ã³ã¿ã¤ã ã¹ã³ã¼ãã¯ã鏿ãã 1 ã¤ã®ããã»ã¹ã®ãã©ã¤ãã¼ã ãªã¼ãã¼ã©ã¤ãã§ãã",scope:"ç¯å²",allRuntimes:"ç§ã®ãã¹ã¦ã®ã©ã³ã¿ã¤ã ",environmentName:"ç°å¢å",secretValue:"ç§å¯ã®å¤",submit:"æå·åãã¦ä¿åãã"}},FI={title:"QwenPaw ã«ãã°ã¤ã³",registerTitle:"ã¢ã«ã¦ã³ã使",firstUserHint:"管çè
ã¢ã«ã¦ã³ãã使ãã¦å§ãã¾ããã",usernamePlaceholder:"ã¦ã¼ã¶ã¼å",passwordPlaceholder:"ãã¹ã¯ã¼ã",usernameRequired:"ã¦ã¼ã¶ã¼åãå
¥åãã¦ãã ãã",passwordRequired:"ãã¹ã¯ã¼ããå
¥åãã¦ãã ãã",submit:"ãã°ã¤ã³",register:"ç»é²",failed:"ãã°ã¤ã³ã«å¤±æãã¾ãããèªè¨¼æ
å ±ã確èªãã¦ãã ãã",registerSuccess:"ç»é²ãå®äºãã¾ãã",registerFailed:"ç»é²ã«å¤±æãã¾ãã",authNotEnabled:"èªè¨¼ã¯æå¹ã«ãªã£ã¦ãã¾ãã",logout:"ãã°ã¢ã¦ã",logoutSuccess:"æ£å¸¸ã«ãã°ã¢ã¦ããã¾ãã",sessionExpired:"ã»ãã·ã§ã³ãæéåãã§ããå度ãã°ã¤ã³ãã¦ãã ãã",unauthorized:"æªèªè¨¼ã§ãããã°ã¤ã³ãã¦ãã ãã"},OI={title:"ã¢ã«ã¦ã³ã管ç",currentPassword:"ç¾å¨ã®ãã¹ã¯ã¼ã",currentPasswordRequired:"ç¾å¨ã®ãã¹ã¯ã¼ããå
¥åãã¦ãã ãã",newUsername:"æ°ããã¦ã¼ã¶ã¼å",newUsernamePlaceholder:"夿´ããªãå ´åã¯ç©ºæ¬",newPassword:"æ°ãããã¹ã¯ã¼ã",newPasswordPlaceholder:"夿´ããªãå ´åã¯ç©ºæ¬",confirmPassword:"æ°ãããã¹ã¯ã¼ãã®ç¢ºèª",confirmPasswordPlaceholder:"æ°ãããã¹ã¯ã¼ããåå
¥å",passwordMismatch:"ãã¹ã¯ã¼ããä¸è´ãã¾ãã",save:"夿´ãä¿å",updateSuccess:"ã¢ã«ã¦ã³ããæ´æ°ããã¾ãã",updateFailed:"ã¢ã«ã¦ã³ãã®æ´æ°ã«å¤±æãã¾ãã",wrongPassword:"ç¾å¨ã®ãã¹ã¯ã¼ããæ£ããããã¾ãã",nothingToUpdate:"æ°ããã¦ã¼ã¶ã¼åã¾ãã¯ãã¹ã¯ã¼ããå
¥åãã¦ãã ãã",passwordEmpty:"ãã¹ã¯ã¼ãã空ç½ã«ãããã¨ã¯ã§ãã¾ãã",usernameEmpty:"ã¦ã¼ã¶ã¼åã空ç½ã«ãããã¨ã¯ã§ãã¾ãã",username:"ã¦ã¼ã¶ã¼å",passwordRequired:"æ°ãããã¹ã¯ã¼ããå
¥åãã¦ãã ãã",hubPasswordPlaceholder:"8æå以ä¸å
¥åãã¦ãã ãã",runtimeTitle:"å人ã©ã³ã¿ã¤ã ",runtimeDescription:"ã¯ã¼ã¯ã¹ãã¼ã¹ãå©ç¨ã§ããªãå ´åã«åèµ·åãã¾ããå®è¡ä¸ã®ã¿ã¹ã¯ã¯ä¸æããã¾ãããä¿åæ¸ã¿ãã¼ã¿ã¯ä¿æããã¾ãã",runtimeRestartConfirmTitle:"ã©ã³ã¿ã¤ã ãåèµ·åãã¾ããï¼",runtimeRestartConfirmDescription:"åèµ·åä¸ã¯å®è¡ä¸ã®ã¿ã¹ã¯ã䏿ããã¾ãã",runtimeRestart:"ã©ã³ã¿ã¤ã ãåèµ·å",runtimeRestartSuccess:"ã©ã³ã¿ã¤ã ãåèµ·åãã¾ãã",runtimeRestartFailed:"ã©ã³ã¿ã¤ã ã®åèµ·åã«å¤±æãã¾ãã"},BI={title:"é³å£°æåèµ·ãã",description:"åä¿¡ããé³å£°ã¡ãã»ã¼ã¸ã®å¦çæ¹æ³ãè¨å®ãã¾ãã",loadFailed:"é³å£°ã¢ã¼ãè¨å®ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",saveSuccess:"é³å£°ã¢ã¼ããä¿åãã¾ãã",saveFailed:"é³å£°ã¢ã¼ãã®ä¿åã«å¤±æãã¾ãã",audioModeLabel:"é³å£°ã¢ã¼ã",audioModeDescription:"ãã£ã³ãã«ï¼DiscordãTelegram ãªã©ï¼ããã®é³å£°ã¡ãã»ã¼ã¸ãã¢ãã«ã«éä¿¡ããåã«ã©ã®ããã«å¦çãããã鏿ãã¾ãã",modeAuto:"èªåï¼æ¨å¥¨ï¼",modeAutoDesc:"鏿ããæåèµ·ãããããã¤ãã¼ã§é³å£°ãããã¹ãã«å¤æãã¦ããã¢ãã«ã«éä¿¡ãã¾ããæåèµ·ãããç¡å¹ã¾ãã¯å©ç¨ã§ããªãå ´åããã¡ã¤ã«ã¢ãããã¼ãã®ãã¬ã¼ã¹ãã«ãã¼ã表示ããã¾ãããã®ã¢ã¼ãã§ã¯é³å£°ã¯ã¢ãã«ã«ç´æ¥éä¿¡ããã¾ããããã¹ã¦ã®ã¢ãã«ã§åä½ãã¾ãã",modeNative:"ãã¤ãã£ãé³å£°",modeNativeDesc:"æåèµ·ããããã«é³å£°ãã¡ã¤ã«ãã¢ãã«ã«ç´æ¥éä¿¡ãã¾ããé³å£°ãã¢ãã«ã«éä¿¡ããå¯ä¸ã®ã¢ã¼ãã§ããé³å£°å¯¾å¿ã¢ãã«ï¼ä¾: gpt-4o-audioï¼ã§ã®ã¿åä½ãã¾ããã»ã¨ã
181ã©ã®ã¢ãã«ã¯ãã®ã¢ã¼ãããµãã¼ããã¦ãã¾ããã",ffmpegReady:"ffmpegãã¤ã³ã¹ãã¼ã«ããã¦ãã¾ãããã¤ãã£ãã¢ã¼ãã®é³å£°å¤æãå©ç¨å¯è½ã§ãã",ffmpegMissing:"ffmpegãã¤ã³ã¹ãã¼ã«ããã¦ãã¾ããã",ffmpegMissingDesc:"ãã¤ãã£ãé³å£°ã¢ã¼ãã§ã¯ãé³å£°å½¢å¼ã®å¤æï¼.oggãã.wavãªã©ï¼ã«ffmpegãå¿
è¦ã§ãããã®ã¢ã¼ããæå¹ã«ããã«ã¯ãffmpegãã·ã¹ãã ããã±ã¼ã¸ã¨ãã¦ã¤ã³ã¹ãã¼ã«ãã¦ãã ããã",providerTypeLabel:"æåèµ·ãããããã¤ãã¼",providerTypeDescription:"æåèµ·ããããã¯ã¨ã³ãã鏿ãã¾ããé³å£°æåèµ·ãããä¸è¦ãªå ´åã¯ãç¡å¹ãã鏿ãã¦ãã ããã",providerTypeDisabled:"ç¡å¹",providerTypeDisabledDesc:"æåèµ·ãããªããé³å£°ã¡ãã»ã¼ã¸ã¯ãã¡ã¤ã«ã¢ãããã¼ãã®ãã¬ã¼ã¹ãã«ãã¼ã¨ãã¦è¡¨ç¤ºããã¾ãã",providerTypeWhisperApi:"Whisper API",providerTypeWhisperApiDesc:"è¨å®æ¸ã¿ãããã¤ãã¼ï¼OpenAIãOllama ãªã©ï¼ã® OpenAI äºæ Whisper API ã¨ã³ããã¤ã³ãã使ç¨ãã¾ãã",providerTypeLocalWhisper:"ãã¼ã«ã« Whisper",providerTypeLocalWhisperDesc:"ãã¼ã«ã«ã«ã¤ã
181³ã¹ãã¼ã«ããã openai-whisper Python ã©ã¤ãã©ãªã§æåèµ·ãããå®è¡ãã¾ããffmpeg 㨠openai-whisper ã®ä¸¡æ¹ã®ã¤ã³ã¹ãã¼ã«ãå¿
è¦ã§ãã",localWhisperReady:"ãã¼ã«ã« Whisper ã¯æºåå®äºã§ããffmpeg 㨠openai-whisper ãã¤ã³ã¹ãã¼ã«ããã¦ãã¾ãã",localWhisperMissing:"ãã¼ã«ã« Whisper ã¯æºåãã§ãã¦ãã¾ãããä¸è¶³ãã¦ããä¾åé¢ä¿ãã¤ã³ã¹ãã¼ã«ãã¦ãã ããã",localWhisperMissingDesc:"ffmpeg: {{ffmpeg}} | openai-whisper: {{whisper}}ãä¸è¶³ãã¦ããä¾åé¢ä¿ãã¤ã³ã¹ãã¼ã«ãã¦ãã ããï¼ffmpegï¼ã·ã¹ãã ããã±ã¼ã¸ï¼ã¨ openai-whisperï¼uv pip install openai-whisperãã¾ã㯠QwenPaw ã [whisper] ã¨ã¯ã¹ãã©ä»ãã§ã¤ã³ã¹ãã¼ã«ï¼ã",providerLabel:"Whisper API ãããã¤ãã¼",providerDescription:"Whisper API ã«ããé³å£°æåèµ·ããã«ä½¿ç¨ãããããã¤ãã¼ã鏿ãã¾ããWhisper 対å¿ã¨ã³ããã¤ã³ããæã¤ãããã¤ãã¼ã®ã¿è¡¨ç¤ºããã¾ãã",providerPlaceholder:"ãããã¤ãã¼ã鏿...",noProvidersWarning:"æåèµ·ãã対å¿ã®ãããã¤ãã¼ãè¦ã¤ããã¾ãããé³å£°æåèµ·ãããæå¹ã«ããã«ã¯ãOpenAI ãããã¤ãã¼ãè¨å®ãã¦ãã ããã",transcriptionInfoTitle:"æåèµ·ããã®ä»çµã¿",transcriptionInfoDesc:"Whisper API æåèµ·ãã㯠OpenAI äºæã® /v1/audio/transcriptions ã¨ã³ããã¤ã³ãã使ç¨ãã¾ããWhisper 対å¿ã¨ã³ããã¤ã³ããæã¤ãããã¤ãã¼ï¼ä¾: OpenAIï¼ã®è¨å®ãå¿
è¦ã§ããä¸è¨ã§å
·ä½çãªãããã¤ãã¼ã鏿ãã¦æåèµ·ãããæå¹ã«ãã¦ãã ããã",transcriptionInfoDescLocal:"ãã¼ã«ã« Whisper æåèµ·ããã¯ãã使ãã®ãã·ã³ä¸ã§ç´æ¥ openai-whisper ã©ã¤ãã©ãªãå®è¡ãã¾ããffmpegï¼é³å£°ãã³ã¼ãç¨ï¼ã¨ openai-whisper Python ããã±ã¼ã¸ã®ä¸¡æ¹ã®ã¤ã³ã¹ãã¼ã«ãå¿
è¦ã§ããAPI ãã¼ããããã¯ã¼ã¯æ¥ç¶ã¯ä¸è¦ã§ããã¤ã³ã¹ãã¼ã«ï¼uv pip install 'qwenpaw[whisper]'ã"},NI={title:"ACP",loading:"ACP è¨å®ãèªã¿è¾¼ã¿ä¸...",builtin:"çµã¿è¾¼ã¿",custom:"ã«ã¹ã¿ã ",create:"ã«ã¹ã¿ã Agent ã追å ",createTitle:"ACP Agent ã使",createSuccess:"ACP Agent ã使ãã¾ãã",editTitle:"ACP è¨å®ãç·¨é",agentKey:"Agent Key",agentKeyRequired:"Agent Key ãå
¥åãã¦ãã ãã",agentKeyInvalid:"Agent Key ã«ã¯è±åãæ°åãã¢ã³ãã¼ã¹ã³ã¢ããã¤ãã³ã®ã¿ä½¿ç¨ã§ãã¾ã",agentKeyExists:"ãã® Agent Key ã¯æ¢ã«åå¨ãã¾ã",enabled:"æå¹",command:"ã³ãã³ã",commandRequired:"ã³ãã³ããå
¥åãã¦ãã ãã",args:"弿°",argsHelp:"1 è¡ã«ã¤ã 1 ã¤ã®å¼æ°",env:"ç°å¢å¤æ°",envHelp:"åè¡ã KEY=VALUE å½¢å¼ã§å
¥åãã¦ãã ãã",envInvalidLine:"ç¡å¹ãªç°å¢å¤æ°å½¢å¼: {{line}}",trusted:"ä¿¡é ¼æ¸ã¿",toolParseMode:"ãã¼ã«è§£æã¢ã¼ã",toolParseModeRequired:"ãã¼ã«è§£æã¢ã¼ãã鏿ãã¦ãã ãã",stdioBufferLimit:"Stdio ãããã¡ä¸é",stdioBufferLimitHelp:"ACP ãµãããã»ã¹ã® stdio 1 è¡èªã¿åããããã¡ã®æå¤§ãã¤ãæ°ã§ãã",stdioBufferLimitRequired:"stdio ãããã¡ä¸éãå
¥åãã¦ãã ãã",stdioBufferLimitMin:"stdio ãããã¡ä¸é㯠1 ãã¤ã以ä¸ã§ããå¿
è¦ãããã¾ã",docs:"è¨å®ããã¥ã¡ã³ã",docsHelp:"ACP çµ±åããã¥ã¡ã³ããéãããHow to configure external runnersãã»ã¯ã·ã§ã³ã¸ç§»åãã¾ã",notSet:"æªè¨å®",configSaved:"ACP è¨å®ãä¿åãã¾ãã",configFailed:"ACP è¨å®ã®ä¿åã«å¤±æãã¾ãã",deleteTitle:"{{name}} ãåé¤",deleteConfirm:"ãã® ACP Agent ãåé¤ãã¾ããï¼ãã®æä½ã¯å
ã«æ»ãã¾ããã",deleteSuccess:"ACP Agent ãåé¤ãã¾ãã",deleteFailed:"ACP Agent ã®åé¤ã«å¤±æãã¾ãã",nodeSettings:"Node è¨å®",nodePath:"Node ãã¹",chooseOtherNode:"å¥ã® Node ã鏿...",selectNodePath:"Node ãã¹ã鏿",nodePathPrompt:"node å®è¡ãã¡ã¤ã«ã®ãã¹ãå
¥åãã¦ãã ãã",nodeSaved:"Node è¨å®ãä¿åãã¾ãã",nodeLoadFailed:"Node è¨å®ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",nodeSaveFailed:"Node ãã¹ãå©ç¨ã§ãã¾ãã",nodeRuntime:{bundled:"忢± N
181ode",system:"ã·ã¹ãã Node",custom:"ã«ã¹ã¿ã Node"},nodeRuntimeReason:{systemNodeMissing:"ã·ã¹ãã Node ãæ¤åºããã¾ããã§ãã",nodeMissing:"Node ãã¹ãåå¨ãã¾ãã",npxMissing:"npx ãè¦ã¤ããã¾ãã",versionCheckFailed:"ãã¼ã¸ã§ã³ç¢ºèªã«å¤±æãã¾ãã",unavailable:"å©ç¨ä¸å¯"}},HI={title:"ããã¯ã¢ãã",description:"ã¨ã¼ã¸ã§ã³ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ã¨è¨å®ãããã¯ã¢ããã»å¾©å
ãã¾ãã",create:"ããã¯ã¢ãã使",import:"ã¤ã³ãã¼ã",export:"ã¨ã¯ã¹ãã¼ã",restore:"復å
",delete:"åé¤",batchDelete:"䏿¬åé¤",batchDeleteConfirm:"{{count}}ä»¶ã®ããã¯ã¢ãããåé¤ãã¾ããï¼ãã®æä½ã¯å
ã«æ»ãã¾ããã",deleteConfirm:"ãã®ããã¯ã¢ãããåé¤ãã¾ããï¼ãã®æä½ã¯å
ã«æ»ãã¾ããã",name:"åå",createdAt:"ä½ææ¥æ",scopeSummary:"ããã¯ã¢ããç¯å²",descriptionLabel:"説æ",noBackups:"ããã¯ã¢ãããããã¾ãããç¾å¨ã®è¨å®ãããã¯ã¢ããããããã«ä½æãã¦ãã ããã",loadFailed:"ããã¯ã¢ããä¸è¦§ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",createTitle:"ããã¯ã¢ãã使",backupMode:"ããã¯ã¢ããã¢ã¼ã",fullBackup:"å®å
¨ããã¯ã¢ãã",fullBackupDesc:"ãã¹ã¦ã®ã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹ãã°ãã¼ãã«è¨å®ãã¹ãã«ãã¼ã«ãã·ã¼ã¯ã¬ããæ
å ±ãå«ããã¹ã¦ãããã¯ã¢ãã",customBackup:"ã«ã¹ã¿ã ããã¯ã¢ãã",partialBackup:"é¨åããã¯ã¢ãã",partialBackupDesc:"ããã¯ã¢ããããå
容ãã«ã¹ã¿ãã¤ãº",nameRequired:"ããã¯ã¢ããåã¯å¿
é ã§ã",namePlaceholder:"ããã¯ã¢ããåãå
¥å",descriptionPlaceholder:"説æï¼ä»»æï¼...",scopeAgents:"ã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹",scopeGlobalConfig:"ã°ãã¼ãã«è¨å®",scopeSkillPool:"ã¹ãã«ãã¼ã«",scopeSecrets:"ã·ã¼ã¯ã¬ããæ
å ±",scopeSecretsHint:"ã¢ãã«ãããã¤ãã¼ã·ã¼ã¯ã¬ããï¼API ãã¼ï¼ãç°å¢å¤æ°ãªã©ã®æ©å¯æ
å ±ãå«ã¿ã¾ã",securityNotice:"ãã®ããã¯ã¢ããã«ã¯æ©å¯ credential æ
å ±ãå«ã¾ããå¯è½æ§ãããã¾ããã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹ã«ã¯ãã£ãã«èªè¨¼æ
å ±ï¼bot ãã¼ã¯ã³ãã¢ããªã·ã¼ã¯ã¬ãããªã©ï¼ãå«ã¾ããã¢ãã«ãããã¤ãã¼ã·ã¼ã¯ã¬ããã«ã¯ API ãã¼ãå«ã¾ãã¾ããããã¯ã¢ãããã¡ã¤ã«ãä»äººã¨å
±æããªãã§ãã ããã",searchPlaceholder:"ååã¾ã㯠ID ã§ããã¯ã¢ãããæ¤ç´¢...",total:"åè¨ {{count}} ä»¶",agentsPlaceholder:"ã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹ã鏿ï¼ç©ºç½ã®å ´åã¯ãã¹ã¦ï¼",selectAll:"ãã¹ã¦é¸æ",deselectAll:"é¸æè§£é¤",createSuccess:"ããã¯ã¢ããã使ãã¾ãã",createFailed:"ããã¯ã¢ããã®ä½æã«å¤±æãã¾ãã",restoreTitle:"ããã¯ã¢ããã復å
",restoreScope:"復å
ç¯å²",restoreFullWarning:"å
¨ä½å¾©å
ã¯ç¾å¨ã®ã¤ã³ã¹ã¿ã³ã¹ã®ãã¹ã¦ã®å
容ï¼ãã¹ã¦ã®ã¨ã¼ã¸ã§ã³ããã°ãã¼ãã«è¨å®ãã¹ãã«ãã¼ã«ãã·ã¼ã¯ã¬ããï¼ãå®å
¨ã«ç½®ãæãã¾ãããã®æä½ã¯å
ã«æ»ãã¾ããã復å
ä¸ã¯é¢é£æ©è½ãå©ç¨ã§ãã¾ããã復å
å®äºå¾ã«ãµã¼ãã¹ãåèµ·åãã¦ãã ããã",agentGroupExisting:"æ¢å",agentGroupNew:"æ°è¦",agentExists:"æ¢å",agentNew:"æ°è¦",agentActionReplace:"ç½®ãæã",agentActionAdd:"追å ",agentColumnName:"ã¨ã¼ã¸ã§ã³ã",agentColumnWorkspace:"ã¯ã¼ã¯ã¹ãã¼ã¹",agentTotal:"åè¨ {{count}} ä»¶",noAgentsInBackup:"ããã¯ã¢ããã«ã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹ãããã¾ãã",loadingAgents:"ã¨ã¼ã¸ã§ã³ããªã¹ããèªã¿è¾¼ã¿ä¸...",agentSearchPlaceholder:"ååã¾ãã¯IDã§æ¤ç´¢...",agentSearchTotal:"{{total}} ä»¶ä¸ {{count}} ä»¶",restoreCustomSummary:"æ¢å {{existing}} ä»¶ · æ°è¦ {{added}} ä»¶ã鏿",defaultWorkspaceDirUnused:"æ°è¦ã¨ã¼ã¸ã§ã³ããªã",otherOptions:"ãã®ä»ã®ãªãã·ã§ã³",defaultWorkspaceDirDefault:"<ããã©ã«ããã¹>/{{aid}}",restoreWarningModify:"復å
æä½ã«ããç¾å¨ã®è¨å®ã夿´ããã¾ãããã®æä½ã¯å
ã«æ»ãã¾ããã",restoreWarningRestart:"復å
ä¸ã¯é¢é£æ©è½ãå©ç¨ã§ãã¾ããã復å
å®äºå¾ã«ãµã¼ãã¹ãåèµ·åãã¦ãã ããã",preRestoreBackupTitle:"復å
åããã¯ã¢ããã®ä½æ",preRestoreBackupContent:"復å
æä½ã¯ä¸å¯éã§ããã¾ãç¾å¨ã®ç¶æ
ã®ããã¯ã¢ããã使ãã¾ããï¼å¾©å
ä¸ã«åé¡ãçºçããå ´åãç¾å¨ã®ç¶æ
ã«ãã¼ã«ããã¯ã§ãã¾ãã",preRestoreBackupYes:"ã¯ããå
ã«ããã¯ã¢ããã使",preRestoreBackupNo:"ããããç´æ¥å¾©å
",preRestoreBackupDesc:"復å
åã«èªå使ãããããã¯ã¢ãã",preRestoreBackupFailed:"復å
åããã¯ã¢ããã®ä½æã«å¤±æãã¾ãã",preRestoreBackupSuccess:"復å
åããã¯ã¢ããã使ããã¾ãããIDï¼{{id}}",creatingPreRestoreBackup:"復å
åããã¯ã¢ããã使ä¸...",skipAndRestore:"ã¹ããããã¦å¾©å
ãç¶è¡",restoreConfirm:"ãã®ããã¯ã¢ããã復å
ãããã¨ã確èªãã¾ã",restoreMode:"復å
ã¢ã¼ã",restoreModeFull:"å
¨ä½å¾©å
",restoreModeFullDesc:"ç¾å¨ã®ã¤ã³ã¹ã¿ã³ã¹ã®ãã¹ã¦ã®å
容ãå®å
¨ã«ç½®ãæãã¾ãããã¹ã¦ã®ã¨ã¼ã¸ã§ã³ããã°ãã¼ãã«è¨å®ãã¹ãã«ãã¼ã«ãã·ã¼ã¯ã¬ãããå«ã¾ãã¾ã",restoreModeCustom:"ã«ã¹ã¿ã 復å
",restoreModeCustomDesc:"復å
ããå
容ã鏿ãã¾ãï¼ç¹å®ã®ã¨ã¼ã¸ã§ã³ããè¨å®ãªã©ï¼ï¼ä»åã®å¾©å
ç¯å²å¤ã®æ¢åã¨ã¼ã¸ã§ã³ãã¯åé¤ããã¾ãã",restoreModeFullDisabled:"ãã«ããã¯ã¢ããã®ã¿",defaultWorkspaceDir:"ã¨ã¼ã¸ã§ã³ãããã©ã«ãã¯ã¼ã¯ã¹ãã¼ã¹ãã£ã¬ã¯ããª",defaultWorkspaceDirPlaceholder:"空æ¬ã®å ´å㯠~/.qwenpaw/workspaces ã使ç¨",defaultWorkspaceDirHint:"ã¨ã¼ã¸ã§ã³ãã®å
ã®ã¯ã¼ã¯ã¹ãã¼ã¹ãã¹ãåå¨ããªãå ´åãã¨ã¼ã¸ã§ã³ã㯠<ããã©ã«ããã¹>/<ã¨ã¼ã¸ã§ã³ãID>
181 ã«ä¿åããã¾ããåå¨ããå ´åã¯å
ã®ãã¹ã使ç¨ããã¾ãã",restoreStrategy:"復å
æ¦ç¥",restoreStrategyPreserve:"ãã¼ã«ã«ã®ã»ãã¥ãªãã£è¨å®ã¨ MCP ãä¿æ",restoreStrategyPreserveDesc:"ãã®ã¤ã³ã¹ã¿ã³ã¹ã®ã»ãã¥ãªãã£ä¿è·ã¨ MCP è¨å®ãä¿æãã¾ãã",restoreStrategyRestore:"ãããã®è¨å®ãããã¯ã¢ãããã復å
",restoreStrategyRestoreDesc:"ããã¯ã¢ããå
ã®ã»ãã¥ãªãã£è¨å®ã¨ MCP è¨å®ã使ç¨ãã¾ãã",restoreSuccess:"ããã¯ã¢ããã復å
ãã¾ããããµã¼ãã¹ãåèµ·åãã¦ãã ããã",restoreSuccessPreserved:"ããã¯ã¢ããã復å
ãã¾ããããã¼ã«ã«è¨å®ãä¿æãã¾ãã: {{keys}}ããµã¼ãã¹ãåèµ·åãã¦ãã ããã",restoreSuccessWithBackup:"ããã¯ã¢ããã復å
ãã¾ããã復å
åããã¯ã¢ããIDï¼{{preRestoreId}}ããµã¼ãã¹ãåèµ·åãã¦ãã ããã",restoreFailed:"ããã¯ã¢ããã®å¾©å
ã«å¤±æãã¾ãã",restoreTimedOut:"復å
ã¯ã¾ã å®è¡ä¸ãã5 åãè¶
ãã¦ãã¾ããããã¯ã¢ããã®ãµã¤ãºããã£ã¹ã¯å®¹éããµã¼ãã¹ãã°ã確èªãã¦ããå試è¡ãã¦ãã ããã",restoreTargetBusy:"ãããã®ãã£ã¬ã¯ããªã使ç¨ä¸ã®ããã復å
ã«å¤±æãã¾ããã使ç¨ãã¦ãããã©ã¦ã¶ã¾ãã¯ããã»ã¹ãéãã¦ããå試è¡ãã¦ãã ãããããã§ãããã¯ãè§£é¤ãããªãå ´åã¯ãã·ã¹ãã ãåèµ·åãã¦ããããä¸åº¦ã試ããã ããã",detailLoa
181dFailed:"ããã¯ã¢ãã詳細ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ããã復å
ã¯ã§ãã¾ãã",trustLocalBanner:"ãã¼ã«ã«ããã¯ã¢ãã - æ¢å®ã§ã¯å®å
¨å¾©å
",trustForeignBanner:"ã¤ã³ãã¼ããããããã¯ã¢ãã - æ¢å®ã§ã¯ãã¼ã«ã«ã®ã»ãã¥ãªãã£è¨å®ã¨ MCP ãä¿æãã¾ã",trustLegacyBanner:"ã¬ã¬ã·ã¼ããã¯ã¢ãã - 復å
åã«ä¿¡é ¼ã®ç¢ºèªãå¿
è¦ã§ã",trustForeignTitle:"ãã®ããã¯ã¢ãããä¿¡é ¼ãã¾ããï¼",trustLegacyTitle:"ã¬ã¬ã·ã¼ããã¯ã¢ãããä¿¡é ¼ãã¾ããï¼",unknownBackupName:"ããã¯ã¢ããã¢ã¼ã«ã¤ã",trustForeignDesc:"ãã®ããã¯ã¢ããã¯ãã®ã¤ã³ã¹ã¿ã³ã¹ã§ç½²åããã¦ãã¾ãããæä¾å
ãä¿¡é ¼ã§ããå ´åã®ã¿ç¶è¡ãã¦ãã ããã復å
æã«ã¯æ¢å®ã§ãã¼ã«ã«ã®ã»ãã¥ãªãã£è¨å®ã¨ MCP è¨å®ãä¿æããã¾ãã",trustLegacyDesc:"ãã®å¤ãããã¯ã¢ããã«ã¯ãã¼ã«ã«ç½²åãããã¾ãããæä¾å
ãä¿¡é ¼ã§ããå ´åã®ã¿ç¶è¡ãã¦ãã ããã復å
åã«ãã®ã¤ã³ã¹ã¿ã³ã¹ã§ç½²åãã¾ãã",deleteSuccess:"ããã¯ã¢ãããåé¤ãã¾ãã",deleteFailed:"ããã¯ã¢ããã®åé¤ã«å¤±æãã¾ãã",exportFailed:"ããã¯ã¢ããã®ã¨ã¯ã¹ãã¼ãã«å¤±æãã¾ãã",exportWarningTitle:"æ©å¯æ
å ±ã®è¦å",exportWarningContent:"ãã®ããã¯ã¢ããã«ã¯æ©å¯ã®èªè¨¼æ
å ±ãå«ã¾ãã¦ããå¯è½æ§ãããã¾ããã¨ã¼ã¸ã§ã³ãã¯ã¼ã¯ã¹ãã¼ã¹ã«ã¯ãã£ãã«èªè¨¼æ
å ±ï¼ããããã¼ã¯ã³ãã¢ããªã·ã¼ã¯ã¬ãããªã©ï¼ãå«ã¾ããã¢ãã«ãããã¤ãã¼ã®ã·ã¼ã¯ã¬ããã«ã¯APIãã¼ãå«ã¾ãã¾ããããã¯ã¢ãããã¡ã¤ã«ãä»äººã¨å
±æããªãã§ãã ããã",exportConfirm:"ã¨ã¯ã¹ãã¼ãã確èª",importTitle:"ããã¯ã¢ãããã¤ã³ãã¼ã",importSuccess:"ããã¯ã¢ãããã¤ã³ãã¼ããã¾ãã",importFailed:"ããã¯ã¢ããã®ã¤ã³ãã¼ãã«å¤±æãã¾ãã",importConflictTitle:"ããã¯ã¢ãããæ¢ã«åå¨ãã¾ã",importConflictDesc:"åãIDã®ããã¯ã¢ãããæ¢ã«åå¨ãã¦ãã¾ããæ¢åã®ããã¯ã¢ããã䏿¸ããã¾ããï¼",importReplace:"䏿¸ã",agents:"{{count}}åã®ã¨ã¼ã¸ã§ã³ã",allAgents:"ãã¹ã¦ã®ã¨ã¼ã¸ã§ã³ã",globalConfig:"ã°ãã¼ãã«è¨å®",skillPool:"ã¹ãã«ãã¼ã«",secrets:"ã·ã¼ã¯ã¬ãã",selected:"{{count}}件鏿ä¸",fileCount:"{{count}}ãã¡ã¤ã«",totalSize:"{{size}}",progressStarting:"ããã¯ã¢ãããåæåä¸...",progressAgent:"ã¨ã¼ã¸ã§ã³ã {{index}} / {{total}} ãããã¯ã¢ããä¸...",progressSaving:"ããã¯ã¢ãããã¡ã¤ã«ãä¿åä¸...",progressDone:"ããã¯ã¢ããå®äº",localModelsNotice:"ããã¯ã¢ãããã¡ã¤ã«ã«ã¯ãã¼ã«ã«ã¢ãã«ãã¡ã¤ã«ã¯å«ã¾ãã¾ãããããã¤ã¹éã®ç§»è¡ã®å ´åã¯ã対象ããã¤ã¹ã§å¿
è¦ãªãã¼ã«ã«ã¢ãã«ãåãã¦ã³ãã¼ããã¦ãã ããã"},UI={title:"ã»ãã¥ãªãã£æ¿èªãå¿
è¦ã§ã",tool:"ãã¼ã«",severity:"éè¦åº¦",findings:"æ¤åºä»¶æ°",parameters:"ãã©ã¡ã¼ã¿",approve:"æ¿èª",deny:"æå¦",source:"ã½ã¼ã¹",subSession:"ãµãã¨ã¼ã¸ã§ã³ã",approved:"ãã¼ã«å¼ã³åºããæ¿èªããã¾ãã",denied:"ãã¼ã«å¼ã³åºããæå¦ããã¾ãã",approveFailed:"æ¿èªã«å¤±æãã¾ãã",denyFailed:"æå¦ã«å¤±æãã¾ãã",approvePattern:"常ã«è¨±å¯",strictModeHint:"峿 ¼ã¢ã¼ãã§ã¯å¸¸ã«è¨±å¯ã§ãã¾ãã",approveExact:"ä»åã®ã¿",approvalScope:"æ¿èªã¹ã³ã¼ã",details:"詳細",timeoutAutoDenied:"ã¿ã¤ã ã¢ã¦ããèªåæå¦",acknowledge:"äºè§£",builtinSource:"çµã¿è¾¼ã¿",ownerAgent:"ãªã¼ãã¼ã¨ã¼ã¸ã§ã³ã",executingAgent:"å®è¡ã¨ã¼ã¸ã§ã³ã"},qI={title:"ãã©ã°ã¤ã³ããã¼ã¸ã£ã¼",description:"ãµã¼ãã¹ãåèµ·åããã«ãã©ã°ã¤ã³ã®ã¤ã³ã¹ãã¼ã«ã管çãåé¤ãè¡ãã¾ãã",installed:"ã¤ã³ã¹ãã¼ã«æ¸ã¿ãã©ã°ã¤ã³",noPlugins:"ãã©ã°ã¤ã³ãã¾ã ã¤ã³ã¹ãã¼ã«ããã¦ãã¾ãã",installBtn:"ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«",installTitle:"ãã©ã°ã¤ã³ã®ã¤ã³ã¹ãã¼ã«",dropPrimary:"ãã©ã«ãã¾ãã¯ZIPãã¡ã¤ã«ããããã",dropSecondary:"ã¾ãã¯ã¯ãªãã¯ãã¦ZIPãã¡ã¤ã«ã鏿",orFromUrl:"ã¾ãã¯URLãã",installFromUrl:"URLããã¤ã³ã¹ãã¼ã«",urlPlaceholder:"https://example.com/plugin.zip",zipOnly:"ãã¡ã¤ã«ã¨ãã¦ããããã§ããã®ã¯ZIPãã¡ã¤ã«ã®ã¿ã§ã â ãã£ã¬ã¯ããªããã¤ã³ã¹ãã¼ã«ããå ´åã¯ãã©ã«ãããã©ãã°ãã¦ãã ãã",dropFailed:"ããããããããã©ã«ãã®èªã¿åãã«å¤±æãã¾ãã",restartHint:"ä¸é¨ã®ãã©ã°ã¤ã³ï¼ä¾ï¼ããã¯ãmonkey-patchï¼ã¯ãå®å
¨ã«æå¹åã¾ãã¯åé¤ããããã«ã¢ããªã®åèµ·åãå¿
è¦ãªå ´åãããã¾ãã",installing:"ã¤ã³ã¹ãã¼ã«ä¸...",installSuccess:"ãã©ã°ã¤ã³ã®ã¤ã³ã¹ãã¼ã«ã«æåãã¾ãã",installFailed:"ãã©ã°ã¤ã³ã®ã¤ã³ã¹ãã¼ã«ã«å¤±æãã¾ãã",uninstall:"ã¢ã³ã¤ã³ã¹ãã¼ã«",uninstallConfirm:'ãã©ã°ã¤ã³ "{{name}}" ãã¢ã³ã¤ã³ã¹ãã¼ã«ãã¾ããï¼ãã®æä½ã¯åãæ¶ãã¾ãããä¸é¨ã®ãã©ã°ã¤ã³ã¯ãå®å
¨ã«åé¤ããããã«ã¢ããªã®åèµ·åãå¿
è¦ãªå ´åãããã¾ãã',uninstalling:"ã¢ã³ã¤ã³ã¹ãã¼ã«ä¸...",uninstallSuccess:"ãã©ã°ã¤ã³ã®ã¢ã³ã¤ã³ã¹ãã¼ã«ã«æåãã¾ãã",uninstallFailed:"ãã©ã°ã¤ã³ã®ã¢ã³ã¤ã³ã¹ãã¼ã«ã«å¤±æãã¾ãã",statusLoaded:"å®è¡ä¸",statusUnloaded:"æªãã¼ã",type:"ã¿ã¤ã",version:"ãã¼ã¸ã§ã³",author:"使è
",unknown:"䏿",noMatchingPlugins:"ç¾å¨ã®æ¡ä»¶ã«ä¸è´ãããã©ã°ã¤ã³ã¯ããã¾ãã",loadFailed:"ãã©ã°ã¤ã³ä¸è¦§ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",confirmTitle:"ã¢ã³ã¤ã³ã¹ãã¼ã«ã®ç¢ºèª",officialTitle:"å
¬å¼ãã©ã°ã¤ã³",officialDesc:"ãã¦ã³ãã¼ã CDN ããå
¬éæ¸ã¿ãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã«ãã¾ãã",catalogRefresh:"æ´æ°",catalogEmpty:"å©ç¨å¯è½ãªå
¬å¼ãã©ã°ã¤ã³ãããã¾ããï¼CDN ã«ã¿ãã°ã空ã®å¯è½æ§ãããã¾ãï¼",catalogLoadFailed:"å
¬å¼ãã©ã°ã¤ã³ã«ã¿ãã°ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã",catalogInstall:"ã¤ã³ã¹ãã¼ã«",catalogRe
181install:"åã¤ã³ã¹ãã¼ã«",catalogUpgrade:"ã¢ããã°ã¬ã¼ãå¯è½",catalogUpgradeBtn:"ã¢ããã°ã¬ã¼ã",catalogInstalled:"ã¤ã³ã¹ãã¼ã«æ¸ã¿",catalogSha256:"SHA256",kindBundle:"ãã³ãã«",kindTool:"ãã¼ã«",filterByName:"ååã§çµãè¾¼ã¿",filterByKind:"ã¿ã°ã§çµãè¾¼ã¿",marketTitle:"ãã©ã°ã¤ã³ãã¼ã±ãã",marketEmpty:"No plugins found in market",marketLoadFailed:"Failed to load plugin market",marketUnavailable:"Plugin Market is currently under maintenance, please try again later",marketAll:"All",marketSearch:"Search plugins...",marketCategory:"Filter by category",marketSearchResult:'Found {{count}} plugins matching "{{keyword}}"',marketDetails:"Details",marketDownloads:"Downloads",marketDeveloper:"Developer",marketSortLabel:"Sort plugins",marketSortDownloads:"Most downloaded",marketSortUpdated:"Recently updated",marketSortFavorites:"Most favorited"},jI={title:"åä¿¡ãã¬ã¤",tabApprovals:"æ¿èª",tabPushMessages:"ããã·ã¥éç¥",tabHarvests:"AI Harvest",summaryApprovals:"æ¿èªä»¶æ°",summaryPushUnread:"æªèªéç¥",summaryHarvests:"Harvest",from:"éä¿¡å
ï¼",requestedBy:"ãªã¯ã¨ã¹ãå
",markRead:"æ¢èªã«ãã",markAllRead:"ãã¹ã¦æ¢èª",markAllReadNoUnread:"æªèªã¡ãã»ã¼ã¸ã¯ããã¾ãã",markAllReadSuccess:"{{count}} ä»¶ãæ¢èªã«ãã¾ãã",selectAllCurrentPage:"ãã®ãã¼ã¸ãå
¨é¸æ",selectedItems:"{{count}} 件鏿ä¸",batchDeleteButton:"䏿¬åé¤",batchOperation:"䏿¬æä½",exitBatch:"䏿¬çµäº",batchDeleteConfirm:"鏿ãã {{count}} ä»¶ã®éç¥ãåé¤ãã¾ããï¼",batchDeleteSuccess:"{{count}} ä»¶ã®éç¥ãåé¤ãã¾ãã",pushCronHeader:"宿å®è¡ï¼{{name}}",viewDetails:"詳細ãè¦ã",deleteMessageConfirm:"ãã®éç¥ãåé¤ãã¾ããï¼",viewAll:"ãã¹ã¦è¡¨ç¤º",read:"æ¢èª",approve:"æ¿èª",reject:"æå¦",ready:"æºåå®äº",harvestNow:"ä»ããå®è¡",createHarvest:"Harvest ã使",createFirstHarvest:"æåã® Harvest ã使",createSuccess:"Harvest ã使ãã¾ãã",emptyApprovals:"ä¿çä¸ã®æ¿èªã¯ããã¾ãã",emptyPush:"éç¥ã¯ããã¾ãã",wobbleEnable:"æ¿èªã®æºãéç¥ãæå¹ã«ãã",wobbleDisable:"æ¿èªã®æºãéç¥ãç¡å¹ã«ãã",emptyHarvests:"Harvest ã¯ã¾ã ããã¾ãã",statusReadyToHarvest:"å®è¡å¯è½",statusGrowing:"å®è¡ä¸",harvestedTimes:"{{count}} åå®è¡æ¸ã¿",harvestSuccessRate:"æåç {{rate}}%",messageDetailComingSoon:"è©³ç´°è¡¨ç¤ºã¯æºåä¸ã§ã",harvestSettingsComingSoon:"Harvest è¨å®ã¯æºåä¸ã§ã",messageDetailTitle:"å®è¡è©³ç´°",detailCronTitle:"宿å®è¡ï¼{{name}}",detailHeartbeatTitle:"ãã¼ããã¼ã",messageNotFound:"ã¡ãã»ã¼ã¸ãè¦ã¤ããã¾ãã",detailTaskName:"ã¿ã¹ã¯å",detailTaskId:"ã¿ã¹ã¯ID",detailStatus:"å®è¡ã¹ãã¼ã¿ã¹",detailSeverity:"éè¦åº¦",detailAgent:"æå±Agent",detailSource:"ã½ã¼ã¹",detailSourceCronJob:"宿å®è¡",detailSourceHeartbeat:"ãã¼ããã¼ã",detailTrigger:"ããªã¬ã¼",detailDuration:"æè¦æé",detailExecutedAt:"å®è¡æå»",detailReceivedAt:"åä¿¡æå»",detailRunId:"å®è¡ID",detailContent:"åºå",detailPayload:"è¿½å æ
å ±",detailExecutionTrace:"å®è¡ãã¬ã¼ã¹",detailTraceEmpty:"å®è¡ãã¬ã¼ã¹ã¯ããã¾ãã",mailDetailSender:"å·®åºäºº",mailDetailSubject:"ä»¶å",mailDetailDate:"ã¡ã¼ã«æ¥æ",mailDetailBody:"æ¬æãã¬ãã¥ã¼",mailDetailProcess:"å¦çããã»ã¹",filterByAgent:"ã¨ã¼ã¸ã§ã³ãã§çµãè¾¼ã¿",filterBySourceType:"ã½ã¼ã¹ã§çµãè¾¼ã¿",sourceTypeCron:"Cron",sourceTypeHeartbeat:"Heartbeat",sourceTypeMemory:"Memory",sourceTypeMail:"Mail",mailAccessControl:"ã¡ã¼ã«ã¢ã¯ã»ã¹å¶å¾¡",pendingSenders:"æ¿èªå¾
ã¡ã®å·®åºäºº",senderLists:"å·®åºäººãªã¹ã",addSender:"å·®åºäººã追å ",domainWildcardHint:"ãã¡ã¤ã³ã¯ã¤ã«ãã«ã¼ãã«å¯¾å¿ï¼ä¾ï¼*@example.comï¼",invalidAddress:"ã¡ã¼ã«ã¢ãã¬ã¹ã®å½¢å¼ãæ£ããããã¾ããã[email protected] ã¾ã㯠*@domain.com ã®å½¢å¼ã§å
¥åãã¦ãã ãã",whitelist:"ãã¯ã¤ããªã¹ã",blacklist:"ãã©ãã¯ãªã¹ã",approveSender:"æ¿èª",deny:"ãããã¯",dismiss:"ç¡è¦",batchApprove:"䏿¬æ¿èª",batchDeny:"䏿¬ãããã¯",batchDismiss:"䏿¬ç¡è¦",batchRemove:"䏿¬åé¤",confirmApprove:"鏿ããå·®åºäººãæ¿èªãã¾ããï¼",confirmDeny:"鏿ããå·®åºäººãæå¦ãã¾ããï¼",confirmDismiss:"鏿ããå·®åºäººãç¡è¦ãã¾ããï¼",confirmRemove:"åé¤ãã¦ãããããã§ããï¼",removeSuccess:"åé¤ãã¾ãã",addedToAllAgents:"追å ãã¦ãã¹ã¦ã®ã¨ã¼ã¸ã§ã³ãã«åæãã¾ãã",senderAddress:"å·®åºäººã¢ãã¬ã¹",displayName:"å·®åºäººå",emailSubject:"ä»¶å",bodyPreview:"æ¬æãã¬ãã¥ã¼",selectAgent:"ã¨ã¼ã¸ã§ã³ãã鏿",allAgents:"ãã¹ã¦ã®ã¨ã¼ã¸ã§ã³ã",time:"æå»",remark:"åè",actions:"æä½",optional:"ï¼ä»»æï¼",required:"ï¼å¿
é ï¼"},GI={title:"ã³ã¼ãã£ã³ã°ã¢ã¼ã",experimental:"å®é¨çæ©è½",experimentalDesc:"ã³ã¼ãã£ã³ã°ã¢ã¼ã㯠QwenPaw ã軽é㪠Web IDE ã«å¤æããã³ã¼ãã¨ãã£ã¿ã¼ããã¡ã¤ã«ããªã¼ãGit çµ±åãAI ã³ã¼ãã£ã³ã°æ¯æ´ãæä¾ãã¾ãã",experimentalNote:"ãã®æ©è½ã¯å®é¨çã§ãããç¾å¨ãç©æ¥µçã«éçºä¸ã§ããä¸é¨ã®æ©è½ã¯å¶éããã¦ããããå°æ¥ã®ã¢ãããã¼ãã§å¤æ´ãããå ´åãããã¾ãã",confirmBtn:"ã³ã¼ãã£ã³ã°ã¢ã¼ããæå¹ã«ãã",enterTooltip:"ã³ã¼ãã£ã³ã°ã¢ã¼ãã«å
¥ã",exitTooltip:"ã³ã¼ãã£ã³ã°ã¢ã¼ããçµäºãã",btnCode:"ã³ã¼ã",btnChat:"ãã£ãã",selectProject:"ããã¸ã§ã¯ããã£ã¬ã¯ããªã鏿",selectProjectDesc:"使¥ããããã¸ã§ã¯ãã鏿ããããããã©ã«ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ã使ç¨ãã¦ãã ãã",tabWorksp
181ace:"ããã©ã«ãã¯ã¼ã¯ã¹ãã¼ã¹",tabClone:"ãªãã¸ããªãã¯ãã¼ã³",tabLocal:"ãã¼ã«ã«ããã¸ã§ã¯ããã¤ã³ãã¼ã",tabNew:"æ°è¦ããã¸ã§ã¯ã",workspaceDesc:"ç¾å¨ã®ã¨ã¼ã¸ã§ã³ãã®ã¯ã¼ã¯ã¹ãã¼ã¹ãã£ã¬ã¯ããªã使ç¨",cloneUrl:"Gitãªãã¸ããªURL",cloneUrlPlaceholder:"https://github.com/user/repo.git",cloneName:"ããã¸ã§ã¯ãåï¼ãªãã·ã§ã³ï¼",cloneNamePlaceholder:"空ç½ã®å ´åã¯URLããæ¨æ¸¬",cloneBtn:"ã¯ãã¼ã³éå§",cloning:"ã¯ãã¼ã³ä¸...",localPath:"ãã¼ã«ã«ãã£ã¬ã¯ããªãã¹",localPathPlaceholder:"/Users/yourname/my-project",localPathHint:"ãã¼ã«ã«ããã¸ã§ã¯ãã¸ã®çµ¶å¯¾ãã¹ãå
¥åãã¦ãã ãã",openBtn:"ã¤ã³ãã¼ã",newName:"ããã¸ã§ã¯ãå",newNamePlaceholder:"my-project",createBtn:"ããã¸ã§ã¯ã使",switchProject:"ããã¸ã§ã¯ãåæ¿",currentProject:"ç¾å¨ã®ããã¸ã§ã¯ã",resetToWorkspace:"ããã©ã«ãã¯ã¼ã¯ã¹ãã¼ã¹ã«ãªã»ãã",dropPrimary:"ãã©ã«ããããã«ãã©ãã°ãã¾ãã¯ã¯ãªãã¯ãã¦åç
§",dropSecondary:"Finderãããã©ãã°ããããä¸ã«ãã¹ãè²¼ãä»ã",pathHint:"絶対ãã¹ãå
¥åãã¦ãã ããï¼/ ã¾ã㯠~ ã§å§ã¾ãï¼",importing:"ã¤ã³ãã¼ãä¸...",dropFailed:"ãã©ã«ãã®èªã¿åãã«å¤±æ",workingDir:"使¥ãã£ã¬ã¯ããª",importCopyNote:"ãã©ã«ã㯠QwenPaw ã®ç®¡ç対象ããã¸ã§ã¯ãã©ã¤ãã©ãªã«ã³ãã¼ããã¾ããå
ã®ãã¡ã¤ã«ã¯å¤æ´ããã¾ããã",importCopyDesc:"ã¤ã³ãã¼ãããã¨ãã©ã«ãã®ã³ãã¼ã使ãããAgent ã¯ã³ãã¼ä¸ã§ä½æ¥ãã¾ããå
ã®ãã¡ã¤ã«ã¯å¤æ´ããã¾ãããå
ã®ãã£ã¬ã¯ããªã§ç´æ¥ä½æ¥ããã«ã¯ããã£ã¬ã¯ããªãéããã使ç¨ãã¦ãã ããã",tabOpenDir:"ãã£ã¬ã¯ããªãéã",openDirDesc:"ãã¼ã«ã«ã®æ¢åãã£ã¬ã¯ããªãç´æ¥éãã¾ãï¼ãã¡ã¤ã«ã¯ã³ãã¼ããã¾ããï¼",openDirBtn:"ãã®ãã£ã¬ã¯ããªãéã",openDirLoading:"èªã¿è¾¼ã¿ä¸...",openDirEmpty:"ãµããã£ã¬ã¯ããªãããã¾ãã",openDirHome:"ãã¼ã ",openDirRefresh:"æ´æ°",openDirHiddenFolders:"é ããã©ã«ã"},VI={searchPlaceholder:"ãã©ãããã©ã¼ã ãæ¨ªæãã¦ã¹ãã«ãæ¤ç´¢",categoryAll:"ãã¹ã¦",categoryPlaceholder:"ã«ãã´ãªãæ¤ç´¢",searchResult:"ã{{keyword}}ãã«ä¸è´ããã¹ãã«ã {{count}} ä»¶è¦ã¤ããã¾ãã",providerUnavailable:"ã½ã¼ã¹ãå©ç¨ã§ãã¾ãã",noResults:"çµæãè¦ã¤ããã¾ãã",startTyping:"ä¸ã®æ¤ç´¢ããã¯ã¹ã«ãã¼ã¯ã¼ããå
¥åãã¦ã¹ãã«ãæ¢ãã¾ã",browseHint:"{{providers}} ã®ã¹ãã«ãé²è¦§ããã«ã¯ãã«ãã´ãªã鏿ããããã¼ã¯ã¼ããå
¥åãã¦ãã ãã",noDescription:"説æã¯ããã¾ãã",browseMarket:"ãã¼ã±ãããé²è¦§",installQueue:"ã¤ã³ã¹ãã¼ã«ãã¥ã¼",clearCompleted:"ã¯ãªã¢",retry:"å試è¡",status:{queued:"å¾
æ©ä¸",installing:"ã¤ã³ã¹ãã¼ã«ä¸",completed:"å®äº",failed:"失æ",cancelled:"ãã£ã³ã»ã«æ¸ã¿"},loadMore:"ãã£ã¨èªã¿è¾¼ã",noMoreResults:"ãã以ä¸ããã¾ãã",detail:{title:"ã¹ãã«ã®è©³ç´°",version:"ãã¼ã¸ã§ã³",author:"使è
",sourceUrl:"ã¤ã³ã¹ãã¼ã« URL",slug:"èå¥å",missing:"â"},stats:{downloads:"ãã¦ã³ãã¼ãæ°",stars:"ã¹ã¿ã¼",installs:"ã¤ã³ã¹ãã¼ã«æ°",likes:"ãããæ°",views:"é²è¦§æ°",category:"ã«ãã´ãª",updatedAt:"æ´æ°æ¥"},queueMsg:{timedOut:"ã¤ã³ã¹ãã¼ã«ãã¿ã¤ã ã¢ã¦ããã¾ãã",failedPrefix:"失æï¼{{msg}}"}},WI={starting:"ããã¯ã¨ã³ããèµ·åä¸...",checking:"ããã¯ã¨ã³ãã«æ¥ç¶ä¸...",error:"ããã¯ã¨ã³ãã®èµ·åã«å¤±æãã¾ããã",errorHint:"ããã¯ã¨ã³ãããã»ã¹ãèµ·åã§ãã¾ããã§ããã詳細ã¯ã¢ããªã±ã¼ã·ã§ã³ãã°ã確èªãã¦ãã ããã",errorDetails:"ã¨ã©ã¼ã®è©³ç´°ã表示",timeout:"{{seconds}} ç§ä»¥å
ã«ããã¯ã¨ã³ãã®èµ·åã«å¤±æãã¾ããã",timeoutHint:"ããã¯ã¨ã³ãã®èµ·åã«å¤±æãã¾ãããå試è¡ããããã¢ããªã±ã¼ã·ã§ã³ã®ãã°ã確èªãã¦ãã ããã",retry:"å試
181è¡"},zI={error:{SENSITIVE_FILE_BLOCKED:"ãã®ãã¡ã¤ã«ã¯ãã¡ã¤ã«ã¬ã¼ãã«ãããããã¯ããã¦ãã¾ãï¼æ©å¯ãã¡ã¤ã«ä¿è·ï¼ã",OUTSIDE_WORKSPACE:"ãã®ãã¡ã¤ã«ã¯ã¯ã¼ã¯ã¹ãã¼ã¹ã®ç¯å²å¤ã§ããè¨å® â ã»ãã¥ãªã㣠â ãã¡ã¤ã«ã¬ã¼ã ã§ãã³ã³ã½ã¼ã«ã§ã¯ã¼ã¯ã¹ãã¼ã¹å¤ãã¡ã¤ã«ã®ãã¬ãã¥ã¼ã許å¯ããæå¹ã«ãã¦ãã ããã",FORBIDDEN:"ã¢ã¯ã»ã¹æå¦ï¼ãã®ãã¡ã¤ã«ããã¬ãã¥ã¼ããæ¨©éãããã¾ããã",NOT_FOUND:"ãã¡ã¤ã«ãè¦ã¤ããã¾ãããç§»åã¾ãã¯åé¤ãããå¯è½æ§ãããã¾ããç¸å¯¾ãã¹ã使ç¨ãã¦ããå ´åã¯ã絶対ãã¹ãã試ããã ããã",LOAD_FAILED:"ãã¡ã¤ã«ãã¬ãã¥ã¼ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ããã",LOAD_FAILED_DETAIL:"ãã¡ã¤ã«ãã¬ãã¥ã¼ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã: {{detail}}"}},KI={readFile:"{{file}} ãèªã¿è¾¼ã",readFileDefault:"ãã¡ã¤ã«ãèªã¿è¾¼ã",writeFile:"{{file}} ã使",writeFileDefault:"ãã¡ã¤ã«ã使",editFile:"{{file}} ãç·¨é",editFileDefault:"ãã¡ã¤ã«ãç·¨é",appendFile:"{{file}} ã«è¿½è¨",appendFileDefault:"ãã¡ã¤ã«ã«è¿½è¨",grepSearch:"Grep {{pattern}}",grepSearchDefault:"Grep æ¤ç´¢",globSearch:"Glob {{pattern}}",globSearchDefault:"Glob æ¤ç´¢",viewImage:"ç»å {{file}} ã表示",viewImageDefault:"ç»åã表示",viewVideo:"åç» {{file}} ã表示",viewVideoDefault:"åç»ã表示",desktopScreenshot:"ãã¹ã¯ãããã®ã¹ã¯ãªã¼ã³ã·ã§ãã",sendFile:"{{file}} ãéä¿¡",sendFileDefault:"ãã¡ã¤ã«ãéä¿¡",browserUse:"{{detail}} ããã©ã¦ãº",browserNavigate:"{{url}} ãéã",browserNavigateDefault:"ãã¼ã¸ãéã",browserClick:"ã¯ãªãã¯",browserType:"ããã¹ããå
¥å",browserSnapshot:"ã¹ãããã·ã§ãããåå¾",browserScroll:"ã¹ã¯ãã¼ã«",getCurrentTime:"ç¾å¨æå»ãåå¾",setTimezone:"{{timezone}} ã«è¨å®",getTokenUsage:"ãã¼ã¯ã³ä½¿ç¨éãç
§ä¼",memorySearch:"ã¡ã¢ãªã§ {{query}} ãæ¤ç´¢",memorySearchDefault:"ã¡ã¢ãªãæ¤ç´¢",listAgents:"ã¨ã¼ã¸ã§ã³ãä¸è¦§",chatWithAgent:"{{agent}} ã¨ãã£ãã",chatWithAgentDefault:"ã¨ã¼ã¸ã§ã³ãã¨ãã£ãã",submitToAgent:"{{agent}}{{task}} ã«éä¿¡",submitToAgentDefault:"ã¿ã¹ã¯ãéä¿¡",checkAgentTask:"{{agent}} #{{taskId}} ã確èª",checkAgentTaskAgent:"{{agent}} ã確èª",checkAgentTaskDefault:"ã¿ã¹ã¯ã確èª",delegateExternalAgent:"{{runner}} ã«å§ä»»",delegateExternalAgentDefault:"å¤é¨ã¨ã¼ã¸ã§ã³ãã«å§ä»»",shell:"{{command}} ãå®è¡",shellDefault:"ã³ãã³ããå®è¡",formatTable:{file:"ãã¡ã¤ã«",lineNumber:"è¡çªå·",score:"ã¹ã³ã¢",summary:"æ¦è¦",name:"åå",id:"ID",description:"説æ",status:"ã¹ãã¼ã¿ã¹"},loading:"èªã¿è¾¼ã¿ä¸...",rawInputPreview:"ãªã¢ã«ã¿ã¤ã ã®æªå å·¥å
¥åï¼æ«å°¾ 4,096 æåï¼",largeOutputOmitted:"{{count}} è¡ãçç¥ãã¾ãã â å©ç¨å¯è½ãªåºåãã³ãã¼ãããã復å
æé ã«å¾ã£ã¦ãã ãã",largeOutputTruncated:"表示ç¨ã«åºåãçç¥ãã¾ãã â å©ç¨å¯è½ãªåºåãã³ãã¼ãããã復å
æé ã«å¾ã£ã¦ãã ãã",browserAction:{startHeaded:"ãã©ã¦ã¶ãèµ·åï¼è¡¨ç¤ºããï¼",start:"ãã©ã¦ã¶ãèµ·å",stop:"ãã©ã¦ã¶ã忢",open:"{{url}} ãéã",openDefault:"ãã¼ã¸ãéã",navigate:"{{url}} ã«ç§»å",navigateDefault:"ãã¼ã¸ã«ç§»å",navigateBack:"æ»ã",click:"{{selector}} ãã¯ãªãã¯",clickDefault:"è¦ç´ ãã¯ãªãã¯",type:"{{text}} ãå
¥å",typeDefault:"ããã¹ããå
¥å",snapshot:"ã¹ãããã·ã§ãããåå¾",screenshot:"ã¹ã¯ãªã¼ã³ã·ã§ãã {{path}}",screenshotDefault:"ã¹ã¯ãªã¼ã³ã·ã§ãã",eval:"{{code}} ãè©ä¾¡",evalDefault:"ã³ã¼ããè©ä¾¡",runCode:"{{code}} ãå®è¡",runCodeDefault:"ã³ã¼ããå®è¡",closePage:"ãã¼ã¸ãéãã",tabs:"ã¿ã {{action}}",tabsDefault:"ã¿ãã管ç",fillForm:"ãã©ã¼ã ãå
¥å",fileUpload:"{{filename}} ãã¢ãããã¼ã",fileUploadDefault:"ãã¡ã¤ã«ãã¢ãããã¼ã",fileDownload:"{{target}} ããã¦ã³ãã¼ã",fileDownloadDefault:"ãã¡ã¤ã«ããã¦ã³ãã¼ã",pressKey:"{{key}} ãæ¼ã",pressKeyDefault:"ãã¼ãæ¼ã",hover:"{{selector}} ã«ããã¼",hoverDefault:"è¦ç´ ã«ããã¼",drag:"ãã©ãã°",selectOption:"ãªãã·ã§ã³ã鏿",waitFor:"{{target}} ãå¾
æ©",waitForDefault:"è¦ç´ ãå¾
æ©",resize:"{{w}}x{{h}} ã«ãªãµã¤ãº",resizeDefault:"ã¦ã£ã³ãã¦ããªãµã¤ãº",pdf:"PDF {{path}} ã«åºå",pdfDefault:"PDF ã«åºå",install:"ã¤ã³ã¹ãã¼ã«",batch:"ããã"},lineBadge:{lines:"{{count}} è¡",addLines:"+{{count}} è¡",delLines:"-{{count}} è¡",matches:"{{count}} ä»¶",files:"{{count}} ãã¡ã¤ã«"}
181,inlineResult:{taskId:"ã¿ã¹ã¯ #{{id}}",submitted:"éä¿¡æ¸ã¿"},execute:"{{tool}} ãå®è¡",executeDefault:"ãã¼ã«ãå®è¡"},$I={gotoSettings:"ã¨ã¼ã¸ã§ã³ã Loop è¨å®",selectorTitle:"Loop ã¢ã¼ã",selectorHint:"ã¨ã¼ã¸ã§ã³ãã®é²ãæ¹ã鏿",selectorAria:"Loop ã¢ã¼ãã鏿",builtInModes:"çµã¿è¾¼ã¿",customModes:"ã«ã¹ã¿ã ã¨ãã©ã°ã¤ã³",starting:"éå§ä¸",running:"å®è¡ä¸",awaiting_user:"è¿ä¿¡å¾
ã¡",activePersistentDescription:"ãã®ã¢ã¼ãã¯å®äºãããä¼è©±ããªã»ããããã¾ã§æå¹ã§ãã",activeCustomDescription:"ãã®ã«ã¹ã¿ã ã¢ã¼ã㯠/mode offã/clearã/new ã®ããããã使ç¨ããã¾ã§æå¹ã§ãã",loadError:"ä¸é¨ã® Loop ã¢ã¼ããèªã¿è¾¼ãã¾ããã§ããã",retry:"å試è¡",modes:{default:{name:"ããã©ã«ã",description:"æ¨æºã®å¶å¾¡ãããã¨ã¼ã¸ã§ã³ã Loopã"},goal:{name:"ç®æ¨",description:"å
·ä½çã§æ¤è¨¼å¯è½ãªç®æ¨ã«åãã£ã¦ç¶ç¶çã«åãçµã¿ã¾ãã"},mission:{name:"ããã·ã§ã³",description:"æ§é åãããè¤æ°ã¹ãããã®ã¿ã¹ã¯ãç¶ç¶çã«å®è¡ãã¾ãã"}}},QI={common:tI,harnesses:aI,desktop:nI,chunkError:oI,appCenter:iI,nav:sI,os:rI,debug:lI,agent:dI,checkpoints:cI,workspace:uI,skills:pI,skillPool:mI,mcp:hI,heartbeat:gI,cronJobs:fI,channels:bI,sessions:kI,environments:yI,tokenUsage:vI,agentStats:TI,modelSelector:SI,models:CI,files:wI,projectDirectory:PI,agentConfig:AI,tools:MI,modelConfig:DI,header:xI,theme:RI,sidebar:II,chat:_I,security:LI,hub:EI,login:FI,account:OI,voiceTranscription:BI,acp:NI,backup:HI,approval:UI,pluginManager:qI,inbox:jI,codingMode:GI,market:VI,startup:WI,preview:zI,tool:KI,loop:$I},JI={save:"Salvar",reset:"Redefinir",cancel:"Cancelar",confirm:"Confirmar",apply:"Aplicar",delete:"Excluir",edit:"Editar",create:"Criar",upload:"Enviar",download:"Baixar",refresh:"Atualizar",retry:"Tentar novamente",search:"Pesquisar",enable:"Ativar",disable:"Desativar",enabled:"Ativado",disabled:"Desativado",preview:"Visualizar",raw:"Código-fonte",view:"Visualizar",content:"Conteudo",loading:"Carregando...",saving:"Salvando...",copy:"Copiar",copied:"Copiado para a area de transferencia",copyFailed:"Falha ao copiar para a area de transferencia",contentPlaceholder:"Digite o conteudo...",help:"Ajuda",close:"Fechar",actions:"Acoes",total:"Total {{count}}",clear:"Limpar",paste:"Colar",yes:"Sim",no:"Nao"},YI={connected:"Conectado",disconnected:"Desconectado",notConnected:"Não conectado",comingSoon:"Em breve",connect:"Conectar com o ChatGPT",disconnect:"Desconectar",apiKeyAuthenticated:"Autenticado com chave de API",chatGptAuthenticated:"Conectado ao ChatGPT",cliAuthenticated:"{{type}} CLI autenticado"},XI={closeWindow:{title:"Fechar Janela",description:"O que deseja fazer ao fechar a janela? Sair do aplicativo interrompe todas as tarefas em execução e tarefas agendadas.",remember:"Lembrar minha escolha",showWindow:"Mostrar janela",minimizeToTray:"Minimizar para a bandeja",quitApp:"Sair do aplicativo",preference:"Fechar Janela",askEveryTime:"Perguntar sempre"}},ZI={title:"Falha ao carregar pagina",subTitle:"This may be caused by a network issue or an application update.",genericTitle:"Algo deu errado",genericSubTitle:"An unexpected error occurred while rendering this page.",reload:"Recarregar"},e_={backToList:"Voltar",subtitle:"Gerencie os aplicativos instalados ou amplie seu espaço de trabalho pelo mercado de aplicativos.",myApps:"Meus aplicativos",officialApps:"Aplicativos oficiais",appMarket:"Mercado de aplicativos",browseOfficialApps:"Explorar aplicativos oficiais",browseMarket:"Explorar mercado de aplicativos",officialAppsEmpty:"Ainda não há aplicativos oficiais",searchOfficial:"Pesquisar aplicativos oficiais...",installedCount:"{{count}} aplicativos",clearFilters:"Limpar filtros",moreActions:"Mais ações",openApp:"Abrir aplicativo",noDescription:"Sem descrição",search:"Pesquisar aplicativos...",allCategories:"Todos",noApps:"Nenhum aplicativo instalado",noResults:"Nenhum aplicativo corresponde à pesquisa",loadFailed:"Falha ao carregar aplicativos. Tente novamente.",appNotLoaded:"Este aplicativo ainda não foi carregado. Abra-o uma vez pela barra lateral e tente novamente.",uninstall:"Desinstalar",uninstallConfirmTitle:"Desinstalar aplicativo?",uninstallConfirmContent:'Isso excluirá o diretório do aplicativo "{{name}}". Esta ação não pode ser desfeita.',uninstallSuccess:"Aplicativo desinstalado",uninstallFailed:"Falha ao desinstalar",installing:"Instalando",installSuccess:"Instalado",installFailed:"Falha na instalação",installedStatus:"Instalado",update:"Atualizar",searchMarket:"Pesquisar no mercado de aplicativos...",marketFilters:"Filtros do mercado de aplicativos",filterAll:"Todos",trending:"Em alta",marketEmpty:"Nenhum aplicativo encontrado",loadMore:"Carregar mais",noMoreApps:"Não há mais aplicativos",install:"Instalar",details:"Detalhes",featured:"Em destaque",refreshApp:"Atualizar aplicativo",appRefreshed:"Aplicativo atualizado",aboutApp:"Sobre o aplicativo",exitApp:"Sair do aplicativo",moreOptions:"Mais opções",backToListHint:"Voltar à lista de aplicativos (ESC)",version:"Versão",id:"ID",category:"Categoria",description:"Descrição"},t_={chat:"Chat",files:"Arquivos",control:"Controle",channels:"Canais",sessions:"Sessoes",cronJobs:"Tarefas Cron",heartbeat:"Heartbeat",agent:"Workspace",workspace:"Arquivos",skills:"Skills",skillPool:"Pool de Skills",marketplace:"Extensões",tools:"Ferramentas",mcp:"MCP",acp:"ACP",agentConfig:"Configuracao",agents:"Gerenciamento de Agentes",settings:"Configuracoes",models:"Modelos",environments:"Environments",security:"Seguranca",tokenUsage:"Uso de Tokens",agentStats:"Estatisticas dos Agentes",voiceTranscription:"Transcricao de Voz",debug:"Depuracao",plugins:"Plugins",backups:"Backups",pluginManager:"Gerenciador de Plugins"},a_={console:"Console",appStore:"App Store",appStoreDesc:"Instale ou remova aplicativos da área de trabalho",arrangeDesktop:"Organizar área de trabalho",approvalActionFailed:"Falha na ação, tente novamente",booting:"Iniciandoâ¦",changeWallpaper:"Alterar papel de parede",clearAll:"Limpar tudo",closeApp:"Fechar",currentSpace:"Espaço atual",currentSpaceLabel:"Espaço atual: {{name}}",currentAppLabel:"Aplicativo atual: {{name}}",desktopApps:"Aplicativos de desktop",finder:"Ãrea de trabalho",focusApp:"Focar",install:"Instalar",installed:"instalado",installedApp:"Instalado",installedApps:"Aplicativos instalados",launchpad:"Launchpad",moveDockLeft:"Mover para a esquerda",moveDockRight:"Mover para a direita",missionControl:"Mission Control",noInstalledApps:"Nenhum aplicativo instalado",noNotifications:"Sem notificações",noOpenWindows:"Nenhuma janela aberta neste espaço",noSettings:"Nenhuma configuração disponÃvel",notInstalled:"não instalado",notifications:"Notificações",notificationSummary:"Aprovações {{approvals}} · Caixa de entrada {{inbox}}",notifyApproval:"Aprovação",notifyInbox:"Caixa de entrada",openApp:"Abrir",keepInDock:"Manter no Dock",removeFromDock:"Remover do Dock",refreshDesktop:"Atualizar área de trabalho",appMarket:"Mercado de aplicativos",appMarketRefresh:"Atualizar",appMarketSearch:"Pesquisar aplicativos...",appMarketEmpty:"Nenhum aplicativo encontrado",appMarketUnavailable:"O mercado de aplicativos está indisponÃvel no momento. Tente novamente mais tarde.",appMarketInstall:"Instalar",appMarketDetails:"Detalhes",appMarketDeveloper:"Desenvolvedor",appMarketDownloads:"Downloads",appInstalled:"Aplicativo instalado com sucesso",appInstallFailed:"Falha na instalação do aplicativo",appCompatibilityWarningTitle:"Aviso de compatibilidade do aplicativo",appCompatibilityWarningContent:"Este aplicativo é destinado ao QwenPaw {{labels}}, mas a versão atual do QwenPaw é {{version}}
181. A instalação pode causar erros. Continuar?",appCompatibilityWarningConfirm:"Instalar mesmo assim",appCompatibilityUnverified:"A compatibilidade com a versão atual do QwenPaw não foi verificada.",restoreAll:"Restaurar tudo",returnToConsole:"Voltar ao console",desktopMode:"Modo desktop",qwenpawMenu:"Menu QwenPaw",restoredAll:"Todos os aplicativos restaurados",sortBy:"Ordenar por",sortFree:"Organização livre",sortName:"Nome",sortType:"Tipo",systemSettings:"Configurações do sistema",uninstall:"Desinstalar",uninstallConfirmTitle:"Desinstalar aplicativo?",uninstallFailed:"Falha ao desinstalar",uninstalledApp:"Desinstalado",update:"Atualizar",wallpaper:"Papel de parede",windows:"janelas"},n_={title:"Depuracao",desc:"View the backend daemon log file to help diagnose issues. Logs refresh automatically while this page is open.",level:{all:"Todos"},backend:{title:"Logs do backend",autoRefresh:"Atualizacao automatica",newestFirst:"Mais recentes primeiro",updatedAt:"Atualizado em",path:"Arquivo de log",notFound:"Backend log file was not found yet.",placeholder:"Backend log output will appear here.",loadFailed:"Falha ao load Backend Logs",searchPlaceholder:"Pesquisar logs do backend..."},actions:{refreshBackend:"Atualizar logs do backend",refreshSuccess:"Logs atualizados",copyBackend:"Copiar logs do backend"}},o_={title:"ACP",loading:"Carregando configuracao ACP...",builtin:"Integrado",custom:"Personalizado",create:"Adicionar Personalizado Agente",createTitle:"Criar ACP Agente",createSuccess:"Agente ACP criado",editTitle:"Editar ACP Configuracao",agentKey:"Chave do Agente",agentKeyRequired:"Digite a chave do agente",agentKeyInvalid:"A chave pode conter apenas letras, numeros, sublinhados e hifens",agentKeyExists:"Esta chave de agente ja existe",enabled:"Ativado",command:"Command",commandRequired:"Digite um comando",args:"Arguments",argsHelp:"Um argumento por linha",env:"Variaveis de Ambiente",envHelp:"Use o formato CHAVE=VALOR em cada linha",envInvalidLine:"Formato de variavel de ambiente invalido: {{line}}",trusted:"Trusted",toolParseMode:"Modo de Parse de Ferramentas",toolParseModeRequired:"Selecione um modo de parse",stdioBufferLimit:"Limite do Buffer Stdio",stdioBufferLimitHelp:"Tamanho maximo do buffer de linha stdio para o subprocesso ACP em bytes.",stdioBufferLimitRequired:"Digite o limite do buffer stdio",stdioBufferLimitMin:"O limite deve ser de pelo menos 1 byte",docs:"Documentacao de Setup",docsHelp:"Abrir a documentacao ACP e ir para a secao de configuracao de runners externos",notSet:"Nao definido",configSaved:"Configuracao ACP salva",configFailed:"Falha ao salvar configuracao ACP",deleteTitle:"Excluir {{name}}",deleteConfirm:"Excluir este agente ACP? Esta acao nao pode ser desfeita.",deleteSuccess:"Agente ACP excluido",deleteFailed:"Falha ao excluir agente ACP",nodeSettings:"Configuracoes do Node",nodePath:"Caminho do Node",chooseOtherNode:"Escolher outro Node...",selectNodePath:"Selecionar caminho do Node",nodePathPrompt:"Informe o caminho do executavel node",nodeSaved:"Configuracoes do Node salvas",nodeLoadFailed:"Falha ao carregar configuracoes do Node",nodeSaveFailed:"Caminho do Node indisponivel",nodeRuntime:{bundled:"Node embutido",system:"Node do sistema",custom:"Node personalizado"},nodeRuntimeReason:{systemNodeMissing:"Node do sistema nao detectado",nodeMissing:"Caminho do Node nao existe",npxMissing:"npx nao encontrado",versionCheckFailed:"Falha na verificacao de versao",unavailable:"Indisponivel"}},i_={title:"Transcricao de Voz",description:"Configure como mensagens de audio e voz recebidas sao processadas.",saveSuccess:"Modo de audio salvo",saveFailed:"Falha ao salvar modo de audio",audioModeLabel:"Modo de Audio",audioModeDescription:"Escolha como mensagens de voz dos canais (Discord, Telegram, etc.) sao processadas antes de serem enviadas ao modelo.",modeAuto:"Auto (Recomendado)",modeAutoDesc:"Transcribe audio to text using the selected transcription provider, then send the text to the model. If transcription is unavailable or disabled, a file-uploaded placeholder is shown instead. Audio is never sent directly to the model in this mode. Works with all models.",modeNative:"Audio Nativo",modeNativeDesc:"Send the audio file directly to the model without transcription. This is the only mode that sends audio to the model. Only works with specific audio-capable models (e.g. gpt-4o-audio). Most models do not support this and will reject the message.",ffmpegReady:"ffmpeg is installed. Audio conversion is available for native mode.",ffmpegMissing:"ffmpeg is not installed.",ffmpegMissingDesc:"Native audio mode requires ffmpeg to convert audio formats (e.g. .ogg to .wav). Install ffmpeg as a system package to enable this mode.",providerTypeLabel:"Provedor de Transcricao",providerTypeDescription:"Choose the transcription backend. Select Disabled if you do not need voice transcription.",providerTypeDisabled:"Desativado",providerTypeDisabledDesc:"No transcription. Voice messages will show a file-uploaded placeholder.",providerTypeWhisperApi:"Whisper API",providerTypeWhisperApiDesc:"Use an OpenAI-compatible Whisper API endpoint from a configured provider (e.g. OpenAI, Ollama).",providerTypeLocalWhisper:"Local Whisper",providerTypeLocalWhisperDesc:"Ru
181n transcription locally using the openai-whisper Python library. Requires both ffmpeg and openai-whisper to be installed.",localWhisperReady:"Local Whisper is ready. Both ffmpeg and openai-whisper are installed.",localWhisperMissing:"Local Whisper is not ready. Missing dependencies must be installed.",localWhisperMissingDesc:"ffmpeg: {{ffmpeg}} | openai-whisper: {{whisper}}. Install missing dependencies: ffmpeg (system package) and openai-whisper (uv pip install openai-whisper, or install QwenPaw with the [whisper] extra).",providerLabel:"Whisper API Provedor",providerDescription:"Select which provider to use for audio transcription via the Whisper API. Only providers with a Whisper-compatible endpoint are shown.",providerPlaceholder:"Selecionar a provider...",noProvidersWarning:"No transcription-capable providers found. Configure an OpenAI provider to enable voice transcription.",transcriptionInfoTitle:"How transcription works",transcriptionInfoDesc:"Whisper API transcription uses an OpenAI-compatible /v1/audio/transcriptions endpoint. This requires a configured provider with a Whisper-compatible endpoint â for example, an OpenAI provider. Select a specific provider above to enable transcription.",transcriptionInfoDescLocal:"Local Whisper transcription runs the openai-whisper library directly on your machine. It requires both ffmpeg (for audio decoding) and the openai-whisper Python package to be installed. No API key or network connection is needed. Install with: uv pip install 'qwenpaw[whisper]'."},s_={title:"Backups",description:"Backup and restore agent workspaces and configurations.",create:"Criar Backup",import:"Importar",export:"Exportar",restore:"Restore",delete:"Excluir",batchDelete:"Excluir Selecionado",batchDeleteConfirm:"Are you sure you want to delete {{count}} backup(s)? This action cannot be undone.",deleteConfirm:"Are you sure you want to delete this backup? This action cannot be undone.",name:"Nome",createdAt:"Criado",scopeSummary:"Escopo",descriptionLabel:"Descricao",noBackups:"No backups yet. Create one to backup your current configuration.",loadFailed:"Falhou to load Backups",createTitle:"Criar Backup",backupMode:"Backup Modo",fullBackup:"Full Backup",fullBackupDesc:"Backup everything including all agent workspaces, global settings, skill pool, and secrets",customBackup:"Personalizado Backup",partialBackup:"Partial Backup",partialBackupDesc:"Customize what to backup",nameRequired:"Backup Nome is Obrigatorio",namePlaceholder:"Enter backup Nome",descriptionPlaceholder:"Opcional description...",scopeAgents:"Agente Workspaces",scopeGlobalConfig:"Global Configuracoes",scopeSkillPool:"Pool de Skills",scopeSecrets:"Secrets",scopeSecretsHint:"Includes model provider secrets (API keys), environment variables, and other sensitive information",securityNotice:"This backup may contain sensitive credentials. Agent workspaces include channel credentials (bot tokens, app secrets, etc.), and model provider secrets include API keys. Do not share backup files with others.",searchPlaceholder:"Search backups by name or ID...",total:"Total {{count}}",agentsPlaceholder:"Select agent workspaces (leave empty for all)",selectAll:"Selecionar Todos",deselectAll:"Deselect Todos",createSuccess:"Backup Criado successfully",createFailed:"Falhou to Criar backup",restoreTitle:"Restore Backup",restoreScope:"Restore Escopo",restoreFullWarning:"Full restore will completely replace all contents of the current instance (including all agents, global config, skill pool, and secrets). This action cannot be undone. Related features will be unavailable during restore. Please restart the service after restoration is complete.",agentGroupExisting:"Existing",agentGroupNew:"Novo",agentExists:"Exists",agentNew:"Novo",agentActionReplace:"Overwrite",agentActionAdd:"Novo",agentColumnName:"Agente",agentColumnWorkspace:"Workspace",agentTotal:"{{count}} Agentes total",noAgentsInBackup:"No agent workspaces in this backup",loadingAgents:"Carregando Agente list...",agentSearchPlaceholder:"Search by name or ID...",agentSearchTotal:"{{count}} of {{total}} Agentes",restoreCustomSummary:"{{existing}} existing · {{added}} new selected",defaultWorkspaceDirUnused:"Nao Novo Agentes Selecionado",otherOptions:"Other Options",defaultWorkspaceDirDefault:"<Default path>/{{aid}}",restoreWarningModify:"Restoring will modify current configurations. This action cannot be undone.",restoreWarningRestart:"Related features will be unavailable during restore. Please restart the service after restoration is complete.",preRestoreBackupTitle:"Criar Pre-Restore Backup",preRestoreBackupContent:"The restore operation is irreversible. Would you like to create a backup of the current state first? This allows you to rollback if any issues occur during restoration.",preRestoreBackupYes:"Yes, Criar backup first",preRestoreBackupNo:"No, restore directly",preRestoreBackupDesc:"Auto-created backup before restore",preRestoreBackupFailed:"Falha ao Criar pre-restore backup",preRestoreBackupSuccess:"Pre-restore backup created successfully, ID: {{id}}",creatingPreRestoreBackup:"Creating pre-restore backup...",skipAndRestore:"Skip and continue to restore",restoreConfirm:"I confirm that I want to restore this backup",restoreMode:"Restore Modo",restoreModeFull:"Full Restore",restoreModeFullDesc:"Completely replace all contents of the current instance, including all agents, global config, skill pool and secrets",restoreModeCustom:"Personalizado Restore",restoreModeCustomDesc:"Select the contents to restore, such as specific agents, config, etc.; existing agents not included in this restore will be preserved",restoreModeFullDisabled:"Full backup only",defaultWorkspaceDir:"Agente Padrao Workspace Directory",defaultWorkspaceDirPlaceholder:"Leave empty to use ~/.qwenpaw/workspaces",defaultWorkspaceDirHint:"If the agent's original workspace path does not exist, the agent will be saved under <default path>/<agent ID>. If it exists, the agent's original workspace path will be used.",restoreStrategy:"Estratégia de restauração",restoreStrategyPreserve:"Preservar segurança local e MCP",restoreStrategyPreserveDesc:"Mantenha as proteções de segurança e a configuração MCP desta instância.",restoreStrategyRestore:"Restaurar estas configurações do backup",restoreStrategyRestoreDesc:"Use a configuração de segurança e MCP do backup.",restoreSuccess:"Backup restored successfully. Please restart the service.",restoreSuccessPreserved:"Backup restaurado com sucesso. Configurações locais preservadas: {{keys}}. Reinicie o serviço.",restoreSuccessWithBackup:"Backup restored successfully. Pre-restore backup ID: {{preRestoreId}}. Please restart the service.",restoreFailed:"Falhou to restore backup",restoreTimedOut:"A restauração ainda está em andamento ou excedeu 5 minutos. Verifique o tamanho do backup, o espaço em disco e os logs do serviço antes de tentar novamente.",restoreTargetBusy:"A restauração falhou porque estes diretórios ainda estão em uso. Feche o navegador ou processo que os utiliza e tente novamente. Se continuarem bloqueados, reinicie o sistema e tente de novo.",detailLoa
181dFailed:"Failed to load backup details; restore is unavailable",trustLocalBanner:"Backup local - restauração completa por padrão",trustForeignBanner:"Backup importado - segurança local e MCP são preservados por padrão",trustLegacyBanner:"Backup legado - confirmação de confiança necessária antes da restauração",trustForeignTitle:"Confiar neste backup?",trustLegacyTitle:"Confiar no backup legado?",unknownBackupName:"Arquivo de backup",trustForeignDesc:"Este backup não foi assinado por esta instância. Continue apenas se confiar na origem; as configurações locais de segurança e MCP serão preservadas por padrão ao restaurar.",trustLegacyDesc:"Este backup antigo não tem assinatura local. Continue apenas se confiar na origem; esta instância o assinará antes da restauração.",deleteSuccess:"Backup(s) deleted successfully",deleteFailed:"Falhou to Excluir backup(s)",exportFailed:"Falhou to Exportar backup",exportWarningTitle:"Sensitive Information Aviso",exportWarningContent:"This backup may contain sensitive credential information. Agent workspaces contain channel credentials (such as bot tokens, app secrets, etc.), and model provider secrets contain API Keys. Do not share backup files with others.",exportConfirm:"Confirmar Exportar",importTitle:"Importar Backup",importSuccess:"Backup imported successfully",importFailed:"Falhou to Importar backup",importConflictTitle:"Backup Already Exists",importConflictDesc:"A backup with the same ID already exists. Do you want to overwrite it?",importReplace:"Overwrite",agents:"{{count}} Agent(s)",allAgents:"Todos Agentes",globalConfig:"Global Configuracoes",skillPool:"Pool de Skills",secrets:"Secrets",selected:"{{count}} Selecionado",fileCount:"{{count}} Arquivos",totalSize:"{{size}}",progressStarting:"Starting backup...",progressAgent:"Backing up agent {{index}} / {{total}}...",progressSaving:"Saving backup file...",progressDone:"Backup complete",localModelsNotice:"Backup files do not include local model files. For cross-device migration, you will need to re-download the required local models on the target device."},r_={nav:"Pontos de controle",title:"Pontos de controle de estado",auto:"Automático",autoEnabled:"Pontos automáticos ativados",autoDisabled:"Pontos automáticos desativados",refresh:"Atualizar",snapshot:"Snapshot",snapshotCreated:"Snapshot criado",graph:"Grafo",checkpoint:"Ponto de controle",type:"Tipo",commit:"Commit",createdAt:"Criado em",session:"Sessão",channel:"Canal",parent:"Pai",details:"Detalhes",search:"Pesquisar consulta, nome, sessão ou SHA",allTypes:"Todos os tipos",allSessions:"Todas as sessões",showingLatest:"Exibindo os {{count}} mais recentes",loadFailed:"Não foi possÃvel carregar",retry:"Tentar novamente",more:"Mais ações",noMatches:"Nenhum ponto corresponde aos filtros.",empty:"Ainda não há pontos de controle. O histórico aparecerá aqui.",kind:{auto:"Auto",snapshot:"Snapshot",safety:"Segurança",commit:"Commit"},summary:{total:"pontos"},snapshotDialog:{title:"Criar snapshot",session:"Sessão",name:"Nome",placeholder:"Nome opcional"},gc:{settingsAction:"Configurações de limpeza automática",settingsTitle:"Configurações de limpeza automática",keepCount:"Pontos automáticos a manter",keepDays:"Retenção de pontos automáticos (dias)",preRestoreDays:"Retenção de snapshots pré-restauração (dias)",settingsSaved:"Configurações de limpeza automática salvas",thoroughAction:"Thoroughly compact checkpoints",thoroughTitle:"Thoroughly compact checkpoints?",thoroughDescription:"Remove {{count}} ponto(s), ignorando a retenção de pontos automáticos. O HEAD de cada sessão será mantido.",thoroughConfirm:"Thoroughly compact",thoroughSuccess:"Removed {{count}} checkpoint(s) during thorough compaction",action:"Limpar pontos",title:"Limpar pontos conforme a polÃtica de retenção?",description:"Remove {{count}} ponto(s) expirado(s) conforme a polÃtica de retenção atual. O HEAD de cada sessão será mantido.",confirm:"Limpar",success:"{{count}} ponto(s) removidos"},reset:{action:"Redefinir dados",title:"Redefinir todos os dados?",description:"Isso remove permanentemente todos os pontos e desativa a criação automática.",confirm:"Redefinir",success:"Dados redefinidos"},restore:{action:"Restaurar",title:"Restaurar ponto",preview:"Visualizar restauração",confirm:"Restaurar",conversation:"Conversa",memory:"Memória",files:"Arquivos do workspace",refreshWarning:"A conversa será alterada. Atualize-a após a restauração.",selectedCount:"{{count}} arquivos selecionados",selectAll:"Selecionar todos os arquivos alterados",delete:"Excluir",restore:"Restaurar",noFileChanges:"Nenhuma alteração de arquivo é necessária.",success:"Ponto restaurado. Atualize a conversa para carregar o estado."}}
181,l_={title:"Arquivos",workspacePath:"Workspace:",noFiles:"Nao Arquivos",coreFiles:"Core Arquivos",coreFilesDesc:"Bootstrap persona, identity, and tool guidance.",uploadTooltip:"ZIP files only",uploadTooltipWithLimit:"ZIP files only, max {{limit}}MB",selectFile:"Selecione um arquivo para editar",fileContent:"File content...",uploadSuccess:"Arquivo enviado com sucesso",uploadFailed:"Falha ao enviar arquivo",downloadPreparing:"Preparando download do workspace...",downloadSuccess:"Workspace downloaded successfully",downloadFailed:"Workspace Baixar Falhou",zipOnly:"Only .zip files are supported for upload",fileSizeExceeded:"File size exceeds {{limit}}MB limit. Current file: {{size}}MB",systemPromptToggleTooltip:"Enable/disable this file in system prompt",memoryFileWarning:"MEMORY.md is typically queried on-demand by the agent using tools. Loading it into the system prompt may cause the context to become too long.",configUpdated:"System prompt Configuracao Atualizado",configUpdateFailed:"Falha ao Atualizar system prompt Configuracao",attribution:"Workspace design partly inspired by the OpenClaw project â thank you! ð¾",saveSuccess:"Salvo com sucesso",saveFailed:"Falha ao salvar"},d_=JSON.parse(`{"parent":"Configuracoes","agents":"Agentes","management":"Gerenciamento de Agentes","pageDescription":"Create, configure, and manage multiple AI agents with custom workspaces and identities.","name":"Nome","id":"ID","description":"Descricao","workspace":"Caminho do Workspace","backend":{"column":"Backend","eyebrow":"Arquitetura do agente","typeTitle":"Escolha como este agente funciona","typeDescription":"O tipo de agente controla todas as conversas no Chat, Coding e Channel.","nativeTitle":"Agente nativo do QwenPaw","nativeBadge":"Nativo","nativeDescription":"Usa o LLM, Skills, ferramentas, memória e runtime do QwenPaw configurados.","thirdPartyTitle":"Agente de terceiros","thirdPartyBadge":"Terceiros","thirdPartyDescription":"Usa um runtime de agente externo autorizado em vez de um modelo do QwenPaw.","providerTitle":"Escolha um agente de terceiros","providerDescription":"A autenticação é compartilhada neste dispositivo; projetos e conversas permanecem isolados por agente.","codexHint":"ChatGPT OAuth · Workspace do agente","qoderHint":"Conta Qoder ou PAT · Workspace do agente","account":"Conta do Codex","qoderAccount":"Conta do Qoder","binary":"Executável do Codex","binaryHelp":"Deixe em branco para priorizar o Codex CLI incluÃdo no SDK Python e detectar uma instalação independente. Se preencher, informe o caminho completo para codex no macOS/Linux ou codex.exe no Windows. Binários internos do aplicativo ChatGPT ou de extensões do editor não são compatÃveis. O QwenPaw também lê CODEX_BINARY e o PATH do backend.","binaryPlaceholder":"Detectar automaticamente ou colar o caminho do executável Codex","qoderBinary":"Executável do Qoder","qoderBinaryHelp":"Deixe em branco para usar o qodercli incluÃdo no SDK Python ou detectar uma instalação existente. Se preencher, informe o caminho completo para qodercli no macOS/Linux ou qodercli.exe no Windows. O QwenPaw também lê QODERCLI_PATH e o PATH do backend.","qoderBinaryPlaceholder":"Detectar automaticamente ou colar o caminho do qodercli","detect":"Detectar","detectedBinary":"Codex detectado","qoderDetectedBinary":"Qoder detectado","apiKeyLoginHint":"Você também pode autenticar no terminal com: codex login --with-api-key","qoderAuthHint":"Conectar abre o login do Qoder no navegador. Você também pode executar qodercli login ou definir QODER_PERSONAL_ACCESS_TOKEN antes de iniciar o backend.","qoderConnect":"Conectar ao Qoder","model":"Modelo do agente","modelDefault":"Usar o padrão do agente","defaultBadge":"Padrão","reasoningEffort":"NÃvel de raciocÃnio","reasoningDefault":"Usar o padrão do modelo","codexNotFound":"O runtime do Codex não foi encontrado. Instale qwenpaw[codex] ou forneça um Codex CLI independente.","qoderNotFound":"O runtime do Qoder não foi encontrado. Instale qwenpaw[qoder] ou forneça o qodercli.","chatSettingsHint":"Escolha o modelo, o nÃvel de raciocÃnio e as permissões de execução na barra de ferramentas do Chat.","capabilityTitle":"Recursos do QwenPaw","inheritedSkills":"Skills","inheritedMcp":"Servidores MCP","runtimeInherited":"Herdado em execução · novas sessões","notSupported":"Não compatÃvel com este provedor","policyCompatibility":"PolÃtica MCP","toolAllowlistSupported":"Lista de ferramentas compatÃvel","policyLimited":"Aplicam-se limites do provedor","chatModelHint":"C
181onfigurações por agente · aplicadas no próximo turno","appliesNextTurn":"Aplicado no próximo turno","approvalMode":"Permissões de execução","approvalPresets":{"ask":{"name":"Perguntar antes de alterar","description":"Permite alterações no workspace e solicita confirmação antes de ações elevadas."},"read-only":{"name":"Somente leitura","description":"Inspeciona arquivos sem alterá-los."},"workspace":{"name":"Acesso ao workspace","description":"Permite alterações no workspace sem confirmação."},"accept-edits":{"name":"Aceitar edições","description":"Permite edições de arquivos mantendo as demais proteções."},"plan":{"name":"Somente planejar","description":"Analisa e planeja sem alterar arquivos."},"auto":{"name":"Automático","description":"Deixa o Qoder decidir quais ações seguras podem ser executadas."},"full-access":{"name":"Acesso total","description":"Permite execução local irrestrita sem confirmação."}}},"create":"Criar Agente","createTitle":"Criar Novo Agente","createSuccess":"Agente Criado successfully","createFailed":"Falhou to Criar Agente","edit":"Editar","editTitle":"Editar Agente - {{name}}","updateSuccess":"Agente Atualizado successfully","updateFailed":"Falhou to Atualizar Agente","delete":"Excluir","deleteConfirm":"Confirmar Excluir Agente","deleteConfirmDesc":"Agent will be unavailable after deletion, but workspace files will be kept","deleteSuccess":"Agente deleted successfully","deleteFailed":"Falhou to Excluir Agente","selectAgent":"Selecionar Agente","defaultDisplayName":"Agente Padrao","currentWorkspace":"Agente Atual","switchSuccess":"Agente switched successfully","switchFailed":"Falhou to switch Agente","loadFailed":"Falha ao load Agente list","loadConfigFailed":"Falha ao load Agente Configuracao","saveFailed":"Falhou to Salvar Agente","idRequired":"Please enter Agente ID","idLabel":"Agente ID (optional)","idHelp":"Leave empty to auto-generate. Only letters, digits, hyphens and underscores allowed.","idPattern":"ID can only contain letters, numbers, underscores and hyphens","idPlaceholder":"e.g.: my-agent","nameRequired":"Please enter Agente Nome","namePlaceholder":"e.g.: My Agente","descriptionPlaceholder":"Briefly describe this agent's purpose...","workspaceHelp":"Leave empty to auto-generate in ~/.qwenpaw/workspaces/<id>","dragHandleTooltip":"Drag to reorder Agentes","reorderSuccess":"Agente order saved","reorderFailed":"Falha ao Salvar Agente order","defaultNotEditable":"Default agent cannot be edited","defaultNotDeletable":"Default agent cannot be deleted","disable":"Desativar","enable":"Ativar","disabled":"Desativado","disableConfirm":"Confirmar Desativar Agente","disableConfirmDesc":"The agent instance will not start after disabling, but will remain visible in the list","enableConfirm":"Confirmar Ativar Agente","enableConfirmDesc":"The agent will be available for switching after enabling","disableSuccess":"Agente Desativado successfully","enableSuccess":"Agente Ativado successfully","toggleFailed":"Falha ao toggle Agente state","enableAgent":"Ativar {{name}}","disableAgent":"Desativar {{name}}","disabledAgents":"Desativados ({{count}})","pinnedAgents":"Fixados","otherAgents":"Outros agentes","pinned":"Fixado","defaultPinned":"O agente padrão está sempre fixado","longPressToPin":"Pressione e segure para fixar","longPressToUnpin":"Pressione e segure para desafixar","pinAgent":"Fixar agente","unpinAgent":"Desafixar agente","pinSuccess":"Agente fixado","unpinSuccess":"Agente desafixado","pinFailed":"Falha ao atualizar o estado de fixação","status":{"disabled":"Desativado","pending":"Aguardando inicialização","starting":"Inicializando","running":"Em execução","failed":"Falha na inicialização","waitUntilStarted":"DisponÃvel após concluir a inicialização"},"defaultNotDisablable":"Default agent cannot be disabled","currentAgentDeleted":"Current agent has been deleted, automatically switched to default agent","currentAgentDisabled":"Current agent has been disabled, automatically switched to default agent","switchedToDefault":"Automatically switched to default agent","cannotSwitchToDisabled":"This agent is disabled, please enable it in the management page first","initialSkills":"Initial Skills","initialSkillsHelp":"Select skills to add from the pool. You can add or remove skills later.","selectAll":"Todos","selectBuiltin":"Builtin","
181selectNone":"Nenhum","noPoolSkills":"No skills available in pool","addSkillsToAgent":"Adicionar Skills","model":"Modelo","modelHelp":"Assign a specific LLM model to this agent. Leave empty to use the global default.","modelPlaceholder":"Use global Padrao","noConfiguredModels":"Nao configured Modelos","modelColumn":"Modelo","copyTooltip":"Copiar configuracao do agente","copyDefaultTooltip":"Copiar usando o agente padrao como modelo","copyTitle":"Copiar Configuracao do Agente","copyNameLabel":"Nome do novo agente","copyOptionsLabel":"Conteudo a copiar","copyOptionAgentJson":"agent.json (obrigatorio)","copyOptionAgentJsonHint":"Sempre copia a configuracao de origem analisada e redefine ID, nome, workspace e channels. Nao e uma copia byte a byte do agent.json no disco.","copyOptionMdFiles":"AGENTS / SOUL / PROFILE / HEARTBEAT / BOOTSTRAP.md","copyOptionSkills":"skills/ + manifest","copyOptionJobs":"jobs.json","copyOptionJobsHint":"Copia apenas as definicoes de tarefas, sem historico. O novo agente as executara conforme o agendamento logo apos a criacao.","copySuccess":"Configuracao do agente copiada com sucesso","copyFailed":"Falha ao copiar a configuracao do agente","mailManagement":"Gerenciamento de Email","mailModeNone":"Sem gerenciamento de email","mailModePersonal":"Gerenciar sua caixa de email pessoal","mailModeDedicated":"Provisionar uma caixa de email dedicada","mailName":"Nome da caixa de email","mailNameOptional":"Nome da caixa de email (opcional)","mailDomain":"Dominio de email","mailPassword":"Senha","mailPhone":"Numero de telefone","mailAuthCode":"Codigo de autorizacao de 16 digitos","mailNameRequired":"Informe o nome da caixa de email","mailPasswordRequired":"Informe a senha","mailPhoneRequired":"Informe o numero de telefone","mailAuthCodeRequired":"Informe o codigo de autorizacao","mailAuthCodeLength":"O codigo de autorizacao deve ter 16 caracteres","mailDomainRequired":"Selecione um dominio de e-mail","mailDomainInvalid":"Insira um dominio de e-mail valido, ex.: mycompany.com","mailDomainPlaceholder":"Selecione ou insira um dominio de e-mail","mailProvider":"Provedor de e-mail","mailProviderRequired":"Selecione um provedor de e-mail","mailProviderPlaceholder":"Selecione o provedor que hospeda este dominio","mailProviderTencentExmail":"Tencent Exmail","mailProviderAliyunQiye":"Alibaba Enterprise Mail","mailProviderNeteaseQiye":"Netease Enterprise Mail","mailCredentialLabel":"Credencial","mailCredentialRequired":"Insira a credencial","mailCredentialHintAuthCode":"Insira o codigo de autorizacao de 16 digitos gerado nas configuracoes da caixa de e-mail","mailCredentialHintGmail":"Insira uma senha de app do Gmail (requer verificacao em duas etapas ativada)","mailCredentialHintAliyun":"Insira a senha de login da caixa de e-mail","mailCredentialHintEnterprise":"Insira a senha especifica do cliente ou a senha de login da caixa de e-mail","mailPushTitle":"Resposta automatica a novos e-mails","mailAccessControl":"Controle de acesso de e-mail","mailAccessControlTip":"Quando ativado, e-mails de remetentes desconhecidos precisam de aprovacao antes de serem processados","mailPushModeOff":"Desativado","mailPushModeRulesOnly":"Apenas regras","mailPushModeRulesThenAgent":"Regras + despertar sob demanda","mailPushModeAgentAll":"Despertar para cada e-mail","mailPushModeOffDesc":"Nao processar novos e-mails automaticamente","mailPushModeRulesOnlyDesc":"Processar novos e-mails apenas com as regras abaixo, sem despertar o agente","mailPushModeRulesThenAgentDesc":"Aplicar as regras primeiro; despertar o agente apenas quando uma acao de despertar corresponder","mailPushModeAgentAllDesc":"Despertar o agente para cada novo e-mail e deixar que ele decida como tratar de forma autonoma","mailPushModeLegacySuffix":" (legado)","mailPushFieldFrom":"Remetente","mailPushFieldSubject":"Assunto","mailPushFieldContent":"Conteudo","mailPushFieldKeyword":"Palavra-chave","mailPushActionMarkRead":"Marcar como lido","mailPushActionMove":"Mover para pasta","mailPushActionNotify":"Apenas notificar","mailPushActionWakeAgent":"Despertar agente","mailPushContainsPlaceholder":"Contem o texto","mailPushParamMovePlaceholder":"Pasta de destino","mailPushParamWakePlaceholder":"Instrucao adicional (opcional)","mailPushParamRequired":"Informe a pasta de destino","mailPushAddRule":"Adicionar regra","mailPushWakeOptionInvoice":"Baixar e arquivar anexos de emails de fatura/cobranca","mailPushWakeOptionReply":"Responder educadamente a emails de consulta","mailPushWakeOptionOtp":"Extrair o codigo de verificacao e me notificar","mailPushWakeOptionSummary":"Resumir os pontos do email na caixa de entrada"}`),c_={title:"Skills",description:"Manage agent skills and capabilities.",preload:"Pré-carregar",preloadHint:"Quando ativado, o agente pré-carrega esta Skill e não precisa procurá-la e carregá-la durante a conversa.",qwenpawManaged:"Gerenciado pelo QwenPaw",qwenpawManagedHint:"Editável e projetado em agentes de terceiros compatÃveis durante a execução.",providerManaged:"Skills do agente de terceiros",providerManagedHint:"Descobertas no agente de terceiros atual e exibidas somente para leitura.",providerOnly:"Somente o agente de terceiros atual",readOnly:"Somente leitura",noDescription:"Nenhuma descrição disponÃvel.",providerSkillDetails:"Detalhes da Skill do agente de terceiros",providerManagedDetailHint:"Esta Skill é gerenciada pelo agente de terceiros. O QwenPaw pode exibi-la e usá-la, mas não pode modificá-la.",provider:"Agente de terceiros",scope:"Escopo",statusLabel:"Status",descriptionLabel:"Descrição",importHub:"Enviar via URL",supportedSources:"Fontes suportadas:",importSkills:"Importar Skill",enterSkillUrl:"Enter Skill URL",supportedSkillUrlSources:"Supported Skill Marketplaces:",urlExamples:"URL examples:",urlValid:"Valid URL from {{source}}
181",invalidUrl:"Invalid URL",clickToFill:"Click to fill in URL",invalidSkillUrlSource:"Please verify the skill URL is from a supported marketplace",type:"Tipo",installedFrom:"Instalado de",source:"Origem",path:"Caminho",tags:"Tags",builtin:"Integrado",custom:"Personalizado",addSkill:"Adicionar Skill",createSkill:"Criar Skill",viewSkill:"Visualizar Skill",editSkill:"Editar Skill",skillName:"Skill Nome",skillContent:"Skill Conteudo",pleaseInputName:"Please input Skill Nome",pleaseInputContent:"Please input Skill Conteudo",skillNamePlaceholder:"e.g., weather_query",contentPlaceholder:`[Format] 182--- 183name: skill_name (required, lowercase with underscores) 184description: Brief description (required) 185--- 186 187Skill implementation (Markdown format) 188 189[Example] 190--- 191name: weather_query 192description: Query weather info for a city 193--- 194 195## Features 196Query real-time weather data. 197 198## Usage 199User inputs city name, returns weather info.`,createSuccess:"Skill Criado successfully",createFailed:"Falhou to Criar Skill",deleteConfirm:"Are you sure you want to delete this skill?",deleteSuccess:"Skill deleted successfully",deleteFailed:"Falhou to Excluir Skill",batchEnable:"Ativar",batchDisable:"Desativar",batchEnableSuccess:"{{count}} skills ativadas",batchEnablePartial:"{{enabled}} ativadas, {{failed}} falharam",batchEnableFailed:"Falha ao ativar em lote",batchDisableSuccess:"{{count}} skills desativadas",batchDisablePartial:"{{disabled}} desativadas, {{failed}} falharam",batchDisableFailed:"Falha ao desativar em lote",batchDeleteTitle:"Excluir {{count}} skills?",batchDeleteSuccess:"{{count}} Skills deleted",batchDeletePartial:"{{deleted}} deleted, {{failed}} Falhou",batchDeleteFailed:"Batch Excluir Falhou",selectedCount:"{{count}} Selecionado",updateSuccess:"Skill Atualizado successfully",updateFailed:"Falhou to Atualizar Skill",frontmatterRequired:"Skills must start and end with ---",frontmatterNameRequired:"Skills missing required field : name",frontmatterDescriptionRequired:"Skills missing required field : description",editNotSupported:"Falhou to Editar Skill",editNote:"Tip: You can edit skill content, channels, and config here.",create:"Criar",optimizeWithAI:"AI Optimize",stopOptimize:"Parar",optimizeSuccess:"Skill optimized successfully",optimizeFailed:"Falhou to optimize Skill",noContentToOptimize:"Nao Conteudo to optimize",cancelImport:"Cancelar Importar",importCancelled:"Skill Importar cancelled",importTimeout:"Skill import timed out. Please retry or check your network.",uploadSkill:"Enviar Skill",uploadZip:"Enviar via Zip",uploadSuccess:"Skill uploaded successfully",uploadFailed:"Skill Enviar Falhou",uploadNoChange:"No new skills were imported. They may already exist.",zipOnly:"Only .zip files are supported for upload",fileSizeExceeded:"File size exceeds {{limit}}MB limit. Current file: {{size}}MB",channels:"Canais",allChannels:"Todos",lastUpdated:"Atualizado",searchPlaceholder:"Filtrar by Nome",listView:"List Visualizar",gridView:"Grid Visualizar",refreshHint:"Atualizar Skills from disk",poolSync:"Sync Status",uploadedToPool:"Uploaded to Skill pool",downloadedToWorkspace:"Downloaded to Atual Workspace",builtinUpgradeTitle:"Upgrade Integrado Skill",builtinUpgradeContent:'A newer version of built-in skill "{{name}}" is available in the pool. Overwrite the current version?',languageSwitchTitle:"Switch Skill Idioma",languageSwitchContent:"The following skills have a different language version in the pool and will be overwritten:",overwriteExistingList:"The following skills already exist and will be overwritten:",nameConflict:"Name conflict detected. Suggested rename has been filled.",uploadToPoolHint:"Upload selected workspace skills to the shared local skill pool",downloadFromPool:"Carregar do Skill Pool",uploadToPool:"Sync to Skill Pool",selectWorkspaceSkill:"Selecionar Atual Workspace Skill",selectPoolItem:"Selecionar Skill pool item",renameOptional:"Rename (optional)",renamePlaceholder:"Suggested rename will appear here on conflict",renameSingleOnly:"Rename is available only when exactly one skill is selected.",selectAll:"Selecionar Todos",clearSelection:"Limpar",downloadSkillPool:"Baixar Skill Pool",uploadSkillPool:"Enviar Skill Pool",config:"Configuracao",configPlaceholder:'{"KEY": "value"}',configInvalidJson:"Invalid JSON Formato",configSaved:"Configuracao saved",emptyStateBadge:"Novo workspaces Iniciar empty",emptyStateTitle:"This agent does not have any skills yet",emptyStateText:"This is expected. New workspaces do not come with skills automatically. Download skills from the local pool or create one here to equip this agent.",emptyStateDownload:"Baixar from Skill Pool",emptyStateCreate:"Criar First Skill",loadFailed:"Falhou to load Skills",refreshFailed:"Falhou to Atualizar Skills",createdSuccessfully:"Criado successfully",saveFailed:"Falhou to Salvar",importFailed:"Importar Falhou",disabledSuccessfully:"Desativado successfully",enabledSuccessfully:"Ativado successfully",operationFailed:"Operation Falhou",provideUrl:"Please provide a hub skill URL",validUrl:"Please enter a valid URL starting with http:// or https://",importedSkill:"Imported skill: {{name}}",batchOperation:"Batch Operation",exitBatch:"Exit Batch",noSearchResults:"No skills found matching your search",filterByTag:"Filtrar by tag",noTags:"Na
199o Tags available",enabledSkills:"Skills Ativadas",disabledSkills:"Skills Desativadas",active:"ativas"},u_={description:"Shared local skill pool for built-in skills and workspace uploads. External hub imports such as ClawHub or LobeHub are separate.",broadcast:"Broadcast to Agentes",broadcastHint:"Broadcast skills to selected agents",refreshHint:"Refresh skill pool from disk",deleteExternalConfirm:"Exclui os arquivos da skill externa em {{path}} do disco.",deleteExternalBatchWarning:"As skills externas selecionadas serão excluÃdas permanentemente do disco.",broadcastTitle:"Broadcast {{name}}",automation:"Automação",builtinAutoUpdate:"Atualização automática",builtinAutoUpdateFlow:"Pacote integrado â Pool de skills",autoSyncFlow:"Pool de skills â Espaços de trabalho dos agentes",automationBoth:"Atualização + sincronização automáticas",automationMixedHint:"Abra os detalhes para escolher atualização automática ou sincronização automática.",automationEnableHint:"Ative a atualização e a sincronização automáticas.",automationDisableHint:"Desative a atualização e a sincronização automáticas.",automationEnabled:"Atualização e sincronização automáticas ativadas para {{name}}",automationDisabled:"Atualização e sincronização automáticas desativadas para {{name}}",automationFailed:"Falha ao atualizar as configurações de automação",automationNeedsAttention:"Configurações salvas. {{count}} item(ns) exigem atenção; veja a Caixa de entrada.",autoSync:"Sincronização automática",autoSyncEnableHint:"Ative a sincronização automática.",autoSyncDisableHint:"Desative a sincronização automática.",autoSyncEnabled:"Sincronização automática ativada para {{name}}",autoSyncDisabled:"Sincronização automática desativada para {{name}}",autoSyncAgentsPlaceholder:"Todos os agentes com esta skill",autoSyncAgentsHint:"Deixe em branco para sincronizar as cópias existentes ou selecione agentes especÃficos.",importBuiltin:"Atualizar Integrado Skills",importBuiltinHint:"Update built-in skills to the latest version",importBuiltinAlertHint:"{{count}} built-in changes need review",importBuiltinSuccess:"Built-ins imported: {{names}}",importBuiltinConflicts:"Skipped due to name conflicts: {{names}}",importBuiltinNoChanges:"No built-in changes to import",importBuiltinFailed:"Integrado Importar Falhou",importBuiltinConflictTitle:"Builtin conflicts detected",importBuiltinConflictContent:"The following built-ins differ from the current pool copy. Confirm to overwrite them from source.",sourceVersion:"Origem Versao",currentVersion:"Atual Versao",builtinLanguage:"Idioma",langDefault:"Padrao",langDefaultTooltip:"Keep each skill in its current language",langEn:"English",langZh:"Chinese",builtinLanguageChangeTitle:"Switch built-in language?",builtinLanguageChangeContent:'Overwrite the pool copy of "{{name}}" with the {{language}} built-in version?',builtinLanguageChangeSuccess:'"{{name}}" switched to {{language}}',builtinLanguageChangeFailed:"Falha ao switch built-in Idioma",importStatusMissing:"Missing in pool",importStatusCurrent:"Already Atual",importStatusOutdated:"Outdated",importStatusLanguageSwitchTo:"Overwrite with the {{language}} version",importStatusConflict:"Conflict",builtinNoticeSummary:"{{count}} built-in changes detected",builtinNoticeLineAdded:"Added: {{names}}",builtinNoticeLineMissing:"Missing: {{names}}",builtinNoticeLineUpdated:"Updated: {{names}}",builtinNoticeLineRemoved:"Removed: {{names}}",zipImport:"ZIP Importar",create:"Criar",edit:"Editar",delete:"Excluir",descriptionLabel:"Descricao",tags:"Tags",tagsPlaceholder:"Select or type to add tags",tagTooLong:"Tag must be at most {{max}} characters",filterByTag:"Filtrar by tag",version:"Versao",createTitle:"Criar Skill Pool Item",editTitle:"Editar {{name}}",skillNamePlaceholder:"Skill Nome",contentPlaceholder:"SKILL.md Conteudo",nameConflict:"Name conflict detected. Suggested rename applied.",deletedFromPool:"Deleted from Skill pool",deleteBuiltinConfirm:"This removes the built-in skill from the pool. You can import it again later from source.",deleteConfirm:"This removes the skill from the shared local skill pool.",deleteTitle:"Excluir {{name}}?",batchDeleteTitle:"Excluir {{count}} pool skills?",batchDeleteSuccess:"{{count}} pool Skills deleted",batchDeletePartial:"{{deleted}} deleted, {{failed}} Falhou",batchDeleteFailed:"Batch Excluir Falhou",zipImportFailed:"ZIP Importar Falhou",externalHubHint:"External hub import is separate from the local Skill Pool.",imported:"Imported: {{names}}",noNewImports:"Nao Novo Skills imported",allBuiltin:"Todos Integrado",selectWorkspaces:"Broadcast to workspace(s)",allWorkspaces:"Todos Workspaces",optionalRename:"Opcional rename",back:"Voltar",skillCount:"{{count}} Skills",skillName:"Skill Nome",status:"Status",installedFrom:"Instalado de",updateBuiltin:"Atualizar",updateConfirmTitle:"Atualizar {{name}}",updateConfirmContent:"Update to version {{version}}? This will replace the current pool copy with the latest built-in version.",updateSuccess:"Atualizado successfully",updateFailed:"Atualizar Falhou",broadcastSuccess:"Broadcast Concluido",broadcastFailed:"Broadcast Falhou",overwriteConfirm:"Overwrite existing skills?",overwriteTargetsContent:"The following existing targets will be overwritten:",builtinOverwriteTargetsContent:"The following built-in targets have different versions and will be overwritten:",renameAndRetry:"A skill with this name already exists. Use the suggested name?",multiConflictTitle:"Multiple Conflicts Detected",multiConflictDesc:"The following skills already exist. Please resolve conflicts individually and retry:",singleConflictRename:'"{{name}}" already exists. Rename to "{{suggested}}" to proceed?',statusUpToDate:"Up-to-date",statusSynced:"Synced",statusOutdated:"Outdated",statusNotSynced:"Not synced",statusConflict:"Conflict",renameEntry:'Novo Nome for "{{name}}":',builtin:"Integrado",custom:"Personalizado"},p_={title:"MCP Clients",qwenpawManaged:"Gerenciado pelo QwenPaw",qwenpawManagedHint:"A configuração compartilhada do painel é injetada nos Agents de terceiros compatÃveis durante a execução.",providerManaged:"MCP local do {{provider}}",providerManagedHint:"Detectado na configuração do agente de terceiros; é somente leitura e exclusivo desse agente.",providerOnly:"Somente o agente de terceiros",readOnly:"Somente leitura",create:"Criar Client",formatSupport:"Supported formats",standardFormat:"Padrao (mcpServers wrapper)",directFormat:"Direct (key â config object)",singleFormat:"Single client (flat fields)",emptyState:"No MCP clients configured yet",loadError:"Falha ao load MCP clients",createSuccess:"MCP client Criado successfully",createError:"Falha ao Criar MCP client",updateSuccess:"MCP client Atualizado successfully",updateError:"Falha ao Atualizar MCP client",enableSuccess:"MCP client Ativado successfully",disableSuccess:"MCP client Desativado successfully",toggleError:"Falha ao toggle MCP client Status",deleteConfirm:"Are you sure you want to delete this MCP client?",deleteSuccess:"MCP client deleted successfully",deleteError:"Falha ao Excluir MCP client",maskedFieldHint:"Sensitive fields are masked with ***. In-place edits on masked values are not supported â replace with the full new value to modify.",tools:"Ferramentas e Permissões",noTools:"No tools available from this MCP server",toolsLoadError:"Failed to load tools from MCP server",toolsConnecting:"MCP server is still connecting, please try again in a moment",toolSchema:"Input Schema",access:{title:"Acesso",button:"Acesso",summary:"PolÃtica de acesso MCP",clientSection:"Acesso geral",toolSection:"Acesso à ferramenta",default:"Padrão",sourceType:"Origem",sourceValue:"Valor da origem",sourceValueAllChannels:"Todos os canais",subjectType:"Objeto",subjectValue:"Valor do objeto",effectLabel:"PolÃtica",source:{channel:"Canal"},subjectTypeOption:{all:"Todos",user:"Usuário"},sourceValuePlaceholder:{channel:"console / dingtalk"},subjectValuePlaceholder:"ex.: alice",subjectValuePlaceholderSelectedSource:"ID de usuário na origem selecionada",subjectValuePlaceholderScoped:"ID de usuário de {{source}}",subjectValueAll:"Todos",recentUserPlaceholder:"O ID de usuário é limitado à origem selecionada; digite ou selecione novamente",noRecentUsers:"Nenhum usuário recente para esta origem; digite um ID manualmente",ambiguousUserSourceWarning:"IDs de usuário são únicos apenas dentro da origem. Selecione um canal especÃfico para evitar correspondência entre canais.",unknownUserValueWarning:"Este ID de usuário não está nos usuários ativos recentes. Ainda é possÃvel salvar.",validation:{missingUserValue:"Selecione uma origem especÃfica e informe um ID de usuário válido.",ambiguousUserSource:"Regras de usuário devem mirar um canal especÃfico, não todos os canais.",unknownUserValue:"Este ID de usuário não está nos usuários ativos recentes. Ainda é possÃvel salvar."},addRule:"Adicionar regra",deleteRule:"Excluir regra",noClientRules:"Nenhuma regra",noRules:"Nenhuma regra, usa a polÃtica padrão",inherit:"Herdar ({{effect}})",stale:"Não encontrado",disabledTools:"Este cliente MCP está desativado; as regras de acesso salvas ainda podem ser editadas.",discardTitle:"Descartar alterações não salvas?",discardContent:"As alterações não salvas da polÃtica de acesso serão perdidas.",loadError:"Falha ao carregar polÃtica de acesso MCP",saveSuccess:"PolÃtica de acesso MCP salva",saveError:"Falha ao salvar polÃtica de acesso MCP",unmanagedRules:"{{count}} regra(s) avançada(s)",effect:{allow:"Permitir",ask:"Perguntar",deny:"Negar"}},tab:{json:"Importação JSON",form:"Modo formulário"},form:{key:"Chave do cliente",keyPlaceholder:"my-mcp-server",keyRequired:"A chave do cliente é obrigatória",name:"Nome de exibição",namePlaceholder:"My MCP Server",n
199ameRequired:"O nome de exibição é obrigatório",transport:"Transporte",url:"URL do servidor",urlRequired:"A URL é obrigatória para servidores MCP remotos",command:"Comando",commandRequired:"O comando é obrigatório para transporte stdio",args:"Argumentos (separados por espaço ou nova linha)",description:"Descrição",descriptionPlaceholder:"Descrição opcional",env:"Variáveis de ambiente",envPlaceholder:"KEY=VALUE (uma por linha)"},oauth:{enableOAuth:"Usar autorização OAuth",manage:"OAuth",authorized:"Autorizado",notAuthorized:"Não autorizado",expired:"Token expirado",failed:"Falha na autorização",waiting:"Aguardando autorização...",authorize:"Autorizar",reauthorize:"Reautorizar",revoke:"Revogar",startFailed:"Falha ao iniciar fluxo OAuth",authFailed:"Falha na autorização OAuth",popupBlocked:"O popup foi bloqueado pelo navegador. Permita popups e tente novamente.",windowClosed:"Janela de autorização fechada. Tente novamente.",noUrl:"Insira a URL do servidor primeiro",noClientKey:"Crie o cliente primeiro",showAdvanced:"Opções avançadas",hideAdvanced:"Ocultar opções avançadas",clientId:"Client ID (opcional)",clientIdPlaceholder:"Deixe em branco para usar registro dinâmico",scope:"Scope (opcional)",scopePlaceholder:"openid profile email",authEndpoint:"Authorization Endpoint (substituir)",tokenEndpoint:"Token Endpoint (substituir)",endpointHint:"Deixe em branco para descoberta automática do servidor MCP."}},m_={title:"Batimento",description:"Execute HEARTBEAT.md em intervalo fixo para autoverificações. Por padrão roda em silêncio sem afetar conversas atuais; opcionalmente envie respostas ao último canal de chat.",enabled:"Ativar heartbeat",every:"Intervalo",everyRequired:"Obrigatório",everyMin:"Deve ser no mÃnimo 1",timeoutSeconds:"Tempo limite de execução (segundos)",timeoutRequired:"Obrigatório",timeoutMin:"Deve ser no mÃnimo 1",timeoutMax:"Deve ser no máximo 3600",unitMinutes:"Minutos",unitHours:"Horas",target:"Destino da resposta",targetMain:"Modo silencioso (padrão, sem saÃda no canal)",targetLast:"Enviar para o último canal de chat",activeHours:"Horário ativo (opcional)",activeStart:"Hora de inÃcio",activeEnd:"Hora de término",loadFailed:"Falha ao carregar configuração do heartbeat",saveSuccess:"Salvo com sucesso; heartbeat recarregado em tempo real",saveFailed:"Falha ao salvar configuração do heartbeat",targetInbox:"Enviar para o Inbox",runNow:"Executar agora",runNowSuccess:"Heartbeat disparado. Verifique o Inbox ou o canal de destino em instantes.",runNowFailed:"Falha ao disparar execução do heartbeat"},h_=JSON.parse(`{"title":"Tarefas Cron","description":"Crie e gerencie tarefas agendadas executadas automaticamente nos horários definidos.","createJob":"Criar job","editJob":"Editar job","confirmDelete":"Confirmar exclusão","deleteConfirm":"Tem certeza de que deseja excluir este Cron Job?","okText":"OK","cancelText":"Cancelar","deleteText":"Excluir","id":"ID do job","name":"Nome do job","enabled":"Estado","scheduleType":"Tipo de agendamento","scheduleCron":"Agendamento (Cron)","scheduleCronLabel":"Agendamento (Cron)","scheduleTimezone":"Fuso horário","cronType":"Frequência","cronTypeHourly":"A cada hora","cronTypeDaily":"Diário","cronTypeWeekly":"Semanal","cronTypeCustom":"Personalizado","cronTime":"Horário","cronDaysOfWeek":"Dias da semana","cronDayMon":"Segunda-feira","cronDayTue":"Terça-feira","cronDayWed":"Quarta-feira","cronDayThu":"Quinta-feira","cronDayFri":"Sexta-feira","cronDaySat":"Sábado","cronDaySun":"Domingo","cronCustomExpression":"Expressão Cron","taskText":"Conteúdo da mensagem","action":"Ação","disable":"Desativar","executeNow":"Executar agora","edit":"Editar","delete":"Excluir","totalItems":"Total de {{count}} itens","perPage":"/ página","pleaseInputId":"Informe o ID do job","pleaseInputName":"Informe o nome do job","pleaseInputCron":"Informe a expressão cron","pleaseSelectTaskType":"Selecione o tipo de tarefa","pleaseInputRequest":"Informe o conteúdo da requisição","pleaseInputMessageContent":"Informe o conteúdo da mensagem","pleaseInputChannel":"Informe o canal de destino","pleaseInputUserId":"Informe o ID do usuário de destino","pleaseInputSessionId":"Informe o ID da sessão de destino","jobIdPlaceholder":"ex.: daily-report-job","jobNamePlaceholder":"ex.: Relatório matinal diário","selectTimezone":"Selecionar fuso horário","taskDescriptionPlaceholder":"Para tarefas de texto simples, digite o corpo da mensagem a enviar...","invali
199dJsonFormat":"Formato JSON inválido","jsonFormatRequired":"Formato JSON obrigatório","taskType":"Tipo de tarefa","text":"Conteúdo da mensagem","requestInput":"Conteúdo da requisição","requestSessionId":"ID da sessão da requisição","requestUserId":"ID do usuário da requisição","dispatchChannel":"Canal de destino","dispatchTargetUserId":"ID do usuário de destino","dispatchTargetSessionId":"ID da sessão de destino","dispatchMode":"Modo de entrega","silentDelivery":"Entrega silenciosa","runtimeMaxConcurrency":"Concorrência máxima","runtimeTimeoutSeconds":"Tempo limite (segundos)","runtimeMisfireGraceSeconds":"Tolerância de execução perdida (segundos)","runtimeToolSafety":"Verificação de aprovação de ferramentas","idTooltip":"Gerado pelo sistema, não editável: UUID único atribuÃdo na criação da tarefa.","nameTooltip":"Um nome amigável para identificar este job.","cronTooltip":"Define quando a tarefa deve ser executada","cronExample":"Exemplos comuns: '0 9 * * *' = 9h diariamente | '*/30 * * * *' = a cada 30 min | '0 */2 * * *' = a cada 2 horas | '0 0 * * 0' = meia-noite de domingo","cronHelper":"Novo em expressões Cron?","cronHelperLink":"Usar gerador online","timezoneTooltip":"Fuso horário do agendamento cron. Padrão: UTC","taskTypeTooltip":"Escolha 'text' para mensagens simples ou 'agent' para fluxos complexos com agente.","textTooltip":"Tarefa de mensagem simples: este é o corpo da mensagem. Obrigatório quando o tipo é 'text'.","requestInputTooltip":"Conteúdo da mensagem em JSON. à o que o agente receberá e processará. Obrigatório quando o tipo é 'agent'.","requestInputExample":"Formato: [{\\"role\\":\\"user\\",\\"content\\":[{\\"type\\":\\"text\\",\\"text\\":\\"Sua mensagem aqui\\"}]}]","requestSessionIdTooltip":"ID da sessão para o contexto da requisição. Use 'default' se não tiver certeza.","requestUserIdTooltip":"ID do usuário que inicia a requisição. Use 'system' para tarefas automatizadas.","dispatchChannelTooltip":"Canal de destino onde a resposta será enviada (ex.: 'console', 'discord', 'imessage').","dispatchTargetUserIdTooltip":"ID do usuário que receberá a resposta no canal de destino.","dispatchTargetSessionIdTooltip":"ID da sessão em que a resposta será entregue no canal de destino.","dispatchModeTooltip":"Escolha 'stream' para respostas em tempo real ou 'final' apenas para respostas completas.","silentDeliveryTooltip":"Executa a tarefa do agente e mantém a sessão e o rastreamento, mas não envia o resultado ao canal.","maxConcurrencyTooltip":"Número máximo de execuções simultâneas deste job. Padrão: 1","timeoutSecondsTooltip":"Tempo máximo de execução em segundos. O job será encerrado se ultrapassar.","misfireGraceSecondsTooltip":"PerÃodo de tolerância para execuções perdidas. Se o job atrasar mais que isso em relação ao horário agendado, não será executado.","toolSafetyTooltip":"Quando ativado, chamadas de ferramentas de risco requerem aprovação do usuário (pode bloquear jobs cron sem supervisão). Quando desativado, as chamadas não pedem aprovação; as regras do File Guard continuam válidas. Padrão: desativado","executeNowTitle":"Executar tarefa agora","executeNowContent":"Deseja executar \\"{{name}}\\" agora?","executeNowConfirm":"Executar agora","createFromTemplate":"Criar a partir de modelo","templateModalTitle":"Escolha um modelo de tarefa","templateModalDescription":"Escolha um modelo integrado e ajuste os principais parâmetros no painel antes de salvar.","useTemplate":"Usar modelo","templateTagPersonal":"Pessoal","templateTagTeam":"Equipe","templateTagReminder":"Lembrete","templateTagCalendar":"Calendário","templateTagCalendarRecommended":"Recomendado no calendário","saveResultToInbox":"Salvar resultado no Inbox","saveResultToInboxTooltip":"Quando ativado, execuções com entrega bem-sucedida ficam no Inbox. Falhas de entrega sempre são gravadas no Inbox como contingência.","scheduleFilterAll":"Todos os tipos de agendamento","scheduleTypeRecurring":"Recorrente","scheduleTypeOnce":"Agendada","onceRunAt":"Executar em","repeatEnabled":"Repetir","repeatEnabledTooltip":"Ativa agendamento recorrente a partir deste horário inicial","repeatFrequency":"Frequência de repetição","repeatEveryDays":"Repetir a cada (dias)","repeatEveryPrefix":"A cada","repeatEverySuffix":"dia(s)","repeatEndType":"Fim da repetição","repeatEndNever":"Nunca","repeatEndUntil":"Encerrar em data","repeatEndCount":"Contagem limitada","repeatUntil":"Data final","repeatCount":"Número de execuções","pleaseSelectScheduleType":"Selecione o tipo de agendamento","pleaseInputRunAt":"Selecione o horário de execução","pleaseInputRepeatEveryDays":"Informe o intervalo de repetição (dias)","pleaseSelectRepeatEndType":"Selecione a condição de término","pleaseInputRepeatUntil":"Selecione a data final","pleaseInputRepeatCount":"Informe o número de execuções","validation":{"cronRequired":"A expressão cron é obrigatória para agendamentos recorrentes.","runAtRequired":"O horário de execução é obrigatório para agendamentos únicos.","repeatUntilRequired":"Ao usar \\"Encerrar em data\\", selecione a data final.","repeatCountRequired":"Ao usar \\"Contagem limitada\\", informe o número de execuções.","repeatUntilAfterRunAt":"A data final deve ser posterior ao horário de execução. Escolha uma data final após o horário de execução.","textRequired":"O conteúdo da mensagem é obrigatório quando o tipo da tarefa é text.","requestRequired":"O conteúdo da requisição é obrigatório quando o tipo da tarefa é agent.","invali
199dCronExpression":"Expressão cron inválida. Use o formato cron de 5 campos."},"runtimeShareSession":"Compartilhar sessão","shareSessionTooltip":"Quando ativado, compartilha a sessão com o usuário de destino. Quando desativado, cada execução cria contexto isolado com ID de execução único. Adequado para tarefas independentes sem memória. Padrão: ativado","listView":"Lista","calendarView":"Calendário","calendarEmptyHint":"Ainda não há jobs agendados. Crie jobs agendados para vê-los no calendário.","calendarMoreItems":"+{{count}} a mais","calendarDayListTitle":"Jobs agendados em {{date}}","executionHistory":"Histórico","historyTitle":"Histórico â {{name}}","historyEmpty":"Ainda não há registros de execução.","historyStatusSuccess":"Sucesso","historyStatusFailed":"Falhou","historyStatusRunning":"Em execução","historyStatusCancelled":"Cancelado","historyTriggerScheduled":"Disparado pelo agendamento","historyTriggerManual":"Disparado manualmente","historyExpand":"Expandir","historyCollapse":"Recolher","templates":{"dailyTechNewsBrief":{"title":"Resumo diário de notÃcias de tecnologia","description":"Ãs 09:30 em dias úteis, compila manchetes em alta em um breve resumo.","frequency":"Dias úteis 09:30 (30 9 * * 1-5)"},"dailyEveningReflection":{"title":"Reflexão vespertina diária","description":"Ãs 20:00 em dias úteis, sugere uma reflexão rápida sobre o trabalho do dia.","frequency":"Dias úteis 20:00 (0 20 * * 1-5)"},"weekendRelaxationReminder":{"title":"Lembrete de descanso no fim de semana","description":"Nas manhãs de fim de semana, envia sugestões de filmes em alta para um descanso mais leve.","frequency":"Fins de semana 10:00 (0 10 * * 6,0)"},"pomodoroBreakReminder":{"title":"Lembrete de pausa Pomodoro","description":"No horário comercial, lembre a cada 25 minutos de se hidratar ou descansar os olhos.","frequency":"Dias úteis 09:00â17:59 a cada 25 min (*/25 9-17 * * 1-5)"},"petCareReminder":{"title":"Lembrete de vermifugação/vacina do pet","description":"No dia 15 de cada mês à noite, lembre sobre vermifugação ou retorno de vacina do pet.","frequency":"Mensalmente no dia 15 à s 20:00 (0 20 15 * *)"},"onceTextBirthdayReminder":{"title":"Lembrete de aniversário","description":"Lembrar que xx faz aniversário em 1º de janeiro.","frequency":"Execução: 2026-01-01 09:00"},"onceAgentBusinessTripPrep":{"title":"Preparação para viagem de trabalho","description":"Consultar o clima do destino e sugerir preparativos para a viagem.","frequency":"Execução: 2026-01-01 20:00"},"repeatCountTextMedicineReminder":{"title":"Lembrete de medicação (14 vezes)","description":"Lembrar de tomar o remédio no horário por um ciclo de 14 execuções.","frequency":"Primeira execução: 2026-01-01 09:00 | A cada 1 dia | 14 execuções"},"repeatCountAgentDietPlan":{"title":"Plano alimentar de 14 dias","description":"Gerar e enviar sugestões diárias de alimentação por 14 dias.","frequency":"Primeira execução: 2026-01-01 08:00 | A cada 1 dia | 14 execuções"},"repeatUntilTextWeeklyMeeting":{"title":"Lembrete de reunião semanal (2 meses)","description":"Enviar lembrete semanal da reunião até a data limite configurada.","frequency":"Primeira execução: 2026-01-02 08:45 | A cada 7 dias | Até 2026-03-01"},"repeatUntilAgentWeeklySummary":{"title":"Resumo semanal antes da reunião","description":"Antes de cada reunião semanal, gerar um resumo de trabalho com base na memory da última semana.","frequency":"Primeira execução: 2026-01-02 08:30 | A cada 7 dias | Até 2026-03-01"}}}`),g_=JSON.parse(`{"title":"Canais","description":"Manage and configure message channels","loading":"Carregando channels...","configSaved":"Configuracao saved successfully","configFailed":"Falhou to Salvar Configuracao","botConflictTitle":"Bot já está em uso","botConflictDescription":"Este Bot já está sendo usado por {{agents}} no mesmo canal. Salvar mesmo assim pode causar conflitos de mensagens.","botConflictConfirm":"Salvar mesmo assim","channelType":"Channel Tipo","status":"Status","totalItems":"Total {{count}} items","botPrefix":"Bot Prefix","showToolCalls":"Mostrar Informações de Chamada de Ferramenta","showToolCallsTooltip":"Mostrar informações de chamada de ferramenta aos usuários (desative para ocultar)","showToolResults":"Mostrar Informações do Resultado da Ferramenta","showToolResultsTooltip":"Mostrar informações do resultado da ferramenta aos usuários (desative para ocultar)","toolCallMaxLength":"Comprimento Máximo de Exibição da Chamada de Ferramenta","toolResultMaxLength":"Comprimento Máximo de Exibição do Resultado da Ferramenta","toolMaxLengthTooltip":"Defina como 0 para não limitar o comprimento","onebotMediaBase64":"Enviar mÃdia local como Base64","onebotMediaBase64Tooltip":"Escolha como os arquivos de mÃdia são enviados. Quando desativado, o caminho do arquivo é enviado; quando ativado, o arquivo é codificado em Base64. URLs remotas permanecem inalteradas.","onebotMediaBase64MaxMb":"Limite de tamanho do arquivo Base64","onebotMediaBase64MaxMbTooltip":"Arquivos de mÃdia acima deste limite são enviados usando o caminho original do arquivo.","onebotMediaBase64MaxMbRequired":"Informe o limite de tamanho do arquivo Base64","onebotMediaBase64MaxMbMin":"O limite de tamanho do arquivo Base64 deve ser de pelo menos 1 MB","onebotMediaDir":"Diretório de mÃdia","onebotMediaDirTooltip":"Diretório usado para armazenar a mÃdia baixada. Por padrão, usa o diretório media no workspace do agente.","onebotMediaDownloadMaxMb":"Limite de tamanho da mÃdia recebida","onebotMediaDownloadMaxMbTooltip":"Tamanho máximo de cada imagem, áudio, vÃdeo ou arquivo baixado do OneBot.","onebotMediaDownloadMaxMbRequired":"Informe o limite de tamanho da mÃdia recebida","onebotMediaDownloadMaxMbMin":"O limite de tamanho da mÃdia recebida deve ser de pelo menos 1 MB","onebotWsHostTooltip":"Endereço de escuta do servidor WebSocket reverso. Mantenha 127.0.0.1 para que apenas clientes OneBot nesta máquina possam conectar. Qualquer outro endereço expõe a porta à rede e exige um token de acesso.","onebotAccessTokenTooltip":"Token compartilhado que o cliente OneBot envia no cabeçalho Authorization. Obrigatório quando o endereço de escuta não é um endereço de loopback.","onebotAccessTokenRequired":"Um token de acesso é obrigatório quando o host do WebSocket não é um endereço de loopback","showThinking":"Mostrar Thinking","showThinkingTooltip":"Show model thinking/reasoning content to users (turn off to hide)","noTextDebounce":"Debounce sem texto","noTextDebounceTooltip":"Quando ativado, mensagens apenas com mÃdia (imagem/vÃdeo/arquivo) são armazenadas em buffer até que uma mensagem de texto chegue, depois mescladas. Desative para processar todas as mensagens imediatamente. Mensagens de voz são sempre processadas imediatamente.","streamingEnabled":"SaÃda em Streaming","streamingEnabledDingtalkHint":"Apenas efetivo quando o tipo de mensagem é Card","streamingEnabledFeishuHint":"Requer habilitar a permissão cardkit:card:write na página de gerenciamento de permissões da Plataforma Aberta Feishu","ackMessage":"Acknowledgment Message","ackMessageTooltip":"Send an instant reply when a message is received, before agent processing begins. Leave empty to disable.","ackMessagePlaceholder":"â³ Processing...","notSet":"Nao definido","clickCardToEdit":"Click card to Editar","settings":"Configuracoes","channelSettings":"Channel Configuracoes","pleaseInputDbPath":"Please input DB Caminho","pleaseInputPollInterval":"Please input poll interval","discordBotToken":"Discord bot token","acceptBotMessages":"Accept Bot Messages","acceptBotMessagesTooltip":"When enabled, messages from other bots will be accepted","httpProxyPlaceholder":"http://127.0.0.1:18118","httpProxyAuthPlaceholder":"user:password","dbPathPlaceholder":"~/Library/Messages/chat.db","botPrefixPlaceholder":"@bot","dmPolicy":"DM Policy","dmPolicyTooltip":"Control who can interact with the bot via direct message. Open: everyone; Allowlist: authorized users only","groupPolicy":"Group Policy","groupPolicyTooltip":"Control who can interact with the bot in group chats. Open: everyone; Allowlist: authorized users only","requireMention":"Require @Mention","requireMentionTooltip":"When enabled, bot only responds in group chats when explicitly @mentioned","policyOpen":"Abrir","policyAllowlist":"Allowlist","allowFrom":"Allowlist Users","allowFromTooltip":"List of user IDs allowed to interact with the bot. Enable allowlist first, then DM the bot to see your ID in the deny message","allowFromPlaceholder":"Enter user ID and press Enter to add","denyMessage":"Access Denied Message","denyMessageTooltip":"Custom message shown to users when access is denied","twilioAccountSid":"Twilio Account SID","twilioAuthToken":"Twilio Auth Token","phoneNumber":"Phone Number","phoneNumberSid":"Phone Number SID","phoneNumberSidHelp":"Found under Phone Numbers â Active Numbers in the Twilio Console.","ttsProvider":"TTS Provedor","ttsVoice":"TTS Voice","sttProvider":"STT Provedor","language":"Idioma","welcomeGreeting":"Welcome Greeting","
199welcomeText":"Welcome Message","welcomeTextTooltip":"Message automatically sent when a user enters a single chat session with the bot for the first time that day","welcomeTextPlaceholder":"e.g. Hello! I'm QwenPaw. How can I help you?","loginWeCom":"Get WeCom QR Code","wecomSetupGuide":"When creating a bot via QR code, please select \\"Skip Authorization\\" when asked to authorize bot capabilities. If you select \\"Confirm Authorization\\", users other than the bot creator may not be able to interact with the bot.","wecomScanAuth":"Scan to Authorize","wecomAuthHint":"Scan the QR code above with WeCom to authorize. Bot ID and Secret will be filled in automatically.","wecomAuthSuccess":"WeCom bot authorized. Bot ID and Secret have been filled in.","wecomQrcodeFailed":"Failed to get WeCom QR code. Please try again.","slackBotToken":"Bot Token","slackBotTokenTooltip":"Slack Bot User OAuth Token, começa com xoxb-","slackAppToken":"App Token","slackAppTokenTooltip":"Slack App-Level Token para Socket Mode, começa com xapp-","slackProxyTooltip":"URL de proxy HTTP para conectar à API do Slack","dingtalkSetupGuide":"Scan the QR code with DingTalk to create a bot instantly. A DingTalk app will be created automatically and Client ID / Client Secret will be filled in.","dingtalkScanAuth":"Scan to Criar Bot","dingtalkGetQrcode":"Get DingTalk QR Code","dingtalkScanHint":"Scan the QR code above with DingTalk. Client ID and Client Secret will be filled in automatically after authorization.","dingtalkAuthSuccess":"DingTalk bot created. Client ID and Client Secret have been filled in.","dingtalkQrcodeFailed":"Failed to get DingTalk QR code. Please try again.","dingtalkQrcodeExpired":"QR code expired, please get a new one.","qqSetupGuide":"Use o QQ para escanear o código QR e autorizar o bot. Após escanear o código, o APP ID e o Client Secret serão obtidos automaticamente e preenchidos.","qqScanAuth":"Escanear o código QR para autorizar o bot","qqGetQrcode":"Obter o código QR do QQ","qqScanHint":"Use o QQ para escanear o código QR acima. Após concluir a autorização, o APP ID e o Client Secret serão preenchidos automaticamente.","qqAuthSuccess":"A autorização do bot do QQ foi bem-sucedida. O APP ID e o Client Secret já foram preenchidos automaticamente.","qqQrcodeFailed":"Falha ao obter o código QR do QQ. Tente novamente mais tarde","qqQrcodeExpired":"O código QR expirou. Obtenha-o novamente","atSenderOnReply":"@ Sender Ligado Reply","atSenderOnReplyTooltip":"When enabled, the bot will @mention the sender in its first reply message in group chats. Note: In card mode, @mention only works for enterprise internal members.","dingtalkEndpoint":"API Endpoint","dingtalkEndpointTooltip":"Endpoint de API personalizado para implantações privadas do DingTalk. Deixe em branco para usar o padrão oficial.","cardAutoLayout":"Cartão em tela ampla (layout automático)","cardAutoLayoutTooltip":"Quando ativado, o DingTalk renderiza cartões de IA em tela ampla no desktop. Aplica-se apenas quando o tipo de mensagem é card. O modelo do cartão deve estar publicado.","wecomCancelled":"Autorizacao cancelled","wecomAuthFailed":"Autorizacao failed: {{msg}}","voiceSetupGuide":"Set up a Twilio account, purchase a phone number, then enter your credentials below. Find your Account SID and Auth Token on the Twilio Console dashboard. The Phone Number SID is listed under Phone Numbers â Active Numbers.","voiceSetupLink":"Abrir Twilio Console","sipSetupGuide":"Configure a SIP registrar (e.g. Asterisk, FreeSWITCH) and enter your SIP credentials below. In Dev mode, pyVoIP handles SIP/RTP locally. In Production mode, LiveKit SIP Server is used.","sipMode":"SIP Modo","sipModeTooltip":"Dev: pure-Python pyVoIP for local testing. Production: LiveKit SIP Server for high concurrency.","sipServer":"SIP Server","sipServerPlaceholder":"Leave empty to use built-in registrar","sipServerPlaceholderLivekit":"Not needed for LiveKit mode","sipUsername":"SIP Username","sipPassword":"SIP Password","sipPort":"SIP Port","sipTransport":"Transport","sipDashscopeApiKey":"DashScope API Chave","sipDashscopeApiKeyTooltip":"API key for Aliyun DashScope STT/TTS. If empty, falls back to the DASHSCOPE_API_KEY environment variable.","livekitUrl":"LiveKit URL","livekitApiKey":"LiveKit API Chave","livekitApiSecret":"LiveKit API Secret","livekitSipTrunkId":"LiveKit SIP Trunk ID","livekitRoomName":"LiveKit Room Nome","livekitRoomNameTooltip":"The LiveKit room name to join and wait for SIP calls. Must match the room name in your SIP Dispatch Rule.","xiaoyiSetupGuide":"Please create an agent on Huawei Developer Platform and get AK/SK and Agent ID. AK/SK can be found in the credential management page.","filterAll":"Todos","builtin":"Integrado","custom"
199:"Personalizado","feishuRegion":"Region","feishuRegionTooltip":"Choose Feishu for China or Lark for International","feishuChina":"Feishu (China)","feishuInternational":"Lark (International)","feishuScanGuide":"Scan the QR code with Feishu to create a bot instantly. A Feishu app will be created automatically and App ID / App Secret will be filled in.","feishuScanLogin":"Scan to Criar Bot","feishuGetQrcode":"Get Feishu QR Code","feishuScanHint":"Scan the QR code above with Feishu. App ID and App Secret will be filled in automatically after authorization.","feishuAuthSuccess":"Feishu bot created. App ID and App Secret have been filled in.","feishuQrcodeExpired":"QR code expired, please get a new one.","feishuQrcodeFailed":"Failed to get Feishu QR code. Please try again.","wechatSetupGuide":"WeChat personal account Bot (iLink protocol). On first start without a Bot Token, a QR code login URL will be printed; scan to authorize. The token is saved locally for future use.","wechatContextTokenLimit":"WeChat iLink platform limitation: each user message's context_token allows a maximum of 10 reply messages. This is a hard limit enforced by the platform. It is recommended to disable thinking and tool output, or enable Message Merge to avoid exceeding the limit and causing message send failures.","wechatBotToken":"Bot Token","wechatBotTokenTooltip":"Bearer token obtained after QR code login. Leave empty to trigger QR code login on startup.","wechatBotTokenPlaceholder":"Auto-filled after QR login, or paste manually","wechatBotTokenFile":"Token File Caminho","wechatBotTokenFileTooltip":"Path to persist the bot token. Defaults to ~/.qwenpaw/wechat_bot_token","wechatMediaDir":"Media Directory","wechatMessageMerge":"Message Merge","wechatMessageMergeTooltip":"Merge multiple reply messages into fewer messages to avoid hitting the WeChat 10-message limit per context_token. When enabled with delay 0, all text replies are merged into a single message sent at the end. A positive delay (in ms) merges adjacent messages within that time window.","wechatMessageMergeDelayMs":"Merge Delay (ms)","wechatMessageMergeDelayMsTooltip":"Time window for adjacent message merging. Set to 0 to merge all messages into one final reply. A positive value (e.g. 1000) will buffer messages for that duration before sending.","wechatMessageMergeDelayMsValidation":"Digite a valid non-negative integer","wechatScanLogin":"Scan to Login","wechatGetQrcode":"Get Login QR Code","wechatScanHint":"Scan the QR code with WeChat, then click Save","wechatQrcodeFailed":"Failed to fetch QR code, please try again","wechatLoginSuccess":"WeChat login successful, token has been filled in","wechatQrcodeExpired":"QR code expired, please get a new one","shareSessionInGroup":"Compartilhar Contexto em Grupo","shareSessionInGroupTooltip":"Quando ativado, todos os membros do grupo compartilham o mesmo contexto de conversa. Quando desativado, cada membro tem seu próprio contexto independente.","accessControlEnabled":"Controle de Acesso","accessControlEnabledTooltip":"Quando ativado, apenas usuários na lista branca podem interagir com o bot. Usuários desconhecidos receberão seu ID e serão adicionados à lista de aprovação pendente.","accessControlDm":"Controle de Acesso em DM","accessControlDmTooltip":"Quando ativado, apenas usuários na lista branca podem interagir com o bot em mensagens diretas","accessControlGroup":"Controle de Acesso em Grupo","accessControlGroupTooltip":"Quando ativado, apenas usuários na lista branca podem interagir com o bot em chats de grupo","dmDisabled":"Desativar DM","dmDisabledTooltip":"Quando ativado, o bot ignorará completamente todas as mensagens diretas","groupDisabled":"Desativar Grupo","groupDisabledTooltip":"Quando ativado, o bot ignorará completamente todas as mensagens de grupo","manageAccessControl":"Controle de Acesso","pendingApprovals":"Aprovações Pendentes","whitelist":"Lista Branca","blacklist":"Lista Negra","addUser":"Adicionar","addUserPlaceholder":"Digite o ID do usuário","userId":"ID do Usuário","username":"Nome de usuário","channel":"Canal","firstMessage":"Primeira Mensagem","time":"Hora","actions":"Ações","approve":"Lista Branca","deny":"Lista Negra","dismiss":"Dispensar","noWhitelistUsers":"Nenhum usuário na lista branca","noBlacklistUsers":"Nenhum usuário na lista negra","noPendingApprovals":"Nenhuma aprovação pendente","userAdded":"Usuário adicionado","userRemoved":"Usuário removido","approveSuccess":"Adicionado à lista branca","denySuccess":"Adicionado à lista negra","dismissSuccess":"Dispensado","operationFailed":"Operação falhou","remark":"Observação","usernamePlaceholder":"Digite o nome de usuário (opcional)","remarkPlaceholder":"Digite uma observação (opcional)","filterByChannel":"Filtrar por c
199anal","selectToOperate":"Selecione itens para operar","selectedCount":"{{count}} selecionados","batchApprove":"Aprovar","batchDeny":"Lista negra","batchDismiss":"Remover","batchApproveConfirm":"Aprovar {{count}} usuários?","batchDenyConfirm":"Adicionar {{count}} usuários à lista negra?","batchDismissConfirm":"Remover {{count}} usuários?","batchSuccess":"{{count}} usuários processados com sucesso","batchRemove":"Excluir","batchRemoveConfirm":"Excluir {{count}} usuários selecionados?","enabledSection":"Ativados","enabledCount":"{{count}}","availableSection":"DisponÃveis","enableAction":"Ativar","noEnabledChannels":"Nenhum canal ativado","goEnableChannels":"Ativar canais"}`),f_={title:"Sessoes",description:"View and manage active chat sessions",loading:"Carregando sessions...",confirmDelete:"Confirmar Excluir",deleteConfirm:"Are you sure you want to delete this session?",batchDeleteConfirm:"Are you sure you want to delete selected {{count}} sessions?",deleteSuccess:"Session deleted successfully",deleteFailed:"Falhou to Excluir session",batchDeleteSuccess:"Successfully deleted {{count}} session(s)",batchDeleteFailed:"Falha ao batch Excluir Sessoes",saveSuccess:"Session saved successfully",saveFailed:"Falhou to Salvar session",batchDeleteButton:"Batch Excluir",filterTitle:"Filtrar por TÃtulo",filterUserId:"Filtrar by Usuario ID",filterChannel:"Filtrar by Channel",allChannels:"Todos Canais",totalItems:"Total {{count}} items",selectedItems:"Selecionado {{count}} items",editSession:"Editar Session",pleaseInputName:"Please input session Nome",sessionNamePlaceholder:"Session Nome",activeTab:"Ativas",archivedTab:"Arquivadas",archivedAtColumn:"Arquivado em",archive:{action:"Arquivar",unaction:"Desarquivar",batchAction:"Arquivar em lote",batchUnaction:"Desarquivar em lote",success:"Conversa arquivada",successHint:"Conversa arquivada. Veja em Controle > Sessões > Arquivadas.",failed:"Falha ao arquivar",unarchiveSuccess:"Conversa desarquivada",unarchiveFailed:"Falha ao desarquivar",batchSuccess:"{{count}} conversa(s) arquivada(s)",batchFailed:"Falha ao arquivar em lote",batchUnarchiveSuccess:"{{count}} conversa(s) desarquivada(s)",batchUnarchiveFailed:"Falha ao desarquivar em lote",groupLabel:"Arquivadas ({{count}})",modalTitle:"Conversas Arquivadas",unarchiveAll:"Desarquivar Todas",noArchived:"Nenhuma conversa arquivada"}},b_={parent:"Configuracoes",environments:"Variaveis de Ambiente",title:"Variaveis de Ambiente",description:"Configure key-value environment variables for agents and skills.",key:"Chave",value:"Value",variableNamePlaceholder:"VARIABLE_NAME",valuePlaceholder:"value",insertRowBelow:"Insert row below",deleteRow:"Excluir row",deleteVariable:"Excluir Variable",deleteConfirm:'Excluir "{{name}}"?',deleteSelected:"Excluir Selecionado",deleteSelectedConfirm:"Excluir {{label}}?",keyRequired:"Chave is Obrigatorio",invalidKeyFormat:"Invalid Chave Formato",duplicateKey:"Duplicate Chave",saveSuccess:"Environment variables saved",saveFailed:"Falhou to Salvar",deleteSuccess:'"{{name}}" deleted',deleteFailed:"Falhou to Excluir",noVariables:"No environment variables configured yet.",addVariable:"Adicionar Variable",loading:"Loadingâ¦",retry:"Tentar novamente",of:"of",selected:"Selecionado",variable:"variable",variables:"variables",showValue:"Mostrar value",hideValue:"Ocultar valor",searchPlaceholder:"Buscar variáveis",liveSettings:"Configurações em tempo real",noLiveVariables:"Nenhuma configuração em tempo real corresponde ao filtro.",customSettings:"Variáveis personalizadas",noCustomVariables:"Nenhuma variável personalizada adicionada.",editVariable:"Editar variável",applyNow:"Aplicar agora",applyHint:"O processo atual do QwenPaw é atualizado imediatamente. Processos MCP em execução precisam ser recarregados.",applied:"Variável de ambiente aplicada",appliedWithFailures:"Salvo, mas {{count}} processo(s) MCP não puderam ser recarregados",resetVariable:"Redefinir variável",resetSuccess:"Valor do sistema ou padrão restaurado",readonlySettings:"Configurações somente leitura",noReadonlyVariables:"Nenhuma configuração somente leitura corresponde ao filtro.",impactTitle:"Impacto nos processos",explicitConsumers:"{{count}} processo(s) MCP usam esta variável explicitamente",implicitConsumers:"{{count}} processo(s) stdio MCP podem herdá-la implicitamente",restartMode:"Processos MCP em execução",restartAffected:"Recarregar MCPs afetados",restartNone:"Não recarregar",restartAllStdio:"Recarregar todos os MCPs stdio",readonlyReason:{startup:"Definido quando o QwenPaw inicia",agent_owned:"Gerenciado pela configuração de cada Agent",initial_default:"Usado apenas como padrão
199inicial do Agent"},mutabilityDescription:{hot_runtime:"Lido do processo QwenPaw atual no inÃcio de cada operação.",hot_process:"DisponÃvel por os.getenv() e herdado por futuros subprocessos.",startup_only:"Somente para referência; não pode ser alterado durante a execução.",internal:"Gerenciado internamente pelo QwenPaw."},variableDescriptions:{QWENPAW_LLM_STREAM_FIRST_CONTENT_TIMEOUT:"Espera máxima pelo primeiro conteúdo relevante do stream; zero desativa o monitoramento.",QWENPAW_LLM_STREAM_IDLE_TIMEOUT:"Espera máxima entre partes relevantes do stream; zero desativa o monitoramento."},source:{user:"QwenPaw",system:"Sistema",default:"Padrão"}},k_={selectModel:"Selecionar Modelo",noConfiguredModels:"Nenhum modelo configurado",noFreeModels:"Nenhum modelo gratuito disponÃvel",switchFailed:"Falha ao trocar modelo",searchModels:"Buscar modelos...",noModelsFound:"Nenhum modelo encontrado",free:"Grátis",vision:"Visão",freeBannerText:"Modelos gratuitos podem ter limites de uso e instabilidade. Consulte o provedor para detalhes.",moreProviders:"Mais provedores gratuitos (requer API Key)",proBannerText:"Exibindo modelos configurados em Configurações.",connectToUse:"Conectar {{provider}} para modelos gratuitos",configureApiKey:"Configurar API Key do {{provider}} para modelos gratuitos",configureApiKeyTitle:"Ir para Configuração",configureApiKeyConfirm:"Você será redirecionado para a página de Modelos para configurar a API Key do {{provider}}. Continuar?",goToConfigure:"Ir para Configurar",noModelsDiscovered:"Conectado. Carregando modelos...",oauthTitle:"Conectar ao {{provider}}",oauthDescription:"Uma nova janela do navegador será aberta para autorizar o acesso ao {{provider}}. A chave API será salva automaticamente.",oauthContinue:"Continuar",oauthWaiting:"Aguardando autorização...",oauthWaitingDescription:"Por favor, conclua a autorização na janela do navegador.",oauthConnected:"Conectado ao {{provider}} com sucesso",oauthFailed:"Autorização falhou, tente novamente",oauthTimeout:"Autorização expirou, tente novamente",viewMore:"Ver mais ({{count}})"},y_={title:"Uso de Tokens",description:"View LLM token consumption over time, by date and model.",totalTokens:"Total Tokens",totalCalls:"Chamadas LLM",toolCalls:"Tool Calls",llmAndToolTrend:"Tendência de LLM & Tool Calls",llmAndToolTrendTooltip:"Turnos do assistente com metadados de uso mais intents de ferramenta em todos os agentes. Não é Total Calls (contagem bruta de API); sessões antigas podem ter 0 turnos registrados.",llmAndToolTrendLoadFailed:"Falha ao carregar tendência de LLM e ferramentas",recordedTurnsAllAgents:"Chamadas LLM",byAgent:"Por agente",agent:"Agente",unattributed:"Não atribuÃdo",promptTokens:"Prompt Tokens",completionTokens:"Completion Tokens",cacheRead:"Tokens com acerto no cache",cacheHitRate:"Taxa de acerto do cache",byModel:"By Modelo",byDate:"By Date",provider:"Provedor",model:"Modelo",date:"Date",refresh:"Atualizar",loadFailed:"Falha ao load token usage",noData:"No token usage data in the selected period"},v_={title:"Estatisticas dos Agentes",totalSessions:"Total Sessoes",totalMessages:"Total Messages",userMessages:"Usuario Messages",assistantMessages:"Assistant Messages",promptTokens:"Prompt Tokens",totalInputTokens:"Total de tokens de prompt",completionTokens:"Completion Tokens",toolCalls:"Tool Calls",newSessions:"Novo Sessoes",activeSessions:"Ativo Sessoes",messageTrend:"Message Trend",sessionTrend:"Session Trend",tokenTrend:"Token Trend",llmAndToolTrend:"LLM & Tool Call Trend",sessionsByChannel:"Sessoes by Channel",messagesByChannel:"Messages by Channel",totalSessionsTooltip:"Total chat sessions created, each session is an independent conversation context",totalMessagesTooltip:"Total messages across all sessions, including both user and assistant messages",toolCallsTooltip:"Number of times the agent decided to invoke a tool; a single LLM call may produce multiple tool-use intents",messageTrendTooltip:"Trend comparing user messages vs assistant messages",sessionTrendTooltip:"Trend comparing new sessions vs active sessions; orange bars are sessions created that day, blue bars are sessions with messages that day",llmAndToolTrendTooltip:"Tendencia de turnos LLM do agente atual vs intents de ferramenta",sessionsByChannelTooltip:"Distribution of sessions by messaging channel; sessions without a channel are grouped under Console",messagesByChannelTooltip:"Distribution of total messages by messaging channel",currentAgentLlmCalls:"Turnos registrados",currentAgentTokenTrendTooltip:"Tendencias de tokens de prompt, completion e acerto no cache nos metadados por turno do agente atual; os tokens com acerto no cache fazem parte dos tokens de prompt",currentAgentPromptTokensTooltip:"Tokens de prompt do agente atual em suas sessoes no periodo selecionado (requer metadados de uso por turno; sessoes antigas podem mostrar 0)",currentAgentCacheHitRateTooltip:"Taxa de acerto do cache ponderada por tokens para chamadas observadas do agente atual no periodo selecionado (tokens com acerto no cache / tokens de entrada elegiveis; â quando indisponivel)",currentAgentCompletionTokensTooltip:"Tokens de completion do agente atual em suas sessoes no periodo selecionado (requer metadados de uso por turno; sessoes antigas podem mostrar 0)",currentAgentLlmCallsTooltip:"Numero de turnos do assistente com metadados de uso registrados para o agente atual (nao e a contagem bruta de chamadas API; sessoes antigas podem mostrar 0)",loadFailed:"Falhou to load statistics",noData:"No statistics data in the selected period",retry:"Tentar novamente"},T_=JSON.parse('{"discoveryOriginApi":"Detectado via API","discoveryOriginCatalog":"Catálogo oficial","discoveryOriginBoth":"API + catálogo","availabilityAvailable":"DisponÃvel","availabilityPermissionDenied":"Sem permissão","availabilityNotFound":"Não encontrado","availabilityIncompatible":"IncompatÃvel com chat","availabilityRateLimited":"Limite de requisições","availabilityTransientError":"Temporariamente indisponÃvel","availabilityUnverified":"Não verificado","modelAlreadyConfigured":"Configurado","llmConfiguration":"LLM Configuracao","providersTitle":"Providers","providersDescription":"Configure API keys and endpoints for each provider.","llmTitle":"Modelos","defaultLlm":"Padrao LLM","llmDescription":"Set the global default LLM model from an authorized provider. You can choose a specific model for each Agent in the Chat page.","configureProvider":"Configure {{name}}","baseURL":"URL Base","apiKey":"Chave da API","advancedConfig":"Avancado Configuracao","authMode":"Modo de Autenticação","authModeApiKey":"API Key (x-api-key)","authModeAuthToken":"Auth Token (Authorization: Bearer)","customHeaders":"Cabeçalhos Personalizados","customHeadersHint":"Adicionados a todas as requisições de API, ex: x-app: cli","customHeaderKey":"Nome do Cabeçalho","customHeaderValue":"Valor do Cabeçalho","addHeader":"+ Adicionar Cabeçalho","generateConfig":"Generation Parameters","generateConfigHint":"Generation parameters expressed as a JSON object. They will be expanded and passed into the generation request (`openai.chat.completions` or `anthropic.messages`).","generateConfigInvalidJson":"Please enter valid JSON","generateConfigMustBeObject":"Generation parameters must be a JSON object","modelAdvancedConfig":"Modelo Avancado Configuracao","modelGenerateConfig":"Modelo Generation Parameters","modelGenerateConfigHint":"Generation parameters expressed as a JSON object for this model. They will be expanded and passed into the generation request. These override provider-level advanced configuration.","modelConfigSaved":"Configuration saved for model {{name}}","modelConfigSaveFailed":"Falha ao Salvar Modelo Configuracao","modelConfigLabel":"Modelo Configuracao","maxTokensLabel":"Máx. Tokens","maxTokensHint":"Número máximo de tokens de saÃda por resposta","maxInput
199LengthLabel":"Comprimento Máximo do Contexto","maxInputLengthHint":"Tamanho da janela de contexto do modelo, controla o limite de compactação do contexto (â¥1000)","relayReasoningLabel":"Retransmitir RaciocÃnio","relayReasoningHint":"Retransmitir o conteúdo de raciocÃnio para os turnos de conversa subsequentes","thinkingModeLabel":"Ativar Pensamento","thinkingModeHint":"Ative para habilitar pensamento/raciocÃnio. Desative para desabilitar o pensamento.","thinkingBudgetLabel":"Orçamento de Pensamento","thinkingBudgetHint":"Usando orçamento de pensamento padrão do modelo","switchToManual":"Manual","switchToAuto":"Auto","reasoningEffortLabel":"Profundidade de RaciocÃnio","reasoningEffortHint":"Controla a profundidade do raciocÃnio (famÃlia OpenAI)","protocol":"Protocol","protocolHint":"Choose the provider API protocol for this configuration.","selectProtocol":"Please Selecionar a protocol","protocolOpenAI":"OpenAI-compatible (Chat Completions)","protocolOpenAIResponse":"OpenAI-compatible (Response API)","protocolAnthropic":"Anthropic (Messages API)","currentKey":"Current: {{key}}","startsWith":"Starts with \\"{{prefix}}\\"","optionalSelfHosted":"Opcional for self-hosted services","leaveBlankKeep":"Leave blank to keep current key","enterApiKey":"Enter API Chave ({{prefix}}...)","enterApiKeyOptional":"Enter API Chave (optional)","openAIEndpoint":"OpenAI endpoint, e.g. https://api.openai.com/v1","openAICompatibleEndpoint":"OpenAI-compatible endpoint, e.g. https://api.example.com (append /v1 only if your provider requires it)","azureEndpointHint":"Azure OpenAI endpoint, e.g. https://<resource>.openai.azure.com/openai/v1","anthropicEndpointHint":"Anthropic endpoint, e.g. https://api.anthropic.com","ollamaEndpointHint":"Ollama endpoint, e.g. http://localhost:11434","lmstudioEndpointHint":"LM Studio endpoint, e.g. http://localhost:1234/v1","apiEndpointHint":"API endpoint, e.g. https://api.example.com","pleaseEnterBaseURL":"Digite the API base URL","selectBaseURL":"Selecione uma URL base","selectBaseURLHint":"Selecione o endpoint regional deste provedor","pleaseEnterValidURL":"Digite a valid URL","apiKeyShouldStart":"API Key should start with \\"{{prefix}}\\"","configurationSaved":"{{name}} Configuracao saved","failedToSaveConfig":"Falhou to Salvar Configuracao","revokeAuthorization":"Revoke Autorizacao","revokeConfirmContent":"Are you sure you want to remove the API key for {{name}}? The current LLM model configuration will also be cleared.","revokeConfirmSimple":"Are you sure you want to remove the API key for {{name}}?","authorizationRevoked":"{{name}} authorization revoked, LLM model cleared","authorizationRevokedSimple":"{{name}} Autorizacao revoked","failedToRevoke":"Falhou to revoke Autorizacao","active":"Active: {{provider}} / {{model}}","provider":"Provedor","model":"Modelo","selectProvider":"Select provider (must be authorized)","selectModel":"Selecionar a Modelo","llmModelUpdated":"LLM Modelo Atualizado","failedToSave":"Falhou to Salvar","freeModelWarningTitle":"Aviso sobre Modelo Gratuito","freeModelWarningMessage":"Modelos gratuitos podem ser instáveis. Consulte os termos de serviço do provedor:","freeModelWarningDontShowAgain":"Do not show this again","saved":"Saved","save":"Salvar","cancel":"Cancelar","loading":"Carregando...","retry":"Tentar novamente","notSet":"Nao definido","notRequired":"Nao necessario","available":"Available","unavailable":"Unavailable","providerAvailable":"Ready (with models)","providerNoModels":"Not Ready (no models)","providerNotConfigured":"Not Ready (not configured)","settings":"Configuracoes","actions":"Acoes","search":"Pesquisar","searchPlaceholder":"Pesquisar providers...","searchModelPlaceholder":"Pesquisar models...","custom":"Personalizado","builtin":"Integrado","freeTierGroup":"Gratuito","paidGroup":"Pago","localCustomGroup":"Local e Personalizado","endpointCount":"{{count}} endpoints","connect":"OAuth","saveApiKey":"Salvar","addProvider":"Adicionar Provedor","addProviderTitle":"Adicionar Personalizado Provedor","providerIdLabel":"Provedor ID","providerIdPlaceholder":"e.g. openai, google, anthropic","providerIdHint":"Lowercase letters, digits, hyphens, underscores. Cannot be changed later.","providerNameLabel":"Display Nome","providerNamePlaceholder":"e.g. OpenAI, Google Gemini","defaultBaseUrlLabel":"Padrao Base URL","defaultBaseUrlPlaceholder":"e.g. https://api.example.com","apiKeyPrefixLabel":"API Chave Prefix (optional)","apiKeyPrefixPlaceholder":"e.g. sk-","providerCreated":"Provedor \\"{{name}}\\" Criado","providerCreateFailed":"Falhou to Criar Provedor","deleteProvider":"Excluir Provedor","deleteProviderConfirm":"Delete custom provider \\"{{name}}\\" and all its models? This cannot be undone.","providerDeleted":"Provedor \\"{{name}}\\" deleted","providerDeleteFailed":"Falhou to Excluir Provedor","manageModels":"Modelos","models":"Modelos","manageModelsTitle":"{{provider}} â Modelo Management","userAdded":"User-added","addModel":"Adicionar Modelo","addModels":"Adicionar Modelos","autoDiscoverModels":"Automatico Discover Modelos","addModelTitle":"Adicionar Modelo to {{provider}}","modelIdLabel":"Modelo ID","modelIdPlaceholder":"e.g. gpt-4o, gemini-2.0-flash","modelDiscoveryUnavailableHint":"No available models were found. This provider may
199not support model list discovery, so please enter the model ID manually.","modelNameLabel":"Modelo Nome","modelNameRequired":"Please enter Modelo Nome","modelNamePlaceholder":"e.g. GPT-4o, Gemini 2.0 Flash","modelAdded":"Modelo \\"{{name}}\\" added","modelAddFailed":"Falhou to Adicionar Modelo","modelAlreadyExists":"Modelo ID \\"{{id}}\\" ja existe","autoDiscoverModelsSuccess":"Auto discovery complete. Added {{count}} models","autoDiscoverModelsNoNew":"Auto discovery complete. No new models were added","autoDiscoverModelsFailed":"Falha ao Automatico discover Modelos","removeModel":"Remover","removeModelConfirm":"Remove model \\"{{name}}\\" from {{provider}}?","modelRemoved":"Modelo \\"{{name}}\\" removed","modelRemoveFailed":"Falhou to Remover Modelo","loadMore":"Carregar mais ({{count}})","modelsCount":"{{count}} Modelos","noModels":"Nao Modelos","addModelFirst":"Please add a model first","modelList":"Modelo List","clearAll":"Limpar Todos","filteredModelsLoaded":"Filtered Modelos loaded: {{count}}","filterFailed":"Falhou to Filtrar Modelos","clearAllModels":"Limpar Todos Modelos","clearAllModelsConfirm":"Clear all {{count}} extra models? This cannot be undone.","allModelsCleared":"Cleared {{count}} Modelos","filterModels":"Filtrar Modelos","filterByProvider":"Provider:","searchProviderPlaceholder":"Pesquisar Provedor Nome","selectAllProviders":"Selecionar Todos","clearProviderSelection":"Deselect Todos","noMatchingProviders":"Nao matching providers","filterByModality":"Input Modality:","filterFreeOnly":"Free Modelos Only:","getModels":"Get Modelos","discovered":"Available Models:","add":"Adicionar","local":"Local","localType":"Tipo","localEmbedded":"Embedded (in-process)","localDownloadFirst":"Modelo service not started","localDownloadModel":"Baixar Modelo","localModelsTitle":"{{provider}} â Local Modelos","localNoModels":"Nao downloaded Modelos yet","localRepoId":"Modelo Repository ID","localRepoIdRequired":"Digite a Modelo repository ID","localRepoIdPlaceholder":"e.g. Qwen/Qwen3-0.6B-GGUF","localFilename":"Filename (optional)","localFilenamePlaceholder":"e.g. mistral-7b.Q4_K_M.gguf","localFilenameHint":"Leave empty to auto-select the best quantization","localSource":"Origem","localDownloadSuccess":"Modelo downloaded successfully","localDownloadFailed":"Falhou to Baixar Modelo","localDeleteModel":"Excluir Modelo","localDeleteConfirm":"Delete local model \\"{{name}}\\"? The model file will be removed from disk.","localModelDeleted":"Modelo \\"{{name}}\\" deleted","localDeleteFailed":"Falhou to Excluir Modelo","localDownloadPending":"Preparing to download...","localDownloading":"Downloading {{repo}}... This may take a few minutes.","localDownloadNavigateHint":"You can navigate away â the download will continue in the background.","localDownloadInProgress":"A download is already in progress","localDownloaded":"Downloaded","localNotDownloaded":"Not downloaded","localNoRecommendedModels":"This device is not powerful enough to run local models","localCancelDownloadTitle":"Cancelar Baixar","localCancelDownloadAction":"Cancelar Baixar","localCancelDownloadConfirm":"Cancelar Baixar of \\"{{repo}}\\"?","localDownloadCancelled":"Baixar cancelled","localCancelDownloadFailed":"Falhou to Cancelar Baixar","localLlamacppName":"Inferencia engine","localLlamacppInstallHint":"Install the local runtime before downloading or starting a model.","localInstallLlamacpp":"Install llama.cpp","localLlamacppInstallStarted":"llama.cpp Baixar started","localLlamacppInstallSuccess":"llama.cpp installed successfully","localLlamacppInstallFailed":"Falhou to install llama.cpp","localRuntimeSectionTitle":"Inferencia Engine","localRuntimeSectionDescription":"Powered by Llama.cpp","localRuntimeComputeHint":"CPU is used by default. For GPU acceleration, use Ollama or LM Studio.","localRuntimeInstalled":"Installed","localRuntimeUpdateAvailable":"Atualizar available","localRuntimeUpdateAction":"Click to download the latest version","localRuntimeUpdateConfirmTitle":"Confirmar llama.cpp Atualizar","localRuntimeUpdateConfirmContent":"Updating will overwrite the currently installed llama.cpp version. Confirm to start downloading and installing the latest version.","localRuntimeUpdate
199ConfirmContentWithServer":"Updating will overwrite the currently installed llama.cpp version and stop the currently running model service ({{model}}). Confirm to start downloading and installing the latest version.","localRuntimeUnsupported":"Unsupported","localRuntimeMissing":"Missing","localServerRunningTitle":"Atual local server","localServerOnline":"Executando","localServerIdle":"Dead","localServerUnavailable":"Issue","localNoActiveModel":"Nao Ativo Modelo","localNoDownloadedModelsHint":"Download a suitable model before starting the local inference service.","localDownloadModelFirst":"Baixar the Modelo first","localEngineInstallStateLabel":"Install","localEngineRunStateLabel":"Status","localEngineCurrentModelLabel":"Atual served Modelo","localEngineNextStepLabel":"Proximo step","localEngineHealthLabel":"Engine health","localEngineStatusHint":"Please download and start a suitable model from the list below","localStartServer":"Iniciar","localStopServer":"Parar","localServerStartFailed":"Falha ao Iniciar local server","localServerStopFailed":"Falha ao Parar local server","localServerSwitchTitle":"Switch Executando Modelo","localServerSwitchConfirm":"The current server is running {{current}}. Switch to {{next}}?","localSwitchModel":"Switch","localModelPathMissing":"This downloaded model is missing a local path.","localModelsSectionTitle":"Local Modelos","localModelsSectionDescription":"Downloaded models can be started immediately. Only one model download and one local server instance can run at a time.","localModelsLockedHint":"Please install llama.cpp first","localAlternativeRuntimeHint":"Please try Ollama or LM Studio","localModelsCount":"Downloaded {{downloaded}} / {{total}}","localCurrentDownloadTitle":"Atual Baixar","localAdvancedConfigTitle":"Avancado Local Configuracoes","localAdvancedConfigDescription":"These settings apply to the embedded local inference runtime. Max context length changes take effect the next time the local server starts.","localAdvancedConfigSaved":"Avancado local Configuracoes saved","localAdvancedConfigSaveFailed":"Falha ao Salvar Avancado local Configuracoes","localMaxContextLengthLabel":"Max Context Length","localMaxContextLengthHint":"Maximum token count for the model context window, determining how much history fits in each request. Changes take effect the next time the local server starts.","localMaxContextLengthRequired":"Digite max context length","localMaxContextLengthMin":"Max context length must be at least {{min}}","localMaxContextLengthPlaceholder":"Enter max context length","localServerPortLabel":"Server Port","localServerPortHint":"Leave this empty to let llama.cpp bind an available port automatically. Enter a port to reuse that fixed port on future startups. Changes take effect the next time the local server starts.","localServerPortRange":"Server port must be between {{min}} and {{max}}","localServerPortPlaceholder":"Leave empty to auto-select a port","localGenerateConfigHint":"Configure local model generation parameters as a JSON object. These fields will be expanded into subsequent generation requests.","localCustomModelTitle":"Personalizado Modelo Baixar","localCustomModelHint":"Enter a model repository ID. GGUF format only.","localSourceHuggingFace":"Hugging Face","localSourceModelScope":"ModelScope","ollamaModelNamePlaceholder":"e.g. mistral:7b, qwen3:8b","testConnection":"Testar Connection","testConnectionSuccess":"Connection Testar successful","testConnectionFailed":"Connection Testar Falhou","testConnectionFailedWithMessage":"Connection Testar failed: {{message}}","testConnectionError":"An error occurred while testing connection","discoverModels":"Discover Modelos","discoverModelsFailed":"Falhou to discover Modelos","ollamaFetchModelsFailed":"Failed to fetch Ollama models. Please check the error details.","modelTestFailed":"Model validation failed, please check if the model ID is correct","modelTestFailedConfirm":"Model connection test failed: {{message}}. Do you still want to add this model?","autoDiscoveredAndAdded":"Auto-discovered {{count}} models and added {{added}} new model(s)","autoDiscoveredNoNew":"Auto-discovered {{count}} models; model list is already up to date","autoDiscoverFailed":"Automatic model discovery failed; you can add models manually","tagImage":"Image","tagVideo":"Video","tagTextOnly":"Text Only","tagMultimodal":"Multimodal","tagVision":"Vision","tagText":"Text","free":"Free","probeMultimodal":"Testar Multimodal","probeImage":"Image","probeVideo":"Video","probeSupported":"Supported: {{types}}","probeNotSupported":"This model does not support multimodal input","probeFailed":"Probe Falhou","tagNotProbed":"Not Probed","modalityVision":"Image","modalityAudio":"Audio","modalityVideo":"Video","modalityFile":"File","modalityText":"Text only","perMillionIn":"/1M in","perMillionOut":"/1M out"}'),S_={title:"Arquivos",navigator:"Navegador de arquivos",source:"Fonte",workspace:"Workspace",profile:"Perfil",memory:"Memória de Longo Prazo",daily:"Diário",digest:"Base de Conhecimento",memoryGraph:"Grafo de Memória",memoryGraphShort:"Grafo",memoryGraphLoading:"Carregando grafo de memóriaâ¦",memoryGraphLoadFailed:"Falha ao carregar o grafo de memória.",memoryGraphCounts:"{{nodes}} nós · {{edges}} links",memoryGraphEmpty:"Ainda não há links de memória indexados.",memoryGraphZoomOut:"Diminuir zoom",memoryGraphZoomIn:"Aumentar zoom",memoryGraphFit:"Ajustar grafo",memoryGraphRoot:"Raiz",memoryGraphRootDirect:"Arquivo direto",memoryGraphOtherFile:"Outro arquivo",memoryGraphIndexed:"Arquivo indexado",memoryGraphUnresolved:"Link não resolvido",memoryGraphDirection:"Direção do Wiki link",memoryGraphOpenFile:"Abrir Markdown",memoryGraphOutbound:"SaÃda · {{count}}
199",memoryGraphInbound:"Entrada · {{count}}",projectDirectory:"Diretório do projeto",workspaceDirectory:"Diretório de configuração",switchRoot:"Alternar diretório",manageDirs:"Gerenciar diretóriosâ¦",primaryRoot:"Principal",rootMissing:"Ausente",rootsPending:"{{count}} mais disponÃveis após a primeira mensagem",sourceEmpty:"Ainda não há arquivos nesta fonte.",loadMore:"Carregar próximos 200",upload:"Enviar arquivos",conflictPolicy:"PolÃtica de conflito de upload",conflictRename:"Manter ambos",conflictRenameDescription:"Adiciona um número ao novo arquivo e mantém o existente.",conflictSkip:"Manter existente",conflictSkipDescription:"Ignora novos arquivos com conflito e continua os demais uploads.",conflictOverwrite:"Usar novo arquivo",conflictOverwriteDescription:"Substitui o arquivo existente pelo novo.",uploadConflictTitle:"Já existem arquivos com o mesmo nome",uploadConflictDescription:"Estes arquivos já existem: {{files}}. Escolha como continuar.",promptToggle:"Alternar se {{name}} entra no prompt do sistema",addSystemPrompt:"Adicionar do workspace",addSystemPromptTitle:"Adicionar arquivo de prompt do sistema",addSystemPromptDescription:"Escolha um arquivo Markdown do workspace para incluir no prompt do sistema.",searchSystemPromptFiles:"Buscar arquivos Markdown do workspace",noSystemPromptCandidates:"Nenhum arquivo correspondente está disponÃvel.",sourceControl:"Controle de código-fonte",preview:"Preview",edit:"Editar",selectFile:"Selecione um arquivo para abrir",closeTab:"Fechar aba",closeOtherTabs:"Fechar outras abas",closeAllTabs:"Fechar todas as abas",openFiles:"Arquivos abertos, {{count}}",openFilesLabel:"Arquivos abertos",openFileCount:"{{count}} abertos",searchOpenFiles:"Buscar por arquivo ou caminho",noOpenFilesFound:"Nenhum arquivo aberto correspondente",scrollTabsLeft:"Rolar abas para a esquerda",scrollTabsRight:"Rolar abas para a direita",agentChangedFile:"O agente alterou este arquivo",keep:"Manter",keepAll:"Manter tudo",undo:"Desfazer",undoAll:"Desfazer tudo",copySelectionToChat:"Copiar seleção para o Chat",copyFileToChat:"Copiar arquivo para o Chat",previewSize:"Preview · {{size}} bytes",backToPreview:"Voltar ao Preview",download:"Baixar",downloadFailed:"Falha ao baixar o arquivo",resize:"Redimensionar painel de arquivos",loadFailed:"Falha ao carregar o arquivo. Verifique se ele ainda está no diretório de trabalho principal do workspace do agente atual.",previewUnavailable:"Preview indisponÃvel. Metadados e download continuam disponÃveis.",mentionInChat:"Mencionar no Chat",expandWorkspace:"Expandir workspace",openWorkspace:"Abrir workspace",closeWorkspace:"Fechar workspace"},C_={agentTitle:"Diretório de projeto do agente",sessionTitle:"Diretório de projeto da sessão",pathPlaceholder:"Digite um caminho absoluto",recentProjects:"Projetos recentes",browseDirectory:"Explorar diretórios",no
199RecentProjects:"Nenhum projeto recente",clearSelection:"Limpar projeto selecionado",homeDirectory:"Diretório inicial",parentDirectory:"Diretório pai",refreshDirectory:"Atualizar diretório",restoreDefault:"Restaurar padrão",createDirectory:"Criar nova pasta",directoryNamePlaceholder:"Digite o nome da pasta",createDirectoryFailed:"Falha ao criar pasta",useWorkspace:"Usar diretório de configuração",createSessionHint:"Envie a primeira mensagem para definir um diretório da sessão.",sessionSource:"Sessão",agentSource:"Agente",makePrimary:"Definir como primário",remove:"Remover",add:"Adicionar",boundDirs:"Diretórios de projeto adicionados",primaryHint:"Chamadas de ferramentas e comandos são executados no diretório principal por padrão.",primaryTag:"Principal",unbound:"Nenhum diretório vinculado",unavailable:"Ausente",alreadyBound:"Já vinculado",tooMany:"No máximo {{max}} diretórios podem ser vinculados.",countTitle:"Número de diretórios vinculados"},w_=JSON.parse(`{"title":"Configuracao","projectDirectoryTitle":"Diretório de projeto padrão","projectDirectoryDescription":"Diretório padrão usado para arquivos e comandos.","projectDirectoryDefault":"Padrão do agente","changeProjectDirectory":"Alterar diretório","projectDirectoryWorkspaceFallback":"Usando o workspace do agente","enhancedCodeCapability":"Aprimorar capacidade de código","enhancedCodeCapabilityTooltip":"Adiciona ferramentas de código sem alterar o diretório do projeto.","enhancedCodeCapabilityDescription":"Ative AST, LSP, prompts de código, contexto Git e controle de versão.","description":"Configure Agente runtime parameters","reactAgentTitle":"React Agente","llmRetryTitle":"LLM Automatico Tentar novamente","llmRetryEnabled":"Ativar Automatico Tentar novamente","llmRetryEnabledTooltip":"Automatically retry transient LLM API failures such as rate limits, timeouts, or connection errors. Applies to new requests after saving.","llmMaxRetries":"Max Retries","llmMaxRetriesTooltip":"Maximum number of extra retry attempts for a retryable LLM request failure.","llmMaxRetriesPlaceholder":"Enter max retries","llmMaxRetriesRequired":"Max retries is Obrigatorio","llmMaxRetriesMin":"Max retries must be at least 1","llmBackoffBase":"Backoff Base Delay (s)","llmBackoffBaseTooltip":"Base delay before the first retry. Later retries use exponential backoff from this value.","llmBackoffBasePlaceholder":"Enter base delay","llmBackoffBaseRequired":"Backoff base delay e obrigatorio","llmBackoffBaseMin":"Backoff base delay must be at least 0.1 seconds","llmBackoffCap":"Backoff Max Delay (s)","llmBackoffCapTooltip":"Maximum cap for exponential retry backoff delays.","llmBackoffCapPlaceholder":"Enter max delay","llmBackoffCapRequired":"Backoff max delay e obrigatorio","llmBackoffCapMin":"Backoff max delay must be at least 0.5 seconds","llmBackoffCapGteBase":"Backoff max delay must be greater than or equal to the base delay","llmRateLimiterTitle":"LLM Rate Limiter","llmMaxConcurrent":"Max Concurrent Calls","llmMaxConcurrentTooltip":"Maximum number of LLM calls allowed in-flight at the same time. Shared across all agents; only the first initialization takes effect until restart.","llmMaxConcurrentPlaceholder":"Enter max concurrent calls","llmMaxConcurrentRequired":"Max concurrent calls e obrigatorio","llmMaxConcurrentRange":"Max concurrent calls must be at least 1","llmMaxQpm":"Max QPM (Queries Per Minute)","llmMaxQpmTooltip":"Maximum requests allowed within a 60-second sliding window. Requests exceeding this limit wait before being dispatched â proactively preventing 429 rate-limit errors. 0 = disabled.","llmMaxQpmPlaceholder":"Enter max QPM (0 = unlimited)","llmMaxQpmRequired":"Max QPM is Obrigatorio","llmMaxQpmRange":"Max QPM must be at least 0","llmRateLimitPause":"Rate Limite Pause (s)","llmRateLimitPauseTooltip":"Default pause duration (seconds) applied globally when a 429 rate-limit response is received. Overridden by the API's Retry-After header when present.","llmRateLimitPausePlaceholder":"Enter pause duration","llmRateLimitPauseRequired":"Rate Limite pause e obrigatorio","llmRateLimitPauseMin":"Rate limit pause must be at least 1 second","llmRateLimitJitter":"Rate Limite Jitter (s)","llmRateLimitJitterTooltip":"Random jitter range (seconds) added on top of the pause so concurrent waiters stagger their wake-up and avoid a new burst.","llmRateLimitJitterPlaceholder":"Enter jitter range","llmRateLimitJitterRequired":"Rate Limite jitter e obrigatorio","llmRateLimitJitterMin":"Rate limit jitter must be at least 0 seconds","llmAcquireTimeout":"Slot Acquire Tempo limite (s)","llmAcquireTimeoutTooltip":"Maximum time (seconds) a caller will wait to acquire a rate-limiter slot before giving up with an error.","llmAcquireTimeoutPlaceholder":"Enter acquire Tempo limite","llmAcquireTimeoutRequired":"Slot acquire Tempo limite e obrigatorio","llmAcquireTimeoutMin":"Slot acquire timeout must be at least 10 seconds","llmAcquireTimeoutGtPauseJitter":"Slot acquire timeout must be greater than rate limit pause + jitter","contextManagementTitle":"Context Management","memoryManagerBackend":"Backend de gerenciamento de memória de longo prazo","memoryManagerBackendTooltip":"Backend para o gerenciador de memória. Escolha remelight (arquivos locais), adbpg (banco de dados na nuvem), PowerContext (serviço remoto de memória) ou none (desativar memória).","memoryManagerBackendRestartWarning":"A troca do backend de gerenciamento de memória de longo prazo não permite recarregamento a quente. Salve e reinicie o QwenPaw para aplicar as alterações.","maxIters":"Max Iterations","maxItersTooltip":"Maximum number of reasoning-acting iterations for ReAct agent","maxItersPlaceholder":"Enter max iterations","maxItersRequired":"Max iterations is Obrigatorio","maxItersMin":"Max iterations must be at least 1","agentLoopTitle":"Configurações de Loop do Agente","loopMode":{"builtIn":"Integrado","builtInNote":"Pipeline bloqueado · Valores editáveis","templateSectionTitle":"Modelos de Loop","templateSectionDescription":"Escolha um modelo integrado ou adicione o seu.","defaultTab":"Padrão","goalTab":"Meta","missionTab":"Missão","defaultDescription":"Loop ReAct protegido padrão usado fora de um modo explÃcito.","goalDescription":"Loop persistente e limitado para metas verificáveis.","missionDescription":"Pipeline persistente para missões longas e com várias etapas.","gatePipeline":"Pipeline de Gates","repetitionTitle":"Proteção contra repetição","repetitionDescription":"Detecta chamadas repetidas e intervém.","iterationTitle":"Limite de iterações","iterationDescription":"Limita o número de iterações ReAct.","retryTitle":"Verificação qualitativa de conclusão","retryDescription":"Acionada somente quando o agente produz uma resposta de texto sem chamadas de ferramentas.","goalTurnTitle":"Limite de turnos da meta","goalTurnDescription":"Limita os turnos em uma meta ativa.","maxGoalTurns":"Máximo de turnos da meta","goalBudgetTitle":"Orçamento de tokens da meta","goalBudgetDescription":"Para quando a meta completa atinge o orçamento.","maxGoalTokens":"Máximo de tokens da meta","goalCompletionTitle":"Verificação de conclusão da meta","goalCompletionDescription":"Lê o status explÃcito da meta antes de parar.","goalCompletionReadOnly":"A conclusão é
199controlada pelo protocolo integrado de status da meta.","missionProgressTitle":"Verificação do progresso da missão","missionProgressDescription":"Continua até as histórias passarem ou atingir o limite.","missionProgressReadOnly":"A conclusão é controlada pelo status integrado das Stories da Mission.","missionIterationTitle":"Limite de iterações da Mission","missionIterationDescription":"Defina o limite de execução padrão para novas Missions.","workerAttemptsTitle":"Tentativas do Worker","workerAttemptsDescription":"Limite as novas tentativas do Worker após uma Story falhar na verificação.","missionVerificationTitle":"PolÃtica de verificação da Mission","missionVerificationDescription":"Defina a orientação de verificação e o comando de teste padrão.","defaultMaxMissionIterations":"Máximo padrão de rodadas de execução","defaultMaxMissionIterationsTooltip":"Usado quando /mission não especifica --max-iterations.","maxRetriesPerStory":"Máximo de tentativas por Story","maxRetriesPerStoryTooltip":"Tentativas do Worker após resultado FAIL ou PARTIAL do Verifier.","defaultVerificationInstructions":"Orientações de verificação (opcional)","defaultVerificationInstructionsHelp":"Orientações em linguagem natural aplicadas a cada Mission Verifier.","defaultVerificationInstructionsPlaceholder":"Por exemplo: verifique caminhos do Windows e a interface renderizada.","defaultVerifyCommand":"Comando de teste padrão (opcional)","defaultVerifyCommandHelp":"O Verifier tenta executá-lo com ferramentas e permissões normais. /mission --verify substitui o valor.","defaultVerifyCommandPlaceholder":"Por exemplo: pytest -q","enableRepetitionProtection":"Ativar proteção contra repetição","removeRule":"Remover regra","custom":"Personalizado","customDescription":"Crie um pipeline salvo com Gates integrados do QwenPaw.","duplicate":"Duplicar","delete":"Excluir","displayName":"Nome de exibição","duplicateModeName":"Já existe um modo de Loop com este nome.","slashCommand":"Comando com barra","description":"Descrição","availableToAgent":"DisponÃvel para este agente","runsTopToBottom":"Executa de cima para baixo","addGate":"Adicionar Gate","emptyPipeline":"Adicione ao menos um Gate para disponibilizar este modo.","iterationGateTitle":"Limite de iterações","iterationGateDescription":"Para após um número fixo de iterações do Loop.","doomGateTitle":"Proteção contra repetição","doomGateDescription":"Detecta chamadas repetidas e muda a estratég
199ia.","tokenGateTitle":"Orçamento de tokens","tokenGateDescription":"Limita o uso de tokens de entrada e saÃda.","timeoutGateTitle":"Limite de tempo do Loop","timeoutGateDescription":"Para no próximo limite do Loop após o tempo, sem interromper o trabalho em execução.","toolBudgetGateTitle":"Orçamento de chamadas de ferramentas","toolBudgetGateDescription":"Limita todas as chamadas e ferramentas selecionadas.","retryGateTitle":"Revisão de parada antecipada","retryGateDescription":"Pede ao agente para verificar antes de encerrar.","rubricGateTitle":"Rubrica de conclusão","rubricGateDescription":"Avalia critérios explÃcitos e revisa quando necessário.","qualitativeRubricTitle":"Verificação qualitativa de conclusão","qualitativeRubricDescription":"Verifica respostas de texto sem chamadas de ferramentas usando critérios em linguagem natural.","qualitativeRubric":"Critérios de conclusão em linguagem natural","qualitativeRubricHelp":"Acionada somente para respostas de texto sem chamadas de ferramentas; o agente continua se ainda houver trabalho.","completionRubricTitle":"Verificação do sinal de conclusão","completionRubricDescription":"Verifica o sinal de conclusão em respostas de texto sem chamadas de ferramentas.","completionRubricHelp":"Acionada após respostas de texto sem chamadas de ferramentas. O agente produz o sinal de conclusão quando termina; caso contrário, continua trabalhando até atingir o máximo de rodadas de avaliação.","completionPrompt":"Prompt de verificação da conclusão","completionPromptHelp":"Descreva quando o resultado está completo. O QwenPaw injeta automaticamente a instrução de saÃda do sinal de conclusão.","completionSignal":"Sinal de conclusão","completionSignalHelp":"O QwenPaw injeta este sinal e a instrução para produzir somente ele no prompt de verificação. Somente uma correspondência exata, sem diferenciar maiúsculas e após remover espaços, encerra o Loop.","removeCriterion":"Remover critério {{number}}","totalTokensHelp":"Limite combinado de tokens de entrada e saÃda usados neste turno.","promptTokensHelp":"Inclui instruções do sistema, contexto da conversa, esquemas e resultados de ferramentas.","completionTokensHelp":"Limite de tokens gerados pelo modelo neste turno.","maxIterations":"Máximo de iterações","historyWindow":"Janela de histórico","similarityThreshold":"Limite de similaridade","totalTokens":"Máximo de tokens totais","promptTokens":"Máximo de tokens de entrada","completionTokens":"Máximo de tokens de saÃda","maxSeconds":"Máximo de segundos","maxSecondsHelp":"O tempo é verificado após a resposta do modelo ou chamada de ferramenta atual terminar. O trabalho em execução não é interrompido.","allToolCalls":"Todas as chamadas de ferramentas","perToolLimits":"Limites por ferramenta","toolName":"Nome da ferramenta","callLimitAria":"Limite de chamadas de {{name}}","removeToolLimitAria":"Remover limite de {{name}}","addToolLimit":"Adicionar limite por ferramenta","maxRetries":"Máximo de tentativas","retryInstruction":"Instrução de nova tentativa","passThreshold":"Limite de aprovação","maxEvaluations":"Máximo de rodadas de avaliação","graderError":"Erro do avaliador","stopSafely":"Parar com segurança","verifyOnceMore":"Verificar mais uma vez","completionCriteria":"Critérios de conclusão","criterionPlaceholder":"Descreva uma conclusão observável","required":"Obrigatório","weight":"Peso","addCriterion":"Adicionar critério","moveGateAria":"Mover {{title}}","removeGate":"Remover Gate","newModeName":"Novo modo de Loop","defaultCustomDescription":"Um pipeline de Gates personalizado.","copyName":"Cópia de {{name}}","createModeAria":"Criar modo de Loop personalizado","createModeTitle":"Criar modo de Loop personalizado","startingTemplate":"Modelo inicial","startingPipeline":"Pipeline inicial","blankPipelineHint":"Comece vazio e adicione gates depois","safeTemplate":"Execução segura","researchTemplate":"Pesquisa com orçamento","qualityTemplate":"Qualidade primeiro","blankTemplate":"Pipeline vazio"},"doomLoopEnabled":"Proteção contra Repetição","doomLoopEnabledTooltip":"Intervir automaticamente quando o agente fica preso repetindo as mesmas ações","doomLoopAfter":"Após","doomLoopRepetitions":"ações idênticas","doomLoopStopAction":"Pausar e Pedir Ajuda","doomLoopWarnAction":"Env
199iar Lembrete","doomLoopSimpleMode":"Simples","doomLoopAdvancedMode":"Avançado","doomLoopWindowSize":"Alcance de Detecção","doomLoopWindowSizeTooltip":"Quantas ações recentes verificar para repetição","doomLoopSimilarity":"Sensibilidade de Correspondência","doomLoopSimilarityTooltip":"Quão similares as ações devem ser para contar como repetição (menor = mais rigoroso)","doomLoopStages":"Regras de Intervenção","doomLoopAction":"Ação","doomLoopPrompt":"Mensagem","doomLoopPromptPlaceholder":"Mensagem de lembrete ou motivo da pausa...","doomLoopAddStage":"Adicionar Regra","iterationTitle":"Limite de Iteração","iterationEnabled":"Ativar Limite de Iteração","iterationEnabledTooltip":"Parar o agente após um número fixo de turnos de loop","iterationMaxIterations":"Iterações Máximas","iterationMaxIterationsTooltip":"Número máximo de turnos de loop antes de parar","rubricTitle":"Verificação Qualitativa de Conclusão","rubricEnabled":"Ativar Verificação Qualitativa de Conclusão","rubricEnabledTooltip":"Acionada somente quando o agente produz uma resposta de texto sem chamadas de ferramentas.","rubricPrompt":"Critérios de Conclusão em Linguagem Natural","rubricPromptTooltip":"O prompt injetado para pedir ao agente que avalie a conclusão da tarefa","rubricDesc":"Aplica critérios de conclusão em linguagem natural a respostas de texto sem chamadas de ferramentas e pede ao agente para continuar se ainda houver trabalho.","rubricPromptPlaceholder":"Você não chamou nenhuma ferramenta. Se a tarefa está completa, confirme. Caso contrário, continue com chamadas de ferramentas.","rubricMaxInterventions":"Máximo de Rodadas de Avaliação","rubricMaxInterventionsTooltip":"Máximo de verificações de conclusão para respostas de texto sem chamadas de ferramentas em um turno.","inLoopModes":"Ativar nos modos /goal e /mission","inLoopModesTooltip":"Também aplicar quando o modo /goal ou /mission estiver ativo","comingSoonEditable":"Configuração personalizada estará disponÃvel em uma versão futura.","simpleMode":"Simples","advancedMode":"Avançado","comingSoon":"Em breve","reactModeTab":"Modelo Loop - Padrão","goalModeTab":"Modelo Loop - Goal","missionModeTab":"Modelo Loop - Mission","goalModeInfoTitle":"Modo Goal vs Padrão","goalModeInfo":"O modo padrão para após produzir uma resposta. O modo Goal mantém o agente em loop em direção a um objetivo, usando avaliação Rubric para determinar a conclusão. Todas as operações são executadas no contexto atual do agente.","missionModeInfoTitle":"Modo Mission vs Goal","missionModeInfo":"O modo Mission auto-decompõe tarefas complexas em subtarefas, executadas por sub-agentes Worker independentes e verificadas por sub-agentes Verifier. Cada subtarefa é executada em seu próprio contexto, evitando poluição da sessão principal.","goalIterationGate":"Gate de Iteração de Objetivo","goalIterationGateDesc":"Limita o número de turnos do agente em uma sessão de objetivo, rastreando iterações e uso de tokens.","goalBudgetGate":"Gate de Orçamento de Tokens","goalBudgetGateDesc":"Define um limite de gasto de tokens para a sessão de objetivo. Para o agente quando o orçamento é excedido.","goalRubricGate":"Rubrica de Conclusão de Objetivo","goalRubricGateDesc":"Avalia se o objetivo foi alcançado verificando o status da sessão.","goalDoomGate":"Proteção contra Repetição","goalDoomGateDesc":"Detecta padrões repetitivos durante a execução do objetivo e aciona intervenção.","missionProgressGate":"Gate de Progresso da Missão","missionProgressGateDesc":"Rastreia a conclusão das user stories do PRD. Continua até que todas passem ou o máximo de iterações seja atingido.","missionIterBypass":"Bypass de Iteração","missionIterBypassDesc":"Remove temporariamente o limite de iteração do ReAct durante a execução da missão para permitir fases longas.","customLoopTitle":"Modos de Loop Personalizados","customLoopDesc":"Crie seus próprios modos de loop com combinações personalizadas de gates. Em breve.","autoContinueOnTextOnly":"Auto-continue Ligado text-only step","autoContinueOnTextOnlyTooltip":"If the model ends a reasoning step with only text (no tool calls), inject a hint and run one extra reasoning pass with the same tool policy so multi-step tasks are less likely to stop silently. Turn off to match legacy behavior. May increase token usage when enabled.","shell
199CommandTimeout":"Shell Command Tempo limite (s)","shellCommandTimeoutTooltip":"Default timeout in seconds for the execute_shell_command tool. The LLM can still override this per-call via the timeout parameter. Useful for long-running tasks like compilation or data processing.","shellCommandTimeoutPlaceholder":"Enter Tempo limite","shellCommandTimeoutRequired":"Shell command Tempo limite e obrigatorio","shellCommandTimeoutMin":"Shell command timeout must be at least 1 second","shellCommandExecutable":"Shell Executável","shellCommandExecutableTooltip":"Caminho para o shell usado pelo execute_shell_command. Linux/macOS: ex. /bin/bash, /bin/zsh. Windows: suporta powershell.exe, pwsh.exe ou shells POSIX como Git Bash. Quando vazio, usa a variável de ambiente $SHELL, depois o padrão da plataforma (/bin/sh no Unix, cmd.exe no Windows).","shellCommandExecutablePlaceholder":"ex.: /bin/bash ou powershell.exe (vazio = detecção automática)","maxInputLength":"Max Input Length","maxInputLengthTooltip":"Maximum input length (tokens) for the model context window","maxInputLengthPlaceholder":"Enter max input length","maxInputLengthRequired":"Max input length e obrigatorio","maxInputLengthMin":"Max input length must be at least 1000","contextCompactRatio":"Compaction Threshold Ratio","contextCompactRatioTooltip":"Compaction is triggered when the context length reaches this fraction of the max context length","contextCompactRatioRequired":"Context compact ratio e obrigatorio","contextCompactThreshold":"Compaction Threshold (tokens)","contextCompactThresholdTooltip":"Auto-calculated from max context length à compaction ratio. Compaction triggers when context exceeds this value.","contextCompactThresholdPlaceholder":"Auto-calculated","contextCompactReserveRatio":"Reserve Threshold Ratio","contextCompactReserveRatioTooltip":"Calculates the target recent-tail budget. Scroll also applies a minimum recent budget and a 40K cap, and always keeps the complete active turn.","contextCompactReserveRatioRequired":"Context reserve ratio e obrigatorio","contextCompactReserveThreshold":"Reserve Threshold (tokens)","contextCompactReserveThresholdTooltip":"The effective target used to split the recent tail. This is a soft target; boundary messages and the complete active turn may increase the retained amount.","contextCompactReserveThresholdPlaceholder":"Auto-calculated","toolResultCompactRecentN":"Recent Tool Results Range","toolResultCompactRecentNTooltip":"Number of recent tool-result-bearing messages that use the larger recent preview limit in Native context mode","toolResultCompactRecentNRequired":"Recent tool results range e obrigatorio","toolResultCompactOldThreshold":"Older Tool Result Preview Bytes","toolResultCompactOldThresholdTooltip":"Maximum preview bytes for older tool results in Native context mode.","toolResultCompactOldThresholdPlaceholder":"Enter preview byte limit","toolResultCompactOldThresholdRequired":"Older tool result preview bytes is required","toolResultCompactRecentThreshold":"Recent Tool Result Preview Bytes","toolResultCompactRecentThresholdTooltip":"Maximum preview bytes before a tool result enters agent context. In Scroll mode, this also limits each recall_history page and read_file response.","toolResultCompactRecentThresholdPlaceholder":"Enter preview byte limit","toolResultCompactRecentThresholdRequired":"Recent tool result preview bytes is required","toolResultCompactRetentionDays":"Complete Tool Result Retention Days","toolResultCompactRetentionDaysTooltip":"Independent retention period for complete tool result artifacts. After cleanup, history.db may still retain a bounded preview.","toolResultCompactRetentionDaysRequired":"Complete tool result retention days is required","historyRetentionDays":"Dias de Retenção do Histórico","historyRetentionDaysTooltip":"Dias de histórico de conversa persistente a manter. Linhas mais antigas são removidas automaticamente na inicialização e no encerramento do agente.","historyRetentionDaysRequired":"Os dias de retenção do histórico são obrigatórios","historyRetentionDaysForeverWarning":"Definir como 0 mantém o histórico para sempre â o armazenamento crescerá sem limite.","historyRetentionDaysLargeWarning":"Um perÃodo de retenção grande pode consumir bastante armazenamento.","exemptFileExtensions":"Exempt File Extensions","exemptFileExtensionsTooltip":"In Native context mode, read_file results for these extensions always use the larger recent preview limit","exemptFileExtensionsPlaceholder":".md, .txt, .json","exemptToolNames":"Exempt Tool Names","exemptToolNamesTooltip":"In Native context mode, results from these tools always use the larger recent preview limit","exemptToolNamesPlaceholder":"chat_with_agent, list_agents","language":"Agente Idioma","languageTooltip":"Language for agent persona files (SOUL.md, AGENTS.md, etc.). Changing this will re-copy MD files in the selected language.","languageConfirmTitle":"Change Agente Idioma","languageConfirmContent":"Changing the language will over
199write the following files with the new language version:\\n\\n SOUL.md, AGENTS.md, PROFILE.md, MEMORY.md, BOOTSTRAP.md, HEARTBEAT.md\\n\\nIf you have customized any of these files, please back them up first. Your other files will not be affected.","languageConfirmOk":"Change Idioma","languageSaveSuccess":"Idioma Atualizado successfully","languageSaveSuccessWithFiles":"Language updated, {{count}} MD file(s) copied","languageSaveFailed":"Falhou to Atualizar Idioma","saveSuccess":"Configuracao saved successfully","saveFailed":"Falhou to Salvar Configuracao","timezone":"Usuario Timezone","timezoneTooltip":"Used for scheduled tasks, time display, and agent context. Defaults to your system timezone.","timezoneRequired":"Please Selecionar a timezone","selectTimezone":"Selecionar timezone","timezoneSaveSuccess":"Timezone Atualizado successfully","timezoneSaveFailed":"Falhou to Atualizar timezone","loadFailed":"Falhou to load Configuracao","historyMaxLength":"Max History Length","historyMaxLengthTooltip":"Maximum output length (characters) for the /history command","historyMaxLengthRequired":"Max history length e obrigatorio","historyMaxLengthMin":"Max history length must be at least 1000","historyMaxLengthPlaceholder":"Enter max length","contextCompactTitle":"Context Compact Configuracao","contextCompactEnabled":"Ativar Context Compaction","contextCompactEnabledTooltip":"Automatically compact the context to prevent context window overflow","tokenCountModel":"Token Count Modelo","tokenCountModelTooltip":"Model name used for precise token counting; set to \\"default\\" to use built-in estimation","tokenCountModelPlaceholder":"Modelo Nome or Padrao","tokenCountUseMirror":"Use HuggingFace Mirror","tokenCountUseMirrorTooltip":"Use a HuggingFace mirror site when downloading tokenizers","tokenCountEstimateDivisor":"byte/Token Estimate Divisor","tokenCountEstimateDivisorTooltip":"Divisor for byte-based token estimation (tokens â byte_length / divisor). Recommended value: 3.75 ~ 4.","tokenCountEstimateDivisorRequired":"Estimate divisor is Obrigatorio","tokenCountEstimateDivisorMin":"Estimate divisor must be between 2 and 5","toolResultCompactTitle":"Tool Result Compact Configuracao","toolResultCompactEnabled":"Ativar Tool Result Compaction","toolResultCompactEnabledTooltip":"Compact oversized tool call results to save context space","memorySummaryTitle":"Long-term Memory Configuracao","memorySummaryEnabled":"Activate Memory Summary","memorySummaryEnabledTooltip":"Automatically generate and save memory summaries during context compaction","dreamCronEnabled":"Ativar Dream","dreamCronEnabledTooltip":"Ativa a tarefa agendada de otimização de memória por Dream","dreamCron":"Agendamento do Dream","dreamCronTooltip":"Expressão Cron para otimizar periodicamente memórias de longo prazo; use o interruptor acima para ativar ou desativar","dreamCronPlaceholder":"0 23 * * *","dreamCronRequired":"Insira uma expressão Cron quando o Dream estiver ativado","dreamCronInvalid":"Insira uma expressão Cron válida de 5 campos","autoMemorySearch":"Busca automática na memória (Beta)","autoMemorySearchTooltip":"Auto memory search to run on every conversation turn. Each query will automatically invoke memory search capabilities, helping QwenPaw understand you better â but this increases token consumption.","autoMaxResults":"Automatico Pesquisar Max Results","autoMaxResultsTooltip":"Maximum number of results returned when auto memory search is enabled","autoMaxResultsRequired":"Max results is Obrigatorio","autoMaxResultsMin":"Max results must be at least 1","embeddingConfigTitle":"Embedding Modelo Configuracao","embeddingModelTitle":"Modelo de embedding","embeddingBackend":"Tipo de SDK de Embedding","embeddingBackendTooltip":"Tipo de SDK usado para chamar o modelo de embedding","embeddingBackendPlaceholder":"Selecione um tipo de SDK","embeddingApiKey":"Chave da API","embeddingApiKeyTooltip":"API key for the embedding provider; leave blank if no authentication is required","embeddingApiKeyPlaceholder":"Leave blank if not required","embeddingBaseUrl":"URL Base","embeddingBaseUrlTooltip":"URL Base da API de embedding. Para backends compatÃveis com OpenAI, este endpoint customizado é opcional; Chave da API e Nome do Modelo são obrigatórios.","embeddingBaseUrlPlaceholder":"https://dashscope.aliyuncs.com/compatible-mode/v1","embeddingHost":"Host","embeddingHostTooltip":"URL do serviço Ollama. Deixe em branco para usar o host padrão do Ollama.","embeddingHostPlaceholder":"http://localhost:11434","embeddingModelName":"Modelo Nome","embeddingModelNameTooltip":"Nome do modelo de embedding. Obrigatório para todos os backends de embedding.","embeddingModelNamePlaceholder":"text-embedding-v4","embeddingEnableCache":"Ativar Embedding Cache","embeddingEnableCacheTooltip":"Cache embedding results to reduce repeated computation","embeddingMaxCacheSize":"Max Cache Tamanho","embeddingMaxCacheSizeTooltip":"Maximum number of entries in the embedding cache","embeddingMaxCacheSizeRequired":"Max cache Tamanho e obrigatorio","embeddingUseDimensions":"Enviar dimensões na solicitação","embeddingUseDimensionsTooltip":"Envia o parâmetro dimensions nas solicitações à API de Embedding compatÃvel com OpenAI; alguns serviços não oferecem suporte a esse parâmetro","embeddingDimensions":"Embedding Dimensions","embeddingDimensionsTooltip":"Dimensão esperada do vetor, usada para validar respostas, Ãndices e cache; quando o envio estiver desativado, informe a dimensão real de saÃda do modelo","embeddingDimensionsRequired":"Embedding dimensions is Obrigatorio","embeddingDimensionsMin":"Dimensions must be at least 1","embeddingMaxInputLength":"Orçamento de caracteres por entrada","embeddingMaxInputLengthTooltip":"Orçamento a
199proximado de caracteres para cada entrada de Embedding. O texto é truncado antes da solicitação, com uma estimativa mais conservadora para CJK e outros caracteres de largura completa; não é um limite exato de tokens","embeddingMaxInputLengthRequired":"O orçamento de caracteres por entrada é obrigatório","embeddingMaxBatchSize":"Max Batch Tamanho","embeddingHealthCheckTimeout":"Tempo limite de inicialização","embeddingHealthCheckTimeoutTooltip":"Tempo limite por tentativa para o teste de conexão e a verificação de embedding na inicialização do ReMe","embeddingHealthCheckTimeoutRequired":"O tempo limite de inicialização é obrigatório","embeddingMaxBatchSizeTooltip":"Maximum number of items in a single batch embedding request","embeddingMaxBatchSizeRequired":"Max batch Tamanho e obrigatorio","toolExecutionLevelTitle":"Modo de Aprovação de Ferramentas","toolExecutionLevelTooltip":"Modo de Aprovação","toolExecutionLevel":{"title":"Modo de Aprovação de Ferramentas","alertMessage":"Configure a aprovação antes das chamadas de ferramentas. As regras do File Guard são aplicadas separadamente.","strict":"Modo Estrito","strictDesc":"Toda chamada de ferramenta e acesso a arquivos externos requer aprovação prévia","smart":"Modo Inteligente","smartDesc":"Chamadas de ferramentas de baixo risco e acessos a arquivos externos são executados automaticamente; operações de médio e alto risco requerem aprovação","auto":"Modo Automático","autoDesc":"Somente operações que correspondem à s regras de aprovação de ferramentas e arquivos exigem aprovação (padrão)","off":"Modo Desativado","offDesc":"As aprovações de ferramentas e arquivos são desativadas"},"saveLevelSuccess":"Modo de aprovação de ferramentas salvo","saveLevelFailed":"Falha ao salvar o modo de aprovação de ferramentas","maxContextLength":"Max Context Length","maxContextLengthTooltip":"Maximum token count for the model context window, determining how much history fits in each request","maxContextLengthRequired":"Max context length e obrigatorio","maxContextLengthMin":"Max context length must be at least 1000","maxContextLengthPlaceholder":"Enter max context length","embeddingActivationNote":"Embedding é ativado quando os campos obrigatórios do backend selecionado são preenchidos.","embeddingEnableHint":"Embedding é ativado quando os campos obrigatórios são preenchidos: Nome do Modelo e Chave da API para backends compatÃveis com OpenAI ou Gemini; Nome do Modelo para Ollama.","rebuildMemoryIndex":"Reconstruir Ãndice de memória","rebuildMemoryIndexWarning":"Esta operação limpa e reconstrói o Ãndice de pesquisa da memória e pode consumir muita CPU e memória. Use-a apenas para reparar um Ãndice danificado ou resultados de pesquisa anormais.","rebuildMemoryIndexConfirmTitle":"Reconstruir o Ãndice de memória?","rebuildMemoryIndexConfirm":"O uso de CPU e memória pode aumentar significativamente durante a reconstrução. Esta operação não é recomendada, a menos que o Ãndice esteja danificado ou precise de reparo.","rebuildMemoryIndexSuccess":"Reconstrução do Ãndice de memória concluÃda","rebuildMemoryIndexFailed":"Falha ao reconstruir o Ãndice de memória: {{error}}","rebuildMemoryIndexRequired":"A configuração de Embedding foi alterada. A pesquisa vetorial está desativada e a pesquisa de memória usará o BM25 até que o Ãndice de Embedding seja reconstruÃdo.","embeddingIndexReady":"O Ãndice de Embedding corresponde à configuração atual.","embeddingIndexStatus":"Ãndice de Embedding","embeddingIndexAvailable":"Atualizado","embeddingSearchModeHybrid":"Pesquisa atual: Vetor + BM25","embeddingSearchModeBm25":"Pesquisa atual: Apenas BM25","embeddingSearchModeBm25Pending":"Pesquisa atual: Apenas BM25 · aguardando reconstrução","embeddingIndexNeedsRebuild":"Reconstrução necessária","embeddingIndexRebuilding":"Reconstruindo","embeddingIndexRebuildingHint":"Os vetores de memória estão sendo gerados","embeddingIndexSaveFirst":"Salve a configuração primeiro","embeddingIndexUnsavedHint":"Salve as alterações antes de reconstruir o Ãndice","embeddingIndexMatchesConfig":"Corresponde à configuração atual","embeddingIndexBm25Fallback":"Pesquisa vetorial desativada · usando BM25","rebuildEmbeddingIndex":"Reconstruir Ãndice de Embedding","rebuildEmbeddingIndexConfirmTitle":"Reconstruir o Ãndice de Embedding?","rebuildEmbeddingIndexConfirm":"Todos os fragmentos de memória serão processados com a configuração atual de Embedding. A pe
199squisa vetorial permanecerá desativada até que o processo seja concluÃdo com sucesso.","rebuildEmbeddingIndexSuccess":"Ãndice de Embedding reconstruÃdo","rebuildEmbeddingIndexFailed":"Falha ao reconstruir o Ãndice de Embedding: {{error}}","undoEmbeddingChange":"Desfazer alteração","undoEmbeddingChangeConfirmTitle":"Restaurar a configuração de Embedding usada pelo Ãndice?","undoEmbeddingChangeConfirm":"A última configuração correspondente ao Ãndice vetorial existente será restaurada.","undoEmbeddingChangeSuccess":"Configuração de Embedding usada pelo Ãndice restaurada","undoEmbeddingChangeFailed":"Falha ao restaurar a configuração de Embedding: {{error}}","rebuildBm25Index":"Reconstruir Ãndice BM25","rebuildBm25IndexDescription":"Recrie o Ãndice de pesquisa por palavras-chave a partir dos fragmentos de memória atuais.","rebuildBm25IndexConfirmTitle":"Reconstruir o Ãndice BM25?","rebuildBm25IndexConfirm":"O Ãndice de pesquisa por palavras-chave será recriado a partir dos fragmentos de memória atuais.","rebuildBm25IndexSuccess":"Ãndice BM25 reconstruÃdo","goToLongTermMemory":"Ir para memória de longo prazo","toolResultCompactRecentGtOld":"Recent tool result preview bytes must be greater than or equal to compact preview bytes","lightContextTitle":"Context Management","visualCompactCollapseLabel":"Compactação Visual","visualCompactDescription":"Compacte contextos antigos e longos em páginas visuais para reduzir tokens de entrada. As conversas recentes permanecem em texto.","visualCompactEnabled":"Ativar Visual Compact","visualCompactEffort":"Intensidade da compactação","visualCompactLow":"Baixa","visualCompactMedium":"Média","visualCompactHigh":"Alta","visualCompactLowDescription":"Compacta menos conteúdo e prioriza a legibilidade.","visualCompactMediumDescription":"Equilibra a economia de tokens com a legibilidade visual.","visualCompactHighDescription":"Compacta mais contexto elegÃvel e prioriza a economia de tokens.","visualCompactQualityNote":"Uma compactação maior não melhora necessariamente a qualidade da resposta.","visualCompactCapabilityNote":"Só funciona com modelos que aceitam entrada de imagem.","remeLightMemoryTitle":"Long-term Memory","powercontextMemoryTitle":"PowerContext Memory","powercontextConfig":{"title":"PowerContext Memory Configuration","baseUrl":"Server URL","token":"Bearer Token","scopeId":"Memory Scope","scopeIdPlaceholder":"Deixe em branco para usar o escopo de agente exclusivo desta instalação","scopeIdInvalid":"O escopo de memória não pode conter apenas espaços.","timeout":"Request Timeout","maxContextBytes":"Contexto injetado máximo (bytes)","maxContextBytesTooltip":"Limita o total de resultados de pesquisa do PowerContext adicionados a um turno do modelo."},"dialogPath":"Dialog Storage Caminho","dialogPathTooltip":"Relative path for dialog persistence storage (relative to working_dir)","dialogPathPlaceholder":"dialog","contextCompactCollapseLabel":"Context Compaction","toolResultPruningCollapseLabel":"Tool Result Pruning","autoMemorySearchCollapseLabel":"Automatico Memory Pesquisar","embeddingConfigCollapseLabel":"Embedding Modelo Configuracao","summarizeWhenCompact":"Memory Ligado Compact","summarizeWhenCompactTooltip":"Automatically generate and save memory during context compaction","inboxPushEnabled":"Notificações de resultados da memória","inboxPushEnabledTooltip":"Envia resultados de memória, sonho e Daily Paper para a caixa de entrada. Desativar não interrompe as tarefas de memória.","autoMemoryInterval":"Intervalo de Memória Automática","autoMemoryIntervalTooltip":"Acione a memória automática a cada N consultas do usuário. 0 desativa a memória automática periódica. 1 significa memória automática após cada consulta. Recomendado: 2-5; usar 1 exige atenção ao alto consumo de tokens.","autoMemoryIntervalPlaceholder":"Digite 0 para desativar a memória automática periódica","autoMemoryIntervalRequired":"O intervalo de memória automática é obrigatório","autoMemoryIntervalMin":"O intervalo de memória automática deve ser no mÃnimo 0","contextManagerBackend":"Context Manager Backend","contextManagerBackendTooltip":"Backend type for the context manager. Currently only Light is supported.","contextStrategy":"Context Strategy","contextStrategyTooltip":"How the agent manages long context. Scroll (recommended) persists evicted turns to a durable history store and recalls them on demand; Native uses in-place compression. Restart QwenPaw for changes to take effect.","contextStrategyScroll":"Scroll","contextStrategyNative":"Native","backendRestartWarning":"Switching backends does not support hot reload. Save and restart QwenPaw for changes to take effect."}`),P_={title:"Integrado Ferramentas",description:"Manage built-in tools and their enabled status. Disabled tools will not be available to the agent.",emptyState:"Nao Ferramentas configured",loadError:"Falhou to load Ferramentas",enableSuccess:"Tool Ativado successfully",disableSuccess:"Tool Desativado successfully",toggleError:"Falha ao toggle tool Status",enableAll:"Ativar Todos",disableAll:"Desativar Todos",enableAllSuccess:"Todos Ferramentas Ativado",disableAllSuccess:"Todos Ferramentas Desativado",allEnabled:"All tools are already enabled",allDisabled:"All tools are already disabled",asyncExecution:"Async Execution",asyncExecutionEnabled:"Async execution Ativado",asyncExecutionDisabled:"Async execution Desativado",browserUnifiedMode:"Navegador unificado (Beta)",browserLegacyMode:"Modo de compatibilidade legado",browserUnifiedModeButton:"Novo (Beta)",browserLegacyModeButton:"Legado (CompatÃvel)",browserUnifiedDescription:"Use os novos recursos do navegador unificado.",browserLegacyDescription:"Use a implementação original do navegador para o comportamento legado.",browserRestartPending:"O serviço mudará para {{mode}} após reiniciar.",configure:"Configurar",configured:"Configurado",requiresConfig:"Requer configuração",configSaved:"Configuração salva",configSaveError:"Falha ao salvar configuração",webSearchProviderLabel:"Provedor",webSearchApiKeyLabel:"Chave de API (opcional)",webSearchQuotaHintBefore:"Grátis: 100 chamadas/dia. Registre-se em ",webSearchQuotaHintAfter:" para 1.000/dia.",active:"ativo(s)",available:"DisponÃvel",noEnabled:"Nenhuma ferramenta ativada",goEnableBtn:"Ativar agora",configureAction:"Configurar â",enableAction:"Ativar â"},A_={promptTitle:"LLM Model Required â Select in Chat After Configuration",promptMessage:"Chat requires an LLM model to function. Please configure a model first, then select it from the model selector at the top of the Chat page.",configureButton:"Configure Modelo",
199skipButton:"Skip",chatDisabledTitle:"Chat Desativado",chatDisabledMessage:"Chat functionality is disabled because no model is configured. Please configure a model to enable chat.",configureNow:"Configure Modelo",modelNotConfigured:"Please configure a model in Settings before using chat"},M_={changelog:"Registro de Alterações",docs:"Documentação",tutorial:"Tutorial",featureDemos:"Demonstração de Funções",faq:"Perguntas Frequentes",github:"GitHub",resources:"Documentação",updateAvailable:"Atualização DisponÃvel"},D_={dark:"Dark",light:"Light",system:"System"},x_={newVersion:"New version available: v{{version}}, click to upgrade",updateModal:{title:"Novo Versao available: v{{version}}",viewReleases:"Visualizar Releases",installDesktopUpdate:"Atualizar agora",desktopInstallHint:"QwenPaw Desktop {{version}} está pronto para instalar. O aplicativo será reiniciado após a atualização.",checking:"Verificando atualizaçõesâ¦",checkingHint:"Confirmando a versão mais recente",downloading:"Baixando atualização",downloadingTo:"Atualizando para a versão {{version}}",downloadProgress:"{{done}} / {{total}} · {{rate}}",installing:"Instalando atualização",willRestart:"O aplicativo será reiniciado automaticamente após a conclusão.",stepPrepare:"Preparar",stepDownloading:"Baixar",stepInstalling:"Instalar",failedTitle:"Falha na atualização",back:"Voltar",retry:"Tentar Novamente",errors:{network:"Não foi possÃvel alcançar o servidor de atualização. Verifique sua internet e tente novamente.",signature:"Assinatura do arquivo de atualização inválida. Tente baixar novamente.",appLocation:"O QwenPaw está sendo executado a partir de um local somente leitura do macOS. Mova QwenPaw.app para a pasta Aplicativos, abra-o a partir de lá e tente atualizar novamente.",other:"Falha na atualização."},updateLater:"Baixar em segundo plano",backgroundDownloading:"Baixando em segundo planoâ¦",readyToInstall:"Atualização pronta",readyToInstallHint:"A atualização v{{version}} foi baixada. Reinicie para instalar e abrir a nova versão.",restartNow:"Atualizar agora",backgroundFailed:"Falha no download em segundo plano"},settings:{language:"Idioma",theme:"Tema",mode:"Modo",desktopMode:"Modo Desktop"},simpleMode:"Modo simples",fullMode:"Modo completo",toggleAgentNavigation:"Expandir ou recolher a navegação do agente"},R_={groups:{cronShort:"Agendado",subagentShort:"Subagente"},fileReference:{codeSnippet:"Trecho de código · {{count}} linhas"},modelSelectTooltip:"Selecionar Modelo",newChatTooltip:"Novo Chat",searchTooltip:"Pesquisar Todos chats",chatHistoryTooltip:"Chat history",wideModeTooltip:"Modo amplo",normalModeTooltip:"Modo normal",messageDisplay:{stepsRunning:"Em execução⦠· {{count}} etapas",stepsCanceled:"Cancelado · {{count}} etapas",stepsFailed:"Falhou · {{count}} etapas",stepsCompleted:"{{count}} etapas concluÃdas"},allChats:"Todos Chats",createNewChat:"Criar Novo Chat",pinDrawer:"Fixar",unpinDrawer:"Desafixar",statusIdle:"Idle",statusInProgress:"In progress",disclaimer:"Works for you, grows with you",greeting:"Hello, how can I help you today?",description:"I am a helpful assistant that can help you with your questions.",prompt1:"Let's start a new journey!",prompt2:"Can you tell me what skills you have?",inputPlaceholder:'"ââ" for message navigation · "/" for quick commands',longTextUploadPrompt:"Please read the uploaded prompt file and answer it.",emptyOutputError:"O assistente retornou uma resposta vazia.",commands:{clear:{description:"Limpar the conversation context"},compact:{description:"Compact the conversation context; optional instruction supported"},approve:{description:"Approve the pending tool action and continue execution"},deny:{description:"Deny the pending tool action"},mission:{description:"Modo Mission â Decompõe tarefas em sub-agentes com contexto isolado"},skills:{description:"List chat-available skills and expose explicit skill commands"},agents:{description:"Listar os agentes disponÃveis no runtime atual"},review:{description:"Revisar com o Codex as alterações não commitadas no workspace"},status:{description:"Mostrar a conta, o modelo e o workspace atuais do agente"}
199,goal:{description:"Loop Goal â Agente persegue objetivo continuamente, auto-avalia via Rubric"}},attachments:{tooltip:"Supports documents, images, videos, audio and more formats",tooltipImageOnly:"Current model supports image upload only",tooltipNoMultimodal:"No multimodal capability detected for current model, images or videos may not be processed correctly",fileSizeLimit:"File size limit: {{limit}}MB",fileSizeExceeded:"File size exceeds {{limit}}MB limit. Current file: {{size}}MB",multimodalDisabled:"Current model does not support file upload",multimodalWarning:"No multimodal capability detected for current model, images or videos may not be processed correctly",imageOnlyAccept:"Current model only supports image files",imageOnlyWarning:"Current model only supports images, non-image files like videos may not be processed correctly"},rateLimitHit:"O modelo atual está com limite de taxa. Tente mudar para outro modelo gratuito.",turnUsagePopover:{ariaLabel:"Ver uso de tokens e contexto desta rodada",turn:"Esta rodada",turnEstimated:"Esta rodada ~",tok:"tok",inOut:"in {{inTok}} · out {{outTok}}",contextLabel:"Janela de contexto:",outerRing:"Outer ring",cacheLabel:"Cache hit rate",centerValue:"Center",cacheTokens:"acerto {{readTok}} / entrada {{inputTok}}",manageContext:"Gerenciar contexto",compact:"Compactar",new:"Nova conversa"},rateLimitMessage:"Limite de taxa atingido. Mude para outro modelo gratuito:",rateLimitSwitched:"Mudou para {{model}}",speech:{startRecording:"Iniciar gravação de voz (Ctrl+Shift+M)",stopRecording:"Parar gravação (Ctrl+Shift+M)",transcribing:"Transcrevendo...",transcriptionDisabled:"A transcrição está desativada. Configure um provedor em Configurações > Transcrição de Voz.",transcriptionFailed:"Falha na transcrição de voz",microphoneError:"Não foi possÃvel acessar o microfone",fileTooLarge:"O arquivo de gravação é muito grande ({{size}}MB). Máximo permitido: {{limit}}MB",recordingTooLong:"A gravação excede o limite de duração ({{limit}}s)"},search:{title:"Pesquisar Chat",tooltip:"Pesquisar Atual Chat",placeholder:"Pesquisar messages...",noResults:"Nao results found",resultsCount:"Found {{count}} result(s)",searching:"Searching {{progress}}...",loading:"Carregando...",userMessage:"Usuario",assistantMessage:"Assistant",titleMatch:"Title"},contextMenu:{open:"Abrir",rename:"Rename",pin:"Pin",unpin:"Unpin",delete:"Excluir"},queue:{title:"Fila de mensagens",paused:"Pausado",sendFailed:"Falha no envio",resume:"Retomar fila",pause:"Pausar fila",clear:"Limpar fila",dragSort:"Arraste para reordenar",edit:"Editar",retry:"Tentar novamente",skip:"Pular",interruptAndSend:"Interromper e enviar",delete:"Excluir",file:"Arquivo",noChatWarning:"Envie uma mensagem primeiro para criar uma conversa antes de usar a fila",queueFull:"Fila cheia (máx. {{max}} itens). Envie ou remova algumas mensagens primeiro",otherTabOwner:"This tab queues only; sending is handled by another tab"},group:{pinned:"Fixados",today:"Hoje",week:"Ãltimos 7 dias",month:"Ãltimos 30 dias",older:"Anteriores"},sessionPanel:{searchConversations:"Pesquisarâ¦",noResults:"Nenhum resultado",noConversations:"Sem conversas",loadingConversations:"Carregandoâ¦"},conversationHistory:"Histórico de conversas",history:{empty:"Sem histórico de conversas"},sessionGroup:{today:"Hoje",recent:"Ãltimos 7 dias",earlier:"Anteriores"}},I_=JSON.parse(`{"parent":"Configuracoes","security":"Seguranca","title":"Seguranca","description":"Manage security features for tools and skills.","toolGuardTitle":"Tool Guard","toolGuardDescription":"Configure security scanning for tool calls. Dangerous operations will require your explicit approval before execution.","enabled":"Ativar Tool Guard","enabledTooltip":"When enabled, tool calls are scanned for dangerous patterns before execution","guardedTools":"Guarded Ferramentas","guardedToolsTooltip":"Tools that require approval when dangerous patterns are detected. Leave empty to use the built-in default set.","guardedToolsPlaceholder":"Select tools or type custom tool names","deniedTools":"Denied Ferramentas","deniedToolsTooltip":"Tools that are always rejected without asking for approval","deniedToolsPlaceholder":"Select tools to always deny","saveSuccess":"Tool guard Configuracoes saved","saveFailed":"Falha ao Salvar tool guard Configuracoes","loadFailed":"Falha ao load tool guard Configuracoes","rules":{"title":"Detection Rules","de
199scription":"Rules define regex patterns that trigger security alerts. Built-in rules can be disabled; custom rules can be added, edited, or deleted.","id":"Rule ID","severity":"Severity","descriptionCol":"Descricao","source":"Origem","actions":"Acoes","builtin":"Integrado","custom":"Personalizado","enable":"Ativar","disable":"Desativar","edit":"Editar","delete":"Excluir","add":"Adicionar Rule","addTitle":"Adicionar Personalizado Rule","editTitle":"Editar Personalizado Rule","ruleId":"Rule ID","ruleIdRequired":"Rule ID is Obrigatorio","duplicateId":"A rule with this ID already exists","tools":"Target Ferramentas","toolsPlaceholder":"Leave empty to match all tools","params":"Target Parameters","paramsPlaceholder":"Leave empty to match all parameters","severityLabel":"Severity","categoryLabel":"Category","patterns":"Regex Patterns","patternsRequired":"At least one pattern e obrigatorio","patternsTooltip":"One regex per line. Matched against tool parameter values (case-insensitive).","excludePatterns":"Exclude Patterns","excludePatternsTooltip":"One regex per line. If any matches, the rule is skipped for that value.","descriptionLabel":"Descricao","descriptionPlaceholder":"What does this rule detect?","remediationLabel":"Remediation","remediationPlaceholder":"Suggested action when this rule triggers","preview":"Visualizar","previewTitle":"Rule Detalhes","actionLabel":"Action","actionApproval":"Require Approval","allTools":"Todos Ferramentas","allParams":"Todos parameters","descriptions":{"TOOL_CMD_CONTROL_CHARS":"Detects commands with non-printable control characters that may bypass security checks","TOOL_CMD_DANGEROUS_MV":"Detects 'mv' command that may move or overwrite files unexpectedly","TOOL_CMD_DANGEROUS_RM":"Detects 'rm' command that may cause data loss","TOOL_CMD_DOS_FORK_BOMB":"Detects classic Bash fork bombs and mass process termination","TOOL_CMD_FIND_DELETE":"Detects 'find -delete' command that may cause data loss","TOOL_CMD_FS_DESTRUCTION":"Detects low-level disk formatting or wiping commands","TOOL_CMD_IFS_INJECTION":"Detects commands using $IFS variable that may bypass security validation","TOOL_CMD_JQ_FILE_FLAGS":"Detects jq commands using flags that may read arbitrary files or execute external code","TOOL_CMD_JQ_SYSTEM":"Detects jq commands with system() function that may execute arbitrary shell commands","TOOL_CMD_OBFUSCATED_EXEC":"Detects execution of base64 encoded strings passed directly to a shell interpreter","TOOL_CMD_PIPE_TO_SHELL":"Detects 'curl | bash' patterns used to download and immediately execute remote payloads","TOOL_CMD_PRIVILEGE_ESCALATION":"Detects privilege escalation attempts using sudo, su, doas, pkexec, or runas","TOOL_CMD_PROCESS_KILL":"Detects process termination commands that may kill critical processes","TOOL_CMD_PROC_ENVIRON":"Detects commands accessing /proc/*/environ that may expose sensitive environment variables","TOOL_CMD_REVERSE_SHELL":"Detects attempts to establish reverse shells or unauthorized network tunnels","TOOL_CMD_SERVICE_RESTART":"Detects service management commands that can disrupt system services","TOOL_CMD_SYSTEM_REBOOT":"Detects system reboot or shutdown commands that will terminate the host system","TOOL_CMD_SYSTEM_TAMPERING":"Detects access to cron jobs, SSH keys, or sudo permissions (including reads and modifications)","TOOL_CMD_UNICODE_WHITESPACE":"Detects commands with Unicode whitespace characters that may cause parsing issues","TOOL_CMD_UNSAFE_PERMISSIONS":"Detects global permission downgrades (chmod 777) or setting immutable flags","TOOL_CMD_ZSH_DANGEROUS":"Detects commands using Zsh-specific builtins that may bypass security checks"},"categories":{"command_injection":"Command Injection","code_execution":"Code Execution","data_exfiltration":"Data Exfiltration","path_traversal":"Caminho Traversal","sensitive_file_access":"Sensitive File Access","network_abuse":"Network Abuse","credential_exposure":"Credential Exposure","resource_abuse":"Resource Abuse","privilege_escalation":"Privilege Escalation","prompt_injection":"Prompt Injection","other":"Other"}},"shellEvasion":{"title":"Shell Evasion Detection","description":"Configure which shell evasion and obfuscation detection checks are enabled. These checks detect techniques that attempt to hide malicious intent from simpler regex-only detection.","checks":{"command_substitution":{"name":"Command Substitution","description":"Detects $(), backticks, process substitution, and other command substitution patterns"}
199,"obfuscated_flags":{"name":"Obfuscated Flags","description":"Detects ANSI-C quoting, locale quoting, and empty-quote flag obfuscation"},"backslash_escaped_whitespace":{"name":"Backslash Escaped Whitespace","description":"Detects backslash-escaped spaces/tabs that can alter command parsing"},"backslash_escaped_operators":{"name":"Backslash Escaped Operators","description":"Detects backslash before shell operators (;|&<>) that can hide command structure"},"newlines":{"name":"Hidden Newlines","description":"Detects newlines and carriage returns that could separate hidden commands"},"comment_quote_desync":{"name":"Comment Quote Desync","description":"Detects quote characters inside # comments that can desync quote tracking"},"quoted_newline":{"name":"Quoted Newline","description":"Detects newlines inside quoted strings followed by #-prefixed lines that can hide arguments"}}},"fileGuard":{"title":"File Guard","description":"Protect sensitive files and directories from being accessed by agent tools. Paths added here will be blocked across all tool calls.","enableLabel":"Ativar File Guard","path":"Caminho","actions":"Acoes","add":"Adicionar","inputPlaceholder":"Enter file or directory path (e.g. ~/.ssh/ or /etc/passwd)","empty":"No custom sensitive paths configured","directory":"Directory","removeConfirm":"Remove this path from the protected list?","duplicate":"This path is already in the list","saveSuccess":"File guard Configuracoes saved","saveFailed":"Falha ao Salvar file guard Configuracoes","loadFailed":"Falha ao load file guard Configuracoes","allowPreviewOutsideWorkspace":"Permitir Preview Fora do Workspace no Console","allowPreviewOutsideWorkspaceDesc":"Permite visualizar arquivos fora do diretório do workspace no console. A proteção de arquivos sensÃveis continua ativa."},"allowNoAuthHosts":{"title":"Allow Nao Auth Hosts","warningTitle":"Seguranca Aviso","warningDescription":"IP addresses in this list can access API endpoints without authentication. By default, localhost (127.0.0.1 and ::1) are allowed for CLI access. Only add trusted IP addresses. WARNING: Adding untrusted IPs poses a serious security risk.","ipAddress":"IP Address","actions":"Acoes","add":"Adicionar","inputPlaceholder":"Enter IP address (e.g., 192.168.1.100 or ::1)","empty":"Nao IP addresses configured","default":"Padrao","removeConfirm":"Remove this IP address from the whitelist?","duplicate":"This IP address is already in the list","invalidIP":"Invalid IP address Formato","saveSuccess":"Allow no auth hosts settings saved","saveFailed":"Failed to save allow no auth hosts settings","loadFailed":"Failed to load allow no auth hosts settings"},"skillScanner":{"title":"Skill Scanner","description":"Automatically scan skills for security threats before enabling or installing. Unsafe skills can be blocked or whitelisted.","mode":"Scanner Modo","modeTooltip":"Controls how the scanner handles unsafe skills: block, warn only, or disabled","modeBlock":"Block","modeWarn":"Warn Only","modeOff":"Desligado","timeout":"Scan Tempo limite (seconds)","timeoutTooltip":"Maximum time to wait for a scan to complete (5-300 seconds)","saveSuccess":"Skill scanner Configuracoes saved","saveFailed":"Falha ao Salvar Skill scanner Configuracoes","scanAlerts":{"title":"Scan Alerts","empty":"Nao Seguranca alerts","clearAll":"Limpar Todos","clearConfirm":"Limpar Todos scan alerts?","skillName":"Skill","action":"Action","actionBlocked":"Blocked","actionWarned":"Warned","time":"Time","actions":"Acoes","allowSkill":"Adicionar to Whitelist","remove":"Remover","viewFindings":"Visualizar Detalhes"},"whitelist":{"title":"Whitelist","empty":"Nao Skills are whitelisted","skillName":"Skill","addedAt":"Added At","contentHash":"Conteudo Hash","actions":"Acoes","remove":"Remover","removeConfirm":"Remove this skill from the whitelist?","addSuccess":"Skill added to whitelist","removeSuccess":"Skill removed from whitelist","addFailed":"Falha ao Adicionar Skill to whitelist","removeFailed":"Falha ao Remover Skill from whitelist","removeWillDisable":"The skill will also be disabled after removal.","removeAndDisabled":"Skill removed from whitelist and disabled"},"scanError":{"title":"Seguranca Issues Detected","description":"The following security issues were found:","warnDescription":"Security issues were found but the skill was still enabled (warn mode):","goToWhitelist":"Go to Whitelist","moreFindings":"{{count}} more issues not shown (see Security â Skill Scanner for the full list)."}}}`),__=JSON.parse('{"brand":{"title":"Administração do Hub","subtitle":"Espaço de trabalho local","controlPlane":"Plano de controle"}
199,"navigation":{"workspace":"Espaço de trabalho","overview":"Operações","runtimes":"Tempos de execução","users":"Usuários","credentials":"Credenciais","audit":"Registro de auditoria","settings":"Configurações do sistema"},"actions":{"backToQwenPaw":"Voltar para QwenPaw","useLightTheme":"Use tema claro","useDarkTheme":"Usar tema escuro","signOut":"Sair","start":"Iniciar","stop":"Parar","disable":"Desativar","rebuild":"Recriar","enableAndStart":"Ativar e iniciar"},"roles":{"admin":"Administrador","user":"Usuário"},"userStates":{"active":"Ativo","disabled":"Desabilitado"},"runtimeStates":{"created":"Criado","starting":"Iniciando","running":"Em execução","stopped":"Parado","failed":"Falhou"},"runtimePolicies":{"owner_allowed":"O proprietário pode reiniciar","admin_only":"Bloqueado pelo administrador"},"errors":{"actionFailed":"Falha na ação","createFailed":"Falha na criação","updateFailed":"Falha na atualização","saveFailed":"Falha ao salvar","pullTimedOut":"Tempo limite esgotado aguardando a extração da imagem"},"messages":{"runtimeCreated":"Tempo de execução criado","accountCreated":"Conta criada","credentialStored":"Credencial armazenada","settingsSaved":"Configurações do hub salvas","imagePulled":"Extração de imagem Docker concluÃda"},"validation":{"required":"Este campo é obrigatório","runtimeIdInvalid":"Use de 1 a 64 letras, números, pontos, sublinhados ou hifens, começando com uma letra ou número","passwordMin":"A senha deve conter pelo menos oito caracteres","credentialNameInvalid":"Use um nome de variável de ambiente em letras maiúsculas, como OPENAI_API_KEY"},"runtimes":{"eyebrow":"Administração do hub","title":"Visão geral do tempo de execução","description":"Cada usuário tem um ambiente de execução próprio, com arquivos e chaves separados dos demais.","newRuntime":"Novo tempo de execução","managed":"Tempos de execução gerenciados","localBoundaries":"Limites locais do processo","runningNow":"Correndo agora","needsAttention":"O tempo de execução {{count}} precisa de atenção","healthy":"Todos os estados observados são saudáveis","isolationPolicy":"PolÃtica de isolamento","available":"DisponÃvel","unavailable":"IndisponÃvel","failClosed":"Falha fechada","noFallback":"Nenhum substituto sem sandbox","executionBlocked":"A execução do tempo de execução está bloqueada","isolationTitle":"Isolamento local com falha fechada","isolationDescription":"Toda a árvore do processo de tempo de execução está em área restrita. Se a sonda de isolamento nativo falhar, QwenPaw se recusará a iniciá-la.","unavailableTitle":"Back-end de tempo de execução seguro indisponÃvel","unavailableDescription":"{{provisioner}} está indisponÃvel: {{reason}} Verifique a instalação, o status de execução e a configuração do sistema do backend e reinicie o QwenPaw Hub.","unavailableUserDescription":"O backend de runtime está temporariamente indisponÃvel. Entre em contato com um administrador.","preflightFailed":"A simulação de segurança falhou.","localEndpoint":"Ponto de extremidade local · {{endpoint}}","provisioner":"Tipo de execução","localExecution":"Isolamento local","dockerExecution":"Contêiner Docker","security":"Segurança","tenant":"Inquilino","removeTitle":"Remover {{id}}?","removeDescription":"O registro é removido; os dados de tempo de execução são retidos.","disableTitle":"Desativar {{id}}?","disableDescription":"O processo será interrompido e o proprietário não poderá reiniciá-lo até que um administrador o habilite.","rebuildTitle":"Reconstruir {{id}} com a imagem atual?","rebuildDescription":"O contêiner será substituÃdo usando a imagem nas configurações do sistema. Espaço de trabalho persistente, segredos e backups são mantidos.","emptyTitle":"Ainda não há tempos de execução","emptyDescription":"Crie o primeiro tempo de execução QwenPaw local isolado."},"users":{"eyebrow":"Identidade e acesso","title":"Acesso do usuário","description":"Crie contas locais, atribua acesso administrativo e revogue sessões em um só lugar.","addAccount":"Adicionar conta","publicRegistration":"Registro público","publicRegistrationDescription":"Quando desativado, apenas administradores podem criar contas.","currentAccountProtected":"Conta atual protegida","empty":"Nenhum usuário corresponde a esses filtros"},"credentials":{"eyebrow":"Cofre com escopo de locatário","title":"Credenciais","description":"Armazene chaves de provedor dentro de um locatário explÃcito ou escopo de tempo de execução. Os valores secretos são criptografados e nunca retornados pelo API.","storeCredential":"Salvar credencial","updated":"Atualizado em {{date}}","deleteTitle":"Excluir {{name}}?","deleteDescription":"Os tempos de execução que usam essa credencial podem parar de funcionar.","emptyTitle":"O cofre está vazio","emptyDescription":"Armazene uma chave API com escopo de locatário ou tempo de execução.","encrypted":"Criptografado em repouso; texto simples não pode ser lido"},"overview":{"eyebrow":"Painel de operações","title":"Visão geral do Hub","description":"Entenda a integridade do Hub usando estado de tempo de execução real, recursos de host e eventos de auditoria.","availability":"Disponibilidade de tempo de execução","availabilityDetail":"{{running}} dos tempos de execução {{total}} estão atualmente online","totalRuntimes":"Total de ambientes","failedCount":"Os tempos de execução {{count}} precisam de atenção","totalUsers":"Usuários do hub","managedLocally":"Gerenciamento local de identidade e acesso","hostResources":"Recursos de hospedagem","liveSnapshot":"Instantâneo ao vivo atual","memory":"Memória","dataDisk":"Disco de dados","recentActivity":"Atividade recente","auditBacked":"Apoiado pelo log de auditoria persistente","systemHealthy":"Todos os sistemas funcionando","systemDegraded":"Sistema degradado","localIsolation":"Execução isolada local"},"table":{"searchRuntimes":"Pesquise tempos de execução, proprietários ou endpoints","searchUsers":"Pesquise nomes de usuário ou IDs de usuário","searchCredentials":"Pesquisar nomes de credenciais ou escopos","searchAudit":"Pesquisar atores ou recursos","allStates":"Todos os estados","allOwners":"Todos os proprietários","allExecutions":"Todos os tipos de execução","allRoles":"Todas as funções","allUserStates":"Todos os estados do usuário","allScopes":"Todos os escopos","allActions":"Todas as ações","runtime":"Tempo de execução","
199status":"Status","owner":"Proprietário","endpoint":"Endpoint","execution":"Execução","updated":"Atualizado","user":"Usuário","role":"Função","created":"Criado","credential":"Credencial","scope":"Escopo","event":"Evento","actor":"Ator","resource":"Recurso","result":"Resultado","time":"Tempo","total":"{{total}} itens"},"audit":{"eyebrow":"Segurança e governança","title":"Registro de auditoria","description":"Revise quem executou cada ação de gerenciamento do Hub, seu objetivo, resultado e prazo. Valores sensÃveis nunca são auditados.","empty":"Ainda não há eventos de gerenciamento"},"settings":{"eyebrow":"Configuração da plataforma","title":"Configurações do sistema","description":"Gerencie a configuração completa do Hub a partir de uma fonte confiável auditada. As alterações entram em vigor imediatamente e persistem durante as reinicializações.","save":"Salvar configurações","meta":"Revisão {{revision}} · {{date}} atualizado","tabs":{"access":"Segurança de acesso","runtime":"Tempos de execução"},"access":{"title":"Acesso e registro","description":"Configure o endereço do Hub acessÃvel pelo navegador e a polÃtica de conta pública.","publicBaseUrl":"URL base pública","publicBaseUrlHint":"Usado para retornos de chamada OAuth. Deixe em branco apenas para implantações somente de loopback.","registration":"Registro público","registrationHint":"Quando desativado, apenas administradores podem criar contas.","defaultRole":"Função de registro padrão","defaultRoleHint":"As contas auto-registradas são sempre de usuários comuns por questões de segurança."},"security":{"title":"Proteção de autenticação","description":"Limite o abuso de login e registro e bloqueie endereços ou redes.","ipBlacklist":"Lista negra de IP","ipBlacklistHint":"Suporta IPv4, IPv6 e CIDR; pressione Enter após cada valor.","trustedProxyIps":"Proxies reversos confiáveis","trustedProxyIpsHint":"X-Forwarded-For é confiável apenas quando enviado por esses endereços.","loginRateLimit":"Falha no limite de taxa de login","loginRateLimitHint":"Bloqueie temporariamente repetidas tentativas de login malsucedidas de um endereço.","registrationRateLimit":"Limite de taxa de registro","registrationRateLimitHint":"Restrinja a criação de novas contas a partir de um endereço.","maxAttempts":"Máximo de tentativas","windowSeconds":"Janela (segundos)","blockSeconds":"Duração do bloco (segundos)"},"runtime":{"title":"PolÃtica de tempo de execução","description":"Selecione o back-end do tempo de execução. Os tempos de execução existentes são ativados na próxima reinicialização.","provisioner":"Back-end de tempo de execução","localBackend":"Processo local","localBackendHint":"Executa processos isolados diretamente neste host.","dockerBackend":"Contêiner Docker","dockerBackendHint":"Executa cada conta em um contêiner gerenciado.","backendUnavailable":"IndisponÃvel neste host","localIsolationHint":"O modo local usa processos de host e não usa nenhuma configuração de imagem Docker.","dockerIsolationHint":"O modo Docker aplica a polÃtica de imagem e recursos abaixo a todas as contas."},"docker":{"title":"PolÃtica Docker","description":"Gerencie centralmente a imagem, o comportamento de pull e os limites de recursos por contêiner. Os usuários não podem substituir essas configurações.","unavailable":"O mecanismo Docker não está disponÃvel","source":"Fonte da imagem","dockerHub":"Docker Hub oficial","aliyunAcr":"Registro oficial do Alibaba Cloud","custom":"Imagem personalizada","customHint":"Insira qualquer referência de imagem permitida pela polÃtica.","customRegistry":"Registro personalizado ou referência de imagem","localHost":"Imagem local","localHostHint":"Use uma tag de imagem já presente neste host.","noLocalImages":"Nenhuma imagem local marcada foi encontrada","image":"Imagem e etiqueta","selectLocalImage":"Selecione uma tag de imagem local","selectedImage":"Imagem eficaz","repository":"Repositório","localStatus":"Situação local","downloaded":"Baixado","notDownloaded":"Não baixado","pullPolicy":"PolÃtica de pull automático","ifNotPresent":"Puxe quando estiver faltando localmente","always":"Puxe antes da primeira criação","never":"Use apenas imagens locais","pullImage":"Extraia a imagem agora","localImages":"Referências de imagem local {{count}}","resources":"Limites de recursos do contêiner","cpuLimit":"Núcleos de CPU","memoryLimit":"Memória (MB)","pidsLimit":"Máximo de processos","shmSize":"Memória compartilhada (MB)"},"quotas":{"title":"Capacidade de tempo de execução global","description":"Cada locatário possui exatamente um runtime; isso limita os tempos de execução simultâneos no Hub.","maxRunningRuntimes":"Tempos máximos de execução","unlimitedHint":"Vazio significa ilimitado."}},"auditActions":{"runtime":{"create":"Tempo de execução criado","start":"Tempo de execução iniciado","stop":"Tempo de execução interrompido","disable":"Tempo de execução desativado","rebuild":"Tempo de execução reconstruÃdo","delete":"Tempo de execução excluÃdo"},"image":{"pull":"Imagem Docker extraÃda"},"user":{"create":"Usuário criado","update":"Usuário atualizado"}
199,"credential":{"store":"Credencial armazenada","delete":"Credencial excluÃda"},"settings":{"update":"Configurações atualizadas do Hub"},"auth":{"register":"Usuário registrado do Hub"}},"auditOutcomes":{"success":"Sucesso","failure":"Falha"},"runtimeForm":{"title":"Criar tempo de execução","hint":"O tempo de execução começa dentro da sandbox local nativa. Seus arquivos, segredos e árvore de processos permanecem separados de outros usuários.","runtimeId":"ID do tempo de execução","startImmediately":"Comece imediatamente","submit":"Criar tempo de execução"},"userForm":{"title":"Adicionar conta","hint":"Use uma senha temporária com pelo menos oito caracteres. O usuário só pode acessar tempos de execução pertencentes ao seu locatário pessoal.","username":"Nome de usuário","temporaryPassword":"Senha temporária","role":"Papel","submit":"Criar uma conta"},"credentialForm":{"title":"Salvar credencial","hint":"O escopo do locatário se aplica a todos os seus tempos de execução. O escopo do tempo de execução é uma substituição privada para um processo selecionado.","scope":"Escopo","allRuntimes":"Todos os meus tempos de execução","environmentName":"Nome do ambiente","secretValue":"Valor secreto","submit":"Criptografar e armazenar"}}'),L_={title:"Login to QwenPaw",registerTitle:"Criar Account",firstUserHint:"Create your admin account to get started",usernamePlaceholder:"Username",passwordPlaceholder:"Password",usernameRequired:"Please enter your username",passwordRequired:"Please enter your password",submit:"Login",register:"Register",failed:"Login failed, please check your credentials",registerSuccess:"Registration successful",registerFailed:"Registration Falhou",authNotEnabled:"Autenticacao is not Ativado",logout:"Logout",logoutSuccess:"Logged out successfully",sessionExpired:"Session expired, please login again",unauthorized:"Unauthorized, please login"},E_={title:"Account",currentPassword:"Atual Password",currentPasswordRequired:"Digite your Atual password",newUsername:"Novo Username",newUsernamePlaceholder:"Leave blank to keep current",newPassword:"Novo Password",newPasswordPlaceholder:"Leave blank to keep current",confirmPassword:"Confirmar Novo Password",confirmPasswordPlaceholder:"Re-enter Novo password",passwordMismatch:"Passwords do not match",save:"Salvar Changes",updateSuccess:"Account Atualizado successfully",updateFailed:"Falhou to Atualizar account",wrongPassword:"Atual password is incorrect",nothingToUpdate:"Please enter a new username or password",passwordEmpty:"Password cannot be blank",usernameEmpty:"Username cannot be blank",username:"Nome de usuário",passwordRequired:"Digite uma nova senha",hubPasswordPlaceholder:"Digite pelo menos oito caracteres",runtimeTitle:"Ambiente pessoal",runtimeDescription:"Reinicie o ambiente se o espaço de trabalho ficar indisponÃvel. As tarefas em execução serão interrompidas, mas os dados salvos serão mantidos.",runtimeRestartConfirmTitle:"Reiniciar o ambiente?",runtimeRestartConfirmDescription:"As tarefas em execução serão interrompidas durante a reinicialização.",runtimeRestart:"Reiniciar ambiente",runtimeRestartSuccess:"Ambiente reiniciado",runtimeRestartFailed:"Falha ao reiniciar o ambiente"},F_={title:"Seguranca Approval Obrigatorio",tool:"Tool",severity:"Severity",findings:"Findings",parameters:"Parameters",approve:"Approve",deny:"Deny",source:"Origem",subSession:"Sub-Agent",approved:"Tool call approved",denied:"Tool call denied",approveFailed:"Falhou ao aprovar",denyFailed:"Falhou ao negar",approvePattern:"Sempre Permitir",strictModeHint:"Sempre permitir não está disponÃvel no modo estrito",approveExact:"Apenas Desta Vez",approvalScope:"Escopo de aprovação",details:"Detalhes",timeoutAutoDenied:"Tempo esgotado, negado automaticamente",acknowledge:"Entendi",builtinSource:"Integrado",ownerAgent:"Agente Proprietário",executingAgent:"Agente Executando"},O_={title:"Gerenciador de Plugins",description:"Instalar, gerenciar e remover plugins sem reiniciar o serviço.",installed:"Plugins Instalados",noPlugins:"Nenhum plugin instalado ainda",installBtn:"Instalar Plugin",installTitle:"Instalar Plugin",dropPrimary:"Solte a pasta ou arquivo ZIP aqui",dropSecondary:"ou clique para selecionar um arquivo ZIP",orFromUrl:"ou a partir de URL",installFromUrl:"Instalar a partir de URL",urlPlaceholder:"https://example.com/plugin.zip",zipOnly:"Apenas arquivos ZIP podem ser soltos como arquivos â arraste uma pasta para instalação de diretório",dropFailed:"Falha ao ler a pasta solta",restartHint:"Alguns plugins (por exemplo, hooks, monkey-patches) podem exigir uma reinicialização do aplicativo para entrar em vigor ou serem completamente removidos.",installing:"Instalando...",installSuccess:"Plugin instalado com sucesso",installFailed:"Falha na instalação do plugin",uninstall:"Desinstalar",uninstallConfirm:'Desinstalar plugin "{{name}}"? Esta ação não pode ser desfeita. Alguns plugins podem exigir uma reinicialização do aplicativo para serem completamente removidos.',uninstalling:"Desinstalando...",uninstallSuccess:"Plugin desinstalado com sucesso",uninstallFailed:"Falha na desinstalação do plugin",statusLoaded:"Em execução",statusUnloaded:"Não carregado",type:"Tipo",ver
199sion:"Versão",author:"Autor",unknown:"Desconhecido",noMatchingPlugins:"Nenhum plugin corresponde aos filtros atuais",loadFailed:"Falha ao carregar lista de plugins",confirmTitle:"Confirmar Desinstalação",officialTitle:"Plugins Oficiais",officialDesc:"Instale plugins publicados a partir do CDN de downloads.",catalogRefresh:"Atualizar",catalogEmpty:"Nenhum plugin oficial disponÃvel (o catálogo CDN pode estar vazio)",catalogLoadFailed:"Falha ao carregar o catálogo de plugins oficiais",catalogInstall:"Instalar",catalogReinstall:"Reinstalar",catalogUpgrade:"Atualização disponÃvel",catalogUpgradeBtn:"Atualizar",catalogInstalled:"Instalado",catalogSha256:"SHA256",kindBundle:"Pacote",kindTool:"Ferramenta",filterByName:"Filtrar por nome",filterByKind:"Filtrar por tipo",marketTitle:"Mercado de Plugins",marketEmpty:"No plugins found in market",marketLoadFailed:"Failed to load plugin market",marketUnavailable:"Plugin Market is currently under maintenance, please try again later",marketAll:"All",marketSearch:"Search plugins...",marketCategory:"Filter by category",marketSearchResult:'Found {{count}} plugins matching "{{keyword}}"',marketDetails:"Details",marketDownloads:"Downloads",marketDeveloper:"Developer",marketSortLabel:"Sort plugins",marketSortDownloads:"Most downloaded",marketSortUpdated:"Recently updated",marketSortFavorites:"Most favorited"},B_={title:"Colheita diária de IA",tabApprovals:"Aprovações",tabPushMessages:"Mensagens push",tabHarvests:"Colheita de IA",summaryApprovals:"Aprovações",summaryPushUnread:"Push não lidas",summaryHarvests:"Colheitas",from:"De:",requestedBy:"Por",markRead:"Marcar como lida",markAllRead:"Marcar todas como lidas",markAllReadNoUnread:"Nenhuma mensagem não lida",markAllReadSuccess:"{{count}} mensagens marcadas como lidas",selectAllCurrentPage:"Selecionar página atual",selectedItems:"{{count}} selecionado(s)",batchDeleteButton:"Exclusão em lote",batchOperation:"Operação em lote",exitBatch:"Sair do lote",batchDeleteConfirm:"Excluir {{count}} mensagens push selecionadas?",batchDeleteSuccess:"{{count}} mensagens push excluÃdas",pushCronHeader:"Tarefa Cron: {{name}}",viewDetails:"Ver detalhes",deleteMessageConfirm:"Excluir esta mensagem push?",viewAll:"Ver todas",read:"Lida",approve:"Aprovar",reject:"Rejeitar",ready:"Pronto",harvestNow:"Colher agora",createHarvest:"Criar colheita",createFirstHarvest:"Crie sua primeira colheita",createSuccess:"Colheita criada com sucesso",emptyApprovals:"Nenhuma aprovação pendente",emptyPush:"Nenhuma mensagem push",wobbleEnable:"Ativar notificação de aprovação por vibração",wobbleDisable:"Desativar notificação de aprovação por vibração",emptyHarvests:"Ainda não há colheitas",statusReadyToHarvest:"Pronto para colher",statusGrowing:"Em crescimento",harvestedTimes:"Colhido {{count}} vez(es)",harvestSuccessRate:"Taxa de sucesso {{rate}}%",messageDetailComingSoon:"Visualização de detalhes da mensagem â em breve!",harvestSettingsComingSoon:"Configurações de colheita â em breve!",messageDetailTitle:"Detalhe da execução",detailCronTitle:"Tarefa Cron: {{name}}",detailHeartbeatTitle:"Batimento",messageNotFound:"Mensagem não encontrada",detailTaskName:"Nome da tarefa",detailTaskId:"ID da tarefa",detailStatus:"Estado",detailSeverity:"Gravidade",detailAgent:"Agente",detailSource:"Origem",detailSourceCronJob:"Tarefa Cron",detailSourceHeartbeat:"Batimento",detailTrigger:"Disparo",detailDuration:"Duração",detailExecutedAt:"Executado em",detailReceivedAt:"Recebido em",detailRunId:"ID da execução",detailContent:"SaÃda",detailPayload:"Dados",detailExecutionTrace:"Rastro de execução",detailTraceEmpty:"Nenhum rastro de execução disponÃvel",mailDetailSender:"Remetente",mailDetailSubject:"Assunto",mailDetailDate:"Hora do email",mailDetailBody:"Prévia do corpo",mailDetailProcess:"Processo de tratamento",filterByAgent:"Filtrar por agente",filterBySourceType:"Filtrar por origem",sourceTypeCron:"Cron",sourceTypeHeartbeat:"Heartbeat",sourceTypeMemory:"Memory",sourceTypeMail:"Mail",mailAccessControl:"Controle de Acesso de E-mail",pendingSenders:"Remetentes Pendentes",senderLists:"Listas de Remetentes",addSender:"Adicionar Remetente",domainWildcardHint:"Suporta curinga de dominio, ex.: *@example.com",invalidAddress:"Endereco de e-mail invalido. Use um formato como [email protected] ou *@domain.com",whitelist:"Lista Branca",blacklist:"Lista Negra",approveSender:"Aprovar",deny:"Bloquear",dismiss:"Ignorar",batchApprove:"Aprovar em Lote",batchDeny:"Bloquear em Lote",batchDismiss:"Ignorar em Lote",batchRemove:"Remover em Lote",confirmApprove:"Aprovar os remetentes selecionados?",confirmDeny:"Bloquear os remetentes selecionados?",confirmDismiss:"Ignorar os remetentes selecionados?",confirmRemove:"Confirmar remocao?",removeSuccess:"Removido com sucesso",addedToAllAgents:"Adicionado e sincronizado com todos os agentes",senderAddress:"Endereco do Remetente",displayName:"Nome do Remetente",emailSubject:"Assunto",bodyPreview:"Previa do Conteudo",selectAgent:"Selecionar Agente",allAgents:"Todos os Agentes",time:"Hora",remark:"Observacao",actions:"Acoes",o
199ptional:" (opcional)",required:" (obrigatorio)"},N_={title:"Modo de Codificação",experimental:"Funcionalidade Experimental",experimentalDesc:"O Modo de Codificação transforma o QwenPaw em uma IDE Web leve com editor de código, árvore de arquivos, integração Git e assistência de codificação por IA.",experimentalNote:"Esta funcionalidade é experimental e ainda está em desenvolvimento ativo. Algumas funcionalidades podem ser limitadas ou mudar em atualizações futuras.",confirmBtn:"Ativar Modo de Codificação",enterTooltip:"Entrar no Modo de Codificação",exitTooltip:"Sair do Modo de Codificação",btnCode:"Código",btnChat:"Chat",selectProject:"Selecionar Diretório do Projeto",selectProjectDesc:"Escolha um projeto para trabalhar ou use o workspace padrão",tabWorkspace:"Workspace Padrão",tabClone:"Clonar Repositório",tabLocal:"Importar Projeto Local",tabNew:"Novo Projeto",workspaceDesc:"Usar o diretório de workspace do agente atual",cloneUrl:"URL do Repositório Git",cloneUrlPlaceholder:"https://github.com/user/repo.git",cloneName:"Nome do Projeto (opcional)",cloneNamePlaceholder:"Deixe vazio para inferir da U
199RL",cloneBtn:"Iniciar Clone",cloning:"Clonando...",localPath:"Caminho do Diretório Local",localPathPlaceholder:"/Users/seunome/meu-projeto",localPathHint:"Insira o caminho absoluto do seu projeto local",openBtn:"Importar",newName:"Nome do Projeto",newNamePlaceholder:"meu-projeto",createBtn:"Criar Projeto",switchProject:"Trocar Projeto",currentProject:"Projeto Atual",resetToWorkspace:"Redefinir para Workspace Padrão",dropPrimary:"Arraste uma pasta aqui ou clique para navegar",dropSecondary:"Arraste do Finder ou cole um caminho abaixo",pathHint:"Insira o caminho absoluto completo (começando com / ou ~)",importing:"Importando...",dropFailed:"Falha ao ler a pasta",workingDir:"Diretório de trabalho",importCopyNote:"A pasta será copiada para a biblioteca de projetos gerenciada do QwenPaw. Os arquivos originais não serão modificados.",importCopyDesc:'A importacao cria uma copia da pasta. O Agent trabalha na copia e seus arquivos originais nao sao alterados. Para trabalhar diretamente no original, use "Abrir diretorio".',tabOpenDir:"Abrir diretório",openDirDesc:"Abrir um diretório local existente â nenhum arquivo será copiado",openDirBtn:"Abrir este diretório",openDirLoading:"Carregando...",openDirEmpty:"Sem subdiretórios",openDirHome:"InÃcio",openDirRefresh:"Atualizar",openDirHiddenFolders:"Pastas Ocultas"},H_={searchPlaceholder:"Buscar habilidades em várias plataformas",categoryAll:"Todos",categoryPlaceholder:"Buscar categoria",searchResult:'{{count}} habilidades encontradas para "{{keyword}}"',providerUnavailable:"Provedor indisponÃvel",noResults:"Nenhum resultado",startTyping:"Digite uma consulta acima para buscar no mercado",browseHint:"Escolha uma categoria ou digite uma palavra-chave para navegar pelos skills em {{providers}}",noDescription:"Nenhuma descrição fornecida",browseMarket:"Explorar Mercado",installQueue:"Fila de instalação",clearCompleted:"Limpar",retry:"Tentar novamente",status:{queued:"Na fila",installing:"Instalando",completed:"ConcluÃdo",failed:"Falhou",cancelled:"Cancelado"},loadMore:"Carregar mais",noMoreResults:"Sem mais resultados",detail:{title:"Detalhes da habilidade",version:"Versão",author:"Autor",sourceUrl:"URL de instalação",slug:"Identificador",missing:"â"},stats:{downloads:"Downloads",stars:"Estrelas",installs:"Instalações",likes:"Curtidas",views:"Visualizações",category:"Categoria",updatedAt:"Atualizado em"},queueMsg:{timedOut:"A instalação expirou",failedPrefix:"Falhou: {{msg}}"}},U_={starting:"Iniciando backend...",checking:"Conectando ao backend...",error:"Falha ao iniciar o backend.",errorHint:"Nao foi possivel iniciar o processo do backend. Verifique os logs do aplicativo para detalhes.",errorDetails:"Mostrar detalhes do erro",timeout:"O backend nao iniciou em {{seconds}} segundos.",timeoutHint:"Falha ao iniciar o backend. Tente novamente ou verifique os logs do aplicativo.",retry:"Tentar novamente"},q_={error:{SENSITIVE_FILE_BLOCKED:"Este arquivo está bloqueado pelo File Guard (proteção de arquivos sensÃveis).",OUTSIDE_WORKSPACE:'Este arquivo está fora do escopo do workspace. Ative "Permitir Preview Fora do Workspace no Console" em Configurações â Segurança â File Guard.',FORBIDDEN:"Acesso negado: permissões insuficientes para visualizar este arquivo.",NOT_FOUND:"Arquivo não encontrado. Pode ter sido movido ou excluÃdo. Se foi usado um caminho relativo, tente usar um caminho absoluto.",LOAD_FAILED:"Falha ao carregar a visualização do arquivo.",LOAD_FAILED_DETAIL:"Falha ao carregar a visualização do arquivo: {{detail}}"}},j_={readFile:"Ler {{file}}",readFileDefault:"Ler arquivo",writeFile:"Criar {{file}}",writeFileDefault:"Criar arquivo",editFile:"Editar {{file}}",editFileDefault:"Editar arquivo",appendFile:"Adicionar em {{file}}",appendFileDefault:"Adicionar ao arquivo",grepSearch:"Grep {{pattern}}",grepSearchDefault:"Busca grep",globSearch:"Glob {{pattern}}",globSearchDefault:"Busca glob",viewImage:"Ver imagem {{file}}",viewImageDefault:"Ver imagem",viewVideo:"Ver vÃdeo {{file}}",viewVideoDefault:"Ver vÃdeo",desktopScreenshot:"Captura de tela do desktop",sendFile:"Enviar {{file}}",sendFileDefault:"Enviar arquivo",browserUse:"Navegar {{detail}}",browserNavigate:"Abrir {{url}}",browserNavigateDefault:"Abrir página",browserClick:"Clicar",browserType:"Digitar",browserSnapshot:"Tirar snapshot",browserScroll:"Rolar página",getCurrentTime:"Obter hora atual",setTimezone:"Definir {{timezone}}",getTokenUsage:"Consultar uso de tokens",memorySearch:"Buscar na memória {{query}}",memorySearchDefault:"Buscar na memória",listAgents:"Listar agentes",chatWithAgent:"Conversar com {{agent}}",chatWithAgentDefault:"Conversar com agente",submitToAgent:"Enviar para {{agent}}{{task}}",submitToAgentDefault:"Enviar tarefa",checkAgentTask:"Verificar {{agent}} #{{taskId}}",checkAgentTaskAgent:"Verificar {{agent}}",checkAgentTaskDefault:"Verificar tarefa",delegateExternalAgent:"Delegar {{runner}}",delegateExternalAgentDefault:"Delegar agente externo",shell:"Executar {{command}}
199",shellDefault:"Executar comando",formatTable:{file:"Arquivo",lineNumber:"Linha",score:"Pontuação",summary:"Resumo",name:"Nome",id:"ID",description:"Descrição",status:"Status"},loading:"Carregando...",rawInputPreview:"Entrada bruta em tempo real (últimos 4.096 caracteres)",largeOutputOmitted:"{{count}} linhas omitidas â copie a saÃda disponÃvel ou siga as instruções de recuperação",largeOutputTruncated:"SaÃda truncada para exibição â copie a saÃda disponÃvel ou siga as instruções de recuperação",browserAction:{startHeaded:"Iniciar navegador (com interface)",start:"Iniciar navegador",stop:"Parar navegador",open:"Abrir {{url}}",openDefault:"Abrir página",navigate:"Navegar para {{url}}",navigateDefault:"Navegar",navigateBack:"Voltar",click:"Clicar em {{selector}}",clickDefault:"Clicar no elemento",type:"Digitar {{text}}",typeDefault:"Digitar texto",snapshot:"Obter snapshot",screenshot:"Captura de tela {{path}}",screenshotDefault:"Captura de tela",eval:"Avaliar {{code}}",evalDefault:"Avaliar código",runCode:"Executar {{code}}",runCodeDefault:"Executar código",closePage:"Fechar página",tabs:"Abas {{action}}",tabsDefault:"Gerenciar abas",fillForm:"Preencher formulário",fileUpload:"Fazer upload de {{filename}}",fileUploadDefault:"Fazer upload de arquivo",fileDownload:"Baixar {{target}}",fileDownloadDefault:"Baixar arquivo",pressKey:"Pressionar {{key}}",pressKeyDefault:"Pressionar tecla",hover:"Passar o mouse sobre {{selector}}",hoverDefault:"Passar o mouse sobre elemento",drag:"Arrastar",selectOption:"Selecionar opção",waitFor:"Aguardar {{target}}",waitForDefault:"Aguardar elemento",resize:"Redimensionar {{w}}x{{h}}",resizeDefault:"Redimensionar janela",pdf:"Exportar PDF {{path}}",pdfDefault:"Exportar PDF",install:"Instalar",batch:"Lote"},lineBadge:{lines:"{{count}} linhas",addLines:"+{{count}} linhas",delLines:"-{{count}} linhas",matches:"{{count}} correspondências",files:"{{count}} arquivos"},inlineResult:{taskId:"Tarefa #{{id}}",submitted:"Enviado"},execute:"Executar {{tool}}",executeDefault:"Executar ferramenta"},G_={gotoSettings:"Configurações de Loop do Agente",selectorTitle:"Modo de Loop",selectorHint:"Escolha como o agente deve continuar",selectorAria:"Selecionar modo de Loop",builtInModes:"Integrados",customModes:"Personalizados e plugins",starting:"Iniciando",running:"Em execução",awaiting_user:"Aguardando sua resposta",activePersistentDescription:"Este modo permanece ativo na conversa até terminar ou a conversa ser reiniciada.",activeCustomDescription:"Este modo personalizado permanece ativo até usar /mode off, /clear ou /new.",loadError:"Não foi possÃvel carregar alguns modos de Loop.",retry:"Tentar novamente",modes:{default:{name:"Padrão",description:"O Loop de agente controlado padrão."},goal:{name:"Objetivo",description:"Trabalhe continuamente em um objetivo concreto e verificável."},mission:{name:"Missão",description:"Execute uma tarefa estruturada e persistente em várias etapas."}}},V_={common:JI,harnesses:YI,desktop:XI,chunkError:ZI,appCenter:e_,nav:t_,os:a_,debug:n_,acp:o_,voiceTranscription:i_,backup:s_,checkpoints:r_,workspace:l_,agent:d_,skills:c_,skillPool:u_,mcp:p_,heartbeat:m_,cronJobs:h_,channels:g_,sessions:f_,environments:b_,modelSelector:k_,tokenUsage:y_,agentStats:v_,models:T_,files:S_,projectDirectory:C_,agentConfig:w_,tools:P_,modelConfig:A_,header:M_,theme:D_,sidebar:x_,chat:R_,security:I_,hub:__,login:L_,account:E_,approval:F_,pluginManager:O_,inbox:B_,codingMode:N_,market:H_,startup:U_,preview:q_,tool:j_,loop:G_},W_={save:"Simpan",reset:"Atur ulang",cancel:"Batal",confirm:"Konfirmasi",apply:"Terapkan",delete:"Hapus",edit:"Edit",create:"Buat",upload:"Unggah",download:"Unduh",refresh:"Segarkan",retry:"Coba lagi",search:"Cari",enable:"Aktifkan",disable:"Nonaktifkan",enabled:"Aktif",disabled:"Nonaktif",preview:"Pratinjau",raw:"Sumber",view:"Lihat",content:"Konten",loading:"Memuat...",saving:"Menyimpan...",copy:"Salin",copied:"Disalin ke papan klip",copyFailed:"Gagal menyalin ke papan klip",contentPlaceholder:"Masukkan konten...",help:"Bantuan",close:"Tutup",actions:"Tindakan",total:"Total {{count}}",clear:"Bersihkan",paste:"Tempel",yes:"Ya",no:"Tidak"},z_={connected:"Terhubung",disconnected:"Terputus",notConnected:"Belum terhubung",comingSoon:"Segera hadir",connect:"Hubungkan dengan ChatGPT",disconnect:"Putuskan koneksi",apiKeyAuthenticated:"Diautentikasi dengan API key",chatGptAuthenticated:"Terhubung dengan ChatGPT",cliAuthenticated:"{{type}} CLI telah diautentikasi"},K_={closeWindow:{title:"Tutup Jendela",description:"Apa yang ingin Anda lakukan saat menutup jendela? Keluar dari aplikasi akan menghentikan semua tugas yang sedang berjalan dan tugas terjadwal.",remember:"Ingat pilihan saya",showWindow:"Tampilkan Jendela",minimizeToTray:"Minimalkan ke baki sistem",quitApp:"Keluar dari Aplikasi",preference:"Tutup Jendela",askEveryTime:"Tanya setiap saat"}},$_={title:"Gagal memuat halaman",subTitle:"Ini mungkin disebabkan oleh masalah jaringan atau pembaruan aplikasi.",genericTitle:"Terjadi kesalahan",genericSubTitle:"Terjadi kesalahan tak terduga saat merender halaman ini.",reload:"Muat ulang"},Q_={backToList:"Kembali",subtitle:"Kelola aplikasi yang terpasang atau perluas workspace Anda dari pasar aplikasi.",myApps:"Aplikasi Saya",officialApps:"Aplikasi Resmi",appMarket:"Pasar Aplikasi",browseOfficialApps:"Jelajahi Aplikasi Resmi",browseMarket:"Jelajahi Pasar Aplikasi",officialAppsEmpty:"Belum ada aplikasi resmi",searchOfficial:"Cari aplikasi resmi...",installedCount:"{{count}} aplikasi",clearFilters:"Hapus filter",moreActions:"Tindakan lainnya",openApp:"Buka aplikasi",noDescription:"Tidak ada deskripsi",search:"
199Cari aplikasi...",allCategories:"Semua",noApps:"Belum ada aplikasi yang terpasang",noResults:"Tidak ada aplikasi yang cocok dengan pencarian Anda",loadFailed:"Gagal memuat aplikasi. Silakan coba lagi.",appNotLoaded:"Aplikasi ini belum dimuat. Buka sekali dari bilah samping, lalu coba lagi.",uninstall:"Copot",uninstallConfirmTitle:"Copot aplikasi?",uninstallConfirmContent:'Tindakan ini akan menghapus direktori aplikasi "{{name}}" dan tidak dapat dibatalkan.',uninstallSuccess:"Aplikasi dicopot",uninstallFailed:"Gagal mencopot aplikasi",installing:"Menginstal",installSuccess:"Terinstal",installFailed:"Instalasi gagal",installedStatus:"Terpasang",update:"Perbarui",searchMarket:"Cari di pasar aplikasi...",marketFilters:"Filter pasar aplikasi",filterAll:"Semua",trending:"Sedang tren",marketEmpty:"Aplikasi tidak ditemukan",loadMore:"Muat lebih banyak",noMoreApps:"Tidak ada aplikasi lainnya",install:"Instal",details:"Detail",featured:"Unggulan",refreshApp:"Segarkan aplikasi",appRefreshed:"Aplikasi disegarkan",aboutApp:"Tentang aplikasi",exitApp:"Keluar dari aplikasi",moreOptions:"Opsi lainnya",backToListHint:"Kembali ke daftar aplikasi (ESC)",version:"Versi",id:"ID",category:"Kategori",description:"Deskripsi"},J_={chat:"Chat",files:"File",control:"Kontrol",channels:"Saluran",sessions:"Sesi",cronJobs:"Tugas Cron",heartbeat:"Heartbeat",agent:"Workspace",workspace:"File",skills:"Skill",skillPool:"Kumpulan Skill",marketplace:"Ekstensi",tools:"Tool",mcp:"MCP",acp:"ACP",agentConfig:"Konfigurasi",agents:"Manajemen Agen",settings:"Pengaturan",models:"Model",environments:"Environment",security:"Keamanan",tokenUsage:"Penggunaan Token",agentStats:"Statistik Agen",voiceTranscription:"Transkripsi Suara",debug:"Debug",plugins:"Plugin",pluginManager:"Manajer Plugin",backups:"Cadangan"},Y_={console:"Konsol",appStore:"App Store",appStoreDesc:"Pasang atau hapus aplikasi desktop",arrangeDesktop:"Rapikan desktop",approvalActionFailed:"Tindakan gagal, silakan coba lagi",booting:"Memulaiâ¦",changeWallpaper:"Ganti wallpaper",clearAll:"Bersihkan semua",closeApp:"Tutup",currentSpace:"Ruang saat ini",currentSpaceLabel:"Ruang saat ini: {{name}}",currentAppLabel:"Aplikasi saat ini: {{name}}",desktopApps:"Aplikasi desktop",finder:"Desktop",focusApp:"Fokus",install:"Pasang",installed:"terpasang",installedApp:"Terpasang",installedApps:"Aplikasi terpasang",launchpad:"Launchpad",moveDockLeft:"Pindahkan ke kiri",moveDockRight:"Pindahkan ke kanan",missionControl:"Mission Control",noInstalledApps:"Belum ada aplikasi terpasang",noNotifications:"Tidak ada notifikasi",noOpenWindows:"Tidak ada jendela terbuka di ruang ini",noSettings:"Tidak ada pengaturan tersedia",notInstalled:"belum terpasang",notifications:"Notifikasi",notificationSummary:"Persetujuan {{approvals}} · Kotak masuk {{inbox}}",notifyApproval:"Persetujuan",notifyInbox:"Kotak masuk",openApp:"Buka",keepInDock:"Pertahankan di Dock",removeFromDock:"Hapus dari Dock",refreshDesktop:"Segarkan desktop",appMarket:"Pasar aplikasi",appMarketRefresh:"Segarkan",appMarketSearch:"
199Cari aplikasi...",appMarketEmpty:"Aplikasi tidak ditemukan",appMarketUnavailable:"Pasar aplikasi sedang tidak tersedia. Silakan coba lagi nanti.",appMarketInstall:"Instal",appMarketDetails:"Detail",appMarketDeveloper:"Pengembang",appMarketDownloads:"Unduhan",appInstalled:"Aplikasi berhasil diinstal",appInstallFailed:"Instalasi aplikasi gagal",appCompatibilityWarningTitle:"Peringatan kompatibilitas aplikasi",appCompatibilityWarningContent:"Aplikasi ini ditujukan untuk QwenPaw {{labels}}, sedangkan versi QwenPaw saat ini adalah {{version}}. Instalasi dapat menyebabkan kesalahan. Lanjutkan?",appCompatibilityWarningConfirm:"Tetap instal",appCompatibilityUnverified:"Kompatibilitas dengan versi QwenPaw saat ini belum diverifikasi.",restoreAll:"Pulihkan semua",returnToConsole:"Kembali ke konsol",desktopMode:"Mode desktop",qwenpawMenu:"Menu QwenPaw",restoredAll:"Semua aplikasi dipulihkan",sortBy:"Urutkan berdasarkan",sortFree:"Susunan bebas",sortName:"Nama",sortType:"Jenis",systemSettings:"Pengaturan sistem",uninstall:"Copot",uninstallConfirmTitle:"Copot aplikasi?",uninstallFailed:"Gagal mencopot",uninstalledApp:"Dicopot",update:"Perbarui",wallpaper:"Wallpaper",windows:"jendela"},X_={changelog:"Catatan Perubahan",docs:"Dokumentasi",tutorial:"Tutorial",featureDemos:"Demo Fitur",faq:"FAQ",github:"GitHub",resources:"Dokumentasi",updateAvailable:"Pembaruan Tersedia"},Z_={dark:"Gelap",light:"Terang",system:"Sistem"},eL={newVersion:"Versi baru tersedia: v{{version}}, klik untuk meningkatkan",updateModal:{title:"Versi baru tersedia: v{{version}}",viewReleases:"Lihat Rilis",installDesktopUpdate:"Perbarui Sekarang",desktopInstallHint:"QwenPaw Desktop {{version}} siap dipasang. Aplikasi akan dimulai ulang setelah pembaruan.",checking:"Memeriksa pembaruanâ¦",checkingHint:"Memeriksa versi terbaru",downloading:"Mengunduh pembaruan",downloadingTo:"Memperbarui ke versi {{version}}",downloadProgress:"{{done}} / {{total}} · {{rate}}",installing:"Memasang pembaruan",willRestart:"Aplikasi akan dimulai ulang otomatis setelah selesai.",stepPrepare:"Persiapan",stepDownloading:"Unduh",stepInstalling:"Pasang",failedTitle:"Pembaruan gagal",back:"Kembali",retry:"Coba Lagi",errors:{network:"Tidak dapat menjangkau server pembaruan. Periksa internet dan coba lagi.",signature:"Tanda tangan file pembaruan tidak valid. Coba unduh lagi.",appLocation:"QwenPaw berjalan dari lokasi macOS yang hanya-baca. Pindahkan QwenPaw.app ke folder Applications, jalankan dari sana, lalu coba perbarui lagi.",other:"Pembaruan gagal."},updateLater:"Unduh di Latar Belakang",backgroundDownloading:"Mengunduh di latar belakangâ¦",readyToInstall:"Pembaruan siap",readyToInstallHint:"Pembaruan v{{version}} telah diunduh. Mulai ulang untuk memasang dan membuka versi baru.",restartNow:"Perbarui Sekarang",backgroundFailed:"Unduhan latar belakang gagal"},settings:{language:"Bahasa",theme:"Tema",mode:"Mode",desktopMode:"Mode Desktop"},simpleMode:"Mode sederhana",fullMode:"Mode lengkap",toggleAgentNavigation:"Buka atau tutup navigasi agen"},tL=JSON.parse('{"brand":{"title":"Administrasi Hub","subtitle":"Ruang kerja lokal","controlPlane":"Pusat kendali"},"navigation":{"workspace":"Ruang kerja","overview":"Operasi","runtimes":"Runtime","users":"Pengguna","credentials":"Kredensial","audit":"Catatan audit","settings":"Pengaturan sistem"},"actions":{"backToQwenPaw":"Kembali ke QwenPaw","useLightTheme":"Gunakan tema terang","useDarkTheme":"Gunakan tema gelap","signOut":"Keluar","start":"Mulai","stop":"Hentikan","disable":"Nonaktifkan","rebuild":"Bangun ulang","enableAndStart":"Aktifkan dan mulai"},"roles":{"admin":"Administrator","user":"Pengguna"},"userStates":{"active":"Aktif","disabled":"Nonaktif"},"runtimeStates":{"created":"Dibuat","starting":"Memulai","running":"Berjalan","stopped":"Dihentikan","failed":"Gagal"},"runtimePolicies":{"owner_allowed":"Pemilik dapat memulai kembali","admin_only":"Dikunci administrator"},"errors":{"actionFailed":"Tindakan gagal","createFailed":"Pembuatan gagal","updateFailed":"Pembaruan gagal","saveFailed":"Gagal menyimpan","pullTimedOut":"Waktu habis menunggu penarikan gambar"},"messages":{"runtimeCreated":"Runtime dibuat","accountCreated":"Akun dibuat","credentialStored":"Kredensial disimpan","settingsSaved":"Pengaturan hub disimpan","imagePulled":"Tarikan gambar Docker selesai"},"validation":{"required":"Bidang ini wajib diisi","runtimeIdInvali
199d":"Gunakan 1â64 huruf, angka, titik, garis bawah, atau tanda hubung, dimulai dengan huruf atau angka","passwordMin":"Kata sandi harus mengandung setidaknya delapan karakter","credentialNameInvalid":"Gunakan nama variabel lingkungan dengan huruf besar, seperti OPENAI_API_KEY"},"runtimes":{"eyebrow":"Administrasi Hub","title":"Ringkasan runtime","description":"Setiap pengguna memiliki runtime terpisah; file dan kuncinya tidak tercampur.","newRuntime":"Runtime baru","managed":"Runtime terkelola","localBoundaries":"Batasan proses lokal","runningNow":"Sedang berjalan","needsAttention":"{{count}} runtime perlu diperhatikan","healthy":"Semua runtime dalam kondisi normal","isolationPolicy":"Kebijakan isolasi","available":"Tersedia","unavailable":"Tidak tersedia","failClosed":"Blokir saat gagal","noFallback":"Tidak berjalan tanpa sandbox","executionBlocked":"Runtime tidak dapat dijalankan","isolationTitle":"Isolasi lokal yang memblokir saat gagal","isolationDescription":"Seluruh pohon proses runtime di-sandbox. Jika pemeriksaan isolasi asli gagal, QwenPaw menolak untuk memulainya.","unavailableTitle":"Backend runtime yang aman tidak tersedia","unavailableDescription":"{{provisioner}} tidak tersedia: {{reason}} Periksa instalasi backend, status berjalan, dan konfigurasi sistem, lalu mulai ulang QwenPaw Hub.","unavailableUserDescription":"Backend runtime sementara tidak tersedia. Hubungi administrator.","preflightFailed":"Pemeriksaan keamanan gagal.","localEndpoint":"Titik akhir lokal · {{endpoint}}","provisioner":"Jenis eksekusi","localExecution":"Isolasi lokal","dockerExecution":"Kontainer Docker","security":"Keamanan","tenant":"Tenant","removeTitle":"Hapus {{id}}?","removeDescription":"Pendaftaran dihapus; data runtime dipertahankan.","disableTitle":"Nonaktifkan {{id}}?","disableDescription":"Proses akan berhenti dan pemilik tidak dapat memulai ulang hingga administrator mengaktifkannya.","rebuildTitle":"Bangun kembali {{id}} dengan gambar saat ini?","rebuildDescription":"Wadah akan diganti menggunakan gambar di pengaturan sistem. Ruang kerja persisten, rahasia, dan cadangan dipertahankan.","emptyTitle":"Belum ada runtime","emptyDescription":"Buat runtime QwenPaw lokal pertama yang terisolasi."},"users":{"eyebrow":"Identitas dan akses","title":"Akses pengguna","description":"Buat akun lokal, tetapkan akses administratif, dan cabut sesi dari satu tempat.","addAccount":"Tambahkan akun","publicRegistration":"Pendaftaran publik","publicRegistrationDescription":"Jika dinonaktifkan, hanya administrator yang dapat membuat akun.","currentAccountProtected":"Akun saat ini dilindungi","empty":"Tidak ada pengguna yang cocok dengan filter ini"},"credentials":{"eyebrow":"Penyimpanan kredensial per tenant","title":"Kredensial","description":"Simpan kunci penyedia di dalam cakupan penyewa atau runtime eksplisit. Nilai rahasia dienkripsi dan tidak pernah dikembalikan oleh API.","storeCredential":"Simpan kredensial","updated":"Diperbarui {{date}}","deleteTitle":"Hapus {{name}}?","deleteDescription":"Runtime yang menggunakan kredensial ini mungkin berhenti berfungsi.","emptyTitle":"Belum ada kredensial","emptyDescription":"Simpan kunci API untuk tenant atau runtime tertentu.","encrypted":"Dienkripsi saat disimpan; nilai aslinya tidak dapat dibaca"},"overview":{"eyebrow":"Kokpit operasi","title":"Ikhtisar operasi hub","description":"Pahami kesehatan Hub menggunakan status runtime nyata, sumber daya host, dan peristiwa audit.","availability":"Ketersediaan runtime","availabilityDetail":"{{running}} dari {{total}} runtime sedang online","totalRuntimes":"Total runtime","failedCount":"{{count}} runtime perlu diperhatikan","totalUsers":"Pengguna Hub","managedLocally":"Identitas lokal dan manajemen akses","hostResources":"Sumber daya host","liveSnapshot":"Cuplikan langsung saat ini","memory":"Memori","dataDisk":"Disk data","recentActivity":"Aktivitas terkini","auditBacked":"Didukung oleh log audit yang persisten","systemHealthy":"Semua sistem beroperasi","systemDegraded":"Sistem terdegradasi","localIsolation":"Eksekusi terisolasi lokal"}
199,"table":{"searchRuntimes":"Cari runtime, pemilik, atau titik akhir","searchUsers":"Cari nama pengguna atau ID pengguna","searchCredentials":"Cari nama atau cakupan kredensial","searchAudit":"Cari aktor atau sumber daya","allStates":"Semua status","allOwners":"Semua pemilik","allExecutions":"Semua jenis eksekusi","allRoles":"Semua peran","allUserStates":"Semua status pengguna","allScopes":"Semua cakupan","allActions":"Semua tindakan","runtime":"Runtime","status":"Status","owner":"Pemilik","endpoint":"Titik akhir","execution":"Eksekusi","updated":"Diperbarui","user":"Pengguna","role":"Peran","created":"Dibuat","credential":"Kredensial","scope":"Cakupan","event":"Peristiwa","actor":"Aktor","resource":"Sumber daya","result":"Hasil","time":"Waktu","total":"item {{total}}"},"audit":{"eyebrow":"Keamanan dan pemerintahan","title":"Catatan audit","description":"Tinjau siapa yang melakukan setiap tindakan pengelolaan Hub, target, hasil, dan waktunya. Nilai-nilai sensitif tidak pernah diaudit.","empty":"Belum ada peristiwa pengelolaan"},"settings":{"eyebrow":"Konfigurasi platform","title":"Pengaturan sistem","description":"Kelola konfigurasi Hub lengkap dari satu sumber kebenaran yang diaudit. Perubahan akan segera berlaku dan tetap ada meskipun dimulai ulang.","save":"Simpan pengaturan","meta":"Revisi {{revision}}
199 · Diperbarui {{date}}","tabs":{"access":"Keamanan akses","runtime":"Waktu proses"},"access":{"title":"Akses dan registrasi","description":"Konfigurasikan alamat Hub dan kebijakan akun publik yang dapat dijangkau browser.","publicBaseUrl":"URL basis publik","publicBaseUrlHint":"Digunakan untuk panggilan balik OAuth. Biarkan kosong hanya untuk penerapan loopback saja.","registration":"Pendaftaran publik","registrationHint":"Jika dinonaktifkan, hanya administrator yang dapat membuat akun.","defaultRole":"Peran pendaftaran default","defaultRoleHint":"Akun yang didaftarkan sendiri selalu menjadi pengguna biasa demi keamanan."},"security":{"title":"Perlindungan otentikasi","description":"Batasi penyalahgunaan login dan registrasi dan blokir alamat atau jaringan.","ipBlacklist":"Daftar hitam IP","ipBlacklistHint":"Mendukung IPv4, IPv6 dan CIDR; tekan Enter setelah setiap nilai.","trustedProxyIps":"Proksi terbalik tepercaya","trustedProxyIpsHint":"X-Forwarded-For hanya dipercaya jika dikirim melalui alamat ini.","loginRateLimit":"Batas kecepatan login gagal","loginRateLimitHint":"Blokir sementara upaya masuk yang gagal berulang kali dari satu alamat.","registrationRateLimit":"Batasan tarif pendaftaran","registrationRateLimitHint":"Batasi semburan pembuatan akun baru dari satu alamat.","maxAttempts":"Upaya maksimal","windowSeconds":"Jendela (detik)","blockSeconds":"Durasi blok (detik)"},"runtime":{"title":"Kebijakan waktu proses","description":"Pilih backend waktu proses. Runtime yang ada akan aktifkan ulang berikutnya.","provisioner":"Bagian belakang waktu proses","localBackend":"Proses lokal","localBackendHint":"Menjalankan proses terisolasi langsung di host ini.","dockerBackend":"wadah Docker","dockerBackendHint":"Menjalankan setiap akun dalam wadah terkelola.","backendUnavailable":"Tidak tersedia di host ini","localIsolationHint":"Mode lokal menggunakan proses host dan tidak menggunakan pengaturan gambar Docker apa pun.","dockerIsolationHint":"Mode Docker menerapkan kebijakan gambar dan sumber daya di bawah ini untuk setiap akun."},"docker":{"title":"kebijakan Docker","description":"Kelola gambar, perilaku penarikan, dan batas sumber daya per kontainer secara terpusat. Pengguna tidak dapat mengabaikan pengaturan ini.","unavailable":"Mesin Docker tidak tersedia","source":"Sumber gambar","dockerHub":"Hub Docker Resmi","aliyunAcr":"Registri resmi Alibaba Cloud","custom":"Gambar khusus","customHint":"Masukkan referensi gambar apa pun yang diizinkan oleh kebijakan.","customRegistry":"Registri khusus atau referensi gambar","localHost":"Gambar lokal","localHostHint":"Gunakan tag gambar yang sudah ada di host ini.","noLocalImages":"Tidak ditemukan gambar lokal yang diberi tag","image":"Gambar dan tag","selectLocalImage":"Pilih tag gambar lokal","selectedImage":"Gambar yang efektif","repository":"Gudang","localStatus":"Status lokal","downloaded":"Diunduh","notDownloaded":"Tidak diunduh","pullPolicy":"Kebijakan penarikan otomatis","ifNotPresent":"Tarik ketika hilang secara lokal","always":"Tarik sebelum kreasi pertama","never":"Gunakan gambar lokal saja","pullImage":"Tarik gambar sekarang","localImages":"Referensi gambar lokal {{count}}","resources":"Batasan sumber daya kontainer","cpuLimit":"inti CPU","memoryLimit":"Memori (MB)","pidsLimit":"Proses maksimal","shmSize":"Memori bersama (MB)"},"quotas":{"title":"Kapasitas waktu proses global","description":"Setiap penyewa memiliki satu runtime; ini membatasi runtime serentak di seluruh Hub.","maxRunningRuntimes":"Waktu proses berjalan maksimum","unlimitedHint":"Kosong artinya tidak terbatas."}},"auditActions":{"runtime":{"create":"Waktu proses yang dibuat","start":"Waktu proses dimulai","stop":"Menghentikan waktu proses","disable":"Waktu proses dinonaktifkan","rebuild":"Waktu proses yang dibangun kembali","delete":"Waktu proses dihapus"},"image":{"pull":"Menarik gambar Docker"},"user":{"create":"Pengguna yang dibuat","update":"Pengguna yang diperbarui"},"credential":{"store":"Kredensial yang disimpan","delete":"Kredensial dihapus"},"settings":{"update":"Pengaturan Hub yang diperbarui"},"auth":{"register":"Pengguna Hub Terdaftar"}},"auditOutcomes":{"success":"Kesuksesan","failure":"Kegagalan"},"runtimeForm":{"title":"Buat waktu proses","hint":"Waktu proses dimulai di dalam kotak pasir lokal asli. File, rahasia, dan pohon prosesnya tetap terpisah dari pengguna lain.","runtimeId":"ID Waktu Proses","startImmediately":"Mulai segera","submit":"Buat waktu proses"},"userForm":{"title":"Tambahkan akun","hint":"Gunakan kata sandi sementara dengan minimal delapan karakter. Pengguna hanya dapat mengakses runtime yang dimiliki oleh penyewa pribadinya.","username":"Nama pengguna","temporaryPassword":"Kata sandi sementara","role":"Peran","submit":"Buat akun"},"credentialForm":{"title":"Simpan kredensial","hint":"Cakupan penyewa berlaku untuk semua waktu proses Anda. Lingkup waktu proses adalah penggantian pribadi untuk satu proses yang dipilih.","scope":"Cakupan","allRuntimes":"Semua runtime saya","environmentName":"Nama lingkungan","secretValue":"Nilai rahasia","submit":"Enkripsi dan simpan"}}'),aL={title:"Masuk ke QwenPaw",registerTitle:"Buat Akun",firstUserHint:"Buat akun admin untuk memulai",usernamePlaceholder:"Nama pengguna",passwordPlaceholder:"Kata sandi",usernameRequired:"Masukkan nama pengguna",passwordRequired:"Masukkan kata sandi",submit:"Masuk",register:"Daftar",failed:"Gagal masuk, periksa kredensial Anda",registerSuccess:"Pendaftaran berhasil",registerFailed:"Pendaftaran gagal",authNotEnabled:"Autentikasi tidak diaktifkan",logout:"Keluar",logoutSuccess:"Berhasil keluar",sessionExpired:"Sesi berakhir, silakan masuk lagi",unauthorized:"Tidak berwenang, silakan masuk"},nL={groups:{cronShort:"Terjadwal",subagentShort:"Subagen"},fileReference:{codeSnippet:"Cuplikan kode · {{count}} baris"}
199,modelSelectTooltip:"Pilih model",newChatTooltip:"Chat baru",searchTooltip:"Cari semua chat",chatHistoryTooltip:"Riwayat chat",wideModeTooltip:"Mode lebar",normalModeTooltip:"Mode normal",messageDisplay:{stepsRunning:"Berjalan⦠· {{count}} langkah",stepsCanceled:"Dibatalkan · {{count}} langkah",stepsFailed:"Gagal · {{count}} langkah",stepsCompleted:"Selesai {{count}} langkah"},allChats:"Semua Chat",createNewChat:"Buat Chat Baru",pinDrawer:"Sematkan",unpinDrawer:"Lepas sematan",statusIdle:"Idle",statusInProgress:"Sedang berjalan",disclaimer:"Bekerja untuk Anda, berkembang bersama Anda",greeting:"Halo, apa yang bisa saya bantu hari ini?",description:"Saya asisten yang dapat membantu menjawab pertanyaan Anda.",prompt1:"Mari mulai perjalanan baru!",prompt2:"Bisa jelaskan skill apa saja yang Anda miliki?",inputPlaceholder:'"ââ" untuk navigasi pesan · "/" untuk perintah cepat',longTextUploadPrompt:"Harap baca file prompt yang diunggah dan jawab berdasarkan isinya.",emptyOutputError:"Asisten mengembalikan respons kosong.",commands:{clear:{description:"Bersihkan konteks percakapan"},compact:{description:"Ringkas konteks percakapan; instruksi opsional didukung"},approve:{description:"Setujui tindakan tool yang tertunda dan lanjutkan eksekusi"},deny:{description:"Tolak tindakan tool yang tertunda"},mission:{description:"Mode Mission â Memecah tugas ke sub-agen dengan konteks terisolasi"},skills:{description:"Tampilkan skill yang tersedia untuk chat dan perintah skill eksplisit"},agents:{description:"Tampilkan agen yang tersedia di runtime saat ini"},review:{description:"Tinjau perubahan ruang kerja yang belum di-commit dengan Codex"},status:{description:"Tampilkan akun agen, model, dan ruang kerja saat ini"},goal:{description:"Loop Goal â Agen mengejar tujuan secara terus-menerus, evaluasi otomatis via Rubric"}},attachments:{tooltip:"Mendukung dokumen, gambar, video, audio, dan format lain",tooltipImageOnly:"Model saat ini hanya mendukung unggahan gambar",tooltipNoMultimodal:"Kemampuan multimodal tidak terdeteksi untuk model saat ini. Gambar atau video mungkin tidak diproses dengan benar",fileSizeLimit:"Satu file hingga {{limit}}MB",fileSizeExceeded:"Ukuran file melebihi batas {{limit}}MB. File saat ini: {{size}}MB",multimodalDisabled:"Model saat ini tidak mendukung unggahan file",multimodalWarning:"Kemampuan multimodal tidak terdeteksi untuk model saat ini, gambar atau video mungkin tidak diproses dengan benar",imageOnlyAccept:"Model saat ini hanya mendukung file gambar",imageOnlyWarning:"Model saat ini hanya mendukung gambar, file non-gambar seperti video mungkin tidak diproses dengan benar"},rateLimitHit:"Model saat ini terkena batas laju. Coba beralih ke model gratis lainnya.",turnUsagePopover:{ariaLabel:"Lihat token giliran dan penggunaan konteks",turn:"Giliran ini",turnEstimated:"Giliran ini ~",tok:"tok",inOut:"in {{inTok}} · out {{outTok}}",contextLabel:"Jendela konteks:",outerRing:"Outer ring",cacheLabel:"Cache hit rate",centerValue:"Center",cacheTokens:"hit {{readTok}} / input {{inputTok}}",manageContext:"Kelola konteks",compact:"Kompres",new:"Obrolan baru"},rateLimitMessage:"Batas laju tercapai. Beralih ke model gratis lain:",rateLimitSwitched:"Beralih ke {{model}}",speech:{startRecording:"Mulai rekaman suara (Ctrl+Shift+M)",stopRecording:"Hentikan rekaman (Ctrl+Shift+M)",transcribing:"Mentranskripsi...",transcriptionDisabled:"Transkripsi dinonaktifkan. Konfigurasi provider di Pengaturan > Transkripsi Suara.",transcriptionFailed:"Transkripsi suara gagal",microphoneError:"Tidak dapat mengakses mikrofon",fileTooLarge:"File rekaman terlalu besar ({{size}}MB). Maksimum: {{limit}}MB",recordingTooLong:"Rekaman melebihi batas durasi ({{limit}}s)"},search:{title:"Cari Chat",tooltip:"Cari chat saat ini",placeholder:"Cari pesan...",noResults:"Tidak ada hasil",resultsCount:"Ditemukan {{count}} hasil",searching:"Mencari {{progress}}...",loading:"Memuat...",userMessage:"Pengguna",assistantMessage:"Asisten",titleMatch:"Judul"},contextMenu:{open:"Buka",rename:"Ganti nama",pin:"Sematkan",unpin:"Lepas sematan",delete:"Hapus"},queue:{title:"Antrean pesan",paused:"Dijeda",sendFailed:"Gagal mengirim",resume:"Lanjutkan antrean",pause:"Jeda antrean",clear:"Hapus antrean",dragSort:"Seret untuk mengurutkan",edit:"Edit",retry:"Coba lagi",skip:"Lewati",interruptAndSend:"Hentikan & kirim",delete:"Hapus",file:"File",n
199oChatWarning:"Kirim pesan terlebih dahulu untuk membuat percakapan sebelum menggunakan antrean",queueFull:"Antrean penuh (maks. {{max}} item). Kirim atau hapus beberapa pesan terlebih dahulu",otherTabOwner:"This tab queues only; sending is handled by another tab"},group:{pinned:"Disematkan",today:"Hari ini",week:"7 hari terakhir",month:"30 hari terakhir",older:"Sebelumnya"},sessionPanel:{searchConversations:"Cariâ¦",noResults:"Tidak ada hasil",noConversations:"Tidak ada percakapan",loadingConversations:"Memuatâ¦"},conversationHistory:"Riwayat Percakapan",history:{empty:"Tidak ada riwayat obrolan"},sessionGroup:{today:"Hari ini",recent:"7 hari terakhir",earlier:"Sebelumnya"}},oL={selectModel:"Pilih model",noConfiguredModels:"Tidak ada model yang dikonfigurasi",noFreeModels:"Tidak ada model gratis tersedia",switchFailed:"Gagal mengganti model",searchModels:"Cari model...",noModelsFound:"Tidak ada model yang cocok",free:"Gratis",vision:"Visi",freeBannerText:"Model gratis mungkin memiliki batas penggunaan dan tidak stabil. Lihat penyedia untuk detail.",moreProviders:"Lebih banyak penyedia gratis (perlu API Key)",proBannerText:"Menampilkan model yang dikonfigurasi di Pengaturan.",connectToUse:"Hubungkan {{provider}} untuk model gratis",configureApiKey:"Konfigurasi API Key {{provider}} untuk model gratis",configureApiKeyTitle:"Buka Halaman Konfigurasi",configureApiKeyConfirm:"Anda akan diarahkan ke halaman Model untuk mengonfigurasi API Key {{provider}}. Lanjutkan?",goToConfigure:"Buka Konfigurasi",noModelsDiscovered:"Terhubung. Memuat model...",oauthTitle:"Hubungkan ke {{provider}}",oauthDescription:"Jendela browser baru akan terbuka untuk mengotorisasi akses ke {{provider}}. Kunci API akan disimpan secara otomatis.",oauthContinue:"Lanjutkan",oauthWaiting:"Menunggu otorisasi...",oauthWaitingDescription:"Silakan selesaikan otorisasi di jendela browser.",oauthConnected:"Berhasil terhubung ke {{provider}}",oauthFailed:"Otorisasi gagal, silakan coba lagi",oauthTimeout:"Otorisasi habis waktu, silakan coba lagi",viewMore:"Lihat lebih ({{count}})"},iL=JSON.parse('{"parent":"Pengaturan","agents":"Agen","management":"Manajemen Agen","pageDescription":"Buat, konfigurasi, dan kelola beberapa agen AI dengan workspace dan identitas khusus.","name":"Nama","id":"ID","description":"Deskripsi","workspace":"Path Workspace","backend":{"column":"Backend","eyebrow":"Arsitektur agen","typeTitle":"Pilih cara agen ini bekerja","typeDescription":"Jenis agen mengontrol setiap percakapan Chat, Coding, dan Channel.","nativeTitle":"Agen native QwenPaw","nativeBadge":"Native","nativeDescription":"Menggunakan LLM, Skills, alat, memori, dan runtime QwenPaw yang telah Anda konfigurasi.","thirdPartyTitle":"Agen pihak ketiga","thirdPartyBadge":"Pihak ketiga","thirdPartyDescription":"Menggunakan runtime agen eksternal yang telah diotorisasi, bukan model QwenPaw.","providerTitle":"Pilih agen pihak ketiga","providerDescription":"Autentikasi digunakan bersama di perangkat ini; proyek dan percakapan tetap terisolasi untuk setiap agen.","codexHint":"ChatGPT OAuth · Ruang kerja agen","qoderHint":"Akun Qoder atau PAT · Ruang kerja agen","account":"Akun Codex","qoderAccount":"Akun Qoder","binary":"File executable Codex","binaryHelp":"Kosongkan untuk memprioritaskan Codex CLI bawaan Python SDK dan mendeteksi instalasi mandiri. Jika diisi, masukkan path lengkap ke codex di macOS/Linux atau codex.exe di Windows. Biner bawaan aplikasi ChatGPT atau ekstensi editor tidak didukung. QwenPaw juga membaca CODEX_BINARY dan PATH backend.","binaryPlaceholder":"Deteksi otomatis atau tempel path executable Codex","qoderBinary":"File executable Qoder","qoderBinaryHelp":"Kosongkan untuk memakai qodercli yang disertakan dalam SDK Python atau mendeteksi instalasi yang ada. Jika diisi, masukkan path lengkap ke qodercli di macOS/Linux atau qodercli.exe di Windows. QwenPaw juga membaca QODERCLI_PATH dan PATH backend.","qoderBinaryPlaceholder":"Deteksi otomatis atau tempel path qodercli","detect":"Deteksi","detectedBinary":"Codex terdeteksi","qoderDetectedBinary":"Qoder terdeteksi","apiKeyLoginHint":"Anda juga dapat melakukan autentikasi di terminal dengan: codex login --with-api-key","qoderAuthHint":"Hubungkan akan membuka login Qoder di browser. Anda juga dapat menjalankan qodercli login atau mengatur QODER_PERSONAL_ACCESS_TOKEN sebelum memulai backend.","qoderConnect":"Hubungkan ke Qoder","model":"Model agen","modelDefault":"Gunakan default agen","defaultBadge":"Default","reasoningEffort":"Tingkat pe
199nalaran","reasoningDefault":"Gunakan default model","codexNotFound":"Runtime Codex tidak ditemukan. Instal qwenpaw[codex] atau sediakan Codex CLI mandiri.","qoderNotFound":"Runtime Qoder tidak ditemukan. Instal qwenpaw[qoder] atau sediakan qodercli.","chatSettingsHint":"Pilih model, tingkat penalaran, dan izin eksekusi dari bilah alat Chat.","capabilityTitle":"Kemampuan QwenPaw","inheritedSkills":"Keahlian","inheritedMcp":"Server MCP","runtimeInherited":"Diwarisi saat runtime · sesi baru","notSupported":"Tidak didukung penyedia ini","policyCompatibility":"Kebijakan MCP","toolAllowlistSupported":"Daftar izin alat didukung","policyLimited":"Berlaku batasan penyedia","chatModelHint":"Pengaturan per agen · diterapkan pada giliran berikutnya","appliesNextTurn":"Diterapkan pada giliran berikutnya","approvalMode":"Izin eksekusi","approvalPresets":{"ask":{"name":"Tanyakan sebelum perubahan","description":"Izinkan perubahan ruang kerja dan tanyakan sebelum tindakan dengan hak akses lebih tinggi."},"read-only":{"name":"Hanya baca","description":"Periksa file tanpa mengubahnya."},"workspace":{"name":"Akses ruang kerja","description":"Izinkan perubahan ruang kerja tanpa konfirmasi."},"accept-edits":{"name":"Terima edit","description":"Izinkan pengeditan file sambil mempertahankan perlindungan lain."},"plan":{"name":"Hanya rencana","description":"Analisis dan rencanakan tanpa mengubah file."},"auto":{"name":"Otomatis","description":"Biarkan Qoder menentukan tindakan aman yang dapat dijalankan."},"full-access":{"name":"Akses penuh","description":"Izinkan eksekusi lokal tanpa batasan dan tanpa konfirmasi."}}},"create":"Buat Agen","createTitle":"Buat Agen Baru","createSuccess":"Agen berhasil dibuat","createFailed":"Gagal membuat agen","edit":"Edit","editTitle":"Edit Agen - {{name}}","updateSuccess":"Agen berhasil diperbarui","updateFailed":"Gagal memperbarui agen","delete":"Hapus","deleteConfirm":"Konfirmasi Hapus Agen","deleteConfirmDesc":"Agen tidak akan tersedia setelah dihapus, tetapi file workspace tetap disimpan","deleteSuccess":"Agen berhasil dihapus","deleteFailed":"Gagal menghapus agen","selectAgent":"Pilih Agen","defaultDisplayName":"Agen Default","currentWorkspace":"Agen Saat Ini","switchSuccess":"Agen berhasil diganti","switchFailed":"Gagal mengganti agen","loadFailed":"Gagal memuat daftar agen","loadConfigFailed":"Gagal memuat konfigurasi agen","saveFailed":"Gagal menyimpan agen","idRequired":"Masukkan ID agen","idLabel":"ID Agen (opsional)","idHelp":"Kosongkan untuk dibuat otomatis. Hanya huruf, angka, tanda hubung, dan garis bawah.","idPattern":"ID hanya boleh berisi huruf, angka, garis bawah, dan tanda hubung","idPlaceholder":"contoh: agen-saya","nameRequired":"Masukkan nama agen","namePlaceholder":"contoh: Agen Saya","descriptionPlaceholder":"Jelaskan singkat tujuan agen ini...","workspaceHelp":"Kosongkan untuk dibuat otomatis di ~/.qwenpaw/workspaces/<id>","defaultNotEditable":"Agen default tidak dapat diedit","defaultNotDeletable":"Agen default tidak dapat dihapus","disable":"Nonaktifkan","enable":"Aktifkan","disabled":"Nonaktif","disableSuccess":"Agen berhasil dinonaktifkan","enableSuccess":"Agen berhasil diaktifkan","toggleFailed":"Gagal mengubah status agen","enableAgent":"Aktifkan {{name}}","disableAgent":"Nonaktifkan {{name}}","disabledAgents":"Dinonaktifkan ({{count}})","pinnedAgents":"Disematkan","otherAgents":"Agen lainnya","pinned":"Disematkan","defaultPinned":"Agen default selalu disematkan","longPressToPin":"Tekan lama untuk menyematkan","longPressToUnpin":"Tekan lama untuk melepas","pinAgent":"Sematkan agen","unpinAgent":"Lepas sematan agen","pinSuccess":"Agen disematkan","unpinSuccess":"Sematan agen dilepas","pinFailed":"Gagal memperbarui status sematan","status":{"disabled":"Dinonaktifkan","pending":"Menunggu dimulai","starting":"Memulai","running":"Berjalan","failed":"Gagal memulai","waitUntilStarted":"Tersedia setelah proses mulai selesai"},"defaultNotDisablable":"Agen default tidak dapat dinonaktifkan","initialSkills":"Skill Awal","selectAll":"Semua","selectBuiltin":"Bawaan","selectNone":"Tidak ada","model":"Model","modelHelp":"Tetapkan model LLM khusus untuk agen ini. Kosongkan untuk memakai default global.","modelPlaceholder":"Gunakan default global","noConfiguredModels":"Tidak ada model yang dikonfigurasi","modelColumn":"Model","copyTooltip":"Salin konfigurasi agen","copyDefaultTooltip":"Salin menggunakan agen default sebagai templat","copyTitle":"Salin Konfigurasi Agen","copyNameLabel":"Nama agen baru","copyOptionsLabel":"Konten yang disalin","copyOptionAgentJson":"agent.json (wajib)","copyOptionAgentJsonHint":"Selalu menyalin konfigurasi sumber yang telah diurai dan mereset ID, nama, workspace, serta channels. Ini bukan salinan byte-per-byte dari agent.json di disk.","copyOptionMdFiles":"AGENTS / SOUL / PROFILE / HEARTBEAT / BOOTSTRAP.md","copyOptionSkills":"skills/ + manifest","copyOptionJobs":"jobs.json","copyOptionJobsHint":"Hanya menyalin definisi tugas, tanpa riwayat. Agen baru akan segera menjalankannya sesuai jadwal setelah dibuat.","copySuccess":"Konfigurasi agen berhasil disalin","copyFailed":"Gagal menyalin konfigurasi agen","mailManagement":"Manajemen Email","mailModeNone":"Tanpa manajemen email","mailModePersonal":"Kelola kotak surat pribadi Anda","mailModeDedicated":"Siapkan kotak surat khusus untuk agen","mailName":"Nama kotak surat","mailNameOptional":"Nama kotak surat (opsional)","mailDomain":"Domain email","mailPassword":"Kata sandi","mailPhone":"Nomor telepon","mailAuthCode":"Kode otorisasi 16 digit","mailNameRequired":"Silakan masukkan nama kotak surat","mailPasswordRequired":"Silakan masukkan kata sandi","mailPhoneRequired":"Silakan masukkan nomor telepon","mailAuthCodeRequired":"Silakan masukkan kode otorisasi","mailAuthCodeLength":"Kode otorisasi harus 16 karakter","mailDomainRequired":"Silakan pilih domain email","mailDomainInvalid":"Masukkan domain email yang valid, mis. mycompany.com","mailDomainPlaceholder":"Pilih atau masukkan domain email","mailProvider":"Penyedia email","mailProviderRequired":"Silakan pilih penyedia email","mailProviderPlaceholder":"Pilih penyedia yang menghosting domain ini","mailProviderTencentExmail":"Tencent Exmail","mailProviderAliyunQiye":"Alibaba Enterprise Mail","mailProviderNeteaseQiye":"Netease Enterprise Mail","mailCredentialLabel":"Kredensial","mailCredentialRequired":"Silakan masukkan kredensial","mailCredentialHintAuthCode":"Masukkan kode otorisasi 16 digit yang dibuat di pengaturan kotak surat","mailCredentialHintGmail":"Masukkan sandi khusus aplikasi Gmail
199(perlu mengaktifkan Verifikasi 2 Langkah)","mailCredentialHintAliyun":"Masukkan kata sandi login kotak surat","mailCredentialHintEnterprise":"Masukkan kata sandi khusus klien atau kata sandi login kotak surat","mailPushTitle":"Respons otomatis email baru","mailAccessControl":"Kontrol akses email","mailAccessControlTip":"Jika diaktifkan, email dari pengirim tak dikenal memerlukan persetujuan sebelum diproses","mailPushModeOff":"Nonaktif","mailPushModeRulesOnly":"Hanya aturan","mailPushModeRulesThenAgent":"Aturan + bangunkan sesuai kebutuhan","mailPushModeAgentAll":"Bangunkan untuk setiap email","mailPushModeOffDesc":"Tidak memproses email baru secara otomatis","mailPushModeRulesOnlyDesc":"Proses email baru hanya dengan aturan di bawah, tanpa membangunkan agen","mailPushModeRulesThenAgentDesc":"Terapkan aturan lebih dulu; bangunkan agen hanya saat aksi bangunkan cocok","mailPushModeAgentAllDesc":"Bangunkan agen untuk setiap email baru dan biarkan agen memutuskan cara menanganinya secara mandiri","mailPushModeLegacySuffix":" (versi lama)","mailPushFieldFrom":"Pengirim","mailPushFieldSubject":"Subjek","mailPushFieldContent":"Konten","mailPushFieldKeyword":"Kata kunci","mailPushActionMarkRead":"Tandai sudah dibaca","mailPushActionMove":"Pindahkan ke folder","mailPushActionNotify":"Hanya beri notifikasi","mailPushActionWakeAgent":"Bangunkan agen","mailPushContainsPlaceholder":"Berisi teks","mailPushParamMovePlaceholder":"Folder tujuan","mailPushParamWakePlaceholder":"Instruksi tambahan (opsional)","mailPushParamRequired":"Silakan isi folder tujuan","mailPushAddRule":"Tambah aturan","mailPushWakeOptionInvoice":"Unduh dan arsipkan lampiran email faktur/tagihan","mailPushWakeOptionReply":"Balas email pertanyaan dengan sopan","mailPushWakeOptionOtp":"Ekstrak kode verifikasi dan beri tahu saya","mailPushWakeOptionSummary":"Rangkum poin email ke kotak masuk"}'),sL={title:"Skill",description:"Kelola skill dan kemampuan agen.",preload:"Pramuat",preloadHint:"Saat diaktifkan, agen memuat skill ini lebih awal sehingga tidak perlu mencari dan memuatnya lagi selama percakapan.",qwenpawManaged:"Dikelola QwenPaw",qwenpawManagedHint:"Dapat diedit dan diproyeksikan ke agen pihak ketiga yang didukung saat runtime.",providerManaged:"Skill agen pihak ketiga",providerManagedHint:"Ditemukan dari agen pihak ketiga saat ini dan ditampilkan hanya-baca.",providerOnly:"Hanya agen pihak ketiga saat ini",readOnly:"Hanya baca",noDescription:"Tidak ada deskripsi.",providerSkillDetails:"Detail Skill agen pihak ketiga",providerManagedDetailHint:"Skill ini dikelola oleh agen pihak ketiga. QwenPaw dapat menampilkan dan menggunakannya, tetapi tidak dapat mengubahnya.",provider:"Agen pihak ketiga",scope:"Cakupan",statusLabel:"Status",descriptionLabel:"Deskripsi",importHub:"Unggah via URL",supportedSources:"Sumber yang didukung:",importSkills:"Impor Skill",enterSkillUrl:"Masukkan URL Skill",invalidUrl:"URL tidak valid",type:"Tipe",installedFrom:"Diinstal dari",source:"Sumber",path:"Path",tags:"Tag",builtin:"Bawaan",custom:"Kustom",addSkill:"Tambah Skill",createSkill:"Buat Skill",viewSkill:"Lihat Skill",editSkill:"Edit Skill",skillName:"Nama Skill",skillContent:"Konten Skill",pleaseInputName:"Masukkan nama skill",pleaseInputContent:"Masukkan konten skill",createSuccess:"Skill berhasil dibuat",createFailed:"Gagal membuat skill",deleteConfirm:"Yakin ingin menghapus skill ini?",deleteSuccess:"Skill berhasil dihapus",deleteFailed:"Gagal menghapus skill",batchEnable:"Aktifkan",batchDisable:"Nonaktifkan",selectedCount:"{{count}} dipilih",updateSuccess:"Skill berhasil diperbarui",updateFailed:"Gagal memperbarui skill",create:"Buat",optimizeWithAI:"Optimalkan dengan AI",stopOptimize:"Berhenti",uploadSkill:"Unggah Skill",uploadZip:"Unggah via ZIP",downloadFromPool:"Muat dari Kumpulan Skill",channels:"Saluran",allChannels:"Semua",lastUpdated:"Diperbarui",searchPlaceholder:"Filter berdasarkan nama",listView:"Tampilan daftar",gridView:"Tampilan grid",enabledSkills:"Skill Aktif",disabledSkills:"Skill Nonaktif",active:"aktif"},rL={description:"Kumpulan skill lokal bersama untuk skill bawaan dan unggahan workspace.",broadcast:"Sebarkan ke Agen",broadcastHint:"Sebarkan skill ke agen yang dipilih",refreshHint:"Segarkan kumpulan skill dari disk",deleteExternalConfirm:"Menghapus file skill eksternal di {{path}} dari disk.",deleteExternalBatchWarning:"Skill eksternal yang dipilih akan dihapus permanen dari disk.",automation:"Otomatisasi",builtinAutoUpdate:"Pembaruan Otomatis",builtinAutoUpdateFlow:"Paket bawaan â Kumpulan skill",autoSyncFlow:"Kumpulan skill â Workspace agen",automationBoth:"Pembaruan + Sinkronisasi Otomatis",automationMixedHint:"Buka detail untuk memilih Pembaruan Otomatis atau Sinkronisasi Otomatis.",automationEnableHint:"Aktifkan Pembaruan Otomatis dan Sinkronisasi Otomatis.",automationDisableHint:"Nonaktifkan Pembaruan Otomatis dan Sinkronisasi Otomatis.",automationEnabled:"Pembaruan Otomatis dan Sinkronisasi Otomatis diaktifkan untuk {{name}}",automationDisabled:"Pembaruan Otomatis dan Sinkronisasi Otomatis dinonaktifkan untuk {{name}}",automationFailed:"Gagal memperbarui pengaturan otomatisasi",automationNeedsAttention:"Tersimpan. {{count}} item perlu ditangani; lihat Kotak Masuk.",autoSync:"Sinkronisasi Otomatis",autoSyncEnableHint:"Aktifkan Sinkronisasi Otomatis.",autoSyncDisableHint:"Nonaktifkan Sinkronisasi Otomatis.",autoSyncEnabled:"Sinkronisasi Otomatis diaktifkan untuk {{name}}",autoSyncDisabled:"Sinkronisasi Otomatis dinonaktifkan untuk {{name}}",autoSyncAgentsPlaceholder:"Semua agen yang memiliki skill ini",autoSyncAgentsHint:"Biarkan kosong untuk menyinkronkan salinan yang ada, atau pilih agen tertentu.",importBuiltin:"Perbarui Skill Bawaan",sourceVersion:"Versi sumber",currentVersion:"Versi saat ini",builtinLanguage:"Bahasa",langDefault:"Default",langDefaultTooltip:"Pertahankan setiap skill dalam bahasa saat ini",langEn:"Inggris",langZh:"Mandarin",builtinLanguageChangeTitle:"Ganti bahasa bawaan?",builtinLanguageChangeContent:'Timpa salinan pool "{{name}}" dengan versi bawaan {{language}}?',builtinLanguageChangeSuccess:'"{{name}}" diganti ke {{language}}',builtinLanguageChangeFailed:"Gagal mengganti bahasa bawaan",create:"Buat",edit:"Edit",delete:"Hapus",descriptionLabel:"Deskripsi",tags:"Tag",version:"Versi",skillName:"Nama Skill",status:"Status",installedFrom:"Diinstal dari",updateBuiltin:"Perbarui",updateSuccess:"Berhasil diperbarui",updateFailed:"Pembaruan gagal"},lL={title:"Saluran",description:"Kelola dan konfigurasi saluran pesan",loading:"Memuat saluran...",configSaved:"Konfigurasi berhasil disimpan",configFailed:"Gagal menyimpan konfigurasi",botConflictTitle:"Bot sudah digunakan",botConflictDescription:"Bot ini sudah digunakan oleh {{agents}} pada saluran yang sama. Tetap menyimpan dapat menyebabkan konflik pesan.",botConflictConfirm:"Tetap simpan",channelType:"Tipe Saluran",status:"Status",totalItems:"Total {{count}} item",botPrefix:"Prefix Bot",showToolCalls:"Tampilkan Informasi Panggilan Alat",showToolCallsTooltip:"Tampilkan informasi panggilan alat kepada pengguna (nonaktifkan untuk menyembunyikan)",showToolResults:"Tampilkan Informasi Hasil Alat",showToolResultsTooltip:"Tampilkan informasi hasil alat kepada pengguna (nonaktifkan untuk menyembunyikan)",toolCallMaxLength:"Panjang Tampilan Maksimum Panggilan Alat",toolResultMaxLength:"Panjang Tampilan Maksimum Hasil Alat",toolMaxLengthTooltip:"Atur ke 0 agar tidak dibatasi",onebotMediaBase64:"Kirim Media Lokal sebagai Base64",onebotMediaBase64Tooltip:"Pilih cara file media dikirim. Saat dinonaktifkan, path file dikirim; saat diaktifkan, file dikodekan sebagai Base64. URL jarak jauh tetap tidak berubah.",onebotMediaBase64MaxMb:"Batas Ukuran File Base64",onebotMediaBase64MaxMbTooltip:"File media yang melebihi batas ini dikirim menggunakan path file aslinya.",onebotMediaBase64MaxMbRequired:"Masukkan batas ukuran file Base64",onebotMediaBase64MaxMbMin:"Batas ukuran file Base64 minimal 1 MB",onebotMediaDir:"Direktori Media",onebotMediaDirTooltip:"Direktori untuk menyimpan media yang diunduh. Secara default menggunakan direktori media di ruang kerja agen.",onebotMediaDownloadMaxMb:"Batas Ukuran Media Masuk",onebotMediaDownloadMaxMbTooltip:"Ukuran maksimum setiap gambar, audio, video, atau file yang diunduh dari OneBot.",onebotMediaDownloadMaxMbRequired:"Masukkan batas ukuran media masuk",onebotMediaDownloadMaxMbMin:"Batas ukuran media masuk minimal 1 MB",onebotWsHostTooltip:"Alamat listen server WebSocket terbalik. Biarkan 127.0.0.1 agar hanya klien OneBot di mesin ini y
199ang dapat terhubung. Alamat lain akan mengekspos port ke jaringan dan memerlukan access token.",onebotAccessTokenTooltip:"Token bersama yang dikirim klien OneBot pada header Authorization. Wajib jika alamat listen bukan alamat loopback.",onebotAccessTokenRequired:"Access token wajib diisi jika host WebSocket bukan alamat loopback",showThinking:"Tampilkan Proses Berpikir",showThinkingTooltip:"Tampilkan proses berpikir/penalaran model kepada pengguna (nonaktifkan untuk menyembunyikan)",settings:"Pengaturan",channelSettings:"Pengaturan Saluran",notSet:"Belum diatur",clickCardToEdit:"Klik kartu untuk mengedit",language:"Bahasa",accessControlEnabled:"Kontrol Akses",accessControlEnabledTooltip:"Saat diaktifkan, hanya pengguna dalam daftar putih yang dapat berinteraksi dengan bot. Pengguna tidak dikenal akan menerima ID mereka dan ditambahkan ke daftar persetujuan.",accessControlDm:"Kontrol Akses DM",accessControlDmTooltip:"Saat diaktifkan, hanya pengguna dalam daftar putih yang dapat berinteraksi dengan bot di pesan langsung",accessControlGroup:"Kontrol Akses Grup",accessControlGroupTooltip:"Saat diaktifkan, hanya pengguna dalam daftar putih yang dapat berinteraksi dengan bot di chat grup",dmDisabled:"Nonaktifkan DM",dmDisabledTooltip:"Saat diaktifkan, bot akan sepenuhnya mengabaikan semua pesan langsung",groupDisabled:"Nonaktifkan Grup",groupDisabledTooltip:"Saat diaktifkan, bot akan sepenuhnya mengabaikan semua pesan grup",shareSessionInGroup:"Bagikan Konteks dalam Grup",shareSessionInGroupTooltip:"Saat diaktifkan, semua anggota grup berbagi konteks percakapan yang sama. Saat dinonaktifkan, setiap anggota memiliki konteks independen.",cardAutoLayout:"Kartu Layar Lebar (Tata Letak Otomatis)",cardAutoLayoutTooltip:"Saat diaktifkan, DingTalk merender kartu AI dalam format layar lebar di desktop. Hanya berlaku jika jenis pesan adalah card. Templat kartu harus sudah dipublikasikan.",manageAccessControl:"Kontrol Akses",pendingApprovals:"Menunggu Persetujuan",whitelist:"Daftar Putih",blacklist:"Daftar Hitam",addUser:"Tambah",addUserPlaceholder:"Masukkan ID pengguna",userId:"ID Pengguna",username:"Nama Pengguna",channel:"Kanal",firstMessage:"Pesan Pertama",time:"Waktu",actions:"Tindakan",approve:"Daftar Putih",deny:"Daftar Hitam",dismiss:"Abaikan",noWhitelistUsers:"Tidak ada pengguna daftar putih",noBlacklistUsers:"Tidak ada pengguna daftar hitam",noPendingApprovals:"Tidak ada persetujuan tertunda",userAdded:"Pengguna ditambahkan",userRemoved:"Pengguna dihapus",approveSuccess:"Ditambahkan ke daftar putih",denySuccess:"Ditambahkan ke daftar hitam",dismissSuccess:"Diabaikan",operationFailed:"Operasi gagal",remark:"Catatan",usernamePlaceholder:"Masukkan nama pengguna (opsional)",remarkPlaceholder:"Masukkan catatan (opsional)",filterByChannel:"Filter berdasarkan channel",selectToOperate:"Pilih item untuk operasi",selectedCount:"{{count}} dipilih",batchApprove:"Setujui",batchDeny:"Daftar hitam",batchDismiss:"Hapus",batchApproveConfirm:"Setujui {{count}} pengguna?",batchDenyConfirm:"Tambahkan {{count}} pengguna ke daftar hitam?",batchDismissConfirm:"Hapus {{count}} pengguna?",batchSuccess:"{{count}} pengguna berhasil diproses",batchRemove:"Hapus",batchRemoveConfirm:"Hapus {{count}} pengguna yang dipilih?",enabledSection:"Diaktifkan",enabledCount:"{{count}}",availableSection:"Tersedia",enableAction:"Aktifkan",noEnabledChannels:"Tidak ada saluran yang diaktifkan",goEnableChannels:"Aktifkan saluran",slackBotToken:"Bot Token",slackBotTokenTooltip:"Slack Bot User OAuth Token, dimulai dengan xoxb-",slackAppToken:"App Token",slackAppTokenTooltip:"Slack App-Level Token untuk Socket Mode, dimulai dengan xapp-",slackProxyTooltip:"URL proxy HTTP untuk menghubungkan ke Slack API"},dL={title:"Tool Bawaan",description:"Kelola tool bawaan dan status aktifnya. Tool yang dinonaktifkan tidak tersedia untuk agen.",emptyState:"Tidak ada tool yang dikonfigurasi",loadError:"Gagal memuat tool",enableSuccess:"Tool berhasil diaktifkan",disableSuccess:"Tool berhasil dinonaktifkan",toggleError:"Gagal mengubah status tool",enableAll:"Aktifkan Semua",disableAll:"Nonaktifkan Semua",enableAllSuccess:"Semua tool diaktifkan",disableAllSuccess:"Semua tool dinonaktifkan",allEnabled:"Semua tool sudah aktif",allDisabled:"Semua tool sudah nonaktif",asyncExecution:"Eksekusi Asinkron",asyncExecutionEnabled:"Eksekusi asinkron aktif",asyncExecutionDisabled:"Eksekusi asinkron nonaktif",browserUnifiedMode:"Browser terpadu (Beta)",browserLegacyMode:"Mode kompatibilitas lama",browserUnifiedModeButton:"Baru (Beta)",browserLegacyModeButton:"Lama (Kompatibel)",browserUnifiedDescription:"Gunakan kemampuan browser terpadu yang baru.",browserLegacyDescription:"Gunakan implementasi browser asli untu
199k perilaku lama.",browserRestartPending:"Layanan akan beralih ke {{mode}} setelah dimulai ulang.",configure:"Konfigurasi",configured:"Terkonfigurasi",requiresConfig:"Perlu konfigurasi",configSaved:"Konfigurasi tersimpan",configSaveError:"Gagal menyimpan konfigurasi",webSearchProviderLabel:"Penyedia",webSearchApiKeyLabel:"Kunci API (opsional)",webSearchQuotaHintBefore:"Gratis 100 panggilan/hari. Daftar di ",webSearchQuotaHintAfter:" untuk 1.000/hari.",active:"aktif",available:"Tersedia",noEnabled:"Tidak ada alat yang diaktifkan",goEnableBtn:"Aktifkan sekarang",configureAction:"Konfigurasi â",enableAction:"Aktifkan â"},cL={promptTitle:"Model LLM Diperlukan - Pilih di Chat Setelah Konfigurasi",promptMessage:"Chat memerlukan model LLM agar berfungsi. Konfigurasi model terlebih dahulu, lalu pilih dari pemilih model di bagian atas halaman Chat.",configureButton:"Konfigurasi Model",skipButton:"Lewati",chatDisabledTitle:"Chat Dinonaktifkan",chatDisabledMessage:"Fungsi chat dinonaktifkan karena tidak ada model yang dikonfigurasi.",configureNow:"Konfigurasi Model",modelNotConfigured:"Konfigurasi model di Pengaturan sebelum memakai chat"},uL={parent:"Pengaturan",security:"Keamanan",title:"Keamanan",description:"Kelola fitur keamanan untuk tool dan skill.",toolGuardTitle:"Tool Guard",toolGuardDescription:"Konfigurasi pemindaian keamanan untuk panggilan tool. Operasi berbahaya akan memerlukan persetujuan eksplisit sebelum dieksekusi.",enabled:"Aktifkan Tool Guard",guardedTools:"Tool yang Diawasi",deniedTools:"Tool yang Ditolak",saveSuccess:"Pengaturan Tool Guard tersimpan",saveFailed:"Gagal menyimpan pengaturan Tool Guard",loadFailed:"Gagal memuat pengaturan Tool Guard",rules:{title:"Aturan Deteksi",description:"Aturan menentukan pola regex yang memicu peringatan keamanan.",id:"ID Aturan",severity:"Tingkat Keparahan",source:"Sumber",actions:"Tindakan",builtin:"Bawaan",custom:"Kustom",enable:"Aktifkan",disable:"Nonaktifkan",edit:"Edit",delete:"Hapus",add:"Tambah Aturan"}},pL={nav:"Checkpoint",title:"Checkpoint Status",auto:"Otomatis",autoEnabled:"Checkpoint otomatis diaktifkan",autoDisabled:"Checkpoint otomatis dinonaktifkan",refresh:"Muat ulang",snapshot:"Snapshot",snapshotCreated:"Snapshot dibuat",graph:"Grafik",checkpoint:"Checkpoint",type:"Jenis",commit:"Commit",createdAt:"Dibuat",session:"Sesi",channel:"Kanal",parent:"Induk",details:"Detail checkpoint",search:"Cari kueri, nama, sesi, atau SHA",allTypes:"Semua jenis",allSessions:"Semua sesi",showingLatest:"Menampilkan {{count}} terbaru",loadFailed:"Checkpoint tidak dapat dimuat",retry:"Coba lagi",more:"Tindakan lainnya",noMatches:"Tidak ada checkpoint yang cocok.",empty:"Belum ada checkpoint status. Riwayat versi akan muncul di sini.",kind:{auto:"Otomatis",snapshot:"Snapshot",safety:"Pengaman",commit:"Commit"},summary:{total:"checkpoint"},snapshotDialog:{title:"Buat snapshot",session:"Sesi",name:"Nama",placeholder:"Nama snapshot opsional"},gc:{settingsAction:"Pengaturan pembersihan otomatis",settingsTitle:"Pengaturan pembersihan otomatis",keepCount:"Jumlah checkpoint otomatis yang disimpan",keepDays:"Retensi checkpoint otomatis (hari)",preRestoreDays:"Retensi snapshot pra-pemulihan (hari)",settingsSaved:"Pengaturan pembersihan otomatis disimpan",thoroughAction:"Thoroughly compact checkpoints",thoroughTitle:"Thoroughly compact checkpoints?",thoroughDescription:"Menghapus {{count}} checkpoint dengan mengabaikan retensi checkpoint otomatis. HEAD setiap sesi tetap disimpan.",thoroughConfirm:"Thoroughly compact",thoroughSuccess:"Removed {{count}} checkpoint(s) during thorough compaction",action:"Bersihkan checkpoint",title:"Bersihkan checkpoint sesuai kebijakan retensi?",description:"Menghapus {{count}} checkpoint kedaluwarsa sesuai kebijakan retensi saat ini. HEAD setiap sesi tetap disimpan.",confirm:"Bersihkan",success:"{{count}} checkpoint dihapus"},reset:{action:"Reset data checkpoint",title:"Reset semua data?",description:"Semua checkpoint akan dihapus permanen dan mode otomatis dinonaktifkan.",confirm:"Reset",success:"Data checkpoint direset"},restore:{action:"Pulihkan",title:"Pulihkan checkpoint",preview:"Pratinjau pemulihan",confirm:"Pulihkan",conversation:"Percakapan",memory:"Memori",files:"File workspace",refreshWarning:"Percakapan akan berubah. Muat ulang setelah pemulihan selesai.",selectedCount:"{{count}} file dipilih",selectAll:"Pilih semua file yang berubah",delete:"Hapus",restore:"Pulihkan",noFileChanges:"Tidak ada perubahan file yang diperlukan.",success:"Checkpoint dipulihkan. Muat ulang percakapan untuk memuat statusnya."}}
199,mL={title:"File",workspacePath:"Workspace:",noFiles:"Tidak ada file",coreFiles:"File Inti",coreFilesDesc:"Persona bootstrap, identitas, dan panduan tool.",selectFile:"Pilih file untuk diedit",fileContent:"Konten file...",uploadSuccess:"File berhasil diunggah",uploadFailed:"Gagal mengunggah file",downloadPreparing:"Mempersiapkan unduhan workspace...",downloadSuccess:"Workspace berhasil diunduh",downloadFailed:"Gagal mengunduh workspace",uploadTooltip:"Hanya file ZIP",uploadTooltipWithLimit:"Hanya file ZIP, maks {{limit}}MB",zipOnly:"Hanya file .zip yang didukung untuk unggahan",saveSuccess:"Berhasil disimpan",saveFailed:"Gagal menyimpan"},hL={title:"Tugas Cron",description:"Buat dan kelola tugas terjadwal yang berjalan otomatis pada waktu tertentu.",createJob:"Buat Tugas",editJob:"Edit Tugas",confirmDelete:"Konfirmasi Hapus",deleteConfirm:"Yakin ingin menghapus tugas Cron ini?",okText:"OK",cancelText:"Batal",deleteText:"Hapus",id:"ID Tugas",name:"Nama Tugas",enabled:"Status",scheduleType:"Tipe Jadwal",scheduleCron:"Jadwal (Cron)",scheduleTimezone:"Zona Waktu",cronType:"Frekuensi",cronTypeHourly:"Per jam",cronTypeDaily:"Harian",cronTypeWeekly:"Mingguan",cronTypeCustom:"Kustom",cronTime:"Waktu",cronDaysOfWeek:"Hari dalam Minggu",cronDayMon:"Senin",cronDayTue:"Selasa",cronDayWed:"Rabu",cronDayThu:"Kamis",cronDayFri:"Jumat",cronDaySat:"Sabtu",cronDaySun:"Minggu",taskText:"Konten pesan",action:"Tindakan",executeNow:"Jalankan Sekarang",totalItems:"Total {{count}} item",selectTimezone:"Pilih zona waktu",silentDelivery:"Pengiriman senyap",silentDeliveryTooltip:"Jalankan tugas agen dan simpan sesi serta pelacakannya, tetapi jangan kirim hasil ke kanal.",validation:{cronRequired:"Ekspresi cron wajib diisi untuk jadwal berulang.",runAtRequired:"Waktu eksekusi wajib diisi untuk jadwal sekali jalan.",repeatUntilRequired:'Saat memilih "Berakhir pada tanggal", tanggal akhir wajib diisi.',repeatCountRequired:'Saat memilih "Jumlah terbatas", jumlah eksekusi wajib diisi.',repeatUntilAfterRunAt:"Tanggal akhir harus lebih lambat daripada waktu eksekusi. Pilih tanggal akhir setelah waktu eksekusi.",textRequired:"Konten pesan wajib diisi saat jenis tugas adalah text.",requestRequired:"Konten request wajib diisi saat jenis tugas adalah agent.",invalidCronExpression:"Ekspresi cron tidak valid. Gunakan format cron 5 kolom."}},gL={title:"Heartbeat",description:"Jalankan HEARTBEAT.md pada interval tetap untuk pemeriksaan mandiri.",enabled:"Aktifkan heartbeat",every:"Interval",everyRequired:"Wajib",everyMin:"Minimal 1",timeoutSeconds:"Batas waktu eksekusi (detik)",timeoutRequired:"Wajib",timeoutMin:"Minimal 1",timeoutMax:"Maksimal 3600",unitMinutes:"Menit",unitHours:"Jam",target:"Target balasan",targetMain:"Mode senyap (default, tanpa output saluran)",targetLast:"Kirim ke saluran chat terakhir",activeHours:"Jam aktif (opsional)",activeStart:"Waktu mulai",activeEnd:"Waktu selesai",loadFailed:"Gagal memuat konfigurasi heartbeat",saveSuccess:"Berhasil disimpan; heartbeat dimuat ulang",saveFailed:"Gagal menyimpan konfigurasi heartbeat"},fL={title:"Cadangan",description:"Cadangkan dan pulihkan workspace serta konfigurasi agen.",create:"Buat Cadangan",import:"Impor",export:"Ekspor",restore:"Pulihkan",delete:"Hapus",batchDelete:"Hapus yang Dipilih",name:"Nama",createdAt:"Dibuat",scopeSummary:"Cakupan",descriptionLabel:"Deskripsi",noBackups:"Belum ada cadangan. Buat cadangan untuk menyimpan konfigurasi saat ini.",loadFailed:"Gagal memuat cadangan",createTitle:"Buat Cadangan",backupMode:"Mode Cadangan",fullBackup:"Cadangan Penuh",customBackup:"Cadangan Kustom",partialBackup:"Cadangan Parsial",scopeGlobalConfig:"Pengaturan global",scopeSkillPool:"Kumpulan skill",scopeSecrets:"Rahasia",scopeSecretsHint:"Mencakup rahasia penyedia model (kunci API), variabel lingkungan, dan informasi sensitif lainnya",createSuccess:"Cadangan berhasil dibuat",createFailed:"Gagal membuat cadangan",restoreTitle:"Pulihkan Cadangan",restoreFullWarning:"Pemulihan penuh akan sepenuhnya mengganti semua konten instance saat ini (termasuk semua agen, konfigurasi global, kumpulan skill, dan rahasia). Tindakan ini tidak dapat dibatalkan. Fitur terkait tidak tersedia selama pemulihan. Silakan mulai ulang layanan setelah pemulihan selesai.",restoreWarningModify:"Pemulihan akan mengubah konfigurasi saat ini. Tindakan ini tidak dapat dibatalkan.",restoreWarningRestart:"Fitur terkait tidak tersedia selama pemulihan. Silakan mulai ulang layanan setelah pemulihan selesai.",restoreConfirm:"Saya mengonfirmasi ingin memulihkan cadangan ini",restoreMode:"Mode pemulihan",restoreModeFull:"Pemulihan penuh",restoreModeFullDesc:"Sepenuhnya mengganti semua konten instance saat ini, termasuk semua agen, konfigurasi global, kumpulan skill, dan rahasia",restoreModeCustom:"Pemulihan khusus",restoreModeCustomDesc:"Pilih konten yang ingin dipulihkan, seperti agen tertentu, konfigurasi, dll.; agen yang sudah ada tetapi tidak termasuk dalam pemulihan ini akan tetap dipertahankan",restoreModeFullDisabled:"Hanya cadangan penuh",restoreCustomSummary:"{{existing}} yang sudah ada · {{added}} baru dipilih",defaultWorkspaceDir:"Direktori ruang kerja default agen",defaultWorkspaceDirPlaceholder:"Biarkan kosong untuk menggunakan ~/.qwenpaw/workspaces",defaultWorkspaceDirHint:"Jika jalur ruang kerja asli agen tidak ada, agen akan disimpan di <jalur default>/<ID agen>. Jika ada, jalur ruang kerja asli agen akan digunakan.",restoreStrategy:"Strategi pemulihan",restoreStrategyPreserve:"Pertahankan keamanan lokal dan MCP",restoreStrategyPreserveDesc:"Perta
199hankan pengaman keamanan dan konfigurasi MCP instance ini.",restoreStrategyRestore:"Pulihkan pengaturan ini dari cadangan",restoreStrategyRestoreDesc:"Gunakan konfigurasi keamanan dan MCP dari cadangan.",restoreSuccess:"Cadangan berhasil dipulihkan. Silakan mulai ulang layanan.",restoreSuccessPreserved:"Cadangan berhasil dipulihkan. Pengaturan lokal dipertahankan: {{keys}}. Silakan mulai ulang layanan.",restoreFailed:"Gagal memulihkan cadangan",restoreTimedOut:"Pemulihan masih berjalan atau telah melebihi 5 menit. Periksa ukuran cadangan, ruang disk, dan log layanan sebelum mencoba lagi.",restoreTargetBusy:"Pemulihan gagal karena direktori berikut masih digunakan. Tutup browser atau proses yang menggunakannya, lalu coba lagi. Jika masih terkunci, mulai ulang sistem dan coba lagi.",detailLoadFailed:"Gagal memuat detail cadangan; pemulihan tidak tersedia",importSuccess:"Cadangan berhasil diimpor",importFailed:"Gagal mengimpor cadangan",trustLocalBanner:"Cadangan lokal - pemulihan penuh secara default",trustForeignBanner:"Cadangan impor - keamanan lokal dan MCP dipertahankan secara default",trustLegacyBanner:"Cadangan lama - konfirmasi kepercayaan diperlukan sebelum pemulihan",trustForeignTitle:"Percayai cadangan ini?",trustLegacyTitle:"Percayai cadangan lama?",unknownBackupName:"Arsip cadangan",trustForeignDesc:"Cadangan ini tidak ditandatangani oleh instance ini. Lanjutkan hanya jika Anda memercayai sumbernya; pengaturan keamanan lokal dan MCP akan dipertahankan secara default saat dipulihkan.",trustLegacyDesc:"Cadangan lama ini tidak memiliki tanda tangan lokal. Lanjutkan hanya jika Anda memercayai asalnya; instance ini akan menandatanganinya sebelum dipulihkan."},bL={title:"Klien MCP",qwenpawManaged:"Dikelola QwenPaw",qwenpawManagedHint:"Konfigurasi panel kontrol bersama disuntikkan ke Agent pihak ketiga yang didukung saat runtime.",providerManaged:"MCP lokal {{provider}}",providerManagedHint:"Ditemukan dari konfigurasi agen pihak ketiga; hanya-baca dan hanya tersedia untuk agen tersebut.",providerOnly:"Khusus agen pihak ketiga",readOnly:"Hanya-baca",create:"Buat Klien",formatSupport:"Format yang didukung",standardFormat:"Standar (pembungkus mcpServers)",directFormat:"Langsung (key â objek konfigurasi)",singleFormat:"Satu klien (field datar)",emptyState:"Belum ada klien MCP yang dikonfigurasi",loadError:"Gagal memuat klien MCP",createSuccess:"Klien MCP berhasil dibuat",createError:"Gagal membuat klien MCP",updateSuccess:"Klien MCP berhasil diperbarui",updateError:"Gagal memperbarui klien MCP",enableSuccess:"Klien MCP berhasil diaktifkan",disableSuccess:"Klien MCP berhasil dinonaktifkan",toggleError:"Gagal mengubah status klien MCP",deleteConfirm:"Yakin ingin menghapus klien MCP ini?",deleteSuccess:"Klien MCP berhasil dihapus",deleteError:"Gagal menghapus klien MCP",maskedFieldHint:"Field sensitif disamarkan dengan ***. Edit langsung pada nilai tersamarkan tidak didukung â ganti dengan nilai lengkap yang baru untuk mengubahnya.",tools:"Tool & Izin",noTools:"Tidak ada tool tersedia dari server MCP ini",toolsLoadError:"Gagal memuat tool dari server MCP",toolsConnecting:"Server MCP masih tersambung, coba lagi sebentar lagi",toolSchema:"Skema Input",access:{title:"Akses",button:"Akses",summary:"Kebijakan akses MCP",clientSection:"Akses keseluruhan",toolSection:"Akses tool",default:"Default",sourceType:"Sumber",sourceValue:"Nilai sumber",sourceValueAllChannels:"Semua saluran",subjectType:"Objek",subjectValue:"Nilai objek",effectLabel:"Kebijakan",source:{channel:"Saluran"},subjectTypeOption:{all:"Semua",user:"Pengguna"},sourceValuePlaceholder:{channel:"console / dingtalk"},subjectValuePlaceholder:"mis. alice",subjectValuePlaceholderSelectedSource:"ID pengguna di sumber yang dipilih",subjectValuePlaceholderScoped:"ID pengguna {{source}}",subjectValueAll:"Semua",recentUserPlaceholder:"ID pengguna dibatasi pada sumber yang dipilih; ketik atau pilih lagi",noRecentUsers:"Tidak ada pengguna terbaru untuk sumber ini; ketik ID pengguna secara manual",ambiguousUserSourceWarning:"ID pengguna hanya unik di dalam sumber. Pilih saluran tertentu untuk menghindari kecocokan lintas saluran.",unknownUserValueWarning:"ID pengguna ini tidak ada di daftar pengguna aktif terbaru. Penyimpanan tetap diizinkan.",validation:{missingUserValue:"Pilih sumber tertentu dan masukkan ID pengguna yang valid.",ambiguousUserSource:"Aturan pengguna harus menargetkan saluran tertentu, bukan semua saluran.",unknownUserValue:"ID pengguna ini tidak ada di daftar pengguna aktif terbaru. Penyimpanan tetap diizinkan."},addRule:"Tambah aturan",deleteRule:"Hapus aturan",noClientRules:"Tidak ada aturan",noRules:"Tidak ada aturan, menggunakan kebijakan default",inherit:"Ikuti ({{effect}})",stale:"Tidak ditemukan",disabledTools:"Klien MCP ini dinonaktifkan; aturan akses yang tersimpan tetap dapat diedit.",discardTitle:"Buang perubahan yang belum disimpan?",discardContent:"Perubahan kebijakan akses yang belum disimpan akan hilang.",loadError:"Gagal memuat kebijakan akses MCP",saveSuccess:"Kebijakan akses MCP tersimpan",saveError:"Gagal menyimpan kebijakan akses MCP",unmanagedRules:"{{count}} aturan lanjutan",effect:{allow:"Izinkan",ask:"Tanya",deny:"Tolak"}},tab:{json:"Impor JSON",form:"Mode Form"},form:{key:"Kunci klien",keyPlaceholder:"my-mcp-server",keyRequired:"Kunci klien wajib diisi",name:"Nama tampilan",namePlaceholder:"My MCP Server",n
199ameRequired:"Nama tampilan wajib diisi",transport:"Transport",url:"URL server",urlRequired:"URL wajib diisi untuk server MCP jarak jauh",command:"Perintah",commandRequired:"Perintah wajib diisi untuk transport stdio",args:"Argumen (dipisahkan spasi atau baris baru)",description:"Deskripsi",descriptionPlaceholder:"Deskripsi opsional",env:"Variabel lingkungan",envPlaceholder:"KEY=VALUE (satu per baris)"},oauth:{enableOAuth:"Gunakan Otorisasi OAuth",manage:"OAuth",authorized:"Telah Diotorisasi",notAuthorized:"Belum Diotorisasi",expired:"Token Kedaluwarsa",failed:"Otorisasi Gagal",waiting:"Menunggu otorisasi...",authorize:"Otorisasi",reauthorize:"Otorisasi Ulang",revoke:"Cabut Akses",startFailed:"Gagal memulai alur OAuth",authFailed:"Otorisasi OAuth gagal",popupBlocked:"Popup diblokir oleh browser. Izinkan popup dan coba lagi.",windowClosed:"Jendela otorisasi ditutup. Silakan coba lagi.",noUrl:"Masukkan URL server terlebih dahulu",noClientKey:"Buat klien terlebih dahulu",showAdvanced:"Opsi lanjutan",hideAdvanced:"Sembunyikan opsi lanjutan",clientId:"Client ID (opsional)",clientIdPlaceholder:"Kosongkan untuk menggunakan Dynamic Client Registration",scope:"Scope (opsional)",scopePlaceholder:"openid profile email",authEndpoint:"Authorization Endpoint (timpa)",tokenEndpoint:"Token Endpoint (timpa)",endpointHint:"Kosongkan untuk deteksi otomatis dari server MCP."}},kL={error:{SENSITIVE_FILE_BLOCKED:"File diblokir oleh File Guard (perlindungan file sensitif).",OUTSIDE_WORKSPACE:'File berada di luar cakupan workspace. Aktifkan "Izinkan Pratinjau Konsol di Luar Worksp
199ace" di Pengaturan â Keamanan â File Guard.',FORBIDDEN:"Akses ditolak: izin tidak cukup untuk melihat pratinjau file ini.",NOT_FOUND:"File tidak ditemukan, mungkin telah dipindahkan atau dihapus. Jika menggunakan jalur relatif, coba gunakan jalur absolut.",LOAD_FAILED:"Gagal memuat pratinjau file.",LOAD_FAILED_DETAIL:"Gagal memuat pratinjau file: {{detail}}"}},yL={title:"Manajer Plugin",description:"Instal, kelola, dan hapus plugin tanpa me-restart layanan.",installed:"Plugin Terinstal",noPlugins:"Belum ada plugin yang terinstal",installBtn:"Instal Plugin",installTitle:"Instal Plugin",dropPrimary:"Letakkan folder atau ZIP di sini",dropSecondary:"atau klik untuk memilih file ZIP",orFromUrl:"atau dari URL",installFromUrl:"Instal dari URL",urlPlaceholder:"https://example.com/plugin.zip",zipOnly:"Hanya file ZIP yang dapat dijatuhkan sebagai file â seret folder untuk instalasi direktori",dropFailed:"Gagal membaca folder yang dijatuhkan",restartHint:"Beberapa plugin (mis. hook, monkey-patch) mungkin memerlukan restart aplikasi agar sepenuhnya aktif atau dihapus.",installing:"Menginstal...",installSuccess:"Plugin berhasil diinstal",installFailed:"Instalasi plugin gagal",uninstall:"Copot",uninstallConfirm:'Copot plugin "{{name}}"? Tindakan ini tidak dapat dibatalkan. Beberapa plugin mungkin memerlukan restart aplikasi agar sepenuhnya dihapus.',uninstalling:"Mencopot...",uninstallSuccess:"Plugin berhasil dicopot",uninstallFailed:"Pencopotan plugin gagal",statusLoaded:"Berjalan",statusUnloaded:"Tidak dimuat",type:"Tipe",version:"Versi",author:"Penulis",unknown:"Tidak diketahui",noMatchingPlugins:"Tidak ada plugin yang cocok dengan filter saat ini",loadFailed:"Gagal memuat daftar plugin",confirmTitle:"Konfirmasi Pencopotan",officialTitle:"Plugin Resmi",officialDesc:"Instal plugin yang dipublikasikan dari CDN unduhan.",catalogRefresh:"Segarkan",catalogEmpty:"Tidak ada plugin resmi tersedia (katalog CDN mungkin kosong)",catalogLoadFailed:"Gagal memuat katalog plugin resmi",catalogInstall:"Instal",catalogRe
199install:"Instal ulang",catalogUpgrade:"Pembaruan tersedia",catalogUpgradeBtn:"Perbarui",catalogInstalled:"Terinstal",catalogSha256:"SHA256",kindBundle:"Bundel",kindTool:"Alat",filterByName:"Filter berdasarkan nama",filterByKind:"Filter berdasarkan jenis",marketTitle:"Pasar Plugin",marketEmpty:"No plugins found in market",marketLoadFailed:"Failed to load plugin market",marketUnavailable:"Plugin Market is currently under maintenance, please try again later",marketAll:"All",marketSearch:"Search plugins...",marketCategory:"Filter by category",marketSearchResult:'Found {{count}} plugins matching "{{keyword}}"',marketDetails:"Details",marketDownloads:"Downloads",marketDeveloper:"Developer",marketSortLabel:"Sort plugins",marketSortDownloads:"Most downloaded",marketSortUpdated:"Recently updated",marketSortFavorites:"Most favorited"},vL={title:"Debug",desc:"Lihat file log daemon backend untuk membantu diagnosis masalah.",level:{all:"Semua"},backend:{title:"Log backend",autoRefresh:"Segarkan otomatis",newestFirst:"Terbaru dulu",updatedAt:"Diperbarui pada",path:"File log",notFound:"File log backend belum ditemukan.",placeholder:"Output log backend akan muncul di sini.",loadFailed:"Gagal memuat log backend",searchPlaceholder:"Cari log backend..."},actions:{refreshBackend:"Segarkan log backend",refreshSuccess:"Log disegarkan",copyBackend:"Salin log backend"}},TL={title:"Mode Coding",experimental:"Fitur Eksperimental",experimentalDesc:"Mode Coding mengubah QwenPaw menjadi Web IDE ringan dengan editor kode, pohon file, integrasi Git, dan bantuan coding bertenaga AI.",experimentalNote:"Fitur ini masih eksperimental dan dalam pengembangan aktif. Beberapa fungsi mungkin terbatas atau berubah pada pembaruan mendatang.",confirmBtn:"Aktifkan Mode Coding",enterTooltip:"Masuk ke Mode Coding",exitTooltip:"Keluar dari Mode Coding",btnCode:"Kode",btnChat:"Obrolan",selectProject:"Pilih Direktori Proyek",selectProjectDesc:"Pilih proyek untuk dikerjakan, atau gunakan workspace default",tabWorkspace:"Workspace Default",tabClone:"Clone Repositori",tabLocal:"Impor Proyek Lokal",tabNew:"Proyek Baru",workspaceDesc:"Gunakan direktori workspace agen saat ini",cloneUrl:"URL Repositori Git",cloneUrlPlaceholder:"https://github.com/user/repo.git",cloneName:"Nama Proyek (opsional)",cloneNamePlaceholder:"Kosongkan untuk mengambil dari URL",cloneBtn:"Mulai Clone",cloning:"Mengkloning...",localPath:"Path Direktori Lokal",localPathPlaceholder:"/Users/nama-anda/my-project",localPathHint:"Masukkan path absolut ke proyek lokal Anda",openBtn:"Impor",newName:"Nama Proyek",newNamePlaceholder:"my-project",createBtn:"Buat Proyek",switchProject:"Ganti Proyek",currentProject:"Proyek Saat Ini",resetToWorkspace:"Reset ke Workspace Default",dropPrimary:"Seret folder ke sini, atau klik untuk menjelajah",dropSecondary:"Seret dari Finder atau tempel path di bawah",pathHint:"Masukkan path absolut lengkap (dimulai dengan / atau ~)",importing:"Mengimpor...",dropFailed:"Gagal membaca folder",workingDir:"Direktori kerja",importCopyNote:"Folder akan disalin ke pustaka proyek terkelola QwenPaw. File asli tidak akan diubah.",importCopyDesc:'Impor akan membuat salinan folder. Agent bekerja pada salinan, file asli tidak diubah. Untuk bekerja langsung pada aslinya, gunakan "Buka Direktori".',tabOpenDir:"Buka Direktori",openDirDesc:"Buka direktori lokal yang sudah ada â tidak ada file yang disalin",openDirBtn:"Buka Direktori Ini",openDirLoading:"Memuat...",openDirEmpty:"Tidak ada subdirektori",openDirHome:"Beranda",openDirRefresh:"Segarkan",openDirHiddenFolders:"Folder Tersembunyi"},SL={searchPlaceholder:"Cari skill di berbagai platform",categoryAll:"Semua",categoryPlaceholder:"Cari kategori",searchResult:'Ditemukan {{count}} skill yang cocok dengan "{{keyword}}"',providerUnavailable:"Sumber tidak tersedia",noResults:"Tidak ada hasil",startTyping:"Ketik kata kunci di atas untuk mencari di marketplace",browseHint:"Pilih kategori atau masukkan kata kunci untuk menjelajahi skill di {{providers}}",noDescription:"Tidak ada deskripsi",browseMarket:"Jelajahi Market",installQueue:"Antrean instalasi",clearCompleted:"Bersihkan",retry:"Coba lagi",status:{queued:"Mengantre",installing:"Memasang",completed:"Selesai",failed:"Gagal",cancelled:"Dibatalkan"},loadMore:"Muat lebih banyak",noMoreResults:"Tidak ada hasil lainnya",detail
199:{title:"Detail skill",version:"Versi",author:"Penulis",sourceUrl:"URL instalasi",slug:"ID",missing:"â"},stats:{downloads:"Unduhan",stars:"Bintang",installs:"Instalasi",likes:"Suka",views:"Tampilan",category:"Kategori",updatedAt:"Diperbarui"},queueMsg:{timedOut:"Instalasi habis waktu",failedPrefix:"Gagal: {{msg}}"}},CL={starting:"Memulai backend...",checking:"Menghubungkan ke backend...",error:"Backend gagal dimulai.",errorHint:"Proses backend tidak dapat dijalankan. Periksa log aplikasi untuk detail.",errorDetails:"Tampilkan detail error",timeout:"Backend gagal dimulai dalam {{seconds}} detik.",timeoutHint:"Backend gagal dimulai. Coba lagi, atau periksa log aplikasi untuk detail.",retry:"Coba lagi"},wL={title:"Kotak Masuk",tabApprovals:"Persetujuan",tabPushMessages:"Pesan Push",tabHarvests:"Panen AI",summaryApprovals:"Persetujuan",summaryPushUnread:"Push Belum Dibaca",summaryHarvests:"Panen",from:"Dari:",requestedBy:"Oleh",markRead:"Tandai Dibaca",markAllRead:"Tandai Semua Dibaca",markAllReadNoUnread:"Tidak ada pesan yang belum dibaca",markAllReadSuccess:"{{count}} pesan ditandai dibaca",selectAllCurrentPage:"Pilih halaman ini",selectedItems:"{{count}} dipilih",batchDeleteButton:"Hapus Massal",batchOperation:"Massal",exitBatch:"Keluar dari Mode Massal",batchDeleteConfirm:"Hapus {{count}} pesan push yang dipilih?",batchDeleteSuccess:"{{count}} pesan push dihapus",pushCronHeader:"Cron Job: {{name}}",viewDetails:"Lihat Detail",deleteMessageConfirm:"Hapus pesan push ini?",viewAll:"Lihat Semua",read:"Dibaca",approve:"Setujui",reject:"Tolak",ready:"Siap",harvestNow:"Panen Sekarang",createHarvest:"Buat Panen",createFirstHarvest:"Buat Panen Pertama Anda",createSuccess:"Panen berhasil dibuat",emptyApprovals:"Tidak ada persetujuan yang tertunda",emptyPush:"Tidak ada pesan push",wobbleEnable:"Aktifkan notifikasi getar persetujuan",wobbleDisable:"Nonaktifkan notifikasi getar persetujuan",emptyHarvests:"Belum ada panen",statusReadyToHarvest:"Siap Dipanen",statusGrowing:"Sedang Tumbuh",harvestedTimes:"Dipanen {{count}} kali",harvestSuccessRate:"Tingkat Keberhasilan {{rate}}%",messageDetailComingSoon:"Tampilan detail pesan - Segera hadir!",harvestSettingsComingSoon:"Pengaturan panen - Segera hadir!",messageDetailTitle:"Detail Eksekusi",detailCronTitle:"Cron Job: {{name}}",detailHeartbeatTitle:"Heartbeat",messageNotFound:"Pesan tidak ditemukan",detailTaskName:"Nama Tugas",detailTaskId:"ID Tugas",detailStatus:"Status",detailSeverity:"Tingkat Keparahan",detailAgent:"Agen",detailSource:"Sumber",detailSourceCronJob:"Cron Job",detailSourceHeartbeat:"Heartbeat",detailTrigger:"Pemicu",detailDuration:"Durasi",detailExecutedAt:"Dieksekusi Pada",detailReceivedAt:"Diterima Pada",detailRunId:"ID Jalankan",detailContent:"Output",detailPayload:"Payload",detailExecutionTrace:"Jejak Eksekusi",detailTraceEmpty:"Tidak ada jejak eksekusi",mailDetailSender:"Pengirim",mailDetailSubject:"Subjek",mailDetailDate:"Waktu email",mailDetailBody:"Pratinjau isi",mailDetailProcess:"Proses penanganan",filterByAgent:"Filter berdasarkan agen",filterBySourceType:"Filter berdasarkan sumber",sourceTypeCron:"Cron",sourceTypeHeartbeat:"Heartbeat",sourceTypeMemory:"Memory",sourceTypeMail:"Mail",mailAccessControl:"Kontrol Akses Email",pendingSenders:"Pengirim Menunggu Persetujuan",senderLists:"Daftar Pengirim",addSender:"Tambah Pengirim",domainWildcardHint:"Mendukung wildcard domain, mis. *@example.com",invalidAddress:"Alamat email tidak valid. Gunakan format seperti [email protected] atau *@domain.com",whitelist:"Daftar Putih",blacklist:"Daftar Hitam",approveSender:"Setujui",deny:"Blokir",dismiss:"Abaikan",batchApprove:"Setujui Massal",batchDeny:"Blokir Massal",batchDismiss:"Abaikan Massal",batchRemove:"Hapus Massal",confirmApprove:"Setujui pengirim yang dipilih?",confirmDeny:"Blokir pengirim yang dipilih?",confirmDismiss:"Abaikan pengirim yang dipilih?",confirmRemove:"Konfirmasi penghapusan?",removeSuccess:"Berhasil dihapus",addedToAllAgents:"Ditambahkan dan disinkronkan ke semua agen",senderAddress:"Alamat Pengirim",displayName:"Nama Pengirim",emailSubject:"Subjek",bodyPreview:"Pratinjau Isi",selectAgent:"Pilih Agen",allAgents:"Semua Agen",time:"Waktu",remark:"Catatan",actions:"Aksi",optional:" (opsional)",required:" (wajib)"},PL={title:"ACP",loading:"Memuat konfigurasi ACP...",builtin:"Bawaan",custom:"Kustom",create:"Tambah Agen Kustom",createTitle:"Buat Agen ACP",createSuccess:"Agen ACP berhasil dibuat",editTitle:"Edit Konfigurasi ACP",agentKey:"Kunci Agen",agentKeyRequired:"Harap masukkan kunci agen",agentKeyInvalid:"Kunci agen hanya boleh berisi huruf, ang
199ka, garis bawah, dan tanda hubung",agentKeyExists:"Kunci agen ini sudah ada",enabled:"Aktif",command:"Perintah",commandRequired:"Harap masukkan perintah",args:"Argumen",argsHelp:"Satu argumen per baris",env:"Variabel Lingkungan",envHelp:"Gunakan format KEY=VALUE pada setiap baris",envInvalidLine:"Format variabel lingkungan tidak valid: {{line}}",trusted:"Tepercaya",toolParseMode:"Mode Parse Alat",toolParseModeRequired:"Harap pilih mode parse alat",stdioBufferLimit:"Batas Buffer Stdio",stdioBufferLimitHelp:"Ukuran buffer baris stdio maksimum dalam byte untuk subproses ACP.",stdioBufferLimitRequired:"Harap masukkan batas buffer stdio",stdioBufferLimitMin:"Batas buffer stdio minimal 1 byte",docs:"Dokumen Setup",docsHelp:'Buka dokumen integrasi ACP dan langsung ke bagian "Cara mengkonfigurasi runner eksternal"',notSet:"Belum diatur",configSaved:"Konfigurasi ACP tersimpan",configFailed:"Gagal menyimpan konfigurasi ACP",deleteTitle:"Hapus {{name}}",deleteConfirm:"Hapus agen ACP ini? Tindakan ini tidak dapat dibatalkan.",deleteSuccess:"Agen ACP berhasil dihapus",deleteFailed:"Gagal menghapus agen ACP",nodeSettings:"Pengaturan Node",nodePath:"Path Node",chooseOtherNode:"Pilih Node lain...",selectNodePath:"Pilih path Node",nodePathPrompt:"Masukkan path file executable node",nodeSaved:"Pengaturan Node tersimpan",nodeLoadFailed:"Gagal memuat pengaturan Node",nodeSaveFailed:"Path Node tidak tersedia",nodeRuntime:{bundled:"Node bawaan",system:"Node sistem",custom:"Node kustom"},nodeRuntimeReason:{systemNodeMissing:"Node sistem tidak terdeteksi",nodeMissing:"Path Node tidak ada",npxMissing:"npx tidak ditemukan",versionCheckFailed:"Pemeriksaan versi gagal",unavailable:"Tidak tersedia"}},AL={title:"Sesi",description:"Lihat dan kelola sesi chat yang aktif",loading:"Memuat sesi...",confirmDelete:"Konfirmasi Hapus",deleteConfirm:"Apakah Anda yakin ingin menghapus sesi ini?",batchDeleteConfirm:"Apakah Anda yakin ingin menghapus {{count}} sesi yang dipilih?",deleteSuccess:"Sesi berhasil dihapus",deleteFailed:"Gagal menghapus sesi",batchDeleteSuccess:"Berhasil menghapus {{count}} sesi",batchDeleteFailed:"Gagal menghapus sesi secara massal",saveSuccess:"Sesi berhasil disimpan",saveFailed:"Gagal menyimpan sesi",batchDeleteButton:"Hapus Massal",filterTitle:"Filter berdasarkan Judul",filterUserId:"Filter berdasarkan ID Pengguna",filterChannel:"Filter berdasarkan Saluran",allChannels:"Semua Saluran",totalItems:"Total {{count}} item",selectedItems:"{{count}} item dipilih",editSession:"Edit Sesi",pleaseInputName:"Harap masukkan nama sesi",sessionNamePlaceholder:"Nama sesi",activeTab:"Aktif",archivedTab:"Diarsipkan",archivedAtColumn:"Waktu Arsip",archive:{action:"Arsipkan",unaction:"Batalkan Arsip",batchAction:"Arsipkan Massal",batchUnaction:"Batalkan Arsip Massal",success:"Obrolan diarsipkan",successHint:"Obrolan diarsipkan. Lihat di Kontrol > Sesi > Diarsipkan.",failed:"Gagal mengarsipkan",unarchiveSuccess:"Arsip dibatalkan",unarchiveFailed:"Gagal membatalkan arsip",batchSuccess:"{{count}} obrolan diarsipkan",batchFailed:"Gagal mengarsipkan massal",batchUnarchiveSuccess:"{{count}} obrolan dibatalkan arsipnya",batchUnarchiveFailed:"Gagal membatalkan arsip massal",groupLabel:"Diarsipkan ({{count}})",modalTitle:"Obrolan yang Diarsipkan",unarchiveAll:"Batalkan Semua Arsip",noArchived:"Tidak ada obrolan yang diarsipkan"}},ML={parent:"Pengaturan",environments:"Variabel Lingkungan",title:"Variabel Lingkungan",description:"Konfigurasi variabel lingkungan key-value untuk agen dan skill.",key:"Kunci",value:"Nilai",variableNamePlaceholder:"NAMA_VARIABEL",valuePlaceholder:"nilai",insertRowBelow:"Sisipkan baris di bawah",deleteRow:"Hapus baris",deleteVariable:"Hapus Variabel",deleteConfirm:'Hapus "{{name}}"?',deleteSelected:"Hapus yang Dipilih",deleteSelectedConfirm:"Hapus {{label}}?",keyRequired:"Kunci wajib diisi",invalidKeyFormat:"Format kunci tidak valid",duplicateKey:"Kunci duplikat",saveSuccess:"Variabel lingkungan tersimpan",saveFailed:"Gagal menyimpan",deleteSuccess:'"{{name}}" dihapus',deleteFailed:"Gagal menghapus",noVariables:"Belum ada variabel lingkungan yang dikonfigurasi.",addVariable:"Tambah Variabel",loading:"Memuatâ¦",retry:"Coba Lagi",of:"dari",selected:"dipilih",variable:"variabel",variables:"variabel",showValue:"Tampilkan nilai",hideValue:"Sembunyikan nilai",searchPlaceholder:"Cari variabel",liveSettings:"Pengaturan waktu nyata",noLive
199Variables:"Tidak ada pengaturan waktu nyata yang cocok dengan filter.",customSettings:"Variabel kustom",noCustomVariables:"Belum ada variabel khusus.",editVariable:"Edit variabel",applyNow:"Terapkan sekarang",applyHint:"Proses QwenPaw saat ini langsung diperbarui. Proses MCP yang berjalan perlu dimuat ulang.",applied:"Variabel lingkungan diterapkan",appliedWithFailures:"Tersimpan, tetapi {{count}} proses MCP gagal dimuat ulang",resetVariable:"Atur ulang variabel",resetSuccess:"Nilai sistem atau nilai bawaan dipulihkan",readonlySettings:"Pengaturan hanya-baca",noReadonlyVariables:"Tidak ada pengaturan hanya-baca yang cocok dengan filter.",impactTitle:"Dampak proses",explicitConsumers:"{{count}} proses MCP menggunakan variabel ini secara eksplisit",implicitConsumers:"{{count}} proses stdio MCP mungkin mewarisinya secara implisit",restartMode:"Proses MCP yang berjalan",restartAffected:"Muat ulang MCP terdampak",restartNone:"Jangan muat ulang",restartAllStdio:"Muat ulang semua MCP stdio",readonlyReason:{startup:"Ditentukan saat QwenPaw dimulai",agent_owned:"Dikelola oleh konfigurasi setiap Agent",initial_default:"Hanya nilai awal konfigurasi Agent"},mutabilityDescription:{hot_runtime:"Dibaca dari proses QwenPaw saat ini pada awal setiap operasi.",hot_process:"Tersedia melalui os.getenv() dan diwarisi oleh subproses berikutnya.",startup_only:"Hanya untuk referensi; tidak dapat diubah saat QwenPaw berjalan.",internal:"Dikelola secara internal oleh QwenPaw."},variableDescriptions:{QWENPAW_LLM_STREAM_FIRST_CONTENT_TIMEOUT:"Waktu tunggu maksimum untuk konten stream pertama; nol menonaktifkan pemantauan.",QWENPAW_LLM_STREAM_IDLE_TIMEOUT:"Waktu tunggu maksimum antarbagian stream; nol menonaktifkan pemantauan."},source:{user:"QwenPaw",system:"Sistem",default:"Bawaan"}},DL={title:"Penggunaan Token",totalTokens:"Total Token",totalCalls:"Panggilan LLM",toolCalls:"Panggilan Alat",llmAndToolTrend:"Tren Panggilan LLM & Alat",llmAndToolTrendTooltip:"Giliran asisten dengan metadata pemakaian plus intent alat di semua agen. Bukan Total Calls (jumlah API mentah); sesi lama mungkin 0 giliran tercatat.",llmAndToolTrendLoadFailed:"Gagal memuat tren panggilan LLM & alat",recordedTurnsAllAgents:"Panggilan LLM",byAgent:"Berdasarkan Agen",agent:"Agen",unattributed:"Tidak teratribusi",promptTokens:"Token Prompt",completionTokens:"Token Completion",cacheRead:"Token Hit Cache",cacheHitRate:"Tingkat Hit Cache",byModel:"Berdasarkan Model",byDate:"Berdasarkan Tanggal",model:"Model",date:"Tanggal",loadFailed:"Gagal memuat penggunaan token",noData:"Tidak ada data penggunaan token pada periode yang dipilih",modelTrend:"Tren Penggunaan Model",tokenTypeChart:"Tren Jenis Token",selectAll:"Pilih Semua",allSelected:"Semua",itemsSelected:"{{count}} dipilih",selectModels:"Pilih model",selectTokenTypes:"Pilih jenis token"},xL={title:"Statistik Agen",totalSessions:"Total Sesi",totalMessages:"Total Pesan",userMessages:"Pesan Pengguna",assistantMessages:"Pesan Asisten",promptTokens:"Token Prompt",totalInputTokens:"Total Token Prompt",completionTokens:"Token Completion",toolCalls:"Panggilan Alat",newSessions:"Sesi Baru",activeSessions:"Sesi Aktif",messageTrend:"Tren Pesan",sessionTrend:"Tren Sesi",tokenTrend:"Tren Token",llmAndToolTrend:"Tren Panggilan LLM & Alat",sessionsByChannel:"Sesi per Saluran",messagesByChannel:"Pesan per Saluran",totalSessionsTooltip:"Total sesi chat yang dibuat, setiap sesi adalah konteks percakapan yang independen",totalMessagesTooltip:"Total pesan di semua sesi, termasuk pesan pengguna dan asisten",toolCallsTooltip:"Jumlah kali agen memutuskan untuk menjalankan alat; satu panggilan LLM dapat menghasilkan beberapa intent penggunaan alat",messageTrendTooltip:"Tren perbandingan pesan pengguna vs pesan asisten",sessionTrendTooltip:"Tren perbandingan sesi baru vs sesi aktif; batang oranye adalah sesi yang dibuat hari itu, batang biru adalah sesi dengan pesan pada hari itu",llmAndToolTrendTooltip:"Tren giliran LLM agen saat ini vs intent penggunaan alat",sessionsByChannelTooltip:"Distribusi sesi berdasarkan saluran pesan; sesi tanpa saluran dikelompokkan di bawah Konsol",messagesByChannelTooltip:"Distribusi total pesan berdasarkan saluran pesan",currentAgentLlmCalls:"Giliran Tercatat",currentAgentTokenTrendTooltip:"Tren token prompt, completion, dan hit cache dari metadata per giliran agen saat ini; token hit cache merupakan bagian dari token prompt",currentAgentPromptTokensTooltip:"Token prompt agen saat ini di seluruh sesinya pada periode yang dipilih (memerlukan metadata penggunaan per giliran; sesi lama mungkin menampilkan 0)",currentAgentCacheHitRateTooltip:"Tingkat hit cache berbobot token untu
199k panggilan cache agen saat ini yang teramati pada periode terpilih (token hit cache / token input yang memenuhi syarat; â jika tidak tersedia)",currentAgentCompletionTokensTooltip:"Token completion agen saat ini di seluruh sesinya pada periode yang dipilih (memerlukan metadata penggunaan per giliran; sesi lama mungkin menampilkan 0)",currentAgentLlmCallsTooltip:"Jumlah giliran asisten dengan metadata penggunaan tercatat untuk agen saat ini (bukan jumlah panggilan API mentah; sesi lama mungkin menampilkan 0)",loadFailed:"Gagal memuat statistik",noData:"Tidak ada data statistik pada periode yang dipilih",retry:"Coba Lagi"},RL={title:"Persetujuan Keamanan Diperlukan",ownerAgent:"Agen Pemilik",executingAgent:"Agen yang Mengeksekusi",tool:"Alat",severity:"Tingkat Keparahan",findings:"Temuan",parameters:"Parameter",approve:"Setujui",deny:"Tolak",source:"Sumber",builtinSource:"Bawaan",subSession:"Sub-Agen",approved:"Panggilan alat disetujui",denied:"Panggilan alat ditolak",approveFailed:"Gagal menyetujui",denyFailed:"Gagal menolak",timeoutAutoDenied:"Waktu habis, otomatis ditolak",acknowledge:"Mengerti",approvePattern:"Selalu Izinkan",strictModeHint:"Selalu izinkan tidak tersedia dalam mode ketat",approveExact:"Hanya Sekali Ini",approvalScope:"Lingkup Persetujuan",details:"Detail"},IL={title:"Akun",currentPassword:"Kata Sandi Saat Ini",currentPasswordRequired:"Harap masukkan kata sandi Anda saat ini",newUsername:"Nama Pengguna Baru",newUsernamePlaceholder:"Biarkan kosong untuk tetap menggunakan yang sekarang",newPassword:"Kata Sandi Baru",newPasswordPlaceholder:"Biarkan kosong untuk tetap menggunakan yang sekarang",confirmPassword:"Konfirmasi Kata Sandi Baru",confirmPasswordPlaceholder:"Masukkan kembali kata sandi baru",passwordMismatch:"Kata sandi tidak cocok",save:"Simpan Perubahan",updateSuccess:"Akun berhasil diperbarui",updateFailed:"Gagal memperbarui akun",wrongPassword:"Kata sandi saat ini salah",nothingToUpdate:"Harap masukkan nama pengguna atau kata sandi baru",passwordEmpty:"Kata sandi tidak boleh kosong",usernameEmpty:"Nama pengguna tidak boleh kosong",username:"Nama pengguna",passwordRequired:"Masukkan kata sandi baru",hubPasswordPlaceholder:"Masukkan minimal delapan karakter",runtimeTitle:"Runtime pribadi",runtimeDescription:"Mulai ulang runtime jika ruang kerja tidak tersedia. Tugas yang berjalan akan dihentikan, tetapi data tersimpan tetap dipertahankan.",runtimeRestartConfirmTitle:"Mulai ulang runtime?",runtimeRestartConfirmDescription:"Tugas yang berjalan akan dihentikan selama runtime dimulai ulang.",runtimeRestart:"Mulai ulang runtime",runtimeRestartSuccess:"Runtime berhasil dimulai ulang",runtimeRestartFailed:"Gagal memulai ulang runtime"},_L={title:"Transkripsi Suara",description:"Konfigurasi cara pesan audio dan suara yang masuk ditangani.",saveSuccess:"Mode audio tersimpan",saveFailed:"Gagal menyimpan mode audio",audioModeLabel:"Mode Audio",audioModeDescription:"Pilih cara pesan suara dari saluran (Discord, Telegram, dll.) diproses sebelum dikirim ke model.",modeAuto:"Otomatis (Direkomendasikan)",modeAutoDesc:"Transkripsi audio ke teks menggunakan penyedia transkripsi yang dipilih, lalu kirim teks ke model. Jika transkripsi tidak tersedia atau dinonaktifkan, placeholder unggahan file ditampilkan. Audio tidak pernah dikirim langsung ke model dalam mode ini. Berfungsi dengan semua model.",modeNative:"Audio Native",modeNativeDesc:"Kirim file audio langsung ke model tanpa transkripsi. Ini adalah satu-satunya mode yang mengirim audio ke model. Hanya berfungsi dengan model yang mendukung audio (misalnya gpt-4o-audio). Sebagian besar model tidak mendukung ini dan akan menolak pesan.",ffmpegReady:"ffmpeg terinstal. Konversi audio tersedia untuk mode native.",ffmpegMissing:"ffmpeg tidak terinstal.",ffmpegMissingDesc:"Mode audio native memerlukan ffmpeg untuk mengonversi format audio (misalnya .ogg ke .wav). Instal ffmpeg sebagai paket sistem untuk mengaktifkan mode ini.",providerTypeLabel:"Penyedia Transkripsi",providerTypeDescription:"Pilih backend transkripsi. Pilih Dinonaktifkan jika Anda tidak memerlukan transkripsi suara.",providerTypeDisabled:"Dinonaktifkan",providerTypeDisabledDesc:"Tidak ada transkripsi. Pesan suara akan menampilkan placeholder unggahan file.",providerTypeWhisperApi:"Whisper API",providerTypeWhisperApiDesc:"Gunakan endpoint Whisper API yang kompatibel dengan OpenAI dari penyedia yang dikonfigurasi (misalnya OpenAI, Ollama).",providerTypeLocalWhisper:"Whisper Lokal",providerTypeLocalWhisperDesc:"Jalankan transkripsi secara lokal menggunakan pustaka Python openai-whisper. Memerlukan ffmpeg dan openai-whisper yang terinstal.",localWhisperReady:"Whisper Lokal siap. ffmpeg dan openai-whisper terinstal.",localWhisperMissing:"Whisper Lokal tidak siap. Dependensi yang hilang harus diinstal.",localWhisperMissingDesc:"ffmpeg: {{ffmpeg}} | openai-whisper: {{whisper}}. Instal dependensi yang hilang: ffmpeg (paket sistem) dan openai-whisper (uv pip install openai-whisper, atau instal QwenPaw dengan ekstra [whisper]).",providerLabel:"Penyedia Whisper API",providerDescription:"Pilih penyedia mana yang akan digunakan untuk transkripsi audio melalui Whisper API. Hanya penyedia dengan endpoint yang kompatibel dengan Whisper yang ditampilkan.",providerPlaceholder:"Pilih penyedia...",noProvidersWarning:"Tidak ada penyedia yang mendukung transkripsi. Konfigurasi penyedia OpenAI untuk mengaktifkan transkripsi suara.",transcriptionInfoTitle:"Cara transkripsi bekerja",transcriptionInfoDesc:"Transkripsi Whisper API menggunakan endpoint /v1/audio/transcriptions yang kompatibel dengan OpenAI. Ini memerlukan penyedia yang dikonfigurasi dengan endpoint yang kompatibel dengan Whisper â misalnya, penyedia OpenAI. Pilih penyedia tertentu di atas untuk mengaktifkan transkripsi.",transcriptionInfoDescLocal:"Transkripsi Whisper Lokal menjalankan pustaka openai-whisper langsung di mesin Anda. Ini memerlukan ffmpeg (untuk decoding audio) dan paket Python openai-whisper yang terinstal. Tidak diperlukan API key atau koneksi jaringan. Instal dengan: uv pip install 'qwenpaw[whisper]'."},LL={readFile:"Baca {{file}}",readFileDefault:"Baca file",writeFile:"Buat {{file}}",writeFileDefault:"Buat file",editFile:"Edit {{file}}",editFileDefault:"Edit file",appendFile:"Tambahkan ke {{file}}",appendFileDefault:"Tambahkan ke file",grepSearch:"Grep {{pattern}}",grepSearchDefault:"Pencarian grep",globSearch:"Glob {{pattern}}",globSearchDefault:"Pencarian glob",viewImage:"Lihat gambar {{file}}",viewImageDefault:"Lihat gambar",viewVideo:"Lihat video {{file}}
199",viewVideoDefault:"Lihat video",desktopScreenshot:"Tangkapan layar desktop",sendFile:"Kirim {{file}}",sendFileDefault:"Kirim file",browserUse:"Jelajahi {{detail}}",browserNavigate:"Buka {{url}}",browserNavigateDefault:"Buka halaman",browserClick:"Klik",browserType:"Ketik",browserSnapshot:"Ambil snapshot",browserScroll:"Gulir",getCurrentTime:"Dapatkan waktu saat ini",setTimezone:"Atur {{timezone}}",getTokenUsage:"Kueri penggunaan token",memorySearch:"Cari memori {{query}}",memorySearchDefault:"Cari memori",listAgents:"Daftar agen",chatWithAgent:"Chat dengan {{agent}}",chatWithAgentDefault:"Chat dengan agen",submitToAgent:"Kirim ke {{agent}}{{task}}",submitToAgentDefault:"Kirim tugas",checkAgentTask:"Periksa {{agent}} #{{taskId}}",checkAgentTaskAgent:"Periksa {{agent}}",checkAgentTaskDefault:"Periksa tugas",delegateExternalAgent:"Delegasikan {{runner}}",delegateExternalAgentDefault:"Delegasikan ke agen eksternal",shell:"Jalankan {{command}}",shellDefault:"Jalankan perintah",formatTable:{file:"File",lineNumber:"Baris",score:"Skor",summary:"Ringkasan",name:"Nama",id:"ID",description:"Deskripsi",status:"Status"},loading:"Memuat...",rawInputPreview:"Input mentah langsung (4.096 karakter terakhir)",largeOutputOmitted:"{{count}} baris dihilangkan â salin keluaran yang tersedia atau ikuti petunjuk pemulihannya",largeOutputTruncated:"Keluaran dipangkas untuk tampilan â salin keluaran yang tersedia atau ikuti petunjuk pemulihannya",browserAction:{startHeaded:"Mulai browser (dengan tampilan)",start:"Mulai browser",stop:"Hentikan browser",open:"Buka {{url}}",openDefault:"Buka halaman",navigate:"Navigasi ke {{url}}",navigateDefault:"Navigasi",navigateBack:"Kembali",click:"Klik {{selector}}",clickDefault:"Klik elemen",type:"Ketik {{text}}",typeDefault:"Ketik teks",snapshot:"Ambil snapshot",screenshot:"Tangkapan layar {{path}}",screenshotDefault:"Tangkapan layar",eval:"Evaluasi {{code}}",evalDefault:"Evaluasi kode",runCode:"Jalankan {{code}}",runCodeDefault:"Jalankan kode",closePage:"Tutup halaman",tabs:"Tab {{action}}",tabsDefault:"Kelola tab",fillForm:"Isi formulir",fileUpload:"Unggah {{filename}}",fileUploadDefault:"Unggah file",fileDownload:"Unduh {{target}}",fileDownloadDefault:"Unduh file",pressKey:"Tekan {{key}}",pressKeyDefault:"Tekan tombol",hover:"Arahkan ke {{selector}}",hoverDefault:"Arahkan ke elemen",drag:"Seret",selectOption:"Pilih opsi",waitFor:"Tunggu {{target}}",waitForDefault:"Tunggu elemen",resize:"Ubah ukuran {{w}}x{{h}}",resizeDefault:"Ubah ukuran jendela",pdf:"Ekspor PDF {{path}}",pdfDefault:"Ekspor PDF",install:"Instal",batch:"Batch"},lineBadge:{lines:"{{count}} baris",addLines:"+{{count}} baris",delLines:"-{{count}} baris",matches:"{{count}} cocok",files:"{{count}} file"},inlineResult:{taskId:"Tugas #{{id}}",submitted:"Dikirim"},execute:"Jalankan {{tool}}",executeDefault:"Jalankan alat"},EL=JSON.parse('{"discoveryOriginApi":"Terdeteksi via API","discoveryOriginCatalog":"Katalog resmi","discoveryOriginBoth":"API + katalog","availabilityAvailable":"Tersedia","availabilityPermissionDenied":"Tidak ada izin","availabilityNotFound":"Tidak ditemukan","availabilityIncompatible":"Tidak kompatibel dengan chat","availabilityRateLimited":"Dibatasi laju","availabilityTransientError":"Sementara tidak tersedia","availabilityUnverified":"Belum diverifikasi","modelAlreadyConfigured":"Sudah dikonfigurasi","llmConfiguration":"Konfigurasi LLM","providersTitle":"Penyedia","providersDescription":"Konfigurasi API key dan endpoint untuk setiap penyedia.","llmTitle":"Model","defaultLlm":"LLM Default","notConfiguredYet":"Belum dikonfigurasi","llmDescription":"Atur model LLM default global dari penyedia yang diotorisasi. Anda dapat memilih model tertentu untuk setiap Agen di halaman Chat.","configureProvider":"Konfigurasi {{name}}","baseURL":"URL Dasar","apiKey":"API Key","advancedConfig":"Konfigurasi Lanjutan","authMode":"Mode Autentikasi","authModeApiKey":"API Key (x-api-key)","authModeAuthToken":"Auth Token (Authorization: Bearer)","customHeaders":"Header Kustom","customHeadersHint":"Ditambahkan ke setiap permintaan API, mis. x-app: cli","customHeaderKey":"Nama Header","customHeaderValue":"Nilai Header","addHeader":"+ Tambah Header","generateConfig":"Parameter Generasi","generateConfigHint":"Parameter generasi dalam bentuk objek JSON. Akan diperluas dan diteruskan ke permintaan generasi.","generateConfigInvalidJson":"Harap masukkan JSON yang valid","generateConfigMustBeObject":"Parameter generasi harus berupa objek JSON","modelAdvancedConfig":"Konfigurasi Lanjutan Model","modelGenerateConfig":"Parameter Generasi Model","modelGenerateConfigHint":"Parameter generasi dalam bentuk objek JSON untuk model ini. Menimpa konfigurasi tingkat pe
199nyedia.","modelConfigSaved":"Konfigurasi tersimpan untuk model {{name}}","modelConfigSaveFailed":"Gagal menyimpan konfigurasi model","modelConfigLabel":"Konfigurasi Model","maxTokensLabel":"Token Maksimum","maxTokensHint":"Token output maksimum per respons","maxInputLengthLabel":"Panjang Konteks Maksimum","maxInputLengthHint":"Ukuran jendela konteks model, mengontrol ambang kompaksi konteks (â¥1000)","relayReasoningLabel":"Teruskan Penalaran","relayReasoningHint":"Teruskan konten penalaran ke giliran percakapan berikutnya","thinkingModeLabel":"Aktifkan Pemikiran","thinkingModeHint":"Nyalakan untuk mengaktifkan pemikiran/penalaran. Matikan untuk menonaktifkan pemikiran.","thinkingBudgetLabel":"Anggaran Pemikiran","thinkingBudgetHint":"Menggunakan anggaran pemikiran default model","switchToManual":"Manual","switchToAuto":"Otomatis","reasoningEffortLabel":"Kedalaman Penalaran","reasoningEffortHint":"Mengontrol kedalaman penalaran (keluarga OpenAI)","protocol":"Protokol","protocolHint":"Pilih protokol API penyedia untuk konfigurasi ini.","selectProtocol":"Harap pilih protokol","protocolOpenAI":"Kompatibel OpenAI (Chat Completions)","protocolOpenAIResponse":"Kompatibel OpenAI (Response API)","protocolAnthropic":"Anthropic (Messages API)","currentKey":"Saat ini: {{key}}","startsWith":"Dimulai dengan \\"{{prefix}}\\"","optionalSelfHosted":"Opsional untuk layanan yang di-host sendiri","leaveBlankKeep":"Biarkan kosong untuk tetap menggunakan kunci saat ini","enterApiKey":"Masukkan API key ({{prefix}}...)","enterApiKeyOptional":"Masukkan API key (opsional)","openAIEndpoint":"Endpoint OpenAI, mis. https://api.openai.com/v1","openAICompatibleEndpoint":"Endpoint kompatibel OpenAI, mis. https://api.example.com","azureEndpointHint":"Endpoint Azure OpenAI, mis. https://<resource>.openai.azure.com/openai/v1","anthropicEndpointHint":"Endpoint Anthropic, mis. https://api.anthropic.com","ollamaEndpointHint":"Endpoint Ollama, mis. http://localhost:11434","lmstudioEndpointHint":"Endpoint LM Studio, mis. http://localhost:1234/v1","apiEndpointHint":"Endpoint API, mis. https://api.example.com","pleaseEnterBaseURL":"Harap masukkan URL dasar API","selectBaseURL":"Pilih URL dasar","selectBaseURLHint":"Pilih endpoint regional untuk penyedia ini","pleaseEnterValidURL":"Harap masukkan URL yang valid","apiKeyShouldStart":"API Key harus dimulai dengan \\"{{prefix}}\\"","configurationSaved":"Konfigurasi {{name}} tersimpan","failedToSaveConfig":"Gagal menyimpan konfigurasi","revokeAuthorization":"Cabut Otorisasi","revokeConfirmContent":"Apakah Anda yakin ingin menghapus API key untuk {{name}}? Konfigurasi model LLM saat ini juga akan dihapus.","revokeConfirmSimple":"Apakah Anda yakin ingin menghapus API key untuk {{name}}?","authorizationRevoked":"Otorisasi {{name}} dicabut, model LLM dihapus","authorizationRevokedSimple":"Otorisasi {{name}} dicabut","failedToRevoke":"Gagal mencabut otorisasi","active":"Aktif: {{provider}} / {{model}}","provider":"Penyedia","model":"Model","selectProvider":"Pilih penyedia (harus diotorisasi)","selectModel":"Pilih model","llmModelUpdated":"Model LLM diperbarui","failedToSave":"Gagal menyimpan","freeModelWarningTitle":"Pemberitahuan Model Gratis","freeModelWarningMessage":"Model gratis mungkin memiliki ketersediaan terbatas. Silakan merujuk ke ketentuan layanan penyedia:","freeModelWarningDontShowAgain":"Jangan tampilkan lagi","saved":"Tersimpan","save":"Simpan","cancel":"Batal","loading":"Memuat...","retry":"Coba Lagi","notSet":"Belum diatur","notRequired":"Tidak diperlukan","available":"Tersedia","unavailable":"Tidak Tersedia","providerAvailable":"Siap (dengan model)","providerNoModels":"Belum Siap (tidak ada model)","providerNotConfigured":"Belum Siap (belum dikonfigurasi)","settings":"Pengaturan","actions":"Tindakan","search":"Cari","searchPlaceholder":"Cari penyedia...","searchModelPlaceholder":"Cari model...","custom":"Kustom","builtin":"Bawaan","freeTierGroup":"Tingkat Gratis","paidGroup":"Berbayar","localCustomGroup":"Lokal & Kustom","cloudGroup":"Penyedia Cloud","configuredGroup":"Dikonfigurasi","configuredOnline":"penyedia online","noConfigured":"Belum ada penyedia yang dikonfigurasi. Pilih salah satu di bawah untuk memulai.","goConfigureBtn":"Konfigurasi Penyedia","availableGroup":"Penyedia Tersedia","clickToConfigure":"Klik untuk mengkonfigurasi","configureAction":"Konfigurasi â","endpointCount":"{{count}} endpoint","connect":"OAuth","saveApiKey":"Simpan","addProvider":"Tambah Penyedia","addProviderTitle":"Tambah Penyedia Kustom","providerIdLabel":"ID Penyedia","providerIdPlaceholder":"mis. openai, google, anthropic","providerIdHint":"Huruf kecil, digit, tanda hubung, garis bawah. Tidak dapat diubah nanti.","providerNameLabel":"Nama Tampilan","providerNamePlaceholder":"mis. OpenAI, Google Gemini","defaultBaseUrlLabel":"URL Dasar Default","defaultBaseUrlPlaceholder":"mis. https://api.example.com","apiKeyPrefixLabel":"Awalan API Key (opsional)","apiKeyPrefixPlaceholder":"mis. sk-","providerCreated":"Penyedia \\"{{name}}\\" dibuat","providerCreateFailed":"Gagal membuat penyedia","deleteProvider":"Hapus Penyedia","deleteProviderConfirm":"Hapus penyedia kustom \\"{{name}}\\" dan semua modelnya? Ini tidak dapat dibatalkan.","providerDeleted":"Penyedia \\"{{name}}\\" dihapus","providerDeleteFailed":"Gagal menghapus penyedia","disableProvider":"Nonaktifkan Penyedia","disableProviderConfirm":"Hapus API key untu
199k \\"{{name}}\\"? Penyedia akan menjadi tidak dikonfigurasi.","disableBtn":"Nonaktifkan","changeApiKey":"Ubah","selectVariant":"Pilih Varian {{name}}","providerDisabled":"Penyedia \\"{{name}}\\" dinonaktifkan","manageModels":"Model","models":"Model","manageModelsTitle":"{{provider}} â Manajemen Model","userAdded":"Ditambahkan pengguna","addModel":"Tambah Model","addModels":"Tambah Model","autoDiscoverModels":"Temukan Model Otomatis","addModelTitle":"Tambah Model ke {{provider}}","modelIdLabel":"ID Model","modelIdPlaceholder":"mis. gpt-4o, gemini-2.0-flash","modelDiscoveryUnavailableHint":"Tidak ada model yang tersedia. Penyedia ini mungkin tidak mendukung penemuan daftar model, harap masukkan ID model secara manual.","modelNameLabel":"Nama Model","modelNameRequired":"Harap masukkan nama model","modelNamePlaceholder":"mis. GPT-4o, Gemini 2.0 Flash","modelAdded":"Model \\"{{name}}\\" ditambahkan","modelAddFailed":"Gagal menambahkan model","modelAlreadyExists":"ID model \\"{{id}}\\" sudah ada","autoDiscoverModelsSuccess":"Penemuan otomatis selesai. Menambahkan {{count}} model","autoDiscoverModelsNoNew":"Penemuan otomatis selesai. Tidak ada model baru yang ditambahkan","autoDiscoverModelsFailed":"Gagal menemukan model secara otomatis","removeModel":"Hapus","removeModelConfirm":"Hapus model \\"{{name}}\\" dari {{provider}}?","modelRemoved":"Model \\"{{name}}\\" dihapus","modelRemoveFailed":"Gagal menghapus model","loadMore":"Muat lebih banyak ({{count}})","modelsCount":"{{count}} model","noModels":"Tidak ada model","addModelFirst":"Harap tambahkan model terlebih dahulu","modelList":"Daftar Model","clearAll":"Hapus Semua","filteredModelsLoaded":"Model yang difilter dimuat: {{count}}","filterFailed":"Gagal memfilter model","clearAllModels":"Hapus Semua Model","clearAllModelsConfirm":"Hapus semua {{count}} model tambahan? Ini tidak dapat dibatalkan.","allModelsCleared":"{{count}} model dihapus","filterModels":"Filter Model","filterByProvider":"Penyedia:","searchProviderPlaceholder":"Cari nama penyedia","selectAllProviders":"Pilih Semua","clearProviderSelection":"Batalkan Semua","noMatchingProviders":"Tidak ada penyedia yang cocok","filterByModality":"Modalitas Input:","filterFreeOnly":"Model Gratis Saja:","getModels":"Dapatkan Model","discovered":"Model Tersedia:","add":"Tambah","local":"Lokal","localType":"Tipe","localEmbedded":"Tertanam (dalam proses)","localDownloadFirst":"Layanan model belum dimulai","localDownloadModel":"Unduh Model","localModelsTitle":"{{provider}} â Model Lokal","localNoModels":"Belum ada model yang diunduh","localRepoId":"ID Repositori Model","localRepoIdRequired":"Harap masukkan ID repositori model","localRepoIdPlaceholder":"mis. Qwen/Qwen3-0.6B-GGUF","localFilename":"Nama File (opsional)","localFilenamePlaceholder":"mis. mistral-7b.Q4_K_M.gguf","localFilenameHint":"Biarkan kosong untuk memilih kuantisasi terbaik secara otomatis","localSource":"Sumber","localDownloadSuccess":"Model berhasil diunduh","localDownloadFailed":"Gagal mengunduh model","localDeleteModel":"Hapus Model","localDeleteConfirm":"Hapus model lokal \\"{{name}}\\"? File model akan dihapus dari disk.","localModelDeleted":"Model \\"{{name}}\\" dihapus","localDeleteFailed":"Gagal menghapus model","localDownloadPending":"Mempersiapkan unduhan...","localDownloading":"Mengunduh {{repo}}... Ini mungkin memakan beberapa menit.","localDownloadNavigateHint":"Anda dapat menavigasi halaman lain â unduhan akan terus berjalan di latar belakang.","localDownloadInProgress":"Unduhan sedang berlangsung","localDownloaded":"Diunduh","localNotDownloaded":"Belum diunduh","localNoRecommendedModels":"Perangkat ini tidak cukup kuat untuk menjalankan model lokal","localCancelDownloadTitle":"Batalkan unduhan","localCancelDownloadAction":"Batalkan unduhan","localCancelDownloadConfirm":"Batalkan unduhan \\"{{repo}}\\"?","localDownloadCancelled":"Unduhan dibatalkan","localCancelDownloadFailed":"Gagal membatalkan unduhan","localLlamacppName":"Mesin inferensi","localLlamacppInstallHint":"Instal runtime lokal sebelum mengunduh atau memulai model.","localInstallLlamacpp":"Instal llama.cpp","localLlamacppInstallStarted":"Unduhan llama.cpp dimulai","localLlamacppInstallSuccess":"llama.cpp berhasil diinstal","localLlamacppInstallFailed":"Gagal menginstal llama.cpp","localRuntimeSectionTitle":"Mesin Inferensi","localRuntimeSectionDescription":"Didukung oleh Llama.cpp","localRuntimeComputeHint":"CPU digunakan secara default. Untuk akselerasi GPU, gunakan Ollama atau LM Studio.","localRuntimeInstalled":"Terinstal","localRuntimeUpdateAvailable":"Pembaruan tersedia","localRuntimeUpdateAction":"Klik untuk mengunduh ver
199si terbaru","localRuntimeUpdateConfirmTitle":"Konfirmasi pembaruan llama.cpp","localRuntimeUpdateConfirmContent":"Pembaruan akan menimpa versi llama.cpp yang terinstal. Konfirmasi untuk mulai mengunduh dan menginstal versi terbaru.","localRuntimeUpdateConfirmContentWithServer":"Pembaruan akan menimpa versi llama.cpp yang terinstal dan menghentikan layanan model yang sedang berjalan ({{model}}). Konfirmasi untuk mulai mengunduh dan menginstal versi terbaru.","localRuntimeUnsupported":"Tidak didukung","localRuntimeMissing":"Tidak ada","localServerRunningTitle":"Server lokal saat ini","localServerOnline":"Berjalan","localServerIdle":"Mati","localServerUnavailable":"Masalah","localNoActiveModel":"Tidak ada model aktif","localNoDownloadedModelsHint":"Unduh model yang sesuai sebelum memulai layanan inferensi lokal.","localDownloadModelFirst":"Unduh model terlebih dahulu","localEngineInstallStateLabel":"Instal","localEngineRunStateLabel":"Status","localEngineCurrentModelLabel":"Model yang sedang dijalankan","localEngineNextStepLabel":"Langkah selanjutnya","localEngineHealthLabel":"Kesehatan mesin","localEngineStatusHint":"Harap unduh dan mulai model yang sesuai dari daftar di bawah","localStartServer":"Mulai","localStopServer":"Hentikan","localServerStartFailed":"Gagal memulai server lokal","localServerStopFailed":"Gagal menghentikan server lokal","localServerSwitchTitle":"Ganti model yang berjalan","localServerSwitchConfirm":"Server saat ini menjalankan {{current}}. Ganti ke {{next}}?","localSwitchModel":"Ganti","localModelPathMissing":"Model yang diunduh ini tidak memiliki jalur lokal.","localModelsSectionTitle":"Model Lokal","localModelsSectionDescription":"Model yang diunduh dapat langsung dimulai. Hanya satu unduhan model dan satu instance server lokal yang dapat berjalan sekaligus.","localModelsLockedHint":"Harap instal llama.cpp terlebih dahulu","localAlternativeRuntimeHint":"Coba Ollama atau LM Studio","localModelsCount":"Diunduh {{downloaded}} / {{total}}","localCurrentDownloadTitle":"Unduhan saat ini","localAdvancedConfigTitle":"Pengaturan Lokal Lanjutan","localAdvancedConfigDescription":"Pengaturan ini berlaku untuk runtime inferensi lokal yang tertanam. Perubahan panjang konteks maksimum berlaku saat server lokal dimulai berikutnya.","localAdvancedConfigSaved":"Pengaturan lokal lanjutan tersimpan","localAdvancedConfigSaveFailed":"Gagal menyimpan pengaturan lokal lanjutan","localMaxContextLengthLabel":"Panjang Konteks Maksimum","localMaxContextLengthHint":"Jumlah token maksimum untuk jendela konteks model. Perubahan berlaku saat server lokal dimulai berikutnya.","localMaxContextLengthRequired":"Harap masukkan panjang konteks maksimum","localMaxContextLengthMin":"Panjang konteks maksimum minimal {{min}}","localMaxContextLengthPlaceholder":"Masukkan panjang konteks maksimum","localServerPortLabel":"Port Server","localServerPortHint":"Biarkan kosong agar llama.cpp secara otomatis memilih port. Masukkan port untuk menggunakan port tetap. Perubahan berlaku saat server lokal dimulai berikutnya.","localServerPortRange":"Port server harus antara {{min}} dan {{max}}","localServerPortPlaceholder":"Biarkan kosong untuk memilih port secara otomatis","localGenerateConfigHint":"Konfigurasi parameter generasi model lokal sebagai objek JSON.","localCustomModelTitle":"Unduhan model kustom","localCustomModelHint":"Masukkan ID repositori model. Hanya format GGUF.","localSourceHuggingFace":"Hugging Face","localSourceModelScope":"ModelScope","ollamaModelNamePlaceholder":"mis. mistral:7b, qwen3:8b","testConnection":"Uji Koneksi","testConnectionSuccess":"Uji koneksi berhasil","testConnectionFailed":"Uji koneksi gagal","testConnectionFailedWithMessage":"Uji koneksi gagal: {{message}}","testConnectionError":"Terjadi kesalahan saat menguji koneksi","discoverModels":"Temukan Model","discoverModelsFailed":"Gagal menemukan model","ollamaFetchModelsFailed":"Gagal mengambil model Ollama. Harap periksa detail kesalahan.","modelTestFailed":"Validasi model gagal, harap periksa apakah ID model benar","modelTestFailedConfirm":"Uji koneksi model gagal: {{message}}. Apakah Anda tetap ingin menambahkan model ini?","autoDiscoveredAndAdded":"Menemukan {{count}} model secara otomatis dan menambahkan {{added}} model baru","autoDiscoveredNoNew":"Menemukan {{count}} model secara otomatis; daftar model sudah terkini","autoDiscoverFailed":"Penemuan model otomatis gagal; Anda dapat menambahkan model secara manual","tagImage":"Gambar","tagVideo":"Video","tagTextOnly":"Teks Saja","tagMultimodal":"Multimodal","tagVision":"Visi","tagText":"Teks","free":"Gratis","probeMultimodal":"Uji Multimodal","probeImage":"Gambar","probeVideo":"Video","probeSupported":"Didukung: {{types}}","probeNotSupported":"Model ini tidak mendukung input multimodal","probeFailed":"Probe gagal","tagNotProbed":"Belum Diuji","modalityVision":"Gambar","modalityAudio":"Audio","modalityVideo":"Video","modalityFile":"File","modalityText":"Teks saja","perMillionIn":"/1 juta masuk","perMillionOut":"/1 juta keluar"}'),FL={title:"File",navigator:"Navigator file",source:"Sumber",workspace:"Workspace",profile:"Profil",memory:"Memori Jangka Panjang",daily:"Jurnal",digest:"Basis Pengetahuan",memoryGraph:"Graf Memori",memoryGraphShort:"Graf",memoryGraphLoading:"Memuat graf memoriâ¦",memoryGraphLoadFailed:"Gagal memuat graf memori.",memoryGraphCounts:"{{nodes}} node · {{edges}} tautan",memoryGraphEmpty:"Belum ada tautan memori yang diindeks.",memoryGraphZoomOut:"Perkecil",memoryGraphZoomIn:"Perbesar",memoryGraphFit:"Sesuaikan graf",memoryGraphRoot:"Node akar",memoryGraphRootDirect:"File langsung",memoryGraphOtherFile:"File lain",memoryGraphIndexed:"File terindeks",memoryGraphUnresolved:"Tautan belum terselesaikan",memoryGraphDirection:"Arah Wiki link",memoryGraphOpenFile:"Buka Markdown",memoryGraphOutbound:"Keluar · {{count}}
199",memoryGraphInbound:"Masuk · {{count}}",projectDirectory:"Direktori proyek",workspaceDirectory:"Direktori konfigurasi",switchRoot:"Ganti direktori",manageDirs:"Kelola direktoriâ¦",primaryRoot:"Utama",rootMissing:"Hilang",rootsPending:"{{count}} lainnya tersedia setelah pesan pertama",sourceEmpty:"Belum ada file di sumber ini.",loadMore:"Muat 200 berikutnya",upload:"Unggah file",conflictPolicy:"Kebijakan konflik unggahan",conflictRename:"Simpan keduanya",conflictRenameDescription:"Tambahkan nomor pada nama file baru dan pertahankan file lama.",conflictSkip:"Pertahankan yang lama",conflictSkipDescription:"Lewati file baru yang bentrok dan lanjutkan unggahan lainnya.",conflictOverwrite:"Gunakan file baru",conflictOverwriteDescription:"Ganti file lama dengan file baru.",uploadConflictTitle:"File dengan nama sama ditemukan",uploadConflictDescription:"File berikut sudah ada: {{files}}. Pilih cara melanjutkan.",promptToggle:"Atur apakah {{name}} disertakan dalam prompt sistem",addSystemPrompt:"Tambahkan dari ruang kerja",addSystemPromptTitle:"Tambahkan file prompt sistem",addSystemPromptDescription:"Pilih file Markdown ruang kerja untuk disertakan dalam prompt sistem.",searchSystemPromptFiles:"Cari file Markdown ruang kerja",noSystemPromptCandidates:"Tidak ada file yang cocok.",sourceControl:"Kontrol sumber",preview:"Preview",edit:"Edit",selectFile:"Pilih file untuk dibuka",closeTab:"Tutup tab",closeOtherTabs:"Tutup tab lainnya",closeAllTabs:"Tutup semua tab",openFiles:"File terbuka, {{count}}",openFilesLabel:"File terbuka",openFileCount:"{{count}} terbuka",searchOpenFiles:"Cari berdasarkan file atau jalur",noOpenFilesFound:"Tidak ada file terbuka yang cocok",scrollTabsLeft:"Gulir tab ke kiri",scrollTabsRight:"Gulir tab ke kanan",agentChangedFile:"Agen mengubah file ini",keep:"Simpan",keepAll:"Simpan semua",undo:"Urungkan",undoAll:"Urungkan semua",copySelectionToChat:"Salin pilihan ke Chat",copyFileToChat:"Salin file ke Chat",previewSize:"Preview · {{size}} byte",backToPreview:"Kembali ke Preview",download:"Unduh",downloadFailed:"Unduhan file gagal",resize:"Ubah ukuran panel file",loadFailed:"Gagal memuat file. Pastikan file masih berada di direktori kerja utama pada ruang kerja agen saat ini.",previewUnavailable:"Preview tidak tersedia. Metadata dan unduhan tetap tersedia.",mentionInChat:"Sebutkan di Chat",expandWorkspace:"Perluas workspace",openWorkspace:"Buka workspace",closeWorkspace:"Tutup workspace"},OL={agentTitle:"Direktori proyek Agen",sessionTitle:"Direktori proyek Sesi",pathPlaceholder:"Masukkan path direktori absolut",recentProjects:"Proyek terbaru",browseDirectory:"Telusuri direktori",noRecentProjects:"Belum ada proyek terbaru",clearSelection:"Hapus pilihan proyek",homeDirectory:"Direktori utama",parentDirectory:"Direktori induk",refreshDirectory:"Segarkan direktori",restoreDefault:"Pulihkan bawaan",createDirectory:"Buat folder baru",directoryNamePlaceholder:"Masukkan nama folder",createDirectoryFailed:"Gagal membuat folder",useWorkspace:"Gunakan direktori konfigurasi",createSessionHint:"Kirim pesan pertama untuk menetapkan direktori khusus Sesi.",sessionSource:"Sesi",agentSource:"Default Agen",makePrimary:"Jadikan utama",remove:"Hapus",add:"Tambah",boundDirs:"Direktori proyek yang ditambahkan",primaryHint:"Panggilan alat dan perintah berjalan di direktori utama secara bawaan.",primaryTag:"Utama",unbound:"Belum ada direktori terikat",unavailable:"Hilang",alreadyBound:"Sudah terikat",tooMany:"Maksimal {{max}} direktori dapat diikat.",countTitle:"Jumlah direktori yang diikat"},BL=JSON.parse('{"title":"Konfigurasi","projectDirectoryTitle":"Direktori proyek default","projectDirectoryDescription":"Direktori default untuk file dan perintah.","projectDirectoryDefault":"Default Agen","changeProjectDirectory":"Ubah direktori","projectDirectoryWorkspaceFallback":"Menggunakan workspace agen","enhancedCodeCapability":"Kemampuan kode lanjutan","enhancedCodeCapabilityTooltip":"Menambahkan alat kode tanpa mengubah direktori proyek.","enhancedCodeCapabilityDescription":"Aktifkan AST, LSP, prompt kode, konteks Git, dan kontrol sumber.","description":"Konfigurasi parameter runtime agen","reactAgentTitle":"Agen ReAct","llmRetryTitle":"Coba Ulang LLM Otomatis","llmRetryEnabled":"Aktifkan Coba Ulang Otomatis","llmRetryEnabledTooltip":"Secara otomatis mencoba ulang kegagalan API LLM sementara seperti batas kecepatan, timeout, atau kesalahan koneksi.","llmMaxRetries":"Coba Ulang Maksimum","llmMaxRetriesTooltip":"Jumlah maksimum percobaan ulang untuk permintaan LLM yang dapat dicoba ulang.","llmMaxRetriesPlaceholder":"Masukkan coba ulang maksimum","llmMaxRetriesRequired":"Coba ulang maksimum wajib diisi","llmMaxRetriesMin":"Coba ulang maksimum minimal 1","llmBackoffBase":"Penundaan Dasar Backoff (dtk)","llmBackoffBaseTooltip":"Penundaan dasar sebelum percobaan ulang pertama. Percobaan ulang berikutnya menggunakan backoff eksponensial dari nilai ini.","llmBackoffBasePlaceholder":"Masukkan penundaan dasar","llmBackoffBaseRequired":"Penundaan dasar backoff wajib diisi","llmBackoffBaseMin":"Penundaan dasar backoff minimal 0,1 detik","llmBackoffCap":"Penundaan Maksimum Backoff (dtk)","llmBackoffCapTooltip":"Batas maksimum untuk penundaan backoff percobaan ulang eksponensial.","llmBackoffCapPlaceholder":"Masukkan penundaan maksimum","llmBackoffCapRequired":"Penundaan maksimum backoff wajib diisi","llmBackoffCapMin":"Penundaan maksimum backoff minimal 0,5 detik","llmBackoffCapGteBase":"Penundaan maksimum backoff harus lebih besar dari atau sama dengan penundaan dasar","llmRateLimiterTitle":"Pembatas Kecepatan LLM","llmMaxConcurrent":"Panggilan Bersamaan Maksimum","llmMaxConcurrentTooltip":"Jumlah maksimum panggilan LLM yang diizinkan berjalan bersamaan. Dibagi di semua agen.","llmMaxConcurrentPlaceholder":"Masukkan panggilan bersamaan maksimum","llmMaxConcurrentRequired":"Panggilan bersamaan maksimum wajib diisi","llmMaxConcurrentRange":"Panggilan bersamaan maksimum minimal 1","llmMaxQpm":"QPM Maksimum (Kuer
199i Per Menit)","llmMaxQpmTooltip":"Permintaan maksimum dalam jendela geser 60 detik. 0 = dinonaktifkan.","llmMaxQpmPlaceholder":"Masukkan QPM maksimum (0 = tidak terbatas)","llmMaxQpmRequired":"QPM maksimum wajib diisi","llmMaxQpmRange":"QPM maksimum minimal 0","llmRateLimitPause":"Jeda Batas Kecepatan (dtk)","llmRateLimitPauseTooltip":"Durasi jeda default (detik) yang diterapkan secara global saat respons batas kecepatan 429 diterima.","llmRateLimitPausePlaceholder":"Masukkan durasi jeda","llmRateLimitPauseRequired":"Jeda batas kecepatan wajib diisi","llmRateLimitPauseMin":"Jeda batas kecepatan minimal 1 detik","llmRateLimitJitter":"Jitter Batas Kecepatan (dtk)","llmRateLimitJitterTooltip":"Rentang jitter acak (detik) yang ditambahkan pada jeda agar pembangun bersamaan tidak serentak.","llmRateLimitJitterPlaceholder":"Masukkan rentang jitter","llmRateLimitJitterRequired":"Jitter batas kecepatan wajib diisi","llmRateLimitJitterMin":"Jitter batas kecepatan minimal 0 detik","llmAcquireTimeout":"Timeout Perolehan Slot (dtk)","llmAcquireTimeoutTooltip":"Waktu maksimum (detik) pemanggil akan menunggu untuk mendapatkan slot pembatas kecepatan sebelum menyerah.","llmAcquireTimeoutPlaceholder":"Masukkan timeout perolehan","llmAcquireTimeoutRequired":"Timeout perolehan slot wajib diisi","llmAcquireTimeoutMin":"Timeout perolehan slot minimal 10 detik","llmAcquireTimeoutGtPauseJitter":"Timeout perolehan slot harus lebih besar dari jeda batas kecepatan + jitter","contextManagementTitle":"Manajemen Konteks","memoryManagerBackend":"Backend Manajemen Memori Jangka Panjang","memoryManagerBackendTooltip":"Backend untuk manajer memori. Pilih remelight (file lokal), adbpg (database cloud), PowerContext (layanan memori jarak jauh), atau none (nonaktifkan memori).","memoryManagerBackendRestartWarning":"Mengalihkan backend manajemen memori jangka panjang tidak mendukung hot reload. Simpan dan restart QwenPaw agar perubahan berlaku.","maxIters":"Iterasi Maksimum","maxItersTooltip":"Jumlah maksimum iterasi penalaran-tindakan untuk agen ReAct","maxItersPlaceholder":"Masukkan iterasi maksimum","maxItersRequired":"Iterasi maksimum wajib diisi","maxItersMin":"Iterasi maksimum minimal 1","agentLoopTitle":"Pengaturan Loop Agen","loopMode":{"builtIn":"Bawaan","builtInNote":"Pipeline terkunci · Nilai dapat diedit","templateSectionTitle":"Templat Loop","templateSectionDescription":"Pilih templat bawaan atau tambahkan milik Anda.","defaultTab":"Default","goalTab":"Tujuan","missionTab":"Misi","defaultDescription":"Loop ReAct terjaga standar di luar mode eksplisit.","goalDescription":"Loop persisten berbatas untuk tujuan yang dapat diverifikasi.","missionDescription":"Pipeline persisten untuk misi panjang dan bertahap.","gatePipeline":"Pipeline Gate","repetitionTitle":"Perlindungan pengulangan","repetitionDescription":"Mendeteksi panggilan alat berulang dan melakukan intervensi.","iterationTitle":"Batas iterasi","iterationDescription":"Membatasi jumlah iterasi ReAct.","retryTitle":"Pemeriksaan penyelesaian kualitatif","retryDescription":"Hanya dipicu saat agen memberi respons teks tanpa panggilan alat.","goalTurnTitle":"Batas giliran tujuan","goalTurnDescription":"Membatasi giliran dalam satu tujuan aktif.","maxGoalTurns":"Maksimum giliran tujuan","goalBudgetTitle":"Anggaran token tujuan","goalBudgetDescription":"Berhenti saat tujuan mencapai anggarannya.","maxGoalTokens":"Maksimum token tujuan","goalCompletionTitle":"Pemeriksaan penyelesaian tujuan","goalCompletionDescription":"Membaca status tujuan eksplisit sebelum berhenti.","goalCompletionReadOnly":"Penyelesaian dikendalikan protokol status tujuan bawaan.","missionProgressTitle":"Pemeriksaan progres misi","missionProgressDescription":"Berlanjut sampai semua cerita lulus atau batas tercapai.","missionProgressReadOnly":"Penyelesaian dikendalikan status Mission Story bawaan.","missionIterationTitle":"Batas iterasi Mission","missionIterationDescription":"Tetapkan batas eksekusi default untuk Mission baru.","workerAttemptsTitle":"Percobaan Worker","workerAttemptsDescription":"Batasi percobaan ulang Worker setelah verifikasi Story gagal.","missionVerificationTitle":"Kebijakan verifikasi Mission","missionVerificationDescription":"Tentukan panduan verifikasi dan perintah pengujian default.","defaultMaxMissionIterations":"Maksimum ronde eksekusi default","defaultMaxMissionIterationsTooltip":"Digunakan saat /mission tidak menentukan --max-iterations.","maxRetriesPerStory":"Maksimum percobaan ulang per Story","maxRetriesPerStoryTooltip":"Percobaan ulang Worker setelah hasil FAIL atau PARTIAL dari Verifier.","defaultVerificationInstructions":"Panduan verifikasi (opsional)","defaultVerificationInstructionsHelp":"Panduan bahasa alami yang diterapkan ke setiap Mission Verifier.","defaultVerificationInstructionsPlaceholder":"Contoh: periksa penanganan path Windows dan UI yang dirender.","defaultVerifyCommand":"Perintah pengujian default (opsional)","defaultVerifyCommandHelp":"Verifier mencoba menjalankannya dengan alat dan
199izin normal. /mission --verify menggantikannya.","defaultVerifyCommandPlaceholder":"Contoh: pytest -q","enableRepetitionProtection":"Aktifkan perlindungan pengulangan","removeRule":"Hapus aturan","custom":"Kustom","customDescription":"Bangun pipeline tersimpan dari Gate bawaan QwenPaw.","duplicate":"Duplikat","delete":"Hapus","displayName":"Nama tampilan","duplicateModeName":"Mode Loop dengan nama ini sudah ada.","slashCommand":"Perintah slash","description":"Deskripsi","availableToAgent":"Tersedia untuk agen ini","runsTopToBottom":"Berjalan dari atas ke bawah","addGate":"Tambah Gate","emptyPipeline":"Tambahkan setidaknya satu Gate agar mode ini tersedia.","iterationGateTitle":"Batas iterasi","iterationGateDescription":"Berhenti setelah jumlah iterasi Loop tertentu.","doomGateTitle":"Perlindungan pengulangan","doomGateDescription":"Mendeteksi panggilan berulang dan mengubah strategi.","tokenGateTitle":"Anggaran token","tokenGateDescription":"Membatasi penggunaan token prompt dan penyelesaian.","timeoutGateTitle":"Batas waktu Loop","timeoutGateDescription":"Berhenti pada batas Loop berikutnya setelah waktu habis tanpa memutus pekerjaan yang berjalan.","toolBudgetGateTitle":"Anggaran panggilan alat","toolBudgetGateDescription":"Membatasi semua panggilan dan alat terpilih.","retryGateTitle":"Coba ulang penghentian awal","retryGateDescription":"Meminta agen memverifikasi sebelum berakhir.","rubricGateTitle":"Rubrik penyelesaian","rubricGateDescription":"Menilai kriteria eksplisit dan merevisi bila perlu.","qualitativeRubricTitle":"Pemeriksaan penyelesaian kualitatif","qualitativeRubricDescription":"Memeriksa respons teks tanpa panggilan alat dengan kriteria bahasa alami.","qualitativeRubric":"Kriteria penyelesaian bahasa alami","qualitativeRubricHelp":"Hanya dipicu untuk respons teks tanpa panggilan alat; agen melanjutkan jika masih ada pekerjaan.","completionRubricTitle":"Pemeriksaan sinyal penyelesaian","completionRubricDescription":"Memeriksa sinyal penyelesaian pada respons teks tanpa panggilan alat.","completionRubricHelp":"Dipicu setelah respons teks tanpa panggilan alat. Agen mengeluarkan sinyal penyelesaian saat selesai; jika belum, agen terus bekerja hingga batas putaran evaluasi tercapai.","completionPrompt":"Prompt pemeriksaan penyelesaian","completionPromptHelp":"Jelaskan kapan hasil dianggap selesai. QwenPaw secara otomatis menyisipkan instruksi keluaran sinyal penyelesaian.","completionSignal":"Sinyal penyelesaian","completionSignalHelp":"QwenPaw menyisipkan sinyal ini dan instruksi untuk hanya mengeluarkan sinyal tersebut ke prompt pemeriksaan. Loop hanya selesai pada kecocokan penuh setelah spasi dibuang dan huruf besar-kecil diabaikan.","removeCriterion":"Hapus kriteria {{number}}","totalTokensHelp":"Batas gabungan token input dan output yang digunakan dalam giliran ini.","promptTokensHelp":"Mencakup instruksi sistem, konteks percakapan, skema alat, dan hasil alat.","completionTokensHelp":"Batas token yang dihasilkan model dalam giliran ini.","maxIterations":"Maksimum iterasi","historyWindow":"Jendela riwayat","similarityThreshold":"Ambang kemiripan","totalTokens":"Token total maksimum","promptTokens":"Token input maksimum","completionTokens":"Token output maksimum","maxSeconds":"Maksimum detik","maxSecondsHelp":"Waktu diperiksa setelah respons model atau panggilan alat saat ini selesai. Pekerjaan yang berjalan tidak diputus.","allToolCalls":"Semua panggilan alat","perToolLimits":"Batas per alat","toolName":"Nama alat","callLimitAria":"Batas panggilan {{name}}","removeToolLimitAria":"Hapus batas {{name}}","addToolLimit":"Tambah batas per alat","maxRetries":"Maksimum percobaan ulang","retryInstruction":"Instruksi coba ulang","passThreshold":"Ambang kelulusan","maxEvaluations":"Maksimum putaran evaluasi","graderError":"Kesalahan penilai","stopSafely":"Berhenti dengan aman","verifyOnceMore":"Verifikasi sekali lagi","completionCriteria":"Kriteria penyelesaian","criterionPlaceholder":"Jelaskan penyelesaian yang dapat diamati","required":"Wajib","weight":"Bobot","addCriterion":"Tambah kriteria","moveGateAria":"Pindahkan {{title}}","removeGate":"Hapus Gate","newModeName":"Mode Loop Baru","defaultCustomDescription":"Pipeline Gate kustom.","copyName":"Salinan {{name}}","createModeAria":"Buat mode Loop kustom","createModeTitle":"Buat mode Loop kustom","startingTemplate":"Templat awal","startingPipeline":"Pipeline awal","blankPipelineHint":"Mulai kosong dan tambahkan gate nanti","safeTemplate":"Jalankan aman","researchTemplate":"Riset beranggaran","qualityTemplate":"Utamakan kualitas","blankTemplate":"Pipeline kosong"},"doomLoopEnabled":"Perlindungan Perilaku Berulang","doomLoopEnabledTooltip":"Intervensi otomatis saat agen terjebak mengulangi tindakan yang sama","doomLoopAfter":"Setelah","doomLoopRepetitions":"tindakan identik","doomLoopStopAction":"Jeda & Minta Bantuan","doomLoopWarnAction":"Kirim Pengingat","doomLoopSimpleMode":"Sederhana","doomLoopAdvancedMode":"Lanjutan","doomLoopWindowSize":"Rentang Deteksi","doomLoopWindowSizeTooltip":"Berapa banyak tindakan terbaru yang diperiksa untuk pengulangan","doomLoopSimilarity":"Sensitivitas Kecocokan","doomLoopSimilarityTooltip":"Seberapa mirip tindakan harus dianggap pengulangan (semakin rendah = semakin ketat)","doomLoopStages":"Aturan Intervensi","doomLoopAction":"Tindakan","doomLoopPrompt":"Pesan","doomLoopPromptPlaceholder":"Pesan pengingat atau alasan jeda...","doomLoopAddStage":"Tambah Aturan","iterationTitle":"Batas Iterasi","iterationEnabled":"Aktifkan Batas Iterasi","iterationEnabledTooltip":"Hentikan agen setelah jumlah putaran loop tetap","iterationMaxIterations":"Iterasi Maksimum","iterationMaxIterationsTooltip":"Jumlah putaran loop maksimum sebelum berhenti","rubricTitle":"Pemeriksaan Penyelesaian Kualitatif","rubricEnabled":"Aktifkan Pemeriksaan Penyelesaian Kualitatif","rubricEnabledTooltip":"Hanya dipicu saat agen memberi respons teks tanpa panggilan alat.","rubricPrompt":"Kriteria Penyelesaian Bahasa Alami","rubricPromptTooltip":"Prompt yang disuntikkan untuk meminta agen mengevaluasi penyelesaian tugas","rubricDesc":"Terapkan kriteria penyelesaian bahasa alami pada respons teks tanpa panggilan alat dan minta agen melanjutkan jika masih ada pekerjaan.","rubricPromptPlaceholder":"Anda tidak memanggil alat apa pun. Jika tugas
199selesai, konfirmasi. Jika tidak, lanjutkan dengan panggilan alat.","rubricMaxInterventions":"Maksimum Putaran Evaluasi","rubricMaxInterventionsTooltip":"Jumlah maksimum pemeriksaan penyelesaian untuk respons teks tanpa panggilan alat dalam satu giliran.","inLoopModes":"Aktifkan dalam mode /goal & /mission","inLoopModesTooltip":"Juga berlaku saat mode /goal atau /mission aktif","comingSoonEditable":"Konfigurasi kustom akan tersedia di rilis mendatang.","simpleMode":"Sederhana","advancedMode":"Lanjutan","comingSoon":"Segera Hadir","reactModeTab":"Template Loop - Default","goalModeTab":"Template Loop - Goal","missionModeTab":"Template Loop - Mission","goalModeInfoTitle":"Mode Goal vs Default","goalModeInfo":"Mode default berhenti setelah menghasilkan respons. Mode Goal membuat agen terus berulang menuju tujuan, menggunakan evaluasi Rubric untuk menentukan penyelesaian. Semua operasi berjalan dalam konteks agen saat ini.","missionModeInfoTitle":"Mode Mission vs Goal","missionModeInfo":"Mode Mission otomatis memecah tugas kompleks menjadi sub-tugas, dieksekusi oleh sub-agen Worker independen dan diverifikasi oleh sub-agen Verifier. Setiap sub-tugas berjalan dalam konteksnya sendiri, mencegah polusi sesi utama.","goalIterationGate":"Gate Iterasi Tujuan","goalIterationGateDesc":"Membatasi jumlah giliran agen dalam sesi tujuan, melacak iterasi dan penggunaan token.","goalBudgetGate":"Gate Anggaran Token","goalBudgetGateDesc":"Menetapkan batas pengeluaran token untuk sesi tujuan. Menghentikan agen saat anggaran terlampaui.","goalRubricGate":"Rubrik Penyelesaian Tujuan","goalRubricGateDesc":"Mengevaluasi apakah tujuan telah tercapai dengan memeriksa status sesi.","goalDoomGate":"Perlindungan Pengulangan","goalDoomGateDesc":"Mendeteksi pola berulang selama eksekusi tujuan dan memicu intervensi.","missionProgressGate":"Gate Kemajuan Misi","missionProgressGateDesc":"Melacak penyelesaian user story PRD. Melanjutkan hingga semua lolos atau iterasi maksimum tercapai.","missionIterBypass":"Bypass Iterasi","missionIterBypassDesc":"Sementara menghapus batas iterasi ReAct selama eksekusi misi untuk memungkinkan fase panjang.","customLoopTitle":"Mode Loop Kustom","customLoopDesc":"Buat mode loop Anda sendiri dengan kombinasi gate kustom. Segera hadir.","autoContinueOnTextOnly":"Lanjutkan otomatis pada langkah teks saja","autoContinueOnTextOnlyTooltip":"Jika model mengakhiri langkah penalaran hanya dengan teks (tanpa panggilan alat), suntikkan petunjuk dan jalankan satu penalaran ekstra.","autoGenerateSessionTitle":"Buat judul sesi secara otomatis","autoGenerateSessionTitleTooltip":"Setelah pesan pengguna pertama dalam chat baru, jalankan panggilan LLM singkat di latar belakang untuk mengganti placeholder yang terpotong dengan judul yang ringkas.","shellCommandTimeout":"Timeout Perintah Shell (dtk)","shellCommandTimeoutTooltip":"Timeout default dalam detik untuk alat execute_shell_command.","shellCommandTimeoutPlaceholder":"Masukkan timeout","shellCommandTimeoutRequired":"Timeout perintah shell wajib diisi","shellCommandTimeoutMin":"Timeout perintah shell minimal 1 detik","shellCommandExecutable":"Shell yang Dapat Dieksekusi","shellCommandExecutableTooltip":"Jalur ke shell yang digunakan oleh execute_shell_command.","shellCommandExecutablePlaceholder":"mis. /bin/bash atau powershell.exe (kosong = deteksi otomatis)","maxInputLength":"Panjang Input Maksimum","maxInputLengthTooltip":"Panjang input maksimum (token) untuk jendela konteks model","maxInputLengthPlaceholder":"Masukkan panjang input maksimum","maxInputLengthRequired":"Panjang input maksimum wajib diisi","maxInputLengthMin":"Panjang input maksimum minimal 1000","contextCompactRatio":"Rasio Ambang Kompaksi","contextCompactRatioTooltip":"Kompaksi dipicu ketika panjang konteks mencapai fraksi ini dari panjang konteks maksimum","contextCompactRatioRequired":"Rasio kompak konteks wajib diisi","contextCompactThreshold":"Ambang Kompaksi (token)","contextCompactThresholdTooltip":"Dihitung otomatis dari panjang konteks maksimum à rasio kompaksi.","contextCompactThresholdPlaceholder":"Dihitung otomatis","contextCompactReserveRatio":"Rasio Ambang Ca
199dangan","contextCompactReserveRatioTooltip":"Untuk menjaga kesinambungan konteks, fraksi konteks terbaru yang paling baru disimpan utuh setelah kompaksi","contextCompactReserveRatioRequired":"Rasio cadangan konteks wajib diisi","contextCompactReserveThreshold":"Ambang Cadangan (token)","contextCompactReserveThresholdTooltip":"Dihitung otomatis dari panjang konteks maksimum à rasio cadangan.","contextCompactReserveThresholdPlaceholder":"Dihitung otomatis","toolResultCompactRecentN":"Rentang Hasil Alat Terbaru","toolResultCompactRecentNTooltip":"Membagi daftar pesan menjadi dua segmen: N pesan terbaru dan pesan lama","toolResultCompactRecentNRequired":"Rentang hasil alat terbaru wajib diisi","toolResultCompactOldThreshold":"Ambang Pesan Lama (byte)","toolResultCompactOldThresholdTooltip":"Hasil alat dalam pesan lama dikompaksi ketika melebihi batas byte ini.","toolResultCompactOldThresholdPlaceholder":"Masukkan ambang karakter","toolResultCompactOldThresholdRequired":"Karakter maksimum untuk hasil alat di luar recent_n wajib diisi","toolResultCompactRecentThreshold":"Ambang Pesan Terbaru (byte)","toolResultCompactRecentThresholdTooltip":"Hasil alat dalam N pesan terbaru dikompaksi ketika melebihi batas byte ini.","toolResultCompactRecentThresholdPlaceholder":"Masukkan ambang karakter","toolResultCompactRecentThresholdRequired":"Karakter maksimum untuk hasil alat dalam recent_n wajib diisi","toolResultCompactRetentionDays":"Hari Retensi File Hasil Alat","toolResultCompactRetentionDaysTooltip":"Jumlah hari untuk menyimpan file hasil alat yang dikompaksi","toolResultCompactRetentionDaysRequired":"Hari retensi file hasil alat wajib diisi","historyRetentionDays":"Hari Retensi Riwayat","historyRetentionDaysTooltip":"Jumlah hari untuk menyimpan riwayat obrolan permanen. Baris yang lebih lama akan dihapus otomatis saat startup dan saat agent dimatikan.","historyRetentionDaysRequired":"Hari retensi riwayat wajib diisi","historyRetentionDaysForeverWarning":"Menyetel 0 menyimpan riwayat selamanya â penyimpanan akan tumbuh tanpa batas.","historyRetentionDaysLargeWarning":"Periode retensi yang besar dapat menghabiskan banyak penyimpanan.","exemptFileExtensions":"Ekstensi File yang Dikecualikan","exemptFileExtensionsTooltip":"Hasil alat read_file untuk ekstensi file ini akan menggunakan ambang pesan terbaru","exemptFileExtensionsPlaceholder":".md, .txt, .json","exemptToolNames":"Nama Alat yang Dikecualikan","exemptToolNamesTooltip":"Hasil alat dari alat ini akan menggunakan ambang pesan terbaru","exemptToolNamesPlaceholder":"chat_with_agent, list_agents","language":"Bahasa Agen","languageTooltip":"Bahasa untuk file persona agen (SOUL.md, AGENTS.md, dll.).","languageConfirmTitle":"Ubah Bahasa Agen","languageConfirmContent":"Mengubah bahasa akan menimpa file berikut dengan versi bahasa baru:\\n\\n SOUL.md, AGENTS.md, PROFILE.md, MEMORY.md, BOOTSTRAP.md, HEARTBEAT.md\\n\\nJika Anda telah menyesuaikan file-file ini, harap buat cadangannya terlebih dahulu.","languageConfirmOk":"Ubah Bahasa","languageSaveSuccess":"Bahasa berhasil diperbarui","languageSaveSuccessWithFiles":"Bahasa diperbarui, {{count}} file MD disalin","languageSaveFailed":"Gagal memperbarui bahasa","saveSuccess":"Konfigurasi berhasil disimpan","saveFailed":"Gagal menyimpan konfigurasi","timezone":"Zona Waktu Pengguna","timezoneTooltip":"Digunakan untuk tugas terjadwal, tampilan waktu, dan konteks agen.","timezoneRequired":"Harap pilih zona waktu","selectTimezone":"Pilih zona waktu","timezoneSaveSuccess":"Zona waktu berhasil diperbarui","timezoneSaveFailed":"Gagal memperbarui zona waktu","loadFailed":"Gagal memuat konfigurasi","historyMaxLength":"Panjang Riwayat Maksimum","historyMaxLengthTooltip":"Panjang output maksimum (karakter) untuk perintah /history","historyMaxLengthRequired":"Panjang riwayat maksimum wajib diisi","historyMaxLengthMin":"Panjang riwayat maksimum minimal 1000","historyMaxLengthPlaceholder":"Masukkan panjang maksimum","contextCompactTitle":"Konfigurasi Kompak Konteks","contextCompactEnabled":"Aktifkan Kompaksi Konteks","contextCompactEnabledTooltip":"Secara otomatis kompaksi konteks untuk mencegah overflow jendela konteks","tokenCountModel":"Model Penghitung Token","tokenCountModelTooltip":"Nama model yang digunakan untuk penghitungan token yang tepat; atur ke \\"default\\" untuk menggunakan estimasi bawaan","tokenCountModelPlaceholder":"Nama model atau default","tokenCountUseMirror":"Gunakan Mirror HuggingFace","tokenCountUseMirrorTooltip":"Gunakan situs mirror HuggingFace saat mengunduh tokenizer","tokenCountEstimateDivisor":"Pembagi Estimasi byte/Token","tokenCountEstimateDivisorTooltip":"Pembagi untuk estimasi token berbasis byte (token â panjang_byte / pembagi). Nilai yang direkomendasikan: 3,75 ~ 4.","tokenCountEstimateDivisorRequired":"Pembagi estimasi wajib diisi","tokenCountEstimateDivisorMin":"Pembagi estimasi harus antara 2 dan 5","compactWithThinkingBlock":"Sertakan Blok Pemikiran","compactWithThinkingBlockTooltip":"Apakah akan menyertakan blok pemikiran model saat mengompaksi konteks","toolResultCompactTitle":"Konfigurasi Kompak Hasil Alat","toolResultCompactEnabled":"Aktifkan Kompaksi Hasil Alat","toolResultCompactEnabledTooltip":"Kompaksi hasil panggilan alat yang terlalu besar untuk menghemat ruang konteks","memorySummaryTitle":"Konfigurasi Memori Jangka Panjang","memorySummaryEnabled":"Aktifkan Ringkasan Memori","memorySummaryEnabledTooltip":"Secara otomatis menghasilkan dan menyimpan ringkasan memori selama kompaksi konteks","dreamCronEnabled":"Aktifkan Mimpi","dreamCronEnabledTooltip":"Aktifkan tugas terjadwal untuk mengoptimalkan memori berbasis mimpi","dreamCron":"Jadwal Mimpi","dreamCronTooltip":"Ekspresi cron untuk mengoptimalkan memori jangka panjang melalui status mimpi; gunakan sakelar di atas untuk mengaktifkan atau menonaktifkan","dreamCronPlaceholder":"0 23 * * *","dreamCronRequired":"Masukkan ekspresi cron saat Mimpi diaktifkan","dreamCronInvalid":"Masukkan ekspresi cron 5 kolom yang valid","autoMemorySearch":"Pencarian Memori Otomatis (Beta)","autoMemorySearchTooltip":"Pencarian memori otomatis untuk dijalankan pada setiap giliran percakapan.","autoMaxResults":"Hasil Maksimum Pencarian Otomatis","autoMaxResultsTooltip":"Jumlah hasil maksimum yang dikembalikan saat pe
199ncarian memori otomatis diaktifkan","autoMaxResultsRequired":"Hasil maksimum wajib diisi","autoMaxResultsMin":"Hasil maksimum minimal 1","embeddingConfigTitle":"Konfigurasi Model Embedding","embeddingModelTitle":"Model Embedding","embeddingBackend":"Tipe SDK Embedding","embeddingBackendTooltip":"Tipe SDK yang digunakan untuk memanggil model embedding","embeddingBackendPlaceholder":"Pilih tipe SDK","embeddingApiKey":"API Key","embeddingApiKeyTooltip":"API key untuk penyedia embedding; biarkan kosong jika tidak diperlukan autentikasi","embeddingApiKeyPlaceholder":"Biarkan kosong jika tidak diperlukan","embeddingBaseUrl":"URL Dasar","embeddingBaseUrlTooltip":"URL dasar API embedding. Untuk backend kompatibel OpenAI, endpoint kustom ini opsional; API Key dan Nama Model wajib.","embeddingBaseUrlPlaceholder":"https://dashscope.aliyuncs.com/compatible-mode/v1","embeddingHost":"Host","embeddingHostTooltip":"URL layanan Ollama. Biarkan kosong untuk menggunakan host default Ollama.","embeddingHostPlaceholder":"http://localhost:11434","embeddingModelName":"Nama Model","embeddingModelNameTooltip":"Nama model embedding. Wajib untuk semua backend embedding.","embeddingModelNamePlaceholder":"text-embedding-v4","embeddingEnableCache":"Aktifkan Cache Embedding","embeddingEnableCacheTooltip":"Cache hasil embedding untuk mengurangi komputasi berulang","embeddingMaxCacheSize":"Ukuran Cache Maksimum","embeddingMaxCacheSizeTooltip":"Jumlah entri maksimum dalam cache embedding","embeddingMaxCacheSizeRequired":"Ukuran cache maksimum wajib diisi","embeddingUseDimensions":"Kirim Dimensi dalam Permintaan","embeddingUseDimensionsTooltip":"Kirim parameter dimensions dalam permintaan API Embedding yang kompatibel dengan OpenAI; beberapa layanan tidak mendukung parameter ini","embeddingDimensions":"Dimensi Embedding","embeddingDimensionsTooltip":"Dimensi vektor yang diharapkan untuk validasi respons, indeks, dan cache; saat pengiriman dimensi dinonaktifkan, masukkan dimensi keluaran aktual model","embeddingDimensionsRequired":"Dimensi embedding wajib diisi","embeddingDimensionsMin":"Dimensi minimal 1","embeddingMaxInputLength":"Anggaran Karakter per Input","embeddingMaxInputLengthTooltip":"Perkiraan anggaran karakter untuk setiap input Embedding. Teks dipotong sebelum permintaan, dengan estimasi yang lebih konservatif untuk CJK dan karakter lebar penuh lainnya; ini bukan batas token yang tepat","embeddingMaxInputLengthRequired":"Anggaran karakter per input wajib diisi","embeddingMaxBatchSize":"Ukuran Batch Maksimum","embeddingHealthCheckTimeout":"Batas Waktu Inisialisasi","embeddingHealthCheckTimeoutTooltip":"Batas waktu per percobaan untuk tes koneksi dan pemeriksaan embedding saat ReMe dimulai","embeddingHealthCheckTimeoutRequired":"Batas waktu inisialisasi wajib diisi","embeddingMaxBatchSizeTooltip":"Jumlah item maksimum dalam satu permintaan embedding batch","embeddingMaxBatchSizeRequired":"Ukuran batch maksimum wajib diisi","toolExecutionLevelTitle":"Mode Persetujuan Alat","toolExecutionLevelTooltip":"Mode Persetujuan","toolExecutionLevel":{"title":"Mode Persetujuan Alat","alertMessage":"Atur persetujuan sebelum panggilan alat. Aturan File Guard berlaku secara terpisah.","strict":"Mode Ketat","strictDesc":"Setiap panggilan alat dan akses file eksternal memerlukan persetujuan terlebih dahulu","smart":"Mode Cerdas","smartDesc":"Panggilan alat berisiko rendah dan akses file eksternal berjalan otomatis; operasi berisiko sedang dan tinggi memerlukan persetujuan","auto":"Mode Otomatis","autoDesc":"Hanya operasi yang cocok dengan aturan persetujuan alat dan file yang memerlukan persetujuan (default)","off":"Mode Mati","offDesc":"Persetujuan alat dan file dinonaktifkan"},"saveLevelSuccess":"Mode persetujuan alat tersimpan","saveLevelFailed":"Gagal menyimpan mode persetujuan alat","maxContextLength":"Panjang Konteks Maksimum","maxContextLengthTooltip":"Jumlah token maksimum untuk jendela konteks model","maxContextLengthRequired":"Panjang konteks maksimum wajib diisi","maxContextLengthMin":"Panjang konteks maksimum minimal 1000","maxContextLengthPlaceholder":"Masukkan panjang konteks maksimum","embeddingActivationNote":"Embedding diaktifkan ketika field wajib untuk backend yang dipilih sudah diisi.","embeddingEnableHint":"Embedding diaktifkan ketika field wajib backend terisi: Nama Model dan API Key untu
199k backend kompatibel OpenAI atau Gemini; Nama Model untuk Ollama.","rebuildMemoryIndex":"Bangun Ulang Indeks Memori","rebuildMemoryIndexWarning":"Operasi ini menghapus dan membangun ulang indeks pencarian memori serta dapat menggunakan banyak CPU dan memori. Gunakan hanya untuk memperbaiki indeks yang rusak atau hasil pencarian yang tidak normal.","rebuildMemoryIndexConfirmTitle":"Bangun ulang indeks memori?","rebuildMemoryIndexConfirm":"Penggunaan CPU dan memori dapat meningkat secara signifikan selama proses ini. Tindakan ini tidak disarankan kecuali indeks rusak atau perlu diperbaiki.","rebuildMemoryIndexSuccess":"Indeks memori berhasil dibangun ulang","rebuildMemoryIndexFailed":"Gagal membangun ulang indeks memori: {{error}}","rebuildMemoryIndexRequired":"Konfigurasi Embedding telah berubah. Pencarian vektor dinonaktifkan dan pencarian memori menggunakan BM25 hingga indeks Embedding dibangun ulang.","embeddingIndexReady":"Indeks Embedding sesuai dengan konfigurasi saat ini.","embeddingIndexStatus":"Indeks Embedding","embeddingIndexAvailable":"Sudah terbaru","embeddingSearchModeHybrid":"Pencarian saat ini: Vektor + BM25","embeddingSearchModeBm25":"Pencarian saat ini: Hanya BM25","embeddingSearchModeBm25Pending":"Pencarian saat ini: Hanya BM25 · menunggu pembangunan ulang","embeddingIndexNeedsRebuild":"Perlu dibangun ulang","embeddingIndexRebuilding":"Sedang membangun ulang","embeddingIndexRebuildingHint":"Sedang membuat vektor memori","embeddingIndexSaveFirst":"Simpan konfigurasi terlebih dahulu","embeddingIndexUnsavedHint":"Simpan perubahan sebelum membangun ulang indeks","embeddingIndexMatchesConfig":"Sesuai dengan konfigurasi saat ini","embeddingIndexBm25Fallback":"Pencarian vektor nonaktif · menggunakan BM25","rebuildEmbeddingIndex":"Bangun ulang indeks Embedding","rebuildEmbeddingIndexConfirmTitle":"Bangun ulang indeks Embedding?","rebuildEmbeddingIndexConfirm":"Embedding untuk semua potongan memori akan dibuat ulang menggunakan konfigurasi saat ini. Pencarian vektor tetap dinonaktifkan hingga proses ini berhasil diselesaikan.","rebuildEmbeddingIndexSuccess":"Indeks Embedding berhasil dibangun ulang","rebuildEmbeddingIndexFailed":"Gagal membangun ulang indeks Embedding: {{error}}","undoEmbeddingChange":"Urungkan perubahan","undoEmbeddingChangeConfirmTitle":"Pulihkan konfigurasi Embedding yang digunakan oleh indeks?","undoEmbeddingChangeConfirm":"Konfigurasi terakhir yang sesuai dengan indeks vektor saat ini akan dipulihkan.","undoEmbeddingChangeSuccess":"Konfigurasi Embedding yang digunakan oleh indeks telah dipulihkan","undoEmbeddingChangeFailed":"Gagal memulihkan konfigurasi Embedding: {{error}}","rebuildBm25Index":"Bangun ulang indeks BM25","rebuildBm25IndexDescription":"Buat ulang indeks pencarian kata kunci dari potongan memori saat ini.","rebuildBm25IndexConfirmTitle":"Bangun ulang indeks BM25?","rebuildBm25IndexConfirm":"Indeks pencarian kata kunci akan dibuat ulang dari potongan memori saat ini.","rebuildBm25IndexSuccess":"Indeks BM25 berhasil dibangun ulang","goToLongTermMemory":"Buka memori jangka panjang","toolResultCompactRecentGtOld":"Ambang pesan terbaru harus lebih besar dari atau sama dengan ambang pesan lama","lightContextTitle":"Manajemen Konteks","visualCompactCollapseLabel":"Pemadatan Visual","visualCompactDescription":"Padatkan konteks lama dan panjang menjadi halaman visual untuk mengurangi token input. Percakapan terbaru tetap berupa teks.","visualCompactEnabled":"Aktifkan Visual Compact","visualCompactEffort":"Intensitas kompresi","visualCompactLow":"Rendah","visualCompactMedium":"Sedang","visualCompactHigh":"Tinggi","visualCompactLowDescription":"Kompres lebih sedikit konten dan prioritaskan keterbacaan.","visualCompactMediumDescription":"Seimbangkan penghematan token dengan keterbacaan visual.","visualCompactHighDescription":"Kompres lebih banyak konteks yang memenuhi syarat dan prioritaskan penghematan token.","visualCompactQualityNote":"Kompresi yang lebih tinggi tidak selalu meningkatkan kualitas jawaban.","visualCompactCapabilityNote":"Hanya berlaku pada model yang mendukung input gambar.","remeLightMemoryTitle":"Memori Jangka Panjang","dialogPath":"Jalur Penyimpanan Dialog","dialogPathTooltip":"Jalur relatif untuk penyimpanan persistensi dialog (relatif terhadap working_dir)","dialogPathPlaceholder":"dialog","contextCompactCollapseLabel":"Kompaksi Konteks","toolResultPruningCollapseLabel":"Pemangkasan Hasil Alat","autoMemorySearchCollapseLabel":"Pencarian Memori Otomatis","embeddingConfigCollapseLabel":"Konfigurasi Model Embedding","summarizeWhenCompact":"Memori saat Kompaksi","summarizeWhenCompactTooltip":"Secara otomatis menghasilkan dan menyimpan memori selama kompaksi konteks","inboxPushEnabled":"Notifikasi Kotak Masuk Hasil Memori","inboxPushEnabledTooltip":"Kirim hasil memori otomatis, mimpi otomatis, dan Daily Paper ke kotak masuk. Menonaktifkannya tidak menghentikan tugas memori.","autoMemoryInterval":"Interval Memori Otomatis","autoMemoryIntervalTooltip":"Picu memori otomatis setiap N kueri pengguna. 0 menonaktifkan memori otomatis berkala. 1 berarti memori otomatis setelah setiap kueri. Disarankan: 2-5; pengaturan 1 perlu memperhatikan konsumsi token yang tinggi.","autoMemoryIntervalPlaceholder":"Masukkan 0 untuk menonaktifkan memori otomatis berkala","autoMemoryIntervalRequired":"Interval memori otomatis
199wajib diisi","autoMemoryIntervalMin":"Interval memori otomatis harus minimal 0","recursiveFileWatcher":"Pemantau File Rekursif","recursiveFileWatcherTooltip":"Pantau direktori memori secara rekursif untuk menyertakan file di subdirektori.","contextManagerBackend":"Backend Manajer Konteks","contextManagerBackendTooltip":"Jenis backend untuk manajer konteks. Saat ini hanya Light yang didukung.","contextStrategy":"Strategi Konteks","contextStrategyTooltip":"Cara agen mengelola konteks panjang. Scroll (disarankan) menyimpan giliran yang dievakuasi ke penyimpanan riwayat permanen dan memanggilnya kembali sesuai kebutuhan; Native menggunakan kompresi di tempat. Mulai ulang QwenPaw agar perubahan diterapkan.","contextStrategyScroll":"Scroll","contextStrategyNative":"Native","backendRestartWarning":"Mengalihkan backend tidak mendukung hot reload. Simpan dan restart QwenPaw agar perubahan berlaku.","adbpgMemoryTitle":"Memori Jangka Panjang ADBPG","powercontextMemoryTitle":"Memori PowerContext","powercontextConfig":{"title":"Konfigurasi Memori PowerContext","baseUrl":"URL Server","token":"Token Bearer","scopeId":"Ruang Lingkup Memori","scopeIdPlaceholder":"Kosongkan untuk menggunakan ruang lingkup agen unik untuk instalasi ini","scopeIdInvalid":"Ruang lingkup memori tidak boleh hanya berisi spasi.","timeout":"Batas Waktu Permintaan","maxContextBytes":"Konteks maksimum yang disisipkan (byte)","maxContextBytesTooltip":"Membatasi total hasil pencarian PowerContext yang ditambahkan ke satu giliran model."},"adbpgConfig":{"title":"Konfigurasi Memori ADBPG","apiMode":"Mode API","host":"Host","port":"Port","user":"Nama Pengguna","password":"Kata Sandi","dbname":"Database","llmModel":"Model LLM","llmApiKey":"API Key LLM","llmBaseUrl":"URL Dasar LLM","embeddingModel":"Model Embedding","embeddingApiKey":"API Key Embedding","embeddingBaseUrl":"URL Dasar Embedding","embeddingDims":"Dimensi Embedding","restBaseUrl":"URL Dasar REST","restApiKey":"API Key REST","memoryIsolation":"Isolasi Memori (per-agen)","searchTimeout":"Timeout Pencarian"}}'),NL={gotoSettings:"Pengaturan Loop Agen",selectorTitle:"Mode Loop",selectorHint:"Pilih cara agen melanjutkan pekerjaan",selectorAria:"Pilih mode Loop",builtInModes:"Bawaan",customModes:"Kustom dan plugin",starting:"Memulai",running:"Sedang berjalan",awaiting_user:"Menunggu balasan Anda",activePersistentDescription:"Mode ini tetap aktif dalam percakapan hingga selesai atau percakapan diatur ulang.",activeCustomDescription:"Mode kustom ini tetap aktif hingga Anda menggunakan /mode off, /clear, atau /new.",loadError:"Beberapa mode Loop tidak dapat dimuat.",retry:"Coba lagi",modes:{default:{name:"Default",description:"Loop agen terkontrol standar."},goal:{name:"Tujuan",description:"Bekerja secara berkelanjutan menuju tujuan yang konkret dan dapat diverifikasi."},mission:{name:"Misi",description:"Jalankan tugas multi-langkah yang terstruktur dan berkelanjutan."}}},HL={common:W_,harnesses:z_,desktop:K_,chunkError:$_,appCenter:Q_,nav:J_,os:Y_,header:X_,theme:Z_,sidebar:eL,hub:tL,login:aL,chat:nL,modelSelector:oL,agent:iL,skills:sL,skillPool:rL,channels:lL,tools:dL,modelConfig:cL,security:uL,checkpoints:pL,workspace:mL,cronJobs:hL,heartbeat:gL,backup:fL,mcp:bL,preview:kL,pluginManager:yL,debug:vL,codingMode:TL,market:SL,startup:CL,inbox:wL,acp:PL,sessions:AL,environments:ML,tokenUsage:DL,agentStats:xL,approval:RL,account:IL,voiceTranscription:_L,tool:LL,models:EL,files:FL,projectDirectory:OL,agentConfig:BL,loop:NL},UL={save:"Lưu",reset:"Äặt lại",cancel:"Há»§y",confirm:"Xác nháºn",apply:"Ãp dụng",delete:"Xóa",edit:"Chá»nh sá»a",create:"Tạo má»i",upload:"Tải lên",download:"Tải xuá»ng",refresh:"Là m má»i",retry:"Thá» lại",search:"Tìm kiếm",enable:"Báºt",disable:"Tắt",enabled:"Äã báºt",disabled:"Äã tắt",preview:"Xem trưá»c",raw:"Mã nguá»n",view:"Xem",content:"Ná»i dung",loading:"Äang tải...",saving:"Äang lưu...",copy:"Sao chép",copied:"Äã sao chép",copyFailed:"Sao chép thất bại",contentPlaceholder:"Nháºp ná»i dung...",help:"Trợ giúp",close:"Äóng",actions:"Thao tác",total:"Tá»ng: {{count}}",clear:"Xóa trắng",paste:"Dán",yes:"Có",no:"Không"},qL={connected:"Äã kết ná»i",disconnected:"Äã ngắt kết ná»i",notConnected:"Chưa kết ná»i",comingSoon:"Sắp ra mắt",connect:"Kết ná»i vá»i ChatGPT",disconnect:"Ngắt kết ná»i",apiKeyAuthenticated:"Äã xác thá»±c bằng API key",chatGptAuthenticated:"Äã kết ná»i vá»i ChatGPT",cliAuthenticated:"{{type}} CLI Äã xác thá»±c"},jL={closeWindow:{title:"Äóng cá»a sá»",description:"Bạn muá»n thá»±c hiá»n thao tác nà o khi Äóng cá»a sá»? Thoát ứng dụng sẽ dừng tất cả tác vụ Äang chạy và tác vụ Äã lên lá»ch.",remember:"Ghi nhá» lá»±a chá»n cá»§a tôi",showWindow:"Hiá»n thá» cá»a sá»",minimizeToTray:"Thu nhá» xuá»ng khay há» thá»ng",quitApp:"Thoát ứng dụng",preference:"Äóng cá»a sá»",askEveryTime:"Há»i má»i lần"}},GL={title:"Không thá» tải trang",subTitle:"Có thá» do lá»i mạng hoặc ứng dụng vừa ÄÆ°á»£c cáºp nháºt.",genericTitle:"Äã xảy ra lá»i",genericSubTitle:"Có lá»i không mong muá»n khi hiá»n thá» trang nà y.",reload:"Tải lại"},VL={backToList:"Quay lại",subtitle:"Quản lý ứng dụng Äã cà i Äặt hoặc má» rá»ng không gi
199an là m viá»c từ chợ ứng dụng.",myApps:"Ứng dụng cá»§a tôi",officialApps:"Ứng dụng chÃnh thức",appMarket:"Chợ ứng dụng",browseOfficialApps:"Khám phá ứng dụng chÃnh thức",browseMarket:"Khám phá chợ ứng dụng",officialAppsEmpty:"Chưa có ứng dụng chÃnh thức",searchOfficial:"Tìm kiếm ứng dụng chÃnh thức...",installedCount:"{{count}} ứng dụng",clearFilters:"Xóa bá» lá»c",moreActions:"Thao tác khác",openApp:"MỠứng dụng",noDescription:"Không có mô tả",search:"Tìm kiếm ứng dụng...",allCategories:"Tất cả",noApps:"Chưa cà i Äặt ứng dụng nà o",noResults:"Không có ứng dụng phù hợp vá»i tìm kiếm",loadFailed:"Không thá» tải ứng dụng. Vui lòng thá» lại.",appNotLoaded:"Ứng dụng nà y chưa ÄÆ°á»£c tải. Hãy mỠứng dụng má»t lần từ thanh bên rá»i thá» lại.",uninstall:"Gỡ cà i Äặt",uninstallConfirmTitle:"Gỡ cà i Äặt ứng dụng?",uninstallConfirmContent:'Thao tác nà y sẽ xóa thư mục cá»§a ứng dụng "{{name}}" và không thá» hoà n tác.',uninstallSuccess:"Äã gỡ cà i Äặt ứng dụng",uninstallFailed:"Gỡ cà i Äặt thất bại",installing:"Äang cà i Äặt",installSuccess:"Äã cà i Äặt",installFailed:"Cà i Äặt thất bại",installedStatus:"Äã cà i Äặt",update:"Cáºp nháºt",searchMarket:"Tìm kiếm trong chợ ứng dụng...",marketFilters:"Bá» lá»c chợ ứng dụng",filterAll:"Tất cả",trending:"Thá»nh hà nh",marketEmpty:"Không tìm thấy ứng dụng",loadMore:"Tải thêm",noMoreApps:"Không còn ứng dụng nà o",install:"Cà i Äặt",details:"Chi tiết",featured:"Ná»i báºt",refreshApp:"Là m má»i ứng dụng",appRefreshed:"Äã là m má»i ứng dụng",aboutApp:"Giá»i thiá»u ứng dụng",exitApp:"Thoát ứng dụng",moreOptions:"Tùy chá»n khác",backToListHint:"Quay lại danh sách ứng dụng (ESC)",version:"Phiên bản",id:"ID",category:"Danh mục",description:"Mô tả"},WL={chat:"Trò chuyá»n",files:"Tá»p",control:"Äiá»u khiá»n",channels:"Kênh",sessions:"Phiên",inbox:"Há»p thư",cronJobs:"Tác vụ Äá»nh kỳ",heartbeat:"Heartbeat",agent:"Quản lý Agent",workspace:"Không gian là m viá»c",skills:"Kỹ nÄng",skillPool:"Kho kỹ nÄng",marketplace:"Tiá»n Ãch má» rá»ng",market:"Chợ kỹ nÄng",tools:"Công cụ",mcp:"MCP",acp:"ACP",agentConfig:"Cấu hình",agents:"Agent",settings:"Cà i Äặt",models:"Mô hình",environments:"Biến môi trưá»ng",security:"Bảo máºt",tokenUsage:"Lượng Token",agentStats:"Thá»ng kê",voiceTranscription:"Phiên âm giá»ng nói",debug:"Gỡ lá»i",plugins:"Plugin",backups:"Sao lưu",pluginManager:"Quản lý Plugin"},zL={console:"Bảng Äiá»u khiá»n",appStore:"App Store",appStoreDesc:"Cà i Äặt hoặc gỡ bỠứng dụng máy tÃnh",arrangeDesktop:"Sắp xếp mà n hình ná»n",approvalActionFailed:"Thao tác thất bại, vui lòng thá» lại",booting:"Äang khá»i Äá»ngâ¦",changeWallpaper:"Äá»i hình ná»n",clearAll:"Xóa tất cả",closeApp:"Äóng",currentSpace:"Không gian hiá»n tại",currentSpaceLabel:"Không gian hiá»n tại: {{name}}",currentAppLabel:"Ứng dụng hiá»n tại: {{name}}",desktopApps:"Ứng dụng máy tÃnh",finder:"Mà n hình chÃnh",focusApp:"Táºp trung",install:"Cà i Äặt",installed:"Äã cà i Äặt",installedApp:"Äã cà i Äặt",installedApps:"Ứng dụng Äã cà i Äặt",launchpad:"Launchpad",moveDockLeft:"Di chuyá»n sang trái",moveDockRight:"Di chuyá»n sang phải",missionControl:"Mission Control",noInstalledApps:"Chưa có ứng dụng nà o ÄÆ°á»£c cà i Äặt",noNotifications:"Không có thông báo",noOpenWindows:"Không có cá»a sá» nà o Äang má» trong không gian nà y",noSettings:"Không có cà i Äặt khả dụng",notInstalled:"chưa cà i Äặt",notifications:"Thông báo",notificationSummary:"Phê duyá»t {{approvals}} · Há»p thư Äến {{inbox}}",notifyApproval:"Phê duyá»t",notifyInbox:"Há»p thư Äến",openApp:"Má»",keepInDock:"Giữ trong Dock",removeFromDock:"Xóa khá»i Dock",refreshDesktop:"Là m má»i mà n hình ná»n",appMarket:"Chợ ứng dụng",appMarketRefresh:"Là m má»i",appMarketSearch:"Tìm kiếm ứng dụng...",appMarketEmpty:"Không tìm thấy ứng dụng",appMarketUnavailable:"Chợ ứng dụng hiá»n không khả dụng. Vui lòng thá» lại sau.",appMarketInstall:"Cà i Äặt",appMarketDetails:"Chi t
199iết",appMarketDeveloper:"Nhà phát triá»n",appMarketDownloads:"Lượt tải xuá»ng",appInstalled:"Cà i Äặt ứng dụng thà nh công",appInstallFailed:"Cà i Äặt ứng dụng thất bại",appCompatibilityWarningTitle:"Cảnh báo tương thÃch ứng dụng",appCompatibilityWarningContent:"Ứng dụng nà y dà nh cho QwenPaw {{labels}}, trong khi phiên bản QwenPaw hiá»n tại là {{version}}. Viá»c cà i Äặt có thá» gây lá»i. Bạn có muá»n tiếp tục không?",appCompatibilityWarningConfirm:"Vẫn cà i Äặt",appCompatibilityUnverified:"Chưa xác minh khả nÄng tương thÃch vá»i phiên bản QwenPaw hiá»n tại.",restoreAll:"Khôi phục tất cả",returnToConsole:"Quay lại bảng Äiá»u khiá»n",desktopMode:"Chế Äá» mà n hình ná»n",qwenpawMenu:"Menu QwenPaw",restoredAll:"Äã khôi phục tất cả ứng dụng",sortBy:"Sắp xếp theo",sortFree:"Sắp xếp tá»± do",sortName:"Tên",sortType:"Loại",systemSettings:"Cà i Äặt há» thá»ng",uninstall:"Gỡ cà i Äặt",uninstallConfirmTitle:"Gỡ cà i Äặt ứng dụng?",uninstallFailed:"Gỡ cà i Äặt thất bại",uninstalledApp:"Äã gỡ cà i Äặt",update:"Cáºp nháºt",wallpaper:"Hình ná»n",windows:"cá»a sá»"},KL={changelog:"Nháºt ký thay Äá»i",docs:"Tà i liá»u",tutorial:"Hưá»ng dẫn",featureDemos:"Demo tÃnh nÄng",faq:"FAQ",github:"GitHub",resources:"Tà i liá»u",updateAvailable:"Có bản cáºp nháºt"},$L={newVersion:"Phiên bản má»i: v{{version}}, nhấn Äá» cáºp nháºt",updateModal:{title:"Phiên bản má»i: v{{version}}",viewReleases:"Xem ghi chú phát hà nh",close:"Äóng"},settings:{language:"Ngôn ngữ",theme:"Giao diá»n",mode:"Chế Äá»",desktopMode:"Chế Äá» Mà n hình ná»n"},simpleMode:"Chế Äá» ÄÆ¡n giản",fullMode:"Chế Äá» Äầy Äá»§",toggleAgentNavigation:"Má» rá»ng hoặc thu gá»n Äiá»u hưá»ng tác tá»"},QL={dark:"Tá»i",light:"Sáng",system:"Theo há» thá»ng"},JL={starting:"Äang khá»i Äá»ng backend...",checking:"Äang kết ná»i backend...",error:"Backend khá»i Äá»ng thất bại.",errorHint:"Không thá» khá»i chạy tiến trình backend. Kiá»m tra nháºt ký ứng dụng Äá» biết thêm.",errorDetails:"Xem chi tiết lá»i",timeout:"Backend không khá»i Äá»ng trong {{seconds}} giây.",timeoutHint:"Backend không phản há»i. Vui lòng thá» lại hoặc kiá»m tra nháºt ký.",retry:"Thá» lại"},YL=JSON.parse('{"brand":{"title":"Quản trá» Hub","subtitle":"Không gian là m viá»c cục bá»","controlPlane":"Trung tâm Äiá»u khiá»n"},"navigation":{"workspace":"Không gian là m viá»c","overview":"Tá»ng quan","runtimes":"Môi trưá»ng chạy","users":"Ngưá»i dùng","credentials":"Thông tin xác thá»±c","audit":"Nháºt ký kiá»m tra","settings":"Cà i Äặt há» thá»ng"},"actions":{"backToQwenPaw":"Quay lại QwenPaw","useLightTheme":"Dùng giao diá»n sáng","useDarkTheme":"Sá» dụng chá»§ Äá» tá»i","signOut":"ÄÄng xuất","start":"Khá»i Äá»ng","stop":"Dừng","disable":"Vô hiá»u hóa","rebuild":"Tạo lại","enableAndStart":"KÃch hoạt và khá»i Äá»ng"},"roles":{"admin":"Quản trá» viên","user":"ngưá»i dùng"},"userStates":{"active":"Hoạt Äá»ng","disabled":"Äã tắt"},"runtimeStates":{"created":"Äã tạo","starting":"Äang khá»i Äá»ng","running":"Äang chạy","stopped":"Äã dừng","failed":"Lá»i"},"runtimePolicies":{"owner_allowed":"Chá»§ sá» hữu có thá» khá»i Äá»ng lại","admin_only":"Bá» quản trá» viên khóa"},"errors":{"actionFailed":"Hà nh Äá»ng không thà nh công","createFailed":"Tạo không thà nh công","updateFailed":"Cáºp nháºt không thà nh công","saveFailed":"Lưu không thà nh công","pullTimedOut":"Äã hết thá»i gian chá» kéo ảnh"},"messages":{"runtimeCreated":"Äã tạo môi trưá»ng chạy","accountCreated":"Äã tạo tà i khoản","credentialStored":"Äã lưu trữ thông tin xác thá»±c","settingsSaved":"Äã lưu cà i Äặt trung tâm","imagePulled":"Quá trình kéo hình ảnh Docker Äã hoà n tất"},"validation":{"required":"Trưá»ng nà y là bắt buá»c","runtimeIdInvali
199d":"Sá» dụng 1â64 chữ cái, sá», dấu chấm, dấu gạch dưá»i hoặc dấu gạch ngang, bắt Äầu bằng má»t chữ cái hoặc sá»","passwordMin":"Máºt khẩu phải chứa Ãt nhất tám ký tá»±","credentialNameInvalid":"Sá» dụng tên biến môi trưá»ng viết hoa, chẳng hạn như OPENAI_API_KEY"},"runtimes":{"eyebrow":"Quản trá» Hub","title":"Tá»ng quan môi trưá»ng chạy","description":"Má»i ngưá»i dùng có má»t môi trưá»ng chạy riêng; tá»p và khóa ÄÆ°á»£c tách biá»t vá»i nhau.","newRuntime":"Tạo môi trưá»ng chạy","managed":"Môi trưá»ng ÄÆ°á»£c quản lý","localBoundaries":"Ranh giá»i tiến trình cục bá»","runningNow":"Äang chạy","needsAttention":"Thá»i gian chạy {{count}} cần ÄÆ°á»£c chú ý","healthy":"Tất cả môi trưá»ng Äá»u hoạt Äá»ng bình thưá»ng","isolationPolicy":"ChÃnh sách cách ly","available":"Có sẵn","unavailable":"Không có sẵn","failClosed":"Chặn khi có lá»i","noFallback":"Không chạy khi thiếu sandbox","executionBlocked":"Môi trưá»ng chạy Äã bá» chặn","isolationTitle":"Cách ly cục bá» có chặn khi lá»i","isolationDescription":"Toà n bá» cây quy trình thá»i gian chạy ÄÆ°á»£c Äóng há»p cát. Nếu Äầu dò cách ly gá»c không thà nh công, QwenPaw sẽ từ chá»i khá»i Äá»ng nó.","unavailableTitle":"Phụ trợ thá»i gian chạy an toà n không có sẵn","unavailableDescription":"{{provisioner}} không khả dụng: {{reason}} Kiá»m tra cà i Äặt backend, trạng thái hoạt Äá»ng và cấu hình há» thá»ng, sau Äó khá»i Äá»ng lại QwenPaw Hub.","unavailableUserDescription":"Backend runtime tạm thá»i không khả dụng. Hãy liên há» vá»i quản trá» viên.","preflightFailed":"Kiá»m tra bảo máºt không thà nh công.","localEndpoint":"Äiá»m cuá»i cục bỠ· {{endpoint}}","provisioner":"Kiá»u thá»±c thi","localExecution":"Cách ly cục bá»","dockerExecution":"Vùng chứa Docker","security":"Bảo vá»","tenant":"Äá»i tượng thuê","removeTitle":"Xóa {{id}}?","removeDescription":"ÄÄng ký bá» xóa; dữ liá»u thá»i gian chạy ÄÆ°á»£c giữ lại.","disableTitle":"Tắt {{id}}?","disableDescription":"Quá trình sẽ dừng và chá»§ sá» hữu không thá» khá»i Äá»ng lại cho Äến khi quản trá» viên kÃch hoạt nó.","rebuildTitle":"Xây dá»±ng lại {{id}} vá»i hình ảnh hiá»n tại?","rebuildDescription":"Vùng chứa sẽ ÄÆ°á»£c thay thế bằng hình ảnh trong cà i Äặt há» thá»ng. Không gian là m viá»c, bà máºt và bản sao lưu liên tục ÄÆ°á»£c giữ lại.","emptyTitle":"Chưa có thá»i gian chạy","emptyDescription":"Tạo thá»i gian chạy QwenPaw cục bá» bá» cô láºp Äầu tiên."},"users":{"eyebrow":"Nháºn dạng và truy cáºp","title":"Quyá»n truy cáºp cá»§a ngưá»i dùng","description":"Tạo tà i khoản cục bá», chá» Äá»nh quyá»n truy cáºp quản trá» và thu há»i phiên từ má»t nÆ¡i.","addAccount":"Thêm tà i khoản","publicRegistration":"ÄÄng ký công khai","publicRegistrationDescription":"Khi bá» tắt, chá» quản trá» viên má»i có thá» tạo tà i khoản.","currentAccountProtected":"Tà i khoản hiá»n tại ÄÆ°á»£c bảo vá»","empty":"Không có ngưá»i dùng nà o phù hợp vá»i các bá» lá»c nà y"},"credentials":{"eyebrow":"Kho thông tin xác thá»±c theo Äá»i tượng thuê","title":"Thông tin xác thá»±c","description":"Lưu trữ khóa cá»§a nhà cung cấp bên trong phạm vi thá»i gian chạy hoặc Äá»i tượng thuê rõ rà ng. Các giá trá» bà máºt ÄÆ°á»£c mã hóa và không bao giá» ÄÆ°á»£c API trả vá».","storeCredential":"Lưu trữ thông tin xác thá»±c","updated":"Äã cáºp nháºt {{date}}","deleteTitle":"Xóa {{name}}?","deleteDescription":"Thá»i gian chạy sá» dụng thông tin xác thá»±c nà y có thá» ngừng hoạt Äá»ng.","emptyTitle":"Chưa có thông tin xác thá»±c","emptyDescription":"Lưu trữ khóa API trong phạm vi thá»i gian chạy hoặc Äá»i tượng thuê.","encrypted":"ÄÆ°á»£c mã hóa khi lưu; không thá» Äá»c bản rõ"},"overview":{"eyebrow":"Buá»ng lái váºn hà nh","title":"Tá»ng quan hoạt Äá»ng cá»§a Hub","description":"Tìm hiá»u tình trạng cá»§a Hub bằng cách sá» dụng trạng thái thá»i gian chạy thá»±c, tà i nguyên máy chá»
199§ và sá»± kiá»n kiá»m tra.","availability":"TÃnh khả dụng cá»§a thá»i gian chạy","availabilityDetail":"{{running}} cá»§a thá»i gian chạy {{total}} hiá»n Äang trá»±c tuyến","totalRuntimes":"Tá»ng sá» môi trưá»ng","failedCount":"Thá»i gian chạy {{count}} cần ÄÆ°á»£c chú ý","totalUsers":"Ngưá»i dùng trung tâm","managedLocally":"Quản lý quyá»n truy cáºp và nháºn dạng cục bá»","hostResources":"Tà i nguyên máy chá»§","liveSnapshot":"Ảnh chụp nhanh trá»±c tiếp hiá»n tại","memory":"Bá» nhá»","dataDisk":"ÄÄ©a dữ liá»u","recentActivity":"Hoạt Äá»ng gần Äây","auditBacked":"ÄÆ°á»£c há» trợ bá»i nháºt ký kiá»m tra liên tục","systemHealthy":"Tất cả các há» thá»ng hoạt Äá»ng","systemDegraded":"Há» thá»ng xuá»ng cấp","localIsolation":"Thá»±c thi cách ly cục bá»"},"table":{"searchRuntimes":"Tìm kiếm thá»i gian chạy, chá»§ sá» hữu hoặc Äiá»m cuá»i","searchUsers":"Tìm kiếm tên ngưá»i dùng hoặc ID ngưá»i dùng","searchCredentials":"Tìm kiếm tên hoặc phạm vi thông tin xác thá»±c","searchAudit":"Tìm kiếm diá»
n viên hoặc tà i nguyên","allStates":"Tất cả trạng thái","allOwners":"Tất cả chá»§ sá» hữu","allExecutions":"Tất cả các kiá»u thá»±c thi","allRoles":"Tất cả vai trò","allUserStates":"Tất cả trạng thái ngưá»i dùng","allScopes":"Tất cả phạm vi","allActions":"Má»i hà nh Äá»ng","runtime":"Môi trưá»ng chạy","status":"Trạng thái","owner":"Ngưá»i sá» hữu","endpoint":"Äiá»m cuá»i","execution":"Cách chạy","updated":"Äã cáºp nháºt","user":"Ngưá»i dùng","role":"Vai trò","created":"Ngà y tạo","credential":"Thông tin xác thá»±c","scope":"Phạm vi","event":"Sá»± kiá»n","actor":"Ngưá»i thá»±c hiá»n","resource":"Tà i nguyên","result":"Kết quả","time":"Thá»i gian","total":"{{total}} mục"},"audit":{"eyebrow":"An ninh và quản trá»","title":"Nháºt ký kiá»m tra","description":"Xem xét ai Äã thá»±c hiá»n từng hà nh Äá»ng quản lý Hub, mục tiêu, kết quả và thá»i gian thá»±c hiá»n. Các giá trá» nhạy cảm không bao giá» ÄÆ°á»£c kiá»m tra.","empty":"Chưa có sá»± kiá»n quản lý nà o"},"settings":{"eyebrow":"Cấu hình ná»n tảng","title":"Cà i Äặt há» thá»ng","description":"Quản lý cấu hình Hub hoà n chá»nh từ má»t nguá»n thông tin chÃnh xác Äã ÄÆ°á»£c kiá»m tra. Các thay Äá»i có hiá»u lá»±c ngay láºp tức và tá»n tại trong suá»t quá trình khá»i Äá»ng lại.","save":"Lưu cà i Äặt","meta":"Bản sá»a Äá»i {{revision}} · Äã cáºp nháºt {{date}}","tabs":{"access":"Bảo máºt truy cáºp","runtime":"Thá»i gian chạy"},"access":{"title":"Truy cáºp và ÄÄng ký","description":"Äá»nh cấu hình chÃnh sách tà i khoản công cá»ng và Äá»a chá» Hub có thá» truy cáºp ÄÆ°á»£c bằng trình duyá»t.","publicBaseUrl":"URL cÆ¡ sá» công khai","publicBaseUrlHint":"ÄÆ°á»£c sá» dụng cho các lá»nh gá»i lại OAuth. Chá» Äá» trá»ng Äá»i vá»i các triá»n khai chá» lặp lại.","registration":"ÄÄng ký công khai","registrationHint":"Khi bá» tắt, chá» quản trá» viên má»i có thá» tạo tà i khoản.","defaultRole":"Vai trò ÄÄng ký mặc Äá»nh","defaultRoleHint":"Tà i khoản tá»± ÄÄng ký luôn là ngưá»i dùng thông thưá»ng Äá» bảo máºt."},"security":{"title":"Bảo vá» xác thá»±c","description":"Hạn chế lạm dụng ÄÄng nháºp và ÄÄng ký cÅ©ng như chặn Äá»a chá» hoặc mạng.","ipBlacklist":"danh sách Äen IP","ipBlacklistHint":"Há» trợ IPv4, IPv6 và CIDR; nhấn Enter sau má»i giá trá».","trustedProxyIps":"Proxy Äảo ngược Äáng tin cáºy","trustedProxyIpsHint":"X-Forwarded-For chá» ÄÆ°á»£c tin cáºy khi ÄÆ°á»£c gá»i bá»i các Äá»a chá» nà y.","loginRateLimit":"Giá»i hạn tá»· lá» ÄÄng nháºp không thà nh công","loginRateLimitHint":"Tạm thá»i chặn các lần ÄÄng nháºp không thà nh công lặp lại từ má»t Äá»a chá».","registrationRateLimit":"Giá»i hạn tá»· lá» ÄÄng ký","registrationRateLimitHint":"Hạn chế các Äợt tạo tà i khoản má»i từ má»t Äá»a chá».","maxAttempts":"Sá» lần thá» tá»i Äa","windowSeconds":"Cá»a sá» (giây)","blockSeconds":"Thá»i lượng chặn (giây)"},"runtime":{"title":"ChÃnh sách thá»i gian chạy","description":"Chá»n chương trình phụ trợ thá»i gian chạy. Thá»i gian chạy hiá»n tại sẽ báºt lần khá»i Äá»ng lại tiếp theo.","provisioner":"Phần phụ trợ thá»i gian chạy","localBackend":"Quy trình cục bá»","localBackendHint":"Chạy các tiến trình riêng biá»t trá»±c tiếp trên máy chá»
199§ nà y.","dockerBackend":"thùng chứa Docker","dockerBackendHint":"Chạy từng tà i khoản trong vùng chứa ÄÆ°á»£c quản lý.","backendUnavailable":"Không có sẵn trên máy chá»§ nà y","localIsolationHint":"Chế Äá» cục bá» sá» dụng các quy trình máy chá»§ và không sá» dụng bất kỳ cà i Äặt hình ảnh Docker nà o.","dockerIsolationHint":"Chế Äá» Docker áp dụng chÃnh sách hình ảnh và tà i nguyên bên dưá»i cho má»i tà i khoản."},"docker":{"title":"ChÃnh sách Docker","description":"Quản lý táºp trung hình ảnh, hà nh vi kéo và giá»i hạn tà i nguyên trên má»i vùng chứa. Ngưá»i dùng không thá» ghi Äè các cà i Äặt nà y.","unavailable":"Công cụ Docker không khả dụng","source":"Nguá»n hình ảnh","dockerHub":"Docker Hub chÃnh thức","aliyunAcr":"CÆ¡ quan ÄÄng ký Äám mây chÃnh thức cá»§a Alibaba","custom":"Hình ảnh tùy chá»nh","customHint":"Nháºp bất kỳ tham chiếu hình ảnh nà o ÄÆ°á»£c chÃnh sách cho phép.","customRegistry":"ÄÄng ký tùy chá»nh hoặc tham chiếu hình ảnh","localHost":"Hình ảnh cục bá»","localHostHint":"Sá» dụng thẻ hình ảnh Äã có trên máy chá»
199§ nà y.","noLocalImages":"Không tìm thấy hình ảnh Äá»a phương ÄÆ°á»£c gắn thẻ","image":"Hình ảnh và thẻ","selectLocalImage":"Chá»n thẻ hình ảnh cục bá»","selectedImage":"Hình ảnh hiá»u quả","repository":"Kho lưu trữ","localStatus":"Trạng thái cục bá»","downloaded":"Äã tải xuá»ng","notDownloaded":"Chưa tải xuá»ng","pullPolicy":"ChÃnh sách kéo tá»± Äá»ng","ifNotPresent":"Kéo khi thiếu cục bá»","always":"Kéo trưá»c lần sáng tạo Äầu tiên","never":"Chá» sá» dụng hình ảnh Äá»a phương","pullImage":"Kéo hình ảnh ngay bây giá»","localImages":"Tham chiếu hình ảnh cục bá» {{count}}","resources":"Giá»i hạn tà i nguyên vùng chứa","cpuLimit":"lõi CPU","memoryLimit":"Bá» nhá» (MB)","pidsLimit":"Quy trình tá»i Äa","shmSize":"Bá» nhá» dùng chung (MB)"},"quotas":{"title":"Dung lượng thá»i gian chạy toà n cầu","description":"Má»i ngưá»i thuê sá» hữu chÃnh xác má»t thá»i gian chạy; Äiá»u nà y giá»i hạn thá»i gian chạy Äá»ng thá»i trên Hub.","maxRunningRuntimes":"Thá»i gian chạy tá»i Äa","unlimitedHint":"Trá»ng có nghÄ©a là không giá»i hạn."}},"auditActions":{"runtime":{"create":"Thá»i gian chạy Äã tạo","start":"Äã bắt Äầu thá»i gian chạy","stop":"Äã dừng thá»i gian chạy","disable":"Thá»i gian chạy bá» vô hiá»u hóa","rebuild":"Thá»i gian chạy ÄÆ°á»£c xây dá»±ng lại","delete":"Äã xóa thá»i gian chạy"},"image":{"pull":"Äã kéo hình ảnh Docker"},"user":{"create":"Ngưá»i dùng Äã tạo","update":"Ngưá»i dùng Äã cáºp nháºt"},"credential":{"store":"Thông tin xác thá»±c ÄÆ°á»£c lưu trữ","delete":"Thông tin xác thá»±c Äã bá» xóa"},"settings":{"update":"Äã cáºp nháºt cà i Äặt Hub"},"auth":{"register":"Ngưá»i dùng Hub Äã ÄÄng ký"}},"auditOutcomes":{"success":"Thà nh công","failure":"Sá»± thất bại"},"runtimeForm":{"title":"Tạo thá»i gian chạy","hint":"Thá»i gian chạy bắt Äầu bên trong há»p cát cục bá» gá»c. Các tá»p, bà máºt và cây quy trình cá»§a nó tách biá»t vá»i những ngưá»i dùng khác.","runtimeId":"ID thá»i gian chạy","startImmediately":"Bắt Äầu ngay láºp tức","submit":"Tạo thá»i gian chạy"},"userForm":{"title":"Thêm tà i khoản","hint":"Sá» dụng máºt khẩu tạm thá»i có Ãt nhất tám ký tá»±. Ngưá»i dùng chá» có thá» truy cáºp thá»i gian chạy do ngưá»i thuê cá nhân cá»§a há» sá» hữu.","username":"Tên ngưá»i dùng","temporaryPassword":"Máºt khẩu tạm thá»i","role":"Vai trò","submit":"Tạo tà i khoản"},"credentialForm":{"title":"Lưu trữ thông tin xác thá»±c","hint":"Phạm vi Äá»i tượng thuê áp dụng cho tất cả thá»i gian chạy cá»§a bạn. Phạm vi thá»i gian chạy là ghi Äè riêng tư cho má»t quy trình Äã chá»n.","scope":"Phạm vi","allRuntimes":"Tất cả thá»i gian chạy cá»§a tôi","environmentName":"Tên môi trưá»ng","secretValue":"Giá trá» bà máºt","submit":"Mã hóa và lưu trữ"}}'),XL={title:"ÄÄng nháºp",description:"Nháºp máºt khẩu Äá» truy cáºp QwenPaw Console.",passwordLabel:"Máºt khẩu",passwordPlaceholder:"Nháºp máºt khẩu",submit:"ÄÄng nháºp",error:"Máºt khẩu không Äúng",sessionExpired:"Phiên Äã hết hạn, vui lòng ÄÄng nháºp lại",logoutSuccess:"Äã ÄÄng xuất",loggingIn:"Äang ÄÄng nháºp...",logout:"ÄÄng xuất",logoutConfirm:"Bạn có chắc muá»n ÄÄng xuất không?",authDisabled:"Xác thá»±c Äang tắt",authDisabledDesc:"Báºt AUTH_SECRET trong file .env Äá» bảo vá» console.",changePassword:"Äá»i máºt khẩu",currentPassword:"Máºt khẩu hiá»n tại",newPassword:"Máºt khẩu má»i",confirmPassword:"Xác nháºn máºt khẩu má»i",changePasswordSuccess:"Äá»i máºt khẩu thà nh công",changePasswordFailed:"Äá»i máºt khẩu thất bại"},ZL={title:"Tà i khoản",changePassword:"Äá»i máºt khẩu",currentPassword:"Máºt khẩu hiá»n tại",newPassword:"Máºt khẩu má»i",confirmNewPassword:"Xác nháºn máºt khẩu má»i",passwordMismatch:"Máºt khẩu xác nháºn không khá»p",changeSuccess:"Äá»i máºt khẩu thà nh công",changeFailed:"Äá»i máºt khẩu thất bại",currentPasswordRequired:"Vui lòng nháºp máºt khẩu hiá»n tại",newPasswordRequired:"Vui lòng nháºp máºt khẩu má»i",newPasswordMinLength:"Máºt khẩu má»i phải có Ãt nhất 8 ký tá»±",confirmPasswordRequired:"Vui lòng xác nháºn máºt khẩu má»i",saving:"Äang lưu...",save:"Lưu thay Äá»i",authDisabled:"Xác thá»±c Äang tắt â Äá»i máºt khẩu không khả dụng",wrongCurrentPassword:"Máºt khẩu hiá»n tại không Äúng",username:"Tên ngưá»i dùng",passwordRequired:"Vui lòng nháºp máºt khẩu má»i",hubPasswordPlaceholder:"Nháºp Ãt nhất tám ký tá»±",runtimeTitle:"Môi trưá»ng cá nhân",runtimeDescription:"Khá»i Äá»ng lại môi trưá»ng nếu không gi
199an là m viá»c không khả dụng. Tác vụ Äang chạy sẽ bá» gián Äoạn nhưng dữ liá»u Äã lưu vẫn ÄÆ°á»£c giữ lại.",runtimeRestartConfirmTitle:"Khá»i Äá»ng lại môi trưá»ng?",runtimeRestartConfirmDescription:"Tác vụ Äang chạy sẽ bá» gián Äoạn trong khi khá»i Äá»ng lại.",runtimeRestart:"Khá»i Äá»ng lại môi trưá»ng",runtimeRestartSuccess:"Äã khá»i Äá»ng lại môi trưá»ng",runtimeRestartFailed:"Không thá» khá»i Äá»ng lại môi trưá»ng"},eE={groups:{cronShort:"Äá»nh kỳ",subagentShort:"Tác tá» con"},fileReference:{codeSnippet:"Äoạn mã · {{count}} dòng"},modelSelectTooltip:"Chá»n mô hình",newChatTooltip:"Cuá»c trò chuyá»n má»i",searchTooltip:"Tìm kiếm tất cả cuá»c trò chuyá»n",chatHistoryTooltip:"Lá»ch sá» trò chuyá»n",messageDisplay:{stepsRunning:"Äang chạy⦠· {{count}} bưá»c",stepsCanceled:"Äã há»§y · {{count}} bưá»c",stepsFailed:"Thất bại · {{count}} bưá»c",stepsCompleted:"Äã hoà n thà nh {{count}} bưá»c"},allChats:"Tất cả cuá»c trò chuyá»n",createNewChat:"Tạo cuá»c trò chuyá»n má»i",pinDrawer:"Ghim",unpinDrawer:"Bá» ghim",statusIdle:"Rảnh",statusInProgress:"Äang xá» lý",disclaimer:"Là m viá»c cho bạn, lá»n lên cùng bạn",greeting:"Xin chà o, tôi có thá» giúp gì cho bạn?",description:"Tôi là trợ lý AI sẵn sà ng há» trợ bạn.",prompt1:"Hãy bắt Äầu hà nh trình má»i!",prompt2:"Bạn có thá» cho tôi biết những kỹ nÄng cá»§a mình không?",inputPlaceholder:'"ââ" Äiá»u hưá»ng tin nhắn · "/" lá»nh nhanh',longTextUploadPrompt:"Vui lòng Äá»c tá»p prompt Äã tải lên và trả lá»i dá»±a trên ná»i dung Äó.",emptyOutputError:"Trợ lý Äã trả vá» phản há»i trá»ng.",commands:{clear:{description:"Xóa ngữ cảnh cuá»c trò chuyá»n"},compact:{description:"Nén ngữ cảnh trò chuyá»n; há» trợ lá»nh tùy chá»n"},approve:{description:"Phê duyá»t yêu cầu công cụ Äang chá»"},deny:{description:"Từ chá»i yêu cầu công cụ Äang chá»"},history:{description:"Hiá»n thá» lá»ch sá» cuá»c trò chuyá»n"},mission:{description:"Chế Äá» Mission â Phân tách nhiá»m vụ cho sub-agent vá»i ngữ cảnh tách biá»t"},goal:{description:"Loop Goal â Agent theo Äuá»i mục tiêu liên tục, tá»± Äánh giá qua Rubric"},skills:{description:"Liá»t kê kỹ nÄng có sẵn trong cuá»c trò chuyá»n"},agents:{description:"Liá»t kê tác nhân có sẵn trong runtime hiá»n tại"},review:{description:"Dùng Codex Äá» Äánh giá các thay Äá»i chưa commit trong không gian là m viá»c"},status:{description:"Hiá»n thá» tà i khoản tác nhân, mô hình và không gian là m viá»c hiá»n tại"}},turnUsagePopover:{ariaLabel:"Xem token lượt và mức dùng ngữ cảnh",turn:"Lượt nà y",turnEstimated:"Lượt nà y ~",tok:"tok",inOut:"in {{inTok}} · out {{outTok}}",contextLabel:"Cá»a sá» ngữ cảnh:",outerRing:"Outer ring",cacheLabel:"Cache hit rate",centerValue:"Center",cacheTokens:"trúng {{readTok}} / Äầu và o {{inputTok}}",manageContext:"Quản lý ngữ cảnh",compact:"Nén",new:"Cuá»c trò chuyá»n má»i"},contextMenu:{open:"Má»",rename:"Äá»i tên",pin:"Ghim",unpin:"Bá» ghim",delete:"Xóa"},queue:{title:"Hà ng Äợi tin nhắn",paused:"Äã tạm dừng",sendFailed:"Gá»i thất bại",resume:"Tiếp tục hà ng Äợi",pause:"Tạm dừng hà ng Äợi",clear:"Xóa hà ng Äợi",dragSort:"Kéo Äá» sắp xếp lại",edit:"Chá»nh sá»a",retry:"Thá» lại",skip:"Bá» qua",interruptAndSend:"Ngắt và gá»i",delete:"Xóa",file:"Tá»p",noChatWarning:"Vui lòng gá»i má»t tin nhắn Äầu tiên Äá» tạo cuá»c trò chuyá»n trưá»c khi sá» dụng hà ng Äợi",queueFull:"Hà ng Äợi Äầy (tá»i Äa {{max}} mục), vui lòng gá»i hoặc xóa má»t sá» tin nhắn trưá»c",otherTabOwner:"This tab queues only; sending is handled by another tab"},group:{pinned:"Äã ghim",today:"Hôm nay",week:"7 ngà y qua",month:"30 ngà y qua",older:"CÅ© hÆ¡n"},sessionPanel:{searchConversations:"Tìm kiếmâ¦",noResults:"Không có kết quả",noConversations:"Không có há»i thoại",loadingConversations:"Äang tảiâ¦"},conversationHistory:"Lá»ch sá» há»i thoại",history:{empty:"Không có lá»ch sá» trò chuyá»n"},sessionGroup:{today:"Hôm nay",recent:"7 ngà y qua",earlier:"Trưá»c Äó"}},tE={title:"Gỡ lá»i",desc:"Xem nháºt ký backend Äá» chẩn Äoán sá»± cá». Nháºt ký tá»± Äá»ng là m má»i khi trang má».",level:{all:"Tất cả"},backend:{title:"Nháºt ký backend",autoRefresh:"Tá»± Äá»ng là m má»i",newestFirst:"Má»i nhất trưá»c",updatedAt:"Cáºp nháºt lúc",path:"File nháºt ký",notFound:"Chưa tìm thấy file nháºt ký.",placeholder:"Ná»i dung nháºt ký sẽ hiá»n thá» á» Äây.",loadFailed:"Không thá» tải nháºt ký",searchPlaceholder:"Tìm trong nháºt ký..."},actions:{refreshBackend:"Là m má»i nháºt ký",refreshSuccess:"Äã là m má»i nháºt ký",copyBackend:"Sao chép nháºt ký"}},aE={title:"Há»p thư",tabApprovals:"Phê duyá»t",tabPushMessages:"Tin nhắn Äẩy",tabHarvests:"Thu hoạch AI",summaryApprovals:"Phê duyá»t",summaryPushUnread:"Tin nhắn chưa Äá»c",summaryHarvests:"Thu hoạch",from:"Từ:",requestedBy:"Bá»i",markRead:"Äánh dấu Äã Äá»c",markAllRead:"Äánh dấu tất cả Äã Äá»c",markAllReadNoUnread:"Không có tin nhắn chưa Äá»c",markAllReadSuccess:"Äã Äánh dấu {{count}} tin nhắn Äã Äá»c",selectAllCurrentPage:"Chá»n trang hiá»n tại",selectedItems:"Äã chá»n {{count}}",batchDeleteButton:"Xóa hà ng loạt",batchOperation:"Thao tác hà ng loạt",exitBatch:"Thoát chế Äá» hà ng loạt",batchDeleteConfirm:"Xóa {{count}} tin nhắn Äã chá»n?",batchDeleteSuccess:"Äã xóa {{count}}
199 tin nhắn",pushCronHeader:"Tác vụ Äá»nh kỳ: {{name}}",viewDetails:"Xem chi tiết",deleteMessageConfirm:"Xóa tin nhắn nà y?",viewAll:"Xem tất cả",read:"Äã Äá»c",approve:"Phê duyá»t",reject:"Từ chá»i",ready:"Sẵn sà ng",harvestNow:"Thu hoạch ngay",createHarvest:"Tạo thu hoạch",createFirstHarvest:"Tạo thu hoạch Äầu tiên",createSuccess:"Tạo thu hoạch thà nh công",emptyApprovals:"Không có phê duyá»t nà o Äang chá»",emptyPush:"Không có tin nhắn Äẩy",wobbleEnable:"Báºt thông báo rung phê duyá»t",wobbleDisable:"Tắt thông báo rung phê duyá»t",emptyHarvests:"Chưa có thu hoạch nà o",statusReadyToHarvest:"Sẵn sà ng thu hoạch",statusGrowing:"Äang phát triá»n",harvestedTimes:"Äã thu hoạch {{count}} lần",harvestSuccessRate:"Tá»· lá» thà nh công {{rate}}%",messageDetailComingSoon:"Chi tiết tin nhắn â Sắp ra mắt!",harvestSettingsComingSoon:"Cà i Äặt thu hoạch â Sắp ra mắt!",messageDetailTitle:"Chi tiết thá»±c thi",detailCronTitle:"Tác vụ Äá»nh kỳ: {{name}}",detailHeartbeatTitle:"Heartbeat",messageNotFound:"Không tìm thấy tin nhắn",detailTaskName:"Tên tác vụ",detailTaskId:"ID tác vụ",detailStatus:"Trạng thái",detailSeverity:"Mức Äá»",detailAgent:"Agent",detailSource:"Nguá»n",detailSourceCronJob:"Tác vụ Äá»nh kỳ",detailSourceHeartbeat:"Heartbeat",detailTrigger:"KÃch hoạt",detailDuration:"Thá»i lượng",detailExecutedAt:"Thá»±c thi lúc",detailReceivedAt:"Nháºn lúc",detailRunId:"ID lần chạy",detailContent:"Äầu ra",detailPayload:"Payload",detailExecutionTrace:"Trace thá»±c thi",detailTraceEmpty:"Không có trace",mailDetailSender:"Ngưá»i gá»i",mailDetailSubject:"Chá»§ Äá»",mailDetailDate:"Thá»i gian thư",mailDetailBody:"Xem trưá»c ná»i dung",mailDetailProcess:"Quá trình xá» lý",filterByAgent:"Lá»c theo agent",filterBySourceType:"Lá»c theo nguá»n",sourceTypeCron:"Cron",sourceTypeHeartbeat:"Heartbeat",sourceTypeMemory:"Memory",sourceTypeMail:"Mail",mailAccessControl:"Kiá»m soát truy cáºp email",pendingSenders:"Ngưá»i gá»i chá» duyá»t",senderLists:"Danh sách ngưá»i gá»i",addSender:"Thêm ngưá»i gá»i",domainWildcardHint:"Há» trợ ký tá»± Äại diá»n cho tên miá»n, và dụ *@example.com",invalidAddress:"Äá»a chá» email không hợp lá». Hãy dùng Äá»nh dạng như [email protected] hoặc *@domain.com",whitelist:"Danh sách trắng",blacklist:"Danh sách Äen",approveSender:"Duyá»t",deny:"Chặn",dismiss:"Bá» qua",batchApprove:"Duyá»t hà ng loạt",batchDeny:"Chặn hà ng loạt",batchDismiss:"Bá» qua hà ng loạt",batchRemove:"Xóa hà ng loạt",confirmApprove:"Duyá»t những ngưá»i gá»i Äã chá»n?",confirmDeny:"Từ chá»i những ngưá»i gá»i Äã chá»n?",confirmDismiss:"Bá» qua những ngưá»i gá»i Äã chá»n?",confirmRemove:"Xác nháºn xóa?",removeSuccess:"Äã xóa thà nh công",addedToAllAgents:"Äã thêm và Äá»ng bá» vá»i tất cả agent",senderAddress:"Äá»a chá» ngưá»i gá»i",displayName:"Tên ngưá»i gá»i",emailSubject:"Tiêu Äá»",bodyPreview:"Xem trưá»c ná»i dung",selectAgent:"Chá»n agent",allAgents:"Tất cả agent",time:"Thá»i gian",remark:"Ghi chú",actions:"Thao tác",optional:" (tùy chá»n)",required:" (bắt buá»c)"},nE={title:"ACP",loading:"Äang tải cấu hình ACP...",builtin:"TÃch hợp sẵn",custom:"Tùy chá»nh",create:"Thêm agent tùy chá»nh",createTitle:"Tạo agent ACP",createSuccess:"Tạo agent ACP thà nh công",editTitle:"Chá»nh sá»a cấu hình ACP",agentKey:"Khóa agent",agentKeyRequired:"Vui lòng nháºp khóa agent",agentKeyInvalid:"Khóa agent chá» ÄÆ°á»£c chứa chữ cái, sá», gạch dưá»i và gạch ngang",agentKeyExists:"Khóa agent nà y Äã tá»n tại",enabled:"Äã báºt",command:"Lá»nh",commandRequired:"Vui lòng nháºp lá»nh",args:"Tham sá»",argsHelp:"Má»i dòng má»t tham sá»",env:"Biến môi trưá»ng",envHelp:"Dùng Äá»nh dạng KEY=VALUE, má»i dòng má»t biến",envInvalid:"Äá»nh dạng không hợp lá», dùng KEY=VALUE",nodeSettings:"Cà i Äặt Node",nodePath:"ÄÆ°á»ng dẫn Node",chooseOtherNode:"Chá»n Node khác...",selectNodePath:"Chá»n ÄÆ°á»ng dẫn Node",nodePathPrompt:"Nháºp ÄÆ°á»ng dẫn file thá»±c thi node",nodeSaved:"Äã lưu cà i Äặt Node",nodeLoadFailed:"Không tải ÄÆ°á»£c cà i Äặt Node",nodeSaveFailed:"ÄÆ°á»ng dẫn Node không khả dụng",n
199odeRuntime:{bundled:"Node tÃch hợp",system:"Node há» thá»ng",custom:"Node tuỳ chá»nh"},nodeRuntimeReason:{systemNodeMissing:"Không phát hiá»n Node há» thá»ng",nodeMissing:"ÄÆ°á»ng dẫn Node không tá»n tại",npxMissing:"Không tìm thấy npx",versionCheckFailed:"Kiá»m tra phiên bản thất bại",unavailable:"Không khả dụng"}},oE={title:"Phiên âm giá»ng nói",description:"Cấu hình cách xá» lý tin nhắn âm thanh Äến.",saveSuccess:"Äã lưu chế ÄỠâm thanh",saveFailed:"Lưu chế ÄỠâm thanh thất bại",audioModeLabel:"Chế ÄỠâm thanh",audioModeDescription:"Chá»n cách xá» lý tin nhắn giá»ng nói từ các kênh trưá»c khi gá»i Äến mô hình.",modeAuto:"Tá»± Äá»ng (Khuyến nghá»)",modeAutoDesc:"Phiên âm giá»ng nói thà nh vÄn bản rá»i gá»i Äến mô hình. Tương thÃch vá»i má»i mô hình.",modeNative:"Ãm thanh gá»c",modeNativeDesc:"Gá»i file âm thanh trá»±c tiếp Äến mô hình. Chá» hoạt Äá»ng vá»i mô hình há» trợ âm thanh (và dụ: gpt-4o-audio)."},iE={title:"Heartbeat",description:"Chạy HEARTBEAT.md theo chu kỳ Äá» tá»± kiá»m tra. Mặc Äá»nh chạy âm thầm, hoặc gá»i phản há»i Äến kênh trò chuyá»n cuá»i.",enabled:"Báºt Heartbeat",every:"Chu kỳ",everyRequired:"Bắt buá»c",everyMin:"Phải Ãt nhất 1",timeoutSeconds:"Thá»i gian chá» thá»±c thi (giây)",timeoutRequired:"Bắt buá»c",timeoutMin:"Phải Ãt nhất 1",timeoutMax:"Tá»i Äa 3600",unitMinutes:"Phút",unitHours:"Giá»",target:"NÆ¡i gá»i phản há»i",targetMain:"Chế Äá» im lặng (mặc Äá»nh)",targetLast:"Gá»i Äến kênh trò chuyá»n cuá»i",targetInbox:"Gá»i và o Há»p thư",activeHours:"Giá» hoạt Äá»ng (tùy chá»n)",activeStart:"Giá» bắt Äầu",activeEnd:"Giá» kết thúc",loadFailed:"Tải cấu hình thất bại",saveSuccess:"Äã lưu; Heartbeat Äã ÄÆ°á»£c tải lại",saveFailed:"Lưu cấu hình thất bại",runNow:"Chạy ngay",runNowSuccess:"Äã kÃch hoạt Heartbeat. Kiá»m tra Há»p thư hoặc kênh ÄÃch.",runNowFailed:"KÃch hoạt Heartbeat thất bại"},sE={nav:"Äiá»m kiá»m tra",title:"Äiá»m kiá»m tra trạng thái",auto:"Tá»± Äá»ng",autoEnabled:"Äã báºt Äiá»m kiá»m tra tá»± Äá»ng",autoDisabled:"Äã tắt Äiá»m kiá»m tra tá»± Äá»ng",refresh:"Là m má»i",snapshot:"Ảnh chụp",snapshotCreated:"Äã tạo ảnh chụp",graph:"Äá» thá»",checkpoint:"Äiá»m kiá»m tra",type:"Loại",commit:"Commit",createdAt:"Thá»i gian tạo",session:"Phiên",channel:"Kênh",parent:"Nút cha",details:"Chi tiết",search:"Tìm truy vấn, tên, phiên hoặc SHA",allTypes:"Tất cả loại",allSessions:"Tất cả phiên",showingLatest:"Hiá»n thá» {{count}} mục má»i nhất",loadFailed:"Không thá» tải Äiá»m kiá»m tra",retry:"Thá» lại",more:"Thao tác khác",noMatches:"Không có Äiá»m kiá»m tra phù hợp.",empty:"Chưa có Äiá»m kiá»m tra trạng thái. Lá»ch sá» phiên bản sẽ xuất hiá»n á» Äây.",kind:{auto:"Tá»± Äá»ng",snapshot:"Ảnh chụp",safety:"An toà n",commit:"Commit"},summary:{total:"Äiá»m"},snapshotDialog:{title:"Tạo ảnh chụp",session:"Phiên",name:"Tên",placeholder:"Tên ảnh chụp không bắt buá»c"},gc:{settingsAction:"Cà i Äặt dá»n dẹp tá»± Äá»ng",settingsTitle:"Cà i Äặt dá»n dẹp tá»± Äá»ng",keepCount:"Sá» Äiá»m kiá»m tra tá»± Äá»ng ÄÆ°á»£c giữ",keepDays:"Thá»i gian giữ Äiá»m tá»± Äá»ng (ngà y)",preRestoreDays:"Thá»i gian giữ ảnh trưá»c khôi phục (ngà y)",settingsSaved:"Äã lưu cà i Äặt dá»n dẹp tá»± Äá»ng",thoroughAction:"Nén triá»t Äá» các Äiá»m kiá»m tra",thoroughTitle:"Nén triá»t Äá» các Äiá»m kiá»m tra?",thoroughDescription:"Xóa {{count}} Äiá»m kiá»m tra, bá» qua chÃnh sách lưu giữ Äiá»m tá»± Äá»ng. HEAD cá»§a má»i phiên ÄÆ°á»£c giữ lại.",thoroughConfirm:"Nén triá»t Äá»",thoroughSuccess:"Äã xóa {{count}} Äiá»m kiá»m tra khi nén triá»t Äá»",action:"Dá»n dẹp Äiá»m kiá»m tra",title:"Dá»n dẹp Äiá»m kiá»m tra theo chÃnh sách lưu giữ?",description:"Xóa {{count}} Äiá»m kiá»m tra Äã hết hạn theo chÃnh sách lưu giữ hiá»n tại. HEAD cá»§a má»i phiên ÄÆ°á»£c giữ lại.",confirm:"Dá»n dẹp",success:"Äã xóa {{count}} Äiá»m"},reset:{action:"Äặt lại dữ liá»u",title:"Äặt lại toà n bá» dữ liá»u?",description:"Thao tác nà y xóa vÄ©nh viá»
n má»i Äiá»m và tắt chế Äá» tá»± Äá»ng.",confirm:"Äặt lại",success:"Äã Äặt lại dữ liá»u"},restore:{action:"Khôi phục",title:"Khôi phục Äiá»m kiá»m tra",preview:"Xem trưá»c",confirm:"Khôi phục",conversation:"Há»i thoại",memory:"Bá» nhá»",files:"Tá»p workspace",refreshWarning:"Há»i thoại sẽ thay Äá»i. Hãy là m má»i sau khi khôi phục.",selectedCount:"Äã chá»n {{count}} tá»p",selectAll:"Chá»n tất cả tá»p thay Äá»i",delete:"Xóa",restore:"Khôi phục",noFileChanges:"Không cần thay Äá»i tá»p nà o.",success:"Äã khôi phục. Hãy là m má»i há»i thoại Äá» tải trạng thái."}}
199,rE={title:"Tá»p tin",workspacePath:"Workspace:",noFiles:"Không có tá»p tin",coreFiles:"Tá»p cá»t lõi",coreFilesDesc:"Äá»nh nghÄ©a nhân cách, danh tÃnh và hưá»ng dẫn công cụ.",uploadTooltip:"Chá» file ZIP",uploadTooltipWithLimit:"Chá» file ZIP, tá»i Äa {{limit}}MB",selectFile:"Chá»n tá»p Äá» chá»nh sá»a",fileContent:"Ná»i dung tá»p...",uploadSuccess:"Tải lên thà nh công",uploadFailed:"Tải lên thất bại",downloadPreparing:"Äang chuẩn bá» tải xuá»ng workspace...",downloadSuccess:"Tải workspace thà nh công",downloadFailed:"Tải workspace thất bại",zipOnly:"Chá» há» trợ file .zip khi tải lên",fileSizeExceeded:"File vượt giá»i hạn {{limit}}MB. KÃch thưá»c hiá»n tại: {{size}}MB",systemPromptToggleTooltip:"Báºt/tắt file nà y trong system prompt",memoryFileWarning:"MEMORY.md thưá»ng ÄÆ°á»£c agent truy vấn theo yêu cầu. ÄÆ°a và o system prompt có thá» là m ngữ cảnh quá dà i."},lE={parent:"Cà i Äặt",agents:"Agent",management:"Quản lý Agent",pageDescription:"Tạo, cấu hình và quản lý nhiá»u agent AI vá»i workspace và danh tÃnh riêng.",name:"Tên",id:"ID",description:"Mô tả",workspace:"ÄÆ°á»ng dẫn Workspace",backend:{column:"Backend",eyebrow:"Kiến trúc tác nhân",typeTitle:"Chá»n cách tác nhân nà y hoạt Äá»ng",typeDescription:"Loại tác nhân chi phá»i má»i cuá»c trò chuyá»n trong Chat, Coding và Channel.",nativeTitle:"Tác nhân QwenPaw gá»c",nativeBadge:"Gá»c",nativeDescription:"Sá» dụng LLM, Skills, công cụ, bá» nhá» và runtime QwenPaw Äã cấu hình.",thirdPartyTitle:"Tác nhân bên thứ ba",thirdPartyBadge:"Bên thứ ba",thirdPartyDescription:"Sá» dụng runtime tác nhân bên ngoà i Äã ÄÆ°á»£c cấp quyá»n thay cho mô hình QwenPaw.",providerTitle:"Chá»n tác nhân bên thứ ba",providerDescription:"Thông tin xác thá»±c ÄÆ°á»£c dùng chung trên thiết bá» nà y; dá»± án và cuá»c trò chuyá»n vẫn ÄÆ°á»£c tách riêng theo từng tác nhân.",codexHint:"ChatGPT OAuth · Không gian là m viá»c cá»§a tác nhân",qoderHint:"Tà i khoản Qoder hoặc PAT · Không gian là m viá»c cá»§a tác nhân",account:"Tà i khoản Codex",qoderAccount:"Tà i khoản Qoder",binary:"Tá»p thá»±c thi Codex",binaryHelp:"Äá» trá»ng ÄỠưu tiên Codex CLI Äi kèm Python SDK và phát hiá»n bản cà i Äặt Äá»c láºp. Nếu nháºp thá»§ công, hãy nháºp ÄÆ°á»ng dẫn Äầy Äá»§ tá»i codex trên macOS/Linux hoặc codex.exe trên Windows. Không há» trợ tá»p thá»±c thi tÃch hợp trong ứng dụng ChatGPT hoặc tiá»n Ãch má» rá»ng trình soạn thảo. QwenPaw cÅ©ng Äá»c CODEX_BINARY và PATH cá»§a backend.",binaryPlaceholder:"Tá»± Äá»ng phát hiá»n hoặc dán ÄÆ°á»ng dẫn tá»p thá»±c thi Codex",qoderBinary:"Tá»p thá»±c thi Qoder",qoderBinaryHelp:"Äá» trá»ng Äá» dùng qodercli Äi kèm SDK Python hoặc phát hiá»n bản cà i Äặt hiá»n có. Nếu nháºp thá»§ công, hãy nháºp ÄÆ°á»ng dẫn Äầy Äá»§ tá»i qodercli trên macOS/Linux hoặc qodercli.exe trên Windows. QwenPaw cÅ©ng Äá»c QODERCLI_PATH và PATH cá»§a backend.",qoderBinaryPlaceholder:"Tá»± Äá»ng phát hiá»n hoặc dán ÄÆ°á»ng dẫn qodercli",detect:"Phát hiá»n",detectedBinary:"Äã phát hiá»n Codex",qoderDetectedBinary:"Äã phát hiá»n Qoder",apiKeyLoginHint:"Bạn cÅ©ng có thá» xác thá»±c trong terminal bằng: codex login --with-api-key",qoderAuthHint:"Kết ná»i sẽ má» ÄÄng nháºp Qoder trong trình duyá»t. Bạn cÅ©ng có thá» chạy qodercli login hoặc Äặt QODER_PERSONAL_ACCESS_TOKEN trưá»c khi khá»i Äá»ng backend.",qoderConnect:"Kết ná»i vá»i Qoder",model:"Mô hình tác nhân",modelDefault:"Dùng mặc Äá»nh cá»§a tác nhân",defaultBadge:"Mặc Äá»nh",reasoningEffort:"Mức suy luáºn",reasoningDefault:"Dùng mặc Äá»nh cá»§a mô hình",codexNotFound:"Không tìm thấy runtime Codex. Hãy cà i Äặt qwenpaw[codex] hoặc cung cấp Codex CLI Äá»c láºp.",qoderNotFound:"Không tìm thấy runtime Qoder. Hãy cà i Äặt qwenpaw[qoder] hoặc cung cấp qodercli.",chatSettingsHint:"Chá»n mô hình, mức suy luáºn và quyá»n thá»±c thi trên thanh công cụ Chat.",capabilityTitle:"Khả nÄng QwenPaw",inheritedSkills:"Kỹ nÄng",inheritedMcp:"Máy chá»§ MCP",runtimeInherited:"Kế thừa khi chạy · phiên má»i",notSupported:"Nhà cung cấp không há» trợ",policyCompatibility:"ChÃnh sách MCP",toolAllowlistSupported:"Há» trợ danh sách công cụ cho phép",policyLimited:"Ãp dụng giá»i hạn cá»§a nhà cung cấp",chatModelHint:"Cà i Äặt theo tác nhân · áp dụng từ lượt tiếp theo",appliesNextTurn:"Ãp dụng từ lượt tiếp theo",approvalMode:"Quyá»n thá»±c thi",approvalPresets:{ask:{name:"Há»i trưá»c khi thay Äá»i",description:"Cho phép thay Äá»i không gi
199an là m viá»c và há»i trưá»c các thao tác nâng quyá»n."},"read-only":{name:"Chá» Äá»c",description:"Kiá»m tra tá»p mà không thay Äá»i."},workspace:{name:"Truy cáºp không gian là m viá»c",description:"Cho phép thay Äá»i không gian là m viá»c mà không cần xác nháºn."},"accept-edits":{name:"Chấp nháºn chá»nh sá»a",description:"Cho phép sá»a tá»p nhưng vẫn giữ các biá»n pháp bảo vá» khác."},plan:{name:"Chá» láºp kế hoạch",description:"Phân tÃch và láºp kế hoạch mà không thay Äá»i tá»p."},auto:{name:"Tá»± Äá»ng",description:"Äá» Qoder quyết Äá»nh hà nh Äá»ng an toà n nà o có thá» chạy."},"full-access":{name:"Toà n quyá»n",description:"Cho phép thá»±c thi cục bá» không giá»i hạn mà không cần xác nháºn."}}},create:"Tạo Agent",createTitle:"Tạo Agent má»i",createSuccess:"Tạo agent thà nh công",createFailed:"Tạo agent thất bại",edit:"Chá»nh sá»a",editTitle:"Chá»nh sá»a Agent â {{name}}",updateSuccess:"Cáºp nháºt agent thà nh công",updateFailed:"Cáºp nháºt agent thất bại",delete:"Xóa",deleteConfirm:"Xác nháºn xóa Agent",deleteConfirmDesc:"Agent sẽ không khả dụng sau khi xóa, nhưng tá»p workspace vẫn ÄÆ°á»£c giữ lại",deleteSuccess:"Xóa agent thà nh công",deleteFailed:"Xóa agent thất bại",selectAgent:"Chá»n Agent",defaultDisplayName:"Agent mặc Äá»nh",currentWorkspace:"Agent hiá»n tại",switchSuccess:"Äã chuyá»n agent thà nh công",switchFailed:"Chuyá»n agent thất bại",enableSuccess:"Äã báºt agent",disableSuccess:"Äã tắt agent",toggleFailed:"Thay Äá»i trạng thái agent thất bại",enableAgent:"Báºt {{name}}",disableAgent:"Tắt {{name}}",disabledAgents:"Äã tắt ({{count}})",pinnedAgents:"Äã ghim",otherAgents:"Trợ lý khác",pinned:"Äã ghim",defaultPinned:"Trợ lý mặc Äá»nh luôn ÄÆ°á»£c ghim",longPressToPin:"Nhấn giữ Äá» ghim",longPressToUnpin:"Nhấn giữ Äá» bá» ghim",pinAgent:"Ghim trợ lý",unpinAgent:"Bá» ghim trợ lý",pinSuccess:"Äã ghim trợ lý",unpinSuccess:"Äã bá» ghim trợ lý",pinFailed:"Không thá» cáºp nháºt trạng thái ghim",status:{disabled:"Äã tắt",pending:"Äang chá» khá»i Äá»ng",starting:"Äang khá»i Äá»ng",running:"Äang chạy",failed:"Khá»i Äá»ng thất bại",waitUntilStarted:"Có thá» thao tác sau khi khá»i Äá»ng xong"},copyTooltip:"Sao chép cấu hình agent",copyDefaultTooltip:"Sao chép dùng agent mặc Äá»nh là m mẫu",copyTitle:"Sao chép cấu hình Agent",copyNameLabel:"Tên agent má»i",copyOptionsLabel:"Ná»i dung sao chép",copyOptionAgentJson:"agent.json (bắt buá»c)",copyOptionAgentJsonHint:"Luôn sao chép cấu hình nguá»n Äã phân tÃch và Äặt lại ID, tên, workspace cùng channels. Äây không phải bản sao từng byte cá»§a agent.json trên ÄÄ©a.",copyOptionMdFiles:"AGENTS / SOUL / PROFILE / HEARTBEAT / BOOTSTRAP.md",copyOptionSkills:"skills/ + manifest",copyOptionJobs:"jobs.json",copyOptionJobsHint:"Chá» sao chép Äá»nh nghÄ©a công viá»c, không gá»m lá»ch sá». Agent má»i sẽ chạy theo lá»ch ngay sau khi tạo.",copySuccess:"Sao chép cấu hình agent thà nh công",copyFailed:"Sao chép cấu hình agent thất bại",mailManagement:"Quản lý email",mailModeNone:"Không cần quản lý email",mailModePersonal:"Quản lý há»p thư cá nhân cá»§a bạn",mailModeDedicated:"Cấp há»p thư riêng cho agent",mailName:"Tên há»p thư",mailNameOptional:"Tên há»p thư (tùy chá»n)",mailDomain:"Tên miá»n email",mailPassword:"Máºt khẩu",mailPhone:"Sá» Äiá»n thoại",mailAuthCode:"Mã á»§y quyá»n 16 ký tá»±",mailNameRequired:"Vui lòng nháºp tên há»p thư",mailPasswordRequired:"Vui lòng nháºp máºt khẩu",mailPhoneRequired:"Vui lòng nháºp sá» Äiá»n thoại",mailAuthCodeRequired:"Vui lòng nháºp mã á»§y quyá»n",mailAuthCodeLength:"Mã á»§y quyá»n phải có 16 ký tá»±",mailDomainRequired:"Vui lòng chá»n tên miá»n email",mailDomainInvalid:"Vui lòng nháºp tên miá»n email hợp lá», và dụ mycompany.com",mailDomainPlaceholder:"Chá»n hoặc nháºp tên miá»n email",mailProvider:"Nhà cung cấp email",mailProviderRequired:"Vui lòng chá»n nhà cung cấp email",mailProviderPlaceholder:"Chá»n nhà cung cấp lưu trữ tên miá»n nà y",mailProviderTencentExmail:"Tencent Exmail",mailProviderAliyunQiye
199:"Alibaba Enterprise Mail",mailProviderNeteaseQiye:"Netease Enterprise Mail",mailCredentialLabel:"Thông tin xác thá»±c",mailCredentialRequired:"Vui lòng nháºp thông tin xác thá»±c",mailCredentialHintAuthCode:"Nháºp mã á»§y quyá»n 16 ký tá»± ÄÆ°á»£c tạo trong cà i Äặt há»p thư",mailCredentialHintGmail:"Nháºp máºt khẩu ứng dụng Gmail (cần báºt xác minh 2 bưá»c)",mailCredentialHintAliyun:"Nháºp máºt khẩu ÄÄng nháºp há»p thư",mailCredentialHintEnterprise:"Nháºp máºt khẩu dà nh riêng cho ứng dụng hoặc máºt khẩu ÄÄng nháºp há»p thư",mailPushTitle:"Tá»± Äá»ng phản há»i email má»i",mailAccessControl:"Kiá»m soát truy cáºp email",mailAccessControlTip:"Khi báºt, email từ ngưá»i gá»i không xác Äá»nh cần ÄÆ°á»£c duyá»t trưá»c khi xá» lý",mailPushModeOff:"Tắt",mailPushModeRulesOnly:"Chá» quy tắc",mailPushModeRulesThenAgent:"Quy tắc + Äánh thức khi cần",mailPushModeAgentAll:"Äánh thức cho má»i email",mailPushModeOffDesc:"Không tá»± Äá»ng xá» lý email má»i",mailPushModeRulesOnlyDesc:"Chá» xá» lý email má»i theo các quy tắc bên dưá»i, không Äánh thức agent",mailPushModeRulesThenAgentDesc:"Ãp dụng quy tắc trưá»c; chá» Äánh thức agent khi khá»p hà nh Äá»ng Äánh thức",mailPushModeAgentAllDesc:"Äánh thức agent cho má»i email má»i và Äá» agent tá»± quyết Äá»nh cách xá» lý",mailPushModeLegacySuffix:" (phiên bản cÅ©)",mailPushFieldFrom:"Ngưá»i gá»i",mailPushFieldSubject:"Tiêu Äá»",mailPushFieldContent:"Ná»i dung",mailPushFieldKeyword:"Từ khóa",mailPushActionMarkRead:"Äánh dấu Äã Äá»c",mailPushActionMove:"Chuyá»n và o thư mục",mailPushActionNotify:"Chá» thông báo",mailPushActionWakeAgent:"Äánh thức agent",mailPushContainsPlaceholder:"Chứa vÄn bản",mailPushParamMovePlaceholder:"Thư mục ÄÃch",mailPushParamWakePlaceholder:"Chá» dẫn bá» sung (tùy chá»n)",mailPushParamRequired:"Vui lòng nháºp thư mục ÄÃch",mailPushAddRule:"Thêm quy tắc",mailPushWakeOptionInvoice:"Tải và lưu trữ tá»p ÄÃnh kèm cá»§a email hóa ÄÆ¡n",mailPushWakeOptionReply:"Trả lá»i lá»ch sá»± email há»i Äáp",mailPushWakeOptionOtp:"TrÃch xuất mã xác minh và thông báo cho tôi",mailPushWakeOptionSummary:"Tóm tắt ná»i dung email và o há»p thư Äến"},dE={parent:"Cà i Äặt",environments:"Biến môi trưá»ng",title:"Biến môi trưá»ng",description:"Cấu hình các biến môi trưá»ng key-value cho agent và kỹ nÄng.",key:"Khóa",value:"Giá trá»",variableNamePlaceholder:"TEN_BIEN",valuePlaceholder:"giá trá»",insertRowBelow:"Thêm dòng bên dưá»i",deleteRow:"Xóa dòng",deleteVariable:"Xóa biến",deleteConfirm:'Xóa "{{name}}"?',deleteSelected:"Xóa Äã chá»n",deleteSelectedConfirm:"Xóa {{label}}?",keyRequired:"Khóa là bắt buá»c",invalidKeyFormat:"Äá»nh dạng khóa không hợp lá»",duplicateKey:"Khóa trùng lặp",saveSuccess:"Äã lưu biến môi trưá»ng",saveFailed:"Lưu thất bại",deleteSuccess:'Äã xóa "{{name}}"',deleteFailed:"Xóa thất bại",noVariables:"Chưa có biến môi trưá»ng nà o.",addVariable:"Thêm biến",loading:"Äang tảiâ¦",retry:"Thá» lại",of:"trong",selected:"Äã chá»n",variable:"biến",variables:"biến",showValue:"Hiá»n giá trá»",hideValue:"Ẩn giá trá»",searchPlaceholder:"Tìm biến",liveSettings:"Cà i Äặt thá»i gian thá»±c",noLiveVariables:"Không có cà i Äặt cáºp nháºt tức thá»i phù hợp vá»i bá» lá»c.",customSettings:"Biến tùy chá»nh",noCustomVariables:"Chưa có biến tùy chá»nh.",editVariable:"Sá»a biến",applyNow:"Ãp dụng ngay",applyHint:"Tiến trình QwenPaw hiá»n tại ÄÆ°á»£c cáºp nháºt ngay. MCP Äang chạy cần ÄÆ°á»£c tải lại.",applied:"Äã áp dụng biến môi trưá»ng",appliedWithFailures:"Äã lưu nhưng {{count}} tiến trình MCP không thá» tải lại",resetVariable:"Äặt lại biến",resetSuccess:"Äã khôi phục giá trá» há» thá»ng hoặc mặc Äá»nh",readonlySettings:"Cà i Äặt chá» Äá»c",noReadonlyVariables:"Không có cà i Äặt chá» Äá»c phù hợp vá»i bá» lá»c.",impactTitle:"Ảnh hưá»ng tá»i tiến trình",explicitConsumers:"{{count}} tiến trình MCP sá» dụng biến nà y trá»±c tiếp",implicitConsumers:"{{count}} tiến trình stdio MCP có thá» kế thừa biến nà y",restartMode:"MCP Äang chạy",restartAffected:"Tải lại MCP bỠảnh hưá»ng",restartNone:"Không tải lại",restartAllStdio:"Tải lại toà n bá» MCP stdio",readonlyReason:{startup:"ÄÆ°á»£c xác Äá»nh khi QwenPaw khá»i Äá»ng",agent_owned:"Do cấu hình cá»§a từng Agent quản lý",initial_default:"Chá» là giá trá» khá»i tạo cấu hình Agent"},mutabilityDescription:{hot_runtime:"ÄÆ°á»£c Äá»c từ tiến trình QwenPaw hiá»n tại khi bắt Äầu má»i thao tác.",hot_process:"Có thá» Äá»c bằng os.getenv() vÃ ÄÆ°á»£c các tiến trình con má»i kế thừa.",startup_only:"Chá» Äá» tham khảo; không thá» sá»a khi QwenPaw Äang chạy.",internal:"Do QwenPaw quản lý ná»i bá»."},variableDescriptions:{QWENPAW_LLM_STREAM_FIRST_CONTENT_TIMEOUT:"Thá»i gian chá» tá»i Äa cho ná»i dung stream Äầu tiên; Äặt 0 Äá» tắt giám sát.",QWENPAW_LLM_STREAM_IDLE_TIMEOUT:"Thá»i gian chá» tá»i Äa giữa các phần stream; Äặt 0 Äá» tắt giám sát."},source:{user:"QwenPaw",system:"Há» thá»ng",default:"Mặc Äá»nh"}},cE={title:"Công cụ tÃch hợp",description:"Quản lý các công cụ tÃch hợp và trạng thái báºt/tắt. Công cụ bá» tắt sẽ không khả dụng vá»i agent.",emptyState:"Chưa có công cụ nà o",loadError:"Tải công cụ thất bại",enableSuccess:"Báºt công cụ thà nh công",disableSuccess:"Tắt công cụ thà nh công",toggleError:"Thay Äá»i trạng thái thất bại",enableAll:"Báºt tất cả",disableAll:"Tắt tất cả",enableAllSuccess:"Äã báºt tất cả công cụ",disableAllSuccess:"Äã tắt tất cả công cụ",allEnabled:"Tất cả công cụ Äã báºt",allDisabled:"Tất cả công cụ Äã tắt",asyncExecution:"Thá»±c thi bất Äá»ng bá»",asyncExecutionEnabled:"Äã báºt thá»±c thi bất Äá»ng bá»",asyncExecutionDisabled:"Äã tắt thá»±c thi bất Äá»ng bá»",browserUnifiedMode:"Trình duyá»t hợp nhất (Beta)",browserLegacyMode:"Chế Äá» tương thÃch cÅ©",browserUnifiedModeButton:"Má»i (Beta)",browserLegacyModeButton:"CÅ© (Tương thÃch)",browserUnifiedDescription:"Sá» dụng các khả nÄng má»i cá»§a trình duyá»t hợp nhất.",browserLegacyDescription:"Sá» dụng bản triá»n khai trình duyá»t gá»c cho hà nh vi cÅ©.",browserRestartPending:"Dá»ch vụ sẽ chuyá»n sang {{mode}} sau khi khá»i Äá»ng lại.",configure:"Cấu hình",configured:"Äã cấu hình",requiresConfig:"Cần cấu hình",configSaved:"Äã lưu cấu hình",configSaveError:"Lưu cấu hình thất bại",webSearchProviderLabel:"Nhà cung cấp",webSearchApiKeyLabel:"Khóa API (tùy chá»n)",
199webSearchQuotaHintBefore:"Miá»
n phà 100 lần gá»i/ngà y. ÄÄng ký tại ",webSearchQuotaHintAfter:" Äá» nháºn 1.000 lần/ngà y.",active:"Äang hoạt Äá»ng",available:"Có sẵn",noEnabled:"Không có công cụ nà o ÄÆ°á»£c báºt",goEnableBtn:"Báºt ngay",configureAction:"Cấu hình â",enableAction:"Báºt â"},uE={title:"MCP Client",qwenpawManaged:"Do QwenPaw quản lý",qwenpawManagedHint:"Cấu hình dùng chung ÄÆ°á»£c ÄÆ°a và o các Agent bên thứ ba ÄÆ°á»£c há» trợ khi chạy.",providerManaged:"MCP cục bá» cá»§a {{provider}}",providerManagedHint:"ÄÆ°á»£c phát hiá»n từ cấu hình riêng cá»§a tác nhân bên thứ ba; chá» Äá»c và chá» dùng cho tác nhân Äó.",providerOnly:"Chá» tác nhân bên thứ ba",readOnly:"Chá» Äá»c",create:"Tạo client",formatSupport:"Äá»nh dạng há» trợ",standardFormat:"Chuẩn (mcpServers wrapper)",directFormat:"Trá»±c tiếp (key â config object)",singleFormat:"Client ÄÆ¡n (các trưá»ng phẳng)",emptyState:"Chưa có MCP client nà o",loadError:"Tải MCP client thất bại",createSuccess:"Tạo MCP client thà nh công",createError:"Tạo MCP client thất bại",updateSuccess:"Cáºp nháºt MCP client thà nh công",updateError:"Cáºp nháºt MCP client thất bại",enableSuccess:"Báºt MCP client thà nh công",disableSuccess:"Tắt MCP client thà nh công",toggleError:"Thay Äá»i trạng thái thất bại",deleteConfirm:"Bạn có chắc muá»n xóa MCP client nà y không?",deleteSuccess:"Xóa MCP client thà nh công",deleteError:"Xóa MCP client thất bại",maskedFieldHint:"Các trưá»ng nhạy cảm ÄÆ°á»£c ẩn bằng ***. Chá»nh sá»a trá»±c tiếp không ÄÆ°á»£c há» trợ â thay thế bằng giá trá» má»i.",tools:"Công cụ & Quyá»n",noTools:"Không có công cụ nà o từ máy chá»§ MCP nà y",toolsLoadError:"Tải danh sách công cụ từ máy chá»§ MCP thất bại",toolsConnecting:"Máy chá»§ MCP Äang kết ná»i, vui lòng thá» lại sau",toolSchema:"Mô tả & Tham sá»"},pE={searchPlaceholder:"Tìm kiếm kỹ nÄng trên các ná»n tảng",categoryAll:"Tất cả",providerUnavailable:"Nhà cung cấp không khả dụng",noResults:"Không có kết quả",startTyping:"Nháºp từ khóa Äá» tìm kiếm",noDescription:"Chưa có mô tả",browseMarket:"Duyá»t chợ kỹ nÄng",installQueue:"Hà ng Äợi cà i Äặt",clearCompleted:"Xóa hoà n thà nh",retry:"Thá» lại",status:{queued:"Äang chá»",installing:"Äang cà i Äặt",completed:"Hoà n thà nh",failed:"Thất bại",cancelled:"Äã há»§y"},loadMore:"Tải thêm",noMoreResults:"Không còn kết quả",detail:{title:"Chi tiết kỹ nÄng",version:"Phiên bản",author:"Tác giả",sourceUrl:"URL cà i Äặt",slug:"Slug",missing:"â"},stats:{downloads:"Lượt tải",stars:"Sao",installs:"Lượt cà i Äặt",likes:"Lượt thÃch",views:"Lượt xem",category:"Danh mục",updatedAt:"Cáºp nháºt"},categoryPlaceholder:"Tìm danh mục"},mE={title:"Thá»ng kê Agent",totalSessions:"Tá»ng phiên",totalMessages:"Tá»ng tin nhắn",userMessages:"Tin nhắn ngưá»i dùng",assistantMessages:"Tin nhắn trợ lý",promptTokens:"Token Äầu và o",totalInputTokens:"Tá»ng token Äầu và o",completionTokens:"Token Äầu ra",toolCalls:"Lá»i gá»i công cụ",newSessions:"Phiên má»i",activeSessions:"Phiên Äang hoạt Äá»ng",messageTrend:"Xu hưá»ng tin nhắn",sessionTrend:"Xu hưá»ng phiên",tokenTrend:"Xu hưá»ng token",llmAndToolTrend:"Xu hưá»ng LLM & công cụ",llmAndToolTrendTooltip:"Xu hưá»ng lượt LLM cá»§a agent hiá»n tại so vá»i ý Äá»nh dùng công cụ",sessionsByChannel:"Phiên theo kênh",messagesByChannel:"Tin nhắn theo kênh",currentAgentLlmCalls:"Lượt Äã ghi nháºn",currentAgentTokenTrendTooltip:"Xu hưá»ng token Äầu và o, Äầu ra và trúng cache từ metadata theo lượt cá»§a agent hiá»n tại; token trúng cache là má»t phần cá»§a token Äầu và o",currentAgentPromptTokensTooltip:"Tá»ng token Äầu và o cá»§a agent hiá»n tại trên các phiên trong khoảng thá»i gian Äã chá»n (cần metadata sá» dụng theo lượt; phiên cÅ© có thá» hiá»n thá» 0)",currentAgentCacheHitRateTooltip:"Tá»· lá» trúng cache có trá»ng sá» theo token cho các lượt cache quan sát ÄÆ°á»£c cá»§a agent hiá»n tại trong khoảng thá»i gian Äã chá»n (token trúng cache / token Äầu và o Äá»§ Äiá»u kiá»n; â khi không có dữ liá»u)",currentAgentCompletionTokensTooltip:"Tá»ng token Äầu ra cá»§a agent hiá»n tại trên các phiên trong khoảng thá»i gian Äã chá»n (cần metadata sá» dụng theo lượt; phiên cÅ© có thá» hiá»n thá» 0)",currentAgentLlmCallsTooltip:"Sá» lượt trợ lý có metadata sá» dụng Äã ghi nháºn cá»§a agent hiá»n tại (không phải sá» lá»i gá»i API thô; phiên cÅ© có thá» hiá»n thá» 0)"},hE={placeholder:"Chá»n mô hình",searchPlaceholder:"Tìm kiếm mô hình...",noModels:"Không có mô hình nà o",loading:"Äang tải mô hình...",error:"Tải mô hình thất bại",default:"Mặc Äá»nh",custom:"Tùy chá»nh",refresh:"Là m má»i danh sách mô hình"},gE={title:"Cấu hình mô hình",temperature:"Nhiá»t Äá»",maxTokens:"Token tá»i Äa",topP:"Top P",reset:"Äặt lại mặc Äá»nh",save:"Lưu cấu hình",saveSuccess:"Äã lưu cấu hình mô hình",saveFailed:"Lưu cấu hình thất bại"},fE={title:"Lượng Token",description:"Theo dõi lượng token Äã sá» dụng theo thá»i gian.",promptTokens:"Token Äầu và o",completionTokens:"Token Äầu ra",totalTokens:"Tá»ng token",totalCalls:"Lượt gá»i LLM",toolCalls:"Lá»i gá»i công cụ",llmAndToolTrend:"Xu hưá»ng LLM & công cụ",llmAndToolTrendTooltip:"Lượt trợ lý có metadata sá» dụng cá»ng ý Äá»nh gá»i công cụ trên má»i agent. Không phải Total Calls (API thô); phiên cÅ© có thá» 0 lượt ghi nháºn.",llmAndToolTrendLoadFailed:"Không tải ÄÆ°á»£c xu hưá»ng LLM & công cụ",recordedTurnsAllAgents:"Lượt gá»i LLM",byAgent:"Theo Agent",agent:"Agent",unattributed:"Chưa gán",cacheRead:"Token trúng bá» nhá» Äá»m",cacheHitRate:"Tá»· lá» trúng bá» nhá» Äá»m",noData:"Chưa có dữ liá»u",period:"Khoảng thá»i gian"},bE={title:"Yêu cầu phê duyá»t bảo máºt",description:"Agent Äang yêu
199cầu phê duyá»t Äá» thá»±c thi hà nh Äá»ng sau:",approve:"Phê duyá»t",deny:"Từ chá»i",approveSuccess:"Äã phê duyá»t",denySuccess:"Äã từ chá»i",expired:"Yêu cầu Äã hết hạn",tool:"Công cụ",arguments:"Tham sá»",approvePattern:"Luôn Cho Phép",strictModeHint:"Luôn cho phép không khả dụng trong chế Äá» nghiêm ngặt",approveExact:"Chá» Lần Nà y",approvalScope:"Phạm vi phê duyá»t",details:"Chi tiết",ownerAgent:"Agent Chá»§ Sá» Hữu",executingAgent:"Agent Äang Thá»±c Thi",severity:"Mức Äá» Nghiêm Trá»ng",findings:"Phát Hiá»n",parameters:"Tham Sá»",source:"Nguá»n",builtinSource:"TÃch Hợp",subSession:"Sub-Agent",approved:"Äã phê duyá»t lá»nh gá»i công cụ",denied:"Äã từ chá»i lá»nh gá»i công cụ",approveFailed:"Không thá» phê duyá»t",denyFailed:"Không thá» từ chá»i",timeoutAutoDenied:"Hết thá»i gian, tá»± Äá»ng từ chá»i",acknowledge:"Äã Hiá»u"},kE={error:{SENSITIVE_FILE_BLOCKED:"File bá» chặn bá»i File Guard (bảo vá» file nhạy cảm).",OUTSIDE_WORKSPACE:'File nằm ngoà i phạm vi workspace. Báºt "Cho phép xem trưá»c ngoà i Workspace" trong Cà i Äặt â Bảo máºt â File Guard.',FORBIDDEN:"Truy cáºp bá» từ chá»i: không Äá»§ quyá»n Äá» xem trưá»c file nà y.",NOT_FOUND:"Không tìm thấy file, có thá» Äã bá» di chuyá»n hoặc xóa. Nếu Äang dùng ÄÆ°á»ng dẫn tương Äá»i, hãy thá» dùng ÄÆ°á»ng dẫn tuyá»t Äá»i.",LOAD_FAILED:"Không thá» tải xem trưá»c file.",LOAD_FAILED_DETAIL:"Không thá» tải xem trưá»c file: {{detail}}",UNKNOWN:"Không thá» xem trưá»c file nà y."}},yE={title:"Quản lý Plugin",description:"Cà i Äặt, quản lý và gỡ cà i plugin mà không cần khá»i Äá»ng lại dá»ch vụ.",installed:"Plugin Äã cà i Äặt",marketTitle:"Thá» trưá»ng Plugin",noPlugins:"Chưa có plugin nà o ÄÆ°á»£c cà i Äặt",installBtn:"Cà i Äặt Plugin",publishBtn:"Xuất bản Plugin",installTitle:"Cà i Äặt Plugin",dropPrimary:"Thả thư mục hoặc file ZIP và o Äây",dropSecondary:"hoặc nhấn Äá» chá»n file ZIP",orFromUrl:"hoặc từ URL",installFromUrl:"Cà i Äặt từ URL",urlPlaceholder:"https://example.com/plugin.zip",zipOnly:"Chá» file ZIP có thá» kéo thả â kéo thư mục Äá» cà i Äặt theo thư mục",dropFailed:"Äá»c thư mục thất bại",restartHint:"Má»t sá» plugin (hooks, monkey-patches) có thá» yêu cầu khá»i Äá»ng lại ứng dụng Äá» có hiá»u lá»±c.",installing:"Äang cà i Äặt...",installSuccess:"Cà i Äặt plugin thà nh công",installFailed:"Cà i Äặt plugin thất bại",uninstall:"Gỡ cà i Äặt",uninstallConfirm:'Gỡ cà i Äặt plugin "{{name}}"?',uninstallSuccess:"Gỡ cà i Äặt thà nh công",uninstallFailed:"Gỡ cà i Äặt thất bại",enabled:"Äã báºt",disabled:"Äã tắt",version:"Phiên bản",author:"Tác giả",noMatchingPlugins:"Không có plugin nà o khá»p vá»i bá» lá»c hiá»n tại",loadError:"Tải plugin thất bại"},vE={title:"Chế Äá» Láºp trình",experimental:"TÃnh nÄng thá» nghiá»m",experimentalDesc:"Chế Äá» Láºp trình biến QwenPaw thà nh má»t Web IDE nhẹ vá»i trình soạn thảo code, cây thư mục, tÃch hợp Git và há» trợ láºp trình bằng AI.",experimentalNote:"TÃnh nÄng nà y Äang thá» nghiá»m và có thá» thay Äá»i trong các bản cáºp nháºt sau.",confirmBtn:"Xác nháºn",enterTooltip:"Và o Chế Äá» Láºp trình",exitTooltip:"Thoát Chế Äá» Láºp trình",btnCode:"Code",btnChat:"Trò chuyá»n",selectProject:"Chá»n thư mục dá»± án",selectProjectDesc:"Chá»n dá»± án Äá» là m viá»c, hoặc dùng workspace mặc Äá»nh",tabWorkspace:"Workspace mặc Äá»nh",tabClone:"Clone repository",tabLocal:"Import dá»± án cục bá»",tabNew:"Dá»± án má»i",workspaceDesc:"Dùng thư mục workspace cá»§a agent hiá»n tại",cloneUrl:"URL Git Repository",cloneUrlPlaceholder:"https://github.com/user/repo.git",cloneName:"Tên dá»± án (tùy chá»n)",openDirDesc:"Má» thư mục cục bá» hiá»n có â không sao chép tá»p",openDirBtn:"Má» Thư Mục Nà y",openDirLoading:"Äang tải...",openDirEmpty:"Không có thư mục con",openDirHome:"Trang chá»§",openDirRefresh:"Là m má»i",openDirHiddenFolders:"Thư mục ẩn"},TE={title:"Tá»p",navigator:"Trình duyá»t tá»p",source:"Nguá»n",workspace:"Workspace",profile:"Há» sÆ¡",memory:"Bá» nhá» dà i hạn",daily:"Nháºt ký",digest:"CÆ¡ sá» kiến thức",memoryGraph:"Äá» thá» bá» nhá»",memoryGraphShort:"Äá» thá»",memoryGraphLoading:"Äang tải Äá» thá» bá» nhá»â¦",memoryGraphLoadFailed:"Không thá» tải Äá» thá» bá» nhá».",memoryGraphCounts:"{{nodes}} nút · {{edges}}
199 liên kết",memoryGraphEmpty:"Chưa có liên kết bá» nhá» nà o ÄÆ°á»£c láºp chá» mục.",memoryGraphZoomOut:"Thu nhá»",memoryGraphZoomIn:"Phóng to",memoryGraphFit:"Vừa Äá» thá»",memoryGraphRoot:"Nút gá»c",memoryGraphRootDirect:"Tá»p trá»±c tiếp",memoryGraphOtherFile:"Tá»p khác",memoryGraphIndexed:"Tá»p Äã láºp chá» mục",memoryGraphUnresolved:"Liên kết chưa phân giải",memoryGraphDirection:"Hưá»ng liên kết Wiki",memoryGraphOpenFile:"Má» Markdown",memoryGraphOutbound:"Liên kết ra · {{count}}",memoryGraphInbound:"Liên kết và o · {{count}}",projectDirectory:"Thư mục dá»± án",workspaceDirectory:"Thư mục cấu hình",switchRoot:"Chuyá»n thư mục",manageDirs:"Quản lý thư mụcâ¦",primaryRoot:"ChÃnh",rootMissing:"Thiếu",rootsPending:"{{count}} thư mục khác sẽ khả dụng sau tin nhắn Äầu tiên",sourceEmpty:"Nguá»n nà y chưa có tá»p.",loadMore:"Tải 200 mục tiếp theo",upload:"Tải tá»p lên",conflictPolicy:"ChÃnh sách xung Äá»t tải lên",conflictRename:"Giữ cả hai",conflictRenameDescription:"Thêm sá» và o tên file má»i và giữ nguyên file hiá»n có.",conflictSkip:"Giữ file hiá»n có",conflictSkipDescription:"Bá» qua file má»i bá» trùng và tiếp tục tải các file còn lại.",conflictOverwrite:"Dùng file má»i",conflictOverwriteDescription:"Thay file hiá»n có bằng file má»i.",uploadConflictTitle:"Phát hiá»n file trùng tên",uploadConflictDescription:"Các file sau Äã tá»n tại: {{files}}. Hãy chá»n cách xá» lý.",promptToggle:"Báºt hoặc tắt {{name}} trong prompt há» thá»ng",addSystemPrompt:"Thêm từ workspace",addSystemPromptTitle:"Thêm tá»p prompt há» thá»ng",addSystemPromptDescription:"Chá»n má»t tá»p Markdown trong workspace Äá» ÄÆ°a và o prompt há» thá»ng.",searchSystemPromptFiles:"Tìm tá»p Markdown trong workspace",noSystemPromptCandidates:"Không có tá»p phù hợp.",sourceControl:"Quản lý mã nguá»n",preview:"Preview",edit:"Chá»nh sá»a",selectFile:"Chá»n tá»p Äá» má»",closeTab:"Äóng tab",closeOtherTabs:"Äóng các tab khác",closeAllTabs:"Äóng tất cả tab",openFiles:"Tá»p Äang má», {{count}}",openFilesLabel:"Tá»p Äang má»",openFileCount:"Äang má» {{count}}",searchOpenFiles:"Tìm theo tá»p hoặc ÄÆ°á»ng dẫn",noOpenFilesFound:"Không có tá»p Äang má» phù hợp",scrollTabsLeft:"Cuá»n tab sang trái",scrollTabsRight:"Cuá»n tab sang phải",agentChangedFile:"Agent Äã thay Äá»i tá»p nà y",keep:"Giữ",keepAll:"Giữ tất cả",undo:"Hoà n tác",undoAll:"Hoà n tác tất cả",copySelectionToChat:"Sao chép vùng chá»n và o Chat",copyFileToChat:"Sao chép tá»p và o Chat",previewSize:"Preview · {{size}} byte",backToPreview:"Quay lại Preview",download:"Tải xuá»ng",downloadFailed:"Không thá» tải tá»p xuá»ng",resize:"Äá»i kÃch thưá»c ngÄn tá»p",loadFailed:"Không thá» tải tá»p. Hãy kiá»m tra tá»p vẫn nằm trong thư mục là m viá»c chÃnh cá»§a không gian là m viá»c tác nhân hiá»n tại.",previewUnavailable:"Không thá» Preview. Siêu dữ liá»u và tải xuá»ng vẫn khả dụng.",mentionInChat:"Äá» cáºp trong Chat",expandWorkspace:"Má» rá»ng workspace",openWorkspace:"Má» workspace",closeWorkspace:"Äóng workspace"},SE={agentTitle:"Thư mục dá»± án cá»§a tác nhân",sessionTitle:"Thư mục dá»± án cá»§a phiên",pathPlaceholder:"Nháºp ÄÆ°á»ng dẫn thư mục tuyá»t Äá»i",recentProjects:"Dá»± án gần Äây",browseDirectory:"Duyá»t thư mục",noRecentProjects:"Chưa có dá»± án gần Äây",clearSelection:"Xóa dá»± án Äã chá»n",homeDirectory:"Thư mục chÃnh",parentDirectory:"Thư mục cha",refreshDirectory:"Là m má»i thư mục",restoreDefault:"Khôi phục mặc Äá»nh",createDirectory:"Tạo thư mục má»i",directoryNamePlaceholder:"Nháºp tên thư mục",createDirectoryFailed:"Không thá» tạo thư mục",useWorkspace:"Sá» dụng thư mục cấu hình",createSessionHint:"Gá»i tin nhắn Äầu tiên Äá» Äặt thư mục riêng cho phiên.",sessionSource:"Phiên",agentSource:"Tác nhân",makePrimary:"Äặt là m chÃnh",remove:"Xóa",add:"Thêm",boundDirs:"Thư mục dá»± án Äã thêm",primaryHint:"Các lá»nh và lá»i gá»i công cụ chạy trong thư mục chÃnh theo mặc Äá»nh.",primaryTag:"ChÃnh",unbound:"Chưa liên kết thư mục",unavailable:"Không tá»n tại",alreadyBound:"Äã liên kết",tooMany:"Chá» có thá» liên kết tá»i Äa {{max}} thư mục.",countTitle:"Sá» thư mục Äã buá»c"},CE=JSON.parse('{"title":"Cấu hình","projectDirectoryTitle":"Thư mục dá»± án mặc Äá»nh","projectDirectoryDescription":"Thư mục mặc Äá»nh dùng cho tá»p và lá»n
199h.","projectDirectoryDefault":"Mặc Äá»nh cá»§a tác nhân","changeProjectDirectory":"Äá»i thư mục","projectDirectoryWorkspaceFallback":"Äang dùng workspace cá»§a tác nhân","enhancedCodeCapability":"TÄng cưá»ng khả nÄng láºp trình","enhancedCodeCapabilityTooltip":"Thêm công cụ mã mà không Äá»i thư mục dá»± án.","enhancedCodeCapabilityDescription":"Báºt AST, LSP, prompt mã, ngữ cảnh Git và quản lý mã nguá»n.","description":"Cấu hình các tham sá» runtime cá»§a agent","visualCompactCollapseLabel":"Nén trá»±c quan","visualCompactDescription":"Nén ngữ cảnh cÅ© và dà i thà nh các trang trá»±c quan Äá» giảm token Äầu và o. Há»i thoại gần Äây vẫn á» dạng vÄn bản.","visualCompactEnabled":"Báºt Visual Compact","visualCompactEffort":"Mức Äá» nén","visualCompactLow":"Thấp","visualCompactMedium":"Trung bình","visualCompactHigh":"Cao","visualCompactLowDescription":"Nén Ãt ná»i dung hÆ¡n và ưu tiên khả nÄng Äá»c.","visualCompactMediumDescription":"Cân bằng mức tiết kiá»m token vá»i khả nÄng Äá»c hình ảnh.","visualCompactHighDescription":"Nén nhiá»u ngữ cảnh phù hợp hÆ¡n và ưu tiên tiết kiá»m token.","visualCompactQualityNote":"Mức nén cao hÆ¡n không nhất thiết cải thiá»n chất lượng câu trả lá»i.","visualCompactCapabilityNote":"Chá» có hiá»u lá»±c vá»i các mô hình há» trợ Äầu và o hình ảnh.","reactAgentTitle":"ReAct Agent","llmRetryTitle":"Tá»± Äá»ng thá» lại LLM","llmRetryEnabled":"Báºt tá»± Äá»ng thá» lại","llmRetryEnabledTooltip":"Tá»± Äá»ng thá» lại khi LLM gặp lá»i tạm thá»i như giá»i hạn tá»c Äá», timeout hoặc lá»i kết ná»i.","llmMaxRetries":"Sá» lần thá» lại tá»i Äa","llmMaxRetriesPlaceholder":"Nháºp sá» lần thá» lại","llmMaxRetriesRequired":"Bắt buá»c
199nháºp sá» lần thá» lại","llmMaxRetriesMin":"Phải Ãt nhất 1 lần","llmBackoffBase":"Äá» trá»
cÆ¡ sá» (giây)","llmBackoffBaseTooltip":"Äá» trá»
trưá»c lần thá» lại Äầu tiên. Các lần sau tÄng theo cấp sá» nhân.","llmBackoffBasePlaceholder":"Nháºp Äá» trá»
cÆ¡ sá»","llmBackoffBaseRequired":"Bắt buá»c","llmBackoffBaseMin":"Phải Ãt nhất 0.1 giây","llmBackoffCap":"Äá» trá»
tá»i Äa (giây)","llmBackoffCapTooltip":"Giá»i hạn tá»i Äa cho Äá» trá»
thá» lại theo cấp sá» nhân.","llmBackoffCapPlaceholder":"Nháºp Äá» trá»
tá»i Äa","llmBackoffCapRequired":"Bắt buá»c","llmBackoffCapMin":"Phải Ãt nhất 0.5 giây","llmBackoffCapGteBase":"Äá» trá»
tá»i Äa phải lá»n hÆ¡n hoặc bằng Äá» trá»
cÆ¡ sá»","llmRateLimiterTitle":"Giá»i hạn tá»c Äá» LLM","llmMaxConcurrent":"Sá» lá»i gá»i Äá»ng thá»i tá»i Äa","llmMaxConcurrentTooltip":"Sá» lá»i gá»i LLM ÄÆ°á»£c phép chạy Äá»ng thá»i. Dùng chung cho tất cả agent.","llmMaxConcurrentPlaceholder":"Nháºp sá» lá»i gá»i Äá»ng thá»i","llmMaxConcurrentRequired":"Bắt buá»c","llmMaxConcurrentRange":"Phải Ãt nhất 1","llmMaxQpm":"QPM tá»i Äa (Yêu cầu/phút)","llmMaxQpmTooltip":"Sá» yêu cầu tá»i Äa trong 60 giây. Yêu cầu vượt quá sẽ chá». 0 = không giá»i hạn.","llmMaxQpmPlaceholder":"Nháºp QPM tá»i Äa (0 = không giá»i hạn)","llmMaxQpmRequired":"Bắt buá»c","llmMaxQpmRange":"Phải Ãt nhất 0","llmRateLimitPause":"Thá»i gian tạm dừng khi bá» giá»i hạn (giây)","llmRateLimitPauseTooltip":"Thá»i gian tạm dừng khi nháºn lá»i 429. Bá» ghi Äè bá»i header Retry-After cá»§a API nếu có.","llmRateLimitPausePlaceholder":"Nháºp thá»i gian tạm dừng","llmRateLimitPauseRequired":"Bắt buá»c","llmRateLimitPauseMin":"Phải Ãt nhất 1 giây","llmRateLimitJitter":"Jitter (giây)","llmRateLimitJitterTooltip":"Thêm Äá» trá»
ngẫu nhiên Äá» tránh nhiá»u yêu cầu Äá»ng loạt sau khi tạm dừng.","llmRateLimitJitterPlaceholder":"Nháºp khoảng jitter","llmRateLimitJitterRequired":"Bắt buá»c","llmRateLimitJitterMin":"Phải Ãt nhất 0 giây","llmAcquireTimeout":"Timeout chá» slot (giây)","llmAcquireTimeoutTooltip":"Thá»i gian tá»i Äa chá» Äá» lấy slot từ rate limiter trưá»c khi báo lá»i.","llmAcquireTimeoutPlaceholder":"Nháºp timeout","llmAcquireTimeoutRequired":"Bắt buá»c","llmAcquireTimeoutMin":"Phải Ãt nhất 10 giây","llmAcquireTimeoutGtPauseJitter":"Timeout phải lá»n hÆ¡n tá»ng thá»i gian tạm dừng và jitter","contextManagementTitle":"Quản lý ngữ cảnh","memoryManagerBackend":"Backend quản lý bá» nhá» dà i hạn","memoryManagerBackendTooltip":"Chá»n remelight (tá»p cục bá»), adbpg (cÆ¡ sá» dữ liá»u Äám mây), PowerContext (dá»ch vụ bá» nhá» từ xa), hoặc none (tắt bá» nhá»).","memoryManagerBackendRestartWarning":"Äá»i backend quản lý bá» nhá» dà i hạn yêu cầu khá»i Äá»ng lại QwenPaw.","powercontextMemoryTitle":"Bá» nhá» PowerContext","powercontextConfig":{"title":"Cấu hình bá» nhá» PowerContext","baseUrl":"URL máy chá»
199§","token":"Bearer Token","scopeId":"Phạm vi bá» nhá»","scopeIdPlaceholder":"Äá» trá»ng Äá» sá» dụng phạm vi tác nhân riêng cá»§a bản cà i Äặt nà y","scopeIdInvalid":"Phạm vi bá» nhá» không ÄÆ°á»£c chá» chứa khoảng trắng.","timeout":"Thá»i gian chá» yêu cầu","maxContextBytes":"Ngữ cảnh ÄÆ°á»£c chèn tá»i Äa (byte)","maxContextBytesTooltip":"Giá»i hạn tá»ng lượng kết quả tìm kiếm PowerContext ÄÆ°á»£c thêm và o má»t lượt mô hình."},"maxIters":"Sá» vòng lặp tá»i Äa","maxItersTooltip":"Sá» vòng lặp suy luáºn-hà nh Äá»ng tá»i Äa cá»§a ReAct agent","maxItersPlaceholder":"Nháºp sá» vòng lặp","maxItersRequired":"Bắt buá»c","maxItersMin":"Phải Ãt nhất 1","agentLoopTitle":"Cà i Äặt Loop Agent","loopMode":{"builtIn":"TÃch hợp","builtInNote":"Pipeline Äã khóa · Có thá» sá»a giá trá»","templateSectionTitle":"Mẫu Loop","templateSectionDescription":"Chá»n mẫu tÃch hợp hoặc thêm mẫu cá»§a riêng bạn.","defaultTab":"Mặc Äá»nh","goalTab":"Mục tiêu","missionTab":"Nhiá»m vụ","defaultDescription":"Loop ReAct ÄÆ°á»£c bảo vá» tiêu chuẩn ngoà i chế Äá» cụ thá».","goalDescription":"Loop liên tục có giá»i hạn cho mục tiêu có thá» xác minh.","missionDescription":"Pipeline liên tục cho nhiá»m vụ dà i và nhiá»u bưá»c.","gatePipeline":"Pipeline Gate","repetitionTitle":"Bảo vá» khá»i lặp lại","repetitionDescription":"Phát hiá»n lá»nh gá»i công cụ lặp lại và can thiá»p.","iterationTitle":"Giá»i hạn vòng lặp","iterationDescription":"Giá»i hạn sá» vòng lặp ReAct.","retryTitle":"Kiá»m tra hoà n thà nh Äá»nh tÃnh","retryDescription":"Chá» kÃch hoạt khi agent trả lá»i bằng vÄn bản mà không gá»i công cụ.","goalTurnTitle":"Giá»i hạn lượt mục tiêu","goalTurnDescription":"Giá»i hạn lượt trong má»t mục tiêu Äang hoạt Äá»ng.","maxGoalTurns":"Sá» lượt mục tiêu tá»i Äa","goalBudgetTitle":"Ngân sách token mục tiêu","goalBudgetDescription":"Dừng khi toà n bá» mục tiêu Äạt ngân sách.","maxGoalTokens":"Sá» token mục tiêu tá»i Äa","goalCompletionTitle":"Kiá»m tra hoà n thà nh mục tiêu","goalCompletionDescription":"Äá»c trạng thái mục tiêu rõ rà ng trưá»c khi dừng.","goalCompletionReadOnly":"Viá»c hoà n thà nh do giao thức trạng thái mục tiêu tÃch hợp kiá»m soát.","missionProgressTitle":"Kiá»m tra tiến Äá» nhiá»m vụ","missionProgressDescription":"Tiếp tục Äến khi má»i câu chuyá»n Äạt hoặc chạm giá»i hạn.","missionProgressReadOnly":"Viá»c hoà n thà nh do trạng thái Mission Story tÃch hợp kiá»m soát.","missionIterationTitle":"Giá»i hạn vòng lặp Mission","missionIterationDescription":"Äặt giá»i hạn thá»±c thi mặc Äá»nh cho Mission má»i.","workerAttemptsTitle":"Sá» lần Worker thá»","workerAttemptsDescription":"Giá»i hạn sá» lần Worker thá» lại sau khi Story không Äạt xác minh.","missionVerificationTitle":"ChÃnh sách xác minh Mission","missionVerificationDescription":"Äặt hưá»ng dẫn xác minh và lá»nh kiá»m thá» mặc Äá»nh.","defaultMaxMissionIterations":"Sá» vòng thá»±c thi tá»i Äa mặc Äá»nh","defaultMaxMissionIterationsTooltip":"Dùng khi /mission không chá» Äá»nh --max-iterations.","maxRetriesPerStory":"Sá» lần thá» lại tá»i Äa cho má»i Story","maxRetriesPerStoryTooltip":"Sá» lần Worker thá» lại sau kết quả FAIL hoặc PARTIAL từ Verifier.","defaultVerificationInstructions":"Hưá»ng dẫn xác minh (tùy chá»n)","defaultVerificationInstructionsHelp":"Hưá»ng dẫn bằng ngôn ngữ tá»± nhiên áp dụng cho má»i Mission Verifier.","defaultVerificationInstructionsPlaceholder":"Và dụ: kiá»m tra xá» lý ÄÆ°á»ng dẫn Windows và giao diá»n Äã kết xuất.","defaultVerifyCommand":"Lá»nh kiá»m thá» mặc Äá»nh (tùy chá»n)","defaultVerifyCommandHelp":"Verifier thá» chạy bằng công cụ và quyá»n thông thưá»ng. /mission --verify sẽ ghi Äè.","defaultVerifyCommandPlaceholder":"Và dụ: pytest -q","enableRepetitionProtection":"Báºt bảo vá» khá»i lặp lại","removeRule":"Xóa quy tắc","custom"
199:"Tùy chá»nh","customDescription":"Tạo pipeline Äã lưu từ các Gate tÃch hợp cá»§a QwenPaw.","duplicate":"Nhân bản","delete":"Xóa","displayName":"Tên hiá»n thá»","duplicateModeName":"Äã tá»n tại chế Äá» Loop có tên nà y.","slashCommand":"Lá»nh slash","description":"Mô tả","availableToAgent":"Khả dụng cho agent nà y","runsTopToBottom":"Chạy từ trên xuá»ng dưá»i","addGate":"Thêm Gate","emptyPipeline":"Thêm Ãt nhất má»t Gate Äá» chế Äá» nà y khả dụng.","iterationGateTitle":"Giá»i hạn vòng lặp","iterationGateDescription":"Dừng sau má»t sá» vòng Loop cá» Äá»nh.","doomGateTitle":"Bảo vá» khá»i lặp lại","doomGateDescription":"Phát hiá»n lá»nh gá»i lặp lại và Äá»i chiến lược.","tokenGateTitle":"Ngân sách token","tokenGateDescription":"Giá»i hạn token Äầu và o và Äầu ra.","timeoutGateTitle":"Giá»i hạn thá»i gian Loop","timeoutGateDescription":"Dừng á» ranh giá»i Loop tiếp theo sau khi hết thá»i gian, không ngắt công viá»c Äang chạy.","toolBudgetGateTitle":"Ngân sách gá»i công cụ","toolBudgetGateDescription":"Giá»i hạn tất cả lá»nh gá»i và công cụ Äã chá»n.","retryGateTitle":"Thá» lại khi dừng sá»m","retryGateDescription":"Nhắc agent xác minh trưá»c khi kết thúc.","rubricGateTitle":"Tiêu chà hoà n thà nh","rubricGateDescription":"Äánh giá tiêu chà rõ rà ng và sá»a khi cần.","qualitativeRubricTitle":"Kiá»m tra hoà n thà nh Äá»nh tÃnh","qualitativeRubricDescription":"Kiá»m tra phản há»i vÄn bản không có lá»nh gá»i công cụ bằng tiêu chà ngôn ngữ tá»± nhiên.","qualitativeRubric":"Tiêu chà hoà n thà nh bằng ngôn ngữ tá»± nhiên","qualitativeRubricHelp":"Chá» kÃch hoạt vá»i phản há»i vÄn bản không có lá»nh gá»i công cụ; agent tiếp tục nếu còn viá»c.","completionRubricTitle":"Kiá»m tra tÃn hiá»u hoà n thà nh","completionRubricDescription":"Kiá»m tra tÃn hiá»u hoà n thà nh trong phản há»i vÄn bản không có lá»nh gá»i công cụ.","completionRubricHelp":"ÄÆ°á»£c kÃch hoạt sau phản há»i vÄn bản không có lá»nh gá»i công cụ. Agent xuất tÃn hiá»u hoà n thà nh khi xong; nếu chưa, agent tiếp tục là m viá»c cho Äến khi Äạt sá» vòng Äánh giá tá»i Äa.","completionPrompt":"Prompt kiá»m tra hoà n thà nh","completionPromptHelp":"Mô tả khi nà o kết quả ÄÆ°á»£c xem là hoà n thà nh. QwenPaw tá»± Äá»ng chèn hưá»ng dẫn xuất tÃn hiá»u hoà n thà nh.","completionSignal":"TÃn hiá»u hoà n thà nh","completionSignalHelp":"QwenPaw chèn tÃn hiá»u nà y và yêu cầu chá» xuất tÃn hiá»u Äó và o prompt kiá»m tra. Loop chá» kết thúc khi khá»p toà n bá» sau khi bá» khoảng trắng và không phân biá»t hoa thưá»ng.","removeCriterion":"Xóa tiêu chà {{number}}","totalTokensHelp":"Giá»i hạn tá»ng token Äầu và o và Äầu ra dùng trong lượt nà y.","promptTokensHelp":"Bao gá»m chá» dẫn há» thá»ng, ngữ cảnh há»i thoại, schema công cụ và kết quả công cụ.","completionTokensHelp":"Giá»i hạn token do mô hình tạo trong lượt nà y.","maxIterations":"Sá» vòng lặp tá»i Äa","historyWindow":"Cá»a sá» lá»ch sá»","similarityThreshold":"Ngưỡng tương Äá»ng","totalTokens":"Tá»ng token tá»i Äa","promptTokens":"Token Äầu và o tá»i Äa","completionTokens":"Token Äầu ra tá»i Äa","maxSeconds":"Sá» giây tá»i Äa","maxSecondsHelp":"Thá»i gian ÄÆ°á»£c kiá»m tra sau khi phản há»i mô hình hoặc lá»nh gá»i công cụ hiá»n tại hoà n tất. Công viá»c Äang chạy không bá» ngắt.","allToolCalls":"Tất cả lá»nh gá»i công cụ","perToolLimits":"Giá»i hạn theo công cụ","toolName":"Tên công cụ","callLimitAria":"Giá»i hạn lá»nh gá»i {{name}}","removeToolLimitAria":"Xóa giá»i hạn {{name}}","addToolLimit":"Thêm giá»i hạn theo công cụ","maxRetries":"Sá» lần thá» lại tá»i Äa","retryInstruction":"Chá» dẫn thá» lại","passThreshold":"Ngưỡng Äạt","maxEvaluations":"Sá» vòng Äánh giá tá»i Äa","graderError":"Lá»i bá» Äánh giá","stopSafely":"Dừng an toà n","verifyOnceMore":"Xác minh thêm má»t lần","completionCriteria":"Tiêu chà hoà n thà nh","criterionPlaceholder":"Mô tả kết quả hoà n thà nh có thá» quan sát","required":"Bắt buá»c","weight":"Trá»ng sá»","addCriterion":"Thêm tiêu chÃ","moveGateAria":"Di chuyá»n {{title}}","removeGate":"Xóa Gate","newModeName":"Chế Äá» Loop má»i","defaultCustomDescription":"Pipeline Gate tùy chá»nh.","copyName":"Bản sao {{name}}","createModeAria":"Tạo chế Äá» Loop tùy chá»nh","createModeTitle":"Tạo chế Äá» Loop tùy chá»nh","startingTemplate":"Mẫu khá»i Äầu","startingPipeline":"Pipeline khá»i Äầu","blankPipelineHint":"Bắt Äầu trá»ng và thêm gate sau","safeTemplate":"Chạy an toà n","researchTemplate":"Nghiên cứu có ngân sách","qualityTemplate":"Ưu tiên chất lượng","blankTemplate":"Pipeline trá»ng"},"doomLoopEnabled":"Bảo vá» hà nh vi lặp lại","doomLoopEnabledTooltip":"Tá»± Äá»ng can thiá»p khi agent bá» kẹt lặp lại cùng má»t hà nh Äá»ng","doomLoopAfter":"Sau","doomLoopRepetitions":"hà nh Äá»ng giá»ng nhau","doomLoopStopAction":"Tạm dừng & Há»i ý kiến","doomLoopWarnAction":"Gá»i nhắc nhá»","doomLoopSimpleMode":"ÄÆ¡n giản","doomLoopAdvancedMode":"Nâng cao","doomLoopWindowSize":"Phạm vi phát hiá»n","doomLoopWindowSizeTooltip":"Kiá»m tra bao nhiêu hà nh Äá»ng gần Äây Äá» phát hiá»n lặp lại","doomLoopSimilarity":"Äá» nhạy khá»p","doomLoopSimilarityTooltip":"Hà nh Äá»ng phải giá»ng nhau Äến mức nà o Äá» tÃnh là lặp lại (thấp hÆ¡n = nghiêm ngặt hÆ¡n)","doomLoopStages":"Quy tắc can thiá»p","doomLoopAction":"Hà nh Äá»ng","doomLoopPrompt":"Tin nhắn","doomLoopPromptPlaceholder":"Ná»i dung nhắc nhá» hoặc lý do tạm dừng...","doomLoopAddStage":"Thêm quy tắc","iterationTitle":"Giá»i hạn lặp lại","iterationEnabled":"Báºt giá»i hạn lặp lại","iterationEnabledTooltip":"Dừng agent sau má»t sá» lượt lặp cá» Äá»nh","iterationMaxIterations":"Sá» lần lặp tá»i Äa","iterationMaxIterationsTooltip":"Sá» lượt lặp tá»i Äa trưá»c khi dừng","rubricTitle":"Kiá»m tra hoà n thà nh Äá»nh tÃnh","rubricEnabled":"Báºt kiá»m tra hoà n thà nh Äá»nh tÃnh","rubricEnabledTooltip":"Chá» kÃch hoạt khi agent trả lá»i bằng vÄn bản mà không gá»i công cụ.","rubricPrompt":"Tiêu chà hoà n thà nh bằng ngôn ngữ tá»± nhiên","rubricPromptTooltip":"Prompt ÄÆ°á»£c chèn Äá» yêu cầu agent Äánh giá hoà n thà nh nhiá»m vụ","rubricDesc":"Ãp dụng tiêu chà hoà n thà nh bằng ngôn ngữ tá»± nhiên cho phản há»i vÄn bản không có lá»nh gá»i công cụ và yêu
199cầu agent tiếp tục nếu còn viá»c.","rubricPromptPlaceholder":"Bạn không gá»i công cụ nà o. Nếu nhiá»m vụ hoà n thà nh, hãy xác nháºn. Nếu không, tiếp tục vá»i các lá»nh gá»i công cụ.","rubricMaxInterventions":"Sá» vòng Äánh giá tá»i Äa","rubricMaxInterventionsTooltip":"Sá» lần kiá»m tra hoà n thà nh tá»i Äa cho phản há»i vÄn bản không có lá»nh gá»i công cụ trong má»t lượt.","inLoopModes":"Báºt trong chế Äá» /goal & /mission","inLoopModesTooltip":"CÅ©ng áp dụng khi chế Äá» /goal hoặc /mission Äang hoạt Äá»ng","comingSoonEditable":"Cấu hình tùy chá»nh sẽ có trong phiên bản tương lai.","simpleMode":"ÄÆ¡n giản","advancedMode":"Nâng cao","comingSoon":"Sắp ra mắt","reactModeTab":"Mẫu Loop - Mặc Äá»nh","goalModeTab":"Mẫu Loop - Goal","missionModeTab":"Mẫu Loop - Mission","goalModeInfoTitle":"Chế Äá» Goal vs Mặc Äá»nh","goalModeInfo":"Chế Äá» mặc Äá»nh dừng sau khi tạo phản há»i. Chế Äá» Goal giữ agent lặp hưá»ng tá»i mục tiêu, sá» dụng Äánh giá Rubric Äá» xác Äá»nh hoà n thà nh. Tất cả hoạt Äá»ng chạy trong ngữ cảnh agent hiá»n tại.","missionModeInfoTitle":"Chế Äá» Mission vs Goal","missionModeInfo":"Chế Äá» Mission tá»± Äá»ng phân tách nhiá»m vụ phức tạp, ÄÆ°á»£c thá»±c thi bá»i các Worker sub-agent Äá»c láºp và xác minh bá»i Verifier sub-agent. Má»i nhiá»m vụ con chạy trong ngữ cảnh riêng, ngÄn ô nhiá»
m phiên chÃnh.","goalIterationGate":"Cá»ng Lặp Mục tiêu","goalIterationGateDesc":"Giá»i hạn sá» lượt cá»§a agent trong phiên mục tiêu, theo dõi sá» lần lặp và sá» dụng token.","goalBudgetGate":"Cá»ng Ngân sách Token","goalBudgetGateDesc":"Äặt giá»i hạn chi tiêu token cho phiên mục tiêu. Dừng agent khi vượt ngân sách.","goalRubricGate":"Rubric Hoà n thà nh Mục tiêu","goalRubricGateDesc":"Äánh giá mục tiêu Äã Äạt ÄÆ°á»£c hay chưa bằng cách kiá»m tra trạng thái phiên.","goalDoomGate":"Bảo vá» Lặp lại","goalDoomGateDesc":"Phát hiá»n mẫu lặp lại trong quá trình thá»±c hiá»n mục tiêu và kÃch hoạt can thiá»p.","missionProgressGate":"Cá»ng Tiến Äá» Nhiá»m vụ","missionProgressGateDesc":"Theo dõi hoà n thà nh user story PRD. Tiếp tục cho Äến khi tất cả Äạt hoặc Äạt tá»i Äa lần lặp.","missionIterBypass":"Bá» qua Lặp","missionIterBypassDesc":"Tạm thá»i gỡ bá» giá»i hạn lặp ReAct trong quá trình thá»±c hiá»n nhiá»m vụ Äá» cho phép các giai Äoạn dà i.","customLoopTitle":"Chế Äá» Vòng lặp Tùy chá»nh","customLoopDesc":"Tạo chế Äá» vòng lặp riêng vá»i tá» hợp cá»ng tùy chá»nh. Sắp ra mắt.","autoContinueOnTextOnly":"Tá»± tiếp tục khi bưá»c chá» có vÄn bản","autoContinueOnTextOnlyTooltip":"Khi mô hình kết thúc bưá»c suy luáºn chá» bằng vÄn bản, tá»± Äá»ng chèn gợi ý và chạy thêm má»t lần.","autoGenerateSessionTitle":"Tá»± tạo tiêu Äá» phiên","autoGenerateSessionTitleTooltip":"Sau tin nhắn Äầu tiên, gá»i LLM ngắn Äá» tạo tiêu Äá» súc tÃch.","inboxPushEnabled":"Thông báo há»p thư kết quả bá» nhá»","inboxPushEnabledTooltip":"Gá»i kết quả tá»± Äá»ng ghi nhá», giấc mÆ¡ và Daily Paper và o há»p thư. Viá»c tắt thông báo không dừng các tác vụ bá» nhá».","autoMemoryInterval":"Khoảng tá»± Äá»ng ghi nhá»","autoMemoryIntervalTooltip":"KÃch hoạt tá»± Äá»ng ghi nhá» sau má»i N truy vấn cá»§a ngưá»i dùng. 0 tắt tá»± Äá»ng ghi nhá» Äá»nh kỳ. 1 nghÄ©a là tá»± Äá»ng ghi nhá» sau má»i truy vấn. Khuyến nghá» Äặt 2-5; Äặt 1 cần chú ý mức tiêu thụ token cao.","autoMemoryIntervalPlaceholder":"Nháºp 0 Äá» tắt tá»± Äá»ng ghi nhá» Äá»nh kỳ","autoMemoryIntervalRequired":"Bắt buá»c
199nháºp khoảng tá»± Äá»ng ghi nhá»","autoMemoryIntervalMin":"Khoảng tá»± Äá»ng ghi nhá» phải lá»n hÆ¡n hoặc bằng 0","autoMemorySearch":"Tìm kiếm bá» nhá» tá»± Äá»ng (Beta)","autoMemorySearchTooltip":"Tá»± Äá»ng chạy tìm kiếm bá» nhá» á» má»i lượt há»i thoại. Má»i truy vấn sẽ tá»± Äá»ng gá»i khả nÄng tìm kiếm bá» nhá», giúp QwenPaw hiá»u bạn hÆ¡n, nhưng sẽ là m tÄng mức tiêu thụ token.","autoMaxResults":"Sá» kết quả tá»i Äa khi tá»± Äá»ng tìm kiếm","autoMaxResultsTooltip":"Sá» kết quả tá»i Äa trả vá» khi báºt tìm kiếm bá» nhá» tá»± Äá»ng","autoMaxResultsRequired":"Bắt buá»c nháºp sá» kết quả tá»i Äa","autoMaxResultsMin":"Sá» kết quả tá»i Äa phải Ãt nhất là 1","embeddingConfigTitle":"Cấu hình mô hình embedding","embeddingModelTitle":"Mô hình embedding","embeddingBackend":"Loại SDK Embedding","embeddingBackendTooltip":"Loại SDK dùng Äá» gá»i mô hình embedding","embeddingBackendPlaceholder":"Chá»n loại SDK","embeddingApiKey":"API Key","embeddingApiKeyTooltip":"API key cho nhà cung cấp embedding; Äá» trá»ng nếu không cần xác thá»±c","embeddingApiKeyPlaceholder":"Äá» trá»ng nếu không cần","embeddingBaseUrl":"Base URL","embeddingBaseUrlTooltip":"Base URL cá»§a API embedding. Vá»i backend tương thÃch OpenAI, endpoint tùy chá»nh nà y là tùy chá»n; API Key và Tên mô hình là bắt buá»c.","embeddingBaseUrlPlaceholder":"https://dashscope.aliyuncs.com/compatible-mode/v1","embeddingHost":"Host","embeddingHostTooltip":"URL dá»ch vụ Ollama. Äá» trá»ng Äá» dùng host mặc Äá»nh cá»§a Ollama.","embeddingHostPlaceholder":"http://localhost:11434","embeddingModelName":"Tên mô hình","embeddingModelNameTooltip":"Tên mô hình embedding. Bắt buá»c cho má»i backend embedding.","embeddingModelNamePlaceholder":"text-embedding-v4","embeddingEnableCache":"Báºt cache embedding","embeddingEnableCacheTooltip":"Cache kết quả embedding Äá» giảm tÃnh toán lặp lại","embeddingMaxCacheSize":"KÃch thưá»c cache tá»i Äa","embeddingMaxCacheSizeTooltip":"Sá» mục tá»i Äa trong cache embedding","embeddingMaxCacheSizeRequired":"Bắt buá»c
199nháºp kÃch thưá»c cache tá»i Äa","embeddingUseDimensions":"Gá»i sá» chiá»u trong yêu cầu","embeddingUseDimensionsTooltip":"Gá»i tham sá» dimensions trong yêu cầu tá»i API Embedding tương thÃch OpenAI; má»t sá» dá»ch vụ không há» trợ tham sá» nà y","embeddingDimensions":"Sá» chiá»u embedding","embeddingDimensionsTooltip":"Sá» chiá»u vector dá»± kiến, dùng Äá» kiá»m tra phản há»i, chá» mục và bá» nhá» Äá»m; khi tắt gá»i sá» chiá»u, hãy nháºp sá» chiá»u Äầu ra thá»±c tế cá»§a mô hình","embeddingDimensionsRequired":"Bắt buá»c nháºp sá» chiá»u embedding","embeddingDimensionsMin":"Sá» chiá»u phải Ãt nhất là 1","embeddingMaxInputLength":"Ngân sách ký tá»± má»i Äầu và o","embeddingMaxInputLengthTooltip":"Ngân sách ký tá»± gần Äúng cho từng Äầu và o Embedding. VÄn bản ÄÆ°á»£c cắt trưá»c khi gá»i yêu cầu, vá»i cách ưá»c tÃnh tháºn trá»ng hÆ¡n cho CJK và các ký tá»± toà n chiá»u rá»ng; Äây không phải giá»i hạn token chÃnh xác","embeddingMaxInputLengthRequired":"Bắt buá»c
199nháºp ngân sách ký tá»± má»i Äầu và o","embeddingMaxBatchSize":"KÃch thưá»c batch tá»i Äa","embeddingHealthCheckTimeout":"Thá»i gian chá» khá»i tạo","embeddingHealthCheckTimeoutTooltip":"Thá»i gian chá» cho má»i lần kiá»m tra kết ná»i và kiá»m tra embedding khi ReMe khá»i Äá»ng","embeddingHealthCheckTimeoutRequired":"Cần nháºp thá»i gian chá» khá»i tạo","embeddingMaxBatchSizeTooltip":"Sá» mục tá»i Äa trong má»t yêu cầu embedding theo batch","embeddingMaxBatchSizeRequired":"Bắt buá»c nháºp kÃch thưá»c batch tá»i Äa","embeddingActivationNote":"Embedding ÄÆ°á»£c báºt khi các trưá»ng bắt buá»c cá»§a backend Äã chá»n ÄÆ°á»£c Äiá»n Äầy Äá»§.","embeddingEnableHint":"Embedding ÄÆ°á»£c báºt khi các trưá»ng bắt buá»c ÄÆ°á»£c Äiá»n: Tên mô hình và API Key cho backend tương thÃch OpenAI hoặc Gemini; Tên mô hình cho Ollama.","rebuildMemoryIndex":"Xây dá»±ng lại chá» mục bá» nhá»","rebuildMemoryIndexWarning":"Thao tác nà y sẽ xóa và xây dá»±ng lại chá» mục tìm kiếm bá» nhá», Äá»ng thá»i có thá» sá» dụng nhiá»u CPU và bá» nhá». Chá» nên dùng Äá» sá»a chá» mục bá» há»ng hoặc kết quả tìm kiếm bất thưá»ng.","rebuildMemoryIndexConfirmTitle":"Xây dá»±ng lại chá» mục bá» nhá»?","rebuildMemoryIndexConfirm":"Mức sá» dụng CPU và bá» nhá» có thá» tÄng Äáng ká» trong quá trình xây dá»±ng lại. Không nên thá»±c hiá»n trừ khi chá» mục bá» há»ng hoặc cần sá»a chữa.","rebuildMemoryIndexSuccess":"Äã xây dá»±ng lại chá» mục bá» nhá»","rebuildMemoryIndexFailed":"Không thá» xây dá»±ng lại chá» mục bá» nhá»: {{error}}","rebuildMemoryIndexRequired":"Cấu hình Embedding Äã thay Äá»i. Tìm kiếm vector bá» tắt và tìm kiếm bá» nhá» sẽ sá» dụng BM25 cho Äến khi chá» mục Embedding ÄÆ°á»£c xây dá»±ng lại.","embeddingIndexReady":"Chá» mục Embedding khá»p vá»i cấu hình hiá»n tại.","embeddingIndexStatus":"Chá» mục Embedding","embeddingIndexAvailable":"Äã cáºp nháºt","embeddingSearchModeHybrid":"Tìm kiếm hiá»n tại: Vector + BM25","embeddingSearchModeBm25":"Tìm kiếm hiá»n tại: Chá» BM25","embeddingSearchModeBm25Pending":"Tìm kiếm hiá»n tại: Chá» BM25 · Äang chá» xây dá»±ng lại","embeddingIndexNeedsRebuild":"Cần xây dá»±ng lại","embeddingIndexRebuilding":"Äang xây dá»±ng lại","embeddingIndexRebuildingHint":"Äang tạo các vector bá» nhá»","embeddingIndexSaveFirst":"Hãy lưu cấu hình trưá»c","embeddingIndexUnsavedHint":"Lưu các thay Äá»i trưá»c khi xây dá»±ng lại chá» mục","embeddingIndexMatchesConfig":"Khá»p vá»i cấu hình hiá»n tại","embeddingIndexBm25Fallback":"Tìm kiếm vector Äã tắt · Äang dùng BM25","rebuildEmbeddingIndex":"Xây dá»±ng lại chá» mục Embedding","rebuildEmbeddingIndexConfirmTitle":"Xây dá»±ng lại chá» mục Embedding?","rebuildEmbeddingIndexConfirm":"Embedding cá»§a tất cả phân Äoạn bá» nhá» sẽ ÄÆ°á»£c tạo lại bằng cấu hình hiá»n tại. Tìm kiếm vector vẫn bá» tắt cho Äến khi quá trình hoà n tất thà nh công.","rebuildEmbeddingIndexSuccess":"Äã xây dá»±ng lại chá» mục Embedding","rebuildEmbeddingIndexFailed":"Không thá» xây dá»±ng lại chá» mục Embedding: {{error}}","undoEmbeddingChange":"Hoà n tác thay Äá»i","undoEmbeddingChangeConfirmTitle":"Khôi phục cấu hình Embedding ÄÆ°á»£c chá» mục sá» dụng?","undoEmbeddingChangeConfirm":"Cấu hình gần nhất khá»p vá»i chá» mục vector hiá»n có sẽ ÄÆ°á»£c khôi phục.","undoEmbeddingChangeSuccess":"Äã khôi phục cấu hình Embedding ÄÆ°á»£c chá» mục sá» dụng","undoEmbeddingChangeFailed":"Không thá» khôi phục cấu hình Embedding: {{error}}","rebuildBm25Index":"Xây dá»±ng lại chá» mục BM25","rebuildBm25IndexDescription":"Tạo lại chá» mục tìm kiếm từ khóa từ các phân Äoạn bá» nhá» hiá»n tại.","rebuildBm25IndexConfirmTitle":"Xây dá»±ng lại chá» mục BM25?","rebuildBm25IndexConfirm":"Chá» mục tìm kiếm từ khóa sẽ ÄÆ°á»£c tạo lại từ các phân Äoạn bá» nhá» hiá»n tại.","rebuildBm25IndexSuccess":"Äã xây dá»±ng lại chá» mục BM25","goToLongTermMemory":"Äi Äến bá» nhá» dà i hạn","shellCommandTimeout":"Timeout lá»nh shell (giây)","shellCommandTimeoutTooltip":"Timeout mặc Äá»nh cho công cụ execute_shell_command.","shell
199CommandTimeoutPlaceholder":"Nháºp timeout","shellCommandTimeoutRequired":"Bắt buá»c","shellCommandTimeoutMin":"Phải Ãt nhất 1 giây","shellCommandExecutable":"Shell thá»±c thi","shellCommandExecutableTooltip":"ÄÆ°á»ng dẫn shell dùng cho execute_shell_command. Äá» trá»ng Äá» tá»± phát hiá»n.","shellCommandExecutablePlaceholder":"Và dụ: /bin/bash hoặc powershell.exe (Äá» trá»ng = tá»± phát hiá»n)","maxInputLength":"Äá» dà i Äầu và o tá»i Äa","maxInputLengthTooltip":"Äá» dà i tá»i Äa (token) cho cá»a sá» ngữ cảnh mô hình","maxInputLengthPlaceholder":"Nháºp Äá» dà i tá»i Äa","maxInputLengthRequired":"Bắt buá»c","maxInputLengthMin":"Phải Ãt nhất 1000","contextCompactTitle":"Cấu hình nén ngữ cảnh","contextCompactEnabled":"Báºt nén ngữ cảnh","contextCompactEnabledTooltip":"Tá»± Äá»ng nén ngữ cảnh Äá» tránh trà n cá»a sá» ngữ cảnh","contextCompactRatio":"Ngưỡng nén (tá» lá»)","contextCompactRatioTooltip":"KÃch hoạt nén khi Äá» dà i ngữ cảnh Äạt tá» lá» nà y so vá»i tá»i Äa","contextCompactRatioRequired":"Bắt buá»c","contextCompactThreshold":"Ngưỡng nén (token)","contextCompactThresholdTooltip":"Tá»± tÃnh từ: Äá» dà i tá»i Äa à tá» lá» nén.","contextCompactThresholdPlaceholder":"Tá»± tÃnh","contextCompactReserveRatio":"Tá» lá» dá»± trữ","contextCompactReserveRatioTooltip":"Phần ngữ cảnh gần nhất ÄÆ°á»£c giữ nguyên sau khi nén","contextCompactReserveRatioRequired":"Bắt buá»c","contextCompactReserveThreshold":"Ngưỡng dá»± trữ (token)","contextCompactReserveThresholdTooltip":"Tá»± tÃnh từ: Äá» dà i tá»i Äa à tá» lá» dá»± trữ.","contextCompactReserveThresholdPlaceholder":"Tá»± tÃnh","toolResultCompactRecentN":"Phạm vi kết quả gần Äây","toolResultCompactRecentNTooltip":"Chia danh sách tin nhắn thà nh 2 phân Äoạn: N tin nhắn gần nhất và tin nhắn cÅ© hÆ¡n.","toolResultCompactRecentNRequired":"Bắt buá»c","toolResultCompactOldThreshold":"Ngưỡng tin nhắn cÅ© (byte)","toolResultCompactOldThresholdTooltip":"Kết quả công cụ trong tin nhắn cÅ© ÄÆ°á»£c nén khi vượt giá»i hạn byte nà y.","toolResultCompactOldThresholdPlaceholder":"Nháºp ngưỡng ký tá»±","toolResultCompactOldThresholdRequired":"Bắt buá»c","toolResultCompactRecentThreshold":"Ngưỡng tin nhắn gần Äây (byte)","toolResultCompactRecentThresholdTooltip":"Kết quả công cụ trong N tin nhắn gần nhất ÄÆ°á»£c nén khi vượt giá»i hạn byte nà y.","toolResultCompactRecentThresholdPlaceholder":"Nháºp ngưỡng ký tá»±","toolResultCompactRecentThresholdRequired":"Bắt buá»c","toolResultCompactRetentionDays":"Sá» ngà y lưu file kết quả","toolResultCompactRetentionDaysTooltip":"Sá» ngà y giữ lại file kết quả công cụ Äã nén, file hết hạn sẽ tá»± Äá»ng dá»n dẹp","toolResultCompactRetentionDaysRequired":"Bắt buá»c","historyRetentionDays":"Sá» ngà y lưu lá»ch sá»","historyRetentionDaysTooltip":"Sá» ngà y lưu lá»ch sá» trò chuyá»n lâu dà i. Các bản ghi cÅ© hÆ¡n sẽ tá»± Äá»ng bá» xóa khi khá»i Äá»ng và khi tắt agent.","historyRetentionDaysRequired":"Bắt buá»c","historyRetentionDaysForeverWarning":"Äặt 0 sẽ lưu lá»ch sá» vÄ©nh viá»
n â dung lượng lưu trữ sẽ tÄng không giá»i hạn.","historyRetentionDaysLargeWarning":"Khoảng thá»i gian lưu lá»n có thá» chiếm nhiá»u dung lượng lưu trữ.","exemptFileExtensions":"Phần má» rá»ng file miá»
n trừ","exemptFileExtensionsTooltip":"Kết quả read_file cho các phần má» rá»ng nà y dùng ngưỡng tin nhắn gần Äây","exemptFileExtensionsPlaceholder":".md, .txt, .json","exemptToolNames":"Tên công cụ miá»
n trừ","exemptToolNamesTooltip":"Kết quả từ các công cụ nà y dùng ngưỡng tin nhắn gần Äây","exemptToolNamesPlaceholder":"chat_with_agent, list_agents","language":"Ngôn ngữ agent","languageTooltip":"Ngôn ngữ cho các file nhân cách (SOUL.md, AGENTS.md,...). Thay Äá»i sẽ sao chép lại các file MD theo ngôn ngữ má»i.","languageConfirmTitle":"Äá»i ngôn ngữ agent","languageConfirmContent":"Äá»i ngôn ngữ sẽ ghi Äè các file sau:\\n\\
199n SOUL.md, AGENTS.md, PROFILE.md, MEMORY.md, BOOTSTRAP.md, HEARTBEAT.md\\n\\nNếu bạn Äã tùy chá»nh các file nà y, hãy sao lưu trưá»c.","languageConfirmOk":"Äá»i ngôn ngữ","languageSaveSuccess":"Äã cáºp nháºt ngôn ngữ","languageSaveSuccessWithFiles":"Äã cáºp nháºt ngôn ngữ, Äã sao chép {{count}} file MD","languageSaveFailed":"Cáºp nháºt ngôn ngữ thất bại","saveSuccess":"Äã lưu cấu hình","saveFailed":"Lưu cấu hình thất bại","timezone":"Múi giá» ngưá»i dùng","timezoneTooltip":"Dùng cho tác vụ Äá»nh kỳ, hiá»n thá» giá» và ngữ cảnh agent. Mặc Äá»nh theo múi giá» há» thá»ng.","timezoneRequired":"Vui lòng chá»n múi giá»","selectTimezone":"Chá»n múi giá»","timezoneSaveSuccess":"Äã cáºp nháºt múi giá»","timezoneSaveFailed":"Cáºp nháºt múi giá» thất bại","loadFailed":"Tải cấu hình thất bại","historyMaxLength":"Äá» dà i lá»ch sá» tá»i Äa","historyMaxLengthTooltip":"Äá» dà i Äầu ra tá»i Äa (ký tá»±) cho lá»nh /history","historyMaxLengthRequired":"Bắt buá»c","historyMaxLengthMin":"Phải Ãt nhất 1000","historyMaxLengthPlaceholder":"Nháºp Äá» dà i tá»i Äa","tokenCountModel":"Mô hình Äếm token","tokenCountModelTooltip":"Tên mô hình dùng Äá» Äếm token chÃnh xác; Äặt là \\"default\\" Äá» dùng ưá»c tÃnh tÃch hợp","tokenCountModelPlaceholder":"Tên mô hình hoặc default","tokenCountUseMirror":"Dùng mirror HuggingFace","tokenCountUseMirrorTooltip":"Dùng mirror HuggingFace khi tải tokenizer"}'),wE={llmConfiguration:"Cấu hình LLM",providersTitle:"Nhà cung cấp",providersDescription:"Cấu hình API key và endpoint cho từng nhà cung cấp.",llmTitle:"Mô hình",defaultLlm:"LLM mặc Äá»nh",llmDescription:"Äặt mô hình LLM mặc Äá»nh toà n cục. Bạn có thá» chá»n mô hình riêng cho từng Agent á» trang Trò chuyá»n.",configureProvider:"Cấu hình {{name}}",baseURL:"Base URL",apiKey:"API Key",advancedConfig:"Cấu hình nâng cao",authMode:"Chế Äá» xác thá»±c",authModeApiKey:"API Key (x-api-key)",authModeAuthToken:"Auth Token (Authorization: Bearer)",customHeaders:"Header tùy chá»nh",customHeadersHint:"Thêm và o má»i yêu cầu API, và dụ: x-app: cli",customHeaderKey:"Tên header",customHeaderValue:"Giá trá» header",addHeader:"+ Thêm header",generateConfig:"Tham sá» tạo vÄn bản",generateConfigHint:"Tham sá» dạng JSON object, sẽ ÄÆ°á»£c má» rá»ng và o má»i yêu cầu.",relayReasoningLabel:"Chuyá»n tiếp suy luáºn",relayReasoningHint:"Chuyá»n tiếp ná»i dung suy luáºn sang các lượt há»i thoại tiếp theo",thinkingModeLabel:"Báºt suy nghÄ©",thinkingModeHint:"Báºt Äá» kÃch hoạt suy nghÄ©/láºp luáºn. Tắt Äá» vô hiá»u hóa suy nghÄ©.",thinkingBudgetLabel:"Ngân sách suy nghÄ©",thinkingBudgetHint:"Sá» dụng ngân sách suy nghÄ© mặc Äá»nh cá»§a mô hình",switchToManual:"Thá»§ công",switchToAuto:"Tá»± Äá»ng",reasoningEffortLabel:"Äá» sâu láºp luáºn",reasoningEffortHint:"Kiá»m soát Äá» sâu láºp luáºn (dòng OpenAI)",saveSuccess:"Äã lưu cấu hình nhà cung cấp",saveFailed:"Lưu cấu hình thất bại",loadFailed:"Tải cấu hình thất bại",testConnection:"Kiá»m tra kết ná»i",testSuccess:"Kết ná»i thà nh công",testFailed:"Kết ná»i thất bại",noProviders:"Chưa có nhà cung cấp nà o",addProvider:"Thêm nhà cung cấp",getModels:"Lấy danh sách mô hình",discovered:"Mô hình khả dụng:",add:"Thêm",local:"Cục bá»",localType:"Loại",localEmbedded:"Nhúng (in-process)",localDownloadFirst:"Dá»ch vụ mô hình chưa khá»i Äá»ng",localDownloadModel:"Tải mô hình",localModelsTitle:"{{provider}} â Mô hình cục bá»",localNoModels:"Chưa có mô hình nà o ÄÆ°á»£c tải xuá»ng",localRepoId:"ID Repository mô hình",localRepoIdRequired:"Vui lòng nháºp ID repository mô hình",localRepoIdPlaceholder:"Và dụ: Qwen/Qwen3-0.6B-GGUF",localFilename:"Tên file (tùy chá»n)",localFilenamePlaceholder:"Và dụ: mistral-7b.Q4_K_M.gguf",localFilenameHint:"Äá» trá»ng Äá» tá»± chá»n lượng tá» hóa tá»t nhất",localSource:"Nguá»n",localDownloadSuccess:"Tải mô hình thà nh công",filterByModality:"Phương thức Äầu và o:",filterFreeOnly:"Chá» mô hình miá»
n phÃ:",selectAllProviders:"Chá»n tất cả",clearProviderSelection:"Bá» chá»n tất cả",noMatchingProviders:"Không có nhà cung cấp phù hợp"},PE={parent:"Cà i Äặt",security:"Bảo máºt",title:"Bảo máºt",description:"Quản lý các tÃnh nÄng bảo máºt cho công cụ và kỹ nÄng.",toolGuardTitle:"Tool Guard",toolGuardDescription:"Cấu hình quét bảo máºt cho lá»i gá»i công cụ. Các thao tác nguy hiá»m sẽ yêu cầu phê duyá»t trưá»c khi thá»±c thi.",enabled:"Báºt Tool Guard",enabledTooltip:"Khi báºt, lá»i gá»i công cụ sẽ ÄÆ°á»£c quét các mẫu nguy hiá»m trưá»c khi thá»±c thi",guardedTools:"Công cụ ÄÆ°á»£c giám sát",guardedToolsTooltip:"
199Công cụ yêu cầu phê duyá»t khi phát hiá»n mẫu nguy hiá»m. Äá» trá»ng Äá» dùng bá» mặc Äá»nh tÃch hợp.",guardedToolsPlaceholder:"Chá»n công cụ hoặc nháºp tên tùy chá»nh",deniedTools:"Công cụ bá» chặn",deniedToolsTooltip:"Công cụ luôn bá» từ chá»i mà không cần há»i phê duyá»t",deniedToolsPlaceholder:"Chá»n công cụ luôn từ chá»i",saveSuccess:"Äã lưu cà i Äặt Tool Guard",saveFailed:"Lưu cà i Äặt thất bại",loadFailed:"Tải cà i Äặt thất bại",fileGuard:{title:"File Guard",description:"Bảo vá» các file và thư mục nhạy cảm khá»i bá» truy cáºp bá»i công cụ agent.",enableLabel:"Báºt File Guard",path:"ÄÆ°á»ng dẫn",actions:"Thao tác",add:"Thêm",inputPlaceholder:"Nháºp ÄÆ°á»ng dẫn file hoặc thư mục (và dụ: ~/.ssh/ hoặc /etc/passwd)",empty:"Chưa có ÄÆ°á»ng dẫn nhạy cảm tùy chá»nh nà o",removeConfirm:"Xóa ÄÆ°á»ng dẫn nà y?",saveSuccess:"Äã lưu cà i Äặt File Guard",saveFailed:"Lưu cà i Äặt File Guard thất bại",loadFailed:"Tải cà i Äặt File Guard thất bại"},allowNoAuthHosts:{title:"Máy chá»§ không cần xác thá»±c",description:"Các Äá»a chá» IP ÄÆ°á»£c phép truy cáºp mà không cần xác thá»±c.",add:"Thêm IP",inputPlaceholder:"Nháºp Äá»a chá» IP (và dụ: 192.168.1.100 hoặc ::1)",empty:"Chưa có Äá»a chá» IP nà o",default:"Mặc Äá»nh",removeConfirm:"Xóa Äá»a chá» IP nà y khá»i danh sách trắng?",duplicate:"Äá»a chá» IP nà y Äã có trong danh sách",invalidIP:"Äá»nh dạng Äá»a chá» IP không hợp lá»",saveSuccess:"Äã lưu cà i Äặt",saveFailed:"Lưu cà i Äặt thất bại",loadFailed:"Tải cà i Äặt thất bại"},skillScanner:{title:"Skill Scanner",description:"Tá»± Äá»ng quét kỹ nÄng Äá» phát hiá»n má»i Äe dá»a bảo máºt trưá»c khi báºt hoặc cà i Äặt.",mode:"Chế Äá» quét",modeTooltip:"Kiá»m soát cách xá» lý kỹ nÄng không an toà n: chặn, chá» cảnh báo, hoặc tắt",modeBlock:"Chặn",modeWarn:"Chá» cảnh báo",modeOff:"Tắt",timeout:"Timeout quét (giây)",timeoutTooltip:"Thá»i gian tá»i Äa chá» quét hoà n thà nh",saveSuccess:"Äã lưu cà i Äặt Skill Scanner",saveFailed:"Lưu thất bại",loadFailed:"Tải thất bại"}},AE={title:"Kênh",description:"Quản lý và cấu hình các kênh nhắn tin",loading:"Äang tải kênh...",configSaved:"Äã lưu cấu hình",configFailed:"Lưu cấu hình thất bại",botConflictTitle:"Bot Äang ÄÆ°á»£c sá» dụng",botConflictDescription:"Bot nà y Äang ÄÆ°á»£c {{agents}} sá» dụng trên cùng má»t kênh. Viá»c vẫn lưu có thá» gây xung Äá»t tin nhắn.",botConflictConfirm:"Vẫn lưu",channelType:"Loại kênh",status:"Trạng thái",totalItems:"Tá»ng {{count}} mục",botPrefix:"Tiá»n tá» bot",showToolCalls:"Hiá»n thá» thông tin gá»i công cụ",showToolCallsTooltip:"Hiá»n thá» thông tin gá»i công cụ cho ngưá»i dùng (tắt ÄỠẩn)",showToolResults:"Hiá»n thá» thông tin kết quả công cụ",showToolResultsTooltip:"Hiá»n thá» thông tin kết quả công cụ cho ngưá»i dùng (tắt ÄỠẩn)",toolCallMaxLength:"Äá» dà i hiá»n thá» tá»i Äa cá»§a lá»nh gá»i công cụ",toolResultMaxLength:"Äá» dà i hiá»n thá» tá»i Äa cá»§a kết quả công cụ",toolMaxLengthTooltip:"Äặt là 0 Äá» không giá»i hạn Äá» dà i",onebotMediaBase64:"Gá»i phương tiá»n cục bá» dưá»i dạng Base64",onebotMediaBase64Tooltip:"Chá»n cách gá»i tá»p phương tiá»n. Khi tắt, ÄÆ°á»ng dẫn tá»p ÄÆ°á»£c gá»i; khi báºt, tá»p ÄÆ°á»£c mã hóa thà nh Base64. URL từ xa vẫn giữ nguyên.",onebotMediaBase64MaxMb:"Giá»i hạn kÃch thưá»c tá»p Base64",onebotMediaBase64MaxMbTooltip:"Tá»p phương tiá»n vượt quá giá»i hạn nà y ÄÆ°á»£c gá»i bằng ÄÆ°á»ng dẫn tá»p gá»c.",onebotMediaBase64MaxMbRequired:"Vui lòng nháºp giá»i hạn kÃch thưá»c tá»p Base64",onebotMediaBase64MaxMbMin:"Giá»i hạn kÃch thưá»c tá»p Base64 phải Ãt nhất là 1 MB",onebotMediaDir:"Thư mục media",onebotMediaDirTooltip:"Thư mục lưu media Äã tải xuá»ng. Mặc Äá»nh dùng thư mục media trong không gi
199an là m viá»c cá»§a agent.",onebotMediaDownloadMaxMb:"Giá»i hạn kÃch thưá»c phương tiá»n Äầu và o",onebotMediaDownloadMaxMbTooltip:"KÃch thưá»c tá»i Äa cá»§a từng ảnh, âm thanh, video hoặc tá»p tải xuá»ng từ OneBot.",onebotMediaDownloadMaxMbRequired:"Vui lòng nháºp giá»i hạn kÃch thưá»c phương tiá»n Äầu và o",onebotMediaDownloadMaxMbMin:"Giá»i hạn kÃch thưá»c phương tiá»n Äầu và o phải Ãt nhất là 1 MB",onebotWsHostTooltip:"Äá»a chá» lắng nghe cá»§a máy chá»§ WebSocket Äảo ngược. Giữ 127.0.0.1 Äá» chá» các client OneBot trên máy nà y có thá» kết ná»i. Bất kỳ Äá»a chá» khác sẽ má» cá»ng ra mạng và yêu cầu access token.",onebotAccessTokenTooltip:"Token dùng chung mà client OneBot gá»i trong header Authorization. Bắt buá»c khi Äá»a chá» lắng nghe không phải là Äá»a chá» loopback.",onebotAccessTokenRequired:"Cần có access token khi WebSocket host không phải là Äá»a chá» loopback",showThinking:"Hiá»n thá» suy luáºn",showThinkingTooltip:"Hiá»n thá» ná»i dung suy luáºn cá»§a mô hình (tắt ÄỠẩn)",noTextDebounce:"Debounce không vÄn bản",noTextDebounceTooltip:"Khi báºt, các tin nhắn chá» chứa phương tiá»n (ảnh/video/tá»p) sẽ ÄÆ°á»£c lưu tạm, Äợi tin nhắn vÄn bản tiếp theo Äến rá»i gá»p xá» lý. Tắt Äá» xá» lý ngay tất cả tin nhắn. Tin nhắn thoại luôn ÄÆ°á»£c xá» lý ngay.",streamingEnabled:"Xuất streaming",shareSessionInGroup:"Chia sẻ ngữ cảnh trong nhóm",shareSessionInGroupTooltip:"Khi báºt, tất cả thà nh viên trong nhóm dùng chung má»t ngữ cảnh há»i thoại. Khi tắt, má»i thà nh viên có ngữ cảnh Äá»c láºp.",cardAutoLayout:"Thẻ mà n hình rá»ng (Bá» cục tá»± Äá»ng)",cardAutoLayoutTooltip:"Khi báºt, DingTalk hiá»n thá» thẻ AI á» chế Äá» mà n hình rá»ng trên máy tÃnh. ChỠáp dụng khi loại tin nhắn là card. Mẫu thẻ phải ÄÆ°á»£c xuất bản.",ackMessage:"Tin nhắn xác nháºn",ackMessageTooltip:"Gá»i phản há»i tức thì khi nháºn ÄÆ°á»£c tin nhắn, trưá»c khi xá» lý",wechatSetupGuide:"Bot tà i khoản WeChat cá nhân (giao thức iLink). Lần Äầu khá»i Äá»ng sẽ in URL mã QR; quét Äá» á»§y quyá»n.",wechatBotToken:"Bot Token",wechatBotTokenTooltip:"Bearer token sau khi ÄÄng nháºp bằng mã QR. Äá» trá»ng Äá» kÃch hoạt ÄÄng nháºp bằng mã QR.",wechatBotTokenPlaceholder:"Tá»± Äiá»n sau khi quét QR, hoặc dán thá»§ công",wechatBotTokenFile:"ÄÆ°á»ng dẫn file token",wechatMediaDir:"Thư mục media",enabledSection:"Äã kÃch hoạt",enabledCount:"{{count}}",availableSection:"Chưa kÃch hoạt",enableAction:"KÃch hoạt",noEnabledChannels:"Không có kênh nà o ÄÆ°á»£c kÃch hoạt",goEnableChannels:"KÃch hoạt kênh",slackBotToken:"Bot Token",slackBotTokenTooltip:"Slack Bot User OAuth Token, bắt Äầu bằng xoxb-",slackAppToken:"App Token",slackAppTokenTooltip:"Slack App-Level Token cho Socket Mode, bắt Äầu bằng xapp-",slackProxyTooltip:"URL proxy HTTP Äá» kết ná»i Äến Slack API"},ME={title:"Tác vụ Äá»nh kỳ",description:"Tạo và quản lý các tác vụ tá»± Äá»ng thá»±c thi theo lá»ch Äá»nh sẵn.",createJob:"Tạo tác vụ",createFromTemplate:"Tạo từ mẫu",editJob:"Chá»nh sá»a tác vụ",templateModalTitle:"Chá»n mẫu tác vụ",templateModalDescription:"Chá»n mẫu tÃch hợp và Äiá»u chá»nh các tham sá» chÃnh trưá»c khi lưu.",useTemplate:"Dùng mẫu nà y",templateTagPersonal:"Cá nhân",templateTagTeam:"Nhóm",templateTagReminder:"Nhắc nhá»",templateTagCalendar:"Lá»ch",templateTagCalendarRecommended:"Lá»ch (Khuyến nghá»)",confirmDelete:"Xác nháºn xóa",deleteConfirm:"Bạn có chắc muá»n xóa tác vụ Äá»nh kỳ nà y không?",okText:"OK",cancelText:"Há»§y",deleteText:"Xóa",id:"ID tác vụ",name:"Tên tác vụ",enabled:"Trạng thái",saveResultToInbox:"Lưu kết quả và o Há»p thư",saveResultToInboxTooltip:"Khi báºt, các lần thá»±c thi thà nh công sẽ ÄÆ°á»£c lưu và o Há»p thư",silentDelivery:"Gá»i im lặng",silentDeliveryTooltip:"
199Chạy tác vụ agent và giữ lại phiên cùng dấu vết, nhưng không gá»i kết quả tá»i kênh."},DE={title:"Sao lưu",description:"Sao lưu và khôi phục workspace và cấu hình agent.",create:"Tạo bản sao lưu",import:"Nháºp",export:"Xuất",restore:"Khôi phục",delete:"Xóa",batchDelete:"Xóa Äã chá»n",batchDeleteConfirm:"Bạn có chắc muá»n xóa {{count}} bản sao lưu? Không thá» hoà n tác.",deleteConfirm:"Bạn có chắc muá»n xóa bản sao lưu nà y? Không thá» hoà n tác.",name:"Tên",createdAt:"Ngà y tạo",scopeSummary:"Phạm vi",descriptionLabel:"Mô tả",noBackups:"Chưa có bản sao lưu nà o.",loadFailed:"Tải danh sách sao lưu thất bại",createTitle:"Tạo bản sao lưu",backupMode:"Chế Äá» sao lưu",fullBackup:"Sao lưu toà n bá»",fullBackupDesc:"Sao lưu tất cả bao gá»m workspace cá»§a má»i agent, cà i Äặt toà n cục, kho kỹ nÄng và bà máºt",customBackup:"Sao lưu tùy chá»nh",partialBackup:"Sao lưu má»t phần",exportConfirm:"Xác nháºn xuất",importTitle:"Nháºp bản sao lưu",importSuccess:"Nháºp sao lưu thà nh công",importFailed:"Nháºp sao lưu thất bại",importConflictTitle:"Bản sao lưu Äã tá»n tại",importConflictDesc:"Äã có bản sao lưu vá»i ID nà y. Bạn có muá»n ghi Äè không?",importReplace:"Ghi Äè",agents:"{{count}} Agent",allAgents:"Tất cả Agent",globalConfig:"Cà i Äặt toà n cục",skillPool:"Kho kỹ nÄng",secrets:"Bà máºt",selected:"Äã chá»n {{count}}",fileCount:"{{count}} tá»p",totalSize:"{{size}}",progressStarting:"Äang bắt Äầu sao lưu...",progressAgent:"Äang sao lưu agent {{index}} / {{total}}...",progressSaving:"Äang lưu file sao lưu...",progressDone:"Sao lưu hoà n tất",localModelsNotice:"File sao lưu không bao gá»m file mô hình cục bá». Khi di chuyá»n sang thiết bá» khác, bạn cần tải lại các mô hình Äó."},xE={title:"Kỹ nÄng",description:"Quản lý kỹ nÄng và khả nÄng cá»§a agent.",preload:"Tải trưá»c",preloadHint:"Khi báºt, agent sẽ tải trưá»c kỹ nÄng nà y và không cần tìm rá»i tải lại trong cuá»c trò chuyá»n.",qwenpawManaged:"Do QwenPaw quản lý",qwenpawManagedHint:"Có thá» chá»nh sá»a vÃ ÄÆ°á»£c truyá»n và o agent bên thứ ba ÄÆ°á»£c há» trợ khi chạy.",providerManaged:"Kỹ nÄng cá»§a tác nhân bên thứ ba",providerManagedHint:"ÄÆ°á»£c phát hiá»n từ tác nhân bên thứ ba hiá»n tại và chá» hiá»n thá» Äá» Äá»c.",providerOnly:"Chá» tác nhân bên thứ ba hiá»n tại",readOnly:"Chá» Äá»c",noDescription:"Không có mô tả.",providerSkillDetails:"Chi tiết Skill cá»§a tác nhân bên thứ ba",providerManagedDetailHint:"Skill nà y do tác nhân bên thứ ba quản lý. QwenPaw có thá» hiá»n thá» và sá» dụng nhưng không thá» chá»nh sá»a.",provider:"Tác nhân bên thứ ba",scope:"Phạm vi",statusLabel:"Trạng thái",descriptionLabel:"Mô tả",importHub:"Tải lên qua URL",supportedSources:"Nguá»n ÄÆ°á»£c há» trợ:",importSkills:"Nháºp kỹ nÄng",enterSkillUrl:"Nháºp URL kỹ nÄng",supportedSkillUrlSources:"Chợ kỹ nÄng ÄÆ°á»£c há» trợ:",urlExamples:"Và dụ URL:",urlValid:"URL hợp lá» từ {{source}}",invalidUrl:"URL không hợp lá»",clickToFill:"Nhấn Äá» Äiá»n URL",invalidSkillUrlSource:"Vui lòng xác minh URL kỹ nÄng từ chợ ÄÆ°á»£c há» trợ",type:"Loại",installedFrom:"ÄÆ°á»£c cà i từ",source:"Nguá»n",path:"ÄÆ°á»ng dẫn",tags:"Nhãn",builtin:"TÃch hợp sẵn",custom:"Tùy chá»nh",addSkill:"Thêm kỹ nÄng",createSkill:"Tạo kỹ nÄng",uploadZip:"Tải lên qua Zip",downloadFromPool:"Tải từ kho kỹ nÄng",viewSkill:"Xem kỹ nÄng",editSkill:"Chá»nh sá»a kỹ nÄng",skillName:"Tên kỹ nÄng",skillNameRequired:"Vui lòng nháºp tên kỹ nÄng",deleteConfirm:"Xóa kỹ nÄng nà y?",deleteSuccess:"Äã xóa kỹ nÄng",deleteFailed:"Xóa kỹ nÄng thất bại",loadFailed:"Tải kỹ nÄng thất bại",saveSuccess:"Äã lưu kỹ nÄng",saveFailed:"Lưu kỹ nÄng thất bại",emptyState:"Chưa có kỹ nÄng nà o",enabledSkills:"Kỹ nÄng Äã kÃch hoạt",disabledSkills:"Kỹ nÄng chưa kÃch hoạt",active:"kÃch hoạt"},RE={description:"Kho kỹ nÄng cục bá» dùng chung cho kỹ nÄng tÃch hợp và tải lên từ workspace.",broadcast:"Phân phá»i cho Agent",broadcastHint:"Phân phá»i kỹ nÄng Äến các agent ÄÆ°á»£c chá»n",refreshHint:"Là m má»i kho kỹ nÄng từ ÄÄ©a",deleteExternalConfirm:"Thao tác nà y sẽ xóa file kỹ nÄng ngoà i tại {{path}} khá»i ÄÄ©a.",deleteExternalBatchWarning:"Các kỹ nÄng ngoà i Äã chá»n sẽ bá» xóa vÄ©nh viá»
n khá»i ÄÄ©a.",broadcastTitle:"Phân phá»i {{name}}",automation:"Tá»± Äá»ng hóa",builtinAutoUpdate:"Tá»± Äá»ng cáºp nháºt",builtinAutoUpdateFlow:"Gói tÃch hợp â Kho kỹ nÄng",autoSyncFlow:"Kho kỹ nÄng â Workspace cá»§a agent",automationBoth:"Tá»± Äá»ng cáºp nháºt + Äá»ng bá»",automationMixedHint:"Má» chi tiết Äá» chá»n tá»± Äá»ng cáºp nháºt hoặc tá»± Äá»ng Äá»
199ng bá».",automationEnableHint:"Báºt tá»± Äá»ng cáºp nháºt và tá»± Äá»ng Äá»ng bá».",automationDisableHint:"Tắt tá»± Äá»ng cáºp nháºt và tá»± Äá»ng Äá»ng bá».",automationEnabled:"Äã báºt tá»± Äá»ng cáºp nháºt và tá»± Äá»ng Äá»ng bá» cho {{name}}",automationDisabled:"Äã tắt tá»± Äá»ng cáºp nháºt và tá»± Äá»ng Äá»ng bá» cho {{name}}",automationFailed:"Không thá» cáºp nháºt cà i Äặt tá»± Äá»ng hóa",automationNeedsAttention:"Äã lưu. Có {{count}} mục cần xá» lý; xem Há»p thư Äến.",autoSync:"Tá»± Äá»ng Äá»ng bá»",autoSyncEnableHint:"Báºt tá»± Äá»ng Äá»ng bá».",autoSyncDisableHint:"Tắt tá»± Äá»ng Äá»ng bá».",autoSyncEnabled:"Äã báºt tá»± Äá»ng Äá»ng bá» cho {{name}}",autoSyncDisabled:"Äã tắt tá»± Äá»ng Äá»ng bá» cho {{name}}",autoSyncAgentsPlaceholder:"Tất cả agent có kỹ nÄng nà y",autoSyncAgentsHint:"Äá» trá»ng Äá» Äá»ng bá» các bản sao hiá»n có, hoặc chá»n agent cụ thá».",importBuiltin:"Cáºp nháºt kỹ nÄng tÃch hợp",importBuiltinHint:"Cáºp nháºt kỹ nÄng tÃch hợp lên phiên bản má»i nhất",importBuiltinAlertHint:"{{count}} thay Äá»i tÃch hợp cần xem xét",importBuiltinSuccess:"Äã nháºp kỹ nÄng tÃch hợp: {{names}}",importBuiltinConflicts:"Bá» qua do trùng tên: {{names}}",importBuiltinNoChanges:"Không có thay Äá»i tÃch hợp nà o Äá» nháºp",emptyState:"Kho kỹ nÄng trá»ng",loadFailed:"Tải kho kỹ nÄng thất bại"},IE={readFile:"Äá»c {{file}}",readFileDefault:"Äá»c file",writeFile:"Tạo {{file}}",writeFileDefault:"Tạo file",editFile:"Chá»nh sá»a {{file}}",editFileDefault:"Chá»nh sá»a file",appendFile:"Thêm và o {{file}}",appendFileDefault:"Thêm và o file",grepSearch:"Tìm {{pattern}}",grepSearchDefault:"Tìm kiếm grep",globSearch:"Glob {{pattern}}",globSearchDefault:"Tìm kiếm glob",viewImage:"Xem ảnh {{file}}",viewImageDefault:"Xem ảnh",viewVideo:"Xem video {{file}}",viewVideoDefault:"Xem video",desktopScreenshot:"Chụp mà n hình",sendFile:"Gá»i {{file}}",sendFileDefault:"Gá»i file",browserUse:"Duyá»t web {{detail}}",browserNavigate:"Má» {{url}}",browserNavigateDefault:"Má» trang web",browserClick:"Nhấn và o trang web",browserType:"Nháºp và o trang web",browserSnapshot:"Chụp trang web",browserScroll:"Cuá»n trang web",getCurrentTime:"Lấy thá»i gian hiá»n tại",setTimer:"Äặt hẹn giá»",executeShell:"Chạy lá»nh shell",listFiles:"Liá»t kê tá»p tin",searchWeb:"Tìm kiếm web",sendMessage:"Gá»i tin nhắn",createMemory:"Tạo bá» nhá»",searchMemory:"Tìm bá» nhá»",memorySearch:"Tìm bá» nhá» {{query}}",memorySearchDefault:"Tìm bá» nhá»",updateMemory:"Cáºp nháºt bá» nhá»",deleteMemory:"Xóa bá» nhá»",rawInputPreview:"Äầu và o thô trá»±c tiếp (4.096 ký tá»± cuá»i)",largeOutputOmitted:"Äã lược bá» {{count}} dòng â sao chép Äầu ra hiá»n có hoặc là m theo hưá»ng dẫn khôi phục",largeOutputTruncated:"Äầu ra ÄÆ°á»£c rút gá»n khi hiá»n thá» â sao chép Äầu ra hiá»n có hoặc là m theo hưá»ng dẫn khôi phục"},_E={title:"Phiên là m viá»c",description:"Xem và quản lý các phiên chat Äang hoạt Äá»ng",loading:"Äang tải phiên...",confirmDelete:"Xác nháºn xóa",deleteConfirm:"Bạn có chắc muá»n xóa phiên nà y không?",batchDeleteConfirm:"Bạn có chắc muá»n xóa {{count}} phiên Äã chá»n không?",deleteSuccess:"Xóa phiên thà nh công",deleteFailed:"Xóa phiên thất bại",batchDeleteSuccess:"Äã xóa thà nh công {{count}} phiên",batchDeleteFailed:"Xóa hà ng loạt thất bại",saveSuccess:"Lưu phiên thà nh công",saveFailed:"Lưu phiên thất bại",batchDeleteButton:"Xóa hà ng loạt",filterTitle:"Lá»c theo tiêu Äá»",filterUserId:"Lá»c theo ID ngưá»i dùng",filterChannel:"Lá»c theo kênh",allChannels:"Tất cả kênh",totalItems:"Tá»ng {{count}} mục",selectedItems:"Äã chá»n {{count}} mục",editSession:"Chá»nh sá»a phiên",pleaseInputName:"Vui lòng nháºp tên phiên",sessionNamePlaceholder:"Tên phiên",activeTab:"Äang hoạt Äá»ng",archivedTab:"Äã lưu trữ",archivedAtColumn:"Thá»i gian lưu trữ",archive:{action:"Lưu trữ",unaction:"Bá» lưu trữ",batchAction:"Lưu trữ hà ng loạt",batchUnaction:"Bá» lưu trữ hà ng loạt",success:"Äã lưu trữ cuá»c trò chuyá»n",successHint:"Äã lưu trữ. Xem tại Bảng Äiá»u khiá»n > Phiên > Äã lưu trữ.",failed:"Lưu trữ thất bại",unarchiveSuccess:"Äã bá» lưu trữ",unarchiveFailed:"Bá» lưu trữ thất bại",batchSuccess:"Äã lưu trữ {{count}} cuá»c trò chuyá»n",batchFailed:"Lưu trữ hà ng loạt thất bại",batchUnarchiveSuccess:"Äã bá» lưu trữ {{count}} cuá»c trò chuyá»n",batchUnarchiveFailed:"Bá» lưu trữ hà ng loạt thất bại",groupLabel:"Äã lưu trữ ({{count}})",modalTitle:"Cuá»c trò chuyá»n Äã lưu trữ",unarchiveAll:"Bá» lưu trữ tất cả",noArchived:"Không có cuá»c trò chuyá»n Äã lưu trữ"}},LE={gotoSettings:"Cà i Äặt Loop Agent",selectorTitle:"Chế Äá» Loop",selectorHint:"Chá»n cách agent tiếp tục công viá»c",selectorAria:"Chá»n chế Äá» Loop",builtInModes:"TÃch hợp",customModes:"Tùy chá»nh và plugin",starting:"Äang bắt Äầu",running:"Äang chạy",awaiting_user:"Äang chá» bạn trả lá»i",activePersistentDescription:"Chế Äá» nà y duy trì trong cuá»c trò chuyá»n cho Äến khi hoà n tất hoặc cuá»c trò chuyá»n ÄÆ°á»£c Äặt lại.",activeCustomDescription:"Chế Äá» tùy chá»nh nà y duy trì cho Äến khi dùng /mode off, /clear hoặc /new.",loadError:"Không thá» tải má»t sá» chế Äá» Loop.",retry:"Thá» lại",modes:{default:{name:"Mặc Äá»nh",description:"Loop agent ÄÆ°á»£c kiá»m soát tiêu chuẩn."},goal:{name:"Mục tiêu",description:"Liên tục hưá»ng tá»i má»t mục tiêu cụ thá» và có thá» kiá»m chứng."},mission:{name:"Nhiá»m vụ",description:"Chạy tác vụ nhiá»u bưá»c có cấu trúc và liên tục."}}},EE={common:UL,harnesses:qL,desktop:jL,chunkError:GL,appCenter:VL,nav:WL,os:zL,header:KL,sidebar:$L,theme:QL,startup:JL,hub:YL,login:XL,account:ZL,chat:eE,debug:tE,inbox:aE,acp:nE,voiceTranscription:oE,heartbeat:iE,checkpoints:sE,workspace:rE,agent:lE,environments:dE,tools:cE,mcp:uE,market:pE,agentStats:mE,modelSelector:hE,modelConfig:gE,tokenUsage:fE,approval:bE,preview:kE,pluginManager:yE,codingMode:vE,files:TE,projectDirectory:SE,agentConfig:CE,models:wE,security:PE,channels:AE,cronJobs:ME,backup:DE,skills:xE,skillPool:RE,tool:IE,sessions:_E,loop:LE},gd={en:{translation:cx},ru:{translation:iR},zh:{translation:eI},ja:{translation:QI},"pt-BR":{translation:V_},id:{translation:HL},vi:{translation:EE}};Ht.use(Eh).init({resources:gd,lng:localStorage.getItem("language")||navigator.language||"en",fallbackLng:"en",supportedLngs:Object.keys(gd),nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1}});function fd(e){if(!(e instanceof Error))return!1;const t=e.message.toLowerCase();return t.includes("loading chunk")||t.includes("loading css chunk")||t.includes("dynamically imported module")||t.includes("failed to fetch")||e.name==="ChunkLoadError"}class FE extends h.Component{constructor(){super(...arguments);V(this,"state",{hasError:!1,isChunkError:!1,restarting:!1,restartError:""});V(this,"restartRuntime",async()=>{this.setState({restarting:!0,restartError:""});try{await pa.restartOwnRuntime(),window.location.reload()}catch(a){this.setState({restarting:!1,restartError:a instanceof Error?a.message:Ht.t("account.runtimeRestartFailed")})}})}static getDerivedStateFromError(a){return{hasError:!0,isChunkError:fd(a),restarting:!1,restartError:""}}
199componentDidUpdate(a){this.state.hasError&&a.resetKey!==this.props.resetKey&&this.setState({hasError:!1,isChunkError:!1,restarting:!1,restartError:""})}componentDidCatch(a,n){const o=fd(a)?"Chunk load error":"Render error";console.error(`${o}:`,a,n)}render(){if(this.state.hasError){const a=this.state.isChunkError?"chunkError.title":"chunkError.genericTitle",n=this.state.isChunkError?"chunkError.subTitle":"chunkError.genericSubTitle";return c.jsx(eh,{status:"error",title:Ht.t(a),subTitle:this.state.restartError||Ht.t(n),extra:c.jsxs(oa,{wrap:!0,children:[c.jsx(Se,{type:"primary",onClick:()=>window.location.reload(),children:Ht.t("chunkError.reload")}),this.props.canRestartRuntime&&c.jsx(Se,{icon:c.jsx(Bd,{size:16}),loading:this.state.restarting,onClick:this.restartRuntime,children:Ht.t("account.runtimeRestart")})]}),style:{marginTop:"10vh"}})}return this.props.children}}const ja=ft(e=>({codingModeByAgent:{},codingModeRevisionByAgent:{},setCodingMode:(t,a)=>e(n=>({codingModeByAgent:{...n.codingModeByAgent,[t]:a},codingModeRevisionByAgent:{...n.codingModeRevisionByAgent,[t]:(n.codingModeRevisionByAgent[t]??0)+1}}))}));function rB(){const{selectedAgent:e}=We(),{codingModeByAgent:t,setCodingMode:a}=ja();return{codingMode:t[e]??!1,initialized:e in t,setCodingMode:n=>a(e,n)}}const Ki=ft(e=>({projectDirByAgent:{},setProjectDir:(t,a)=>e(n=>({projectDirByAgent:{...n.projectDirByAgent,[t]:a}}))}));function lB(){const e=We(n=>n.selectedAgent),t=Ki(n=>n.projectDirByAgent[e]),a=Ki(n=>n.setProjectDir);return{projectDir:t,setProjectDir:n=>a(e,n)}}const OE={get:()=>v("/coding-mode"),toggle:e=>v("/coding-mode",{method:"POST",body:JSON.stringify({enabled:e})})},BE={get:()=>v("/workspace/project-directory"),set:e=>v("/workspace/project-directory",{method:"PUT",body:JSON.stringify({path:e})}),create:e=>v("/workspace/project-directory/create",{method:"POST",body:JSON.stringify({name:e})}),list:()=>v("/workspace/project-directory/list"),importLocal:(e,t)=>v("/workspace/project-directory/import-local",{method:"POST",body:JSON.stringify({path:e,name:t||void 0})}),uploadZip:async(e,t)=>{const a=new FormData;a.append("file",e);const n=await fetch(ee(`/workspace/project-directory/upload-zip?name=${encodeURIComponent(t)}`),{method:"POST",headers:xe(),body:a});if(!n.ok){const o=await n.text().catch(()=>"");throw new Error(o||`Upload failed: ${n.status}`)}return n.json()},browseDirs:(e,t)=>v(`/workspace/project-directory/browse-dirs?path=${encodeURIComponent(e||"~")}${t?"&show_hidden=true":""}`),createDirectory:(e,t)=>v("/workspace/project-directory/browse-dirs/create",{method:"POST",body:JSON.stringify({parent:e,name:t})}),cloneStream:(e,t)=>fetch(ee("/workspace/project-directory/clone"),{method:"POST",headers:{...xe(),"Content-Type":"application/json"},body:JSON.stringify({url:e,name:t||void 0})})};function NE(){const{selectedAgent:e}=We(),t=ja(n=>n.setCodingMode),a=Ki(n=>n.setProjectDir);h.useEffect(()=>{if(!e)return;let n=!1;const o=ja.getState().codingModeRevisionByAgent[e]??0;return Promise.all([OE.get(),BE.get()]).then(([i,s])=>{if(n)return;(ja.getState().codingModeRevisionByAgent[e]??0)===o&&t(e,i.enabled),a(e,s.is_workspace_default?null:s.path)}).catch(i=>{if(n)return;console.warn("Failed to sync coding mode state:",i),(ja.getState().codingModeRevisionByAgent[e]??0)===o&&t(e,!1),a(e,null)}),()=>{n=!0}},[e,t,a])}const{Content:HE}=Ja;function UE(e,t){for(const a of t)if(am({path:a.path,end:a.path==="/"},e))return a.id;return"core.chat"}function qE({hubMode:e=!1}){const{t}=ve(),n=Ji().pathname,o=Rp();NE();const i=h.useMemo(()=>UE(n,o),[n,o]),s=h.useMemo(()=>o.filter(r=>!/^\/apps\/(?!:)/.test(r.path)),[o]);return c.jsxs(Ja,{className:F.mainLayout,children:[c.jsx(eD,{}),c.jsxs(Ja,{children:[c.jsx(xM,{selectedKey:i,hubMode:e}),c.jsxs(HE,{className:"page-container",children:[c.jsx(pD,{}),c.jsx(gD,{}),c.jsx($t,{name:"content.statusBar",kind:"fill"}),c.jsx("div",{className:"page-content",children:c.jsx(FE,{resetKey:n,canRestartRuntime:e,children:c.jsx(h.Suspense,{fallback:c.jsx(nn,{tip:t("common.loading"),style:{display:"block",margin:"20vh auto"}}),children:c.jsx(wd,{children:s.map(r=>c.jsx(Ln,{path:r.path,element:c.jsx(r.Component,{})},r.id))})})})})]})]}),c.jsx($t,{name:"overlay.global",kind:"fill"})]})}function Up(...e){return{dispose(){for(const t of e)try{t.dispose()}catch(a){console.warn("[QwenPaw] Disposable threw on dispose:",a)}}}}function dB(e,t){if(e!==void 0)return typeof e=="function"?e(t):e}function qp(e){return Array.isArray(e)?e:[e]}function jE(){return{add:(e,t)=>{const n=qp(t).map(o=>je.add(e,o));return Up(...n)},replace:(e,t,a)=>je.replace(e,t,a),remove:e=>je.remove(e),snapshot:e=>je.snapshot(e)}}function GE(){return{add:(e,t)=>{const n=qp(t).map(o=>ot.add(e,o));return Up(...n)},replace:(e,t,a)=>
199ot.replace(e,t,a),wrap:(e,t,a)=>ot.wrap(e,t,a),remove:e=>ot.remove(e)}}function VE(){return{fill:(e,t,a,n)=>$a.fill(e,t,a,n),replace:(e,t,a,n)=>$a.replace(e,t,a,n),snapshot:()=>$a.snapshotAll()}}function WE(){return{overrides:()=>ke.overrides()}}async function an(e,t){const a={...xe(),...(t==null?void 0:t.headers)??{}};return fetch(ee(e),{...t,headers:a})}const zE=/^[a-z0-9][a-z0-9-]*$/;function Mo(e){const t=e.trim();if(!zE.test(t))throw new Error(`Invalid PawApp id: ${e}`);return t}function KE(e){let t=e;for(let a=0;a<8;a+=1){let n;try{n=decodeURIComponent(t)}catch{throw new Error(`Invalid PawApp path encoding: ${e}`)}if(n===t)return t;t=n}throw new Error(`PawApp path has excessive encoding depth: ${e}`)}function $E(e){return Array.from(e).some(t=>{const a=t.charCodeAt(0);return a<=31||a===127})}function js(e){if(/^[a-z][a-z\d+.-]*:/i.test(e))throw new Error("PawApp paths must be relative, not absolute URLs");const t=e.startsWith("/")?e:`/${e}`,a=KE(t);if(t.startsWith("//")||a.startsWith("//")||a.includes("\\")||a.includes("?")||a.includes("#")||$E(a))throw new Error(`Invalid PawApp scoped path: ${e}`);if(a.split("/").some(n=>n==="."||n===".."))throw new Error(`PawApp path cannot contain dot segments: ${e}`);return t}function jp(e,t,a,n=!1){const o=new Map;let i="",s=new AbortController,r,l;const d=new Promise((m,k)=>{r=m,l=k});function u(m,k){const g=o.get(m);if(g)for(const b of g)try{b(k)}catch(y){console.error(`[PawTask] Error in ${m} handler:`,y)}}(async()=>{try{const m=n?Mo(e):e,k=n?js(t):t.startsWith("/")?t:`/${t}`,g=await an(`/${m}${k}`,{method:"POST",headers:{"Content-Type":"application/json"},body:a!=null?JSON.stringify(a):void 0,signal:s==null?void 0:s.signal});if(!g.ok)throw new Error(`Task creation failed: ${g.status} ${g.statusText}`);const b=await g.json();if(i=b.task_id??b.taskId??"",!i)throw new Error("No task_id returned from backend");const y=await an(`/${m}/task/${encodeURIComponent(i)}/stream`,{headers:{Accept:"text/event-stream"},signal:s==null?void 0:s.signal});if(!y.ok||!y.body)throw new Error(`SSE connection failed: ${y.status}`);const T=y.body.getReader(),S=new TextDecoder;let P="";for(;;){const{done:w,value:C}=await T.read();if(w)break;P+=S.decode(C,{stream:!0});const x=P.split(` 200`);P=x.pop()??"";for(const I of x)if(I.startsWith("data: "))try{const R=JSON.parse(I.slice(6)),_=R.type??R.event??"message";if(_==="done"){u("done",R.data??R),r(R.data??R.result??null);return}else if(_==="error"){const A=new Error(R.message??"Task failed");u("error",R),l(A);return}else u(_,R.data??R)}catch{u("message",I.slice(6))}}r(null)}catch(m){m.name==="AbortError"?l(new Error("Task cancelled")):l(m)}})();const p={on(m,k){return o.has(m)||o.set(m,new Set),o.get(m).add(k),p},off(m,k){var g;return(g=o.get(m))==null||g.delete(k),p},cancel(){s==null||s.abort(),s=null},get result(){return d},get taskId(){return i}};return p}function QE(e,t,a){return jp(e,t,a,!1)}function JE(e,t,a){return jp(e,t,a,!0)}class YE extends Error{constructor(a,n,o={}){super(`PawApp API error ${a}: ${n}`);V(this,"status");V(this,"code");V(this,"detail");this.name="PawApiError",this.status=a,this.code=o.code,this.detail=o.detail}}function Gs(e,t,a,n=!0){const o=n?js(e):e.startsWith("/")?e:`/${e}`,i=`/${n?Mo(t):t}${o}`;if(!a)return i;const s=new URLSearchParams;for(const[l,d]of Object.entries(a))d!=null&&s.set(l,String(d));const r=s.toString();return r?`${i}${i.includes("?")?"&":"?"}${r}`:i}async function Vs(e){if(!e.ok){const a=await e.text().catch(()=>"");let n=a,o,i=a;try{const s=JSON.parse(a),r=s.detail??s.message??s;if(i=r,typeof r=="object"&&r!==null){const l=r;typeof l.code=="string"&&(o=l.code),typeof l.message=="string"?n=l.message:n=JSON.stringify(r)||a}else typeof s.code=="string"&&(o=s.code),n=typeof r=="string"?r:JSON.stringify(r)||a}catch{}throw new YE(e.status,n||e.statusText,{code:o,detail:i})}return e.status===204?void 0:(e.headers.get("content-type")??"").includes("application/json")?e.json():await e.text()}function XE(e,t){return async function(n,o={}){const i=o.method??"GET",s=o.body!==void 0&&o.body!==null,r=o.rawBody!==void 0&&o.rawBody!==null;if(s&&r)throw new Error("PawApp request cannot set both body and rawBody");const l=await an(Gs(n,e(),o.query,t),{method:i,headers:{...s?{"Content-Type":"application/json"}:{},...o.headers},body:r?o.rawBody:s?JSON.stringify(o.body):void 0,signal:o.signal});return Vs(l)}}function ZE(e,t){const a=XE(e,t);return{request:a,get:(n,o)=>a(n,{...o,method:"GET"}),post:(n,o,i)=>a(n,{...i,method:"POST",body:o}),put:(n,o,i)=>a(n,{...i,method:"PUT",body:o}),patch:(n,o,i)=>a(n,{...i,method:"PATCH",body:o}),delete:(n,o)=>a(n,{...o,method:"DELETE"}),async download(n,o){const i=await an(Gs(n,e(),o==null?void 0:o.query,t),{method:"GET",headers:o==null?void 0:o.headers,signal:o==null?void 0:o.signal});return i.ok||await Vs(i),i.blob()},stream:(n,o,i)=>eF(e,n,o,i,t),events:(n,o)=>Gp(e,n,o,t),task:(n,o)=>t?JE(e(),n,o):QE(e(),n,o)}}function $i(e){return ZE(e,!0)}async function*eF(e,t,a,n,o=!0){const i={...n,method:"POST",body:a};for await(const s of Gp(e,t,i,o))yield s.data}async function*Gp(e,t,a={},n=!0){var T;const o=a.method??"POST",i=a.body!==void 0&&a.body!==null,s=a.rawBody!==void 0&&a.rawBody!==null;if(i&&s)throw new Error("PawApp SSE request cannot set both body and rawBody");if(o==="GET"&&(i||s))throw new Error("PawApp GET SSE request cannot include a body");const r=await an(Gs(t,e(),a==null?void 0:a.query,n),{method:o,headers:{...i?{"Content-Type":"application/json"}:{},Accept:"text/event-stream",...a==null?void 0:a.headers},body:s?a.rawBody:i?JSON.stringify(a.body):void 0,signal:a==null?void 0:a.signal});r.ok||await Vs(r);const l=(T=r.body)==null?void 0:T.getReader();if(!l)throw new Error("No response body for stream");const d=new TextDecoder;let u="",p="message",m=[],k,g;function b(){if(m.length===0){p="message",k=void 0,g=void 0;return}const S={event:p,data:m.join(` 201`),...k!==void 0?{id:k}:{},...g!==void 0?{retry:g}:{}};return p="message",m=[],k=void 0,g=void 0,S}function y(S){const P=S.endsWith("\r")?S.slice(0,-1):S;if(P==="")return b();if(P.startsWith(":"))return;const w=P.indexOf(":"),C=w===-1?P:P.slice(0,w);let x=w===-1?"":P.slice(w+1);x.startsWith(" ")&&(x=x.slice(1)),C==="event"?p=x||"message":C==="data"?m.push(x):C==="id"&&!x.includes("\0")?k=x:C==="retry"&&/^\d+$/.test(x)&&(g=Number(x))}try{for(;;){const{done:P,value:w}=await l.read();if(P)break;u+=d.decode(w,{stream:!0});const C=u.split(` 202`);u=C.pop()??"";for(const x of C){const I=y(x);I&&(yield I)}}if(u+=d.decode(),u){const P=y(u);P&&(yield P)}const S=b();S&&(yield S)}finally{await l.cancel().catch(()=>{})}}
202class tF extends Error{constructor(a,n){super(a);V(this,"code");V(this,"detail");V(this,"event");this.name="PawChatStreamError",this.code=n.code,this.detail=n.detail,this.event=n.event}}function aF(e){if(!(typeof e!="object"||e===null||Array.isArray(e)))return e}function nF(e){const t=String(e.status||"").toLowerCase(),a=e.type==="error",n=e.object==="response"&&t==="failed";if(!a&&!n)return;const o=e.error??e,i=aF(o),s=(i&&typeof i.message=="string"?i.message:typeof o=="string"?o:"Chat failed")||"Chat failed",r=(i&&typeof i.code=="string"?i.code:"CHAT_STREAM_ERROR")||"CHAT_STREAM_ERROR";return new tF(s,{code:r,detail:o,event:e})}function Ws(e){var n,o,i,s;const t=e.agentId??((o=(n=window.QwenPaw.host)==null?void 0:n.getSelectedAgentId)==null?void 0:o.call(n))??"default",a=e.sessionId===void 0?((s=(i=window.QwenPaw.host)==null?void 0:i.getCurrentSessionId)==null?void 0:s.call(i))??void 0:e.sessionId??void 0;return{agentId:t,sessionId:a}}async function*oF(e,t,a={}){const{agentId:n,sessionId:o}=Ws(a);for await(const i of e.events("/chat/stream",{method:"POST",body:{message:t,session_id:o,skill:a.skill},query:{agent_id:n}})){let s;try{s=JSON.parse(i.data)}catch(l){const d=new Error("PawApp chat stream returned invalid JSON");throw d.cause=l,d}const r=nF(s);if(r)throw r;yield s}}async function iF(e,t={}){const{agentId:a,sessionId:n}=Ws(t),o=await e.get("/chat/history",{query:{agent_id:a,session_id:n}});return{sessionId:o.session_id||n||"",messages:Array.isArray(o.messages)?o.messages:[]}}function sF(e={}){var t,a;return e.agentId??((a=(t=window.QwenPaw.host)==null?void 0:t.getSelectedAgentId)==null?void 0:a.call(t))??"default"}function Oa(e){return{id:e.id||"",sessionId:e.session_id||"",name:e.name||"New analysis",createdAt:e.created_at||"",updatedAt:e.updated_at||"",archived:e.archived===!0,pinned:e.pinned===!0}}function rF(e){const t=(a={})=>({agent_id:sF(a)});return{async list(a={}){return((await e.get("/chat/sessions",{query:t(a)})).sessions||[]).map(Oa)},async create(a={}){const n=await e.post("/chat/sessions",{name:a.name||"New analysis"},{query:t(a)});return Oa(n)},async rename(a,n,o={}){const i=await e.patch(`/chat/sessions/${encodeURIComponent(a)}`,{name:n},{query:t(o)});return Oa(i)},async archive(a,n={}){const o=await e.post(`/chat/sessions/${encodeURIComponent(a)}/archive`,void 0,{query:t(n)});return Oa(o)},async pin(a,n,o={}){const i=await e.post(`/chat/sessions/${encodeURIComponent(a)}/pin`,{pinned:n},{query:t(o)});return Oa(i)},async delete(a,n={}){await e.delete(`/chat/sessions/${encodeURIComponent(a)}`,{query:t(n)})}}}function lF(e){const t=$i(e),a={get:async(n,o)=>{try{return(await t.get(`/storage/${encodeURIComponent(n)}`)).value??o}catch{return o}},set:async(n,o)=>{await t.put(`/storage/${encodeURIComponent(n)}`,{value:o})},delete:async n=>{await t.delete(`/storage/${encodeURIComponent(n)}`)},keys:async()=>(await t.get("/storage")).keys??[]};return{async chat(n,o={}){const{agentId:i,sessionId:s}=Ws(o),r=await t.post("/chat",{message:n,session_id:s,skill:o.skill},{query:{agent_id:i}});return r.text??r.reply??""},chatStream(n,o={}){return oF(t,n,o)},getChatHistory(n={}){return iF(t,n)},chatSessions:rF(t),storage:a,getSelectedAgentId:()=>{var n,o;return((o=(n=window.QwenPaw.host)==null?void 0:n.getSelectedAgentId)==null?void 0:o.call(n))??"default"},getCurrentSessionId:()=>{var n,o;return((o=(n=window.QwenPaw.host)==null?void 0:n.getCurrentSessionId)==null?void 0:o.call(n))??null},async toast(n,o="info"){const i=window.QwenPaw.host;if(i!=null&&i.toast){i.toast(n,o);return}await t.post("/toast",{message:n,kind:o})},async notify(n,o){await t.post("/notify",{title:n,body:o})}}}function dF(e){return function(){const a=h.useRef(null);return h.useEffect(()=>{if(!a.current)return;const n=e(a.current);return()=>{typeof n=="function"?n():n==null||n.dispose()}},[]),c.jsx("div",{ref:a,style:{width:"100%",height:"100%"}})}}function me(){if(!window.QwenPaw.chat)throw new Error("PawApp chat UI capabilities are unavailable");return window.QwenPaw.chat}function ce(e){return typeof e=="function"?e():e}function cF(e){return{theme:{set:t=>me().theme.set(ce(e),t)},welcome:{set:t=>me().welcome.set(ce(e),t),render:t=>me().welcome.render(ce(e),t)},leftHeader:{set:t=>me().leftHeader.set(ce(e),t),render:t=>me().leftHeader.render(ce(e),t)},rightHeader:{add:(t,a)=>me().rightHeader.add(ce(e),t,a)},sender:{set:t=>me().sender.set(ce(e),t),addPrefix:(t,a)=>me().sender.addPrefix(ce(e),t,a),addSuggestion:t=>me().sender.addSuggestion(ce(e),t)},actions:{add:t=>me().actions.add(ce(e),t)},requestActions:{add:t=>me().requestActions.add(ce(e),t)},requestPayload:{add:(t,a)=>me().requestPayload.add(ce(e),t,a)},request:{render:t=>me().request.render(ce(e),t),prepend:(t,a)=>
202me().request.prepend(ce(e),t,a),append:(t,a)=>me().request.append(ce(e),t,a)},response:{set:t=>me().response.set(ce(e),t),render:t=>me().response.render(ce(e),t),prepend:(t,a)=>me().response.prepend(ce(e),t,a),append:(t,a)=>me().response.append(ce(e),t,a)},toolRender:(t,a)=>me().toolRender(ce(e),t,a),approvalRender:(t,a)=>me().approval.render(ce(e),t,a),card:(t,a)=>me().card(ce(e),t,a),disposeAll:()=>me().disposeAll(ce(e))}}function uF(e){return{registerPage(t){const a=Mo(ce(e));if(!!t.component==!!t.mount)throw new Error("PawApp page registration requires exactly one of component or mount");const n=js(t.path??`/apps/${a}`);if(n!==`/apps/${a}`&&!n.startsWith(`/apps/${a}/`))throw new Error(`PawApp page path must stay under /apps/${a}`);const o=t.component??dF(t.mount);return ot.add(a,{id:`pawapp:${a}:${n}`,path:n,component:o})},chat:cF(e)}}function pF(e){const t=(a=!1)=>e.get("/dependencies",{query:a?{force:!0}:void 0});return{list:t,get:(a,n=!1)=>e.get(`/dependencies/${encodeURIComponent(a)}`,{query:n?{force:!0}:void 0}),check:a=>e.post(`/dependencies/${encodeURIComponent(a)}/actions/check`),action:(a,n,o)=>e.post(`/dependencies/${encodeURIComponent(a)}/actions/${encodeURIComponent(n)}`,void 0,o!=null&&o.idempotencyKey?{headers:{"Idempotency-Key":o.idempotencyKey}}:void 0),subscribe(a,n={}){let o=!1,i;const s=Math.max(1e3,n.intervalMs??1e4),r=async()=>{try{const l=await t(!!n.force);o||a(l)}catch{}finally{o||(i=setTimeout(r,s))}};return r(),{dispose(){o=!0,i&&clearTimeout(i)}}}}}const bd=new Map;function mF(e){const t=Mo(e),a=bd.get(t);if(a)return a;const n=()=>t,o=lF(n),i={appId:t,api:$i(n),host:o,ui:uF(t),dependencies:pF($i(n)),chat:o.chat,chatStream:o.chatStream,getChatHistory:o.getChatHistory,chatSessions:o.chatSessions,storage:o.storage,toast:o.toast,notify:o.notify};return bd.set(t,i),i}const hF={forApp:mF};class gF{constructor(){V(this,"records",new Map);V(this,"listeners",new Set)}addRoutes(t,a){this._record(t).routes.push(...a),this._notify()}addToolRenderers(t,a,n){const o=this._record(t);n!=null&&n.isBuiltin&&(o.isBuiltin=!0),Object.assign(o.toolRenderers,a),this._notify()}removePlugin(t){this.records.delete(t)&&this._notify()}getToolRenderConfig(){const t={},a={};for(const n of this.records.values()){const o=n.isBuiltin?t:a;Object.assign(o,n.toolRenderers)}return{...t,...a}}getRoutes(){const t=[];for(const a of this.records.values())t.push(...a.routes);return t.sort((a,n)=>(a.priority??0)-(n.priority??0))}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}_record(t){return this.records.has(t)||this.records.set(t,{pluginId:t,isBuiltin:!1,routes:[],toolRenderers:{}}),this.records.get(t)}_notify(){this.listeners.forEach(t=>t())}}const ma=new gF;function fF(){je.snapshot("primary.settings").some(t=>t.id==="plugins-group")||je.addBuiltin([{id:"plugins-group",location:"primary.settings",label:"Plugins",isGroup:!0,order:999}])}function bF(){window.QwenPaw||(window.QwenPaw={}),window.QwenPaw.host||(window.QwenPaw.host={React:Ne,ReactDOM:Qi,antd:ah,antdIcons:th,apiBaseUrl:"",getApiUrl:ee,getApiToken:Sa}),window.QwenPaw.menu||(window.QwenPaw.menu=jE()),window.QwenPaw.route||(window.QwenPaw.route=GE()),window.QwenPaw.slot||(window.QwenPaw.slot=VE()),window.QwenPaw.audit||(window.QwenPaw.audit=WE()),window.QwenPaw.paw||(window.QwenPaw.paw=hF),window.QwenPaw.registerRoutes||(window.QwenPaw.registerRoutes=(t,a)=>{for(const n of a){const o=`legacy:${t}:${n.path.replace(/^\//,"")}`;ot.add(t,{id:o,path:n.path,component:n.component}),!/^\/apps\//.test(n.path)&&(fF(),je.add(t,{id:o,location:"primary.settings",parentId:"plugins-group",label:n.label,icon:Ne.createElement("span",{style:{fontSize:16}},n.icon),route:o,order:n.priority??0}))}ma.addRoutes(t,a),console.info(`[plugin:${t}] registerRoutes â ${a.length} route(s) (translated to menu+route)`)}),window.QwenPaw.registerToolRender||(window.QwenPaw.registerToolRender=(t,a)=>{ma.addToolRenderers(t,a),console.info(`[plugin:${t}] registerToolRender â ${Object.keys(a).join(", ")}`)})}class kF{constructor(){V(this,"scalarStacks",new Map);V(this,"listMaps",{"header.rightHeader":[],"sender.prefix":[],"sender.suggestions":[],actions:[],requestActions:[],cards:[],customToolRender:[],"approval.renderers":[],"request.prepe
202nd":[],"request.append":[],"request.payloadTransforms":[],"response.prepend":[],"response.append":[]});V(this,"listeners",new Set);V(this,"scalarSnapshot",{});V(this,"listSnapshot",{...this.listMaps});V(this,"seq",0)}setScalar(t,a,n){const o=this.scalarStacks.get(a)??[],i=o[o.length-1],s={registrationId:this.nextId(),pluginId:t,field:a,value:n,registeredAt:Date.now()};o.push(s),this.scalarStacks.set(a,o),ke.record({kind:"chat.scalar.set",field:a,pluginId:t,supersededPluginId:i==null?void 0:i.pluginId,timestamp:s.registeredAt}),i&&i.pluginId!==t&&ke.record({kind:"chat.scalar.superseded",field:a,pluginId:i.pluginId,supersededPluginId:t,timestamp:s.registeredAt}),this.rebuildScalarSnapshot(),this.notify();let r=!1;return{dispose:()=>{if(r)return;r=!0;const l=this.scalarStacks.get(a)??[],d=l.findIndex(u=>u.registrationId===s.registrationId);d<0||(l.splice(d,1),this.scalarStacks.set(a,l),ke.record({kind:"chat.scalar.dispose",field:a,pluginId:t,timestamp:Date.now()}),this.rebuildScalarSnapshot(),this.notify())}}}addRightHeader(t,a){return this.addToList("header.rightHeader",t,a)}addSenderPrefix(t,a){return this.addToList("sender.prefix",t,a)}addSenderSuggestions(t,a){return this.addToList("sender.suggestions",t,a)}addAction(t,a){return this.addToList("actions",t,{id:a.id,pluginId:t,item:a})}addRequestAction(t,a){return this.addToList("requestActions",t,{id:a.id,pluginId:t,item:a})}addToolRender(t,a,n){return this.addToList("customToolRender",t,{id:`${t}:${a}`,toolName:a,render:n})}addCard(t,a,n){return this.addToList("cards",t,{id:`${t}:${a}`,cardName:a,render:n})}addApprovalRenderer(t,a,n){return this.addToList("approval.renderers",t,{id:`${t}:${a}`,sourceType:a,render:n})}addRequestPrepend(t,a){return this.addToList("request.prepend",t,a)}addRequestAppend(t,a){return this.addToList("request.append",t,a)}addRequestPayloadTransform(t,a){return this.addToList("request.payloadTransforms",t,a)}addResponsePrepend(t,a){return this.addToList("response.prepend",t,a)}addResponseAppend(t,a){return this.addToList("response.append",t,a)}addToList(t,a,n){const o=this.nextId(),i=Date.now(),s={registrationId:o,pluginId:a,item:n,registeredAt:i};this.listMaps[t].push(s),ke.record({kind:"chat.list.add",field:t,pluginId:a,detail:this.itemDescription(t,n),timestamp:i}),this.rebuildListSnapshot(t),this.notify();let r=!1;return{dispose:()=>{if(r)return;r=!0;const l=this.listMaps[t],d=l.findIndex(u=>u.registrationId===o);d<0||(l.splice(d,1),ke.record({kind:"chat.list.dispose",field:t,pluginId:a,timestamp:Date.now()}),this.rebuildListSnapshot(t),this.notify())}}}disposeAll(t){let a=!1;for(const[n,o]of this.scalarStacks){const i=o.filter(s=>s.pluginId!==t);i.length!==o.length&&(this.scalarStacks.set(n,i),a=!0)}for(const n of Object.keys(this.listMaps)){const o=this.listMaps[n],i=o.filter(s=>s.pluginId!==t);i.length!==o.length&&(this.listMaps[n]=i,a=!0)}if(a){this.rebuildScalarSnapshot();for(const n of Object.keys(this.listMaps))this.rebuildListSnapshot(n);this.notify()}}getScalarSnapshot(){return this.scalarSnapshot}getListSnapshot(){return this.listSnapshot}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}__resetForTests(){this.scalarStacks.clear();for(const t of Object.keys(this.listMaps))this.listMaps[t]=[];this.rebuildScalarSnapshot();for(const t of Object.keys(this.listMaps))this.rebuildListSnapshot(t);this.listeners.clear(),this.seq=0}nextId(){return this.seq+=1,`r${this.seq}`}rebuildScalarSnapshot(){const t={};for(const[a,n]of this.scalarStacks){const o=n[n.length-1];o&&(t[a]={pluginId:o.pluginId,value:o.value})}this.scalarSnapshot=t}rebuildListSnapshot(t){this.listSnapshot={"header.rightHeader":this.listMaps["header.rightHeader"].slice(),"sender.prefix":this.listMaps["sender.prefix"].slice(),"sender.suggestions":this.listMaps["sender.suggestions"].slice(),actions:this.listMaps.actions.slice(),requestActions:this.listMaps.requestActions.slice(),cards:this.listMaps.cards.slice(),customToolRender:this.listMaps.customToolRender.slice(),"approval.renderers":this.listMaps["approval.renderers"].slice(),"request.prepend":this.listMaps["request.prepe
202nd"].slice(),"request.append":this.listMaps["request.append"].slice(),"request.payloadTransforms":this.listMaps["request.payloadTransforms"].slice(),"response.prepend":this.listMaps["response.prepend"].slice(),"response.append":this.listMaps["response.append"].slice()}}notify(){for(const t of this.listeners)try{t()}catch(a){console.warn("[QwenPaw] chatExtensions listener threw:",a)}}itemDescription(t,a){if(t==="actions"||t==="requestActions"){const n=a;return(n==null?void 0:n.id)??"(no id)"}return t==="customToolRender"?a.toolName:t==="cards"?a.cardName:t==="approval.renderers"?a.sourceType:t==="sender.suggestions"?a.id:a.id??"(no id)"}}const yF=new kF;function vF(e){je.removeBySource(e),ot.removeBySource(e),$a.removeBySource(e),ma.removePlugin(e),yF.disposeAll(e)}const ti=new Map;function Vp(){const e=Sa();return e?{Authorization:`Bearer ${e}`}:{}}function Wp(e,t){return ee(`frontend_plugin/${e}/files/${t}`)}async function zp(){const e=await fetch(ee("/frontend_plugin"),{headers:Vp()});if(!e.ok)throw new Error(`Failed to list frontend plugins (${e.status})`);return e.json()}async function Kp(e){const t=await fetch(e,{headers:Vp()});if(!t.ok)throw new Error(`HTTP ${t.status} for ${e}`);const a=URL.createObjectURL(new Blob([await t.text()],{type:"application/javascript"}));try{await import(a)}finally{URL.revokeObjectURL(a)}}async function TF(){let e;try{e=await zp()}catch(o){return console.warn("[PluginLoader] failed to fetch plugin list:",o),{loaded:0,failed:[]}}const t=e.filter(o=>o.frontend_entry),n=(await Promise.allSettled(t.map(o=>Kp(Wp(o.id,o.frontend_entry))))).flatMap((o,i)=>o.status==="rejected"?[`${t[i].id}: ${o.reason}`]:[]);return{loaded:t.length-n.length,failed:n}}function cB(e,t){const a=()=>ot.snapshot().some(i=>i.source===e&&i.path.startsWith("/apps/")&&(!t||i.path===t));if(a())return Promise.resolve();const n=ti.get(e);if(n)return n;const o=(async()=>{const s=(await zp()).find(r=>r.id===e);if(!(s!=null&&s.frontend_entry)||s.plugin_type!=="app")throw new Error(`PawApp frontend plugin not found: ${e}`);try{if(await Kp(Wp(s.id,s.frontend_entry)),!a())throw new Error(`PawApp ${e} did not register its app route`)}catch(r){throw vF(e),r}})().finally(()=>{ti.delete(e)});return ti.set(e,o),o}function kd(){return ot.snapshot().filter(e=>e.source!=="core").map(e=>({path:e.path,component:e.Component,label:e.id,icon:""}))}const $p=h.createContext({toolRenderConfig:{},pluginRoutes:[],loading:!0,error:null});function SF({children:e}){const[t,a]=h.useState(ma.getToolRenderConfig()),[n,o]=h.useState(kd()),[i,s]=h.useState(!0),[r,l]=h.useState(null);return h.useEffect(()=>{let d=!1;const u=ma.subscribe(()=>{a(ma.getToolRenderConfig())}),p=cn(()=>{o(kd())}),m=async()=>{const[{installHostSdk:y},{registerBuiltinCards:T}]=await Promise.all([f(()=>import("./install-PK32tiu8.js"),__vite__mapDeps([0,1,2,3,4,5,6,7])),f(()=>import("./registerBuiltinCards-C46HIZ6m.js"),__vite__mapDeps([8,3,9,10,4,5,6,2,11,12,13,14,15,16,7]))]);return y(),T(),TF()},k=()=>{m().then(({failed:y})=>{!d&&y.length>0&&l(y.join("; "))}).catch(y=>{d||l(y instanceof Error?y.message:"Plugin initialization failed")}).finally(()=>{d||s(!1)})},g=window,b=g.requestIdleCallback?g.requestIdleCallback(k):window.setTimeout(k,1e3);return()=>{d=!0,u(),p(),g.cancelIdleCallback?g.cancelIdleCallback(b):window.clearTimeout(b)}},[]),c.jsx($p.Provider,{value:{toolRenderConfig:t,pluginRoutes:n,loading:i,error:r},children:e})}function uB(){return h.useContext($p)}const CF="index-module__takeover__bxcuk",wF="index-module__center__Tgtev",PF="index-module__title__nrCOa",AF="index-module__subtitle__426yU",MF="index-module__willRestart__oQiCe",DF="index-module__steps__v08BR",xF="index-module__progressLine__3KQKe",RF="index-module__errorMessage__EHHt-",IF="index-module__actions__69Qu1",qe={takeover:CF,center:wF,title:PF,subtitle:AF,willRestart:MF,steps:DF,progressLine:xF,errorMessage:RF,actions:IF};function _F({children:e}){const{phase:t,isBackground:a}=qs();return(t==="checking"||t==="downloading"||t==="installing"||t==="failed")&&!a?c.jsx(LF,{}):c.jsx(c.Fragment,{children:e})}const Qe="sidebar.updateModal";function ai(e){if(!Number.isFinite(e)||e<=0)return"0 B";const t=["B","KB","MB","GB"];let a=0,n=e;for(;n>=1024&&a<t.length-1;)n/=1024,a++;return`${n.toFixed(n>=100||a===0?0:1)} ${t[a]}`}function LF(){var l,d;const{t:e}=ve(),t=qs();if(t.phase==="failed"){const u=((l=t.error)==null?void 0:l.kind)??"other";return c.jsx("div",{className:qe.takeover,children:c.jsxs("div",{className:qe.center,children:[c.jsx(si,{type:"circle",percent:100,status:"exception",size:96}),c.jsx("h1",{className:qe.title,children:e(`${Qe}.failedTitle`)}),c.jsx("p",{className:qe.subtitle,children:e(`${Qe}.errors.${u}`)}),((d=t.error)==null?void 0:d.message)&&c.jsx("pre",{className:qe.errorMessage,children:t.error.message}),c.jsxs("div",{className:qe.actions,children:[c.jsx(ct,{onClick:t.dismissFailure,children:e(`${Qe}.back`)}),c.jsx(ct,{type:"primary",onClick:t.retry,children:e(`${Qe}.retry`)}
202)]})]})})}const a=t.phase==="downloading"?1:t.phase==="installing"?2:0,n=t.phase==="downloading",o=t.total??null,i=n&&o&&o>0?Math.min(100,Math.round(t.downloaded/o*100)):null,s=e(`${Qe}.${t.phase}`),r=t.phase==="checking"?e(`${Qe}.checkingHint`):e(`${Qe}.downloadingTo`,{version:t.version});return c.jsx("div",{className:qe.takeover,children:c.jsxs("div",{className:qe.center,children:[i!==null?c.jsx(si,{type:"circle",percent:i,size:96}):c.jsx(nn,{size:"large"}),c.jsx("h1",{className:qe.title,children:s}),c.jsx("p",{className:qe.subtitle,children:r}),c.jsx("p",{className:qe.willRestart,children:e(`${Qe}.willRestart`)}),c.jsx(nh,{size:"small",current:a,className:qe.steps,items:[{title:e(`${Qe}.stepPrepare`)},{title:e(`${Qe}.stepDownloading`)},{title:e(`${Qe}.stepInstalling`)}]}),n&&c.jsx("p",{className:qe.progressLine,children:e(`${Qe}.downloadProgress`,{done:ai(t.downloaded),total:o?ai(o):"-",rate:`${ai(t.throughputBps)}/s`})})]})})}class EF{constructor(){V(this,"modules",new Map)}register(t,a){const n={};try{for(const o of Object.keys(a))try{const i=Object.getOwnPropertyDescriptor(a,o);i&&i.enumerable&&(n[o]=a[o])}catch(i){console&&console.warn&&console.warn(`[moduleRegistry] Cannot copy property ${o} from ${t}:`,i)}this.modules.set(t,n)}catch(o){console&&console.error&&console.error(`[moduleRegistry] Failed to register module: ${t}`,o)}}get(t,a){const n=this.modules.get(t);if(!n){console.warn(`[moduleRegistry] Module not found: ${t}`);return}return n[a]}call(t,a,...n){const o=this.get(t,a);if(typeof o!="function"){console.error(`[moduleRegistry] Export "${a}" in "${t}" is not callable`);return}return o(...n)}keys(){return Array.from(this.modules.keys())}getModule(t){return this.modules.get(t)}getAllModules(){const t={};for(const[a,n]of this.modules)t[a]=n;return t}}const Qp=new EF;typeof window<"u"&&(window.QwenPaw||(window.QwenPaw={}),Object.defineProperty(window.QwenPaw,"modules",{get(){return Qp.getAllModules()},configurable:!0,enumerable:!0}));const FF=3,OF=1e3;function BF(e){const t=e.replace(/^.*\/pages\//,"").replace(/\.[^.]+$/,"");return t.includes("/")&&!/\/index$/.test(t)?`${t}/index`:t}function Jp(e,t){return e().catch(a=>{if(t<=0)throw a;return new Promise(n=>setTimeout(()=>n(Jp(e,t-1)),OF))})}const Ba=Object.assign({
202"../pages/Agent/ACP/components/ACPCard.tsx":()=>f(()=>import("./ACPCard-C4zOJgWk.js"),__vite__mapDeps([17,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Agent/ACP/components/ACPDrawer.tsx":()=>f(()=>import("./ACPDrawer-B9sxzYjX.js").then(e=>e.d),__vite__mapDeps([18,3,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/ACP/index.tsx":()=>f(()=>import("./index-BbHZtuPQ.js"),__vite__mapDeps([19,4,3,5,6,20,21,18,2,22,17,7,23])).then(e=>e.default),
202"../pages/Agent/Checkpoints/CheckpointGraph.tsx":()=>f(()=>import("./CheckpointGraph-BAUhTaXQ.js"),__vite__mapDeps([24,3,25,26,2,4,5,6,7])).then(e=>e.default),
202"../pages/Agent/Checkpoints/RestoreModal.tsx":()=>f(()=>import("./RestoreModal-BQdLWM-x.js").then(e=>e.a),__vite__mapDeps([27,3,25,26,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Checkpoints/graphLayout.ts":()=>f(()=>import("./graphLayout-DsTwB23q.js"),[]).then(e=>e.default),
202"../pages/Agent/Checkpoints/index.tsx":()=>f(()=>import("./index-W-1h6qhM.js"),__vite__mapDeps([28,3,20,21,27,25,26,2,4,5,6,29,24,7])).then(e=>e.default),
202"../pages/Agent/Config/components/ADBPGConfigCard.tsx":()=>f(()=>import("./ADBPGConfigCard-D1fyqxY7.js"),__vite__mapDeps([30,3,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Config/components/AgentLoopCard.tsx":()=>f(()=>import("./AgentLoopCard-B7kUN2Pi.js"),__vite__mapDeps([31,3,7,32,33,2,4,5,6,34])).then(e=>e.default),
202"../pages/Agent/Config/components/EmbeddingModelCard.tsx":()=>f(()=>import("./EmbeddingModelCard-MQvhvOg6.js"),__vite__mapDeps([35,3,36,32,33,37,38,4,5,6,2,7])).then(e=>e.default),
202"../pages/Agent/Config/components/LightContextCard.tsx":()=>f(()=>import("./LightContextCard-xZFovL48.js"),__vite__mapDeps([39,3,40,32,33,4,5,6,41,42,2])).then(e=>e.default),
202"../pages/Agent/Config/components/LlmRateLimiterCard.tsx":()=>f(()=>import("./LlmRateLimiterCard-BySMFRa7.js"),__vite__mapDeps([43,3,32,33,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Config/components/LlmRetryCard.tsx":()=>f(()=>import("./LlmRetryCard-Dl8ob0-U.js"),__vite__mapDeps([44,3,32,33,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Config/components/PowerContextConfigCard.tsx":()=>f(()=>import("./PowerContextConfigCard-D0yPt9T2.js"),__vite__mapDeps([45,3,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Config/components/ReMeLightMemoryCard.tsx":()=>f(()=>import("./ReMeLightMemoryCard-CyEqqCwm.js"),__vite__mapDeps([46,3,32,33,37,47,2,4,5,6,7])).then(e=>e.default),
202"../pages/Agent/Config/components/ReMeStatusModal.tsx":()=>f(()=>import("./ReMeStatusModal-tYHKCjZ5.js"),__vite__mapDeps([47,3,32,33,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Config/components/ReactAgentCard.tsx":()=>f(()=>import("./ReactAgentCard-Cma5GYB8.js"),__vite__mapDeps([48,3,4,5,6,2,49,50,39,40,32,33,41,42,46,37,47,7,30,45,51])).then(e=>e.default),
202"../pages/Agent/Config/components/SliderWithValue.tsx":()=>f(()=>import("./SliderWithValue-BmS3E491.js"),__vite__mapDeps([40,3,32,33,4,5,6])).then(e=>e.default),
202"../pages/Agent/Config/components/ToolExecutionLevelCard.tsx":()=>f(()=>import("./ToolExecutionLevelCard-DEQT8N7H.js"),__vite__mapDeps([52,3,32,33,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Config/components/VisualCompactSettings.tsx":()=>f(()=>import("./VisualCompactSettings-DPQgdbZX.js"),__vite__mapDeps([42,3,32,33,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Config/components/embeddingUtils.ts":()=>f(()=>import("./embeddingUtils-DgIXRuaC.js"),[]).then(e=>e.default),
202"../pages/Agent/Config/components/index.ts":()=>f(()=>import("./index-Dx53S_Nf.js"),__vite__mapDeps([53,40,3,32,33,4,5,6,48,2,49,50,39,41,42,46,37,47,7,30,45,51,31,34,44,43,35,36,38,52])).then(e=>e.default),
202"../pages/Agent/Config/components/toolResultSettings.ts":()=>f(()=>import("./toolResultSettings-CZtTKPre.js"),[]).then(e=>e.default),
202"../pages/Agent/Config/components/useEmbeddingVerification.ts":()=>f(()=>import("./useEmbeddingVerification-DpzZmoLo.js"),__vite__mapDeps([38,3,36,4,5,6,2,7])).then(e=>e.default),
202"../pages/Agent/Config/index.tsx":()=>f(()=>import("./index-D5gjzlxZ.js"),__vite__mapDeps([54,3,55,50,39,40,32,33,4,5,6,41,42,2,46,37,47,7,30,45,48,49,51,31,34,44,43,35,36,38,52,20,21,56])).then(e=>e.default),
202"../pages/Agent/Config/memoryMaintenanceContext.ts":()=>f(()=>import("./memoryMaintenanceContext-DxqV1BjJ.js"),__vite__mapDeps([37,3])).then(e=>e.default),
202"../pages/Agent/Config/useAgentConfig.tsx":()=>f(()=>import("./useAgentConfig-D4LWtFt2.js"),__vite__mapDeps([55,3,50,39,40,32,33,4,5,6,41,42,2,46,37,47,7,30,45])).then(e=>e.default),
202"../pages/Agent/Config/useReMeRuntimeStatus.ts":()=>f(()=>import("./useReMeRuntimeStatus-Dpz9ksxo.js"),__vite__mapDeps([56,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Agent/MCP/accessPolicy.ts":()=>f(()=>import("./accessPolicy-D5yKlKW-.js"),[]).then(e=>e.default),
202"../pages/Agent/MCP/components/MCPAccessClientPanel.tsx":()=>f(()=>import("./MCPAccessClientPanel-BbipD0DW.js"),__vite__mapDeps([57,3,58,59,60,61,4,5,6,62,2])).then(e=>e.default),
202"../pages/Agent/MCP/components/MCPAccessModal.tsx":()=>f(()=>import("./MCPAccessModal-Dtrt8tw5.js"),__vite__mapDeps([63,3,58,59,60,57,61,4,5,6,62,2,64,7])).then(e=>e.default),
202"../pages/Agent/MCP/components/MCPAccessPolicySegmented.tsx":()=>f(()=>import("./MCPAccessPolicySegmented-BJjO0LlT.js"),__vite__mapDeps([61,3,59,60,4,5,6])).then(e=>e.default),
202"../pages/Agent/MCP/components/MCPAccessRuleRows.tsx":()=>f(()=>import("./MCPAccessRuleRows-CMvVLGsw.js"),__vite__mapDeps([62,3,58,59,60,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/MCP/components/MCPAccessToolPanel.tsx":()=>f(()=>import("./MCPAccessToolPanel-BBSNAQFW.js"),__vite__mapDeps([64,3,58,59,60,61,4,5,6,62,2])).then(e=>e.default),
202"../pages/Agent/MCP/components/MCPClientCard.tsx":()=>f(()=>import("./index-SvwHl0E2.js").then(e=>e.a),__vite__mapDeps([65,3,63,58,59,60,57,61,4,5,6,62,2,64,7,66])).then(e=>e.default),
202"../pages/Agent/MCP/components/MCPOAuthSection.tsx":()=>f(()=>import("./MCPOAuthSection-BAobGauy.js"),__vite__mapDeps([66,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Agent/MCP/components/index.ts":()=>f(()=>import("./index-SvwHl0E2.js").then(e=>e.i),__vite__mapDeps([65,3,63,58,59,60,57,61,4,5,6,62,2,64,7,66])).then(e=>e.default),
202"../pages/Agent/MCP/index.tsx":()=>f(()=>import("./index-BmidOtem.js"),__vite__mapDeps([67,3,65,63,58,59,60,57,61,4,5,6,62,2,64,7,66,68,69,20,21])).then(e=>e.default),
202"../pages/Agent/MCP/useMCP.ts":()=>f(()=>import("./useMCP-Br23EKE8.js"),__vite__mapDeps([68,3,69,2,4,5,6,7])).then(e=>e.default),
202"../pages/Agent/Skills/components/AddSkillDropdown.tsx":()=>f(()=>import("./AddSkillDropdown-b8A3tmUb.js"),__vite__mapDeps([70,3,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Skills/components/HeaderActions.tsx":()=>f(()=>import("./HeaderActions-zK81qe0n.js"),__vite__mapDeps([71,3,70,2,4,5,6,72,73])).then(e=>e.default),
202"../pages/Agent/Skills/components/ImportHubModal.tsx":()=>f(()=>import("./ImportHubModal-BaYsg7hB.js").then(e=>e.a),__vite__mapDeps([74,3,75,4,5,6,72,73,2,76,77,78,79,12,80,81,82,83,84,85,86,87,71,70,88,89,7,90,91,92])).then(e=>e.default),
202"../pages/Agent/Skills/components/PoolTransferModal.tsx":()=>f(()=>import("./PoolTransferModal-Skd0LWHz.js"),__vite__mapDeps([84,3,81,85,86,87,2,72,73,4,5,6])).then(e=>e.default),
202"../pages/Agent/Skills/components/ProviderSkillDrawer.tsx":()=>f(()=>import("./ProviderSkillDrawer-hO4TzOYa.js"),__vite__mapDeps([90,3,2,4,5,6,91])).then(e=>e.default),
202"../pages/Agent/Skills/components/SkillCard.tsx":()=>f(()=>import("./SkillCard-D7d4Jpnf.js"),__vite__mapDeps([75,3,4,5,6,72,73,2])).then(e=>e.default),
202"../pages/Agent/Skills/components/SkillDrawer.tsx":()=>f(()=>import("./SkillDrawer-DI2-Qvlw.js").then(e=>e.c),__vite__mapDeps([76,3,77,78,79,4,5,6,2,12,80,81,82])).then(e=>e.default),
202"../pages/Agent/Skills/components/SkillFilterDropdown.tsx":()=>f(()=>import("./SkillFilterDropdown-BnkqN8Up.js"),__vite__mapDeps([87,3,86,2])).then(e=>e.default),
202"../pages/Agent/Skills/components/SkillListItem.tsx":()=>f(()=>import("./SkillListItem-D7o-Xxk6.js"),__vite__mapDeps([89,3,81,75,4,5,6,72,73,2,7])).then(e=>e.default),
202"../pages/Agent/Skills/components/SkillsToolbar.tsx":()=>f(()=>import("./SkillsToolbar-KBqTox-g.js"),__vite__mapDeps([88,3,87,86,2,72,73,4,5,6])).then(e=>e.default),
202"../pages/Agent/Skills/components/index.ts":()=>f(()=>import("./ImportHubModal-BaYsg7hB.js").then(e=>e.i),__vite__mapDeps([74,3,75,4,5,6,72,73,2,76,77,78,79,12,80,81,82,83,84,85,86,87,71,70,88,89,7,90,91,92])).then(e=>e.default),
202"../pages/Agent/Skills/components/skillMetadata.ts":()=>f(()=>import("./skillMetadata-TCIsEf6A.js").then(e=>e.s),[]).then(e=>e.default),
202"../pages/Agent/Skills/components/useConflictRenameModal.tsx":()=>f(()=>import("./useConflictRenameModal-9kvRZJRC.js"),__vite__mapDeps([83,3,2,4,5,6])).then(e=>e.default),
202"../pages/Agent/Skills/index.tsx":()=>f(()=>import("./index-DKnpJuil.js"),__vite__mapDeps([93,3,75,4,5,6,72,73,2,76,77,78,79,12,80,81,82,74,83,84,85,86,87,71,70,88,89,7,90,91,92,20,21,94,95,22,96,97,69,98])).then(e=>e.default),
202"../pages/Agent/Skills/useSkillFilter.ts":()=>f(()=>import("./useSkillFilter-V336M0s8.js"),__vite__mapDeps([85,3,86])).then(e=>e.default),
202"../pages/Agent/Skills/useSkills.ts":()=>f(()=>import("./useSkills-GDHB4qmu.js"),__vite__mapDeps([97,3,69,22,96,4,5,6,98,2,7])).then(e=>e.default),
202"../pages/Agent/Skills/useSkillsPage.tsx":()=>f(()=>import("./useSkillsPage-BPrT-_CL.js"),__vite__mapDeps([94,3,75,4,5,6,72,73,2,83,85,86,89,81,7,95,22,96,97,69,98])).then(e=>e.default),
202"../pages/Agent/Tools/WebSearchConfigModal.tsx":()=>f(()=>import("./WebSearchConfigModal-91UVSbuS.js"),__vite__mapDeps([99,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Agent/Tools/index.tsx":()=>f(()=>import("./index-DXLgk3RU.js"),__vite__mapDeps([100,3,101,2,4,5,6,7,20,21,99,102])).then(e=>e.default),
202"../pages/Agent/Tools/useTools.ts":()=>f(()=>import("./useTools-BgEYIo1s.js"),__vite__mapDeps([101,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/AppCenter/AppCard.tsx":()=>f(()=>import("./AppCard-CEOX4XpT.js"),__vite__mapDeps([103,3,104,105,2,4,5,6])).then(e=>e.default),
202"../pages/AppCenter/AppMarket.tsx":()=>f(()=>import("./AppMarket-C7wzVsK9.js"),__vite__mapDeps([106,3,107,108,109,104,105,2,4,5,6,7])).then(e=>e.default),
202"../pages/AppCenter/index.tsx":()=>f(()=>import("./index-TFPDXvqg.js"),__vite__mapDeps([110,4,3,5,6,111,20,21,2,112,113,114,115,103,104,105,7])).then(e=>e.default),
202"../pages/Chat/HostBubbles.tsx":()=>f(()=>import("./HostBubbles-B0QmsmHA.js").then(e=>e.c),__vite__mapDeps([116,3,4,5,6,78,79,2,12,80,1,10,11,117,16,118,119,120])).then(e=>e.default),
202"../pages/Chat/LazyAccordion.tsx":()=>f(()=>import("./LazyAccordion-BDYN5571.js"),__vite__mapDeps([119,3,4,5,6])).then(e=>e.default),
202"../pages/Chat/ModelSelector/AgentModelSettings.tsx":()=>f(()=>import("./AgentModelSettings-DiMAMvxB.js"),__vite__mapDeps([121,3,122,123,2,4,5,6,7])).then(e=>e.default),
202"../pages/Chat/ModelSelector/CandidateModelSection.tsx":()=>f(()=>import("./CandidateModelSection-D4hisvK-.js"),__vite__mapDeps([124,3,125,126,127,128,129,122,123,4,5,6])).then(e=>e.default),
202"../pages/Chat/ModelSelector/OAuthConfirmModal.tsx":()=>f(()=>import("./OAuthConfirmModal-BkdR5UvF.js"),__vite__mapDeps([130,3,122,123,2,4,5,6,7])).then(e=>e.default),
202"../pages/Chat/ModelSelector/index.tsx":()=>f(()=>import("./index-D7k2s-Bl.js"),__vite__mapDeps([131,3,132,4,5,6,125,126,127,128,130,122,123,2,7,121,124,129,133,134])).then(e=>e.default),
202"../pages/Chat/ModelSelector/modelSelectorApi.ts":()=>f(()=>import("./modelSelectorApi-BQMo_uy8.js"),__vite__mapDeps([133,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Chat/ModelSelector/modelSelectorModels.ts":()=>f(()=>import("./modelSelectorModels-DMgK-EX7.js"),[]).then(e=>e.default),
202"../pages/Chat/ModelSelector/useModelSelectorData.ts":()=>f(()=>import("./useModelSelectorData-Ba7nXSmG.js"),__vite__mapDeps([134,3,133,4,5,6,2,7])).then(e=>e.default),
202"../pages/Chat/OptionsPanel/defaultConfig.ts":()=>f(()=>import("./defaultConfig-DqDT_JBN.js"),[]).then(e=>e.default),
202"../pages/Chat/RichFileReferenceInput.tsx":()=>f(()=>import("./RichFileReferenceInput-BCcP_FXx.js"),__vite__mapDeps([135,3,136,137,4,5,6,2,7,138])).then(e=>e.default),
202"../pages/Chat/approvalPayload.ts":()=>f(()=>import("./approvalPayload-D8R4MEha.js"),[]).then(e=>e.default),
202"../pages/Chat/backgroundQueueRegistry.ts":()=>f(()=>import("./backgroundQueueRegistry-DcoIKQBo.js"),[]).then(e=>e.default),
202"../pages/Chat/chatInputDraft.ts":()=>f(()=>import("./chatInputDraft-DjTYFPOs.js"),[]).then(e=>e.default),
202"../pages/Chat/components/ApprovalLevelToggle.tsx":()=>f(()=>import("./ApprovalLevelToggle-CUDfNY0C.js"),__vite__mapDeps([139,3,140,141,142,4,5,6,143,144,2])).then(e=>e.default),
202"../pages/Chat/components/BackgroundTaskPanel.tsx":()=>f(()=>import("./BackgroundTaskPanel-B_R9A_iC.js"),__vite__mapDeps([145,3,13,14,4,5,6,2,7])).then(e=>e.default),
202"../pages/Chat/components/ChatActionGroup/index.tsx":()=>f(()=>import("./index-BQ7xgpEo.js"),__vite__mapDeps([146,3,147,4,5,6,2,7,140,148])).then(e=>e.default),
202"../pages/Chat/components/ChatHeaderTitle/index.tsx":()=>f(()=>import("./index-CH7P5TIH.js"),__vite__mapDeps([149,3,4,5,6,2,7,150])).then(e=>e.default),
202"../pages/Chat/components/ChatSearchPanel/index.tsx":()=>f(()=>import("./index-CoZdZ5rN.js"),__vite__mapDeps([151,3,2,4,5,6,7,152])).then(e=>e.default),
202"../pages/Chat/components/ChatSenderTabsPanel.tsx":()=>f(()=>import("./ChatSenderTabsPanel-B3W66Q-L.js"),__vite__mapDeps([153,3,13,14,4,5,6,2,145,7,154])).then(e=>e.default),
202"../pages/Chat/components/ChatSessionDrawer/index.tsx":()=>f(()=>import("./index-nyqj9R32.js"),__vite__mapDeps([155,3,140,147,4,5,6,2,7,156,157])).then(e=>e.default),
202"../pages/Chat/components/ChatSessionDrawer/sessionTime.ts":()=>f(()=>import("./sessionTime-M1-RaxUO.js"),[]).then(e=>e.default),
202"../pages/Chat/components/ChatSessionDrawer/useSessionListData.ts":()=>f(()=>Promise.resolve().then(()=>gw),void 0).then(e=>e.default),
202"../pages/Chat/components/ChatSessionInitializer/index.tsx":()=>f(()=>import("./index-Ck21JYev.js"),__vite__mapDeps([158,3,147,4,5,6,2,7])).then(e=>e.default),
202"../pages/Chat/components/ContextUsageIndicator/ContextUsageIndicator.tsx":()=>f(()=>import("./index-DS9PMsST.js").then(e=>e.a),__vite__mapDeps([159,3,160,161,2,4,5,6])).then(e=>e.default),
202"../pages/Chat/components/ContextUsageIndicator/index.ts":()=>f(()=>import("./index-DS9PMsST.js").then(e=>e.i),__vite__mapDeps([159,3,160,161,2,4,5,6])).then(e=>e.default),
202"../pages/Chat/components/HarnessApprovalToggle.tsx":()=>f(()=>import("./HarnessApprovalToggle-Cvatd3JO.js"),__vite__mapDeps([162,3,140,141,142,4,5,6,143,144,2,163])).then(e=>e.default),
202"../pages/Chat/components/HarnessModelSelector.tsx":()=>f(()=>import("./HarnessModelSelector-CTu69e5m.js"),__vite__mapDeps([164,3,69,2,4,5,6,7,165])).then(e=>e.default),
202"../pages/Chat/components/MessageQueuePanel.tsx":()=>f(()=>import("./MessageQueuePanel-DLrrXvXA.js"),__vite__mapDeps([154,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Chat/components/WhisperSpeechButton/index.tsx":()=>f(()=>import("./index-BO8NyFcY.js"),__vite__mapDeps([166,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Chat/fallbackNotice.ts":()=>f(()=>import("./fallbackNotice-BDnCml1J.js"),[]).then(e=>e.default),
202"../pages/Chat/fileReferenceFormatting.ts":()=>f(()=>import("./fileReferenceFormatting-DRtp_cZv.js"),[]).then(e=>e.default),
202"../pages/Chat/headlineFilter.ts":()=>f(()=>import("./headlineFilter-CYyh7i0b.js"),[]).then(e=>e.default),
202"../pages/Chat/hooks/useCreateNewSession.ts":()=>f(()=>import("./useCreateNewSession-DRMSAwOn.js"),__vite__mapDeps([147,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Chat/index.tsx":()=>f(()=>import("./index-DE2MiYaN.js"),__vite__mapDeps([167,3,140,168,169,170,131,132,4,5,6,125,126,127,128,130,122,123,2,7,121,124,129,133,134,171,141,142,146,147,148,155,156,157,159,160,161,172,149,150,173,158,174,175,176,116,78,79,12,80,1,10,11,117,16,118,119,120,9,13,14,15,177,178,179,77,180,181,182,183,135,136,137,138,184,185,166,153,145,154,139,143,144,162,163,164,69,165,186])).then(e=>e.default),
202"../pages/Chat/longChatPerformance.ts":()=>f(()=>import("./longChatPerformance-qL7rrUkY.js"),[]).then(e=>e.default),
202"../pages/Chat/loopSlashSuggestions.ts":()=>f(()=>import("./loopSlashSuggestions-BnC1fISh.js").then(e=>e.l),[]).then(e=>e.default),
202"../pages/Chat/messageDisplay.ts":()=>f(()=>import("./messageDisplay-BSbvVkKY.js"),__vite__mapDeps([118,4,3,5,6])).then(e=>e.default),
202"../pages/Chat/messageScroll.ts":()=>f(()=>import("./messageScroll-CvP4Dz0H.js"),[]).then(e=>e.default),
202"../pages/Chat/replayFastForward.ts":()=>f(()=>import("./replayFastForward-HOU_ABil.js"),[]).then(e=>e.default),
202"../pages/Chat/sessionApi/index.ts":()=>f(()=>Promise.resolve().then(()=>tw),void 0).then(e=>e.default),
202"../pages/Chat/slashKeyboardUtils.ts":()=>f(()=>import("./slashKeyboardUtils-CXmeqyaR.js"),[]).then(e=>e.default),
202"../pages/Chat/tests/convertMessagesHelper.ts":()=>f(()=>import("./convertMessagesHelper-CU2g0id2.js"),[]).then(e=>e.default),
202"../pages/Chat/turnUsage.ts":()=>f(()=>Promise.resolve().then(()=>WC),void 0).then(e=>e.default),
202"../pages/Chat/turnUsageStore.ts":()=>f(()=>Promise.resolve().then(()=>NC),void 0).then(e=>e.default),
202"../pages/Chat/utils.ts":()=>f(()=>Promise.resolve().then(()=>OC),void 0).then(e=>e.default),
202"../pages/Coding/FilePreview.tsx":()=>f(()=>import("./FilePreview-DpljDfWN.js"),__vite__mapDeps([179,3,79,4,5,6,2,12,80,77,7,180])).then(e=>e.default),
202"../pages/Coding/GitPanel.tsx":()=>f(()=>import("./GitPanel-C0AqP1_2.js"),__vite__mapDeps([187,3,4,5,6,2,7,188])).then(e=>e.default),
202"../pages/Coding/TabbedEditor.tsx":()=>f(()=>import("./TabbedEditor-CkqmFBSN.js"),__vite__mapDeps([189,3,190,4,5,6,191,179,79,2,12,80,77,7,180,136,183,192,193,194])).then(e=>e.default),
202"../pages/Coding/editorCopyFormatting.ts":()=>f(()=>import("./editorCopyFormatting-CEBvKJJN.js"),__vite__mapDeps([192,193])).then(e=>e.default),
202"../pages/Coding/getLanguage.ts":()=>f(()=>import("./getLanguage-DPW4aTiG.js"),[]).then(e=>e.default),
202"../pages/Coding/lastEditorCopy.ts":()=>f(()=>import("./lastEditorCopy-CUqkqeK4.js"),[]).then(e=>e.default),
202"../pages/Control/Channels/components/AccessControlDrawer.tsx":()=>f(()=>import("./AccessControlDrawer-Cn35PL5G.js"),__vite__mapDeps([195,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Control/Channels/components/ChannelAvailableItem.tsx":()=>f(()=>Promise.resolve().then(()=>AC),void 0).then(e=>e.default),
202"../pages/Control/Channels/components/ChannelCard.tsx":()=>f(()=>Promise.resolve().then(()=>IS),void 0).then(e=>e.default),
202"../pages/Control/Channels/components/ChannelDrawer.tsx":()=>f(()=>import("./ChannelDrawer-CWMsZZha.js"),__vite__mapDeps([196,3,197,198,4,5,6,2,7])).then(e=>e.default),
202"../pages/Control/Channels/components/ChannelIcon.tsx":()=>f(()=>Promise.resolve().then(()=>OT),void 0).then(e=>e.default),
202"../pages/Control/Channels/components/PendingApprovalsDrawer.tsx":()=>f(()=>Promise.resolve().then(()=>wC),void 0).then(e=>e.default),
202"../pages/Control/Channels/components/QrcodeAuthBlock.tsx":()=>f(()=>import("./QrcodeAuthBlock-p3Fedopp.js"),__vite__mapDeps([197,3,198,4,5,6,2,7])).then(e=>e.default),
202"../pages/Control/Channels/components/channelConfig.ts":()=>f(()=>import("./channelConfig-DvnzDYx1.js"),[]).then(e=>e.default),
202"../pages/Control/Channels/components/channelIcons.ts":()=>f(()=>Promise.resolve().then(()=>ET),void 0).then(e=>e.default),
202"../pages/Control/Channels/components/constants.ts":()=>f(()=>Promise.resolve().then(()=>jT),void 0).then(e=>e.default),
202"../pages/Control/Channels/components/index.ts":()=>f(()=>import("./index-E6z3IerU.js"),__vite__mapDeps([199,196,3,197,198,4,5,6,2,7,195,200])).then(e=>e.default),
202"../pages/Control/Channels/components/useChannelQrcode.ts":()=>f(()=>import("./useChannelQrcode-CBf0RJIs.js"),__vite__mapDeps([198,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Control/Channels/index.tsx":()=>f(()=>import("./index-C43OEexS.js"),__vite__mapDeps([201,3,196,197,198,4,5,6,2,7,195,200,20,21,202])).then(e=>e.default),
202"../pages/Control/Channels/useChannels.ts":()=>f(()=>import("./useChannels-BcJkW6zv.js"),__vite__mapDeps([200,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Control/CronJobs/calendar.ts":()=>f(()=>import("./calendar-C0fhfIib.js"),[]).then(e=>e.default),
202"../pages/Control/CronJobs/components/JobDrawer.tsx":()=>f(()=>import("./JobDrawer-CePOBq-b.js"),__vite__mapDeps([203,3,204,4,5,6,49,2,205,206])).then(e=>e.default),
202"../pages/Control/CronJobs/components/TemplatePickerModal.tsx":()=>f(()=>import("./TemplatePickerModal-C6Uu8E66.js"),__vite__mapDeps([207,3,208,4,5,6,205,206,2])).then(e=>e.default),
202"../pages/Control/CronJobs/components/columns.tsx":()=>f(()=>import("./columns-BAMZM8Cu.js"),__vite__mapDeps([209,3,4,5,6,210,205,206,2,7])).then(e=>e.default),
202"../pages/Control/CronJobs/components/constants.ts":()=>f(()=>import("./constants-D_bHuLWc.js"),__vite__mapDeps([204,4,3,5,6])).then(e=>e.default),
202"../pages/Control/CronJobs/components/index.ts":()=>f(()=>import("./index-D3FwRs2J.js"),__vite__mapDeps([211,209,3,4,5,6,210,205,206,2,7,203,204,49,207,208,212,22])).then(e=>e.default),
202"../pages/Control/CronJobs/components/parseCron.ts":()=>f(()=>import("./parseCron-x4KbODrB.js"),[]).then(e=>e.default),
202"../pages/Control/CronJobs/components/templates.ts":()=>f(()=>import("./templates-w_DtCC5j.js"),__vite__mapDeps([208,4,3,5,6])).then(e=>e.default),
202"../pages/Control/CronJobs/index.tsx":()=>f(()=>import("./index-BbCsebvC.js"),__vite__mapDeps([213,3,4,5,6,209,210,205,206,2,7,203,204,49,207,208,212,22,214,20,21])).then(e=>e.default),
202"../pages/Control/CronJobs/useCronJobs.ts":()=>f(()=>import("./useCronJobs-Bu_5LGfg.js"),__vite__mapDeps([212,3,22,2,4,5,6,7])).then(e=>e.default),
202"../pages/Control/Heartbeat/index.tsx":()=>f(()=>import("./index-Dnt2O03I.js"),__vite__mapDeps([215,3,4,5,6,216,20,21,2,7,217])).then(e=>e.default),
202"../pages/Control/Heartbeat/parseEvery.ts":()=>f(()=>import("./parseEvery-DLpkEJ2R.js"),[]).then(e=>e.default),
202"../pages/Control/Sessions/components/FilterBar.tsx":()=>f(()=>import("./FilterBar-DDBwrC0c.js"),__vite__mapDeps([218,3,219,220,2,4,5,6])).then(e=>e.default),
202"../pages/Control/Sessions/components/SessionDrawer.tsx":()=>f(()=>import("./SessionDrawer-BRgdgXyS.js"),__vite__mapDeps([221,3,219,220,2,4,5,6])).then(e=>e.default),
202"../pages/Control/Sessions/components/columns.tsx":()=>f(()=>import("./columns-7F6Oqr-E.js").then(e=>e.a),__vite__mapDeps([222,3,223,219,220,2,4,5,6])).then(e=>e.default),
202"../pages/Control/Sessions/components/constants.ts":()=>f(()=>import("./constants-hQbnZLJ2.js"),[]).then(e=>e.default),
202"../pages/Control/Sessions/components/index.ts":()=>f(()=>import("./index-dgW_LPtK.js"),__vite__mapDeps([224,222,3,223,219,220,2,4,5,6,218,221])).then(e=>e.default),
202"../pages/Control/Sessions/index.tsx":()=>f(()=>import("./index-CJdzQc6F.js"),__vite__mapDeps([225,3,222,223,219,220,2,4,5,6,218,221,226,7,20,21])).then(e=>e.default),
202"../pages/Control/Sessions/useSessions.ts":()=>f(()=>import("./useSessions-SuFxaNQi.js"),__vite__mapDeps([226,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Files/index.tsx":()=>f(()=>import("./index-DEVlwNas.js"),__vite__mapDeps([227,3,228,181,140,141,142,4,5,6,2,182,187,7,188,189,190,191,179,79,12,80,77,180,136,183,192,193,194,117,16,229,230])).then(e=>e.default),
202"../pages/Hub/index.tsx":()=>f(()=>import("./index-C_kk7iNE.js"),__vite__mapDeps([231,3,232,4,5,6,2,7,233])).then(e=>e.default),
202"../pages/Hub/pageUtils.ts":()=>f(()=>import("./pageUtils-Bjq7LafW.js"),[]).then(e=>e.default),
202"../pages/Inbox/components/ApprovalCard.tsx":()=>f(()=>import("./ApprovalCard-CYg5263g.js"),__vite__mapDeps([234,3,2,4,5,6,235])).then(e=>e.default),
202"../pages/Inbox/components/CreateHarvestModal.tsx":()=>f(()=>import("./CreateHarvestModal-BeFlOCvX.js"),__vite__mapDeps([236,3,4,5,6,237])).then(e=>e.default),
202"../pages/Inbox/components/HarvestCard.tsx":()=>f(()=>import("./HarvestCard-Bx_flfCZ.js"),__vite__mapDeps([238,3,239,2,4,5,6,240])).then(e=>e.default),
202"../pages/Inbox/components/MagazineStackViewer.tsx":()=>f(()=>import("./MagazineStackViewer-CE3Wwmo4.js"),__vite__mapDeps([241,3,242,4,5,6,243])).then(e=>e.default),
202"../pages/Inbox/components/MailAccessControlDrawer.tsx":()=>f(()=>import("./MailAccessControlDrawer-BnGaIHY-.js"),__vite__mapDeps([244,3,245,2,4,5,6,7])).then(e=>e.default),
202"../pages/Inbox/components/PushMessageCard.tsx":()=>f(()=>import("./PushMessageCard-T4HRfjc9.js"),__vite__mapDeps([246,3,2,4,5,6,247])).then(e=>e.default),
202"../pages/Inbox/components/index.ts":()=>f(()=>import("./index-BBODEF4T.js"),__vite__mapDeps([248,246,3,2,4,5,6,247,234,235,238,239,240,236,237,241,242,243])).then(e=>e.default),
202"../pages/Inbox/hooks/useHarvestCountdown.ts":()=>f(()=>import("./useHarvestCountdown-B6sY9m-2.js"),__vite__mapDeps([239,3])).then(e=>e.default),
202"../pages/Inbox/hooks/useInboxData.ts":()=>f(()=>import("./useInboxData-ClejyQP5.js"),__vite__mapDeps([249,3,250,2,4,5,6,7])).then(e=>e.default),
202"../pages/Inbox/hooks/useMailPendingCount.ts":()=>f(()=>import("./useMailPendingCount-BUgH-dsI.js"),__vite__mapDeps([251,3,245,4,5,6,2,7])).then(e=>e.default),
202"../pages/Inbox/hooks/useMockHarvestContent.ts":()=>f(()=>import("./useMockHarvestContent-u_jzVWfp.js"),[]).then(e=>e.default),
202"../pages/Inbox/hooks/useTraceViewer.ts":()=>f(()=>import("./useTraceViewer-BUjD7h2R.js"),__vite__mapDeps([252,3,253,2,4,5,6,7])).then(e=>e.default),
202"../pages/Inbox/index.tsx":()=>f(()=>import("./index-B8w7vB10.js"),__vite__mapDeps([254,3,244,245,2,4,5,6,7,251,20,21,174,175,176,246,247,249,250,252,253,255])).then(e=>e.default),
202"../pages/Inbox/types.ts":()=>f(()=>Promise.resolve().then(()=>UO),void 0).then(e=>e.default),
202"../pages/Inbox/utils/traceUtils.ts":()=>f(()=>import("./traceUtils-BDB8GBWN.js"),[]).then(e=>e.default),
202"../pages/Login/index.tsx":()=>f(()=>import("./index-5mbuJ9A7.js"),__vite__mapDeps([256,3,2,4,5,6,7,257])).then(e=>e.default),
202"../pages/Market/components/MarketplaceHeader/index.tsx":()=>f(()=>import("./index-BWoiKPyv.js"),__vite__mapDeps([111,3,20,21,2,4,5,6,112])).then(e=>e.default),
202"../pages/Market/index.tsx":()=>f(()=>import("./index-C1xdFnG7.js"),__vite__mapDeps([258,3,111,20,21,2,4,5,6,112,110,113,114,115,103,104,105,7,259,260,108,261,262,263,264,265,140,266,267,268,269,270,271,272,273,274,275,276,107,277,278,279,280,281,282,283,284,285,286,287,288,289,290,98,291])).then(e=>e.default),
202"../pages/Settings/AgentStats/SummaryCard.tsx":()=>f(()=>import("./SummaryCard-BYmi_in0.js").then(e=>e.a),__vite__mapDeps([292,3,160,4,5,6,293])).then(e=>e.default),
202"../pages/Settings/AgentStats/index.tsx":()=>f(()=>import("./index-CGS0W1aZ.js"),__vite__mapDeps([294,3,4,5,6,20,21,160,161,292,293,2,295,7])).then(e=>e.default),
202"../pages/Settings/Agents/components/AgentBackendFields.tsx":()=>f(()=>import("./AgentBackendFields-DCqayr1D.js"),__vite__mapDeps([296,3,69,2,4,5,6,7,297])).then(e=>e.default),
202"../pages/Settings/Agents/components/AgentModal.tsx":()=>f(()=>import("./AgentModal-BAbAa3ls.js"),__vite__mapDeps([298,3,126,121,122,123,2,4,5,6,7,299,300,296,69,297,301])).then(e=>e.default),
202"../pages/Settings/Agents/components/AgentTable.tsx":()=>f(()=>import("./AgentTable-C8_A5Ehc.js"),__vite__mapDeps([302,3,7,303,299,300,4,5,6,126,2])).then(e=>e.default),
202"../pages/Settings/Agents/components/CopyAgentModal.tsx":()=>f(()=>import("./CopyAgentModal-CAzuPSiI.js"),__vite__mapDeps([304,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Agents/components/SortableAgentRow.tsx":()=>f(()=>import("./SortableAgentRow-C90tOa9k.js"),__vite__mapDeps([303,3,7,299,300,4,5,6])).then(e=>e.default),
202"../pages/Settings/Agents/components/index.ts":()=>f(()=>import("./index-CHNKsSLs.js"),__vite__mapDeps([305,302,3,7,303,299,300,4,5,6,126,2,298,121,122,123,296,69,297,301,304])).then(e=>e.default),
202"../pages/Settings/Agents/components/mailDomains.ts":()=>f(()=>import("./mailDomains-DIDmgc71.js"),[]).then(e=>e.default),
202"../pages/Settings/Agents/index.tsx":()=>f(()=>import("./index-BJRDoBow.js"),__vite__mapDeps([306,3,307,114,4,5,6,2,7,302,303,299,300,126,298,121,122,123,296,69,297,301,304,20,21,308])).then(e=>e.default),
202"../pages/Settings/Agents/reorder.ts":()=>f(()=>import("./reorder-BF63alpm.js"),[]).then(e=>e.default),
202"../pages/Settings/Agents/useAgents.ts":()=>f(()=>import("./useAgents-CwIzu_KG.js"),__vite__mapDeps([307,3,114,4,5,6,2,7])).then(e=>e.default),
202"../pages/Settings/Backups/create/AgentMultiSelect.tsx":()=>f(()=>import("./AgentMultiSelect-rbe_Dfoq.js"),__vite__mapDeps([309,3,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Backups/create/BackupProgress.tsx":()=>f(()=>import("./BackupProgress-C8KEDIS5.js"),__vite__mapDeps([310,3,4,5,6,311])).then(e=>e.default),
202"../pages/Settings/Backups/create/BackupScopeForm.tsx":()=>f(()=>import("./BackupScopeForm-DKht73bZ.js"),__vite__mapDeps([312,3,309,2,4,5,6,313])).then(e=>e.default),
202"../pages/Settings/Backups/create/CreateBackupModal.tsx":()=>f(()=>import("./CreateBackupModal-Doieov_1.js"),__vite__mapDeps([314,3,4,5,6,315,316,2,7,317,318,310,311,312,309,313,319])).then(e=>e.default),
202"../pages/Settings/Backups/create/SilentBackupModal.tsx":()=>f(()=>import("./SilentBackupModal-BQ7VYvaF.js"),__vite__mapDeps([320,3,315,316,2,4,5,6,7,317,318,310,311])).then(e=>e.default),
202"../pages/Settings/Backups/import/ImportButton.tsx":()=>f(()=>import("./ImportButton-DoUvy1sC.js"),__vite__mapDeps([321,3,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Backups/import/ImportConflictModal.tsx":()=>f(()=>import("./ImportConflictModal-DbFkMTfV.js"),__vite__mapDeps([322,3,4,5,6,2])).then(e=>e.default),
202"../pages/Settings/Backups/import/useImportFlow.ts":()=>f(()=>import("./useImportFlow-rUwt8oF9.js"),__vite__mapDeps([323,3,324,22,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Backups/index.tsx":()=>f(()=>import("./index-_iaRDZCs.js"),__vite__mapDeps([325,3,20,21,326,4,5,6,327,2,328,7,329,330,331,321,322,323,324,22,332,314,315,316,317,318,310,311,312,309,313,319,320,333,334,335,336,337,338,339])).then(e=>e.default),
202"../pages/Settings/Backups/list/BackupTable.tsx":()=>f(()=>import("./BackupTable-C55hj7Ie.js"),__vite__mapDeps([326,3,4,5,6,327,2,328,7,329])).then(e=>e.default),
202"../pages/Settings/Backups/list/BackupToolbar.tsx":()=>f(()=>import("./BackupToolbar-CUYq6qDG.js"),__vite__mapDeps([330,3,2,4,5,6,331])).then(e=>e.default),
202"../pages/Settings/Backups/list/ScopeTags.tsx":()=>f(()=>import("./ScopeTags-BzXcQgZS.js"),__vite__mapDeps([327,3,2,4,5,6,328])).then(e=>e.default),
202"../pages/Settings/Backups/restore/PreRestoreConfirmModal.tsx":()=>f(()=>import("./PreRestoreConfirmModal-DDy_6jvi.js"),__vite__mapDeps([333,3,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Backups/restore/RestoreAgentTable.tsx":()=>f(()=>import("./RestoreAgentTable-T1XW8oqW.js"),__vite__mapDeps([335,3,2,4,5,6,336])).then(e=>e.default),
202"../pages/Settings/Backups/restore/RestoreBackupModal.tsx":()=>f(()=>import("./RestoreBackupModal-ORqF8TAH.js"),__vite__mapDeps([334,3,22,318,332,2,4,5,6,324,335,336,7,337])).then(e=>e.default),
202"../pages/Settings/Backups/restore/useRestoreFlow.ts":()=>f(()=>import("./useRestoreFlow-BLnpDcZi.js"),__vite__mapDeps([338,3])).then(e=>e.default),
202"../pages/Settings/Backups/shared/progress.ts":()=>f(()=>import("./progress-SVYNRtvp.js"),[]).then(e=>e.default),
202"../pages/Settings/Backups/shared/scope.ts":()=>f(()=>import("./scope-CEwDNAj7.js"),__vite__mapDeps([317,318])).then(e=>e.default),
202"../pages/Settings/Backups/shared/useBackupRunner.ts":()=>f(()=>import("./useBackupRunner-CEkr8O2K.js"),__vite__mapDeps([315,3,316,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Backups/trust/BackupTrustDialog.tsx":()=>f(()=>import("./BackupTrustDialog-BXCD7aTH.js"),__vite__mapDeps([332,3,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Backups/trust/trustErrors.ts":()=>f(()=>import("./trustErrors-Cnu7JLRc.js"),__vite__mapDeps([324,22])).then(e=>e.default),
202"../pages/Settings/Debug/components/LogViewer.tsx":()=>f(()=>import("./index-RB1aLeDl.js").then(e=>e.a),__vite__mapDeps([340,3,2,4,5,6,341])).then(e=>e.default),
202"../pages/Settings/Debug/components/index.ts":()=>f(()=>import("./index-RB1aLeDl.js").then(e=>e.i),__vite__mapDeps([340,3,2,4,5,6,341])).then(e=>e.default),
202"../pages/Settings/Debug/index.tsx":()=>f(()=>import("./index-Du8lfCnN.js"),__vite__mapDeps([342,3,4,5,6,20,21,343,2,7,340,341])).then(e=>e.default),
202"../pages/Settings/Debug/useDebugLogs.ts":()=>f(()=>import("./useDebugLogs-D1PB1HZB.js"),__vite__mapDeps([343,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Environments/components/AddButton.tsx":()=>f(()=>import("./AddButton-Bs1xq6-L.js"),__vite__mapDeps([344,3,345,346,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Environments/components/EmptyState.tsx":()=>f(()=>import("./EmptyState-CgEYv1_w.js"),__vite__mapDeps([347,3,345,346,2])).then(e=>e.default),
202"../pages/Settings/Environments/components/EnvRow.tsx":()=>f(()=>import("./EnvRow-C8pgSXfo.js"),__vite__mapDeps([348,3,345,346,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Environments/components/Toolbar.tsx":()=>f(()=>import("./Toolbar-C55cQMV5.js"),__vite__mapDeps([349,3,345,346,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Environments/components/index.ts":()=>f(()=>import("./index--9yHCggP.js"),__vite__mapDeps([350,347,3,345,346,2,344,4,5,6,349,348])).then(e=>e.default),
202"../pages/Settings/Environments/index.tsx":()=>f(()=>import("./index-BkOxdHzX.js"),__vite__mapDeps([351,3,20,21,352,4,5,6,2,7,345,346])).then(e=>e.default),
202"../pages/Settings/Environments/useEnvVars.ts":()=>f(()=>import("./useEnvVars-GHeG5Pm-.js"),__vite__mapDeps([352,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Settings/Market/MarketPanel.tsx":()=>f(()=>import("./MarketPanel-BrPhNizX.js"),__vite__mapDeps([277,3,278,2,4,5,6,7,279,280,281,282,283,284,285,286,287,288,289])).then(e=>e.default),
202"../pages/Settings/Market/components/DetailDrawer.tsx":()=>f(()=>import("./DetailDrawer-C5PYlzdN.js"),__vite__mapDeps([285,3,282,283,2,4,5,6,286])).then(e=>e.default),
202"../pages/Settings/Market/components/EmptyState.tsx":()=>f(()=>import("./EmptyState-BRZ1sRDw.js"),__vite__mapDeps([279,3,280])).then(e=>e.default),
202"../pages/Settings/Market/components/QueueItem.tsx":()=>f(()=>import("./QueueItem-DKXFaIdj.js"),__vite__mapDeps([287,3,282,283,2,4,5,6,288])).then(e=>e.default),
202"../pages/Settings/Market/components/ResultCard.tsx":()=>f(()=>import("./ResultCard-CKgKZ5g3.js"),__vite__mapDeps([281,3,282,283,2,4,5,6,284])).then(e=>e.default),
202"../pages/Settings/Market/components/SkillIcon.tsx":()=>f(()=>import("./SkillIcon-DNdbo6yj.js"),__vite__mapDeps([282,3,283])).then(e=>e.default),
202"../pages/Settings/Market/components/index.ts":()=>f(()=>import("./index-Cp4fV27k.js"),__vite__mapDeps([353,282,3,283,279,280,281,2,4,5,6,284,285,286,287,288])).then(e=>e.default),
202"../pages/Settings/Market/useMarketInstall.ts":()=>f(()=>import("./useMarketInstall-BvBPC-Yc.js"),__vite__mapDeps([290,3,98,4,5,6,2,7])).then(e=>e.default),
202"../pages/Settings/Market/useMarketSearch.ts":()=>f(()=>import("./useMarketSearch-DMfaUnpQ.js"),__vite__mapDeps([278,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Models/apiKeyValidation.ts":()=>f(()=>import("./apiKeyValidation-cDjnNy7b.js"),[]).then(e=>e.default),
202"../pages/Settings/Models/components/ProviderIconComponent.tsx":()=>f(()=>import("./ProviderIconComponent-BxmHkMKR.js"),__vite__mapDeps([125,3,126,127,128])).then(e=>e.default),
202"../pages/Settings/Models/components/cards/LocalProviderCard.tsx":()=>f(()=>import("./LocalProviderCard-Dh_I_Plx.js"),__vite__mapDeps([354,3,355,356,125,126,127,128,2])).then(e=>e.default),
202"../pages/Settings/Models/components/cards/ProviderCard.tsx":()=>f(()=>import("./ProviderCard-B_Wtdi0T.js"),__vite__mapDeps([357,3,354,355,356,125,126,127,128,2,358,359,130,122,123,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Models/components/cards/ProviderGroupCard.tsx":()=>f(()=>import("./ProviderGroupCard-AFuE1Xgs.js"),__vite__mapDeps([360,3,359,125,126,127,128,355,356,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Models/components/cards/RemoteProviderCard.tsx":()=>f(()=>import("./RemoteProviderCard-jNC8geCw.js"),__vite__mapDeps([358,3,359,355,356,125,126,127,128,130,122,123,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Models/components/cards/index.ts":()=>f(()=>import("./index-Ccr3OggZ.js"),__vite__mapDeps([361,357,3,354,355,356,125,126,127,128,2,358,359,130,122,123,4,5,6,7,360])).then(e=>e.default),
202"../pages/Settings/Models/components/index.ts":()=>f(()=>import("./index-CXsHQBx-.js"),__vite__mapDeps([362,363,3,355,356,2,4,5,6,364,132,7,357,354,125,126,127,128,358,359,130,122,123,360,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/CustomProviderModal.tsx":()=>f(()=>import("./CustomProviderModal-IoceEC_N.js"),__vite__mapDeps([365,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/JsonConfigEditor.tsx":()=>f(()=>import("./JsonConfigEditor-DR5bt9uJ.js"),__vite__mapDeps([371,3,355,356])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/LocalModelManageModal.tsx":()=>f(()=>import("./LocalModelManageModal--mWa9yEx.js"),__vite__mapDeps([370,3,355,356,371,372,373,2,4,5,6,374,375,7])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/ModelCapabilityTags.tsx":()=>f(()=>import("./ModelCapabilityTags-BlCwnT9k.js"),__vite__mapDeps([377,3,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/ModelConfigEditor.tsx":()=>f(()=>import("./ModelConfigEditor-g1TTWrm_.js"),__vite__mapDeps([378,3,371,355,356,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/ModelManageModal.tsx":()=>f(()=>import("./ModelManageModal-D5PNaLHd.js"),__vite__mapDeps([369,3,370,355,356,371,372,373,2,4,5,6,374,375,7,376,377,378,367,379,380])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/OpenRouterFilterSection.tsx":()=>f(()=>import("./OpenRouterFilterSection-Dfkq-T_6.js"),__vite__mapDeps([379,3,2,4,5,6,380])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/ProviderConfigModal.tsx":()=>f(()=>import("./ProviderConfigModal-BZ9ITqw9.js"),__vite__mapDeps([366,3,367,368,355,356,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/RemoteModelManageModal.tsx":()=>f(()=>import("./RemoteModelManageModal-VrSt_Jc3.js"),__vite__mapDeps([376,3,377,2,4,5,6,378,371,355,356,7,367,379,380])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/index.ts":()=>f(()=>import("./index-C1x5PzL1.js"),__vite__mapDeps([381,365,3,2,4,5,6,7,366,367,368,355,356,369,370,371,372,373,374,375,376,377,378,379,380])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/local-models/LocalModelRow.tsx":()=>f(()=>import("./LocalModelRow-D_CzZ0Hu.js"),__vite__mapDeps([372,3,355,356,373,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/local-models/LocalRuntimePanel.tsx":()=>f(()=>import("./LocalRuntimePanel-CjFmGqqr.js"),__vite__mapDeps([374,3,355,356,375,373,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/local-models/shared.ts":()=>f(()=>import("./shared-9V1PnZCE.js"),__vite__mapDeps([375,373])).then(e=>e.default),
202"../pages/Settings/Models/components/modals/testConnectionMessage.ts":()=>f(()=>import("./testConnectionMessage-_eg2MXHW.js"),[]).then(e=>e.default),
202"../pages/Settings/Models/components/providerIcon.ts":()=>f(()=>import("./providerIcon-C-5dBp3Z.js"),[]).then(e=>e.default),
202"../pages/Settings/Models/components/providerLetterIcon.tsx":()=>f(()=>import("./providerLetterIcon-B_5oy5OF.js"),[]).then(e=>e.default),
202"../pages/Settings/Models/components/sections/LoadingState.tsx":()=>f(()=>import("./LoadingState-D-lx13xQ.js"),__vite__mapDeps([363,3,355,356,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Models/components/sections/ModelsSection.tsx":()=>f(()=>import("./ModelsSection-tlZ8o75i.js"),__vite__mapDeps([364,3,132,4,5,6,355,356,2,7])).then(e=>e.default),
202"../pages/Settings/Models/components/sections/index.ts":()=>f(()=>import("./index-IJWa7fnx.js"),__vite__mapDeps([382,363,3,355,356,2,4,5,6,364,132,7])).then(e=>e.default),
202"../pages/Settings/Models/index.tsx":()=>f(()=>import("./index-DdhgX1-w.js"),__vite__mapDeps([383,3,384,4,5,6,2,7,363,355,356,364,132,357,354,125,126,127,128,358,359,130,122,123,360,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,20,21])).then(e=>e.default),
202"../pages/Settings/Models/useProviders.ts":()=>f(()=>import("./useProviders-C6vQL7RZ.js"),__vite__mapDeps([384,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Settings/Models/utils.ts":()=>f(()=>import("./utils-B_sR6IXl.js"),[]).then(e=>e.default),
202"../pages/Settings/OffloadPolicy/OffloadPolicyCard.tsx":()=>f(()=>import("./OffloadPolicyCard-CdpaSbJh.js"),__vite__mapDeps([385,3,14,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/OffloadPolicy/index.tsx":()=>f(()=>import("./index-_Hnm-qKi.js"),__vite__mapDeps([386,3,20,21,385,14,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/PawApps/index.tsx":()=>f(()=>import("./index-BiBTtAH2.js"),__vite__mapDeps([387,3,20,21,113,2,4,5,6,7,388])).then(e=>e.default),
202"../pages/Settings/PluginManager/components/InstallPluginModal.tsx":()=>f(()=>import("./InstallPluginModal-BBGtrTGX.js"),__vite__mapDeps([263,3,2,4,5,6,264])).then(e=>e.default),
202"../pages/Settings/PluginManager/components/InstalledPluginList.tsx":()=>f(()=>import("./InstalledPluginList-CCr29e4S.js").then(e=>e.a),__vite__mapDeps([265,3,140,266,267,4,5,6,2,268,269,270,271,272])).then(e=>e.default),
202"../pages/Settings/PluginManager/components/MarketPluginList.tsx":()=>f(()=>import("./MarketPluginList-DoUiRqXV.js"),__vite__mapDeps([275,3,140,276,107,108,2,4,5,6,7,268,269,270,271])).then(e=>e.default),
202"../pages/Settings/PluginManager/components/OfficialPluginList.tsx":()=>f(()=>import("./OfficialPluginList-7T3mW_po.js"),__vite__mapDeps([273,3,140,274,108,2,4,5,6,7,268,269,270,271])).then(e=>e.default),
202"../pages/Settings/PluginManager/components/PluginTypeTag.tsx":()=>f(()=>import("./PluginTypeTag-BBF8LoQC.js"),__vite__mapDeps([267,3,4,5,6])).then(e=>e.default),
202"../pages/Settings/PluginManager/components/PluginViewToggle.tsx":()=>f(()=>import("./PluginViewToggle-eem-N1PU.js"),__vite__mapDeps([268,3,2,4,5,6,269])).then(e=>e.default),
202"../pages/Settings/PluginManager/hooks/useInstallModal.ts":()=>f(()=>import("./useInstallModal-DIVLvUEI.js"),__vite__mapDeps([261,4,3,5,6,108,262,2,7])).then(e=>e.default),
202"../pages/Settings/PluginManager/hooks/useMarketPlugins.ts":()=>f(()=>import("./useMarketPlugins-DhRsQKm2.js"),__vite__mapDeps([276,3,107,108,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/PluginManager/hooks/useOfficialPlugins.ts":()=>f(()=>import("./useOfficialPlugins-CMyTx9wV.js"),__vite__mapDeps([274,3,108,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/PluginManager/hooks/usePluginColumns.tsx":()=>f(()=>import("./usePluginColumns-DVeq6euH.js"),__vite__mapDeps([266,3,267,4,5,6,2])).then(e=>e.default),
202"../pages/Settings/PluginManager/hooks/usePluginManager.ts":()=>f(()=>import("./usePluginManager-CVRjZoIm.js"),__vite__mapDeps([260,3,4,5,6,108,2,7])).then(e=>e.default),
202"../pages/Settings/PluginManager/index.tsx":()=>f(()=>import("./index-C7VD8sSj.js"),__vite__mapDeps([259,3,111,20,21,2,4,5,6,112,260,108,7,261,262,263,264,265,140,266,267,268,269,270,271,272,273,274,275,276,107])).then(e=>e.default),
202"../pages/Settings/PluginManager/utils.ts":()=>f(()=>import("./utils-Dd3MJpM-.js"),[]).then(e=>e.default),
202"../pages/Settings/Security/components/AllowNoAuthHostsTab.tsx":()=>f(()=>import("./AllowNoAuthHostsTab-DOfKmzVb.js"),__vite__mapDeps([389,3,390,391,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Security/components/FileGuardSection.tsx":()=>f(()=>import("./FileGuardSection-CIsCAA8V.js"),__vite__mapDeps([392,3,390,391,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Security/components/PreviewModal.tsx":()=>f(()=>import("./PreviewModal-DSwwUYls.js"),__vite__mapDeps([393,3,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Security/components/RuleModal.tsx":()=>f(()=>import("./RuleModal-CB3K58Pn.js"),__vite__mapDeps([394,3,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Security/components/RuleTable.tsx":()=>f(()=>import("./RuleTable-D4UQzEMr.js"),__vite__mapDeps([395,3,390,391,2,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/Security/components/ShellEvasionSection.tsx":()=>f(()=>import("./ShellEvasionSection-iYW3_lTM.js"),__vite__mapDeps([396,3,390,391,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/Security/components/SkillScannerSection.tsx":()=>f(()=>import("./SkillScannerSection-DXoW6cCc.js"),__vite__mapDeps([397,3,398,4,5,6,2,7,390,391])).then(e=>e.default),
202"../pages/Settings/Security/components/ToolGuardTab.tsx":()=>f(()=>import("./ToolGuardTab-LAbIX09C.js"),__vite__mapDeps([399,3,395,390,391,2,4,5,6,7,396])).then(e=>e.default),
202"../pages/Settings/Security/components/index.ts":()=>f(()=>import("./index-CG1mzu8c.js"),__vite__mapDeps([400,395,3,390,391,2,4,5,6,7,394,393,397,398,392,396,399,389])).then(e=>e.default),
202"../pages/Settings/Security/index.tsx":()=>f(()=>import("./index-YRdhft9t.js"),__vite__mapDeps([401,3,402,403,4,5,6,2,7,390,391,394,393,397,398,392,399,395,396,389,20,21])).then(e=>e.default),
202"../pages/Settings/Security/useSecurityPage.ts":()=>f(()=>import("./useSecurityPage-_cNgWly1.js"),__vite__mapDeps([402,3,403,4,5,6,2,7])).then(e=>e.default),
202"../pages/Settings/Security/useSkillScanner.ts":()=>f(()=>import("./useSkillScanner-IpycXNcJ.js"),__vite__mapDeps([398,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Settings/Security/useToolGuard.ts":()=>f(()=>import("./useToolGuard-DUiIYmfb.js"),__vite__mapDeps([403,3,4,5,6,2,7])).then(e=>e.default),
202"../pages/Settings/SkillPool/builtinNotice.ts":()=>f(()=>import("./builtinNotice-ah4GEsD1.js"),[]).then(e=>e.default),
202"../pages/Settings/SkillPool/components/BroadcastModal.tsx":()=>f(()=>import("./BroadcastModal-Du4rREE_.js"),__vite__mapDeps([404,3,85,86,87,2,72,73,4,5,6,7])).then(e=>e.default),
202"../pages/Settings/SkillPool/components/ImportBuiltinModal.tsx":()=>f(()=>import("./ImportBuiltinModal-BdeMaxFX.js"),__vite__mapDeps([405,3,72,73,406,407,408,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/SkillPool/components/PoolSkillCard.tsx":()=>f(()=>import("./PoolSkillCard-CO4zxpFW.js"),__vite__mapDeps([409,3,4,5,6,81,410,407,408,2])).then(e=>e.default),
202"../pages/Settings/SkillPool/components/PoolSkillDrawer.tsx":()=>f(()=>import("./PoolSkillDrawer-Cnhir3K1.js"),__vite__mapDeps([411,3,81,75,4,5,6,72,73,2,76,77,78,79,12,80,82,89,7,407,408])).then(e=>e.default),
202"../pages/Settings/SkillPool/components/PoolSkillListItem.tsx":()=>f(()=>import("./PoolSkillListItem-Dz7u2Rxq.js"),__vite__mapDeps([412,3,4,5,6,81,410,413,407,408,2,7])).then(e=>e.default),
202"../pages/Settings/SkillPool/components/SkillMeta.tsx":()=>f(()=>import("./SkillMeta-S_GzmCcz.js"),__vite__mapDeps([413,3,407,408])).then(e=>e.default),
202"../pages/Settings/SkillPool/components/index.ts":()=>f(()=>import("./index-BgcWHpJ1.js"),__vite__mapDeps([414,404,3,85,86,87,2,72,73,4,5,6,7,405,406,407,408,413,409,81,410,412,411,75,76,77,78,79,12,80,82,89])).then(e=>e.default),
202"../pages/Settings/SkillPool/index.tsx":()=>f(()=>import("./index-q__8LHRI.js"),__vite__mapDeps([415,3,74,75,4,5,6,72,73,2,76,77,78,79,12,80,81,82,83,84,85,86,87,71,70,88,89,7,90,91,92,404,405,406,407,408,409,410,412,413,411,416,22,96,95,20,21])).then(e=>e.default),
202"../pages/Settings/SkillPool/useSkillPool.tsx":()=>f(()=>import("./useSkillPool-Cx57ZCgp.js"),__vite__mapDeps([416,3,22,96,4,5,6,81,75,72,73,2,76,77,78,79,12,80,82,83,85,86,89,7])).then(e=>e.default),
202"../pages/Settings/TokenUsage/components/DataTables.tsx":()=>f(()=>import("./DataTables-DlyLvJ9q.js"),__vite__mapDeps([417,3,160,161,418,419,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/TokenUsage/components/EmptyState.tsx":()=>f(()=>import("./EmptyState-CC4TFPnF.js"),__vite__mapDeps([420,3,418,419])).then(e=>e.default),
202"../pages/Settings/TokenUsage/components/LoadingState.tsx":()=>f(()=>import("./LoadingState-BnFaU9HC.js"),__vite__mapDeps([421,3,418,419,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/TokenUsage/components/ModelTrendChart.tsx":()=>f(()=>import("./ModelTrendChart-B-VZf3G_.js"),__vite__mapDeps([422,3,418,419,2,4,5,6,295])).then(e=>e.default),
202"../pages/Settings/TokenUsage/components/SummaryCards.tsx":()=>f(()=>import("./SummaryCards-2bHf9hVX.js"),__vite__mapDeps([423,3,160,161,418,419,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/TokenUsage/components/TokenTypeChart.tsx":()=>f(()=>import("./TokenTypeChart-DDaVAR-J.js"),__vite__mapDeps([424,3,418,419,2,4,5,6,295])).then(e=>e.default),
202"../pages/Settings/TokenUsage/components/index.ts":()=>f(()=>import("./index-BA4JBs_R.js"),__vite__mapDeps([425,421,3,418,419,2,4,5,6,420,423,160,161,422,295,424,417])).then(e=>e.default),
202"../pages/Settings/TokenUsage/hooks/lineChartChrome.ts":()=>f(()=>import("./lineChartChrome-B0o4v2PL.js"),__vite__mapDeps([426,4,3,5,6,160])).then(e=>e.default),
202"../pages/Settings/TokenUsage/hooks/useDataAggregation.ts":()=>f(()=>import("./useDataAggregation-BrDVFzJK.js"),__vite__mapDeps([427,3])).then(e=>e.default),
202"../pages/Settings/TokenUsage/hooks/useModelTrendConfig.ts":()=>f(()=>import("./useModelTrendConfig-0r4ezO3L.js"),__vite__mapDeps([428,3,426,4,5,6,160])).then(e=>e.default),
202"../pages/Settings/TokenUsage/hooks/useTokenTypeConfig.ts":()=>f(()=>import("./useTokenTypeConfig-9ollBZEW.js"),__vite__mapDeps([429,3,426,4,5,6,160])).then(e=>e.default),
202"../pages/Settings/TokenUsage/index.tsx":()=>f(()=>import("./index-sXrDNJQX.js"),__vite__mapDeps([430,3,4,5,6,20,21,421,418,419,2,420,423,160,161,422,295,424,417,427,426,428,429,431,7])).then(e=>e.default),
202"../pages/Settings/TokenUsage/tokenUsageRows.ts":()=>f(()=>import("./tokenUsageRows-rhvieyre.js"),[]).then(e=>e.default),
202"../pages/Settings/VoiceTranscription/components/AudioModeCard.tsx":()=>f(()=>import("./AudioModeCard-CgISeoMg.js"),__vite__mapDeps([432,3,433,434,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/VoiceTranscription/components/ProviderSelectCard.tsx":()=>f(()=>import("./ProviderSelectCard-DmFrQYkq.js"),__vite__mapDeps([435,3,433,434,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/VoiceTranscription/components/ProviderTypeCard.tsx":()=>f(()=>import("./ProviderTypeCard-BRyEzJLI.js"),__vite__mapDeps([436,3,433,434,2,4,5,6])).then(e=>e.default),
202"../pages/Settings/VoiceTranscription/components/index.ts":()=>f(()=>import("./index-D_AwKCzM.js"),__vite__mapDeps([437,432,3,433,434,2,4,5,6,436,435])).then(e=>e.default),
202"../pages/Settings/VoiceTranscription/index.tsx":()=>f(()=>import("./index-DFglmXC1.js"),__vite__mapDeps([438,3,20,21,439,2,4,5,6,7,432,433,434,436,435])).then(e=>e.default),
202"../pages/Settings/VoiceTranscription/useVoiceTranscription.ts":()=>f(()=>import("./useVoiceTranscription-kmB_QBuF.js"),__vite__mapDeps([439,3,2,4,5,6,7]))
202.then(e=>e.default)});function NF(e){let t=e.replace(/^.*pages\//,"pages/");return t=t.replace(/\/index$/,""),`../${t}`}function ne(e){const t=NF(e),a=Ba[t]?t:Ba[`${t}/index.tsx`]?`${t}/index.tsx`:Ba[`${t}/index.ts`]?`${t}/index.ts`:t,n=Ba[a];if(!n)throw new Error(`[lazyImportWithRetry] No glob entry found for "${e}". 203Resolved key: "${a}". Available: ${Object.keys(Ba).join(", ")}`);const o=BF(e);return h.lazy(()=>Jp(()=>n().then(i=>({default:i})),FF).then(i=>{const s=Qp.get(o,"default");return s?{default:s}:i}))}const HF=ft(e=>({uploadMaxSizeMb:null,fetch:async()=>{try{const{upload_max_size_mb:t}=await Po.getUploadLimit();e({uploadMaxSizeMb:t})}catch{}}})),UF="qwenpaw-close-requested",qF="qwenpaw-shutdown-started";async function yd(e){await Fe(e==="quit"?"quit_app":"minimize_to_tray")}function jF(){const{t:e,i18n:t}=ve(),[a,n]=h.useState(!1),[o,i]=h.useState(!1),[s,r]=h.useState(null),[l,d]=h.useState(!1),u=h.useCallback(()=>{Fe("ack_close").catch(k=>{console.error("Failed to ack close request:",k)});const m=Dp();if(m){yd(m).catch(k=>{console.error("Failed to run remembered close action:",k)});return}i(!1),n(!0)},[]),p=h.useCallback(async m=>{r(m),m==="quit"&&d(!0);try{o&&xp(m),await yd(m),m==="minimize-to-tray"&&n(!1)}catch(k){d(!1),console.error("Failed to run close action:",k)}finally{r(null)}},[o]);return h.useEffect(()=>{if(!Vt())return;let m=!1,k;return zi(UF,()=>u()).then(g=>{if(m){g();return}k=g}).catch(g=>{console.error("Failed to listen for close requests:",g)}),()=>{m=!0,k==null||k()}},[u]),h.useEffect(()=>{if(!Vt())return;let m=!1,k;return zi(qF,()=>{d(!0),n(!0)}).then(g=>{if(m){g();return}k=g}).catch(g=>{console.error("Failed to listen for shutdown status:",g)}),()=>{m=!0,k==null||k()}},[]),h.useEffect(()=>{if(!Vt())return;const m=k=>{const g=t.getFixedT(k);Fe("set_tray_labels",{showWindow:g("desktop.closeWindow.showWindow","Show Window"),quit:g("desktop.closeWindow.quitApp","Quit App")}).catch(b=>{console.error("Failed to update tray labels:",b)})};return m(t.resolvedLanguage||t.language||"en"),t.on("languageChanged",m),()=>{t.off("languageChanged",m)}},[t]),Vt()?c.jsxs(Yi,{open:a,title:l?`${e("desktop.closeWindow.quitApp","Quit App")}...`:e("desktop.closeWindow.title","Close Window"),closable:!1,maskClosable:!1,keyboard:!1,footer:l?null:[c.jsx(Se,{loading:s==="minimize-to-tray",disabled:s==="quit",onClick:()=>void p("minimize-to-tray"),children:e("desktop.closeWindow.minimizeToTray","Minimize to Tray")},"minimize"),c.jsx(Se,{type:"primary",danger:!0,loading:s==="quit",disabled:s==="minimize-to-tray",onClick:()=>void p("quit"),children:e("desktop.closeWindow.quitApp","Quit App")},"quit")],children:[c.jsx(Ad.Paragraph,{type:"secondary",children:l?c.jsxs(c.Fragment,{children:[c.jsx(nn,{size:"small"})," ",e("desktop.closeWindow.quitApp","Quit App"),"..."]}):e("desktop.closeWindow.description","What would you like to do when closing the window? Quitting the app stops all running tasks and scheduled jobs.")}),!l&&c.jsx(oh,{checked:o,onChange:m=>i(m.target.checked),children:e("desktop.closeWindow.remember","Remember my choice")})]}):null}const GF="BackendLoadingPage-module__page__BjKgJ",VF="BackendLoadingPage-module__card__lHkIx",WF="BackendLoadingPage-module__logo__nnH4w",zF="BackendLoadingPage-module__progressLabel__IAdFu",KF="BackendLoadingPage-module__statusText__mNgcl",$F="BackendLoadingPage-module__failedText__y-HTb",QF="BackendLoadingPage-module__hint__xxz0-",JF="BackendLoadingPage-module__details__Kx0mS",YF="BackendLoadingPage-module__summary__NekSy",XF="BackendLoadingPage-module__errorDetails__Znhjv",ZF="BackendLoadingPage-module__retryButton__yKN2D",at={page:GF,card:VF,logo:WF,progressLabel:zF,statusText:KF,failedText:$F,hint:QF,details:JF,summary:YF,errorDetails:XF,retryButton:ZF};function ho({status:e,elapsed:t,totalSec:a,errorMessage:n,onRetry:o,statusText:i,hintText:s,retryLabel:r,showRetry:l=!0,retryDisabled:d=!1}){const{t:u}=ve(),p=e==="timeout"||e==="error",m=i||(e==="error"?u("startup.error","Backend failed to start."):e
203==="checking"?t===0?u("startup.starting","Starting backend..."):u("startup.checking","Connecting to backend..."):u("startup.timeout",{seconds:t,defaultValue:"Backend failed to start within {{seconds}} seconds."})),k=Math.min(Math.round(t/a*100),100);return c.jsx("div",{className:at.page,children:c.jsxs("div",{className:at.card,children:[c.jsx("img",{src:"/qwenpaw.png",alt:"QwenPaw",className:at.logo}),c.jsx(si,{type:"dashboard",percent:k,status:p?"exception":"active",strokeColor:"var(--app-accent)",trailColor:"var(--app-fill-subtle)",gapPosition:"bottom",format:()=>c.jsx("div",{className:at.progressLabel,children:`${t}s`}),size:160,strokeWidth:8}),c.jsx("p",{className:`${at.statusText} ${p?at.failedText:""}`,children:m}),p&&c.jsxs(c.Fragment,{children:[c.jsx("p",{className:at.hint,children:s||(e==="error"?u("startup.errorHint","The backend process could not be launched. Check application logs for details."):u("startup.timeoutHint","Backend failed to start. Please retry, or check application logs for details."))}),n&&c.jsxs("details",{className:at.details,children:[c.jsx("summary",{className:at.summary,children:u("startup.errorDetails","Show error details")}),c.jsx("pre",{className:at.errorDetails,children:n})]}),l&&c.jsx("button",{className:at.retryButton,onClick:o,disabled:d,type:"button",children:r||u("startup.retry","Retry")})]})]})})}async function eO(){const e=await mo.getStatus();return{mode:e.mode==="hub"?"hub":"standard",authStatus:e}}async function tO(e){if(!(e??await mo.getStatus()).enabled)return"ok";const a=Sa();if(!a)return"auth-required";const n=await fetch(ee("/auth/verify"),{headers:{Authorization:`Bearer ${a}`}});if(n.ok)return"ok";if(n.status===401||n.status===403)return tn(),"auth-required";throw new Error(`Authentication service returned ${n.status}`)}function aO(){const e=t=>{var s;if(t.defaultPrevented||t.button!==0||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return;const a=t.target,n=(s=a==null?void 0:a.closest)==null?void 0:s.call(a,"a[href]");if(!n||n.target!=="_blank")return;const o=n.getAttribute("href");if(!o)return;const i=Wu(o);i&&(t.preventDefault(),Es(i))};return document.addEventListener("click",e,!0),()=>document.removeEventListener("click",e,!0)}ri.extend(Jh);const nO=ne("./pages/Login/index"),oO=ne("./pages/Hub/index"),iO=h.lazy(()=>f(()=>import("./DesktopOS-Co1B_JSN.js"),__vite__mapDeps([440,3,108,140,114,4,5,6,250,142,2,107,109,176,115,7,441]))),vd={zh:dh,en:li,ja:lh,ru:rh,id:sh},Td={zh:"zh-cn",en:"en",ja:"ja",ru:"ru",id:"id"},sO=ih` 204* { 205 margin: 0; 206 box-sizing: border-box; 207} 208`;function ni({children:e,authStatus:t,useHardRedirect:a=!1}){const[n,o]=h.useState("loading"),[i,s]=h.useState(""),[r,l]=h.useState(0);if(h.useEffect(()=>{let d=!1;return o("loading"),s(""),tO(t).then(u=>{d||o(u)}).catch(u=>{d||(s(u instanceof Error?u.message:"Authentication failed"),o("error"))}),()=>{d=!0}},[t,r]),n==="loading")return null;if(n==="error")return c.jsx(ho,{status:"error",elapsed:0,totalSec:1,errorMessage:i,onRetry:()=>l(d=>d+1)});if(n==="auth-required"){const d=Pu(window.location);return a?(window.location.replace(Au(window.location)),null):c.jsx(go,{to:d,replace:!0})}return c.jsx(c.Fragment,{children:e})}function Sd({children:e,enabled:t}){const{t:a}=ve(),[n,o]=h.useState(null),[i,s]=h.useState(""),[r,l]=h.useState(!1),[d,u]=h.useState(0);h.useEffect(()=>{if(!t)return;let m=!1;return o(null),s(""),pa.getHealth().then(k=>{m||o(k)}).catch(k=>{m||s(k instanceof Error?k.message:"Runtime security preflight failed")}),()=>{m=!0}},[t,d]);const p=async()=>{l(!0),s("");try{await pa.restartOwnRuntime(),u(m=>m+1)}catch(m){s(m instanceof Error?m.message:"Runtime restart failed")}finally{l(!1)}};if(h.useEffect(()=>{!t||!n||n.runtime_available||window.location.replace(Rs(window.location.pathname,"/hub/admin"))},[t,n]),!t)return c.jsx(c.Fragment,{children:e});if(!n&&!i)return null;if((n==null?void 0:n.runtime_desired_state)==="stopped"){const m=n.runtime_start_policy==="owner_allowed";return c.jsx(ho,{status:"error",elapsed:0,totalSec:1,statusText:a(m?"account.runtimeStoppedTitle":"account.runtimeDisabledTitle"),hintText:a(m?"account.runtimeStoppedDescription":"account.runtimeDisabledDescription"),errorMessage:i,onRetry:p,retryLabel:a(r?"account.runtimeRestarting":"account.runtimeRestart"),showRetry:m,retryDisabled:r})}return n!=null&&n.runtime_available?c.jsx(c.Fragment,{children:e}):n?null:c.jsx(ho,{status:"error",elapsed:0,totalSec:1,errorMessage:i,onRetry:()=>u(m=>m+1)})}function rO({backendInfo:e}){const t=e.mode==="hub",a=wo(window.location.pathname),{i18n:n}=ve(),{isDark:o}=un(),i=o?uh:ph,s=n.resolvedLanguage||n.language||"en",[r,l]=h.useState(vd[s]??li);h.useEffect(()=>{localStorage.getItem("language")||Qu.getLanguage().then(({language:p})=>{p&&p!==n.language&&(n.changeLanguage(p),localStorage.setItem("language",p))}).catch(p=>console.error("Failed to fetch language preference:",p)),HF.getState().fetch()},[]),h.useEffect(()=>{const p=m=>{const k=m.split("-")[0];l(vd[k]??li),ri.locale(Td[k]??"en")};return ri.locale(Td[s.split("-")[0]]??"en"),n.on("languageChanged",p),()=>{n.off("languageChanged",p)}},[n]),h.useEffect(()=>{if(!Is())return;const p=m=>m.preventDefault();return window.addEventListener("contextmenu",p),()=>window.removeEventListener("contextmenu",p)},[]),h.useEffect(()=>{if(Ls())return aO()},[]);const u=wu(window.location.pathname)?c.jsx(ni,{authStatus:e.authStatus,useHardRedirect:!0,children:c.jsx(Sd,{enabled:t,children:c.jsx(h.Suspense,{fallback:null,children:c.jsx(iO,{})})})}):c.jsx(nm,{basename:a,children:c.jsxs(wd,{children:[c.jsx(Ln,{path:"/login",element:c.jsx(h.Suspense,{fallback:null,children:c.jsx(nO,{})})}),c.jsx(Ln,{path:"/hub/admin",element:t?c.jsx(ni,{authStatus:e.authStatus,children:c.jsx(h.Suspense,{fallback:null,children:c.jsx(oO,{})})}):c.jsx(go,{to:"/",replace:!0})}),c.jsx(Ln,{path:"/*",element:c.jsx(ni,{authStatus:e.authStatus,children:c.jsx(Sd,{enabled:t,children:c.jsx(qE,{hubMode:t})})})})]})});return c.jsxs(c.Fragment,{children:[c.jsx(sO,{}),c.jsx(ch,{...i,prefix:"qwenpaw",prefixCls:"qwenpaw",locale:r,theme:{...i.theme,algorithm:o?Xs.darkAlgorithm:Xs.defaultAlgorithm,token:{colorPrimary:"#FF7F16"}},children:c.jsxs(Pd,{children:[c.jsx(jF,{}),c.jsx(YM,{children:c.jsx(_F,{children:c.jsx(tD,{children:u})})})]})})]})}function lO(){return c.jsx(_S,{children:c.jsx(dO,{})})}function dO(){const[e,t]=h.useState("loading"),[a,n]=h.useState(""),[o,i]=h.useState(0);return h.useEffect(()=>{let s=!1;return t("loading"),n(""),eO().then(r=>{s||t(r)}).catch(r=>{s||(n(r instanceof Error?r.message:"Backend detection failed"),t("error"))}),()=>{s=!0}},[o]),e==="loading"?null:e==="error"?c.jsx(ho,{status:"error",elapsed:0,totalSec:1,errorMessage:a,onRetry:()=>i(s=>s+1)}):c.jsx(SF,{children:c.jsx(rO,{backendInfo:e})})}const oe=(e,t)=>()=>Ht.t(e,t??e),cO=[{id:"core.inbox",location:"primary.agentScoped",label:oe("nav.inbox"),icon:ii,route:"core.inbox",order:10},{id:"core.marketplace",location:"primary.agentScoped",label:oe("nav.marketplace","Extension"),icon:mh,route:"core.marketplace",order:15},{id:"core.control-group",location:"primary.agentScoped",label:oe("nav.control"),isGroup:!0,order:20},{id:"core.channels",location:"primary.agentScoped",parentId:"core.control-group",label:oe("nav.channels"),icon:hh,route:"core.channels",order:10},{id:"core.sessions",location:"primary.agentScoped",parentId:"core.control-group",label:oe("nav.sessions"),icon:gh,route:"core.sessions",order:20},{id:"core.cron-jobs",location:"primary.agentScoped",parentId:"core.control-group",label:oe("nav.cronJobs"),icon:Zs,route:"core.cron-jobs",order:30},{id:"core.heartbeat",location:"primary.agentScoped",parentId:"core.control-group",label:oe("nav.heartbeat"),icon:fh,route:"core.heartbeat",order:40},{id:"core.workspace-group",location:"primary.agentScoped",label:oe("nav.agent"),isGroup:!0,order:30},{id:"core.files",location:"primary.agentScoped",parentId:"core.workspace-group",label:oe("nav.files"),icon:bh,route:"core.files",order:5},{id:"core.skills",location:"primary.agentScoped",parentId:"core.workspace-group",label:oe("nav.skills"),icon:kh,route:"core.skills",order:10},{id:"core.tools",location:"primary.agentScoped",parentId:"core.workspace-group",label:oe("nav.tools"),icon:yh,route:"core.tools",order:20},{id:"core.mcp",location:"primary.agentScoped",parentId:"core.workspace-group",label:oe("nav.mcp"),icon:vh,route:"core.mcp",order:40},{id:"core.acp",location:"primary.agentScoped",parentId:"core.workspace-group",label:oe("nav.acp"),icon:Th,route:"core.acp",order:50},{id:"core.agent-config",location:"primary.agentScoped",parentId:"core.workspace-group",label:oe("nav.agentConfig"),icon:Sh,route:"core.agent-config",order:60},{id:"core.agent-stats",location:"primary.agentScoped",parentId:"core.workspace-group",label:oe("nav.agentStats"),icon:Ch,route:"core.agent-stats",order:70},{id:"core.checkpoints",location:"primary.agentScoped",parentId:"core.agent-group",label:oe("checkpoints.nav"),icon:wh,route:"core.checkpoints",order:80},{id:"core.settings-group",location:"primary.settings",label:oe("nav.settings"),isGroup:!0,order:10},{id:"core.agents",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.agents"),icon:Ph,route:"core.agents",order:10},{id:"core.models",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.models"),icon:Ah,route:"core.models",order:20},{id:"core.skill-pool",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.skillPool","Skill Pool"),icon:Mh,route:"core.skill-pool",order:30},{id:"core.environments",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.environments"),icon:Dh,route:"core.environments",order:50},{id:"core.offload-policy",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.offloadPolicy","Tool Offload"),icon:Zs,route:"core.offload-policy",order:55},{id:"core.security",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.security"),icon:xh,route:"core.security",order:60},{id:"core.token-usage",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.tokenUsage"),icon:Rh,route:"core.token-usage",order:70},{id:"core.backups",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.backups"),icon:Ih,route:"core.backups",order:80},{id:"core.voice-transcription",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.voiceTranscription"),icon:_h,route:"core.voice-transcription",order:90},{id:"core.debug",location:"primary.settings",parentId:"core.settings-group",label:oe("nav.debug","Debug"),icon:Lh,route:"core.debug",order:100}];je.addBuiltin(cO);const uO=ne("../../pages/Chat"),pO=ne("../../pages/Control/Channels"),mO=ne("../../pages/Control/Sessions"),hO=ne("../../pages/Inbox"),gO=ne("../../pages/Control/CronJobs"),fO=ne("../../pages/Control/Heartbeat"),bO=ne("../../pages/Agent/Config"),kO=ne("../../pages/Agent/Skills"),yO=ne("../../pages/Settings/SkillPool"),vO=ne("../../pages/Agent/Tools"),TO=ne("../../pages/Agent/Checkpoints"),SO=ne("../../pages/Agent/MCP"),CO=ne("../../pages/Agent/ACP"),wO=ne("../../pages/Settings/Models"),PO=ne("../../pages/Settings/Environments"),AO
208=ne("../../pages/Settings/OffloadPolicy"),MO=ne("../../pages/Settings/Security"),DO=ne("../../pages/Settings/TokenUsage"),xO=ne("../../pages/Settings/AgentStats"),RO=ne("../../pages/Settings/VoiceTranscription"),IO=ne("../../pages/Settings/Agents"),_O=ne("../../pages/Settings/Debug"),LO=ne("../../pages/Settings/Backups"),EO=ne("../../pages/AppCenter"),FO=ne("../../pages/Market"),OO=ne("../../pages/Files");function BO(){return c.jsx(go,{to:"/chat",replace:!0})}function NO(){return c.jsx(go,{to:"/acp",replace:!0})}const HO=[{id:"core.root",path:"/",component:BO},{id:"core.chat",path:"/chat/*",component:uO},{id:"core.files",path:"/files",component:OO},{id:"core.channels",path:"/channels",component:pO},{id:"core.sessions",path:"/sessions",component:mO},{id:"core.inbox",path:"/inbox",component:hO},{id:"core.cron-jobs",path:"/cron-jobs",component:gO},{id:"core.heartbeat",path:"/heartbeat",component:fO},{id:"core.skills",path:"/skills",component:kO},{id:"core.skill-pool",path:"/skill-pool",component:yO},{id:"core.tools",path:"/tools",component:vO},{id:"core.mcp",path:"/mcp",component:SO},{id:"core.acp",path:"/acp",component:CO},{id:"core.acp-alias",path:"/ACP",component:NO},{id:"core.checkpoints",path:"/checkpoints",component:TO},{id:"core.agents",path:"/agents",component:IO},{id:"core.models",path:"/models",component:wO},{id:"core.environments",path:"/environments",component:PO},{id:"core.offload-policy",path:"/offload-policy",component:AO},{id:"core.agent-config",path:"/agent-config",component:bO},{id:"core.security",path:"/security",component:MO},{id:"core.token-usage",path:"/token-usage",component:DO},{id:"core.agent-stats",path:"/agent-stats",component:xO},{id:"core.voice-transcription",path:"/voice-transcription",component:RO},{id:"core.debug",path:"/debug",component:_O},{id:"core.backups",path:"/backups",component:LO},{id:"core.marketplace",path:"/market",component:FO},{id:"core.app-center.embed",path:"/apps/:appId",component:EO}];ot.addBuiltin(HO);bF();if(typeof window<"u"){const e=n=>!!n.dataTransfer&&Array.from(n.dataTransfer.types).includes("Files");window.addEventListener("dragover",n=>{e(n)&&n.preventDefault()}),window.addEventListener("drop",n=>{e(n)&&n.preventDefault()});const t=console.error,a=console.warn;console.error=function(...n){var i;const o=((i=n[0])==null?void 0:i.toString())||"";o.includes(":first-child")||o.includes("pseudo class")||t.apply(console,n)},console.warn=function(...n){var i;const o=((i=n[0])==null?void 0:i.toString())||"";o.includes(":first-child")||o.includes("pseudo class")||o.includes("potentially unsafe")||a.apply(console,n)}}om.createRoot(document.getElementById("root")).render(c.jsx(lO,{}));const UO=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));export{ke as $,Rs as A,JO as B,Ou as C,jS as D,Ge as E,ZO as F,un as G,Ql as H,ie as I,qa as J,Sp as K,Os as L,Jl as M,$S as N,Kt as O,CC as P,qT as Q,_e as R,Rv as S,KS as T,ea as U,GS as V,zS as W,Cn as X,an as Y,yF as Z,ma as _,PC as a,dB as a$,Up as a0,Ls as a1,Ao as a2,ft as a3,rB as a4,Dw as a5,Rw as a6,Tw as a7,UP as a8,Gt as a9,Sl as aA,Ku as aB,Fs as aC,lB as aD,BE as aE,Ki as aF,ja as aG,OE as aH,$u as aI,_s as aJ,Fe as aK,Bp as aL,Zu as aM,pC as aN,Qk as aO,uB as aP,oB as aQ,nB as aR,Mp as aS,DC as aT,IC as aU,FC as aV,KC as aW,aB as aX,LC as aY,Yu as aZ,GC as a_,Sw as aa,xw as ab,Ns as ac,Cw as ad,bw as ae,ww as af,OP as ag,LT as ah,MP as ai,Yo as aj,RP as ak,BP as al,mP as am,Su as an,lv as ao,pa as ap,LM as aq,tn as ar,TA as as,aD as at,sB as au,QO as av,mo as aw,$O as ax,MC as ay,ov as az,RS as b,RC as b0,Ua as b1,jC as b2,Xu as b3,EC as b4,iw as b5,xC as b6,ji as b7,ip as b8,Ha as b9,iB as ba,ot as bb,je as bc,vF as bd,XO as be,Ml as bf,NE as bg,pD as bh,tB as bi,ba as c,Fu as d,Eu as e,We as f,Pt as g,ee as h,xe as i,md as j,ua as k,Fi as l,Jh as m,HF as n,Es as o,eB as p,LS as q,v as r,ue as s,Rp as t,dn as u,FE as v,cB as w,wu as x,YO as y,Mu as z};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.