cc-viewer 1.6.176 → 1.6.178
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.js +10 -3
- package/dist/assets/{App-DIvx4v3V.js → App-qWOkopw9.js} +2 -2
- package/dist/assets/{AppHeader.module-VQJVo2kr.js → AppHeader.module-DMS396h8.js} +3 -3
- package/dist/assets/{Mobile-DTNdUTln.js → Mobile-D8XbfoDb.js} +1 -1
- package/dist/assets/{_baseUniq-Cn4w7vDz.js → _baseUniq-CrD0xpPl.js} +1 -1
- package/dist/assets/{arc-Dxg9dWqX.js → arc-B1EtGnv1.js} +1 -1
- package/dist/assets/{architectureDiagram-Q4EWVU46-CjpFcnGC.js → architectureDiagram-Q4EWVU46-DgmSkgwj.js} +1 -1
- package/dist/assets/{blockDiagram-DXYQGD6D-CN4vkczH.js → blockDiagram-DXYQGD6D-ldHYNCP_.js} +1 -1
- package/dist/assets/{c4Diagram-AHTNJAMY-BV6qBbXg.js → c4Diagram-AHTNJAMY-C88-XfL7.js} +1 -1
- package/dist/assets/channel-CyEQFtCX.js +1 -0
- package/dist/assets/{chunk-4BX2VUAB-DkVtT9CY.js → chunk-4BX2VUAB-CpeAQTum.js} +1 -1
- package/dist/assets/{chunk-4TB4RGXK-BtXA0E09.js → chunk-4TB4RGXK-w1bF_Aax.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-CwT7Xjnr.js → chunk-55IACEB6-DmFD8aeg.js} +1 -1
- package/dist/assets/{chunk-EDXVE4YY-bdE2vYQb.js → chunk-EDXVE4YY-C30g862_.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-BF1erg1j.js → chunk-FMBD7UC4-DGtNEtew.js} +1 -1
- package/dist/assets/{chunk-OYMX7WX6-CnawGqlG.js → chunk-OYMX7WX6-DnbLchec.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-DWSlWdkU.js → chunk-QZHKN3VN-9tjAlOn6.js} +1 -1
- package/dist/assets/{chunk-YZCP3GAM-qltxOdDS.js → chunk-YZCP3GAM-C8zlNgSy.js} +1 -1
- package/dist/assets/classDiagram-6PBFFD2Q-xc7gx6do.js +1 -0
- package/dist/assets/classDiagram-v2-HSJHXN6E-xc7gx6do.js +1 -0
- package/dist/assets/clone-vjhp4Jg-.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-BI8wFFAT.js → cose-bilkent-S5V4N54A-g7n8jTb9.js} +1 -1
- package/dist/assets/{dagre-KV5264BT-DYSkM54Z.js → dagre-KV5264BT-YmgReAHj.js} +1 -1
- package/dist/assets/{diagram-5BDNPKRD-B-77NK6x.js → diagram-5BDNPKRD-CU6AayPx.js} +1 -1
- package/dist/assets/{diagram-G4DWMVQ6-BuZP4Fxm.js → diagram-G4DWMVQ6-JYHOUlzf.js} +1 -1
- package/dist/assets/{diagram-MMDJMWI5-CZwPJrlr.js → diagram-MMDJMWI5-CK0BEeDL.js} +1 -1
- package/dist/assets/{diagram-TYMM5635-DziKMbBt.js → diagram-TYMM5635-B79ZQ605.js} +1 -1
- package/dist/assets/{erDiagram-SMLLAGMA-C0l2t18R.js → erDiagram-SMLLAGMA-BE0H0mY9.js} +1 -1
- package/dist/assets/{flowDiagram-DWJPFMVM-C75xi933.js → flowDiagram-DWJPFMVM-RPH1z3dw.js} +1 -1
- package/dist/assets/{ganttDiagram-T4ZO3ILL-CUqr1VFR.js → ganttDiagram-T4ZO3ILL-CpffhNgS.js} +1 -1
- package/dist/assets/{gitGraphDiagram-UUTBAWPF-DzGgQts5.js → gitGraphDiagram-UUTBAWPF-JfK-bMP5.js} +1 -1
- package/dist/assets/{graph-CTd371EJ.js → graph-BM1DxvYu.js} +1 -1
- package/dist/assets/{index-BDzAVNH9.js → index-Bde8piev.js} +2 -2
- package/dist/assets/{infoDiagram-42DDH7IO-CbLyzyV7.js → infoDiagram-42DDH7IO-DoIoXWsI.js} +1 -1
- package/dist/assets/{ishikawaDiagram-UXIWVN3A-C-XRqjC_.js → ishikawaDiagram-UXIWVN3A-5F8HAZ5x.js} +1 -1
- package/dist/assets/{journeyDiagram-VCZTEJTY-wdI1HOV7.js → journeyDiagram-VCZTEJTY-CmsonEtz.js} +1 -1
- package/dist/assets/{kanban-definition-6JOO6SKY-BLIoUkdK.js → kanban-definition-6JOO6SKY-UZ9bWu5-.js} +1 -1
- package/dist/assets/{layout-xq_bwP1x.js → layout-BpZAjPK8.js} +1 -1
- package/dist/assets/{linear-DBF-x289.js → linear-Cx3E0FkS.js} +1 -1
- package/dist/assets/{mermaid.core-8TBPCg9L.js → mermaid.core-BCXcdmGC.js} +4 -4
- package/dist/assets/{min-H79msWq_.js → min-CgmxLJ49.js} +1 -1
- package/dist/assets/{mindmap-definition-QFDTVHPH-DFTiizr-.js → mindmap-definition-QFDTVHPH-Vx83q3eA.js} +1 -1
- package/dist/assets/{pieDiagram-DEJITSTG-DzExmSI5.js → pieDiagram-DEJITSTG-gl5e_feW.js} +1 -1
- package/dist/assets/{quadrantDiagram-34T5L4WZ-DEWjRniM.js → quadrantDiagram-34T5L4WZ-gqyCl0QM.js} +1 -1
- package/dist/assets/{requirementDiagram-MS252O5E-Cw7v6vy_.js → requirementDiagram-MS252O5E-BK06L4ve.js} +1 -1
- package/dist/assets/{sankeyDiagram-XADWPNL6-CdD0u3-N.js → sankeyDiagram-XADWPNL6-C1fZQsMf.js} +1 -1
- package/dist/assets/{sequenceDiagram-FGHM5R23-BS5zVDdN.js → sequenceDiagram-FGHM5R23-5X9encoD.js} +1 -1
- package/dist/assets/{stateDiagram-FHFEXIEX-B53hxAv2.js → stateDiagram-FHFEXIEX-CuO6v9SO.js} +1 -1
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-Ghhubn9m.js +1 -0
- package/dist/assets/{timeline-definition-GMOUNBTQ-2AOXHRiZ.js → timeline-definition-GMOUNBTQ-RG5XTlpg.js} +1 -1
- package/dist/assets/{vennDiagram-DHZGUBPP-CZSGYcLM.js → vennDiagram-DHZGUBPP-Cvf51Cpv.js} +1 -1
- package/dist/assets/{wardley-RL74JXVD-B79fYX7G.js → wardley-RL74JXVD-Cc68zTTG.js} +1 -1
- package/dist/assets/{wardleyDiagram-NUSXRM2D-bIy3sZSD.js → wardleyDiagram-NUSXRM2D-D_Pk-gwB.js} +1 -1
- package/dist/assets/{xychartDiagram-5P7HB3ND-CqFPW1iC.js → xychartDiagram-5P7HB3ND-B8L22NRB.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/pty-manager.js +63 -1
- package/dist/assets/channel-LaUQmPu7.js +0 -1
- package/dist/assets/classDiagram-6PBFFD2Q-C7B_Mbs8.js +0 -1
- package/dist/assets/classDiagram-v2-HSJHXN6E-C7B_Mbs8.js +0 -1
- package/dist/assets/clone-CQ5bKYRp.js +0 -1
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-BV0GvFG2.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-
|
|
2
|
-
var za=Object.defineProperty;var Ia=(a,i,e)=>i in a?za(a,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[i]=e;var q=(a,i,e)=>Ia(a,typeof i!="symbol"?i+"":i,e);import{a as y,I as ot,b as lt,K as wt,W as Bn,d as Le,z as Pa,S as Pt,H as Mt,L as Ma,X as Ba,Y as Oa,t as Da,Z as Xs,e as Fa,s as ce,M as Pe,$ as Wa,T as On,u as vt,R as me,V as Qn,P as Ke,j as Dn,F as Ua,C as $a,a0 as ds,J as Bt,o as Ha,c as Ga,p as ct,D as Xn,g as Va,a1 as xn}from"./vendor-antd--lnyToqQ.js";import{j as t,E as Fn,k as qa,s as Ka,R as Za,a as Ja,b as Ya,c as Dt,m as us,y as ps,d as Qa,x as Ft,p as Xa,r as ei,g as ti,e as dt,f as ni,h as si,i as Wt,H as ai,t as re}from"./vendor-codemirror-C7imH6Hd.js";import{_ as es,b as oe,a as ye,i as yt}from"./index-BDzAVNH9.js";import{p as _n,g as ii}from"./vendor-markdown-CO-jRjTB.js";import{D as ri,o as oi,L as li,K as ci,x as di}from"./vendor-xterm-DWMOrwSy.js";import{r as ui}from"./vendor-highlight-D4ATuRwX.js";import{q as pi}from"./vendor-virtuoso-DDKvHLUv.js";var mi={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z"}}]},name:"arrow-up",theme:"outlined"},hi=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:mi}))},gi=y.forwardRef(hi),fi={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M740 161c-61.8 0-112 50.2-112 112 0 50.1 33.1 92.6 78.5 106.9v95.9L320 602.4V318.1c44.2-15 76-56.9 76-106.1 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-27.8l423.5-138.7a50.52 50.52 0 0034.9-48.2V378.2c42.9-15.8 73.6-57 73.6-105.2 0-61.8-50.2-112-112-112zm-504 51a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm96 600a48.01 48.01 0 01-96 0 48.01 48.01 0 0196 0zm408-491a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"branches",theme:"outlined"},_i=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:fi}))},bi=y.forwardRef(_i),ki={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"}}]},name:"camera",theme:"outlined"},vi=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:ki}))},yi=y.forwardRef(vi),xi={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"database",theme:"outlined"},Li=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:xi}))},wi=y.forwardRef(Li),Si={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0162.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1096 0 48 48 0 10-96 0z"}}]},name:"rocket",theme:"outlined"},Ti=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:Si}))},ms=y.forwardRef(Ti),Ci={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z"}}]},name:"save",theme:"outlined"},Ei=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:Ci}))},Ai=y.forwardRef(Ei),Ni={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},Ri=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:Ni}))},Ey=y.forwardRef(Ri);const ji={"ui.guide.title":{zh:"欢迎使用 CC Viewer",en:"Welcome to CC Viewer","zh-TW":"歡迎使用 CC Viewer",ko:"CC Viewer에 오신 것을 환영합니다",ja:"CC Viewer へようこそ",de:"Willkommen bei CC Viewer",es:"Bienvenido a CC Viewer",fr:"Bienvenue sur CC Viewer",it:"Benvenuto in CC Viewer",da:"Velkommen til CC Viewer",pl:"Witamy w CC Viewer",ru:"Добро пожаловать в CC Viewer",ar:"مرحبًا بك في CC Viewer",no:"Velkommen til CC Viewer","pt-BR":"Bem-vindo ao CC Viewer",th:"ยินดีต้อนรับสู่ CC Viewer",tr:"CC Viewer'a hoş geldiniz",uk:"Ласкаво просимо до CC Viewer"},"ui.guide.step1":{zh:"你可以先尝试在 Claude 中发起一轮对话。不知道说什么?可以问问:",en:"Try starting a conversation in Claude. Not sure what to say? Try asking:","zh-TW":"你可以先嘗試在 Claude 中發起一輪對話。不知道說什麼?可以問問:",ko:"Claude에서 대화를 시작해 보세요. 무슨 말을 해야 할지 모르겠다면:",ja:"まず Claude で会話を始めてみましょう。何を言えばいいかわからない場合:",de:"Starten Sie ein Gespräch in Claude. Nicht sicher, was Sie sagen sollen? Fragen Sie:",es:"Intenta iniciar una conversación en Claude. ¿No sabes qué decir? Prueba preguntar:",fr:"Essayez de lancer une conversation dans Claude. Vous ne savez pas quoi dire ? Demandez :",it:"Prova ad avviare una conversazione in Claude. Non sai cosa dire? Prova a chiedere:",da:"Prøv at starte en samtale i Claude. Ikke sikker på hvad du skal sige? Prøv at spørge:",pl:"Spróbuj rozpocząć rozmowę w Claude. Nie wiesz co powiedzieć? Zapytaj:",ru:"Попробуйте начать разговор в Claude. Не знаете, что сказать? Спросите:",ar:"جرّب بدء محادثة في Claude. لا تعرف ماذا تقول؟ جرّب أن تسأل:",no:"Prøv å starte en samtale i Claude. Usikker på hva du skal si? Prøv å spørre:","pt-BR":"Tente iniciar uma conversa no Claude. Não sabe o que dizer? Pergunte:",th:"ลองเริ่มบทสนทนาใน Claude ไม่รู้จะพูดอะไร? ลองถามว่า:",tr:"Claude'da bir sohbet başlatmayı deneyin. Ne söyleyeceğinizi bilmiyor musunuz? Şunu sorun:",uk:"Спробуйте розпочати розмову в Claude. Не знаєте, що сказати? Запитайте:"},"ui.guide.exampleQuestion":{zh:"看看我现在有多少 skill",en:"How many skills do I have right now?","zh-TW":"看看我現在有多少 skill",ko:"지금 내가 가진 skill이 몇 개인지 확인해줘",ja:"今いくつの skill があるか見てみて",de:"Wie viele Skills habe ich gerade?",es:"¿Cuántos skills tengo ahora mismo?",fr:"Combien de skills ai-je en ce moment ?",it:"Quanti skill ho in questo momento?",da:"Hvor mange skills har jeg lige nu?",pl:"Ile mam teraz skills?",ru:"Сколько у меня сейчас skills?",ar:"كم عدد الـ skills لديّ الآن؟",no:"Hvor mange skills har jeg nå?","pt-BR":"Quantos skills eu tenho agora?",th:"ตอนนี้ฉันมีกี่ skill?",tr:"Şu anda kaç tane skill'im var?",uk:"Скільки у мене зараз skills?"},"ui.guide.step2":{zh:"你能看到这段文字,说明服务已经启动。如果 Claude 有响应但这里没有变化,可以让 Claude 帮你排查:",en:"If you can see this, the service is running. If Claude responds but nothing shows here, ask Claude to help troubleshoot:","zh-TW":"你能看到這段文字,說明服務已經啟動。如果 Claude 有回應但這裡沒有變化,可以讓 Claude 幫你排查:",ko:"이 텍스트가 보이면 서비스가 실행 중입니다. Claude가 응답하지만 여기에 변화가 없다면 Claude에게 문제 해결을 요청하세요:",ja:"このテキストが見えていればサービスは起動しています。Claude が応答しているのにここに変化がない場合、Claude にトラブルシューティングを依頼してください:",de:"Wenn Sie diesen Text sehen, läuft der Dienst. Wenn Claude antwortet, aber hier nichts angezeigt wird, bitten Sie Claude um Hilfe:",es:"Si puedes ver este texto, el servicio está funcionando. Si Claude responde pero aquí no cambia nada, pide a Claude que te ayude:",fr:"Si vous voyez ce texte, le service fonctionne. Si Claude répond mais rien ne s'affiche ici, demandez à Claude de vous aider :",it:"Se puoi vedere questo testo, il servizio è in esecuzione. Se Claude risponde ma qui non cambia nulla, chiedi a Claude di aiutarti:",da:"Hvis du kan se denne tekst, kører tjenesten. Hvis Claude svarer, men intet vises her, bed Claude om hjælp:",pl:"Jeśli widzisz ten tekst, usługa działa. Jeśli Claude odpowiada, ale tutaj nic się nie zmienia, poproś Claude o pomoc:",ru:"Если вы видите этот текст, сервис запущен. Если Claude отвечает, но здесь ничего не меняется, попросите Claude помочь:",ar:"إذا كنت ترى هذا النص، فالخدمة تعمل. إذا كان Claude يستجيب ولكن لا شيء يظهر هنا، اطلب من Claude المساعدة:",no:"Hvis du kan se denne teksten, kjører tjenesten. Hvis Claude svarer men ingenting vises her, be Claude om hjelp:","pt-BR":"Se você pode ver este texto, o serviço está rodando. Se o Claude responde mas nada aparece aqui, peça ao Claude para ajudar:",th:"ถ้าคุณเห็นข้อความนี้ แสดงว่าบริการกำลังทำงาน หาก Claude ตอบกลับแต่ที่นี่ไม่มีการเปลี่ยนแปลง ให้ขอให้ Claude ช่วยแก้ไข:",tr:"Bu metni görebiliyorsanız, hizmet çalışıyor. Claude yanıt veriyor ama burada bir değişiklik olmuyorsa, Claude'dan yardım isteyin:",uk:"Якщо ви бачите цей текст, сервіс працює. Якщо Claude відповідає, але тут нічого не змінюється, попросіть Claude допомогти:"},"ui.guide.troubleshootCmd":{zh:"我已经启动了 cc-viewer,但是无法看到 cc-viewer 的请求,检查 npm 包中 cc-viewer 的实现,检查问题,并修复",en:"I've started cc-viewer but can't see any requests. Check the cc-viewer npm package implementation, find the issue, and fix it","zh-TW":"我已經啟動了 cc-viewer,但是無法看到 cc-viewer 的請求,檢查 npm 包中 cc-viewer 的實現,檢查問題,並修復",ko:"cc-viewer를 시작했지만 요청을 볼 수 없습니다. cc-viewer npm 패키지 구현을 확인하고 문제를 찾아 수정해 주세요",ja:"cc-viewer を起動しましたがリクエストが表示されません。cc-viewer npm パッケージの実装を確認し、問題を見つけて修正してください",de:"Ich habe cc-viewer gestartet, kann aber keine Anfragen sehen. Überprüfen Sie die cc-viewer npm-Paket-Implementierung, finden Sie das Problem und beheben Sie es",es:"He iniciado cc-viewer pero no puedo ver las solicitudes. Revisa la implementación del paquete npm cc-viewer, encuentra el problema y corrígelo",fr:"J'ai démarré cc-viewer mais je ne vois aucune requête. Vérifiez l'implémentation du package npm cc-viewer, trouvez le problème et corrigez-le",it:"Ho avviato cc-viewer ma non riesco a vedere le richieste. Controlla l'implementazione del pacchetto npm cc-viewer, trova il problema e risolvilo",da:"Jeg har startet cc-viewer, men kan ikke se nogen forespørgsler. Tjek cc-viewer npm-pakkens implementering, find problemet og ret det",pl:"Uruchomiłem cc-viewer, ale nie widzę żadnych żądań. Sprawdź implementację pakietu npm cc-viewer, znajdź problem i napraw go",ru:"Я запустил cc-viewer, но не вижу запросов. Проверьте реализацию npm-пакета cc-viewer, найдите проблему и исправьте её",ar:"لقد قمت بتشغيل cc-viewer ولكن لا أستطيع رؤية أي طلبات. تحقق من تنفيذ حزمة npm الخاصة بـ cc-viewer، وابحث عن المشكلة وأصلحها",no:"Jeg har startet cc-viewer, men kan ikke se noen forespørsler. Sjekk cc-viewer npm-pakkens implementering, finn problemet og fiks det","pt-BR":"Iniciei o cc-viewer mas não consigo ver as requisições. Verifique a implementação do pacote npm cc-viewer, encontre o problema e corrija",th:"ฉันเริ่ม cc-viewer แล้วแต่ไม่เห็นคำขอใดๆ ตรวจสอบการใช้งานแพ็กเกจ npm ของ cc-viewer หาปัญหาและแก้ไข",tr:"cc-viewer'ı başlattım ama istekleri göremiyorum. cc-viewer npm paketinin uygulamasını kontrol edin, sorunu bulun ve düzeltin",uk:"Я запустив cc-viewer, але не бачу жодних запитів. Перевірте реалізацію npm-пакету cc-viewer, знайдіть проблему та виправте її"},"ui.guide.step3":{zh:"在极端情况下,native 版本的 Claude 无法拦截。你可以尝试切回 npm 版本:",en:"In extreme cases, the native version of Claude cannot be intercepted. You can try switching back to the npm version:","zh-TW":"在極端情況下,native 版本的 Claude 無法攔截。你可以嘗試切回 npm 版本:",ko:"극단적인 경우 native 버전의 Claude는 가로챌 수 없습니다. npm 버전으로 전환해 보세요:",ja:"極端な場合、ネイティブ版の Claude はインターセプトできません。npm 版に切り替えてみてください:",de:"In extremen Fällen kann die native Version von Claude nicht abgefangen werden. Versuchen Sie, zur npm-Version zu wechseln:",es:"En casos extremos, la versión nativa de Claude no puede ser interceptada. Puedes intentar volver a la versión npm:",fr:"Dans les cas extrêmes, la version native de Claude ne peut pas être interceptée. Essayez de revenir à la version npm :",it:"In casi estremi, la versione nativa di Claude non può essere intercettata. Puoi provare a tornare alla versione npm:",da:"I ekstreme tilfælde kan den native version af Claude ikke opsnappes. Du kan prøve at skifte tilbage til npm-versionen:",pl:"W skrajnych przypadkach natywna wersja Claude nie może być przechwycona. Możesz spróbować przełączyć się na wersję npm:",ru:"В крайних случаях нативная версия Claude не может быть перехвачена. Попробуйте переключиться на npm-версию:",ar:"في الحالات القصوى، لا يمكن اعتراض النسخة الأصلية من Claude. يمكنك محاولة العودة إلى نسخة npm:",no:"I ekstreme tilfeller kan den native versjonen av Claude ikke fanges opp. Du kan prøve å bytte tilbake til npm-versjonen:","pt-BR":"Em casos extremos, a versão nativa do Claude não pode ser interceptada. Você pode tentar voltar para a versão npm:",th:"ในกรณีสุดขีด เวอร์ชัน native ของ Claude ไม่สามารถดักจับได้ คุณสามารถลองเปลี่ยนกลับไปใช้เวอร์ชัน npm:",tr:"Aşırı durumlarda, Claude'un native sürümü yakalanamaz. npm sürümüne geri dönmeyi deneyebilirsiniz:",uk:"У крайніх випадках нативну версію Claude неможливо перехопити. Спробуйте переключитися на npm-версію:"},"ui.requestList":{zh:"请求列表",en:"Requests","zh-TW":"請求列表",ko:"요청 목록",ja:"リクエスト一覧",de:"Anfragen",es:"Solicitudes",fr:"Requêtes",it:"Richieste",da:"Forespørgsler",pl:"Żądania",ru:"Запросы",ar:"الطلبات",no:"Forespørsler","pt-BR":"Requisições",th:"รายการคำขอ",tr:"İstekler",uk:"Запити"},"ui.totalRequests":{zh:"总请求数: {count}",en:"Total: {count}","zh-TW":"總請求數: {count}",ko:"총 요청 수: {count}",ja:"合計: {count}",de:"Gesamt: {count}",es:"Total: {count}",fr:"Total : {count}",it:"Totale: {count}",da:"Total: {count}",pl:"Łącznie: {count}",ru:"Всего: {count}",ar:"الإجمالي: {count}",no:"Totalt: {count}","pt-BR":"Total: {count}",th:"ทั้งหมด: {count}",tr:"Toplam: {count}",uk:"Всього: {count}"},"ui.waitingRequests":{zh:"等待请求...",en:"Waiting for requests...","zh-TW":"等待請求...",ko:"요청 대기 중...",ja:"リクエスト待機中...",de:"Warte auf Anfragen...",es:"Esperando solicitudes...",fr:"En attente de requêtes...",it:"In attesa di richieste...",da:"Venter på forespørgsler...",pl:"Oczekiwanie na żądania...",ru:"Ожидание запросов...",ar:"في انتظار الطلبات...",no:"Venter på forespørsler...","pt-BR":"Aguardando requisições...",th:"รอคำขอ...",tr:"İstekler bekleniyor...",uk:"Очікування запитів..."},"ui.importLocalLogs":{zh:"日志管理工具",en:"Log Management","zh-TW":"日誌管理工具",ko:"로그 관리 도구",ja:"ログ管理ツール",de:"Log-Verwaltung",es:"Gestión de logs",fr:"Gestion des logs",it:"Gestione log",da:"Loghåndtering",pl:"Zarządzanie logami",ru:"Управление логами",ar:"إدارة السجلات",no:"Loggadministrasjon","pt-BR":"Gerenciamento de logs",th:"จัดการบันทึก",tr:"Log yönetimi",uk:"Керування логами"},"ui.openLogDir":{zh:"打开日志文件夹",en:"Open log folder","zh-TW":"開啟日誌資料夾",ko:"로그 폴더 열기",ja:"ログフォルダを開く",de:"Log-Ordner öffnen",es:"Abrir carpeta de logs",fr:"Ouvrir le dossier de logs",it:"Apri cartella log",da:"Åbn logmappe",pl:"Otwórz folder logów",ru:"Открыть папку логов",ar:"فتح مجلد السجلات",no:"Åpne loggmappe","pt-BR":"Abrir pasta de logs",th:"เปิดโฟลเดอร์บันทึก",tr:"Log klasörünü aç",uk:"Відкрити теку логів"},"ui.openProjectDir":{zh:"在系统中打开项目文件夹",en:"Open project folder","zh-TW":"在系統中開啟專案資料夾",ko:"프로젝트 폴더 열기",ja:"プロジェクトフォルダを開く",de:"Projektordner öffnen",es:"Abrir carpeta del proyecto",fr:"Ouvrir le dossier du projet",it:"Apri cartella progetto",da:"Åbn projektmappe",pl:"Otwórz folder projektu",ru:"Открыть папку проекта",ar:"فتح مجلد المشروع",no:"Åpne prosjektmappe","pt-BR":"Abrir pasta do projeto",th:"เปิดโฟลเดอร์โปรเจกต์",tr:"Proje klasörünü aç",uk:"Відкрити теку проєкту"},"ui.loadLocalJsonl":{zh:"上传日志并解析",en:"Upload and parse log","zh-TW":"上傳日誌並解析",ko:"로그 업로드 및 분석",ja:"ログをアップロードして解析",de:"Log hochladen und analysieren",es:"Subir y analizar registro",fr:"Télécharger et analyser le journal",it:"Carica e analizza il log",da:"Upload og analysér log",pl:"Prześlij i przeanalizuj log",ru:"Загрузить и разобрать журнал",ar:"تحميل وتحليل السجل",no:"Last opp og analyser logg","pt-BR":"Enviar e analisar log",th:"อัปโหลดและวิเคราะห์ล็อก",tr:"Günlüğü yükle ve ayrıştır",uk:"Завантажити та проаналізувати журнал"},"ui.fileTooLarge":{zh:"文件大小不能超过 500MB",en:"File size cannot exceed 500MB","zh-TW":"檔案大小不能超過 500MB",ko:"파일 크기는 500MB를 초과할 수 없습니다",ja:"ファイルサイズは500MBを超えることはできません",de:"Dateigröße darf 500MB nicht überschreiten",es:"El tamaño del archivo no puede superar 500MB",fr:"La taille du fichier ne peut pas dépasser 500 Mo",it:"La dimensione del file non può superare 500MB",da:"Filstørrelsen må ikke overstige 500MB",pl:"Rozmiar pliku nie może przekraczać 500MB",ru:"Размер файла не может превышать 500МБ",ar:"حجم الملف لا يمكن أن يتجاوز 500 ميجابايت",no:"Filstørrelsen kan ikke overstige 500MB","pt-BR":"O tamanho do arquivo não pode exceder 500MB",th:"ขนาดไฟล์ต้องไม่เกิน 500MB",tr:"Dosya boyutu 500MB'ı aşamaz",uk:"Розмір файлу не може перевищувати 500МБ"},"ui.claudeMissing.title":{zh:"未检测到 Claude Code CLI",en:"Claude Code CLI not found","zh-TW":"未偵測到 Claude Code CLI",ko:"Claude Code CLI를 찾을 수 없습니다",ja:"Claude Code CLI が見つかりません",de:"Claude Code CLI nicht gefunden",es:"Claude Code CLI no encontrado",fr:"Claude Code CLI introuvable",it:"Claude Code CLI non trovato",da:"Claude Code CLI ikke fundet",pl:"Nie znaleziono Claude Code CLI",ru:"Claude Code CLI не найден",ar:"لم يتم العثور على Claude Code CLI",no:"Claude Code CLI ikke funnet","pt-BR":"Claude Code CLI não encontrado",th:"ไม่พบ Claude Code CLI",tr:"Claude Code CLI bulunamadı",uk:"Claude Code CLI не знайдено"},"ui.claudeMissing.desc":{zh:"请先安装 Claude Code 才能使用本应用:",en:"Please install Claude Code first:","zh-TW":"請先安裝 Claude Code 才能使用本應用:",ko:"먼저 Claude Code를 설치해주세요:",ja:"まず Claude Code をインストールしてください:",de:"Bitte installieren Sie zuerst Claude Code:",es:"Instale Claude Code primero:",fr:"Veuillez d'abord installer Claude Code :",it:"Installa prima Claude Code:",da:"Installér venligst Claude Code først:",pl:"Najpierw zainstaluj Claude Code:",ru:"Сначала установите Claude Code:",ar:"يرجى تثبيت Claude Code أولاً:",no:"Vennligst installer Claude Code først:","pt-BR":"Instale o Claude Code primeiro:",th:"กรุณาติดตั้ง Claude Code ก่อน:",tr:"Lütfen önce Claude Code'u yükleyin:",uk:"Спочатку встановіть Claude Code:"},"ui.claudeMissing.or":{zh:"或",en:"or","zh-TW":"或",ko:"또는",ja:"または",de:"oder",es:"o",fr:"ou",it:"o",da:"eller",pl:"lub",ru:"или",ar:"أو",no:"eller","pt-BR":"ou",th:"หรือ",tr:"veya",uk:"або"},"ui.claudeMissing.native":{zh:"下载 Claude Code 桌面版",en:"Download Claude Code Desktop","zh-TW":"下載 Claude Code 桌面版",ko:"Claude Code 데스크톱 다운로드",ja:"Claude Code デスクトップをダウンロード",de:"Claude Code Desktop herunterladen",es:"Descargar Claude Code Desktop",fr:"Télécharger Claude Code Desktop",it:"Scarica Claude Code Desktop",da:"Download Claude Code Desktop",pl:"Pobierz Claude Code Desktop",ru:"Скачать Claude Code Desktop",ar:"تحميل Claude Code Desktop",no:"Last ned Claude Code Desktop","pt-BR":"Baixar Claude Code Desktop",th:"ดาวน์โหลด Claude Code Desktop",tr:"Claude Code Desktop İndir",uk:"Завантажити Claude Code Desktop"},"ui.dragDropHint":{zh:"拖放文件到此处上传",en:"Drop files here to upload","zh-TW":"拖放檔案到此處上傳",ko:"파일을 여기에 놓아 업로드",ja:"ファイルをここにドロップしてアップロード",de:"Dateien hierher ziehen zum Hochladen",es:"Suelta archivos aquí para subir",fr:"Déposez les fichiers ici pour télécharger",it:"Trascina i file qui per caricare",da:"Slip filer her for at uploade",pl:"Upuść pliki tutaj, aby przesłać",ru:"Перетащите файлы сюда для загрузки",ar:"أسقط الملفات هنا للتحميل",no:"Slipp filer her for å laste opp","pt-BR":"Solte arquivos aqui para enviar",th:"วางไฟล์ที่นี่เพื่ออัปโหลด",tr:"Dosyaları yüklemek için buraya bırakın",uk:"Перетягніть файли сюди для завантаження"},"ui.importToProject":{zh:"拖放文件到此处导入项目",en:"Drop files here to import","zh-TW":"拖放檔案到此處匯入專案",ko:"여기에 파일을 놓아 가져오기",ja:"ファイルをここにドロップしてインポート",de:"Dateien hier ablegen zum Importieren",es:"Suelta archivos aquí para importar",fr:"Déposez les fichiers ici pour importer",it:"Rilascia file qui per importare",da:"Slip filer her for at importere",pl:"Upuść pliki tutaj, aby zaimportować",ru:"Перетащите файлы сюда для импорта",ar:"أسقط الملفات هنا للاستيراد",no:"Slipp filer her for å importere","pt-BR":"Solte arquivos aqui para importar",th:"วางไฟล์ที่นี่เพื่อนำเข้า",tr:"Dosyaları içe aktarmak için buraya bırakın",uk:"Перетягніть файли сюди для імпорту"},"ui.fileImported":{zh:"已导入文件: {name}",en:"File imported: {name}","zh-TW":"已匯入檔案: {name}",ko:"파일 가져옴: {name}",ja:"ファイルをインポートしました: {name}",de:"Datei importiert: {name}",es:"Archivo importado: {name}",fr:"Fichier importé : {name}",it:"File importato: {name}",da:"Fil importeret: {name}",pl:"Zaimportowano plik: {name}",ru:"Файл импортирован: {name}",ar:"تم استيراد الملف: {name}",no:"Fil importert: {name}","pt-BR":"Arquivo importado: {name}",th:"นำเข้าไฟล์แล้ว: {name}",tr:"Dosya içe aktarıldı: {name}",uk:"Файл імпортовано: {name}"},"ui.filesImported":{zh:"已导入 {count} 个文件",en:"{count} files imported","zh-TW":"已匯入 {count} 個檔案",ko:"{count}개 파일 가져옴",ja:"{count} 件のファイルをインポートしました",de:"{count} Dateien importiert",es:"{count} archivos importados",fr:"{count} fichiers importés",it:"{count} file importati",da:"{count} filer importeret",pl:"Zaimportowano {count} plików",ru:"{count} файлов импортировано",ar:"تم استيراد {count} ملفات",no:"{count} filer importert","pt-BR":"{count} arquivos importados",th:"นำเข้า {count} ไฟล์แล้ว",tr:"{count} dosya içe aktarıldı",uk:"Імпортовано {count} файлів"},"ui.exportPrompts":{zh:"查看用户 Prompt",en:"Export user prompts","zh-TW":"匯出用戶 Prompt",ko:"사용자 Prompt 내보내기",ja:"ユーザー Prompt をエクスポート",de:"Benutzer-Prompts exportieren",es:"Exportar prompts de usuario",fr:"Exporter les prompts utilisateur",it:"Esporta prompt utente",da:"Eksportér bruger-prompts",pl:"Eksportuj prompty użytkownika",ru:"Экспорт пользовательских Prompt",ar:"تصدير Prompt المستخدم",no:"Eksporter bruker-prompts","pt-BR":"Exportar prompts do usuário",th:"ส่งออก Prompt ผู้ใช้",tr:"Kullanıcı Prompt'larını dışa aktar",uk:"Експорт Prompt користувача"},"ui.exportPromptsTxt":{zh:"导出到本地 .txt",en:"Export to local .txt","zh-TW":"匯出到本地 .txt",ko:"로컬 .txt로 내보내기",ja:"ローカル .txt にエクスポート",de:"Als lokale .txt exportieren",es:"Exportar a .txt local",fr:"Exporter en .txt local",it:"Esporta in .txt locale",da:"Eksportér til lokal .txt",pl:"Eksportuj do lokalnego .txt",ru:"Экспорт в локальный .txt",ar:"تصدير إلى ملف .txt محلي",no:"Eksporter til lokal .txt","pt-BR":"Exportar para .txt local",th:"ส่งออกเป็นไฟล์ .txt ในเครื่อง",tr:"Yerel .txt olarak dışa aktar",uk:"Експорт у локальний .txt"},"ui.pluginManagement":{zh:"插件管理",en:"Plugin Management","zh-TW":"外掛管理",ko:"플러그인 관리",ja:"プラグイン管理",de:"Plugin-Verwaltung",es:"Gestión de plugins",fr:"Gestion des plugins",it:"Gestione plugin",da:"Plugin-styring",pl:"Zarządzanie wtyczkami",ru:"Управление плагинами",ar:"إدارة الإضافات",no:"Plugin-administrasjon","pt-BR":"Gerenciamento de plugins",th:"จัดการปลั๊กอิน",tr:"Eklenti yönetimi",uk:"Керування плагінами"},"ui.switchWorkspace":{zh:"切换工作区",en:"Switch Workspace","zh-TW":"切換工作區",ko:"워크스페이스 전환",ja:"ワークスペース切替",de:"Arbeitsbereich wechseln",es:"Cambiar espacio",fr:"Changer d'espace",it:"Cambia area",da:"Skift område",pl:"Zmień obszar",ru:"Сменить пространство",ar:"تبديل المساحة",no:"Bytt område","pt-BR":"Trocar área",th:"สลับเวิร์กสเปซ",tr:"Alan değiştir",uk:"Змінити простір"},"ui.plugins.empty":{zh:"暂无插件",en:"No plugins installed"},"ui.plugins.emptyHint":{zh:"将 .js 文件放入插件目录即可加载",en:"Place .js files in the plugins directory to load"},"ui.plugins.delete":{zh:"删除",en:"Delete"},"ui.plugins.deleteConfirm":{zh:"确认删除插件「{name}」?此操作不可恢复。",en:'Delete plugin "{name}"? This cannot be undone.'},"ui.plugins.reload":{zh:"重新加载",en:"Reload"},"ui.plugins.pluginsDir":{zh:"插件目录",en:"Plugin directory"},"ui.plugins.add":{zh:"本地安装",en:"Local Install"},"ui.plugins.invalidFile":{zh:"请选择 .js 或 .mjs 文件",en:"Please select .js or .mjs files"},"ui.plugins.addSuccess":{zh:"插件添加成功",en:"Plugin added successfully"},"ui.plugins.addFailed":{zh:"添加插件失败:{reason}",en:"Failed to add plugin: {reason}"},"ui.plugins.serverError":{zh:"服务端错误({status}),请检查服务是否正常运行",en:"Server error ({status}), please check if the server is running properly"},"ui.plugins.cdnInstall":{zh:"在线安装",en:"Install from URL","zh-TW":"線上安裝",ko:"URL에서 설치",ja:"URLからインストール",de:"Von URL installieren",es:"Instalar desde URL",fr:"Installer depuis une URL",it:"Installa da URL",da:"Installer fra URL",pl:"Zainstaluj z URL",ru:"Установить по URL",ar:"تثبيت من عنوان URL",no:"Installer fra URL","pt-BR":"Instalar a partir de URL",th:"ติดตั้งจาก URL",tr:"URL'den yükle",uk:"Встановити з URL"},"ui.plugins.cdnUrl":{zh:"CDN 地址",en:"CDN URL","zh-TW":"CDN 地址",ko:"CDN URL",ja:"CDN URL",de:"CDN-URL",es:"URL de CDN",fr:"URL CDN",it:"URL CDN",da:"CDN URL",pl:"URL CDN",ru:"URL CDN",ar:"عنوان CDN",no:"CDN URL","pt-BR":"URL do CDN",th:"URL ของ CDN",tr:"CDN URL'si",uk:"URL CDN"},"ui.plugins.cdnUrlPlaceholder":{zh:"请输入插件的 CDN 地址(如 https://cdn.example.com/plugin.js)",en:"Enter plugin CDN URL (e.g. https://cdn.example.com/plugin.js)","zh-TW":"請輸入插件的 CDN 地址(如 https://cdn.example.com/plugin.js)",ko:"플러그인 CDN URL을 입력하세요 (예: https://cdn.example.com/plugin.js)",ja:"プラグインのCDN URLを入力してください(例: https://cdn.example.com/plugin.js)",de:"Plugin-CDN-URL eingeben (z.B. https://cdn.example.com/plugin.js)",es:"Ingrese la URL CDN del plugin (ej. https://cdn.example.com/plugin.js)",fr:"Entrez l'URL CDN du plugin (ex. https://cdn.example.com/plugin.js)",it:"Inserisci l'URL CDN del plugin (es. https://cdn.example.com/plugin.js)",da:"Indtast plugin CDN URL (f.eks. https://cdn.example.com/plugin.js)",pl:"Wprowadź URL CDN wtyczki (np. https://cdn.example.com/plugin.js)",ru:"Введите URL CDN плагина (напр. https://cdn.example.com/plugin.js)",ar:"أدخل عنوان CDN للإضافة (مثال: https://cdn.example.com/plugin.js)",no:"Skriv inn plugin CDN URL (f.eks. https://cdn.example.com/plugin.js)","pt-BR":"Insira a URL CDN do plugin (ex. https://cdn.example.com/plugin.js)",th:"ป้อน URL CDN ของปลั๊กอิน (เช่น https://cdn.example.com/plugin.js)",tr:"Eklenti CDN URL'sini girin (ör. https://cdn.example.com/plugin.js)",uk:"Введіть URL CDN плагіна (напр. https://cdn.example.com/plugin.js)"},"ui.plugins.cdnName":{zh:"插件名称",en:"Plugin Name","zh-TW":"插件名稱",ko:"플러그인 이름",ja:"プラグイン名",de:"Plugin-Name",es:"Nombre del plugin",fr:"Nom du plugin",it:"Nome del plugin",da:"Plugin-navn",pl:"Nazwa wtyczki",ru:"Имя плагина",ar:"اسم الإضافة",no:"Plugin-navn","pt-BR":"Nome do plugin",th:"ชื่อปลั๊กอิน",tr:"Eklenti adı",uk:"Назва плагіна"},"ui.plugins.cdnNamePlaceholder":{zh:"请输入插件保存名称(如 my-plugin.js)",en:"Enter plugin save name (e.g. my-plugin.js)","zh-TW":"請輸入插件儲存名稱(如 my-plugin.js)",ko:"플러그인 저장 이름을 입력하세요 (예: my-plugin.js)",ja:"プラグインの保存名を入力してください(例: my-plugin.js)",de:"Plugin-Speichernamen eingeben (z.B. my-plugin.js)",es:"Ingrese el nombre para guardar el plugin (ej. my-plugin.js)",fr:"Entrez le nom de sauvegarde du plugin (ex. my-plugin.js)",it:"Inserisci il nome di salvataggio del plugin (es. my-plugin.js)",da:"Indtast plugin-gemmenavn (f.eks. my-plugin.js)",pl:"Wprowadź nazwę zapisu wtyczki (np. my-plugin.js)",ru:"Введите имя для сохранения плагина (напр. my-plugin.js)",ar:"أدخل اسم حفظ الإضافة (مثال: my-plugin.js)",no:"Skriv inn plugin-lagringsnavn (f.eks. my-plugin.js)","pt-BR":"Insira o nome de salvamento do plugin (ex. my-plugin.js)",th:"ป้อนชื่อบันทึกปลั๊กอิน (เช่น my-plugin.js)",tr:"Eklenti kayıt adını girin (ör. my-plugin.js)",uk:"Введіть ім'я збереження плагіна (напр. my-plugin.js)"},"ui.plugins.cdnUrlRequired":{zh:"请输入 CDN 地址",en:"Please enter CDN URL","zh-TW":"請輸入 CDN 地址",ko:"CDN URL을 입력해 주세요",ja:"CDN URLを入力してください",de:"Bitte CDN-URL eingeben",es:"Por favor ingrese la URL de CDN",fr:"Veuillez entrer l'URL CDN",it:"Inserisci l'URL CDN",da:"Indtast venligst CDN URL",pl:"Proszę wprowadzić URL CDN",ru:"Пожалуйста, введите URL CDN",ar:"يرجى إدخال عنوان CDN",no:"Vennligst skriv inn CDN URL","pt-BR":"Por favor, insira a URL do CDN",th:"กรุณาป้อน URL ของ CDN",tr:"Lütfen CDN URL'sini girin",uk:"Будь ласка, введіть URL CDN"},"ui.plugins.cdnNameRequired":{zh:"请输入插件名称",en:"Please enter plugin name","zh-TW":"請輸入插件名稱",ko:"플러그인 이름을 입력해 주세요",ja:"プラグイン名を入力してください",de:"Bitte Plugin-Namen eingeben",es:"Por favor ingrese el nombre del plugin",fr:"Veuillez entrer le nom du plugin",it:"Inserisci il nome del plugin",da:"Indtast venligst plugin-navn",pl:"Proszę wprowadzić nazwę wtyczki",ru:"Пожалуйста, введите имя плагина",ar:"يرجى إدخال اسم الإضافة",no:"Vennligst skriv inn plugin-navn","pt-BR":"Por favor, insira o nome do plugin",th:"กรุณาป้อนชื่อปลั๊กอิน",tr:"Lütfen eklenti adını girin",uk:"Будь ласка, введіть назву плагіна"},"ui.plugins.cdnInvalidUrl":{zh:"请输入有效的 URL 地址",en:"Please enter a valid URL","zh-TW":"請輸入有效的 URL 地址",ko:"유효한 URL을 입력해 주세요",ja:"有効なURLを入力してください",de:"Bitte eine gültige URL eingeben",es:"Por favor ingrese una URL válida",fr:"Veuillez entrer une URL valide",it:"Inserisci un URL valido",da:"Indtast venligst en gyldig URL",pl:"Proszę wprowadzić prawidłowy URL",ru:"Пожалуйста, введите действительный URL",ar:"يرجى إدخال عنوان URL صالح",no:"Vennligst skriv inn en gyldig URL","pt-BR":"Por favor, insira uma URL válida",th:"กรุณาป้อน URL ที่ถูกต้อง",tr:"Lütfen geçerli bir URL girin",uk:"Будь ласка, введіть дійсну URL-адресу"},"ui.plugins.cdnInstallBtn":{zh:"安装",en:"Install","zh-TW":"安裝",ko:"설치",ja:"インストール",de:"Installieren",es:"Instalar",fr:"Installer",it:"Installa",da:"Installer",pl:"Zainstaluj",ru:"Установить",ar:"تثبيت",no:"Installer","pt-BR":"Instalar",th:"ติดตั้ง",tr:"Yükle",uk:"Встановити"},"ui.plugins.cdnInstallSuccess":{zh:"插件安装成功",en:"Plugin installed successfully","zh-TW":"插件安裝成功",ko:"플러그인이 성공적으로 설치되었습니다",ja:"プラグインのインストールに成功しました",de:"Plugin erfolgreich installiert",es:"Plugin instalado correctamente",fr:"Plugin installé avec succès",it:"Plugin installato con successo",da:"Plugin installeret succesfuldt",pl:"Wtyczka zainstalowana pomyślnie",ru:"Плагин успешно установлен",ar:"تم تثبيت الإضافة بنجاح",no:"Plugin installert vellykket","pt-BR":"Plugin instalado com sucesso",th:"ติดตั้งปลั๊กอินสำเร็จ",tr:"Eklenti başarıyla yüklendi",uk:"Плагін успішно встановлено"},"ui.plugins.cdnInstallFailed":{zh:"安装插件失败:{reason}",en:"Failed to install plugin: {reason}","zh-TW":"安裝插件失敗:{reason}",ko:"플러그인 설치 실패: {reason}",ja:"プラグインのインストールに失敗しました:{reason}",de:"Plugin-Installation fehlgeschlagen: {reason}",es:"Error al instalar el plugin: {reason}",fr:"Échec de l'installation du plugin : {reason}",it:"Installazione del plugin fallita: {reason}",da:"Plugin-installation mislykkedes: {reason}",pl:"Instalacja wtyczki nie powiodła się: {reason}",ru:"Не удалось установить плагин: {reason}",ar:"فشل تثبيت الإضافة: {reason}",no:"Plugin-installasjon mislyktes: {reason}","pt-BR":"Falha ao instalar o plugin: {reason}",th:"ติดตั้งปลั๊กอินล���มเหลว: {reason}",tr:"Eklenti yüklenemedi: {reason}",uk:"Не вдалося встановити плагін: {reason}"},"ui.plugins.cdnFetching":{zh:"正在下载插件...",en:"Downloading plugin...","zh-TW":"正在下載插件...",ko:"플러그인 다운로드 중...",ja:"プラグインをダウンロード中...",de:"Plugin wird heruntergeladen...",es:"Descargando plugin...",fr:"Téléchargement du plugin...",it:"Download del plugin in corso...",da:"Downloader plugin...",pl:"Pobieranie wtyczki...",ru:"Загрузка плагина...",ar:"جارٍ تنزيل الإضافة...",no:"Laster ned plugin...","pt-BR":"Baixando plugin...",th:"กำลังดาวน์โหลดปลั๊กอิน...",tr:"Eklenti indiriliyor...",uk:"Завантаження плагіна..."},"ui.tokenStats":{zh:"数据统计",en:"Data Stats","zh-TW":"數據統計",ko:"데이터 통계",ja:"データ統計",de:"Datenstatistik",es:"Estadísticas de datos",fr:"Statistiques de données",it:"Statistiche dati",da:"Datastatistik",pl:"Statystyki danych",ru:"Статистика данных",ar:"إحصائيات البيانات",no:"Datastatistikk","pt-BR":"Estatísticas de dados",th:"สถิติข้อมูล",tr:"Veri İstatistikleri",uk:"Статистика даних"},"ui.liveMonitoring":{zh:"当前项目",en:"Project","zh-TW":"當前專案",ko:"현재 프로젝트",ja:"現在のプロジェクト",de:"Projekt",es:"Proyecto",fr:"Projet",it:"Progetto",da:"Projekt",pl:"Projekt",ru:"Проект",ar:"المشروع",no:"Prosjekt","pt-BR":"Projeto",th:"โปรเจกต์",tr:"Proje",uk:"Проєкт"},"ui.loadingChat":{zh:"加载对话中",en:"Loading chat","zh-TW":"載入對話中",ko:"대화 로딩 중",ja:"チャット読み込み中",de:"Chat wird geladen",es:"Cargando chat",fr:"Chargement du chat",it:"Caricamento chat",da:"Indlæser chat",pl:"Ładowanie czatu",ru:"Загрузка чата",ar:"جارٍ تحميل المحادثة",no:"Laster chat","pt-BR":"Carregando chat",th:"กำลังโหลดแชท",tr:"Sohbet yükleniyor",uk:"Завантаження чату"},"ui.mobileChatBrowse":{zh:"对话浏览",en:"Chat Browse","zh-TW":"對話瀏覽",ko:"대화 찾아보기",ja:"チャット閲覧",de:"Chat durchsuchen",es:"Ver chat",fr:"Parcourir le chat",it:"Sfoglia chat",da:"Gennemse chat",pl:"Przeglądaj czat",ru:"Просмотр чата",ar:"تصفح المحادثة",no:"Bla gjennom chat","pt-BR":"Navegar chat",th:"ดูแชท",tr:"Sohbet Gözat",uk:"Перегляд чату"},"ui.mobileChatExit":{zh:"退出对话",en:"Exit Chat","zh-TW":"退出對話",ko:"채팅 종료",ja:"チャット終了",de:"Chat beenden",es:"Salir del chat",fr:"Quitter le chat",it:"Esci dalla chat",da:"Afslut chat",pl:"Zamknij czat",ru:"Выйти из чата",ar:"الخروج من المحادثة",no:"Avslutt chat","pt-BR":"Sair do chat",th:"ออกจากแชท",tr:"Sohbetten Çık",uk:"Вийти з чату"},"ui.mobileTerminalBrowse":{zh:"打开终端",en:"Terminal","zh-TW":"開啟終端",ko:"터미널 열기",ja:"ターミナルを開く",de:"Terminal öffnen",es:"Abrir terminal",fr:"Ouvrir le terminal",it:"Apri terminale",da:"Åbn terminal",pl:"Otwórz terminal",ru:"Открыть терминал",ar:"فتح الطرفية",no:"Åpne terminal","pt-BR":"Abrir terminal",th:"เปิดเทอร์มินัล",tr:"Terminal Aç",uk:"Відкрити термінал"},"ui.mobileTerminalExit":{zh:"退出终端",en:"Exit Terminal","zh-TW":"退出終端",ko:"터미널 종료",ja:"ターミナル終了",de:"Terminal beenden",es:"Salir del terminal",fr:"Quitter le terminal",it:"Esci dal terminale",da:"Afslut terminal",pl:"Zamknij terminal",ru:"Выйти из терминала",ar:"الخروج من الطرفية",no:"Avslutt terminal","pt-BR":"Sair do terminal",th:"ออกจากเทอร์มินัล",tr:"Terminalden Çık",uk:"Вийти з терміналу"},"ui.mobileGitDiffBrowse":{zh:"Git Diff",en:"Git Diff","zh-TW":"Git Diff",ko:"Git Diff",ja:"Git Diff",de:"Git Diff",es:"Git Diff",fr:"Git Diff",it:"Git Diff",da:"Git Diff",pl:"Git Diff",ru:"Git Diff",ar:"Git Diff",no:"Git Diff","pt-BR":"Git Diff",th:"Git Diff",tr:"Git Diff",uk:"Git Diff"},"ui.mobileGitDiffExit":{zh:"退出Diff",en:"Exit Diff","zh-TW":"退出Diff",ko:"Diff 종료",ja:"Diff終了",de:"Diff beenden",es:"Salir de Diff",fr:"Quitter Diff",it:"Esci da Diff",da:"Afslut Diff",pl:"Zamknij Diff",ru:"Выйти из Diff",ar:"الخروج من Diff",no:"Avslutt Diff","pt-BR":"Sair do Diff",th:"ออกจาก Diff",tr:"Diff'ten Çık",uk:"Вийти з Diff"},"ui.mobileGoBack":{zh:"回退",en:"Back","zh-TW":"返回",ko:"뒤로",ja:"戻る",de:"Zurück",es:"Volver",fr:"Retour",it:"Indietro",da:"Tilbage",pl:"Wstecz",ru:"Назад",ar:"رجوع",no:"Tilbake","pt-BR":"Voltar",th:"ย้อนกลับ",tr:"Geri",uk:"Назад"},"ui.mobileGitDiffHint":{zh:"选择文件查看变更",en:"Select a file to view changes","zh-TW":"選擇檔案查看變更",ko:"파일을 선택하여 변경사항 보기",ja:"ファイルを選択して変更を表示",de:"Datei auswählen, um Änderungen anzuzeigen",es:"Seleccione un archivo para ver los cambios",fr:"Sélectionnez un fichier pour voir les modifications",it:"Seleziona un file per visualizzare le modifiche",da:"Vælg en fil for at se ændringer",pl:"Wybierz plik, aby zobaczyć zmiany",ru:"Выберите файл для просмотра изменений",ar:"اختر ملفًا لعرض التغييرات",no:"Velg en fil for å se endringer","pt-BR":"Selecione um arquivo para ver as alterações",th:"เลือกไฟล์เพื่อดูการเปลี่ยนแปลง",tr:"Değişiklikleri görmek için bir dosya seçin",uk:"Виберіть файл для перегляду змін"},"ui.projectFolder":{zh:"项目文件夹",en:"Project Folder","zh-TW":"專案資料夾",ko:"프로젝트 폴더",ja:"プロジェクトフォルダ",de:"Projektordner",es:"Carpeta del proyecto",fr:"Dossier du projet",it:"Cartella progetto",da:"Projektmappe",pl:"Folder projektu",ru:"Папка проекта",ar:"مجلد المشروع",no:"Prosjektmappe","pt-BR":"Pasta do projeto",th:"โฟลเดอร์โปรเจกต์",tr:"Proje Klasörü",uk:"Папка проєкту"},"ui.mobileFileExplorerHint":{zh:"选择文件查看内容",en:"Select a file to view content","zh-TW":"選擇檔案查看內容",ko:"파일을 선택하여 내용 보기",ja:"ファイルを選択して内容を表示",de:"Datei auswählen, um Inhalt anzuzeigen",es:"Seleccione un archivo para ver el contenido",fr:"Sélectionnez un fichier pour voir le contenu",it:"Seleziona un file per visualizzare il contenuto",da:"Vælg en fil for at se indholdet",pl:"Wybierz plik, aby zobaczyć zawartość",ru:"Выберите файл для просмотра содержимого",ar:"اختر ملفًا لعرض المحتوى",no:"Velg en fil for å se innholdet","pt-BR":"Selecione um arquivo para ver o conteúdo",th:"เลือกไฟล์เพื่อดูเนื้อหา",tr:"İçeriği görmek için bir dosya seçin",uk:"Виберіть файл для перегляду вмісту"},"ui.modeSwitchTitle":{zh:"视图切换",en:"Switch View","zh-TW":"檢視切換",ko:"보기 전환",ja:"ビュー切替",de:"Ansicht wechseln",es:"Cambiar vista",fr:"Changer de vue",it:"Cambia vista",da:"Skift visning",pl:"Zmień widok",ru:"Переключить вид",ar:"تبديل العرض",no:"Bytt visning","pt-BR":"Trocar visualização",th:"สลับมุมมอง",tr:"Görünümü Değiştir",uk:"Змінити вигляд"},"ui.modeSwitchToSidebar":{zh:"当前窗口较窄,是否切换到侧边栏模式?",en:"Window is narrow. Switch to sidebar mode?","zh-TW":"目前視窗較窄,是否切換到側邊欄模式?",ko:"창이 좁습니다. 사이드바 모드로 전환할까요?",ja:"ウィンドウが狭いです。サイドバーモードに切り替えますか?",de:"Fenster ist schmal. In den Seitenleistenmodus wechseln?",es:"La ventana es estrecha. ¿Cambiar al modo barra lateral?",fr:"La fenêtre est étroite. Passer en mode barre latérale ?",it:"La finestra è stretta. Passare alla modalità barra laterale?",da:"Vinduet er smalt. Skift til sidebjælketilstand?",pl:"Okno jest wąskie. Przełączyć na tryb paska bocznego?",ru:"Окно слишком узкое. Переключить на режим боковой панели?",ar:"النافذة ضيقة. هل تريد التبديل إلى وضع الشريط الجانبي؟",no:"Vinduet er smalt. Bytt til sidefeltmodus?","pt-BR":"Janela estreita. Mudar para modo barra lateral?",th:"หน้าต่างแคบ สลับเป็นโหมดแถบข้าง?",tr:"Pencere dar. Kenar çubuğu moduna geçilsin mi?",uk:"Вікно вузьке. Перемкнути на режим бічної панелі?"},"ui.modeSwitchToFullView":{zh:"当前窗口较宽,是否切换到全览模式?",en:"Window is wide. Switch to full view mode?","zh-TW":"目前視窗較寬,是否切換到全覽模式?",ko:"창이 넓습니다. 전체 보기 모드로 전환할까요?",ja:"ウィンドウが広いです。フルビューモードに切り替えますか?",de:"Fenster ist breit. In den Vollansichtsmodus wechseln?",es:"La ventana es ancha. ¿Cambiar al modo vista completa?",fr:"La fenêtre est large. Passer en mode vue complète ?",it:"La finestra è larga. Passare alla modalità vista completa?",da:"Vinduet er bredt. Skift til fuld visningstilstand?",pl:"Okno jest szerokie. Przełączyć na tryb pełnego widoku?",ru:"Окно широкое. Переключить на полный режим просмотра?",ar:"النافذة واسعة. هل تريد التبديل إلى وضع العرض الكامل؟",no:"Vinduet er bredt. Bytt til fullvisningsmodus?","pt-BR":"Janela larga. Mudar para modo visualização completa?",th:"หน้าต่างกว้าง สลับเป็นโหมดเต็มจอ?",tr:"Pencere geniş. Tam görünüm moduna geçilsin mi?",uk:"Вікно широке. Перемкнути на повний режим перегляду?"},"ui.sendFailed":{zh:"发送失败,请重试",en:"Send failed, please try again","zh-TW":"傳送失敗,請重試",ko:"전송 실패, 다시 시도해주세요",ja:"送信に失敗しました。もう一度お試しください",de:"Senden fehlgeschlagen, bitte erneut versuchen",es:"Error al enviar, inténtelo de nuevo",fr:"Échec de l'envoi, veuillez réessayer",it:"Invio fallito, riprova",da:"Afsendelse mislykkedes, prøv igen",pl:"Wysyłanie nie powiodło się, spróbuj ponownie",ru:"Отправка не удалась, попробуйте снова",ar:"فشل الإرسال، يرجى المحاولة مرة أخرى",no:"Sending mislyktes, prøv igjen","pt-BR":"Falha ao enviar, tente novamente",th:"ส่งไม่สำเร็จ กรุณาลองอีกครั้ง",tr:"Gönderme başarısız, lütfen tekrar deneyin",uk:"Надсилання не вдалося, спробуйте ще раз"},"ui.mobileMenu":{zh:"菜单",en:"Menu","zh-TW":"選單",ko:"메뉴",ja:"メニュー",de:"Menü",es:"Menú",fr:"Menu",it:"Menu",da:"Menu",pl:"Menu",ru:"Меню",ar:"القائمة",no:"Meny","pt-BR":"Menu",th:"เมนู",tr:"Menü",uk:"Меню"},"ui.logManagement":{zh:"日志管理",en:"Log Management","zh-TW":"日誌管理",ko:"로그 관리",ja:"ログ管理",de:"Protokollverwaltung",es:"Gestión de registros",fr:"Gestion des journaux",it:"Gestione log",da:"Logstyring",pl:"Zarządzanie logami",ru:"Управление журналами",ar:"إدارة السجلات",no:"Logghåndtering","pt-BR":"Gerenciamento de logs",th:"จัดการบันทึก",tr:"Günlük Yönetimi",uk:"Керування журналами"},"ui.inflightRequests":{zh:"在途请求",en:"Inflight Requests","zh-TW":"在途請求",ko:"진행 중인 요청",ja:"処理中のリクエスト",de:"Laufende Anfragen",es:"Solicitudes en curso",fr:"Requêtes en cours",it:"Richieste in corso",da:"Igangværende forespørgsler",pl:"Trwające żądania",ru:"Текущие запросы",ar:"الطلبات الجارية",no:"Pågående forespørsler","pt-BR":"Requisições em andamento",th:"คำขอที่กำลังดำเนินการ",tr:"Devam Eden İstekler",uk:"Поточні запити"},"ui.noInflightRequests":{zh:"暂无在途请求",en:"No inflight requests","zh-TW":"暫無在途請求",ko:"진행 중인 요청 없음",ja:"処理中のリクエストなし",de:"Keine laufenden Anfragen",es:"Sin solicitudes en curso",fr:"Aucune requête en cours",it:"Nessuna richiesta in corso",da:"Ingen igangværende forespørgsler",pl:"Brak trwających żądań",ru:"Нет текущих запросов",ar:"لا توجد طلبات جارية",no:"Ingen pågående forespørsler","pt-BR":"Nenhuma requisição em andamento",th:"ไม่มีคำขอที่กำลังดำเนินการ",tr:"Devam eden istek yok",uk:"Немає поточних запитів"},"ui.historyLog":{zh:"历史日志: {file}",en:"History: {file}","zh-TW":"歷史日誌: {file}",ko:"기록: {file}",ja:"履歴: {file}",de:"Verlauf: {file}",es:"Historial: {file}",fr:"Historique : {file}",it:"Cronologia: {file}",da:"Historik: {file}",pl:"Historia: {file}",ru:"История: {file}",ar:"السجل: {file}",no:"Historikk: {file}","pt-BR":"Histórico: {file}",th:"ประวัติ: {file}",tr:"Geçmiş: {file}",uk:"Історія: {file}"},"ui.chatMode":{zh:"对话模式",en:"Chat mode","zh-TW":"對話模式",ko:"대화 모드",ja:"チャットモード",de:"Chat-Modus",es:"Modo chat",fr:"Mode conversation",it:"Modalità chat",da:"Chat-tilstand",pl:"Tryb czatu",ru:"Режим чата",ar:"وضع المحادثة",no:"Chat-modus","pt-BR":"Modo chat",th:"โหมดแชท",tr:"Sohbet modu",uk:"Режим чату"},"ui.rawMode":{zh:"网络报文",en:"Network Packets","zh-TW":"網路封包",ko:"네트워크 패킷",ja:"ネットワークパケット",de:"Netzwerkpakete",es:"Paquetes de red",fr:"Paquets réseau",it:"Pacchetti di rete",da:"Netværkspakker",pl:"Pakiety sieciowe",ru:"Сетевые пакеты",ar:"حزم الشبكة",no:"Nettverkspakker","pt-BR":"Pacotes de rede",th:"แพ็กเก็ตเครือข่าย",tr:"Ağ paketleri",uk:"Мережеві пакети"},"ui.viewRequest":{zh:"查看请求",en:"View Request","zh-TW":"查看請求",ko:"요청 보기",ja:"リクエストを表示",de:"Anfrage anzeigen",es:"Ver solicitud",fr:"Voir la requête",it:"Visualizza richiesta",da:"Vis forespørgsel",pl:"Zobacz żądanie",ru:"Просмотр запроса",ar:"عرض الطلب",no:"Vis forespørsel","pt-BR":"Ver requisição",th:"ดูคำขอ",tr:"İsteği görüntüle",uk:"Переглянути запит"},"ui.cannotMap":{zh:"无法映射到对话",en:"Cannot map to conversation","zh-TW":"無法映射到對話",ko:"대화에 매핑할 수 없습니다",ja:"会話にマッピングできません",de:"Kann nicht zur Konversation zugeordnet werden",es:"No se puede mapear a la conversación",fr:"Impossible de mapper à la conversation",it:"Impossibile mappare alla conversazione",da:"Kan ikke mappe til samtale",pl:"Nie można zmapować do rozmowy",ru:"Невозможно сопоставить с диалогом",ar:"لا يمكن الربط بالمحادثة",no:"Kan ikke tilordne til samtale","pt-BR":"Não é possível mapear para a conversa",th:"ไม่สามารถแมปไปยังการสนทนาได้",tr:"Konuşmaya eşlenemedi",uk:"Неможливо зіставити з діалогом"},"ui.cacheExpired":{zh:"已失效",en:"Expired","zh-TW":"已失效",ko:"만료됨",ja:"期限切れ",de:"Abgelaufen",es:"Expirado",fr:"Expiré",it:"Scaduto",da:"Udløbet",pl:"Wygasło",ru:"Истёк",ar:"منتهي الصلاحية",no:"Utløpt","pt-BR":"Expirado",th:"หมดอายุ",tr:"Süresi doldu",uk:"Закінчився"},"ui.cacheCountdown":{zh:"MainAgent 缓存{type}失效倒计时:",en:"MainAgent cache{type} expires in: ","zh-TW":"MainAgent 快取{type}失效倒數:",ko:"MainAgent cache{type} 만료 카운트다운: ",ja:"MainAgent cache{type} 期限切れまで: ",de:"MainAgent Cache{type} läuft ab in: ",es:"Cache{type} de MainAgent expira en: ",fr:"Cache{type} MainAgent expire dans : ",it:"Cache{type} MainAgent scade tra: ",da:"MainAgent cache{type} udløber om: ",pl:"Cache{type} MainAgent wygasa za: ",ru:"Cache{type} MainAgent истекает через: ",ar:"ينتهي cache{type} لـ MainAgent خلال: ",no:"MainAgent cache{type} utløper om: ","pt-BR":"Cache{type} do MainAgent expira em: ",th:"Cache{type} ของ MainAgent หมดอายุใน: ",tr:"MainAgent cache{type} süresi doluyor: ",uk:"Cache{type} MainAgent закінчується через: "},"ui.minuteSecond":{zh:"{m}分{s}秒",en:"{m}m{s}s","zh-TW":"{m}分{s}秒",ko:"{m}분{s}초",ja:"{m}分{s}秒",de:"{m}m{s}s",es:"{m}m{s}s",fr:"{m}m{s}s",it:"{m}m{s}s",da:"{m}m{s}s",pl:"{m}m{s}s",ru:"{m}м{s}с",ar:"{m}د{s}ث",no:"{m}m{s}s","pt-BR":"{m}m{s}s",th:"{m}นาที{s}วินาที",tr:"{m}dk{s}sn",uk:"{m}хв{s}с"},"ui.second":{zh:"{s}秒",en:"{s}s","zh-TW":"{s}秒",ko:"{s}초",ja:"{s}秒",de:"{s}s",es:"{s}s",fr:"{s}s",it:"{s}s",da:"{s}s",pl:"{s}s",ru:"{s}с",ar:"{s}ث",no:"{s}s","pt-BR":"{s}s",th:"{s}วินาที",tr:"{s}sn",uk:"{s}с"},"ui.hitRate":{zh:"命中率",en:"Hit rate","zh-TW":"命中率",ko:"적중률",ja:"ヒット率",de:"Trefferquote",es:"Tasa de aciertos",fr:"Taux de succès",it:"Tasso di successo",da:"Hitrate",pl:"Współczynnik trafień",ru:"Процент попаданий",ar:"معدل الإصابة",no:"Treffrate","pt-BR":"Taxa de acerto",th:"อัตราการเข้าถึง",tr:"İsabet oranı",uk:"Відсоток влучень"},"ui.userPrompt":{zh:"用户 Prompt",en:"User Prompt","zh-TW":"用戶 Prompt",ko:"사용자 Prompt",ja:"ユーザー Prompt",de:"Benutzer-Prompt",es:"Prompt de usuario",fr:"Prompt utilisateur",it:"Prompt utente",da:"Bruger-Prompt",pl:"Prompt użytkownika",ru:"Prompt пользователя",ar:"Prompt المستخدم",no:"Bruker-Prompt","pt-BR":"Prompt do usuário",th:"Prompt ผู้ใช้",tr:"Kullanıcı Prompt",uk:"Prompt користувача"},"ui.noPrompt":{zh:"暂无用户 Prompt",en:"No user prompts yet","zh-TW":"暫無用戶 Prompt",ko:"사용자 Prompt 없음",ja:"ユーザー Prompt はまだありません",de:"Noch keine Benutzer-Prompts",es:"Sin prompts de usuario aún",fr:"Aucun prompt utilisateur",it:"Nessun prompt utente",da:"Ingen bruger-prompts endnu",pl:"Brak promptów użytkownika",ru:"Нет пользовательских Prompt",ar:"لا توجد Prompt للمستخدم بعد",no:"Ingen bruker-prompts ennå","pt-BR":"Nenhum prompt de usuário ainda",th:"ยังไม่มี Prompt ผู้ใช้",tr:"Henüz kullanıcı Prompt'u yok",uk:"Немає Prompt користувача"},"ui.promptCountUnit":{zh:"条",en:"","zh-TW":"條",ko:"개",ja:"件",de:"",es:"",fr:"",it:"",da:"",pl:"",ru:"",ar:"",no:"","pt-BR":"",th:"",tr:"",uk:""},"ui.promptModeOriginal":{zh:"原文模式",en:"Original"},"ui.promptModeContext":{zh:"上下文模式",en:"Context"},"ui.promptModeText":{zh:"Text模式",en:"Text"},"ui.unknownTime":{zh:"未知时间",en:"Unknown time","zh-TW":"未知時間",ko:"알 수 없는 시간",ja:"不明な時刻",de:"Unbekannte Zeit",es:"Hora desconocida",fr:"Heure inconnue",it:"Ora sconosciuta",da:"Ukendt tid",pl:"Nieznany czas",ru:"Неизвестное время",ar:"وقت غير معروف",no:"Ukjent tid","pt-BR":"Hora desconhecida",th:"เวลาไม่ทราบ",tr:"Bilinmeyen zaman",uk:"Невідомий час"},"ui.noLogs":{zh:"暂无日志文件",en:"No log files","zh-TW":"暫無日誌檔案",ko:"로그 파일 없음",ja:"ログファイルなし",de:"Keine Log-Dateien",es:"Sin archivos de log",fr:"Aucun fichier de log",it:"Nessun file di log",da:"Ingen logfiler",pl:"Brak plików logów",ru:"Нет файлов логов",ar:"لا توجد ملفات سجلات",no:"Ingen loggfiler","pt-BR":"Nenhum arquivo de log",th:"ไม่มีไฟล์บันทึก",tr:"Log dosyası yok",uk:"Немає файлів логів"},"ui.toolReturn":{zh:"工具返回",en:"Tool result","zh-TW":"工具返回",ko:"도구 결과",ja:"ツール結果",de:"Tool-Ergebnis",es:"Resultado de herramienta",fr:"Résultat d'outil",it:"Risultato strumento",da:"Værktøjsresultat",pl:"Wynik narzędzia",ru:"Результат инструмента",ar:"نتيجة الأداة",no:"Verktøyresultat","pt-BR":"Resultado da ferramenta",th:"ผลลัพธ์เครื่องมือ",tr:"Araç sonucu",uk:"Результат інструменту"},"ui.toolReturnNamed":{zh:"{name} 返回",en:"{name} result","zh-TW":"{name} 返回",ko:"{name} 결과",ja:"{name} 結果",de:"{name}-Ergebnis",es:"Resultado de {name}",fr:"Résultat de {name}",it:"Risultato di {name}",da:"{name}-resultat",pl:"Wynik {name}",ru:"Результат {name}",ar:"نتيجة {name}",no:"{name}-resultat","pt-BR":"Resultado de {name}",th:"ผลลัพธ์ {name}",tr:"{name} sonucu",uk:"Результат {name}"},"ui.lastResponse":{zh:"Last Response",en:"Last Response","zh-TW":"Last Response",ko:"Last Response",ja:"Last Response",de:"Last Response",es:"Last Response",fr:"Last Response",it:"Last Response",da:"Last Response",pl:"Last Response",ru:"Last Response",ar:"Last Response",no:"Last Response","pt-BR":"Last Response",th:"Last Response",tr:"Last Response",uk:"Last Response"},"ui.copySuccess":{zh:"复制成功",en:"Copied","zh-TW":"複製成功",ko:"복사됨",ja:"コピーしました",de:"Kopiert",es:"Copiado",fr:"Copié",it:"Copiato",da:"Kopieret",pl:"Skopiowano",ru:"Скопировано",ar:"تم النسخ",no:"Kopiert","pt-BR":"Copiado",th:"คัดลอกแล้ว",tr:"Kopyalandı",uk:"Скопійовано"},"ui.copy":{zh:"复制",en:"Copy","zh-TW":"複製",ko:"복사",ja:"コピー",de:"Kopieren",es:"Copiar",fr:"Copier",it:"Copia",da:"Kopiér",pl:"Kopiuj",ru:"Копировать",ar:"نسخ",no:"Kopier","pt-BR":"Copiar",th:"คัดลอก",tr:"Kopyala",uk:"Копіювати"},"ui.saveAs":{zh:"另存为",en:"Save As","zh-TW":"另存為",ko:"다른 이름으로 저장",ja:"名前を付けて保存",de:"Speichern unter",es:"Guardar como",fr:"Enregistrer sous",it:"Salva con nome",da:"Gem som",pl:"Zapisz jako",ru:"Сохранить как",ar:"حفظ باسم",no:"Lagre som","pt-BR":"Salvar como",th:"บันทึกเป็น",tr:"Farklı Kaydet",uk:"Зберегти як"},"ui.saveAsMd":{zh:"Markdown 文件",en:"Markdown File","zh-TW":"Markdown 檔案",ko:"Markdown 파일",ja:"Markdown ファイル",de:"Markdown-Datei",es:"Archivo Markdown",fr:"Fichier Markdown",it:"File Markdown",da:"Markdown-fil",pl:"Plik Markdown",ru:"Файл Markdown",ar:"ملف Markdown",no:"Markdown-fil","pt-BR":"Arquivo Markdown",th:"ไฟล์ Markdown",tr:"Markdown Dosyası",uk:"Файл Markdown"},"ui.saveToProject":{zh:"保存到项目",en:"Save to Project","zh-TW":"儲存到專案",ko:"프로젝트에 저장",ja:"プロジェクトに保存",de:"Im Projekt speichern",es:"Guardar en proyecto",fr:"Enregistrer dans le projet",it:"Salva nel progetto",da:"Gem i projekt",pl:"Zapisz w projekcie",ru:"Сохранить в проект",ar:"حفظ في المشروع",no:"Lagre i prosjekt","pt-BR":"Salvar no projeto",th:"บันทึกลงโปรเจกต์",tr:"Projeye Kaydet",uk:"Зберегти в проект"},"ui.saveToProject.prompt":{zh:"输入文件名(保存到项目根目录):",en:"Enter filename (save to project root):","zh-TW":"輸入檔名(儲存到專案根目錄):",ko:"파일 이름 입력 (프로젝트 루트에 저장):",ja:"ファイル名を入力(プロジェクトルートに保存):",de:"Dateiname eingeben (im Projektstamm speichern):",es:"Ingrese nombre de archivo (guardar en raíz del proyecto):",fr:"Entrez le nom du fichier (enregistrer à la racine du projet) :",it:"Inserisci nome file (salva nella root del progetto):",da:"Indtast filnavn (gem i projektrod):",pl:"Wpisz nazwę pliku (zapisz w katalogu głównym projektu):",ru:"Введите имя файла (сохранить в корне проекта):",ar:"أدخل اسم الملف (حفظ في جذر المشروع):",no:"Skriv inn filnavn (lagre i prosjektrot):","pt-BR":"Digite o nome do arquivo (salvar na raiz do projeto):",th:"กรอกชื่อไฟล์ (บันทึกที่รากโปรเจกต์):",tr:"Dosya adı girin (proje kök dizinine kaydet):",uk:"Введіть ім'я файлу (зберегти в корені проекту):"},"ui.saveToProject.success":{zh:"已保存: {{name}}",en:"Saved: {{name}}","zh-TW":"已儲存: {{name}}",ko:"저장됨: {{name}}",ja:"保存しました: {{name}}",de:"Gespeichert: {{name}}",es:"Guardado: {{name}}",fr:"Enregistré : {{name}}",it:"Salvato: {{name}}",da:"Gemt: {{name}}",pl:"Zapisano: {{name}}",ru:"Сохранено: {{name}}",ar:"تم الحفظ: {{name}}",no:"Lagret: {{name}}","pt-BR":"Salvo: {{name}}",th:"บันทึกแล้ว: {{name}}",tr:"Kaydedildi: {{name}}",uk:"Збережено: {{name}}"},"ui.saveAsImage":{zh:"保存为图片",en:"Save as Image","zh-TW":"儲存為圖片",ko:"이미지로 저장",ja:"画像として保存",de:"Als Bild speichern",es:"Guardar como imagen",fr:"Enregistrer comme image",it:"Salva come immagine",da:"Gem som billede",pl:"Zapisz jako obraz",ru:"Сохранить как изображение",ar:"حفظ كصورة",no:"Lagre som bilde","pt-BR":"Salvar como imagem",th:"บันทึกเป็นรูปภาพ",tr:"Resim olarak kaydet",uk:"Зберегти як зображення"},"ui.contextMenu.revealInExplorer":{zh:"在系统中展示",en:"Reveal in Explorer","zh-TW":"在系統中顯示",ko:"탐색기에서 표시",ja:"エクスプローラーで表示",de:"Im Explorer anzeigen",es:"Mostrar en explorador",fr:"Afficher dans l'explorateur",it:"Mostra nel Finder",da:"Vis i Finder",pl:"Pokaż w eksploratorze",ru:"Показать в проводнике",ar:"عرض في المستكشف",no:"Vis i Finder","pt-BR":"Mostrar no explorador",th:"แสดงในตัวจัดการไฟล์",tr:"Dosya yöneticisinde göster",uk:"Показати у провіднику"},"ui.contextMenu.copyPath":{zh:"复制路径",en:"Copy Path","zh-TW":"複製路徑",ko:"경로 복사",ja:"パスをコピー",de:"Pfad kopieren",es:"Copiar ruta",fr:"Copier le chemin",it:"Copia percorso",da:"Kopiér sti",pl:"Kopiuj ścieżkę",ru:"Копировать путь",ar:"نسخ المسار",no:"Kopier sti","pt-BR":"Copiar caminho",th:"คัดลอกเส้นทาง",tr:"Yolu kopyala",uk:"Копіювати шлях"},"ui.contextMenu.copyRelativePath":{zh:"复制相对路径",en:"Copy Relative Path","zh-TW":"複製相對路徑",ko:"상대 경로 복사",ja:"相対パスをコピー",de:"Relativen Pfad kopieren",es:"Copiar ruta relativa",fr:"Copier le chemin relatif",it:"Copia percorso relativo",da:"Kopiér relativ sti",pl:"Kopiuj ścieżkę względną",ru:"Копировать относительный путь",ar:"نسخ المسار النسبي",no:"Kopier relativ sti","pt-BR":"Copiar caminho relativo",th:"คัดลอกเส้นทางสัมพัทธ์",tr:"Göreli yolu kopyala",uk:"Копіювати відносний шлях"},"ui.contextMenu.rename":{zh:"重命名",en:"Rename","zh-TW":"重新命名",ko:"이름 바꾸기",ja:"名前を変更",de:"Umbenennen",es:"Renombrar",fr:"Renommer",it:"Rinomina",da:"Omdøb",pl:"Zmień nazwę",ru:"Переименовать",ar:"إعادة تسمية",no:"Gi nytt navn","pt-BR":"Renomear",th:"เปลี่ยนชื่อ",tr:"Yeniden adlandır",uk:"Перейменувати"},"ui.contextMenu.attachToChat":{zh:"以附件形式载入对话",en:"Attach to chat","zh-TW":"以附件形式載入對話",ko:"대화에 첨부",ja:"チャットに添付",de:"An Chat anhängen",es:"Adjuntar al chat",fr:"Joindre au chat",it:"Allega alla chat",da:"Vedhæft til chat",pl:"Dołącz do czatu",ru:"Прикрепить к чату",ar:"إرفاق بالمحادثة",no:"Legg ved i chat","pt-BR":"Anexar ao chat",th:"แนบไปยังแชท",tr:"Sohbete ekle",uk:"Прикріпити до чату"},"ui.contextMenu.insertPathToChat":{zh:"以路径形式载入对话",en:"Insert path to chat","zh-TW":"以路徑形式載入對話",ko:"경로를 대화에 삽입",ja:"パスをチャットに挿入",de:"Pfad in Chat einfügen",es:"Insertar ruta en el chat",fr:"Insérer le chemin dans le chat",it:"Inserisci percorso nella chat",da:"Indsæt sti i chat",pl:"Wstaw ścieżkę do czatu",ru:"Вставить путь в чат",ar:"إدراج المسار في المحادثة",no:"Sett inn bane i chat","pt-BR":"Inserir caminho no chat",th:"แทรกเส้นทางไปยังแชท",tr:"Yolu sohbete ekle",uk:"Вставити шлях у чат"},"ui.contextMenu.delete":{zh:"删除",en:"Delete","zh-TW":"刪除",ko:"삭제",ja:"削除",de:"Löschen",es:"Eliminar",fr:"Supprimer",it:"Elimina",da:"Slet",pl:"Usuń",ru:"Удалить",ar:"حذف",no:"Slett","pt-BR":"Excluir",th:"ลบ",tr:"Sil",uk:"Видалити"},"ui.contextMenu.deleteConfirm":{zh:"确定要删除 {name} 吗?",en:"Are you sure you want to delete {name}?","zh-TW":"確定要刪除 {name} 嗎?",ko:"{name}을(를) 삭제하시겠습니까?",ja:"{name} を削除しますか?",de:"Möchten Sie {name} wirklich löschen?",es:"¿Está seguro de que desea eliminar {name}?",fr:"Voulez-vous vraiment supprimer {name} ?",it:"Sei sicuro di voler eliminare {name}?",da:"Er du sikker på, at du vil slette {name}?",pl:"Czy na pewno chcesz usunąć {name}?",ru:"Вы уверены, что хотите удалить {name}?",ar:"هل أنت متأكد من حذف {name}؟",no:"Er du sikker på at du vil slette {name}?","pt-BR":"Tem certeza de que deseja excluir {name}?",th:"คุณแน่ใจหรือว่าต้องการลบ {name}?",tr:"{name} silinsin mi?",uk:"Ви впевнені, що хочете видалити {name}?"},"ui.contextMenu.newFile":{zh:"新建文件",en:"New File","zh-TW":"新建檔案",ko:"새 파일",ja:"新規ファイル",de:"Neue Datei",es:"Nuevo archivo",fr:"Nouveau fichier",it:"Nuovo file",da:"Ny fil",pl:"Nowy plik",ru:"Новый файл",ar:"ملف جديد",no:"Ny fil","pt-BR":"Novo arquivo",th:"ไฟล์ใหม่",tr:"Yeni dosya",uk:"Новий файл"},"ui.contextMenu.newDir":{zh:"新建文件夹",en:"New Folder","zh-TW":"新建資料夾",ko:"새 폴더",ja:"新規フォルダ",de:"Neuer Ordner",es:"Nueva carpeta",fr:"Nouveau dossier",it:"Nuova cartella",da:"Ny mappe",pl:"Nowy folder",ru:"Новая папка",ar:"مجلد جديد",no:"Ny mappe","pt-BR":"Nova pasta",th:"โฟลเดอร์ใหม่",tr:"Yeni klasör",uk:"Нова папка"},"ui.contextMenu.openTerminal":{zh:"在终端中打开",en:"Open in Terminal","zh-TW":"在終端機中開啟",ko:"터미널에서 열기",ja:"ターミナルで開く",de:"Im Terminal öffnen",es:"Abrir en terminal",fr:"Ouvrir dans le terminal",it:"Apri nel terminale",da:"Åbn i terminal",pl:"Otwórz w terminalu",ru:"Открыть в терминале",ar:"فتح في الطرفية",no:"Åpne i terminal","pt-BR":"Abrir no terminal",th:"เปิดในเทอร์มินัล",tr:"Terminalde aç",uk:"Відкрити в терміналі"},"ui.contextMenu.deleteDirConfirm":{zh:"确定要删除文件夹 {name} 及其所有内容吗?",en:"Delete folder {name} and all its contents?","zh-TW":"確定要刪除資料夾 {name} 及其所有內容嗎?",ko:"폴더 {name}과(와) 모든 내용을 삭제하시겠습니까?",ja:"フォルダ {name} とその中身をすべて削除しますか?",de:"Ordner {name} und gesamten Inhalt löschen?",es:"¿Eliminar la carpeta {name} y todo su contenido?",fr:"Supprimer le dossier {name} et tout son contenu ?",it:"Eliminare la cartella {name} e tutto il suo contenuto?",da:"Slet mappen {name} og alt indhold?",pl:"Usunąć folder {name} i całą jego zawartość?",ru:"Удалить папку {name} и всё её содержимое?",ar:"حذف المجلد {name} وجميع محتوياته؟",no:"Slette mappen {name} og alt innhold?","pt-BR":"Excluir a pasta {name} e todo o seu conteúdo?",th:"ลบโฟลเดอร์ {name} และเนื้อหาทั้งหมด?",tr:"{name} klasörü ve tüm içeriği silinsin mi?",uk:"Видалити папку {name} та весь її вміст?"},"ui.noHeaders":{zh:"无 Headers",en:"No Headers","zh-TW":"無 Headers",ko:"Headers 없음",ja:"Headers なし",de:"Keine Headers",es:"Sin Headers",fr:"Pas de Headers",it:"Nessun Header",da:"Ingen Headers",pl:"Brak Headers",ru:"Нет Headers",ar:"لا يوجد Headers",no:"Ingen Headers","pt-BR":"Sem Headers",th:"ไม่มี Headers",tr:"Header yok",uk:"Немає Headers"},"ui.noBody":{zh:"无 Body",en:"No Body","zh-TW":"無 Body",ko:"Body 없음",ja:"Body なし",de:"Kein Body",es:"Sin Body",fr:"Pas de Body",it:"Nessun Body",da:"Ingen Body",pl:"Brak Body",ru:"Нет Body",ar:"لا يوجد Body",no:"Ingen Body","pt-BR":"Sem Body",th:"ไม่มี Body",tr:"Body yok",uk:"Немає Body"},"ui.streamingResponse":{zh:"⚡ 流式响应 — 此请求使用了 SSE 流式传输,响应内容无法完整捕获。",en:"⚡ Streaming response — This request used SSE streaming, response content cannot be fully captured.","zh-TW":"⚡ 串流回應 — 此請求使用了 SSE 串流傳輸,回應內容無法完整擷取。",ko:"⚡ 스트리밍 응답 — 이 요청은 SSE 스트리밍을 사용하여 응답 내용을 완전히 캡처할 수 없습니다.",ja:"⚡ ストリーミングレスポンス — このリクエストは SSE ストリーミングを使用しており、レスポンス内容を完全にキャプチャできませんでした。",de:"⚡ Streaming-Antwort — Diese Anfrage nutzte SSE-Streaming, der Antwortinhalt konnte nicht vollständig erfasst werden.",es:"⚡ Respuesta en streaming — Esta solicitud usó streaming SSE, el contenido de la respuesta no se pudo capturar completamente.",fr:"⚡ Réponse en streaming — Cette requête a utilisé le streaming SSE, le contenu de la réponse n'a pas pu être entièrement capturé.",it:"⚡ Risposta in streaming — Questa richiesta ha utilizzato lo streaming SSE, il contenuto della risposta non può essere catturato completamente.",da:"⚡ Streaming-svar — Denne forespørgsel brugte SSE-streaming, svarindholdet kunne ikke fuldt indfanges.",pl:"⚡ Odpowiedź strumieniowa — To żądanie użyło strumieniowania SSE, treść odpowiedzi nie mogła zostać w pełni przechwycona.",ru:"⚡ Потоковый ответ — Этот запрос использовал SSE-потоковую передачу, содержимое ответа не может быть полностью захвачено.",ar:"⚡ استجابة متدفقة — استخدم هذا الطلب بث SSE، لا يمكن التقاط محتوى الاستجابة بالكامل.",no:"⚡ Strømmesvar — Denne forespørselen brukte SSE-strømming, svarinnholdet kunne ikke fanges fullstendig.","pt-BR":"⚡ Resposta em streaming — Esta requisição usou streaming SSE, o conteúdo da resposta não pôde ser totalmente capturado.",th:"⚡ การตอบกลับแบบสตรีม — คำขอนี้ใช้ SSE streaming เนื้อหาการตอบกลับไม่สามารถจับได้ทั้งหมด",tr:"⚡ Akış yanıtı — Bu istek SSE akışı kullandı, yanıt içeriği tam olarak yakalanamadı.",uk:"⚡ Потокова відповідь — Цей запит використовував SSE-потокову передачу, вміст відповіді не може бути повністю захоплений."},"ui.responseNotCaptured":{zh:"响应数据未捕获",en:"Response not captured","zh-TW":"回應資料未擷取",ko:"응답 데이터 미캡처",ja:"レスポンスデータ未キャプチャ",de:"Antwortdaten nicht erfasst",es:"Datos de respuesta no capturados",fr:"Données de réponse non capturées",it:"Dati di risposta non catturati",da:"Svardata ikke indfanget",pl:"Dane odpowiedzi nie przechwycone",ru:"Данные ответа не захвачены",ar:"لم يتم التقاط بيانات الاستجابة",no:"Svardata ikke fanget","pt-BR":"Dados de resposta não capturados",th:"ไม่ได้จับข้อมูลการตอบกลับ",tr:"Yanıt verileri yakalanamadı",uk:"Дані відповіді не захоплені"},"ui.expand":{zh:"▶ 展开",en:"▶ Expand","zh-TW":"▶ 展開",ko:"▶ 펼치기",ja:"▶ 展開",de:"▶ Aufklappen",es:"▶ Expandir",fr:"▶ Déplier",it:"▶ Espandi",da:"▶ Udvid",pl:"▶ Rozwiń",ru:"▶ Развернуть",ar:"▶ توسيع",no:"▶ Utvid","pt-BR":"▶ Expandir",th:"▶ ขยาย",tr:"▶ Genişlet",uk:"▶ Розгорнути"},"ui.collapse":{zh:"▼ 收起",en:"▼ Collapse","zh-TW":"▼ 收起",ko:"▼ 접기",ja:"▼ 折りたたむ",de:"▼ Zuklappen",es:"▼ Contraer",fr:"▼ Replier",it:"▼ Comprimi",da:"▼ Fold sammen",pl:"▼ Zwiń",ru:"▼ Свернуть",ar:"▼ طي",no:"▼ Skjul","pt-BR":"▼ Recolher",th:"▼ ย่อ",tr:"▼ Daralt",uk:"▼ Згорнути"},"ui.noChat":{zh:"暂无 MainAgent 对话数据",en:"No MainAgent conversation data","zh-TW":"暫無 MainAgent 對話資料",ko:"MainAgent 대화 데이터 없음",ja:"MainAgent の会話データがありません",de:"Keine MainAgent-Gesprächsdaten",es:"Sin datos de conversación de MainAgent",fr:"Aucune donnée de conversation MainAgent",it:"Nessun dato di conversazione MainAgent",da:"Ingen MainAgent samtaledata",pl:"Brak danych rozmowy MainAgent",ru:"Нет данных диалога MainAgent",ar:"لا توجد بيانات محادثة MainAgent",no:"Ingen MainAgent samtaledata","pt-BR":"Sem dados de conversa do MainAgent",th:"ไม่มีข้อมูลการสนทนา MainAgent",tr:"MainAgent konuşma verisi yok",uk:"Немає даних діалогу MainAgent"},"ui.fileExplorer":{zh:"文件浏览器",en:"File Explorer","zh-TW":"檔案瀏覽器",ko:"파일 탐색기",ja:"ファイルエクスプローラー",de:"Datei-Explorer",es:"Explorador de archivos",fr:"Explorateur de fichiers",it:"Esplora file",da:"Filstifinder",pl:"Eksplorator plików",ru:"Проводник",ar:"مستكشف الملفات",no:"Filutforsker","pt-BR":"Explorador de arquivos",th:"ตัวสำรวจไฟล์",tr:"Dosya Gezgini",uk:"Провідник файлів"},"ui.teamSessions":{zh:"Team 会话",en:"Team Sessions","zh-TW":"Team 會話",ko:"Team 세션",ja:"Team セッション",de:"Team-Sitzungen",es:"Sesiones de Team",fr:"Sessions d'équipe",it:"Sessioni Team",da:"Team-sessioner",pl:"Sesje Team",ru:"Сессии команды",ar:"جلسات الفريق",no:"Team-økter","pt-BR":"Sessões de equipe",th:"เซสชัน Team",tr:"Takım oturumları",uk:"Сесії команди"},"ui.exportTimelinePng":{zh:"导出为 PNG",en:"Export as PNG","zh-TW":"匯出為 PNG",ko:"PNG로 내보내기",ja:"PNGとして書き出し",de:"Als PNG exportieren",es:"Exportar como PNG",fr:"Exporter en PNG",it:"Esporta come PNG",da:"Eksporter som PNG",pl:"Eksportuj jako PNG",ru:"Экспорт в PNG",ar:"تصدير كـ PNG",no:"Eksporter som PNG","pt-BR":"Exportar como PNG",th:"ส่งออกเป็น PNG",tr:"PNG olarak dışa aktar",uk:"Експорт у PNG"},"ui.gitChanges":{zh:"Git 变更",en:"Git Changes","zh-TW":"Git 變更",ko:"Git 변경사항",ja:"Git 変更",de:"Git-Änderungen",es:"Cambios de Git",fr:"Modifications Git",it:"Modifiche Git",da:"Git-ændringer",pl:"Zmiany Git",ru:"Изменения Git",ar:"تغييرات Git",no:"Git-endringer","pt-BR":"Alterações do Git",th:"การเปลี่ยนแปลง Git",tr:"Git Değişiklikleri",uk:"Зміни Git"},"ui.gitChanges.openFile":{zh:"打开文件",en:"Open File","zh-TW":"開啟檔案",ko:"파일 열기",ja:"ファイルを開く",de:"Datei öffnen",es:"Abrir archivo",fr:"Ouvrir le fichier",it:"Apri file",da:"Åbn fil",pl:"Otwórz plik",ru:"Открыть файл",ar:"فتح الملف",no:"Åpne fil","pt-BR":"Abrir arquivo",th:"เปิดไฟล์",tr:"Dosyayı aç",uk:"Відкрити файл"},"ui.gitChanges.restoreFile":{zh:"撤销变更",en:"Discard Changes","zh-TW":"撤銷變更",ko:"변경 취소",ja:"変更を破棄",de:"Änderungen verwerfen",es:"Descartar cambios",fr:"Annuler les modifications",it:"Annulla modifiche",da:"Forkast ændringer",pl:"Odrzuć zmiany",ru:"Отменить изменения",ar:"تجاهل التغييرات",no:"Forkast endringer","pt-BR":"Descartar alterações",th:"ยกเลิกการเปลี่ยนแปลง",tr:"Değişiklikleri geri al",uk:"Скасувати зміни"},"ui.gitChanges.restoreConfirm":{zh:"确定要撤销 {name} 的所有变更吗?此操作不可恢复。",en:"Discard all changes to {name}? This cannot be undone.","zh-TW":"確定要撤銷 {name} 的所有變更嗎?此操作不可恢復。",ko:"{name}의 모든 변경 사항을 취소하시겠습니까? 이 작업은 되돌릴 수 없습니다.",ja:"{name} のすべての変更を破棄しますか?この操作は元に戻せません。",de:"Alle Änderungen an {name} verwerfen? Dies kann nicht rückgängig gemacht werden.",es:"¿Descartar todos los cambios en {name}? Esta acción no se puede deshacer.",fr:"Annuler toutes les modifications de {name} ? Cette action est irréversible.",it:"Annullare tutte le modifiche a {name}? Questa azione non può essere annullata.",da:"Forkast alle ændringer i {name}? Dette kan ikke fortrydes.",pl:"Odrzucić wszystkie zmiany w {name}? Tej operacji nie można cofnąć.",ru:"Отменить все изменения в {name}? Это действие необратимо.",ar:"تجاهل جميع التغييرات في {name}؟ لا يمكن التراجع عن هذا الإجراء.",no:"Forkaste alle endringer i {name}? Dette kan ikke angres.","pt-BR":"Descartar todas as alterações em {name}? Esta ação não pode ser desfeita.",th:"ยกเลิกการเปลี่ยนแปลงทั้งหมดของ {name}? การดำเนินการนี้ไม่สามารถเลิกทำได้",tr:"{name} dosyasındaki tüm değişiklikler geri alınsın mı? Bu işlem geri alınamaz.",uk:"Скасувати всі зміни в {name}? Цю дію неможливо скасувати."},"ui.roleFilter":{zh:"角色筛选",en:"Role Filter","zh-TW":"角色篩選",ko:"역할 필터",ja:"ロールフィルター",de:"Rollenfilter",es:"Filtro de roles",fr:"Filtre de rôles",it:"Filtro ruoli",da:"Rollefilter",pl:"Filtr ról",ru:"Фильтр ролей",ar:"تصفية الأدوار",no:"Rollefilter","pt-BR":"Filtro de papéis",th:"ตัวกรองบทบาท",tr:"Rol Filtresi",uk:"Фільтр ролей"},"ui.binaryFileNotice":{zh:"二进制文件(无法显示差异)",en:"Binary file (cannot show diff)","zh-TW":"二進位檔案(無法顯示差異)",ko:"바이너리 파일 (차이점 표시 불가)",ja:"バイナリファイル(差分を表示できません)",de:"Binärdatei (Diff kann nicht angezeigt werden)",es:"Archivo binario (no se puede mostrar diff)",fr:"Fichier binaire (impossible d'afficher les différences)",it:"File binario (impossibile mostrare diff)",da:"Binær fil (kan ikke vise diff)",pl:"Plik binarny (nie można pokazać różnic)",ru:"Двоичный файл (невозможно показать различия)",ar:"ملف ثنائي (لا يمكن عرض الفروقات)",no:"Binær fil (kan ikke vise diff)","pt-BR":"Arquivo binário (não é possível mostrar diff)",th:"ไฟล์ไบนารี (ไม่สามารถแสดง diff)",tr:"İkili dosya (diff gösterilemiyor)",uk:"Двійковий файл (неможливо показати різниці)"},"ui.largeFileWarning":{zh:"文件过大(超过 5MB),无法显示差异",en:"File too large (over 5MB), cannot show diff","zh-TW":"檔案過大(超過 5MB),無法顯示差異",ko:"파일이 너무 큽니다 (5MB 초과), 차이점 표시 불가",ja:"ファイルが大きすぎます(5MB超)、差分を表示できません",de:"Datei zu groß (über 5MB), Diff kann nicht angezeigt werden",es:"Archivo demasiado grande (más de 5MB), no se puede mostrar diff",fr:"Fichier trop volumineux (plus de 5 Mo), impossible d'afficher les différences",it:"File troppo grande (oltre 5MB), impossibile mostrare diff",da:"Fil for stor (over 5MB), kan ikke vise diff",pl:"Plik zbyt duży (ponad 5MB), nie można pokazać różnic",ru:"Файл слишком большой (более 5 МБ), невозможно показать различия",ar:"الملف كبير جدًا (أكثر من 5 ميجابايت)، لا يمكن عرض الفروقات",no:"Fil for stor (over 5MB), kan ikke vise diff","pt-BR":"Arquivo muito grande (mais de 5MB), não é possível mostrar diff",th:"ไฟล์ใหญ่เกินไป (เกิน 5MB) ไม่สามารถแสดง diff",tr:"Dosya çok büyük (5MB üzeri), diff gösterilemiyor",uk:"Файл занадто великий (понад 5 МБ), неможливо показати різниці"},"ui.fileSize":{zh:"文件大小",en:"File size","zh-TW":"檔案大小",ko:"파일 크기",ja:"ファイルサイズ",de:"Dateigröße",es:"Tamaño del archivo",fr:"Taille du fichier",it:"Dimensione file",da:"Filstørrelse",pl:"Rozmiar pliku",ru:"Размер файла",ar:"حجم الملف",no:"Filstørrelse","pt-BR":"Tamanho do arquivo",th:"ขนาดไฟล์",tr:"Dosya boyutu",uk:"Розмір файлу"},"ui.fileLoadError":{zh:"文件加载失败",en:"Failed to load file","zh-TW":"檔案載入失敗",ko:"파일 로드 실패",ja:"ファイルの読み込みに失敗しました",de:"Datei konnte nicht geladen werden",es:"Error al cargar el archivo",fr:"Échec du chargement du fichier",it:"Impossibile caricare il file",da:"Kunne ikke indlæse fil",pl:"Nie udało się załadować pliku",ru:"Не удалось загрузить файл",ar:"فشل تحميل الملف",no:"Kunne ikke laste inn fil","pt-BR":"Falha ao carregar arquivo",th:"โหลดไฟล์ล้มเหลว",tr:"Dosya yüklenemedi",uk:"Не вдалося завантажити файл"},"ui.renameFailed":{zh:"重命名失败:{error}",en:"Rename failed: {error}","zh-TW":"重新命名失敗:{error}",ko:"이름 변경 실패: {error}",ja:"名前の変更に失敗しました:{error}",de:"Umbenennung fehlgeschlagen: {error}",es:"Error al renombrar: {error}",fr:"Échec du renommage : {error}",it:"Rinomina non riuscita: {error}",da:"Omdøbning mislykkedes: {error}",pl:"Zmiana nazwy nie powiodła się: {error}",ru:"Не удалось переименовать: {error}",ar:"فشل إعادة التسمية: {error}",no:"Kunne ikke gi nytt navn: {error}","pt-BR":"Falha ao renomear: {error}",th:"เปลี่ยนชื่อล้มเหลว: {error}",tr:"Yeniden adlandırma başarısız: {error}",uk:"Не вдалося перейменувати: {error}"},"ui.targetExists":{zh:"目标文件已存在",en:"Target already exists","zh-TW":"目標檔案已存在",ko:"대상이 이미 존재합니다",ja:"対象はすでに存在します",de:"Ziel existiert bereits",es:"El destino ya existe",fr:"La cible existe déjà",it:"La destinazione esiste già",da:"Destinationen eksisterer allerede",pl:"Cel już istnieje",ru:"Цель уже существует",ar:"الهدف موجود بالفعل",no:"Målet finnes allerede","pt-BR":"O destino já existe",th:"เป้าหมายมีอยู่แล้ว",tr:"Hedef zaten mevcut",uk:"Ціль вже існує"},"ui.backToChat":{zh:"返回对话",en:"Back to chat","zh-TW":"返回對話",ko:"채팅으로 돌아가기",ja:"チャットに戻る",de:"Zurück zum Chat",es:"Volver al chat",fr:"Retour au chat",it:"Torna alla chat",da:"Tilbage til chat",pl:"Powrót do czatu",ru:"Вернуться к чату",ar:"العودة إلى الدردشة",no:"Tilbake til chat","pt-BR":"Voltar ao chat",th:"กลับไปที่แชท",tr:"Sohbete dön",uk:"Повернутися до чату"},"ui.imageViewer.zoomIn":{zh:"放大",en:"Zoom in","zh-TW":"放大",ko:"확대",ja:"拡大",de:"Vergrößern",es:"Acercar",fr:"Zoom avant",it:"Ingrandisci",da:"Zoom ind",pl:"Powiększ",ru:"Увеличить",ar:"تكبير",no:"Zoom inn","pt-BR":"Aumentar zoom",th:"ซูมเข้า",tr:"Yakınlaştır",uk:"Збільшити"},"ui.imageViewer.zoomOut":{zh:"缩小",en:"Zoom out","zh-TW":"縮小",ko:"축소",ja:"縮小",de:"Verkleinern",es:"Alejar",fr:"Zoom arrière",it:"Riduci",da:"Zoom ud",pl:"Pomniejsz",ru:"Уменьшить",ar:"تصغير",no:"Zoom ut","pt-BR":"Diminuir zoom",th:"ซูมออก",tr:"Uzaklaştır",uk:"Зменшити"},"ui.imageViewer.resetZoom":{zh:"重置缩放",en:"Reset zoom","zh-TW":"重置縮放",ko:"확대/축소 초기화",ja:"ズームをリセット",de:"Zoom zurücksetzen",es:"Restablecer zoom",fr:"Réinitialiser le zoom",it:"Reimposta zoom",da:"Nulstil zoom",pl:"Resetuj zoom",ru:"Сбросить масштаб",ar:"إعادة تعيين التكبير",no:"Tilbakestill zoom","pt-BR":"Redefinir zoom",th:"รีเซ็ตการซูม",tr:"Yakınlaştırmayı sıfırla",uk:"Скинути масштаб"},"ui.imageViewer.fitToWindow":{zh:"适应窗口",en:"Fit to window","zh-TW":"適應視窗",ko:"창에 맞추기",ja:"ウィンドウに合わせる",de:"An Fenster anpassen",es:"Ajustar a ventana",fr:"Ajuster à la fenêtre",it:"Adatta alla finestra",da:"Tilpas til vindue",pl:"Dopasuj do okna",ru:"По размеру окна",ar:"ملاءمة النافذة",no:"Tilpass til vindu","pt-BR":"Ajustar à janela",th:"พอดีกับหน้าต่าง",tr:"Pencereye sığdır",uk:"Вписати у вікно"},"ui.imageLightbox.close":{zh:"关闭",en:"Close","zh-TW":"關閉",ko:"닫기",ja:"閉じる",de:"Schließen",es:"Cerrar",fr:"Fermer",it:"Chiudi",da:"Luk",pl:"Zamknij",ru:"Закрыть",ar:"إغلاق",no:"Lukk","pt-BR":"Fechar",th:"ปิด",tr:"Kapat",uk:"Закрити"},"ui.loading":{zh:"加载中...",en:"Loading...","zh-TW":"載入中...",ko:"로딩 중...",ja:"読み込み中...",de:"Lädt...",es:"Cargando...",fr:"Chargement...",it:"Caricamento...",da:"Indlæser...",pl:"Ładowanie...",ru:"Загрузка...",ar:"جارٍ التحميل...",no:"Laster...","pt-BR":"Carregando...",th:"กำลังโหลด...",tr:"Yükleniyor...",uk:"Завантаження..."},"ui.save":{zh:"保存",en:"Save","zh-TW":"儲存",ko:"저장",ja:"保存",de:"Speichern",es:"Guardar",fr:"Enregistrer",it:"Salva",da:"Gem",pl:"Zapisz",ru:"Сохранить",ar:"حفظ",no:"Lagre","pt-BR":"Salvar",th:"บันทึก",tr:"Kaydet",uk:"Зберегти"},"ui.saving":{zh:"保存中...",en:"Saving...","zh-TW":"儲存中...",ko:"저장 중...",ja:"保存中...",de:"Speichert...",es:"Guardando...",fr:"Enregistrement...",it:"Salvataggio...",da:"Gemmer...",pl:"Zapisywanie...",ru:"Сохранение...",ar:"جارٍ الحفظ...",no:"Lagrer...","pt-BR":"Salvando...",th:"กำลังบันทึก...",tr:"Kaydediliyor...",uk:"Збереження..."},"ui.saved":{zh:"已保存",en:"Saved","zh-TW":"已儲存",ko:"저장됨",ja:"保存済み",de:"Gespeichert",es:"Guardado",fr:"Enregistré",it:"Salvato",da:"Gemt",pl:"Zapisano",ru:"Сохранено",ar:"تم الحفظ",no:"Lagret","pt-BR":"Salvo",th:"บันทึกแล้ว",tr:"Kaydedildi",uk:"Збережен��"},"ui.saveFailed":{zh:"保存失败",en:"Save failed","zh-TW":"儲存失敗",ko:"저장 실패",ja:"保存失敗",de:"Speichern fehlgeschlagen",es:"Error al guardar",fr:"Échec de l'enregistrement",it:"Salvataggio fallito",da:"Gem mislykkedes",pl:"Zapis nieudany",ru:"Ошибка сохранения",ar:"فشل الحفظ",no:"Lagring mislyktes","pt-BR":"Falha ao salvar",th:"บันทึกล้มเหลว",tr:"Kaydetme başarısız",uk:"Помилка збереження"},"ui.viewMarkdown":{zh:"Markdown",en:"Markdown","zh-TW":"Markdown",ko:"Markdown",ja:"Markdown",de:"Markdown",es:"Markdown",fr:"Markdown",it:"Markdown",da:"Markdown",pl:"Markdown",ru:"Markdown",ar:"Markdown",no:"Markdown","pt-BR":"Markdown",th:"Markdown",tr:"Markdown",uk:"Markdown"},"ui.viewText":{zh:"文本编辑",en:"Edit Text","zh-TW":"文字編輯",ko:"텍스트 편집",ja:"テキスト編集",de:"Text bearbeiten",es:"Editar texto",fr:"Éditer le texte",it:"Modifica testo",da:"Rediger tekst",pl:"Edytuj tekst",ru:"Редактировать",ar:"تحرير النص",no:"Rediger tekst","pt-BR":"Editar texto",th:"แก้ไขข้อความ",tr:"Metni düzenle",uk:"Редагувати"},"ui.unsavedChanges":{zh:"未保存的更改",en:"Unsaved changes","zh-TW":"未儲存的變更",ko:"저장되지 않은 변경사항",ja:"未保存の変更",de:"Nicht gespeicherte Änderungen",es:"Cambios sin guardar",fr:"Modifications non enregistrées",it:"Modifiche non salvate",da:"Ikke-gemte ændringer",pl:"Niezapisane zmiany",ru:"Несохранённые изменения",ar:"تغييرات غير محفوظة",no:"Ulagrede endringer","pt-BR":"Alterações não salvas",th:"การเปลี่ยนแปลงที่ยังไม่ได้บันทึก",tr:"Kaydedilmemiş değişiklikler",uk:"Незбережені зміни"},"ui.terminal.exited":{zh:"[进程已退出,退出码: {code}]",en:"[Process exited with code {code}]","zh-TW":"[程序已退出,退出碼: {code}]",ko:"[프로세스가 코드 {code}(으)로 종료되었습니다]",ja:"[プロセスがコード {code} で終了しました]",de:"[Prozess mit Code {code} beendet]",es:"[Proceso finalizado con código {code}]",fr:"[Processus terminé avec le code {code}]",it:"[Processo terminato con codice {code}]",da:"[Proces afsluttet med kode {code}]",pl:"[Proces zakończony z kodem {code}]",ru:"[Процесс завершился с кодом {code}]",ar:"[انتهت العملية برمز {code}]",no:"[Prosess avsluttet med kode {code}]","pt-BR":"[Processo encerrado com código {code}]",th:"[กระบวนการออกด้วยรหัส {code}]",tr:"[İşlem {code} koduyla çıkış yaptı]",uk:"[Процес завершився з кодом {code}]"},"ui.terminal.pressEnterForShell":{zh:"按 Enter 键启动新的 Shell 会话",en:"Press Enter to start a new shell session","zh-TW":"按 Enter 鍵啟動新的 Shell 會話",ko:"Enter를 눌러 새 셸 세션을 시작하세요",ja:"Enter キーを押して新しいシェルセッションを開始",de:"Drücken Sie Enter, um eine neue Shell-Sitzung zu starten",es:"Presione Enter para iniciar una nueva sesión de shell",fr:"Appuyez sur Entrée pour démarrer une nouvelle session shell",it:"Premi Invio per avviare una nuova sessione shell",da:"Tryk Enter for at starte en ny shell-session",pl:"Naciśnij Enter, aby uruchomić nową sesję powłoki",ru:"Нажмите Enter, чтобы запустить новую сессию оболочки",ar:"اضغط Enter لبدء جلسة shell جديدة",no:"Trykk Enter for å starte en ny shell-økt","pt-BR":"Pressione Enter para iniciar uma nova sessão de shell",th:"กด Enter เพื่อเริ่มเซสชัน Shell ใหม่",tr:"Yeni bir kabuk oturumu başlatmak için Enter'a basın",uk:"Натисніть Enter, щоб розпочати нову сесію оболонки"},"ui.diffSessionChanged":{zh:"请求体大小减小,可能使用了 /clear、/compact 或 session 发生了变化",en:"Request body size decreased, possibly due to /clear, /compact, or session change","zh-TW":"請求體大小減小,可能使用了 /clear、/compact 或 session 發生了變化",ko:"요청 본문 크기가 줄었습니다. /clear, /compact 또는 세션 변경이 있었을 수 있습니다",ja:"リクエストボディのサイズが減少しました。/clear、/compact、またはセッション変更の可能性があります",de:"Anfragekörper wurde kleiner, möglicherweise durch /clear, /compact oder Sitzungswechsel",es:"El tamaño del cuerpo de la solicitud disminuyó, posiblemente debido a /clear, /compact o cambio de sesión",fr:"La taille du corps de la requête a diminué, possiblement dû à /clear, /compact ou un changement de session",it:"La dimensione del corpo della richiesta è diminuita, probabilmente a causa di /clear, /compact o cambio di sessione",da:"Anmodningens størrelse er reduceret, muligvis på grund af /clear, /compact eller sessionsændring",pl:"Rozmiar treści żądania zmniejszył się, prawdopodobnie z powodu /clear, /compact lub zmiany sesji",ru:"Размер тела запроса уменьшился, возможно из-за /clear, /compact или смены сессии",ar:"حجم نص الطلب انخفض، ربما بسبب /clear أو /compact أو تغيير الجلسة",no:"Forespørselens størrelse ble redusert, muligens på grunn av /clear, /compact eller sesjonsendring","pt-BR":"O tamanho do corpo da requisição diminuiu, possivelmente devido a /clear, /compact ou mudança de sessão",th:"ขนาดเนื้อหาคำขอลดลง อาจเกิดจาก /clear, /compact หรือการเปลี่ยนเซสชัน",tr:"İstek gövdesi boyutu küçüldü, muhtemelen /clear, /compact veya oturum değişikliği nedeniyle",uk:"Розмір тіла запиту зменшився, можливо через /clear, /compact або зміну сесії"},"ui.resume.title":{zh:"检测到近期日志",en:"Recent Log Detected","zh-TW":"偵測到近期日誌",ko:"최근 로그 감지됨",ja:"最近のログを検出",de:"Kürzliches Log erkannt",es:"Log reciente detectado",fr:"Log récent détecté",it:"Log recente rilevato",da:"Nylig log fundet",pl:"Wykryto ostatni log",ru:"Обнаружен недавний лог",ar:"تم اكتشاف سجل حديث",no:"Nylig logg oppdaget","pt-BR":"Log recente detectado",th:"ตรวจพบล็อกล่าสุด",tr:"Son günlük tespit edildi",uk:"Виявлено нещодавній лог"},"ui.resume.message":{zh:"检测到1小时内的日志: {file},是否继续?",en:"Recent log found (within 1 hour): {file}. Continue?","zh-TW":"偵測到1小時內的日誌: {file},是否繼續?",ko:"1시간 이내 로그 감지: {file}. 계속하시겠습니까?",ja:"1時間以内のログを検出: {file}。続行しますか?",de:"Kürzliches Log gefunden (innerhalb 1 Stunde): {file}. Fortsetzen?",es:"Log reciente encontrado (dentro de 1 hora): {file}. ¿Continuar?",fr:"Log récent trouvé (moins d'1 heure): {file}. Continuer ?",it:"Log recente trovato (entro 1 ora): {file}. Continuare?",da:"Nylig log fundet (inden for 1 time): {file}. Fortsæt?",pl:"Znaleziono ostatni log (w ciągu 1 godziny): {file}. Kontynuować?",ru:"Обнаружен недавний лог (менее 1 часа): {file}. Продолжить?",ar:"تم العثور على سجل حديث (خلال ساعة واحدة): {file}. هل تريد المتابعة؟",no:"Nylig logg funnet (innen 1 time): {file}. Fortsette?","pt-BR":"Log recente encontrado (dentro de 1 hora): {file}. Continuar?",th:"พบล็อกล่าสุด (ภายใน 1 ชั่วโมง): {file} ต้องการดำเนินการต่อหรือไม่?",tr:"Son günlük bulundu (1 saat içinde): {file}. Devam edilsin mi?",uk:"Знайдено нещодавній лог (менше 1 години): {file}. Продовжити?"},"ui.resume.continue":{zh:"继续上次",en:"Continue","zh-TW":"繼續上次",ko:"이어서 계속",ja:"前回の続き",de:"Fortsetzen",es:"Continuar",fr:"Continuer",it:"Continua",da:"Fortsæt",pl:"Kontynuuj",ru:"Продолжить",ar:"متابعة",no:"Fortsett","pt-BR":"Continuar",th:"ดำเนินการต่อ",tr:"Devam et",uk:"Продовжити"},"ui.resume.new":{zh:"新开日志",en:"Start New","zh-TW":"新開日誌",ko:"새 로그 시작",ja:"新規ログ",de:"Neues Log",es:"Nuevo log",fr:"Nouveau log",it:"Nuovo log",da:"Ny log",pl:"Nowy log",ru:"Новый лог",ar:"سجل جديد",no:"Ny logg","pt-BR":"Novo log",th:"ล็อกใหม่",tr:"Yeni günlük",uk:"Новий лог"},"ui.resume.remember":{zh:"记住我的选择,下次默认跳过弹窗",en:"Remember my choice and skip this dialog next time","zh-TW":"記住我的選擇,下次預設跳過彈窗",ko:"내 선택을 기억하고 다음에 이 대화 상자 건너뛰기",ja:"選択を記憶し、次回このダイアログをスキップ",de:"Meine Wahl merken und diesen Dialog beim nächsten Mal überspringen",es:"Recordar mi elección y omitir este diálogo la próxima vez",fr:"Mémoriser mon choix et ignorer cette boîte de dialogue la prochaine fois",it:"Ricorda la mia scelta e salta questa finestra la prossima volta",da:"Husk mit valg og spring denne dialog over næste gang",pl:"Zapamiętaj mój wybór i pomiń to okno następnym razem",ru:"Запомнить мой выбор и пропустить этот диалог в следующий раз",ar:"تذكر اختياري وتخطي هذا الحوار في المرة القادمة",no:"Husk mitt valg og hopp over denne dialogen neste gang","pt-BR":"Lembrar minha escolha e pular este diálogo na próxima vez",th:"จำตัวเลือกของฉันและข้ามหน้าต่างนี้ในครั้งถัดไป",tr:"Seçimimi hatırla ve bir dahaki sefere bu pencereyi atla",uk:"Запам'ятати мій вибір і пропустити це вікно наступного разу"},"ui.userPreferences":{zh:"用户偏好",en:"User Preferences","zh-TW":"使用者偏好",ko:"사용자 환경설정",ja:"ユーザー設定",de:"Benutzereinstellungen",es:"Preferencias de usuario",fr:"Préférences utilisateur",it:"Preferenze utente",da:"Brugerpræferencer",pl:"Preferencje użytkownika",ru:"Пользовательские настройки",ar:"تفضيلات المستخدم",no:"Brukerinnstillinger","pt-BR":"Preferências do usuário",th:"การตั้งค่าผู้ใช้",tr:"Kullanıcı tercihleri",uk:"Налаштування користувача"},"ui.resumeAutoChoice":{zh:"是否继承默认日志",en:"Default log resume behavior","zh-TW":"是否繼承預設日誌",ko:"기본 로그 재개 동작",ja:"デフォルトのログ再開動作",de:"Standard-Log-Wiederaufnahme",es:"Comportamiento predeterminado de reanudación de log",fr:"Comportement par défaut de reprise du log",it:"Comportamento predefinito di ripresa del log",da:"Standard log-genoptagelsesadfærd",pl:"Domyślne zachowanie wznowienia logu",ru:"Поведение возобновления лога по умолчанию",ar:"سلوك استئناف السجل الافتراضي",no:"Standard logg-gjenopptakelsesatferd","pt-BR":"Comportamento padrão de retomada do log",th:"พฤติกรรมการดำเนินการต่อล็อกเริ่มต้น",tr:"Varsayılan günlük devam davranışı",uk:"Поведінка відновлення логу за замовчуванням"},"ui.resumeAutoChoice.continue":{zh:"默认继承",en:"Resume previous log","zh-TW":"預設繼承",ko:"이전 로그 이어서",ja:"前回のログを継続",de:"Vorheriges Log fortsetzen",es:"Reanudar log anterior",fr:"Reprendre le log précédent",it:"Riprendi log precedente",da:"Genoptag forrige log",pl:"Wznów poprzedni log",ru:"Продолжить предыдущий лог",ar:"استئناف السجل السابق",no:"Gjenoppta forrige logg","pt-BR":"Retomar log anterior",th:"ดำเนินการต่อจากล็อกก่อนหน้า",tr:"Önceki günlüğe devam et",uk:"Продовжити попередній лог"},"ui.resumeAutoChoice.new":{zh:"默认新开日志",en:"Start new log","zh-TW":"預設新開日誌",ko:"새 로그 시작",ja:"新規ログを開始",de:"Neues Log starten",es:"Iniciar nuevo log",fr:"Démarrer un nouveau log",it:"Avvia nuovo log",da:"Start ny log",pl:"Rozpocznij nowy log",ru:"Начать новый лог",ar:"بدء سجل جديد",no:"Start ny logg","pt-BR":"Iniciar novo log",th:"เริ่มล็อกใหม่",tr:"Yeni günlük başlat",uk:"Почати новий лог"},"ui.themeColor":{zh:"主题色",en:"Theme","zh-TW":"主題色",ko:"테마 색상",ja:"テーマカラー",de:"Farbschema",es:"Color del tema",fr:"Couleur du thème",it:"Colore del tema",da:"Temafarve",pl:"Kolor tematu",ru:"Цвет темы",ar:"لون المظهر",no:"Temafarge","pt-BR":"Cor do tema",th:"สีธีม",tr:"Tema Rengi",uk:"Колір теми"},"ui.themeColor.dark":{zh:"耀石黑",en:"Obsidian Dark","zh-TW":"耀石黑",ko:"옵시디언 다크",ja:"オブシディアンダーク",de:"Obsidian Dunkel",es:"Obsidiana Oscuro",fr:"Obsidienne Sombre",it:"Ossidiana Scuro",da:"Obsidian Mørk",pl:"Obsydian Ciemny",ru:"Обсидиан тёмная",ar:"أوبسيديان داكن",no:"Obsidian Mørk","pt-BR":"Obsidiana Escuro",th:"ออบซิเดียนมืด",tr:"Obsidyen Koyu",uk:"Обсидіан темна"},"ui.themeColor.light":{zh:"雪山白",en:"Snow White","zh-TW":"雪山白",ko:"스노우 화이트",ja:"スノーホワイト",de:"Schneeweiß",es:"Blanco Nieve",fr:"Blanc Neige",it:"Bianco Neve",da:"Snehvid",pl:"Śnieżna Biel",ru:"Снежная белая",ar:"أبيض ثلجي",no:"Snøhvit","pt-BR":"Branco Neve",th:"สโนว์ไวท์",tr:"Kar Beyazı",uk:"Сніжна біла"},"ui.settings":{zh:"偏好设置",en:"Preferences","zh-TW":"偏好設定",ko:"환경설정",ja:"環境設定",de:"Einstellungen",es:"Preferencias",fr:"Préférences",it:"Preferenze",da:"Indstillinger",pl:"Preferencje",ru:"Настройки",ar:"التفضيلات",no:"Innstillinger","pt-BR":"Preferências",th:"การตั้งค่า",tr:"Tercihler",uk:"Налаштування"},"ui.collapseToolResults":{zh:"折叠工具返回内容",en:"Collapse tool results","zh-TW":"摺疊工具回傳內容",ko:"도구 결과 접기",ja:"ツール結果を折りたたむ",de:"Werkzeugergebnisse einklappen",es:"Contraer resultados de herramientas",fr:"Réduire les résultats des outils",it:"Comprimi risultati strumenti",da:"Skjul værktøjsresultater",pl:"Zwiń wyniki narzędzi",ru:"Свернуть результаты инструментов",ar:"طي نتائج الأدوات",no:"Skjul verktøyresultater","pt-BR":"Recolher resultados de ferramentas",th:"ย่อผลลัพธ์เครื่องมือ",tr:"Araç sonuçlarını daralt",uk:"Згорнути результати інструментів"},"ui.expandThinking":{zh:'展开"思考过程"',en:'Expand "Thinking"',"zh-TW":'展開"思考過程"',ko:'"사고 과정" 펼치기',ja:'"思考プロセス"を展開',de:'"Denkprozess" aufklappen',es:'Expandir "Proceso de pensamiento"',fr:'Développer "Processus de réflexion"',it:'Espandi "Processo di pensiero"',da:'Udvid "Tænkeproces"',pl:'Rozwiń "Proces myślenia"',ru:'Развернуть "Процесс мышления"',ar:'توسيع "عملية التفكير"',no:'Utvid "Tenkeprosess"',"pt-BR":'Expandir "Processo de pensamento"',th:'ขยาย "กระบวนการคิด"',tr:'"Düşünce süreci"ni genişlet',uk:'Розгорнути "Процес мислення"'},"ui.showFullToolContent":{zh:"完整展示所有内容",en:"Show full tool content","zh-TW":"完整展示所有內容",ko:"모든 내용 전체 표시",ja:"すべての内容を完全に表示",de:"Alle Inhalte vollständig anzeigen",es:"Mostrar todo el contenido completo",fr:"Afficher tout le contenu en entier",it:"Mostra tutto il contenuto completo",da:"Vis alt indhold fuldt ud",pl:"Pokaż pełną treść wszystkiego",ru:"Показать всё содержимое полностью",ar:"عرض كل المحتوى بالكامل",no:"Vis alt innhold fullstendig","pt-BR":"Exibir todo o conteúdo completo",th:"แสดงเนื้อหาทั้งหมดแบบเต็ม",tr:"Tüm içeriği tam olarak göster",uk:"Показати весь вміст повністю"},"ui.toolsUsed":{zh:"调用工具: ",en:"Tools used: ","zh-TW":"調用工具: ",ko:"사용한 도구: ",ja:"使用ツール: ",de:"Verwendete Tools: ",es:"Herramientas usadas: ",fr:"Outils utilisés : ",it:"Strumenti usati: ",da:"Brugte værktøjer: ",pl:"Użyte narzędzia: ",ru:"Инструменты: ",ar:"الأدوات المستخدمة: ",no:"Brukte verktøy: ","pt-BR":"Ferramentas usadas: ",th:"เครื่องมือที่ใช้: ",tr:"Kullanılan araçlar: ",uk:"Використані інструменти: "},"ui.diffSummary":{zh:"+{added} -{removed}",en:"+{added} -{removed}","zh-TW":"+{added} -{removed}",ko:"+{added} -{removed}",ja:"+{added} -{removed}",de:"+{added} -{removed}",es:"+{added} -{removed}",fr:"+{added} -{removed}",it:"+{added} -{removed}",da:"+{added} -{removed}",pl:"+{added} -{removed}",ru:"+{added} -{removed}",ar:"+{added} -{removed}",no:"+{added} -{removed}","pt-BR":"+{added} -{removed}",th:"+{added} -{removed}",tr:"+{added} -{removed}",uk:"+{added} -{removed}"},"ui.expandDiff":{zh:"默认展开 Body Diff JSON",en:"Expand Body Diff JSON by default","zh-TW":"預設展開 Body Diff JSON",ko:"Body Diff JSON 기본 펼치기",ja:"Body Diff JSON をデフォルトで展開",de:"Body Diff JSON standardmäßig aufklappen",es:"Expandir Body Diff JSON por defecto",fr:"Développer Body Diff JSON par défaut",it:"Espandi Body Diff JSON per impostazione predefinita",da:"Udvid Body Diff JSON som standard",pl:"Domyślnie rozwiń Body Diff JSON",ru:"Разворачивать Body Diff JSON по умолчанию",ar:"توسيع Body Diff JSON افتراضيًا",no:"Utvid Body Diff JSON som standard","pt-BR":"Expandir Body Diff JSON por padrão",th:"ขยาย Body Diff JSON เป็นค่าเริ่มต้น",tr:"Body Diff JSON'u varsayılan olarak genişlet",uk:"Розгортати Body Diff JSON за замовчуванням"},"ui.logDirTitle":{zh:"日志目录设置",en:"Log directory","zh-TW":"日誌目錄設定",ko:"로그 디렉토리 설정",ja:"ログディレクトリ設定",de:"Protokollverzeichnis",es:"Directorio de registros",fr:"Répertoire de journaux",it:"Directory dei log",da:"Logmappe",pl:"Katalog logów",ru:"Каталог журналов",ar:"دليل السجلات",no:"Loggkatalog","pt-BR":"Diretório de logs",th:"ไดเรกทอรีบันทึก",tr:"Günlük dizini",uk:"Каталог журналів"},"ui.globalSettings":{zh:"全局设置",en:"Global Settings","zh-TW":"全域設定",ko:"전역 설정",ja:"グローバル設定",de:"Globale Einstellungen",es:"Configuración global",fr:"Paramètres globaux",it:"Impostazioni globali",da:"Globale indstillinger",pl:"Ustawienia globalne",ru:"Глобальные настройки",ar:"الإعدادات العامة",no:"Globale innstillinger","pt-BR":"Configurações globais",th:"ตั้งค่าทั่วไป",tr:"Genel ayarlar",uk:"Глобальні налаштування"},"ui.languageSettings":{zh:"语言设置",en:"Language","zh-TW":"語言設定",ko:"언어 설정",ja:"言語設定",de:"Sprache",es:"Idioma",fr:"Langue",it:"Lingua",da:"Sprog",pl:"Język",ru:"Язык",ar:"اللغة",no:"Språk","pt-BR":"Idioma",th:"ภาษา",tr:"Dil",uk:"Мова"},"ui.scanToCoding":{zh:"手机扫码编程",en:"Scan to Code","zh-TW":"手機掃碼編程",ko:"스캔하여 코딩",ja:"スキャンしてコーディング",de:"Scannen zum Programmieren",es:"Escanear para programar",fr:"Scanner pour coder",it:"Scansiona per programmare",da:"Scan for at kode",pl:"Skanuj, aby kodować",ru:"Сканируйте для кодирования",ar:"امسح للبرمجة",no:"Skann for å kode","pt-BR":"Escaneie para programar",th:"สแกนเพื่อเขียนโค้ด",tr:"Kodlamak için tarayın",uk:"Скануйте для кодування"},"ui.copyAllCacheText":{zh:"点击复制全部 KV-Cache 文本",en:"Click to copy all KV-Cache text","zh-TW":"點擊複製全部 KV-Cache 文字",ko:"KV-Cache 텍스트 전체 복사",ja:"KV-Cache テキストをすべてコピー",de:"Gesamten KV-Cache-Text kopieren",es:"Copiar todo el texto KV-Cache",fr:"Copier tout le texte KV-Cache",it:"Copia tutto il testo KV-Cache",da:"Kopiér al KV-Cache tekst",pl:"Skopiuj cały tekst KV-Cache",ru:"Скопировать весь текст KV-Cache",ar:"نسخ كل نص KV-Cache",no:"Kopier all KV-Cache tekst","pt-BR":"Copiar todo o texto KV-Cache",th:"คัดลอกข้อความ KV-Cache ทั้งหมด",tr:"Tüm KV-Cache metnini kopyala",uk:"Скопіювати весь текст KV-Cache"},"ui.copied":{zh:"已复制",en:"Copied","zh-TW":"已複製",ko:"복사됨",ja:"コピーしました",de:"Kopiert",es:"Copiado",fr:"Copié",it:"Copiato",da:"Kopieret",pl:"Skopiowano",ru:"Скопировано",ar:"تم النسخ",no:"Kopiert","pt-BR":"Copiado",th:"คัดลอกแล้ว",tr:"Kopyalandı",uk:"Скопійовано"},"ui.chatDisplaySwitches":{zh:"对话内容展示开关",en:"Chat Display Switches","zh-TW":"對話內容顯示開關",ko:"대화 표시 스위치",ja:"チャット表示スイッチ",de:"Chat-Anzeigeoptionen",es:"Opciones de visualización del chat",fr:"Options d'affichage du chat",it:"Opzioni di visualizzazione chat",da:"Chat-visningsindstillinger",pl:"Przełączniki wyświetlania czatu",ru:"Переключатели отображения чата",ar:"مفاتيح عرض المحادثة",no:"Chat-visningsbrytere","pt-BR":"Opções de exibição do chat",th:"สวิตช์การแสดงแชท",tr:"Sohbet görüntüleme ayarları",uk:"Перемикачі відображення чату"},"ui.filterIrrelevant":{zh:"过滤无关请求",en:"Filter irrelevant requests","zh-TW":"過濾無關請求",ko:"무관한 요청 필터링",ja:"無関係なリクエストをフィルタ",de:"Irrelevante Anfragen filtern",es:"Filtrar solicitudes irrelevantes",fr:"Filtrer les requêtes non pertinentes",it:"Filtra richieste irrilevanti",da:"Filtrer irrelevante forespørgsler",pl:"Filtruj nieistotne żądania",ru:"Фильтровать нерелевантные запросы",ar:"تصفية الطلبات غير ذات الصلة",no:"Filtrer irrelevante forespørsler","pt-BR":"Filtrar solicitações irrelevantes",th:"กรองคำขอที่ไม่เกี่ยวข้อง",tr:"İlgisiz istekleri filtrele",uk:"Фільтрувати нерелевантні запити"},"ui.thinking":{zh:"思考过程",en:"Thinking","zh-TW":"思考過程",ko:"사고 과정",ja:"思考プロセス",de:"Denkprozess",es:"Proceso de pensamiento",fr:"Processus de réflexion",it:"Processo di pensiero",da:"Tænkeproces",pl:"Proces myślenia",ru:"Процесс мышления",ar:"عملية التفكير",no:"Tenkeprosess","pt-BR":"Processo de pensamento",th:"กระบวนการคิด",tr:"Düşünce süreci",uk:"Процес мислення"},"ui.thinkingEmpty":{zh:"思考内容未显示(thinking 为加密摘要)",en:"Thinking content not displayed (encrypted summary)","zh-TW":"思考內容未顯示(thinking 為加密摘要)",ko:"사고 내용이 표시되지 않음 (암호화된 요약)",ja:"思考内容が表示されません(暗号化されたサマリー)",de:"Denkinhalt nicht angezeigt (verschlüsselte Zusammenfassung)",es:"Contenido de pensamiento no mostrado (resumen cifrado)",fr:"Contenu de réflexion non affiché (résumé chiffré)",it:"Contenuto di pensiero non visualizzato (riepilogo crittografato)",da:"Tænkeindhold ikke vist (krypteret resumé)",pl:"Treść myślenia nie wyświetlana (zaszyfrowane podsumowanie)",ru:"Содержимое мышления не отображается (зашифрованная сводка)",ar:"محتوى التفكير غير معروض (ملخص مشفر)",no:"Tenkeinnhold ikke vist (kryptert sammendrag)","pt-BR":"Conteúdo de pensamento não exibido (resumo criptografado)",th:"เนื้อหาการคิดไม่แสดง (สรุปที่เข้ารหัส)",tr:"Düşünce içeriği görüntülenmiyor (şifreli özet)",uk:"Вміст мислення не відображається (зашифрований підсумок)"},"ui.enableThinkingSummaries":{zh:"启用明文 Thinking",en:"Enable Thinking Summaries","zh-TW":"啟用明文 Thinking",ko:"Thinking 요약 활성화",ja:"Thinking サマリーを有効化",de:"Thinking-Zusammenfassungen aktivieren",es:"Habilitar resúmenes de Thinking",fr:"Activer les résumés de Thinking",it:"Abilita riepiloghi Thinking",da:"Aktivér Thinking-resuméer",pl:"Włącz podsumowania Thinking",ru:"Включить сводки Thinking",ar:"تفعيل ملخصات Thinking",no:"Aktiver Thinking-sammendrag","pt-BR":"Ativar resumos de Thinking",th:"เปิดใช้สรุป Thinking",tr:"Thinking özetlerini etkinleştir",uk:"Увімкнути підсумки Thinking"},"ui.enableThinkingSummariesTip":{zh:"在 {configDir}/settings.json 中设置 showThinkingSummaries 后,思考过程将以明文显示(需重启 Claude Code)",en:"Sets showThinkingSummaries in {configDir}/settings.json so thinking is displayed in plaintext (requires Claude Code restart)","zh-TW":"在 {configDir}/settings.json 中設定 showThinkingSummaries 後,思考過程將以明文顯示(需重啟 Claude Code)",ko:"{configDir}/settings.json에 showThinkingSummaries를 설정하면 사고 과정이 평문으로 표시됩니다 (Claude Code 재시작 필요)",ja:"{configDir}/settings.json に showThinkingSummaries を設定すると、思考がプレーンテキストで表示されます(Claude Code の再起動が必要)",de:"Setzt showThinkingSummaries in {configDir}/settings.json, damit Thinking als Klartext angezeigt wird (Claude Code Neustart erforderlich)",es:"Configura showThinkingSummaries en {configDir}/settings.json para mostrar el pensamiento en texto plano (requiere reiniciar Claude Code)",fr:"Définit showThinkingSummaries dans {configDir}/settings.json pour afficher la réflexion en texte brut (redémarrage de Claude Code requis)",it:"Imposta showThinkingSummaries in {configDir}/settings.json per visualizzare il pensiero in testo semplice (richiede riavvio di Claude Code)",da:"Sætter showThinkingSummaries i {configDir}/settings.json så tænkning vises i klartekst (kræver genstart af Claude Code)",pl:"Ustawia showThinkingSummaries w {configDir}/settings.json, aby myślenie wyświetlało się w postaci zwykłego tekstu (wymaga restartu Claude Code)",ru:"Устанавливает showThinkingSummaries в {configDir}/settings.json для отображения мышления открытым текстом (требуется перезапуск Claude Code)",ar:"يضبط showThinkingSummaries في {configDir}/settings.json لعرض التفكير كنص عادي (يتطلب إعادة تشغيل Claude Code)",no:"Setter showThinkingSummaries i {configDir}/settings.json slik at tenkning vises i klartekst (krever omstart av Claude Code)","pt-BR":"Define showThinkingSummaries em {configDir}/settings.json para exibir pensamento em texto simples (requer reinicialização do Claude Code)",th:"ตั้งค่า showThinkingSummaries ใน {configDir}/settings.json เพื่อแสดงการคิดเป็นข้อความธรรมดา (ต้องรีสตาร์ท Claude Code)",tr:"Düşünmenin düz metin olarak görüntülenmesi için {configDir}/settings.json'da showThinkingSummaries ayarını yapar (Claude Code yeniden başlatması gerekir)",uk:"Встановлює showThinkingSummaries в {configDir}/settings.json для відображення мислення відкритим текстом (потрібен перезапуск Claude Code)"},"ui.bashCommand":{zh:"Bash 命令",en:"Bash Command","zh-TW":"Bash 命令",ko:"Bash 명령",ja:"Bash コマンド",de:"Bash-Befehl",es:"Comando Bash",fr:"Commande Bash",it:"Comando Bash",da:"Bash-kommando",pl:"Polecenie Bash",ru:"Команда Bash",ar:"أمر Bash",no:"Bash-kommando","pt-BR":"Comando Bash",th:"คำสั่ง Bash",tr:"Bash Komutu",uk:"Команда Bash"},"ui.lines":{zh:"行",en:"lines","zh-TW":"行",ko:"줄",ja:"行",de:"Zeilen",es:"líneas",fr:"lignes",it:"righe",da:"linjer",pl:"wierszy",ru:"строк",ar:"أسطر",no:"linjer","pt-BR":"linhas",th:"บรรทัด",tr:"satır",uk:"рядків"},"ui.skillLoaded":{zh:"Skill 已加载",en:"Skill Loaded","zh-TW":"Skill 已載入",ko:"Skill 로드됨",ja:"Skill 読み込み済み",de:"Skill geladen",es:"Skill cargado",fr:"Skill chargé",it:"Skill caricato",da:"Skill indlæst",pl:"Skill załadowany",ru:"Skill загружен",ar:"تم تحميل Skill",no:"Skill lastet","pt-BR":"Skill carregado",th:"โหลด Skill แล้ว",tr:"Skill yüklendi",uk:"Skill завантажено"},"ui.cacheLoss.ttl":{zh:"缓存丢失:距上次 MainAgent 请求超过 5 分钟,缓存已过期",en:"Cache miss: over 5 minutes since last MainAgent request, cache expired","zh-TW":"快取遺失:距上次 MainAgent 請求超過 5 分鐘,快取已過期",ko:"캐시 손실: 마지막 MainAgent 요청 후 5분 초과, 캐시 만료",ja:"キャッシュミス:前回の MainAgent リクエストから5分以上経過、キャッシュ期限切れ",de:"Cache-Verlust: Über 5 Minuten seit letzter MainAgent-Anfrage, Cache abgelaufen",es:"Pérdida de caché: más de 5 minutos desde la última solicitud MainAgent, caché expirada",fr:"Perte de cache : plus de 5 minutes depuis la dernière requête MainAgent, cache expiré",it:"Cache persa: oltre 5 minuti dall'ultima richiesta MainAgent, cache scaduta",da:"Cache-tab: over 5 minutter siden sidste MainAgent-forespørgsel, cache udløbet",pl:"Utrata cache: ponad 5 minut od ostatniego żądania MainAgent, cache wygasł",ru:"Потеря кэша: прошло более 5 минут с последнего запроса MainAgent, кэш истёк",ar:"فقدان التخزين المؤقت: مرور أكثر من 5 دقائق منذ آخر طلب MainAgent، انتهت صلاحية التخزين المؤقت",no:"Cache-tap: over 5 minutter siden siste MainAgent-forespørsel, cache utløpt","pt-BR":"Perda de cache: mais de 5 minutos desde a última requisição MainAgent, cache expirado",th:"แคชหาย: เกิน 5 นาทีจากคำขอ MainAgent ล่าสุด แคชหมดอายุ",tr:"Önbellek kaybı: Son MainAgent isteğinden 5 dakikadan fazla geçti, önbellek süresi doldu",uk:"Втрата кешу: минуло понад 5 хвилин з останнього запиту MainAgent, кеш закінчився"},"ui.cacheLoss.systemChange":{zh:"缓存重建:system prompt 发生变更",en:"Cache rebuild: system prompt changed","zh-TW":"快取重建:system prompt 發生變更",ko:"캐시 재생성: 시스템 프롬프트 변경",ja:"キャッシュ再構築:システムプロンプトが変更されました",de:"Cache-Neuaufbau: System-Prompt geändert",es:"Reconstrucción de caché: el prompt del sistema cambió",fr:"Reconstruction du cache : le prompt système a changé",it:"Ricostruzione cache: il prompt di sistema è cambiato",da:"Cache-genopbygning: systemprompt ændret",pl:"Odbudowa cache: prompt systemowy zmieniony",ru:"Перестройка кэша: системный промпт изменён",ar:"إعادة بناء التخزين المؤقت: تم تغيير موجه النظام",no:"Cache-gjenoppbygging: systemprompt endret","pt-BR":"Reconstrução de cache: prompt do sistema alterado",th:"สร้างแคชใหม่: system prompt เปลี่ยนแปลง",tr:"Önbellek yeniden oluşturma: sistem istemi değişti",uk:"Перебудова кешу: системний промпт змінено"},"ui.cacheLoss.toolsChange":{zh:"缓存重建:工具定义发生变更",en:"Cache rebuild: tool definitions changed","zh-TW":"快取重建:工具定義發生變更",ko:"캐시 재생성: 도구 정의 변경",ja:"キャッシュ再構築:ツール定義が変更されました",de:"Cache-Neuaufbau: Tool-Definitionen geändert",es:"Reconstrucción de caché: las definiciones de herramientas cambiaron",fr:"Reconstruction du cache : les définitions d'outils ont changé",it:"Ricostruzione cache: le definizioni degli strumenti sono cambiate",da:"Cache-genopbygning: værktøjsdefinitioner ændret",pl:"Odbudowa cache: definicje narzędzi zmienione",ru:"Перестройка кэша: определения инструментов изменены",ar:"إعادة بناء التخزين المؤقت: تم تغيير تعريفات الأدوات",no:"Cache-gjenoppbygging: verktøydefinisjoner endret","pt-BR":"Reconstrução de cache: definições de ferramentas alteradas",th:"สร้างแคชใหม่: คำจำกัดความเครื่องมือเปลี่ยนแปลง",tr:"Önbellek yeniden oluşturma: araç tanımları değişti",uk:"Перебудова кешу: визначення інструментів змінено"},"ui.cacheLoss.modelChange":{zh:"缓存重建:模型切换",en:"Cache rebuild: model switched","zh-TW":"快取重建:模型切換",ko:"캐시 재생성: 모델 전환",ja:"キャッシュ再構築:モデルが切り替わりました",de:"Cache-Neuaufbau: Modell gewechselt",es:"Reconstrucción de caché: modelo cambiado",fr:"Reconstruction du cache : modèle changé",it:"Ricostruzione cache: modello cambiato",da:"Cache-genopbygning: model skiftet",pl:"Odbudowa cache: model zmieniony",ru:"Перестройка кэша: модель переключена",ar:"إعادة بناء التخزين المؤقت: تم تبديل النموذج",no:"Cache-gjenoppbygging: modell byttet","pt-BR":"Reconstrução de cache: modelo alterado",th:"สร้างแคชใหม่: เปลี่ยนโมเดล",tr:"Önbellek yeniden oluşturma: model değiştirildi",uk:"Перебудова кешу: модель переключено"},"ui.cacheLoss.msgTruncated":{zh:"缓存重建:消息栈被截断(上下文窗口溢出)",en:"Cache rebuild: message stack truncated (context window overflow)","zh-TW":"快取重建:訊息堆疊被截斷(上下文視窗溢出)",ko:"캐시 재생성: 메시지 스택 잘림 (컨텍스트 윈도우 오버플로)",ja:"キャッシュ再構築:メッセージスタックが切り詰められました(コンテキストウィンドウオーバーフロー)",de:"Cache-Neuaufbau: Nachrichtenstapel gekürzt (Kontextfenster-Überlauf)",es:"Reconstrucción de caché: pila de mensajes truncada (desbordamiento de ventana de contexto)",fr:"Reconstruction du cache : pile de messages tronquée (dépassement de la fenêtre de contexte)",it:"Ricostruzione cache: stack messaggi troncato (overflow finestra di contesto)",da:"Cache-genopbygning: beskedstakken afkortet (kontekstvindue-overløb)",pl:"Odbudowa cache: stos wiadomości obcięty (przepełnienie okna kontekstu)",ru:"Перестройка кэша: стек сообщений усечён (переполнение контекстного окна)",ar:"إعادة بناء التخزين المؤقت: تم اقتطاع مكدس الرسائل (تجاوز نافذة السياق)",no:"Cache-gjenoppbygging: meldingsstakken avkortet (kontekstvindu-overflyt)","pt-BR":"Reconstrução de cache: pilha de mensagens truncada (estouro da janela de contexto)",th:"สร้างแคชใหม่: สแต็กข้อความถูกตัด (context window ล้น)",tr:"Önbellek yeniden oluşturma: mesaj yığını kesildi (bağlam penceresi taşması)",uk:"Перебудова кешу: стек повідомлень обрізано (переповнення контекстного вікна)"},"ui.cacheLoss.msgModified":{zh:"缓存重建:历史消息内容被修改",en:"Cache rebuild: historical message content modified","zh-TW":"快取重建:歷史訊息內容被修改",ko:"캐시 재생성: 이전 메시지 내용 수정됨",ja:"キャッシュ再構築:過去のメッセージ内容が変更されました",de:"Cache-Neuaufbau: Historische Nachrichteninhalte geändert",es:"Reconstrucción de caché: contenido de mensajes históricos modificado",fr:"Reconstruction du cache : contenu des messages historiques modifié",it:"Ricostruzione cache: contenuto dei messaggi storici modificato",da:"Cache-genopbygning: historisk beskedindhold ændret",pl:"Odbudowa cache: treść historycznych wiadomości zmodyfikowana",ru:"Перестройка кэша: содержимое исторических сообщений изменено",ar:"إعادة بناء التخزين المؤقت: تم تعديل محتوى الرسائل السابقة",no:"Cache-gjenoppbygging: historisk meldingsinnhold endret","pt-BR":"Reconstrução de cache: conteúdo de mensagens históricas modificado",th:"สร้างแคชใหม่: เนื้อหาข้อความในประวัติถูกแก้ไข",tr:"Önbellek yeniden oluşturma: geçmiş mesaj içeriği değiştirildi",uk:"Перебудова кешу: вміст історичних повідомлень змінено"},"ui.cacheLoss.keyChange":{zh:"缓存重建:缓存键变更(原因未知)",en:"Cache rebuild: cache key changed (unknown reason)","zh-TW":"快取重建:快取鍵變更(原因未知)",ko:"캐시 재생성: 캐시 키 변경 (원인 불명)",ja:"キャッシュ再構築:キャッシュキーが変更されました(原因不明)",de:"Cache-Neuaufbau: Cache-Schlüssel geändert (Grund unbekannt)",es:"Reconstrucción de caché: clave de caché cambiada (razón desconocida)",fr:"Reconstruction du cache : clé de cache modifiée (raison inconnue)",it:"Ricostruzione cache: chiave cache cambiata (motivo sconosciuto)",da:"Cache-genopbygning: cache-nøgle ændret (ukendt årsag)",pl:"Odbudowa cache: klucz cache zmieniony (nieznana przyczyna)",ru:"Перестройка кэша: ключ кэша изменён (причина неизвестна)",ar:"إعادة بناء التخزين المؤقت: تم تغيير مفتاح التخزين المؤقت (سبب غير معروف)",no:"Cache-gjenoppbygging: cache-nøkkel endret (ukjent årsak)","pt-BR":"Reconstrução de cache: chave de cache alterada (motivo desconhecido)",th:"สร้างแคชใหม่: คีย์แคชเปลี่ยนแปลง (ไม่ทราบสาเหตุ)",tr:"Önbellek yeniden oluşturma: önbellek anahtarı değişti (bilinmeyen neden)",uk:"Перебудова кешу: ключ кешу змінено (причина невідома)"},"ui.cacheRebuildStats":{zh:"缓存重建统计",en:"Cache Rebuild Stats","zh-TW":"快取重建統計",ko:"캐시 재구축 통계",ja:"キャッシュ再構築統計",de:"Cache-Neuaufbau-Statistik",es:"Estadísticas de reconstrucción de caché",fr:"Statistiques de reconstruction du cache",it:"Statistiche ricostruzione cache",da:"Cache-genopbygningsstatistik",pl:"Statystyki przebudowy cache",ru:"Статистика перестройки кеша",ar:"إحصائيات إعادة بناء ذاكرة التخزين المؤقت",no:"Cache-gjenoppbyggingsstatistikk","pt-BR":"Estatísticas de reconstrução de cache",th:"สถิติการสร้างแคชใหม่",tr:"Önbellek Yeniden Oluşturma İstatistikleri",uk:"Статистика перебудови кешу"},"ui.cacheRebuild.reason":{zh:"原因",en:"Reason","zh-TW":"原因",ko:"원인",ja:"原因",de:"Ursache",es:"Razón",fr:"Raison",it:"Motivo",da:"Årsag",pl:"Przyczyna",ru:"Причина",ar:"السبب",no:"Årsak","pt-BR":"Razão",th:"สาเหตุ",tr:"Neden",uk:"Причина"},"ui.cacheRebuild.count":{zh:"次数",en:"Count","zh-TW":"次數",ko:"횟수",ja:"回数",de:"Anzahl",es:"Veces",fr:"Nombre",it:"Volte",da:"Antal",pl:"Liczba",ru:"Кол-во",ar:"العدد",no:"Antall","pt-BR":"Vezes",th:"จำนวน",tr:"Sayı",uk:"Кількість"},"ui.cacheRebuild.cacheCreate":{zh:"重建缓存量",en:"Cache Created","zh-TW":"重建快取量",ko:"재구축 캐시량",ja:"再構築キャッシュ量",de:"Cache erstellt",es:"Caché creado",fr:"Cache créé",it:"Cache creata",da:"Cache oprettet",pl:"Utworzony cache",ru:"Создано кеша",ar:"الذاكرة المؤقتة المُنشأة",no:"Cache opprettet","pt-BR":"Cache criado",th:"แคชที่สร้าง",tr:"Oluşturulan önbellek",uk:"Створено кешу"},"ui.skillUsageStats":{zh:"Skill 使用统计",en:"Skill Usage Stats","zh-TW":"Skill 使用統計",ko:"Skill 사용 통계",ja:"Skill 使用統計",de:"Skill-Nutzungsstatistik",es:"Estadísticas de uso de Skills",fr:"Statistiques d'utilisation des Skills",it:"Statistiche utilizzo Skill",da:"Skill-brugsstatistik",pl:"Statystyki użycia Skill",ru:"Статистика использования Skill",ar:"إحصائيات استخدام Skill",no:"Skill-bruksstatistikk","pt-BR":"Estatísticas de uso de Skills",th:"สถิติการใช้ Skill",tr:"Skill Kullanım İstatistikleri",uk:"Статистика використання Skill"},"ui.toolUsageStats":{zh:"工具使用统计",en:"Tool Usage Stats","zh-TW":"工具使用統計",ko:"도구 사용 통계",ja:"ツール使用統計",de:"Tool-Nutzungsstatistik",es:"Estadísticas de uso de herramientas",fr:"Statistiques d'utilisation des outils",it:"Statistiche utilizzo strumenti",da:"Værktøjsbrugsstatistik",pl:"Statystyki użycia narzędzi",ru:"Статистика использования инструментов",ar:"إحصائيات استخدام الأدوات",no:"Verktøybruksstatistikk","pt-BR":"Estatísticas de uso de ferramentas",th:"สถิติการใช้เครื่องมือ",tr:"Araç Kullanım İstatistikleri",uk:"Статистика використання інструментів"},"ui.subAgentStats":{zh:"SubAgent 调用统计",en:"SubAgent Call Stats","zh-TW":"SubAgent 調用統計",ko:"SubAgent 호출 통계",ja:"SubAgent 呼び出し統計",de:"SubAgent-Aufrufstatistik",es:"Estadísticas de llamadas SubAgent",fr:"Statistiques d'appels SubAgent",it:"Statistiche chiamate SubAgent",da:"SubAgent-kaldsstatistik",pl:"Statystyki wywołań SubAgent",ru:"Статистика вызовов SubAgent",ar:"إحصائيات استدعاء SubAgent",no:"SubAgent-anropsstatistikk","pt-BR":"Estatísticas de chamadas SubAgent",th:"สถิติการเรียก SubAgent",tr:"SubAgent Çağrı İstatistikleri",uk:"Статистика викликів SubAgent"},"ui.mergeLogs":{zh:"合并日志",en:"Merge Logs","zh-TW":"合併日誌",ko:"로그 병합",ja:"ログを結合",de:"Logs zusammenführen",es:"Fusionar logs",fr:"Fusionner les logs",it:"Unisci log",da:"Flet logs",pl:"Scal logi",ru:"Объединить логи",ar:"دمج السجلات",no:"Slå sammen logger","pt-BR":"Mesclar logs",th:"รวมบันทึก",tr:"Logları birleştir",uk:"Об'єднати логи"},"ui.deleteLogs":{zh:"删除日志",en:"Delete Logs","zh-TW":"刪除日誌",ko:"로그 삭제",ja:"ログを削除",de:"Logs löschen",es:"Eliminar logs",fr:"Supprimer les logs",it:"Elimina log",da:"Slet logs",pl:"Usuń logi",ru:"Удалить логи",ar:"حذف السجلات",no:"Slett logger","pt-BR":"Excluir logs",th:"ลบบันทึก",tr:"Logları sil",uk:"Видалити логи"},"ui.refreshStats":{zh:"刷新",en:"Refresh","zh-TW":"重新整理",ko:"새로고침",ja:"更新",de:"Aktualisieren",es:"Actualizar",fr:"Actualiser",it:"Aggiorna",da:"Opdater",pl:"Odśwież",ru:"Обновить",ar:"تحديث",no:"Oppdater","pt-BR":"Atualizar",th:"รีเฟรช",tr:"Yenile",uk:"Оновити"},"ui.refreshStatsSuccess":{zh:"统计数据已刷新",en:"Stats refreshed","zh-TW":"統計資料已重新整理",ko:"통계가 새로고침되었습니다",ja:"統計が更新されました",de:"Statistiken aktualisiert",es:"Estadísticas actualizadas",fr:"Statistiques actualisées",it:"Statistiche aggiornate",da:"Statistik opdateret",pl:"Statystyki odświeżone",ru:"Статистика обновлена",ar:"تم تحديث الإحصائيات",no:"Statistikk oppdatert","pt-BR":"Estatísticas atualizadas",th:"รีเฟรชสถิติแล้ว",tr:"İstatistikler yenilendi",uk:"Статистику оновлено"},"ui.refreshStatsFailed":{zh:"刷新统计失败",en:"Failed to refresh stats","zh-TW":"重新整理統計失敗",ko:"통계 새로고침 실패",ja:"統計の更新に失敗しました",de:"Statistiken konnten nicht aktualisiert werden",es:"Error al actualizar estadísticas",fr:"Échec de l'actualisation des statistiques",it:"Aggiornamento statistiche fallito",da:"Kunne ikke opdatere statistik",pl:"Nie udało się odświeżyć statystyk",ru:"Не удалось обновить статистику",ar:"فشل تحديث الإحصائيات",no:"Kunne ikke oppdatere statistikk","pt-BR":"Falha ao atualizar estatísticas",th:"รีเฟรชสถิติล้มเหลว",tr:"İstatistikler yenilenemedi",uk:"Не вдалося оновити статистику"},"ui.deleteLogsConfirm":{zh:"确定要删除选中的 {count} 个日志文件吗?此操作不可撤销。",en:"Are you sure you want to delete {count} selected log file(s)? This action cannot be undone.","zh-TW":"確定要刪除選中的 {count} 個日誌檔案嗎?此操作無法復原。",ko:"선택한 {count}개의 로그 파일을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",ja:"選択した {count} 件のログファイルを削除しますか?この操作は元に戻せません。",de:"Möchten Sie die {count} ausgewählten Logdateien wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.",es:"¿Está seguro de que desea eliminar {count} archivo(s) de registro seleccionado(s)? Esta acción no se puede deshacer.",fr:"Êtes-vous sûr de vouloir supprimer {count} fichier(s) journal sélectionné(s) ? Cette action est irréversible.",it:"Sei sicuro di voler eliminare {count} file di log selezionati? Questa azione non può essere annullata.",da:"Er du sikker på, at du vil slette {count} valgte logfil(er)? Denne handling kan ikke fortrydes.",pl:"Czy na pewno chcesz usunąć {count} wybranych plików logów? Tej operacji nie można cofnąć.",ru:"Вы уверены, что хотите удалить {count} выбранных файлов журнала? Это действие необратимо.",ar:"هل أنت متأكد من حذف {count} ملف(ات) سجل محدد؟ لا يمكن التراجع عن هذا الإجراء.",no:"Er du sikker på at du vil slette {count} valgte loggfil(er)? Denne handlingen kan ikke angres.","pt-BR":"Tem certeza de que deseja excluir {count} arquivo(s) de log selecionado(s)? Esta ação não pode ser desfeita.",th:"คุณแน่ใจหรือไม่ว่าต้องการลบ {count} ไฟล์บันทึกที่เลือก? การดำเนินการนี้ไม่สามารถย้อนกลับได้",tr:"Seçili {count} günlük dosyasını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",uk:"Ви впевнені, що хочете видалити {count} вибраних файлів журналу? Цю дію не можна скасувати."},"ui.openLog":{zh:"打开",en:"Open","zh-TW":"開啟",ko:"열기",ja:"開く",de:"Öffnen",es:"Abrir",fr:"Ouvrir",it:"Apri",da:"Åbn",pl:"Otwórz",ru:"Открыть",ar:"فتح",no:"Åpne","pt-BR":"Abrir",th:"เปิด",tr:"Aç",uk:"Відкрити"},"ui.downloadLog":{zh:"下载",en:"Download","zh-TW":"下載",ko:"다운로드",ja:"ダウンロード",de:"Herunterladen",es:"Descargar",fr:"Télécharger",it:"Scarica",da:"Download",pl:"Pobierz",ru:"Скачать",ar:"تنزيل",no:"Last ned","pt-BR":"Baixar",th:"ดาวน์โหลด",tr:"İndir",uk:"Завантажити"},"ui.logPreview":{zh:"概览",en:"Preview","zh-TW":"概覽",ko:"미리보기",ja:"プレビュー",de:"Vorschau",es:"Vista previa",fr:"Aperçu",it:"Anteprima",da:"Forhåndsvisning",pl:"Podgląd",ru:"Обзор",ar:"معاينة",no:"Forhåndsvisning","pt-BR":"Prévia",th:"ตัวอย่าง",tr:"Önizleme",uk:"Огляд"},"ui.logTime":{zh:"时间",en:"Time","zh-TW":"時間",ko:"시간",ja:"時間",de:"Zeit",es:"Hora",fr:"Heure",it:"Ora",da:"Tid",pl:"Czas",ru:"Время",ar:"الوقت",no:"Tid","pt-BR":"Hora",th:"เวลา",tr:"Zaman",uk:"Час"},"ui.logSize":{zh:"大小",en:"Size","zh-TW":"大小",ko:"크기",ja:"サイズ",de:"Größe",es:"Tamaño",fr:"Taille",it:"Dimensione",da:"Størrelse",pl:"Rozmiar",ru:"Размер",ar:"الحجم",no:"Størrelse","pt-BR":"Tamanho",th:"ขนาด",tr:"Boyut",uk:"Розмір"},"ui.logTurns":{zh:"对话轮次",en:"Turns","zh-TW":"對話輪次",ko:"대화 턴",ja:"対話ターン",de:"Dialogrunden",es:"Turnos de diálogo",fr:"Tours de dialogue",it:"Turni di dialogo",da:"Dialogrunder",pl:"Tury dialogu",ru:"Раунды диалога",ar:"جولات الحوار",no:"Dialogrunder","pt-BR":"Turnos de diálogo",th:"รอบการสนทนา",tr:"Diyalog turları",uk:"Раунди діалогу"},"ui.logActions":{zh:"操作",en:"Actions","zh-TW":"操作",ko:"작업",ja:"操作",de:"Aktionen",es:"Acciones",fr:"Actions",it:"Azioni",da:"Handlinger",pl:"Akcje",ru:"Действия",ar:"الإجراءات",no:"Handlinger","pt-BR":"Ações",th:"การดำเนินการ",tr:"İşlemler",uk:"Дії"},"ui.turns":{zh:"轮",en:"turns","zh-TW":"輪",ko:"턴",ja:"ターン",de:"Runden",es:"turnos",fr:"tours",it:"turni",da:"runder",pl:"tur",ru:"ходов",ar:"جولات",no:"runder","pt-BR":"turnos",th:"รอบ",tr:"tur",uk:"ходів"},"ui.mergeNotConsecutive":{zh:"请选择连续的日志文件",en:"Please select consecutive log files","zh-TW":"請選擇連續的日誌檔案",ko:"연속된 로그 파일을 선택하세요",ja:"連続したログファイルを選択してください",de:"Bitte wählen Sie aufeinanderfolgende Log-Dateien",es:"Seleccione archivos de log consecutivos",fr:"Veuillez sélectionner des fichiers de log consécutifs",it:"Seleziona file di log consecutivi",da:"Vælg venligst sammenhængende logfiler",pl:"Wybierz kolejne pliki logów",ru:"Выберите последовательные файлы логов",ar:"يرجى اختيار ملفات سجلات متتالية",no:"Velg sammenhengende loggfiler","pt-BR":"Selecione arquivos de log consecutivos",th:"กรุณาเลือกไฟล์บันทึกที่ต่อเนื่องกัน",tr:"Lütfen ardışık log dosyalarını seçin",uk:"Виберіть послідовні файли логів"},"ui.mergeTooLarge":{zh:"选中的日志文件总大小超过 500MB",en:"Selected log files exceed 500MB","zh-TW":"選中的日誌檔案總大小超過 500MB",ko:"선택한 로그 파일의 총 크기가 500MB를 초과합니다",ja:"選択したログファイルの合計サイズが 500MB を超えています",de:"Ausgewählte Log-Dateien überschreiten 500MB",es:"Los archivos de log seleccionados superan los 500MB",fr:"Les fichiers de log sélectionnés dépassent 500 Mo",it:"I file di log selezionati superano i 500MB",da:"Valgte logfiler overstiger 500MB",pl:"Wybrane pliki logów przekraczają 500MB",ru:"Выбранные файлы логов превышают 500МБ",ar:"ملفات السجلات المحددة تتجاوز 500 ميجابايت",no:"Valgte loggfiler overstiger 500MB","pt-BR":"Arquivos de log selecionados excedem 500MB",th:"ไฟล์บันทึกที่เลือกมีขนาดรวมเกิน 500MB",tr:"Seçilen log dosyaları 500MB'ı aşıyor",uk:"Вибрані файли логів перевищують 500МБ"},"ui.mergeSuccess":{zh:"日志合并成功",en:"Logs merged successfully","zh-TW":"日誌合併成功",ko:"로그 병합 성공",ja:"ログの結合に成功しました",de:"Logs erfolgreich zusammengeführt",es:"Logs fusionados correctamente",fr:"Logs fusionnés avec succès",it:"Log uniti con successo",da:"Logs flettet",pl:"Logi scalone pomyślnie",ru:"Логи успешно объединены",ar:"تم دمج السجلات بنجاح",no:"Logger slått sammen","pt-BR":"Logs mesclados com sucesso",th:"รวมบันทึกสำเร็จ",tr:"Loglar başarıyla birleştirildi",uk:"Логи успішно об'єднано"},"ui.deleteSuccess":{zh:"已成功删除 {count} 个日志文件",en:"{count} log file(s) deleted successfully","zh-TW":"已成功刪除 {count} 個日誌檔案",ko:"{count}개의 로그 파일이 삭제되었습니다",ja:"{count} 件のログファイルを削除しました",de:"{count} Logdatei(en) erfolgreich gelöscht",es:"{count} archivo(s) de registro eliminado(s) correctamente",fr:"{count} fichier(s) journal supprimé(s) avec succès",it:"{count} file di log eliminati con successo",da:"{count} logfil(er) slettet",pl:"Pomyślnie usunięto {count} plików logów",ru:"Успешно удалено {count} файлов журнала",ar:"تم حذف {count} ملف(ات) سجل بنجاح",no:"{count} loggfil(er) slettet","pt-BR":"{count} arquivo(s) de log excluído(s) com sucesso",th:"ลบ {count} ไฟล์บันทึกสำเร็จ",tr:"{count} günlük dosyası başarıyla silindi",uk:"Успішно видалено {count} файлів журналу"},"ui.deleteFailed":{zh:"{count} 个文件删除失败",en:"{count} file(s) failed to delete","zh-TW":"{count} 個檔案刪除失敗",ko:"{count}개 파일 삭제 실패",ja:"{count} 件のファイルの削除に失敗しました",de:"{count} Datei(en) konnten nicht gelöscht werden",es:"Error al eliminar {count} archivo(s)",fr:"Échec de la suppression de {count} fichier(s)",it:"Eliminazione di {count} file fallita",da:"{count} fil(er) kunne ikke slettes",pl:"Nie udało się usunąć {count} plików",ru:"Не удалось удалить {count} файлов",ar:"فشل حذف {count} ملف(ات)",no:"{count} fil(er) kunne ikke slettes","pt-BR":"Falha ao excluir {count} arquivo(s)",th:"ลบ {count} ไฟล์ไม่สำเร็จ",tr:"{count} dosya silinemedi",uk:"Не вдалося видалити {count} файлів"},"ui.cancel":{zh:"取消",en:"Cancel","zh-TW":"取消",ko:"취소",ja:"キャンセル",de:"Abbrechen",es:"Cancelar",fr:"Annuler",it:"Annulla",da:"Annuller",pl:"Anuluj",ru:"Отмена",ar:"إلغاء",no:"Avbryt","pt-BR":"Cancelar",th:"ยกเลิก",tr:"İptal",uk:"Скасувати"},"ui.mergeLatestNotAllowed":{zh:"最新的日志文件不允许被合并,以避免当前窗口日志丢失",en:"The latest log file cannot be merged to avoid losing the current session","zh-TW":"最新的日誌檔案不允許被合併,以避免當前視窗日誌遺失",ko:"현재 세션 손실을 방지하기 위해 최신 로그 파일은 병합할 수 없습니다",ja:"現在のセッションの損失を防ぐため、最新のログファイルは結合できません",de:"Die neueste Logdatei kann nicht zusammengeführt werden, um den Verlust der aktuellen Sitzung zu vermeiden",es:"El archivo de log más reciente no se puede fusionar para evitar perder la sesión actual",fr:"Le fichier de log le plus récent ne peut pas être fusionné pour éviter la perte de la session en cours",it:"Il file di log più recente non può essere unito per evitare la perdita della sessione corrente",da:"Den nyeste logfil kan ikke flettes for at undgå tab af den aktuelle session",pl:"Najnowszy plik logów nie może być scalony, aby uniknąć utraty bieżącej sesji",ru:"Последний файл логов не может быть объединён, чтобы избежать потери текущей сессии",ar:"لا يمكن دمج أحدث ملف سجل لتجنب فقدان الجلسة الحالية",no:"Den nyeste loggfilen kan ikke slås sammen for å unngå tap av gjeldende økt","pt-BR":"O arquivo de log mais recente não pode ser mesclado para evitar perda da sessão atual",th:"ไม่สามารถรวมไฟล์บันทึกล่าสุดเพื่อหลีกเลี่ยงการสูญเสียเซสชันปัจจุบัน",tr:"Mevcut oturumun kaybını önlemek için en son günlük dosyası birleştirilemez",uk:"Найновіший файл логів не може бути об'єднаний, щоб уникнути втрати поточної сесії"},"ui.projectStats":{zh:"项目统计",en:"Project Stats","zh-TW":"專案統計",ko:"프로젝트 통계",ja:"プロジェクト統計",de:"Projektstatistik",es:"Estadísticas del proyecto",fr:"Statistiques du projet",it:"Statistiche progetto",da:"Projektstatistik",pl:"Statystyki projektu",ru:"Статистика проекта",ar:"إحصائيات المشروع",no:"Prosjektstatistikk","pt-BR":"Estatísticas do projeto",th:"สถิติโปรเจกต์",tr:"Proje İstatistikleri",uk:"Статистика проєкту"},"ui.projectStats.totalRequests":{zh:"总请求数",en:"Total Requests","zh-TW":"總請求數",ko:"총 요청 수",ja:"リクエスト総数",de:"Gesamtanfragen",es:"Total de solicitudes",fr:"Total des requêtes",it:"Richieste totali",da:"Samlede forespørgsler",pl:"Łączna liczba żądań",ru:"Всего запросов",ar:"إجمالي الطلبات",no:"Totale forespørsler","pt-BR":"Total de requisições",th:"คำขอทั้งหมด",tr:"Toplam İstekler",uk:"Всього запитів"},"ui.projectStats.sessionCount":{zh:"会话轮次",en:"Sessions","zh-TW":"會話輪次",ko:"세션 수",ja:"セッション数",de:"Sitzungen",es:"Sesiones",fr:"Sessions",it:"Sessioni",da:"Sessioner",pl:"Sesje",ru:"Сессий",ar:"الجلسات",no:"Sesjoner","pt-BR":"Sessões",th:"เซสชัน",tr:"Oturumlar",uk:"Сесії"},"ui.projectStats.turnCount":{zh:"对话轮次",en:"Turns","zh-TW":"對話輪次",ko:"대화 턴",ja:"ターン数",de:"Gesprächsrunden",es:"Turnos",fr:"Tours",it:"Turni",da:"Ture",pl:"Tury",ru:"Ходов",ar:"الأدوار",no:"Turer","pt-BR":"Turnos",th:"เทิร์น",tr:"Turlar",uk:"Ходів"},"ui.projectStats.totalFiles":{zh:"会话文件数",en:"Session Files","zh-TW":"會話檔案數",ko:"세션 파일 수",ja:"セッションファイル数",de:"Sitzungsdateien",es:"Archivos de sesión",fr:"Fichiers de session",it:"File di sessione",da:"Sessionsfiler",pl:"Pliki sesji",ru:"Файлов сессий",ar:"ملفات الجلسات",no:"Sesjonsfiler","pt-BR":"Arquivos de sessão",th:"ไฟล์เซสชัน",tr:"Oturum Dosyaları",uk:"Файли сесій"},"ui.projectStats.modelUsage":{zh:"模型使用统计",en:"Model Usage","zh-TW":"模型使用統計",ko:"모델 사용 통계",ja:"モデル使用統計",de:"Modellnutzung",es:"Uso de modelos",fr:"Utilisation des modèles",it:"Utilizzo modelli",da:"Modelbrug",pl:"Użycie modeli",ru:"Использование моделей",ar:"استخدام النماذج",no:"Modellbruk","pt-BR":"Uso de modelos",th:"การใช้โมเดล",tr:"Model Kullanımı",uk:"Використання моделей"},"ui.projectStats.noData":{zh:"暂无统计数据",en:"No stats available","zh-TW":"暫無統計資料",ko:"통계 데이터 없음",ja:"統計データなし",de:"Keine Statistiken verfügbar",es:"Sin estadísticas disponibles",fr:"Aucune statistique disponible",it:"Nessuna statistica disponibile",da:"Ingen statistik tilgængelig",pl:"Brak dostępnych statystyk",ru:"Статистика недоступна",ar:"لا توجد إحصائيات متاحة",no:"Ingen statistikk tilgjengelig","pt-BR":"Sem estatísticas disponíveis",th:"ไม่มีข้อมูลสถิติ",tr:"İstatistik mevcut değil",uk:"Статистика недоступна"},"ui.projectStats.updatedAt":{zh:"更新于 {time}",en:"Updated at {time}","zh-TW":"更新於 {time}",ko:"{time}에 업데이트됨",ja:"{time} に更新",de:"Aktualisiert um {time}",es:"Actualizado a las {time}",fr:"Mis à jour à {time}",it:"Aggiornato alle {time}",da:"Opdateret {time}",pl:"Zaktualizowano {time}",ru:"Обновлено в {time}",ar:"تم التحديث في {time}",no:"Oppdatert {time}","pt-BR":"Atualizado em {time}",th:"อัปเดตเมื่อ {time}",tr:"{time} tarihinde güncellendi",uk:"Оновлено о {time}"},"ui.update.title":{zh:"版本信息",en:"Version Info","zh-TW":"版本資訊",ko:"버전 정보",ja:"バージョン情報",de:"Versionsinformationen",es:"Información de versión",fr:"Informations de version",it:"Informazioni versione",da:"Versionsinfo",pl:"Informacje o wersji",ru:"Информация о версии",ar:"معلومات الإصدار",no:"Versjonsinformasjon","pt-BR":"Informações da versão",th:"ข้อมูลเวอร์ชัน",tr:"Sürüm bilgisi",uk:"Інформація про версію"},"ui.update.current":{zh:"当前版本",en:"Current version","zh-TW":"目前版本",ko:"현재 버전",ja:"現在のバージョン",de:"Aktuelle Version",es:"Versión actual",fr:"Version actuelle",it:"Versione corrente",da:"Nuværende version",pl:"Bieżąca wersja",ru:"Текущая версия",ar:"الإصدار الحالي",no:"Gjeldende versjon","pt-BR":"Versão atual",th:"เวอร์ชันปัจจุบัน",tr:"Mevcut sürüm",uk:"Поточна версія"},"ui.update.latest":{zh:"最新版本",en:"Latest version","zh-TW":"最新版本",ko:"최신 버전",ja:"最新バージョン",de:"Neueste Version",es:"Última versión",fr:"Dernière version",it:"Ultima versione",da:"Seneste version",pl:"Najnowsza wersja",ru:"Последняя версия",ar:"أحدث إصدار",no:"Nyeste versjon","pt-BR":"Versão mais recente",th:"เวอร์ชันล่าสุด",tr:"Son sürüm",uk:"Остання версія"},"ui.update.npm":{zh:"npm 版本更新",en:"Update via npm","zh-TW":"npm 版本更新",ko:"npm으로 업데이트",ja:"npm で更新",de:"Über npm aktualisieren",es:"Actualizar vía npm",fr:"Mettre à jour via npm",it:"Aggiorna via npm",da:"Opdater via npm",pl:"Aktualizuj przez npm",ru:"Обновить через npm",ar:"التحديث عبر npm",no:"Oppdater via npm","pt-BR":"Atualizar via npm",th:"อัปเดตผ่าน npm",tr:"npm ile güncelle",uk:"Оновити через npm"},"ui.update.electron":{zh:"Electron 桌面版更新",en:"Update Electron Desktop","zh-TW":"Electron 桌面版更新",ko:"Electron 데스크톱 업데이트",ja:"Electron デスクトップ更新",de:"Electron Desktop aktualisieren",es:"Actualizar Electron Desktop",fr:"Mettre à jour Electron Desktop",it:"Aggiorna Electron Desktop",da:"Opdater Electron Desktop",pl:"Aktualizuj Electron Desktop",ru:"Обновить Electron Desktop",ar:"تحديث Electron Desktop",no:"Oppdater Electron Desktop","pt-BR":"Atualizar Electron Desktop",th:"อัปเดต Electron Desktop",tr:"Electron Desktop Güncelle",uk:"Оновити Electron Desktop"},"ui.update.electronDesc":{zh:"请从 GitHub Releases 下载最新版本的安装包。",en:"Download the latest installer from GitHub Releases.","zh-TW":"請從 GitHub Releases 下載最新版本的安裝包。",ko:"GitHub Releases에서 최신 설치 프로그램을 다운로드하세요.",ja:"GitHub Releases から最新のインストーラーをダウンロードしてください。",de:"Laden Sie das neueste Installationsprogramm von GitHub Releases herunter.",es:"Descargue el instalador más reciente de GitHub Releases.",fr:"Téléchargez le dernier installeur depuis GitHub Releases.",it:"Scarica l'ultimo installer da GitHub Releases.",da:"Download det nyeste installationsprogram fra GitHub Releases.",pl:"Pobierz najnowszy instalator z GitHub Releases.",ru:"Скачайте последний установщик из GitHub Releases.",ar:"قم بتنزيل أحدث مثبت من GitHub Releases.",no:"Last ned det nyeste installasjonsprogrammet fra GitHub Releases.","pt-BR":"Baixe o instalador mais recente do GitHub Releases.",th:"ดาวน์โหลดตัวติดตั้งล่าสุดจาก GitHub Releases",tr:"GitHub Releases'dan en son yükleyiciyi indirin.",uk:"Завантажте останній інсталятор з GitHub Releases."},"ui.update.step1":{zh:"点击下方按钮进入 GitHub Releases 页面",en:"Click the button below to open GitHub Releases","zh-TW":"點擊下方按鈕進入 GitHub Releases 頁面",ko:"아래 버튼을 클릭하여 GitHub Releases 페이지로 이동",ja:"下のボタンをクリックして GitHub Releases ページを開く",de:"Klicken Sie auf die Schaltfläche unten, um GitHub Releases zu öffnen",es:"Haga clic en el botón para abrir GitHub Releases",fr:"Cliquez sur le bouton ci-dessous pour ouvrir GitHub Releases",it:"Clicca il pulsante sotto per aprire GitHub Releases",da:"Klik på knappen nedenfor for at åbne GitHub Releases",pl:"Kliknij przycisk poniżej, aby otworzyć GitHub Releases",ru:"Нажмите кнопку ниже, чтобы открыть GitHub Releases",ar:"انقر على الزر أدناه لفتح GitHub Releases",no:"Klikk på knappen nedenfor for å åpne GitHub Releases","pt-BR":"Clique no botão abaixo para abrir o GitHub Releases",th:"คลิกปุ่มด้านล่างเพื่อเปิด GitHub Releases",tr:"GitHub Releases'ı açmak için aşağıdaki düğmeye tıklayın",uk:"Натисніть кнопку нижче, щоб відкрити GitHub Releases"},"ui.update.step2":{zh:"下载对应系统的安装包(.dmg / .exe / .AppImage)",en:"Download the installer for your OS (.dmg / .exe / .AppImage)","zh-TW":"下載對應系統的安裝包(.dmg / .exe / .AppImage)",ko:"사용 중인 OS에 맞는 설치 파일 다운로드 (.dmg / .exe / .AppImage)",ja:"お使いの OS 用のインストーラーをダウンロード(.dmg / .exe / .AppImage)",de:"Laden Sie das Installationsprogramm für Ihr OS herunter (.dmg / .exe / .AppImage)",es:"Descargue el instalador para su sistema (.dmg / .exe / .AppImage)",fr:"Téléchargez l'installeur pour votre OS (.dmg / .exe / .AppImage)",it:"Scarica l'installer per il tuo OS (.dmg / .exe / .AppImage)",da:"Download installationsprogrammet til dit OS (.dmg / .exe / .AppImage)",pl:"Pobierz instalator dla swojego systemu (.dmg / .exe / .AppImage)",ru:"Скачайте установщик для вашей ОС (.dmg / .exe / .AppImage)",ar:"قم بتنزيل المثبت لنظامك (.dmg / .exe / .AppImage)",no:"Last ned installasjonsprogrammet for ditt OS (.dmg / .exe / .AppImage)","pt-BR":"Baixe o instalador para seu SO (.dmg / .exe / .AppImage)",th:"ดาวน์โหลดตัวติดตั้งสำหรับระบบของคุณ (.dmg / .exe / .AppImage)",tr:"İşletim sisteminiz için yükleyiciyi indirin (.dmg / .exe / .AppImage)",uk:"Завантажте інсталятор для вашої ОС (.dmg / .exe / .AppImage)"},"ui.update.step3":{zh:"安装后替换旧版本即可",en:"Install to replace the old version","zh-TW":"安裝後替換舊版本即可",ko:"설치하여 이전 버전을 교체",ja:"インストールして旧バージョンを置き換え",de:"Installieren, um die alte Version zu ersetzen",es:"Instale para reemplazar la versión anterior",fr:"Installez pour remplacer l'ancienne version",it:"Installa per sostituire la vecchia versione",da:"Installér for at erstatte den gamle version",pl:"Zainstaluj, aby zastąpić starą wersję",ru:"Установите для замены старой версии",ar:"قم بالتثبيت لاستبدال الإصدار القديم",no:"Installer for å erstatte den gamle versjonen","pt-BR":"Instale para substituir a versão antiga",th:"ติดตั้งเพื่อแทนที่เวอร์ชันเก่า",tr:"Eski sürümü değiştirmek için yükleyin",uk:"Встановіть для заміни старої версії"},"ui.update.goReleases":{zh:"前往 GitHub Releases",en:"Go to GitHub Releases","zh-TW":"前往 GitHub Releases",ko:"GitHub Releases로 이동",ja:"GitHub Releases へ",de:"Zu GitHub Releases",es:"Ir a GitHub Releases",fr:"Aller sur GitHub Releases",it:"Vai a GitHub Releases",da:"Gå til GitHub Releases",pl:"Przejdź do GitHub Releases",ru:"Перейти к GitHub Releases",ar:"انتقل إلى GitHub Releases",no:"Gå til GitHub Releases","pt-BR":"Ir para GitHub Releases",th:"ไปที่ GitHub Releases",tr:"GitHub Releases'a git",uk:"Перейти до GitHub Releases"},"ui.update.completed":{zh:"已更新到 v{version},下次启动生效",en:"Updated to v{version}, effective on next restart","zh-TW":"已更新到 v{version},下次啟動生效",ko:"v{version}으로 업데이트됨, 다음 시작 시 적용",ja:"v{version} に更新済み、次回起動時に有効",de:"Auf v{version} aktualisiert, wirksam beim nächsten Neustart",es:"Actualizado a v{version}, efectivo en el próximo reinicio",fr:"Mis à jour vers v{version}, effectif au prochain redémarrage",it:"Aggiornato a v{version}, effettivo al prossimo riavvio",da:"Opdateret til v{version}, træder i kraft ved næste genstart",pl:"Zaktualizowano do v{version}, obowiązuje po ponownym uruchomieniu",ru:"Обновлено до v{version}, вступит в силу при следующем запуске",ar:"تم التحديث إلى v{version}، سيسري عند إعادة التشغيل التالية",no:"Oppdatert til v{version}, trer i kraft ved neste omstart","pt-BR":"Atualizado para v{version}, efetivo na próxima reinicialização",th:"อัปเดตเป็น v{version} แล้ว มีผลเมื่อเริ่มใหม่",tr:"v{version} sürümüne güncellendi, bir sonraki başlatmada geçerli",uk:"Оновлено до v{version}, набуде чинності при наступному запуску"},"ui.update.majorAvailable":{zh:"新大版本 v{version} 可用,请手动更新: npm i -g cc-viewer@latest",en:"Major version v{version} available, update manually: npm i -g cc-viewer@latest","zh-TW":"新大版本 v{version} 可用,請手動更新: npm i -g cc-viewer@latest",ko:"새 메이저 버전 v{version} 사용 가능, 수동 업데이트: npm i -g cc-viewer@latest",ja:"メジャーバージョン v{version} が利用可能、手動更新: npm i -g cc-viewer@latest",de:"Hauptversion v{version} verfügbar, manuell aktualisieren: npm i -g cc-viewer@latest",es:"Versión principal v{version} disponible, actualice: npm i -g cc-viewer@latest",fr:"Version majeure v{version} disponible, mettez à jour : npm i -g cc-viewer@latest",it:"Versione principale v{version} disponibile, aggiornare: npm i -g cc-viewer@latest",da:"Hovedversion v{version} tilgængelig, opdater manuelt: npm i -g cc-viewer@latest",pl:"Główna wersja v{version} dostępna, zaktualizuj: npm i -g cc-viewer@latest",ru:"Доступна основная версия v{version}, обновите: npm i -g cc-viewer@latest",ar:"الإصدار الرئيسي v{version} متاح، حدّث يدويًا: npm i -g cc-viewer@latest",no:"Hovedversjon v{version} tilgjengelig, oppdater manuelt: npm i -g cc-viewer@latest","pt-BR":"Versão principal v{version} disponível, atualize: npm i -g cc-viewer@latest",th:"เวอร์ชันหลัก v{version} พร้อมใช้งาน อัปเดตด้วยตนเอง: npm i -g cc-viewer@latest",tr:"Ana sürüm v{version} mevcut, manuel güncelleyin: npm i -g cc-viewer@latest",uk:"Доступна основна версія v{version}, оновіть: npm i -g cc-viewer@latest"},"ui.chatInput.placeholder":{zh:"输入消息发送给 Claude...",en:"Type a message to Claude...","zh-TW":"輸入訊息傳送給 Claude...",ko:"Claude에게 메시지를 입력하세요...",ja:"Claudeにメッセージを入力...",de:"Nachricht an Claude eingeben...",es:"Escribe un mensaje para Claude...",fr:"Tapez un message pour Claude...",it:"Scrivi un messaggio per Claude...",da:"Skriv en besked til Claude...",pl:"Wpisz wiadomość do Claude...",ru:"Введите сообщение для Claude...",ar:"اكتب رسالة إلى Claude...",no:"Skriv en melding til Claude...","pt-BR":"Digite uma mensagem para o Claude...",th:"พิมพ์ข้อความถึง Claude...",tr:"Claude'a mesaj yazın...",uk:"Введіть повідомлення для Claude..."},"ui.chatInput.removeImage":{zh:"移除图片",en:"Remove image","zh-TW":"移除圖片",ko:"이미지 제거",ja:"画像を削除",de:"Bild entfernen",es:"Eliminar imagen",fr:"Supprimer l'image",it:"Rimuovi immagine",da:"Fjern billede",pl:"Usuń obraz",ru:"Удалить изображение",ar:"إزالة الصورة",no:"Fjern bilde","pt-BR":"Remover imagem",th:"ลบรูปภาพ",tr:"Resmi kaldır",uk:"Видалити зображення"},"ui.chatInput.more":{zh:"更多",en:"More","zh-TW":"更多",ko:"더보기",ja:"もっと見る",de:"Mehr",es:"Más",fr:"Plus",it:"Altro",da:"Mere",pl:"Więcej",ru:"Ещё",ar:"المزيد",no:"Mer","pt-BR":"Mais",th:"เพิ่มเติม",tr:"Daha fazla",uk:"Ще"},"ui.chatInput.send":{zh:"发送",en:"Send","zh-TW":"傳送",ko:"보내기",ja:"送信",de:"Senden",es:"Enviar",fr:"Envoyer",it:"Invia",da:"Send",pl:"Wyślij",ru:"Отправить",ar:"إرسال",no:"Send","pt-BR":"Enviar",th:"ส่ง",tr:"Gönder",uk:"Надіслати"},"ui.chatInput.hintEnter":{zh:"Enter 发送,Shift+Enter 换行",en:"Enter to send, Shift+Enter for new line","zh-TW":"Enter 傳送,Shift+Enter 換行",ko:"Enter로 전송, Shift+Enter로 줄바꿈",ja:"Enterで送信、Shift+Enterで改行",de:"Enter zum Senden, Shift+Enter für neue Zeile",es:"Enter para enviar, Shift+Enter para nueva línea",fr:"Entrée pour envoyer, Shift+Entrée pour nouvelle ligne",it:"Invio per inviare, Shift+Invio per nuova riga",da:"Enter for at sende, Shift+Enter for ny linje",pl:"Enter aby wysłać, Shift+Enter nowa linia",ru:"Enter — отправить, Shift+Enter — новая строка",ar:"Enter للإرسال، Shift+Enter لسطر جديد",no:"Enter for å sende, Shift+Enter for ny linje","pt-BR":"Enter para enviar, Shift+Enter para nova linha",th:"Enter ส่ง, Shift+Enter ขึ้นบรรทัดใหม่",tr:"Enter gönder, Shift+Enter yeni satır",uk:"Enter — надіслати, Shift+Enter — новий рядок"},"ui.chatInput.hintTab":{zh:"Tab 接受建议",en:"Tab to accept suggestion","zh-TW":"Tab 接受建議",ko:"Tab으로 제안 수락",ja:"Tabで提案を受け入れ",de:"Tab zum Akzeptieren des Vorschlags",es:"Tab para aceptar sugerencia",fr:"Tab pour accepter la suggestion",it:"Tab per accettare il suggerimento",da:"Tab for at acceptere forslag",pl:"Tab aby zaakceptować sugestię",ru:"Tab — принять предложение",ar:"Tab لقبول الاقتراح",no:"Tab for å akseptere forslag","pt-BR":"Tab para aceitar sugestão",th:"Tab ยอมรับคำแนะนำ",tr:"Tab ile öneriyi kabul et",uk:"Tab — прийняти пропозицію"},"ui.terminal":{zh:"终端",en:"Terminal","zh-TW":"終端機",ko:"터미널",ja:"ターミナル",de:"Terminal",es:"Terminal",fr:"Terminal",it:"Terminale",da:"Terminal",pl:"Terminal",ru:"Терминал",ar:"طرفية",no:"Terminal","pt-BR":"Terminal",th:"เทอร์มินัล",tr:"Terminal",uk:"Термінал"},"ui.collapseTerminal":{zh:"收起终端",en:"Collapse terminal","zh-TW":"收起終端機",ko:"터미널 접기",ja:"ターミナルを閉じる",de:"Terminal einklappen",es:"Contraer terminal",fr:"Réduire le terminal",it:"Comprimi terminale",da:"Skjul terminal",pl:"Zwiń terminal",ru:"Свернуть терминал",ar:"طي الطرفية",no:"Skjul terminal","pt-BR":"Recolher terminal",th:"ย่อเทอร์มินัล",tr:"Terminali daralt",uk:"Згорнути термінал"},"ui.expandTerminal":{zh:"展开终端",en:"Expand terminal","zh-TW":"展開終端機",ko:"터미널 펼치기",ja:"ターミナルを開く",de:"Terminal ausklappen",es:"Expandir terminal",fr:"Développer le terminal",it:"Espandi terminale",da:"Vis terminal",pl:"Rozwiń terminal",ru:"Развернуть терминал",ar:"توسيع الطرفية",no:"Vis terminal","pt-BR":"Expandir terminal",th:"ขยายเทอร์มินัล",tr:"Terminali genişlet",uk:"Розгорнути термінал"},"ui.stickyBottom":{zh:"保持吸底",en:"Stick to bottom","zh-TW":"保持置底",ko:"하단 고정",ja:"下部に固定",de:"Unten fixieren",es:"Fijar al fondo",fr:"Fixer en bas",it:"Fissa in basso",da:"Fastgør i bunden",pl:"Przypnij na dole",ru:"Прикрепить внизу",ar:"تثبيت في الأسفل",no:"Fest til bunnen","pt-BR":"Fixar no fundo",th:"ตรึงด้านล่าง",tr:"Alta sabitle",uk:"Закріпити внизу"},"ui.enterPlanMode":{zh:"进入计划模式",en:"Entering Plan Mode","zh-TW":"進入計劃模式",ko:"계획 모드 진입",ja:"プランモードに入ります",de:"Planungsmodus wird gestartet",es:"Entrando en modo de planificación",fr:"Entrée en mode planification",it:"Accesso alla modalità pianificazione",da:"Går ind i planlægningstilstand",pl:"Wchodzenie w tryb planowania",ru:"Вход в режим планирования",ar:"الدخول في وضع التخطيط",no:"Går inn i planleggingsmodus","pt-BR":"Entrando no modo de planejamento",th:"เข้าสู่โหมดวางแผน",tr:"Plan moduna giriliyor",uk:"Вхід у режим планування"},"ui.exitPlanMode":{zh:"计划就绪,等待审批",en:"Plan Ready for Approval","zh-TW":"計劃就緒,等待審批",ko:"계획 준비 완료, 승인 대기",ja:"プラン準備完了、承認待ち",de:"Plan bereit zur Genehmigung",es:"Plan listo para aprobación",fr:"Plan prêt pour approbation",it:"Piano pronto per l'approvazione",da:"Plan klar til godkendelse",pl:"Plan gotowy do zatwierdzenia",ru:"План готов к утверждению",ar:"الخطة جاهزة للموافقة",no:"Plan klar for godkjenning","pt-BR":"Plano pronto para aprovação",th:"แผนพร้อมรอการอนุมัติ",tr:"Plan onaya hazır",uk:"План готовий до затвердження"},"ui.exitPlanModeResolved":{zh:"计划审批",en:"Plan Approval","zh-TW":"計劃審批",ko:"계획 승인",ja:"プラン承認",de:"Plangenehmigung",es:"Aprobación del plan",fr:"Approbation du plan",it:"Approvazione piano",da:"Plangodkendelse",pl:"Zatwierdzenie planu",ru:"Утверждение плана",ar:"الموافقة على الخطة",no:"Plangodkjenning","pt-BR":"Aprovação do plano",th:"การอนุมัติแผน",tr:"Plan onayı",uk:"Затвердження плану"},"ui.allowedPrompts":{zh:"请求的权限",en:"Requested Permissions","zh-TW":"請求的權限",ko:"요청된 권한",ja:"要求された権限",de:"Angeforderte Berechtigungen",es:"Permisos solicitados",fr:"Permissions demandées",it:"Permessi richiesti",da:"Anmodede tilladelser",pl:"Żądane uprawnienia",ru:"Запрошенные разрешения",ar:"الأذونات المطلوبة",no:"Forespurte tillatelser","pt-BR":"Permissões solicitadas",th:"สิทธิ์ที่ร้องขอ",tr:"İstenen izinler",uk:"Запитані дозволи"},"ui.planApproved":{zh:"已批准",en:"Approved","zh-TW":"已批准",ko:"승인됨",ja:"承認済み",de:"Genehmigt",es:"Aprobado",fr:"Approuvé",it:"Approvato",da:"Godkendt",pl:"Zatwierdzono",ru:"Одобрено",ar:"تمت الموافقة",no:"Godkjent","pt-BR":"Aprovado",th:"อนุมัติแล้ว",tr:"Onaylandı",uk:"Затверджено"},"ui.planRejected":{zh:"已拒绝",en:"Rejected","zh-TW":"已拒絕",ko:"거부됨",ja:"却下済み",de:"Abgelehnt",es:"Rechazado",fr:"Rejeté",it:"Rifiutato",da:"Afvist",pl:"Odrzucono",ru:"Отклонено",ar:"مرفوض",no:"Avvist","pt-BR":"Rejeitado",th:"ถูกปฏิเสธ",tr:"Reddedildi",uk:"Відхилено"},"ui.planPending":{zh:"待审批",en:"Pending","zh-TW":"待審批",ko:"대기 중",ja:"承認待ち",de:"Ausstehend",es:"Pendiente",fr:"En attente",it:"In attesa",da:"Afventer",pl:"Oczekuje",ru:"Ожидает",ar:"قيد الانتظار",no:"Venter","pt-BR":"Pendente",th:"รอดำเนินการ",tr:"Beklemede",uk:"Очікує"},"ui.planUltraplan":{zh:"UltraPlan 执行中",en:"UltraPlan Executing","zh-TW":"UltraPlan 執行中",ko:"UltraPlan 실행 중",ja:"UltraPlan 実行中",de:"UltraPlan wird ausgeführt",es:"UltraPlan en ejecución",fr:"UltraPlan en cours",it:"UltraPlan in esecuzione",da:"UltraPlan kører",pl:"UltraPlan w trakcie",ru:"UltraPlan выполняется",ar:"UltraPlan قيد التنفيذ",no:"UltraPlan kjører","pt-BR":"UltraPlan em execução",th:"UltraPlan กำลังดำเนินการ",tr:"UltraPlan çalışıyor",uk:"UltraPlan виконується"},"ui.planApprove":{zh:"批准",en:"Approve","zh-TW":"批准",ko:"승인",ja:"承認",de:"Genehmigen",es:"Aprobar",fr:"Approuver",it:"Approva",da:"Godkend",pl:"Zatwierdź",ru:"Одобрить",ar:"موافقة",no:"Godkjenn","pt-BR":"Aprovar",th:"อนุมัติ",tr:"Onayla",uk:"Схвалити"},"ui.planApproveWithEdits":{zh:"批准并修改",en:"Approve with edits","zh-TW":"批准並修改",ko:"수정 후 승인",ja:"修正して承認",de:"Mit Änderungen genehmigen",es:"Aprobar con cambios",fr:"Approuver avec modifications",it:"Approva con modifiche",da:"Godkend med ændringer",pl:"Zatwierdź ze zmianami",ru:"Одобрить с правками",ar:"موافقة مع تعديلات",no:"Godkjenn med endringer","pt-BR":"Aprovar com edições",th:"อนุมัติพร้อมแก้ไข",tr:"Düzenlemelerle onayla",uk:"Схвалити зі змінами"},"ui.planReject":{zh:"拒绝",en:"Reject","zh-TW":"拒絕",ko:"거부",ja:"拒否",de:"Ablehnen",es:"Rechazar",fr:"Rejeter",it:"Rifiuta",da:"Afvis",pl:"Odrzuć",ru:"Отклонить",ar:"رفض",no:"Avvis","pt-BR":"Rejeitar",th:"ปฏิเสธ",tr:"Reddet",uk:"Відхилити"},"ui.planFeedback":{zh:"反馈",en:"Feedback","zh-TW":"回饋",ko:"피드백",ja:"フィードバック",de:"Feedback",es:"Comentarios",fr:"Retour",it:"Feedback",da:"Feedback",pl:"Opinia",ru:"Отзыв",ar:"ملاحظات",no:"Tilbakemelding","pt-BR":"Feedback",th:"ข้อเสนอแนะ",tr:"Geri bildirim",uk:"Відгук"},"ui.planFeedbackPlaceholder":{zh:"输入你的修改建议…",en:"Type your feedback…","zh-TW":"輸入你的修改建議…",ko:"피드백을 입력하세요…",ja:"フィードバックを入力…",de:"Feedback eingeben…",es:"Escribe tu comentario…",fr:"Saisissez votre retour…",it:"Scrivi il tuo feedback…",da:"Skriv din feedback…",pl:"Wpisz swoją opinię…",ru:"Введите отзыв…",ar:"اكتب ملاحظاتك…",no:"Skriv tilbakemelding…","pt-BR":"Digite seu feedback…",th:"พิมพ์ข้อเสนอแนะ…",tr:"Geri bildiriminizi yazın…",uk:"Введіть відгук…"},"ui.planFeedbackSubmit":{zh:"发送",en:"Send","zh-TW":"傳送",ko:"보내기",ja:"送信",de:"Senden",es:"Enviar",fr:"Envoyer",it:"Invia",da:"Send",pl:"Wyślij",ru:"Отправить",ar:"إرسال",no:"Send","pt-BR":"Enviar",th:"ส่ง",tr:"Gönder",uk:"Надіслати"},"ui.permission.approvalRequired":{zh:"待审批",en:"Approval Required","zh-TW":"待審批",ko:"승인 필요",ja:"承認が必要",de:"Genehmigung erforderlich",es:"Aprobación requerida",fr:"Approbation requise",it:"Approvazione richiesta",da:"Godkendelse påkrævet",pl:"Wymagana akceptacja",ru:"Требуется одобрение",ar:"موافقة مطلوبة",no:"Godkjenning påkrevd","pt-BR":"Aprovação necessária",th:"ต้องการการอนุมัติ",tr:"Onay gerekli",uk:"Потрібне схвалення"},"ui.permission.allow":{zh:"允许",en:"Allow","zh-TW":"允許",ko:"허용",ja:"許可",de:"Erlauben",es:"Permitir",fr:"Autoriser",it:"Consenti",da:"Tillad",pl:"Zezwól",ru:"Разрешить",ar:"سماح",no:"Tillat","pt-BR":"Permitir",th:"อนุญาต",tr:"İzin ver",uk:"Дозволити"},"ui.permission.allowSession":{zh:"本次会话允许",en:"Allow for session","zh-TW":"本次會話允許",ko:"세션 동안 허용",ja:"セッション中は許可",de:"Für Sitzung erlauben",es:"Permitir para sesión",fr:"Autoriser pour la session",it:"Consenti per sessione",da:"Tillad for session",pl:"Zezwól na sesję",ru:"Разрешить на сессию",ar:"سماح للجلسة",no:"Tillat for økt","pt-BR":"Permitir para sessão",th:"อนุญาตสำหรับเซสชัน",tr:"Oturum için izin ver",uk:"Дозволити для сесії"},"ui.permission.deny":{zh:"拒绝",en:"Deny","zh-TW":"拒絕",ko:"거부",ja:"拒否",de:"Ablehnen",es:"Denegar",fr:"Refuser",it:"Nega",da:"Afvis",pl:"Odmów",ru:"Отклонить",ar:"رفض",no:"Avslå","pt-BR":"Negar",th:"ปฏิเสธ",tr:"Reddet",uk:"Відхилити"},"ui.permission.allowCountdown":{zh:"允许({seconds}s)",en:"Allow({seconds}s)","zh-TW":"允許({seconds}s)",ko:"허용({seconds}s)",ja:"許可({seconds}s)",de:"Erlauben({seconds}s)",es:"Permitir({seconds}s)",fr:"Autoriser({seconds}s)",it:"Consenti({seconds}s)",da:"Tillad({seconds}s)",pl:"Zezwól({seconds}s)",ru:"Разрешить({seconds}s)",ar:"سماح({seconds}s)",no:"Tillat({seconds}s)","pt-BR":"Permitir({seconds}s)",th:"อนุญาต({seconds}s)",tr:"İzin ver({seconds}s)",uk:"Дозволити({seconds}s)"},"ui.permission.autoApprove.enable":{zh:"开启 {seconds}s 自动审批",en:"Auto-approve {seconds}s","zh-TW":"開啟 {seconds}s 自動審批",ko:"{seconds}s 자동 승인",ja:"{seconds}s 自動承認",de:"Auto-Genehmigung {seconds}s",es:"Auto-aprobar {seconds}s",fr:"Auto-approuver {seconds}s",it:"Auto-approva {seconds}s",da:"Auto-godkend {seconds}s",pl:"Auto-akceptacja {seconds}s",ru:"Авто-одобрение {seconds}s",ar:"موافقة تلقائية {seconds}s",no:"Auto-godkjenn {seconds}s","pt-BR":"Auto-aprovar {seconds}s",th:"อนุมัติอัตโนมัติ {seconds}s",tr:"Otomatik onayla {seconds}s",uk:"Авто-схвалення {seconds}s"},"ui.permission.autoApprove.active":{zh:"自动审批 {seconds}s",en:"Auto-approve {seconds}s","zh-TW":"自動審批 {seconds}s",ko:"자동 승인 {seconds}s",ja:"自動承認 {seconds}s",de:"Auto-Genehmigung {seconds}s",es:"Auto-aprobar {seconds}s",fr:"Auto-approuver {seconds}s",it:"Auto-approva {seconds}s",da:"Auto-godkend {seconds}s",pl:"Auto-akceptacja {seconds}s",ru:"Авто-одобрение {seconds}s",ar:"موافقة تلقائية {seconds}s",no:"Auto-godkjenn {seconds}s","pt-BR":"Auto-aprovar {seconds}s",th:"อนุมัติอัตโนมัติ {seconds}s",tr:"Otomatik onayla {seconds}s",uk:"Авто-схвалення {seconds}s"},"ui.permission.autoApprove.disable":{zh:"关闭自动审批",en:"Disable auto-approve","zh-TW":"關閉自動審批",ko:"자동 승인 끄기",ja:"自動承認を無効化",de:"Auto-Genehmigung deaktivieren",es:"Desactivar auto-aprobar",fr:"Désactiver auto-approuver",it:"Disattiva auto-approva",da:"Deaktiver auto-godkend",pl:"Wyłącz auto-akceptację",ru:"Выключить авто-одобрение",ar:"إيقاف الموافقة التلقائية",no:"Deaktiver auto-godkjenn","pt-BR":"Desativar auto-aprovar",th:"ปิดอนุมัติอัตโนมัติ",tr:"Otomatik onayı kapat",uk:"Вимкнути авто-схвалення"},"ui.subAgentApproval":{zh:"SubAgent",en:"SubAgent","zh-TW":"SubAgent",ko:"SubAgent",ja:"SubAgent",de:"SubAgent",es:"SubAgent",fr:"SubAgent",it:"SubAgent",da:"SubAgent",pl:"SubAgent",ru:"SubAgent",ar:"SubAgent",no:"SubAgent","pt-BR":"SubAgent",th:"SubAgent",tr:"SubAgent",uk:"SubAgent"},"ui.permission.queued":{zh:"+{n} 排队中",en:"+{n} queued","zh-TW":"+{n} 排隊中",ko:"+{n} 대기 중",ja:"+{n} キュー中",de:"+{n} in Warteschlange",es:"+{n} en cola",fr:"+{n} en attente",it:"+{n} in coda",da:"+{n} i kø",pl:"+{n} w kolejce",ru:"+{n} в очереди",ar:"+{n} في الانتظار",no:"+{n} i kø","pt-BR":"+{n} na fila",th:"+{n} รอคิว",tr:"+{n} sırada",uk:"+{n} в черзі"},"ui.teammate.idle_notification":{zh:"{name} 已空闲",en:"{name} is idle","zh-TW":"{name} 已閒置",ko:"{name} 유휴 상태",ja:"{name} がアイドル",de:"{name} ist untätig",es:"{name} está inactivo",fr:"{name} est inactif",it:"{name} è inattivo",da:"{name} er inaktiv",pl:"{name} jest bezczynny",ru:"{name} простаивает",ar:"{name} خامل",no:"{name} er inaktiv","pt-BR":"{name} está ocioso",th:"{name} ว่าง",tr:"{name} boşta",uk:"{name} очікує"},"ui.teammate.shutdown_request":{zh:"请求关闭 {name}",en:"Requesting shutdown of {name}","zh-TW":"請求關閉 {name}",ko:"{name} 종료 요청",ja:"{name} のシャットダウンを要求",de:"Herunterfahren von {name} angefordert",es:"Solicitando cierre de {name}",fr:"Demande d'arrêt de {name}",it:"Richiesta chiusura di {name}",da:"Anmoder nedlukning af {name}",pl:"Żądanie zamknięcia {name}",ru:"Запрос завершения {name}",ar:"طلب إيقاف {name}",no:"Ber om avslutning av {name}","pt-BR":"Solicitando encerramento de {name}",th:"ขอปิด {name}",tr:"{name} kapatılıyor",uk:"Запит завершення {name}"},"ui.teammate.shutdown_response":{zh:"{name} 同意关闭",en:"{name} accepted shutdown","zh-TW":"{name} 同意關閉",ko:"{name} 종료 수락",ja:"{name} がシャットダウンを承認",de:"{name} akzeptiert Herunterfahren",es:"{name} aceptó el cierre",fr:"{name} a accepté l'arrêt",it:"{name} ha accettato la chiusura",da:"{name} accepterede nedlukning",pl:"{name} zaakceptował zamknięcie",ru:"{name} принял завершение",ar:"{name} وافق على الإيقاف",no:"{name} godtok avslutning","pt-BR":"{name} aceitou o encerramento",th:"{name} ยอมรับการปิด",tr:"{name} kapatmayı kabul etti",uk:"{name} прийняв завершення"},"ui.teammate.shutdown_approved":{zh:"{name} 已关闭",en:"{name} shut down","zh-TW":"{name} 已關閉",ko:"{name} 종료됨",ja:"{name} がシャットダウン",de:"{name} heruntergefahren",es:"{name} cerrado",fr:"{name} arrêté",it:"{name} chiuso",da:"{name} lukket ned",pl:"{name} zamknięty",ru:"{name} завершён",ar:"{name} أُغلق",no:"{name} avsluttet","pt-BR":"{name} encerrado",th:"{name} ปิดแล้ว",tr:"{name} kapatıldı",uk:"{name} завершено"},"ui.teammate.teammate_terminated":{zh:"{name} 已终止",en:"{name} terminated","zh-TW":"{name} 已終止",ko:"{name} 종료됨",ja:"{name} が終了",de:"{name} beendet",es:"{name} terminado",fr:"{name} terminé",it:"{name} terminato",da:"{name} afsluttet",pl:"{name} zakończony",ru:"{name} завершён",ar:"{name} أُنهي",no:"{name} avsluttet","pt-BR":"{name} finalizado",th:"{name} สิ้นสุด",tr:"{name} sonlandırıldı",uk:"{name} завершено"},"ui.permission.autoApprove.off":{zh:"关闭",en:"Off","zh-TW":"關閉",ko:"끄기",ja:"オフ",de:"Aus",es:"Desactivar",fr:"Désactiver",it:"Disattiva",da:"Sluk",pl:"Wyłącz",ru:"Выкл",ar:"إيقاف",no:"Av","pt-BR":"Desativar",th:"ปิด",tr:"Kapat",uk:"Вимк"},"ui.permission.autoApprove.setting":{zh:"自动审批",en:"Auto-approve","zh-TW":"自動審批",ko:"자동 승인",ja:"自動承認",de:"Auto-Genehmigung",es:"Auto-aprobar",fr:"Auto-approuver",it:"Auto-approva",da:"Auto-godkend",pl:"Auto-akceptacja",ru:"Авто-одобрение",ar:"موافقة تلقائية",no:"Auto-godkjenn","pt-BR":"Auto-aprovar",th:"อนุมัติอัตโนมัติ",tr:"Otomatik onayla",uk:"Авто-схвалення"},"ui.dangerApproval":{zh:"操作待审批",en:"Approval Required","zh-TW":"操作待審批",ko:"승인 필요",ja:"承認が必要",de:"Genehmigung erforderlich",es:"Aprobación requerida",fr:"Approbation requise",it:"Approvazione richiesta",da:"Godkendelse påkrævet",pl:"Wymagana akceptacja",ru:"Требуется одобрение",ar:"موافقة مطلوبة",no:"Godkjenning påkrevd","pt-BR":"Aprovação necessária",th:"ต้องการการอนุมัติ",tr:"Onay gerekli",uk:"Потрібне схвалення"},"ui.dangerDenied":{zh:"已拒绝",en:"Denied","zh-TW":"已拒絕",ko:"거부됨",ja:"拒否",de:"Verweigert",es:"Denegado",fr:"Refusé",it:"Negato",da:"Afvist",pl:"Odmowa",ru:"Отказано",ar:"مرفوض",no:"Avslått","pt-BR":"Negado",th:"ถูกปฏิเสธ",tr:"Reddedildi",uk:"Відмовлено"},"ui.context.systemPrompt":{zh:"系统提示词",en:"System Prompt","zh-TW":"系統提示詞",ko:"시스템 프롬프트",ja:"システムプロンプト",de:"System-Prompt",es:"Prompt del sistema",fr:"Prompt système",it:"Prompt di sistema",da:"System-prompt",pl:"Prompt systemowy",ru:"Системный промпт",ar:"موجه النظام",no:"System-prompt","pt-BR":"Prompt do sistema",th:"System Prompt",tr:"Sistem Prompt'u",uk:"Системний промпт"},"ui.context.messages":{zh:"消息",en:"Messages","zh-TW":"訊息",ko:"메시지",ja:"メッセージ",de:"Nachrichten",es:"Mensajes",fr:"Messages",it:"Messaggi",da:"Beskeder",pl:"Wiadomości",ru:"Сообщения",ar:"الرسائل",no:"Meldinger","pt-BR":"Mensagens",th:"ข้อความ",tr:"Mesajlar",uk:"Повідомлення"},"ui.context.tools":{zh:"工具",en:"Tools","zh-TW":"工具",ko:"도구",ja:"ツール",de:"Tools",es:"Herramientas",fr:"Outils",it:"Strumenti",da:"Værktøjer",pl:"Narzędzia",ru:"Инструменты",ar:"الأدوات",no:"Verktøy","pt-BR":"Ferramentas",th:"เครื่องมือ",tr:"Araçlar",uk:"Інструменти"},"ui.context.noData":{zh:"暂无 Context 数据",en:"No context data","zh-TW":"暫無 Context 資料",ko:"컨텍스트 데이터 없음",ja:"コンテキストデータなし",de:"Keine Kontextdaten",es:"Sin datos de contexto",fr:"Aucune donnée de contexte",it:"Nessun dato di contesto",da:"Ingen kontekstdata",pl:"Brak danych kontekstu",ru:"Нет данных контекста",ar:"لا توجد بيانات سياق",no:"Ingen kontekstdata","pt-BR":"Sem dados de contexto",th:"ไม่มีข้อมูล Context",tr:"Bağlam verisi yok",uk:"Немає даних контексту"},"ui.context.noFields":{zh:"Request body 中未找到 messages / system / tools",en:"No messages / system / tools found in request body","zh-TW":"Request body 中未找到 messages / system / tools",ko:"요청 본문에서 messages / system / tools를 찾을 수 없음",ja:"リクエストボディに messages / system / tools が見つかりません",de:"Keine messages / system / tools im Request-Body gefunden",es:"No se encontraron messages / system / tools en el cuerpo de la solicitud",fr:"Aucun messages / system / tools dans le corps de la requête",it:"Nessun messages / system / tools trovato nel corpo della richiesta",da:"Ingen messages / system / tools fundet i request body",pl:"Nie znaleziono messages / system / tools w treści żądania",ru:"В теле запроса не найдено messages / system / tools",ar:"لم يتم العثور على messages / system / tools في جسم الطلب",no:"Ingen messages / system / tools funnet i request body","pt-BR":"Nenhum messages / system / tools encontrado no corpo da requisição",th:"ไม่พบ messages / system / tools ใน request body",tr:"İstek gövdesinde messages / system / tools bulunamadı",uk:"У тілі запиту не знайдено messages / system / tools"},"ui.context.selectPrompt":{zh:"请在左侧选择一个要查看的内容",en:"Select an item on the left to view","zh-TW":"請在左側選擇一個要查看的內容",ko:"왼쪽에서 항목을 선택하세요",ja:"左側から項目を選択してください",de:"Wählen Sie links einen Eintrag aus",es:"Seleccione un elemento a la izquierda",fr:"Sélectionnez un élément à gauche",it:"Seleziona un elemento a sinistra",da:"Vælg et element til venstre",pl:"Wybierz element po lewej stronie",ru:"Выберите элемент слева",ar:"اختر عنصرًا على اليسار",no:"Velg et element til venstre","pt-BR":"Selecione um item à esquerda",th:"เลือกรายการทางซ้าย",tr:"Soldan bir öğe seçin",uk:"Виберіть елемент ліворуч"},"ui.context.history":{zh:"历史",en:"History","zh-TW":"歷史",ko:"기록",ja:"履歴",de:"Verlauf",es:"Historial",fr:"Historique",it:"Cronologia",da:"Historik",pl:"Historia",ru:"История",ar:"التاريخ",no:"Historikk","pt-BR":"Histórico",th:"ประวัติ",tr:"Geçmiş",uk:"Історія"},"ui.context.currentTurn":{zh:"当前轮次",en:"Current Turn","zh-TW":"當前輪次",ko:"현재 턴",ja:"現在のターン",de:"Aktueller Durchgang",es:"Turno actual",fr:"Tour actuel",it:"Turno corrente",da:"Aktuel tur",pl:"Bieżąca tura",ru:"Текущий ход",ar:"الدور الحالي",no:"Gjeldende tur","pt-BR":"Turno atual",th:"รอบปัจจุบัน",tr:"Mevcut tur",uk:"Поточний хід"},"ui.context.historyTurnNoTime":{zh:"历史轮次 {n}",en:"Turn {n}","zh-TW":"歷史輪次 {n}",ko:"턴 {n}",ja:"ターン {n}",de:"Runde {n}",es:"Turno {n}",fr:"Tour {n}",it:"Turno {n}",da:"Tur {n}",pl:"Tura {n}",ru:"Ход {n}",ar:"الدور {n}",no:"Tur {n}","pt-BR":"Turno {n}",th:"รอบ {n}",tr:"Tur {n}",uk:"Хід {n}"},"ui.workspaces.title":{zh:"工作区",en:"Workspaces","zh-TW":"工作區",ko:"워크스페이스",ja:"ワークスペース",de:"Arbeitsbereiche",es:"Espacios de trabajo",fr:"Espaces de travail",it:"Aree di lavoro",da:"Arbejdsområder",pl:"Obszary robocze",ru:"Рабочие пространства",ar:"مساحات العمل",no:"Arbeidsområder","pt-BR":"Áreas de trabalho",th:"เวิร์กสเปซ",tr:"Çalışma alanları",uk:"Робочі простори"},"ui.workspaces.subtitle":{zh:"选择一个项目目录启动 Claude 会话",en:"Select a project directory to start a Claude session","zh-TW":"選擇一個專案目錄啟動 Claude 會話",ko:"Claude 세션을 시작할 프로젝트 디렉토리를 선택하세요",ja:"Claude セッションを開始するプロジェクトディレクトリを選択",de:"Wählen Sie ein Projektverzeichnis, um eine Claude-Sitzung zu starten",es:"Seleccione un directorio de proyecto para iniciar una sesión de Claude",fr:"Sélectionnez un répertoire de projet pour démarrer une session Claude",it:"Seleziona una directory di progetto per avviare una sessione Claude",da:"Vælg en projektmappe for at starte en Claude-session",pl:"Wybierz katalog projektu, aby rozpocząć sesję Claude",ru:"Выберите каталог проекта для запуска сеанса Claude",ar:"اختر مجلد مشروع لبدء جلسة Claude",no:"Velg en prosjektmappe for å starte en Claude-økt","pt-BR":"Selecione um diretório de projeto para iniciar uma sessão do Claude",th:"เลือกไดเรกทอรีโปรเจกต์เพื่อเริ่มเซสชัน Claude",tr:"Claude oturumu başlatmak için bir proje dizini seçin",uk:"Виберіть каталог проєкту для запуску сеансу Claude"},"ui.workspaces.normalLaunch":{zh:"常规启动",en:"Launch","zh-TW":"常規啟動",ko:"일반 시작",ja:"通常起動",de:"Starten",es:"Iniciar",fr:"Lancer",it:"Avvia",da:"Start",pl:"Uruchom",ru:"Запуск",ar:"تشغيل",no:"Start","pt-BR":"Iniciar",th:"เริ่มต้น",tr:"Başlat",uk:"Запуск"},"ui.workspaces.skipPermLaunch":{zh:"免审启动",en:"Skip Approval","zh-TW":"免審啟動",ko:"승인 건너뛰기",ja:"承認スキップ",de:"Ohne Genehmigung",es:"Sin aprobación",fr:"Sans approbation",it:"Senza approvazione",da:"Spring godkendelse over",pl:"Pomiń zatwierdzenie",ru:"Без одобрения",ar:"تخطي الموافقة",no:"Hopp over godkjenning","pt-BR":"Sem aprovação",th:"ข้ามการอนุมัติ",tr:"Onay atla",uk:"Без схвалення"},"ui.workspaces.empty":{zh:"暂无工作区,添加一个项目目录开始使用",en:"No workspaces yet. Add a project directory to get started.","zh-TW":"暫無工作區,新增一個專案目錄開始使用",ko:"아직 워크스페이스가 없습니다. 프로젝트 디렉토리를 추가하세요.",ja:"ワークスペースはまだありません。プロジェクトディレクトリを追加してください。",de:"Noch keine Arbeitsbereiche. Fügen Sie ein Projektverzeichnis hinzu.",es:"Aún no hay espacios de trabajo. Añada un directorio de proyecto.",fr:"Aucun espace de travail. Ajoutez un répertoire de projet.",it:"Nessuna area di lavoro. Aggiungi una directory di progetto.",da:"Ingen arbejdsområder endnu. Tilføj en projektmappe.",pl:"Brak obszarów roboczych. Dodaj katalog projektu.",ru:"Пока нет рабочих пространств. Добавьте каталог проекта.",ar:"لا توجد مساحات عمل بعد. أضف مجلد مشروع للبدء.",no:"Ingen arbeidsområder ennå. Legg til en prosjektmappe.","pt-BR":"Nenhuma área de trabalho. Adicione um diretório de projeto.",th:"ยังไม่มีเวิร์กสเปซ เพิ่มไดเรกทอรีโปรเจกต์เพื่อเริ่มใช้งาน",tr:"Henüz çalışma alanı yok. Başlamak için bir proje dizini ekleyin.",uk:"Робочих просторів ще немає. Додайте каталог проєкту."},"ui.workspaces.pathPlaceholder":{zh:"输入项目目录路径",en:"Enter project directory path","zh-TW":"輸入專案目錄路徑",ko:"프로젝트 디렉토리 경로를 입력하세요",ja:"プロジェクトディレクトリのパスを入力",de:"Projektverzeichnispfad eingeben",es:"Ingrese la ruta del directorio del proyecto",fr:"Entrez le chemin du répertoire du projet",it:"Inserisci il percorso della directory del progetto",da:"Indtast projektmappens sti",pl:"Wprowadź ścieżkę katalogu projektu",ru:"Введите путь к каталогу проекта",ar:"أدخل مسار مجلد المشروع",no:"Skriv inn prosjektmappens sti","pt-BR":"Digite o caminho do diretório do projeto",th:"ป้อนเส้นทางไดเรกทอรีโปรเจกต์",tr:"Proje dizini yolunu girin",uk:"Введіть шлях до каталогу проєкту"},"ui.workspaces.confirmRemove":{zh:"确定从列表中移除该工作区?",en:"Remove this workspace from the list?","zh-TW":"確定從列表中移除該工作區?",ko:"이 워크스페이스를 목록에서 제거하시겠습니까?",ja:"このワークスペースをリストから削除しますか?",de:"Diesen Arbeitsbereich aus der Liste entfernen?",es:"¿Eliminar este espacio de trabajo de la lista?",fr:"Supprimer cet espace de travail de la liste ?",it:"Rimuovere quest'area di lavoro dalla lista?",da:"Fjern dette arbejdsområde fra listen?",pl:"Usunąć ten obszar roboczy z listy?",ru:"Удалить это рабочее пространство из списка?",ar:"إزالة مساحة العمل هذه من القائمة؟",no:"Fjerne dette arbeidsområdet fra listen?","pt-BR":"Remover esta área de trabalho da lista?",th:"ลบเวิร์กสเปซนี้ออกจากรายการ?",tr:"Bu çalışma alanı listeden kaldırılsın mı?",uk:"Видалити цей робочий простір зі списку?"},"ui.workspaces.justNow":{zh:"刚刚",en:"just now","zh-TW":"剛剛",ko:"방금",ja:"たった今",de:"gerade eben",es:"justo ahora",fr:"à l'instant",it:"proprio ora",da:"lige nu",pl:"właśnie",ru:"только что",ar:"الآن",no:"akkurat nå","pt-BR":"agora mesmo",th:"เมื่อสักครู่",tr:"az önce",uk:"щойно"},"ui.workspaces.browse":{zh:"浏览目录",en:"Browse Directory","zh-TW":"瀏覽目錄",ko:"디렉토리 탐색",ja:"ディレクトリを参照",de:"Verzeichnis durchsuchen",es:"Explorar directorio",fr:"Parcourir le répertoire",it:"Sfoglia directory",da:"Gennemse mappe",pl:"Przeglądaj katalog",ru:"Обзор каталога",ar:"تصفح المجلد",no:"Bla gjennom mappe","pt-BR":"Explorar diretório",th:"เรียกดูไดเรกทอรี",tr:"Dizine göz at",uk:"Переглянути каталог"},"ui.workspaces.selectDir":{zh:"选择项目目录",en:"Select Project Directory","zh-TW":"選擇專案目錄",ko:"프로젝트 디렉토리 선택",ja:"プロジェクトディレクトリを選択",de:"Projektverzeichnis auswählen",es:"Seleccionar directorio del proyecto",fr:"Sélectionner le répertoire du projet",it:"Seleziona directory del progetto",da:"Vælg projektmappe",pl:"Wybierz katalog projektu",ru:"Выбрать каталог проекта",ar:"اختر مجلد المشروع",no:"Velg prosjektmappe","pt-BR":"Selecionar diretório do projeto",th:"เลือกไดเรกทอรีโปรเจกต์",tr:"Proje dizinini seçin",uk:"Вибрати каталог проєкту"},"ui.workspaces.select":{zh:"选择",en:"Select","zh-TW":"選擇",ko:"선택",ja:"選択",de:"Auswählen",es:"Seleccionar",fr:"Sélectionner",it:"Seleziona",da:"Vælg",pl:"Wybierz",ru:"Выбрать",ar:"اختيار",no:"Velg","pt-BR":"Selecionar",th:"เลือก",tr:"Seç",uk:"Вибрати"},"ui.workspaces.selectCurrent":{zh:"选择当前目录",en:"Select Current Directory","zh-TW":"選擇當前目錄",ko:"현재 디렉토리 선택",ja:"現在のディレクトリを選択",de:"Aktuelles Verzeichnis auswählen",es:"Seleccionar directorio actual",fr:"Sélectionner le répertoire actuel",it:"Seleziona directory corrente",da:"Vælg aktuel mappe",pl:"Wybierz bieżący katalog",ru:"Выбрать текущий каталог",ar:"اختر المجلد الحالي",no:"Velg gjeldende mappe","pt-BR":"Selecionar diretório atual",th:"เลือกไดเรกทอรีปัจจุบัน",tr:"Mevcut dizini seç",uk:"Вибрати поточний каталог"},"ui.workspaces.goTo":{zh:"前往",en:"Go","zh-TW":"前往",ko:"이동",ja:"移動",de:"Los",es:"Ir",fr:"Aller",it:"Vai",da:"Gå",pl:"Idź",ru:"Перейти",ar:"اذهب",no:"Gå","pt-BR":"Ir",th:"ไป",tr:"Git",uk:"Перейти"},"ui.loadMoreHistory":{zh:"加载更早的消息(隐藏 {count} 条)",en:"Load earlier messages ({count} hidden)","zh-TW":"載入更早的訊息(隱藏 {count} 條)",ko:"이전 메시지 로드 ({count}개 숨겨짐)",ja:"以前のメッセージを読み込む({count}件非表示)",de:"Ältere Nachrichten laden ({count} ausgeblendet)",es:"Cargar mensajes anteriores ({count} ocultos)",fr:"Charger les messages précédents ({count} masqués)",it:"Carica messaggi precedenti ({count} nascosti)",da:"Indlæs ældre beskeder ({count} skjulte)",pl:"Załaduj wcześniejsze wiadomości ({count} ukrytych)",ru:"Загрузить ранние сообщения ({count} скрыто)",ar:"تحميل رسائل أقدم ({count} مخفية)",no:"Last inn eldre meldinger ({count} skjulte)","pt-BR":"Carregar mensagens anteriores ({count} ocultas)",th:"โหลดข้อความเก่า ({count} ถูกซ่อน)",tr:"Eski mesajları yükle ({count} gizli)",uk:"Завантажити старіші повідомлення ({count} приховано)"},"ui.workspaces.emptyDir":{zh:"此目录下没有子目录",en:"No subdirectories in this directory","zh-TW":"此目錄下沒有子目錄",ko:"이 디렉토리에 하위 디렉토리가 없습니다",ja:"このディレクトリにはサブディレクトリがありません",de:"Keine Unterverzeichnisse in diesem Verzeichnis",es:"No hay subdirectorios en este directorio",fr:"Aucun sous-répertoire dans ce répertoire",it:"Nessuna sottodirectory in questa directory",da:"Ingen undermapper i denne mappe",pl:"Brak podkatalogów w tym katalogu",ru:"В этом каталоге нет подкаталогов",ar:"لا توجد أدلة فرعية في هذا المجلد",no:"Ingen undermapper i denne mappen","pt-BR":"Nenhum subdiretório neste diretório",th:"ไม่มีไดเรกทอรีย่อยในไดเรกทอรีนี้",tr:"Bu dizinde alt dizin yok",uk:"У цьому каталозі немає підкаталогів"},"ui.processManagement":{zh:"CCV进程管理",en:"CCV Process Manager","zh-TW":"CCV程序管理",ko:"CCV 프로세스 관리",ja:"CCVプロセス管理",de:"CCV-Prozessverwaltung",es:"Gestión de procesos CCV",fr:"Gestion des processus CCV",it:"Gestione processi CCV",da:"CCV-processtyring",pl:"Zarządzanie procesami CCV",ru:"Управление процессами CCV",ar:"إدارة عمليات CCV",no:"CCV-prosessbehandling","pt-BR":"Gerenciamento de processos CCV",th:"จัดการโปรเซส CCV",tr:"CCV Süreç Yönetimi",uk:"Керування процесами CCV"},"ui.processManagement.command":{zh:"命令",en:"Command","zh-TW":"命令",ko:"명령",ja:"コマンド",de:"Befehl",es:"Comando",fr:"Commande",it:"Comando",da:"Kommando",pl:"Polecenie",ru:"Команда",ar:"أمر",no:"Kommando","pt-BR":"Comando",th:"คำสั่ง",tr:"Komut",uk:"Команда"},"ui.processManagement.port":{zh:"端口",en:"Port","zh-TW":"端口",ko:"포트",ja:"ポート",de:"Port",es:"Puerto",fr:"Port",it:"Porta",da:"Port",pl:"Port",ru:"Порт",ar:"منفذ",no:"Port","pt-BR":"Porta",th:"พอร์ต",tr:"Port",uk:"Порт"},"ui.processManagement.startTime":{zh:"启动时间",en:"Start Time","zh-TW":"啟動時間",ko:"시작 시간",ja:"開始時刻",de:"Startzeit",es:"Hora de inicio",fr:"Heure de démarrage",it:"Ora di avvio",da:"Starttid",pl:"Czas uruchomienia",ru:"Время запуска",ar:"وقت البدء",no:"Starttid","pt-BR":"Hora de início",th:"เวลาเริ่มต้น",tr:"Başlangıç zamanı",uk:"Час запуску"},"ui.processManagement.action":{zh:"操作",en:"Action","zh-TW":"操作",ko:"작업",ja:"操作",de:"Aktion",es:"Acción",fr:"Action",it:"Azione",da:"Handling",pl:"Akcja",ru:"Действие",ar:"إجراء",no:"Handling","pt-BR":"Ação",th:"การดำเนินการ",tr:"İşlem",uk:"Дія"},"ui.processManagement.kill":{zh:"关闭",en:"Stop","zh-TW":"關閉",ko:"서비스 중지",ja:"サービス停止",de:"Dienst beenden",es:"Detener servicio",fr:"Arrêter le service",it:"Arresta servizio",da:"Stop tjeneste",pl:"Zatrzymaj usługę",ru:"Остановить сервис",ar:"إيقاف الخدمة",no:"Stopp tjeneste","pt-BR":"Parar serviço",th:"หยุดบริการ",tr:"Servisi durdur",uk:"Зупинити сервіс"},"ui.processManagement.killConfirm":{zh:"确定要关闭此CCV进程吗?",en:"Are you sure you want to stop this CCV process?","zh-TW":"確定要關閉此CCV程序嗎?",ko:"이 CCV 프로세스를 중지하시겠습니까?",ja:"このCCVプロセスを停止しますか?",de:"Möchten Sie diesen CCV-Prozess wirklich beenden?",es:"¿Seguro que desea detener este proceso CCV?",fr:"Voulez-vous vraiment arrêter ce processus CCV ?",it:"Sei sicuro di voler arrestare questo processo CCV?",da:"Er du sikker på, at du vil stoppe denne CCV-proces?",pl:"Czy na pewno chcesz zatrzymać ten proces CCV?",ru:"Вы уверены, что хотите остановить этот процесс CCV?",ar:"هل أنت متأكد من إيقاف عملية CCV هذه؟",no:"Er du sikker på at du vil stoppe denne CCV-prosessen?","pt-BR":"Tem certeza de que deseja parar este processo CCV?",th:"คุณแน่ใจหรือไม่ว่าต้องการหยุดโปรเซส CCV นี้?",tr:"Bu CCV sürecini durdurmak istediğinizden emin misiniz?",uk:"Ви впевнені, що хочете зупинити цей процес CCV?"},"ui.processManagement.killed":{zh:"进程已关闭",en:"Process stopped","zh-TW":"程序已關閉",ko:"프로세스가 중지되었습니다",ja:"プロセスが停止しました",de:"Prozess beendet",es:"Proceso detenido",fr:"Processus arrêté",it:"Processo arrestato",da:"Proces stoppet",pl:"Proces zatrzymany",ru:"Процесс остановлен",ar:"تم إيقاف العملية",no:"Prosess stoppet","pt-BR":"Processo parado",th:"หยุดโปรเซสแล้ว",tr:"Süreç durduruldu",uk:"Процес зупинено"},"ui.processManagement.killFailed":{zh:"关闭失败",en:"Failed to stop","zh-TW":"關閉失敗",ko:"중지 실패",ja:"停止に失敗しました",de:"Beenden fehlgeschlagen",es:"Error al detener",fr:"Échec de l'arrêt",it:"Arresto fallito",da:"Stop mislykkedes",pl:"Nie udało się zatrzymać",ru:"Не удалось остановить",ar:"فشل الإيقاف",no:"Stopp mislyktes","pt-BR":"Falha ao parar",th:"หยุดไม่สำเร็จ",tr:"Durdurma başarısız",uk:"Не вдалося зупинити"},"ui.processManagement.refresh":{zh:"刷新",en:"Refresh","zh-TW":"重新整理",ko:"새로고침",ja:"更新",de:"Aktualisieren",es:"Actualizar",fr:"Actualiser",it:"Aggiorna",da:"Opdater",pl:"Odśwież",ru:"Обновить",ar:"تحديث",no:"Oppdater","pt-BR":"Atualizar",th:"รีเฟรช",tr:"Yenile",uk:"Оновити"},"ui.processManagement.current":{zh:"当前",en:"Current","zh-TW":"目前",ko:"현재",ja:"現在",de:"Aktuell",es:"Actual",fr:"Actuel",it:"Corrente",da:"Aktuel",pl:"Bieżący",ru:"Текущий",ar:"الحالي",no:"Gjeldende","pt-BR":"Atual",th:"ปัจจุบัน",tr:"Mevcut",uk:"Поточний"},"ui.terminal.ctrlCBlocked":{zh:"请在启动 ccv 的终端中按 Ctrl+C 退出",en:"Please press Ctrl+C in the terminal where ccv was launched to exit","zh-TW":"請在啟動 ccv 的終端中按 Ctrl+C 退出",ko:"ccv를 실행한 터미널에서 Ctrl+C를 눌러 종료하세요",ja:"ccv を起動したターミナルで Ctrl+C を押して終了してください",de:"Bitte drücken Sie Ctrl+C im Terminal, in dem ccv gestartet wurde",es:"Presione Ctrl+C en la terminal donde se inició ccv para salir",fr:"Appuyez sur Ctrl+C dans le terminal où ccv a été lancé pour quitter",it:"Premere Ctrl+C nel terminale in cui è stato avviato ccv per uscire",da:"Tryk Ctrl+C i terminalen, hvor ccv blev startet, for at afslutte",pl:"Naciśnij Ctrl+C w terminalu, w którym uruchomiono ccv, aby zakończyć",ru:"Нажмите Ctrl+C в терминале, где был запущен ccv, чтобы выйти",ar:"اضغط Ctrl+C في الطرفية التي تم تشغيل ccv فيها للخروج",no:"Trykk Ctrl+C i terminalen der ccv ble startet for å avslutte","pt-BR":"Pressione Ctrl+C no terminal onde o ccv foi iniciado para sair",th:"กด Ctrl+C ในเทอร์มินัลที่เปิด ccv เพื่อออก",tr:"Çıkmak için ccv'nin başlatıldığı terminalde Ctrl+C'ye basın",uk:"Натисніть Ctrl+C у терміналі, де був запущений ccv, щоб вийти"},"ui.terminal.agentTeam":{zh:"Agent Team",en:"Agent Team","zh-TW":"Agent Team",ko:"Agent Team",ja:"Agent Team",de:"Agent Team",es:"Agent Team",fr:"Agent Team",it:"Agent Team",da:"Agent Team",pl:"Agent Team",ru:"Agent Team",ar:"Agent Team",no:"Agent Team","pt-BR":"Agent Team",th:"Agent Team",tr:"Agent Team",uk:"Agent Team"},"ui.terminal.agentTeamDisabledTip":{zh:'需要在 {configDir}/settings.json 的 env 属性中增加 "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" 的设置',en:'Requires "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" in {configDir}/settings.json env',"zh-TW":'需要在 {configDir}/settings.json 的 env 屬性中增加 "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" 的設定',ko:'{configDir}/settings.json의 env에 "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" 설정이 필요합니다',ja:'{configDir}/settings.json の env に "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" の設定が必要です',de:'Erfordert "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" in {configDir}/settings.json env',es:'Requiere "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" en env de {configDir}/settings.json',fr:'Nécessite "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" dans env de {configDir}/settings.json',it:'Richiede "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" in env di {configDir}/settings.json',da:'Kræver "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" i {configDir}/settings.json env',pl:'Wymaga "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" w env {configDir}/settings.json',ru:'Требуется "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" в env {configDir}/settings.json',ar:'يتطلب "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" في env بملف {configDir}/settings.json',no:'Krever "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" i {configDir}/settings.json env',"pt-BR":'Requer "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" em env de {configDir}/settings.json',th:'ต้องตั้งค่า "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" ใน env ของ {configDir}/settings.json',tr:'{configDir}/settings.json env içinde "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" gereklidir',uk:'Потрібно "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" в env {configDir}/settings.json'},"ui.terminal.agentTeamEnable":{zh:"确认开启",en:"Enable Now","zh-TW":"確認開啟",ko:"활성화",ja:"有効にする",de:"Jetzt aktivieren",es:"Activar ahora",fr:"Activer maintenant",it:"Attiva ora",da:"Aktivér nu",pl:"Włącz teraz",ru:"Включить сейчас",ar:"تفعيل الآن",no:"Aktiver nå","pt-BR":"Ativar agora",th:"เปิดใช้งานเดี๋ยวนี้",tr:"Şimdi etkinleştir",uk:"Увімкнути зараз"},"ui.terminal.agentTeamEnabling":{zh:"开启中...",en:"Enabling...","zh-TW":"開啟中...",ko:"활성화 중...",ja:"有効化中...",de:"Wird aktiviert...",es:"Activando...",fr:"Activation...",it:"Attivazione...",da:"Aktiverer...",pl:"Włączanie...",ru:"Включение...",ar:"جارٍ التفعيل...",no:"Aktiverer...","pt-BR":"Ativando...",th:"กำลังเปิดใช้งาน...",tr:"Etkinleştiriliyor...",uk:"Увімкнення..."},"ui.terminal.presetShortcuts":{zh:"预置快捷方式",en:"Preset Shortcuts","zh-TW":"預置快捷方式",ko:"프리셋 단축키",ja:"プリセットショートカット",de:"Voreingestellte Verknüpfungen",es:"Atajos preestablecidos",fr:"Raccourcis prédéfinis",it:"Scorciatoie preimpostate",da:"Forudindstillede genveje",pl:"Ustawione skróty",ru:"Предустановленные ярлыки",ar:"اختصارات مسبقة",no:"Forhåndsinnstilte snarveier","pt-BR":"Atalhos predefinidos",th:"ทางลัดที่ตั้งไว้ล่วงหน้า",tr:"Önceden ayarlanmış kısayollar",uk:"Попередньо встановлені ярлики"},"ui.terminal.customShortcuts":{zh:"+ 自定义快捷方式",en:"+ Custom Shortcuts","zh-TW":"+ 自訂快捷方式",ko:"+ 사용자 정의 바로가기",ja:"+ カスタムショートカット",de:"+ Benutzerdefinierte Verknüpfungen",es:"+ Atajos personalizados",fr:"+ Raccourcis personnalisés",it:"+ Scorciatoie personalizzate",da:"+ Brugerdefinerede genveje",pl:"+ Niestandardowe skróty",ru:"+ Пользовательские ярлыки",ar:"+ اختصارات مخصصة",no:"+ Egendefinerte snarveier","pt-BR":"+ Atalhos personalizados",th:"+ ทางลัดที่กำหนดเอง",tr:"+ Özel kısayollar",uk:"+ Користувацькі ярлики"},"ui.terminal.agentTeamCustom":{zh:"Agent Team 定制",en:"Agent Team Custom","zh-TW":"Agent Team 定制",ko:"Agent Team 커스텀",ja:"Agent Team カスタム",de:"Agent Team Anpassung",es:"Personalización de Agent Team",fr:"Personnalisation Agent Team",it:"Personalizzazione Agent Team",da:"Agent Team tilpasning",pl:"Dostosowanie Agent Team",ru:"Настройка Agent Team",ar:"تخصيص Agent Team",no:"Agent Team tilpasning","pt-BR":"Personalização Agent Team",th:"ปรับแต่ง Agent Team",tr:"Agent Team özelleştirme",uk:"Налаштування Agent Team"},"ui.preset.scoutRegiment.name":{zh:"调查兵团",en:"Scout Regiment","zh-TW":"調查兵團",ko:"조사병단",ja:"調査兵団",de:"Aufklärungstrupp",es:"Escuadrón de Exploración",fr:"Bataillon d'Exploration",it:"Corpo di Ricognizione",da:"Spejderregimentet",pl:"Oddział Zwiadowczy",ru:"Разведкорпус",ar:"فيلق الاستطلاع",no:"Speiderregimentet","pt-BR":"Tropa de Exploração",th:"กองทหารสำรวจ",tr:"Keşif Alayı",uk:"Розвідкорпус"},"ui.preset.scoutRegiment.desc":{zh:`ultrathink
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-BCXcdmGC.js","assets/index-Bde8piev.js","assets/vendor-codemirror-C7imH6Hd.js","assets/vendor-antd--lnyToqQ.js","assets/index-D7bDh8fW.css","assets/vendor-markdown-CO-jRjTB.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var za=Object.defineProperty;var Ia=(a,i,e)=>i in a?za(a,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[i]=e;var q=(a,i,e)=>Ia(a,typeof i!="symbol"?i+"":i,e);import{a as y,I as ot,b as lt,K as wt,W as Bn,d as Le,z as Pa,S as Pt,H as Mt,L as Ma,X as Ba,Y as Oa,t as Da,Z as Xs,e as Fa,s as ce,M as Pe,$ as Wa,T as On,u as vt,R as me,V as Qn,P as Ke,j as Dn,F as Ua,C as $a,a0 as ds,J as Bt,o as Ha,c as Ga,p as ct,D as Xn,g as Va,a1 as xn}from"./vendor-antd--lnyToqQ.js";import{j as t,E as Fn,k as qa,s as Ka,R as Za,a as Ja,b as Ya,c as Dt,m as us,y as ps,d as Qa,x as Ft,p as Xa,r as ei,g as ti,e as dt,f as ni,h as si,i as Wt,H as ai,t as re}from"./vendor-codemirror-C7imH6Hd.js";import{_ as es,b as oe,a as ye,i as yt}from"./index-Bde8piev.js";import{p as _n,g as ii}from"./vendor-markdown-CO-jRjTB.js";import{D as ri,o as oi,L as li,K as ci,x as di}from"./vendor-xterm-DWMOrwSy.js";import{r as ui}from"./vendor-highlight-D4ATuRwX.js";import{q as pi}from"./vendor-virtuoso-DDKvHLUv.js";var mi={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z"}}]},name:"arrow-up",theme:"outlined"},hi=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:mi}))},gi=y.forwardRef(hi),fi={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M740 161c-61.8 0-112 50.2-112 112 0 50.1 33.1 92.6 78.5 106.9v95.9L320 602.4V318.1c44.2-15 76-56.9 76-106.1 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-27.8l423.5-138.7a50.52 50.52 0 0034.9-48.2V378.2c42.9-15.8 73.6-57 73.6-105.2 0-61.8-50.2-112-112-112zm-504 51a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm96 600a48.01 48.01 0 01-96 0 48.01 48.01 0 0196 0zm408-491a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"branches",theme:"outlined"},_i=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:fi}))},bi=y.forwardRef(_i),ki={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"}}]},name:"camera",theme:"outlined"},vi=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:ki}))},yi=y.forwardRef(vi),xi={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"database",theme:"outlined"},Li=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:xi}))},wi=y.forwardRef(Li),Si={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0162.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1096 0 48 48 0 10-96 0z"}}]},name:"rocket",theme:"outlined"},Ti=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:Si}))},ms=y.forwardRef(Ti),Ci={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z"}}]},name:"save",theme:"outlined"},Ei=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:Ci}))},Ai=y.forwardRef(Ei),Ni={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"},Ri=function(i,e){return y.createElement(ot,lt({},i,{ref:e,icon:Ni}))},Ey=y.forwardRef(Ri);const ji={"ui.guide.title":{zh:"欢迎使用 CC Viewer",en:"Welcome to CC Viewer","zh-TW":"歡迎使用 CC Viewer",ko:"CC Viewer에 오신 것을 환영합니다",ja:"CC Viewer へようこそ",de:"Willkommen bei CC Viewer",es:"Bienvenido a CC Viewer",fr:"Bienvenue sur CC Viewer",it:"Benvenuto in CC Viewer",da:"Velkommen til CC Viewer",pl:"Witamy w CC Viewer",ru:"Добро пожаловать в CC Viewer",ar:"مرحبًا بك في CC Viewer",no:"Velkommen til CC Viewer","pt-BR":"Bem-vindo ao CC Viewer",th:"ยินดีต้อนรับสู่ CC Viewer",tr:"CC Viewer'a hoş geldiniz",uk:"Ласкаво просимо до CC Viewer"},"ui.guide.step1":{zh:"你可以先尝试在 Claude 中发起一轮对话。不知道说什么?可以问问:",en:"Try starting a conversation in Claude. Not sure what to say? Try asking:","zh-TW":"你可以先嘗試在 Claude 中發起一輪對話。不知道說什麼?可以問問:",ko:"Claude에서 대화를 시작해 보세요. 무슨 말을 해야 할지 모르겠다면:",ja:"まず Claude で会話を始めてみましょう。何を言えばいいかわからない場合:",de:"Starten Sie ein Gespräch in Claude. Nicht sicher, was Sie sagen sollen? Fragen Sie:",es:"Intenta iniciar una conversación en Claude. ¿No sabes qué decir? Prueba preguntar:",fr:"Essayez de lancer une conversation dans Claude. Vous ne savez pas quoi dire ? Demandez :",it:"Prova ad avviare una conversazione in Claude. Non sai cosa dire? Prova a chiedere:",da:"Prøv at starte en samtale i Claude. Ikke sikker på hvad du skal sige? Prøv at spørge:",pl:"Spróbuj rozpocząć rozmowę w Claude. Nie wiesz co powiedzieć? Zapytaj:",ru:"Попробуйте начать разговор в Claude. Не знаете, что сказать? Спросите:",ar:"جرّب بدء محادثة في Claude. لا تعرف ماذا تقول؟ جرّب أن تسأل:",no:"Prøv å starte en samtale i Claude. Usikker på hva du skal si? Prøv å spørre:","pt-BR":"Tente iniciar uma conversa no Claude. Não sabe o que dizer? Pergunte:",th:"ลองเริ่มบทสนทนาใน Claude ไม่รู้จะพูดอะไร? ลองถามว่า:",tr:"Claude'da bir sohbet başlatmayı deneyin. Ne söyleyeceğinizi bilmiyor musunuz? Şunu sorun:",uk:"Спробуйте розпочати розмову в Claude. Не знаєте, що сказати? Запитайте:"},"ui.guide.exampleQuestion":{zh:"看看我现在有多少 skill",en:"How many skills do I have right now?","zh-TW":"看看我現在有多少 skill",ko:"지금 내가 가진 skill이 몇 개인지 확인해줘",ja:"今いくつの skill があるか見てみて",de:"Wie viele Skills habe ich gerade?",es:"¿Cuántos skills tengo ahora mismo?",fr:"Combien de skills ai-je en ce moment ?",it:"Quanti skill ho in questo momento?",da:"Hvor mange skills har jeg lige nu?",pl:"Ile mam teraz skills?",ru:"Сколько у меня сейчас skills?",ar:"كم عدد الـ skills لديّ الآن؟",no:"Hvor mange skills har jeg nå?","pt-BR":"Quantos skills eu tenho agora?",th:"ตอนนี้ฉันมีกี่ skill?",tr:"Şu anda kaç tane skill'im var?",uk:"Скільки у мене зараз skills?"},"ui.guide.step2":{zh:"你能看到这段文字,说明服务已经启动。如果 Claude 有响应但这里没有变化,可以让 Claude 帮你排查:",en:"If you can see this, the service is running. If Claude responds but nothing shows here, ask Claude to help troubleshoot:","zh-TW":"你能看到這段文字,說明服務已經啟動。如果 Claude 有回應但這裡沒有變化,可以讓 Claude 幫你排查:",ko:"이 텍스트가 보이면 서비스가 실행 중입니다. Claude가 응답하지만 여기에 변화가 없다면 Claude에게 문제 해결을 요청하세요:",ja:"このテキストが見えていればサービスは起動しています。Claude が応答しているのにここに変化がない場合、Claude にトラブルシューティングを依頼してください:",de:"Wenn Sie diesen Text sehen, läuft der Dienst. Wenn Claude antwortet, aber hier nichts angezeigt wird, bitten Sie Claude um Hilfe:",es:"Si puedes ver este texto, el servicio está funcionando. Si Claude responde pero aquí no cambia nada, pide a Claude que te ayude:",fr:"Si vous voyez ce texte, le service fonctionne. Si Claude répond mais rien ne s'affiche ici, demandez à Claude de vous aider :",it:"Se puoi vedere questo testo, il servizio è in esecuzione. Se Claude risponde ma qui non cambia nulla, chiedi a Claude di aiutarti:",da:"Hvis du kan se denne tekst, kører tjenesten. Hvis Claude svarer, men intet vises her, bed Claude om hjælp:",pl:"Jeśli widzisz ten tekst, usługa działa. Jeśli Claude odpowiada, ale tutaj nic się nie zmienia, poproś Claude o pomoc:",ru:"Если вы видите этот текст, сервис запущен. Если Claude отвечает, но здесь ничего не меняется, попросите Claude помочь:",ar:"إذا كنت ترى هذا النص، فالخدمة تعمل. إذا كان Claude يستجيب ولكن لا شيء يظهر هنا، اطلب من Claude المساعدة:",no:"Hvis du kan se denne teksten, kjører tjenesten. Hvis Claude svarer men ingenting vises her, be Claude om hjelp:","pt-BR":"Se você pode ver este texto, o serviço está rodando. Se o Claude responde mas nada aparece aqui, peça ao Claude para ajudar:",th:"ถ้าคุณเห็นข้อความนี้ แสดงว่าบริการกำลังทำงาน หาก Claude ตอบกลับแต่ที่นี่ไม่มีการเปลี่ยนแปลง ให้ขอให้ Claude ช่วยแก้ไข:",tr:"Bu metni görebiliyorsanız, hizmet çalışıyor. Claude yanıt veriyor ama burada bir değişiklik olmuyorsa, Claude'dan yardım isteyin:",uk:"Якщо ви бачите цей текст, сервіс працює. Якщо Claude відповідає, але тут нічого не змінюється, попросіть Claude допомогти:"},"ui.guide.troubleshootCmd":{zh:"我已经启动了 cc-viewer,但是无法看到 cc-viewer 的请求,检查 npm 包中 cc-viewer 的实现,检查问题,并修复",en:"I've started cc-viewer but can't see any requests. Check the cc-viewer npm package implementation, find the issue, and fix it","zh-TW":"我已經啟動了 cc-viewer,但是無法看到 cc-viewer 的請求,檢查 npm 包中 cc-viewer 的實現,檢查問題,並修復",ko:"cc-viewer를 시작했지만 요청을 볼 수 없습니다. cc-viewer npm 패키지 구현을 확인하고 문제를 찾아 수정해 주세요",ja:"cc-viewer を起動しましたがリクエストが表示されません。cc-viewer npm パッケージの実装を確認し、問題を見つけて修正してください",de:"Ich habe cc-viewer gestartet, kann aber keine Anfragen sehen. Überprüfen Sie die cc-viewer npm-Paket-Implementierung, finden Sie das Problem und beheben Sie es",es:"He iniciado cc-viewer pero no puedo ver las solicitudes. Revisa la implementación del paquete npm cc-viewer, encuentra el problema y corrígelo",fr:"J'ai démarré cc-viewer mais je ne vois aucune requête. Vérifiez l'implémentation du package npm cc-viewer, trouvez le problème et corrigez-le",it:"Ho avviato cc-viewer ma non riesco a vedere le richieste. Controlla l'implementazione del pacchetto npm cc-viewer, trova il problema e risolvilo",da:"Jeg har startet cc-viewer, men kan ikke se nogen forespørgsler. Tjek cc-viewer npm-pakkens implementering, find problemet og ret det",pl:"Uruchomiłem cc-viewer, ale nie widzę żadnych żądań. Sprawdź implementację pakietu npm cc-viewer, znajdź problem i napraw go",ru:"Я запустил cc-viewer, но не вижу запросов. Проверьте реализацию npm-пакета cc-viewer, найдите проблему и исправьте её",ar:"لقد قمت بتشغيل cc-viewer ولكن لا أستطيع رؤية أي طلبات. تحقق من تنفيذ حزمة npm الخاصة بـ cc-viewer، وابحث عن المشكلة وأصلحها",no:"Jeg har startet cc-viewer, men kan ikke se noen forespørsler. Sjekk cc-viewer npm-pakkens implementering, finn problemet og fiks det","pt-BR":"Iniciei o cc-viewer mas não consigo ver as requisições. Verifique a implementação do pacote npm cc-viewer, encontre o problema e corrija",th:"ฉันเริ่ม cc-viewer แล้วแต่ไม่เห็นคำขอใดๆ ตรวจสอบการใช้งานแพ็กเกจ npm ของ cc-viewer หาปัญหาและแก้ไข",tr:"cc-viewer'ı başlattım ama istekleri göremiyorum. cc-viewer npm paketinin uygulamasını kontrol edin, sorunu bulun ve düzeltin",uk:"Я запустив cc-viewer, але не бачу жодних запитів. Перевірте реалізацію npm-пакету cc-viewer, знайдіть проблему та виправте її"},"ui.guide.step3":{zh:"在极端情况下,native 版本的 Claude 无法拦截。你可以尝试切回 npm 版本:",en:"In extreme cases, the native version of Claude cannot be intercepted. You can try switching back to the npm version:","zh-TW":"在極端情況下,native 版本的 Claude 無法攔截。你可以嘗試切回 npm 版本:",ko:"극단적인 경우 native 버전의 Claude는 가로챌 수 없습니다. npm 버전으로 전환해 보세요:",ja:"極端な場合、ネイティブ版の Claude はインターセプトできません。npm 版に切り替えてみてください:",de:"In extremen Fällen kann die native Version von Claude nicht abgefangen werden. Versuchen Sie, zur npm-Version zu wechseln:",es:"En casos extremos, la versión nativa de Claude no puede ser interceptada. Puedes intentar volver a la versión npm:",fr:"Dans les cas extrêmes, la version native de Claude ne peut pas être interceptée. Essayez de revenir à la version npm :",it:"In casi estremi, la versione nativa di Claude non può essere intercettata. Puoi provare a tornare alla versione npm:",da:"I ekstreme tilfælde kan den native version af Claude ikke opsnappes. Du kan prøve at skifte tilbage til npm-versionen:",pl:"W skrajnych przypadkach natywna wersja Claude nie może być przechwycona. Możesz spróbować przełączyć się na wersję npm:",ru:"В крайних случаях нативная версия Claude не может быть перехвачена. Попробуйте переключиться на npm-версию:",ar:"في الحالات القصوى، لا يمكن اعتراض النسخة الأصلية من Claude. يمكنك محاولة العودة إلى نسخة npm:",no:"I ekstreme tilfeller kan den native versjonen av Claude ikke fanges opp. Du kan prøve å bytte tilbake til npm-versjonen:","pt-BR":"Em casos extremos, a versão nativa do Claude não pode ser interceptada. Você pode tentar voltar para a versão npm:",th:"ในกรณีสุดขีด เวอร์ชัน native ของ Claude ไม่สามารถดักจับได้ คุณสามารถลองเปลี่ยนกลับไปใช้เวอร์ชัน npm:",tr:"Aşırı durumlarda, Claude'un native sürümü yakalanamaz. npm sürümüne geri dönmeyi deneyebilirsiniz:",uk:"У крайніх випадках нативну версію Claude неможливо перехопити. Спробуйте переключитися на npm-версію:"},"ui.requestList":{zh:"请求列表",en:"Requests","zh-TW":"請求列表",ko:"요청 목록",ja:"リクエスト一覧",de:"Anfragen",es:"Solicitudes",fr:"Requêtes",it:"Richieste",da:"Forespørgsler",pl:"Żądania",ru:"Запросы",ar:"الطلبات",no:"Forespørsler","pt-BR":"Requisições",th:"รายการคำขอ",tr:"İstekler",uk:"Запити"},"ui.totalRequests":{zh:"总请求数: {count}",en:"Total: {count}","zh-TW":"總請求數: {count}",ko:"총 요청 수: {count}",ja:"合計: {count}",de:"Gesamt: {count}",es:"Total: {count}",fr:"Total : {count}",it:"Totale: {count}",da:"Total: {count}",pl:"Łącznie: {count}",ru:"Всего: {count}",ar:"الإجمالي: {count}",no:"Totalt: {count}","pt-BR":"Total: {count}",th:"ทั้งหมด: {count}",tr:"Toplam: {count}",uk:"Всього: {count}"},"ui.waitingRequests":{zh:"等待请求...",en:"Waiting for requests...","zh-TW":"等待請求...",ko:"요청 대기 중...",ja:"リクエスト待機中...",de:"Warte auf Anfragen...",es:"Esperando solicitudes...",fr:"En attente de requêtes...",it:"In attesa di richieste...",da:"Venter på forespørgsler...",pl:"Oczekiwanie na żądania...",ru:"Ожидание запросов...",ar:"في انتظار الطلبات...",no:"Venter på forespørsler...","pt-BR":"Aguardando requisições...",th:"รอคำขอ...",tr:"İstekler bekleniyor...",uk:"Очікування запитів..."},"ui.importLocalLogs":{zh:"日志管理工具",en:"Log Management","zh-TW":"日誌管理工具",ko:"로그 관리 도구",ja:"ログ管理ツール",de:"Log-Verwaltung",es:"Gestión de logs",fr:"Gestion des logs",it:"Gestione log",da:"Loghåndtering",pl:"Zarządzanie logami",ru:"Управление логами",ar:"إدارة السجلات",no:"Loggadministrasjon","pt-BR":"Gerenciamento de logs",th:"จัดการบันทึก",tr:"Log yönetimi",uk:"Керування логами"},"ui.openLogDir":{zh:"打开日志文件夹",en:"Open log folder","zh-TW":"開啟日誌資料夾",ko:"로그 폴더 열기",ja:"ログフォルダを開く",de:"Log-Ordner öffnen",es:"Abrir carpeta de logs",fr:"Ouvrir le dossier de logs",it:"Apri cartella log",da:"Åbn logmappe",pl:"Otwórz folder logów",ru:"Открыть папку логов",ar:"فتح مجلد السجلات",no:"Åpne loggmappe","pt-BR":"Abrir pasta de logs",th:"เปิดโฟลเดอร์บันทึก",tr:"Log klasörünü aç",uk:"Відкрити теку логів"},"ui.openProjectDir":{zh:"在系统中打开项目文件夹",en:"Open project folder","zh-TW":"在系統中開啟專案資料夾",ko:"프로젝트 폴더 열기",ja:"プロジェクトフォルダを開く",de:"Projektordner öffnen",es:"Abrir carpeta del proyecto",fr:"Ouvrir le dossier du projet",it:"Apri cartella progetto",da:"Åbn projektmappe",pl:"Otwórz folder projektu",ru:"Открыть папку проекта",ar:"فتح مجلد المشروع",no:"Åpne prosjektmappe","pt-BR":"Abrir pasta do projeto",th:"เปิดโฟลเดอร์โปรเจกต์",tr:"Proje klasörünü aç",uk:"Відкрити теку проєкту"},"ui.loadLocalJsonl":{zh:"上传日志并解析",en:"Upload and parse log","zh-TW":"上傳日誌並解析",ko:"로그 업로드 및 분석",ja:"ログをアップロードして解析",de:"Log hochladen und analysieren",es:"Subir y analizar registro",fr:"Télécharger et analyser le journal",it:"Carica e analizza il log",da:"Upload og analysér log",pl:"Prześlij i przeanalizuj log",ru:"Загрузить и разобрать журнал",ar:"تحميل وتحليل السجل",no:"Last opp og analyser logg","pt-BR":"Enviar e analisar log",th:"อัปโหลดและวิเคราะห์ล็อก",tr:"Günlüğü yükle ve ayrıştır",uk:"Завантажити та проаналізувати журнал"},"ui.fileTooLarge":{zh:"文件大小不能超过 500MB",en:"File size cannot exceed 500MB","zh-TW":"檔案大小不能超過 500MB",ko:"파일 크기는 500MB를 초과할 수 없습니다",ja:"ファイルサイズは500MBを超えることはできません",de:"Dateigröße darf 500MB nicht überschreiten",es:"El tamaño del archivo no puede superar 500MB",fr:"La taille du fichier ne peut pas dépasser 500 Mo",it:"La dimensione del file non può superare 500MB",da:"Filstørrelsen må ikke overstige 500MB",pl:"Rozmiar pliku nie może przekraczać 500MB",ru:"Размер файла не может превышать 500МБ",ar:"حجم الملف لا يمكن أن يتجاوز 500 ميجابايت",no:"Filstørrelsen kan ikke overstige 500MB","pt-BR":"O tamanho do arquivo não pode exceder 500MB",th:"ขนาดไฟล์ต้องไม่เกิน 500MB",tr:"Dosya boyutu 500MB'ı aşamaz",uk:"Розмір файлу не може перевищувати 500МБ"},"ui.claudeMissing.title":{zh:"未检测到 Claude Code CLI",en:"Claude Code CLI not found","zh-TW":"未偵測到 Claude Code CLI",ko:"Claude Code CLI를 찾을 수 없습니다",ja:"Claude Code CLI が見つかりません",de:"Claude Code CLI nicht gefunden",es:"Claude Code CLI no encontrado",fr:"Claude Code CLI introuvable",it:"Claude Code CLI non trovato",da:"Claude Code CLI ikke fundet",pl:"Nie znaleziono Claude Code CLI",ru:"Claude Code CLI не найден",ar:"لم يتم العثور على Claude Code CLI",no:"Claude Code CLI ikke funnet","pt-BR":"Claude Code CLI não encontrado",th:"ไม่พบ Claude Code CLI",tr:"Claude Code CLI bulunamadı",uk:"Claude Code CLI не знайдено"},"ui.claudeMissing.desc":{zh:"请先安装 Claude Code 才能使用本应用:",en:"Please install Claude Code first:","zh-TW":"請先安裝 Claude Code 才能使用本應用:",ko:"먼저 Claude Code를 설치해주세요:",ja:"まず Claude Code をインストールしてください:",de:"Bitte installieren Sie zuerst Claude Code:",es:"Instale Claude Code primero:",fr:"Veuillez d'abord installer Claude Code :",it:"Installa prima Claude Code:",da:"Installér venligst Claude Code først:",pl:"Najpierw zainstaluj Claude Code:",ru:"Сначала установите Claude Code:",ar:"يرجى تثبيت Claude Code أولاً:",no:"Vennligst installer Claude Code først:","pt-BR":"Instale o Claude Code primeiro:",th:"กรุณาติดตั้ง Claude Code ก่อน:",tr:"Lütfen önce Claude Code'u yükleyin:",uk:"Спочатку встановіть Claude Code:"},"ui.claudeMissing.or":{zh:"或",en:"or","zh-TW":"或",ko:"또는",ja:"または",de:"oder",es:"o",fr:"ou",it:"o",da:"eller",pl:"lub",ru:"или",ar:"أو",no:"eller","pt-BR":"ou",th:"หรือ",tr:"veya",uk:"або"},"ui.claudeMissing.native":{zh:"下载 Claude Code 桌面版",en:"Download Claude Code Desktop","zh-TW":"下載 Claude Code 桌面版",ko:"Claude Code 데스크톱 다운로드",ja:"Claude Code デスクトップをダウンロード",de:"Claude Code Desktop herunterladen",es:"Descargar Claude Code Desktop",fr:"Télécharger Claude Code Desktop",it:"Scarica Claude Code Desktop",da:"Download Claude Code Desktop",pl:"Pobierz Claude Code Desktop",ru:"Скачать Claude Code Desktop",ar:"تحميل Claude Code Desktop",no:"Last ned Claude Code Desktop","pt-BR":"Baixar Claude Code Desktop",th:"ดาวน์โหลด Claude Code Desktop",tr:"Claude Code Desktop İndir",uk:"Завантажити Claude Code Desktop"},"ui.dragDropHint":{zh:"拖放文件到此处上传",en:"Drop files here to upload","zh-TW":"拖放檔案到此處上傳",ko:"파일을 여기에 놓아 업로드",ja:"ファイルをここにドロップしてアップロード",de:"Dateien hierher ziehen zum Hochladen",es:"Suelta archivos aquí para subir",fr:"Déposez les fichiers ici pour télécharger",it:"Trascina i file qui per caricare",da:"Slip filer her for at uploade",pl:"Upuść pliki tutaj, aby przesłać",ru:"Перетащите файлы сюда для загрузки",ar:"أسقط الملفات هنا للتحميل",no:"Slipp filer her for å laste opp","pt-BR":"Solte arquivos aqui para enviar",th:"วางไฟล์ที่นี่เพื่ออัปโหลด",tr:"Dosyaları yüklemek için buraya bırakın",uk:"Перетягніть файли сюди для завантаження"},"ui.importToProject":{zh:"拖放文件到此处导入项目",en:"Drop files here to import","zh-TW":"拖放檔案到此處匯入專案",ko:"여기에 파일을 놓아 가져오기",ja:"ファイルをここにドロップしてインポート",de:"Dateien hier ablegen zum Importieren",es:"Suelta archivos aquí para importar",fr:"Déposez les fichiers ici pour importer",it:"Rilascia file qui per importare",da:"Slip filer her for at importere",pl:"Upuść pliki tutaj, aby zaimportować",ru:"Перетащите файлы сюда для импорта",ar:"أسقط الملفات هنا للاستيراد",no:"Slipp filer her for å importere","pt-BR":"Solte arquivos aqui para importar",th:"วางไฟล์ที่นี่เพื่อนำเข้า",tr:"Dosyaları içe aktarmak için buraya bırakın",uk:"Перетягніть файли сюди для імпорту"},"ui.fileImported":{zh:"已导入文件: {name}",en:"File imported: {name}","zh-TW":"已匯入檔案: {name}",ko:"파일 가져옴: {name}",ja:"ファイルをインポートしました: {name}",de:"Datei importiert: {name}",es:"Archivo importado: {name}",fr:"Fichier importé : {name}",it:"File importato: {name}",da:"Fil importeret: {name}",pl:"Zaimportowano plik: {name}",ru:"Файл импортирован: {name}",ar:"تم استيراد الملف: {name}",no:"Fil importert: {name}","pt-BR":"Arquivo importado: {name}",th:"นำเข้าไฟล์แล้ว: {name}",tr:"Dosya içe aktarıldı: {name}",uk:"Файл імпортовано: {name}"},"ui.filesImported":{zh:"已导入 {count} 个文件",en:"{count} files imported","zh-TW":"已匯入 {count} 個檔案",ko:"{count}개 파일 가져옴",ja:"{count} 件のファイルをインポートしました",de:"{count} Dateien importiert",es:"{count} archivos importados",fr:"{count} fichiers importés",it:"{count} file importati",da:"{count} filer importeret",pl:"Zaimportowano {count} plików",ru:"{count} файлов импортировано",ar:"تم استيراد {count} ملفات",no:"{count} filer importert","pt-BR":"{count} arquivos importados",th:"นำเข้า {count} ไฟล์แล้ว",tr:"{count} dosya içe aktarıldı",uk:"Імпортовано {count} файлів"},"ui.exportPrompts":{zh:"查看用户 Prompt",en:"Export user prompts","zh-TW":"匯出用戶 Prompt",ko:"사용자 Prompt 내보내기",ja:"ユーザー Prompt をエクスポート",de:"Benutzer-Prompts exportieren",es:"Exportar prompts de usuario",fr:"Exporter les prompts utilisateur",it:"Esporta prompt utente",da:"Eksportér bruger-prompts",pl:"Eksportuj prompty użytkownika",ru:"Экспорт пользовательских Prompt",ar:"تصدير Prompt المستخدم",no:"Eksporter bruker-prompts","pt-BR":"Exportar prompts do usuário",th:"ส่งออก Prompt ผู้ใช้",tr:"Kullanıcı Prompt'larını dışa aktar",uk:"Експорт Prompt користувача"},"ui.exportPromptsTxt":{zh:"导出到本地 .txt",en:"Export to local .txt","zh-TW":"匯出到本地 .txt",ko:"로컬 .txt로 내보내기",ja:"ローカル .txt にエクスポート",de:"Als lokale .txt exportieren",es:"Exportar a .txt local",fr:"Exporter en .txt local",it:"Esporta in .txt locale",da:"Eksportér til lokal .txt",pl:"Eksportuj do lokalnego .txt",ru:"Экспорт в локальный .txt",ar:"تصدير إلى ملف .txt محلي",no:"Eksporter til lokal .txt","pt-BR":"Exportar para .txt local",th:"ส่งออกเป็นไฟล์ .txt ในเครื่อง",tr:"Yerel .txt olarak dışa aktar",uk:"Експорт у локальний .txt"},"ui.pluginManagement":{zh:"插件管理",en:"Plugin Management","zh-TW":"外掛管理",ko:"플러그인 관리",ja:"プラグイン管理",de:"Plugin-Verwaltung",es:"Gestión de plugins",fr:"Gestion des plugins",it:"Gestione plugin",da:"Plugin-styring",pl:"Zarządzanie wtyczkami",ru:"Управление плагинами",ar:"إدارة الإضافات",no:"Plugin-administrasjon","pt-BR":"Gerenciamento de plugins",th:"จัดการปลั๊กอิน",tr:"Eklenti yönetimi",uk:"Керування плагінами"},"ui.switchWorkspace":{zh:"切换工作区",en:"Switch Workspace","zh-TW":"切換工作區",ko:"워크스페이스 전환",ja:"ワークスペース切替",de:"Arbeitsbereich wechseln",es:"Cambiar espacio",fr:"Changer d'espace",it:"Cambia area",da:"Skift område",pl:"Zmień obszar",ru:"Сменить пространство",ar:"تبديل المساحة",no:"Bytt område","pt-BR":"Trocar área",th:"สลับเวิร์กสเปซ",tr:"Alan değiştir",uk:"Змінити простір"},"ui.plugins.empty":{zh:"暂无插件",en:"No plugins installed"},"ui.plugins.emptyHint":{zh:"将 .js 文件放入插件目录即可加载",en:"Place .js files in the plugins directory to load"},"ui.plugins.delete":{zh:"删除",en:"Delete"},"ui.plugins.deleteConfirm":{zh:"确认删除插件「{name}」?此操作不可恢复。",en:'Delete plugin "{name}"? This cannot be undone.'},"ui.plugins.reload":{zh:"重新加载",en:"Reload"},"ui.plugins.pluginsDir":{zh:"插件目录",en:"Plugin directory"},"ui.plugins.add":{zh:"本地安装",en:"Local Install"},"ui.plugins.invalidFile":{zh:"请选择 .js 或 .mjs 文件",en:"Please select .js or .mjs files"},"ui.plugins.addSuccess":{zh:"插件添加成功",en:"Plugin added successfully"},"ui.plugins.addFailed":{zh:"添加插件失败:{reason}",en:"Failed to add plugin: {reason}"},"ui.plugins.serverError":{zh:"服务端错误({status}),请检查服务是否正常运行",en:"Server error ({status}), please check if the server is running properly"},"ui.plugins.cdnInstall":{zh:"在线安装",en:"Install from URL","zh-TW":"線上安裝",ko:"URL에서 설치",ja:"URLからインストール",de:"Von URL installieren",es:"Instalar desde URL",fr:"Installer depuis une URL",it:"Installa da URL",da:"Installer fra URL",pl:"Zainstaluj z URL",ru:"Установить по URL",ar:"تثبيت من عنوان URL",no:"Installer fra URL","pt-BR":"Instalar a partir de URL",th:"ติดตั้งจาก URL",tr:"URL'den yükle",uk:"Встановити з URL"},"ui.plugins.cdnUrl":{zh:"CDN 地址",en:"CDN URL","zh-TW":"CDN 地址",ko:"CDN URL",ja:"CDN URL",de:"CDN-URL",es:"URL de CDN",fr:"URL CDN",it:"URL CDN",da:"CDN URL",pl:"URL CDN",ru:"URL CDN",ar:"عنوان CDN",no:"CDN URL","pt-BR":"URL do CDN",th:"URL ของ CDN",tr:"CDN URL'si",uk:"URL CDN"},"ui.plugins.cdnUrlPlaceholder":{zh:"请输入插件的 CDN 地址(如 https://cdn.example.com/plugin.js)",en:"Enter plugin CDN URL (e.g. https://cdn.example.com/plugin.js)","zh-TW":"請輸入插件的 CDN 地址(如 https://cdn.example.com/plugin.js)",ko:"플러그인 CDN URL을 입력하세요 (예: https://cdn.example.com/plugin.js)",ja:"プラグインのCDN URLを入力してください(例: https://cdn.example.com/plugin.js)",de:"Plugin-CDN-URL eingeben (z.B. https://cdn.example.com/plugin.js)",es:"Ingrese la URL CDN del plugin (ej. https://cdn.example.com/plugin.js)",fr:"Entrez l'URL CDN du plugin (ex. https://cdn.example.com/plugin.js)",it:"Inserisci l'URL CDN del plugin (es. https://cdn.example.com/plugin.js)",da:"Indtast plugin CDN URL (f.eks. https://cdn.example.com/plugin.js)",pl:"Wprowadź URL CDN wtyczki (np. https://cdn.example.com/plugin.js)",ru:"Введите URL CDN плагина (напр. https://cdn.example.com/plugin.js)",ar:"أدخل عنوان CDN للإضافة (مثال: https://cdn.example.com/plugin.js)",no:"Skriv inn plugin CDN URL (f.eks. https://cdn.example.com/plugin.js)","pt-BR":"Insira a URL CDN do plugin (ex. https://cdn.example.com/plugin.js)",th:"ป้อน URL CDN ของปลั๊กอิน (เช่น https://cdn.example.com/plugin.js)",tr:"Eklenti CDN URL'sini girin (ör. https://cdn.example.com/plugin.js)",uk:"Введіть URL CDN плагіна (напр. https://cdn.example.com/plugin.js)"},"ui.plugins.cdnName":{zh:"插件名称",en:"Plugin Name","zh-TW":"插件名稱",ko:"플러그인 이름",ja:"プラグイン名",de:"Plugin-Name",es:"Nombre del plugin",fr:"Nom du plugin",it:"Nome del plugin",da:"Plugin-navn",pl:"Nazwa wtyczki",ru:"Имя плагина",ar:"اسم الإضافة",no:"Plugin-navn","pt-BR":"Nome do plugin",th:"ชื่อปลั๊กอิน",tr:"Eklenti adı",uk:"Назва плагіна"},"ui.plugins.cdnNamePlaceholder":{zh:"请输入插件保存名称(如 my-plugin.js)",en:"Enter plugin save name (e.g. my-plugin.js)","zh-TW":"請輸入插件儲存名稱(如 my-plugin.js)",ko:"플러그인 저장 이름을 입력하세요 (예: my-plugin.js)",ja:"プラグインの保存名を入力してください(例: my-plugin.js)",de:"Plugin-Speichernamen eingeben (z.B. my-plugin.js)",es:"Ingrese el nombre para guardar el plugin (ej. my-plugin.js)",fr:"Entrez le nom de sauvegarde du plugin (ex. my-plugin.js)",it:"Inserisci il nome di salvataggio del plugin (es. my-plugin.js)",da:"Indtast plugin-gemmenavn (f.eks. my-plugin.js)",pl:"Wprowadź nazwę zapisu wtyczki (np. my-plugin.js)",ru:"Введите имя для сохранения плагина (напр. my-plugin.js)",ar:"أدخل اسم حفظ الإضافة (مثال: my-plugin.js)",no:"Skriv inn plugin-lagringsnavn (f.eks. my-plugin.js)","pt-BR":"Insira o nome de salvamento do plugin (ex. my-plugin.js)",th:"ป้อนชื่อบันทึกปลั๊กอิน (เช่น my-plugin.js)",tr:"Eklenti kayıt adını girin (ör. my-plugin.js)",uk:"Введіть ім'я збереження плагіна (напр. my-plugin.js)"},"ui.plugins.cdnUrlRequired":{zh:"请输入 CDN 地址",en:"Please enter CDN URL","zh-TW":"請輸入 CDN 地址",ko:"CDN URL을 입력해 주세요",ja:"CDN URLを入力してください",de:"Bitte CDN-URL eingeben",es:"Por favor ingrese la URL de CDN",fr:"Veuillez entrer l'URL CDN",it:"Inserisci l'URL CDN",da:"Indtast venligst CDN URL",pl:"Proszę wprowadzić URL CDN",ru:"Пожалуйста, введите URL CDN",ar:"يرجى إدخال عنوان CDN",no:"Vennligst skriv inn CDN URL","pt-BR":"Por favor, insira a URL do CDN",th:"กรุณาป้อน URL ของ CDN",tr:"Lütfen CDN URL'sini girin",uk:"Будь ласка, введіть URL CDN"},"ui.plugins.cdnNameRequired":{zh:"请输入插件名称",en:"Please enter plugin name","zh-TW":"請輸入插件名稱",ko:"플러그인 이름을 입력해 주세요",ja:"プラグイン名を入力してください",de:"Bitte Plugin-Namen eingeben",es:"Por favor ingrese el nombre del plugin",fr:"Veuillez entrer le nom du plugin",it:"Inserisci il nome del plugin",da:"Indtast venligst plugin-navn",pl:"Proszę wprowadzić nazwę wtyczki",ru:"Пожалуйста, введите имя плагина",ar:"يرجى إدخال اسم الإضافة",no:"Vennligst skriv inn plugin-navn","pt-BR":"Por favor, insira o nome do plugin",th:"กรุณาป้อนชื่อปลั๊กอิน",tr:"Lütfen eklenti adını girin",uk:"Будь ласка, введіть назву плагіна"},"ui.plugins.cdnInvalidUrl":{zh:"请输入有效的 URL 地址",en:"Please enter a valid URL","zh-TW":"請輸入有效的 URL 地址",ko:"유효한 URL을 입력해 주세요",ja:"有効なURLを入力してください",de:"Bitte eine gültige URL eingeben",es:"Por favor ingrese una URL válida",fr:"Veuillez entrer une URL valide",it:"Inserisci un URL valido",da:"Indtast venligst en gyldig URL",pl:"Proszę wprowadzić prawidłowy URL",ru:"Пожалуйста, введите действительный URL",ar:"يرجى إدخال عنوان URL صالح",no:"Vennligst skriv inn en gyldig URL","pt-BR":"Por favor, insira uma URL válida",th:"กรุณาป้อน URL ที่ถูกต้อง",tr:"Lütfen geçerli bir URL girin",uk:"Будь ласка, введіть дійсну URL-адресу"},"ui.plugins.cdnInstallBtn":{zh:"安装",en:"Install","zh-TW":"安裝",ko:"설치",ja:"インストール",de:"Installieren",es:"Instalar",fr:"Installer",it:"Installa",da:"Installer",pl:"Zainstaluj",ru:"Установить",ar:"تثبيت",no:"Installer","pt-BR":"Instalar",th:"ติดตั้ง",tr:"Yükle",uk:"Встановити"},"ui.plugins.cdnInstallSuccess":{zh:"插件安装成功",en:"Plugin installed successfully","zh-TW":"插件安裝成功",ko:"플러그인이 성공적으로 설치되었습니다",ja:"プラグインのインストールに成功しました",de:"Plugin erfolgreich installiert",es:"Plugin instalado correctamente",fr:"Plugin installé avec succès",it:"Plugin installato con successo",da:"Plugin installeret succesfuldt",pl:"Wtyczka zainstalowana pomyślnie",ru:"Плагин успешно установлен",ar:"تم تثبيت الإضافة بنجاح",no:"Plugin installert vellykket","pt-BR":"Plugin instalado com sucesso",th:"ติดตั้งปลั๊กอินสำเร็จ",tr:"Eklenti başarıyla yüklendi",uk:"Плагін успішно встановлено"},"ui.plugins.cdnInstallFailed":{zh:"安装插件失败:{reason}",en:"Failed to install plugin: {reason}","zh-TW":"安裝插件失敗:{reason}",ko:"플러그인 설치 실패: {reason}",ja:"プラグインのインストールに失敗しました:{reason}",de:"Plugin-Installation fehlgeschlagen: {reason}",es:"Error al instalar el plugin: {reason}",fr:"Échec de l'installation du plugin : {reason}",it:"Installazione del plugin fallita: {reason}",da:"Plugin-installation mislykkedes: {reason}",pl:"Instalacja wtyczki nie powiodła się: {reason}",ru:"Не удалось установить плагин: {reason}",ar:"فشل تثبيت الإضافة: {reason}",no:"Plugin-installasjon mislyktes: {reason}","pt-BR":"Falha ao instalar o plugin: {reason}",th:"ติดตั้งปลั๊กอินล���มเหลว: {reason}",tr:"Eklenti yüklenemedi: {reason}",uk:"Не вдалося встановити плагін: {reason}"},"ui.plugins.cdnFetching":{zh:"正在下载插件...",en:"Downloading plugin...","zh-TW":"正在下載插件...",ko:"플러그인 다운로드 중...",ja:"プラグインをダウンロード中...",de:"Plugin wird heruntergeladen...",es:"Descargando plugin...",fr:"Téléchargement du plugin...",it:"Download del plugin in corso...",da:"Downloader plugin...",pl:"Pobieranie wtyczki...",ru:"Загрузка плагина...",ar:"جارٍ تنزيل الإضافة...",no:"Laster ned plugin...","pt-BR":"Baixando plugin...",th:"กำลังดาวน์โหลดปลั๊กอิน...",tr:"Eklenti indiriliyor...",uk:"Завантаження плагіна..."},"ui.tokenStats":{zh:"数据统计",en:"Data Stats","zh-TW":"數據統計",ko:"데이터 통계",ja:"データ統計",de:"Datenstatistik",es:"Estadísticas de datos",fr:"Statistiques de données",it:"Statistiche dati",da:"Datastatistik",pl:"Statystyki danych",ru:"Статистика данных",ar:"إحصائيات البيانات",no:"Datastatistikk","pt-BR":"Estatísticas de dados",th:"สถิติข้อมูล",tr:"Veri İstatistikleri",uk:"Статистика даних"},"ui.liveMonitoring":{zh:"当前项目",en:"Project","zh-TW":"當前專案",ko:"현재 프로젝트",ja:"現在のプロジェクト",de:"Projekt",es:"Proyecto",fr:"Projet",it:"Progetto",da:"Projekt",pl:"Projekt",ru:"Проект",ar:"المشروع",no:"Prosjekt","pt-BR":"Projeto",th:"โปรเจกต์",tr:"Proje",uk:"Проєкт"},"ui.loadingChat":{zh:"加载对话中",en:"Loading chat","zh-TW":"載入對話中",ko:"대화 로딩 중",ja:"チャット読み込み中",de:"Chat wird geladen",es:"Cargando chat",fr:"Chargement du chat",it:"Caricamento chat",da:"Indlæser chat",pl:"Ładowanie czatu",ru:"Загрузка чата",ar:"جارٍ تحميل المحادثة",no:"Laster chat","pt-BR":"Carregando chat",th:"กำลังโหลดแชท",tr:"Sohbet yükleniyor",uk:"Завантаження чату"},"ui.mobileChatBrowse":{zh:"对话浏览",en:"Chat Browse","zh-TW":"對話瀏覽",ko:"대화 찾아보기",ja:"チャット閲覧",de:"Chat durchsuchen",es:"Ver chat",fr:"Parcourir le chat",it:"Sfoglia chat",da:"Gennemse chat",pl:"Przeglądaj czat",ru:"Просмотр чата",ar:"تصفح المحادثة",no:"Bla gjennom chat","pt-BR":"Navegar chat",th:"ดูแชท",tr:"Sohbet Gözat",uk:"Перегляд чату"},"ui.mobileChatExit":{zh:"退出对话",en:"Exit Chat","zh-TW":"退出對話",ko:"채팅 종료",ja:"チャット終了",de:"Chat beenden",es:"Salir del chat",fr:"Quitter le chat",it:"Esci dalla chat",da:"Afslut chat",pl:"Zamknij czat",ru:"Выйти из чата",ar:"الخروج من المحادثة",no:"Avslutt chat","pt-BR":"Sair do chat",th:"ออกจากแชท",tr:"Sohbetten Çık",uk:"Вийти з чату"},"ui.mobileTerminalBrowse":{zh:"打开终端",en:"Terminal","zh-TW":"開啟終端",ko:"터미널 열기",ja:"ターミナルを開く",de:"Terminal öffnen",es:"Abrir terminal",fr:"Ouvrir le terminal",it:"Apri terminale",da:"Åbn terminal",pl:"Otwórz terminal",ru:"Открыть терминал",ar:"فتح الطرفية",no:"Åpne terminal","pt-BR":"Abrir terminal",th:"เปิดเทอร์มินัล",tr:"Terminal Aç",uk:"Відкрити термінал"},"ui.mobileTerminalExit":{zh:"退出终端",en:"Exit Terminal","zh-TW":"退出終端",ko:"터미널 종료",ja:"ターミナル終了",de:"Terminal beenden",es:"Salir del terminal",fr:"Quitter le terminal",it:"Esci dal terminale",da:"Afslut terminal",pl:"Zamknij terminal",ru:"Выйти из терминала",ar:"الخروج من الطرفية",no:"Avslutt terminal","pt-BR":"Sair do terminal",th:"ออกจากเทอร์มินัล",tr:"Terminalden Çık",uk:"Вийти з терміналу"},"ui.mobileGitDiffBrowse":{zh:"Git Diff",en:"Git Diff","zh-TW":"Git Diff",ko:"Git Diff",ja:"Git Diff",de:"Git Diff",es:"Git Diff",fr:"Git Diff",it:"Git Diff",da:"Git Diff",pl:"Git Diff",ru:"Git Diff",ar:"Git Diff",no:"Git Diff","pt-BR":"Git Diff",th:"Git Diff",tr:"Git Diff",uk:"Git Diff"},"ui.mobileGitDiffExit":{zh:"退出Diff",en:"Exit Diff","zh-TW":"退出Diff",ko:"Diff 종료",ja:"Diff終了",de:"Diff beenden",es:"Salir de Diff",fr:"Quitter Diff",it:"Esci da Diff",da:"Afslut Diff",pl:"Zamknij Diff",ru:"Выйти из Diff",ar:"الخروج من Diff",no:"Avslutt Diff","pt-BR":"Sair do Diff",th:"ออกจาก Diff",tr:"Diff'ten Çık",uk:"Вийти з Diff"},"ui.mobileGoBack":{zh:"回退",en:"Back","zh-TW":"返回",ko:"뒤로",ja:"戻る",de:"Zurück",es:"Volver",fr:"Retour",it:"Indietro",da:"Tilbage",pl:"Wstecz",ru:"Назад",ar:"رجوع",no:"Tilbake","pt-BR":"Voltar",th:"ย้อนกลับ",tr:"Geri",uk:"Назад"},"ui.mobileGitDiffHint":{zh:"选择文件查看变更",en:"Select a file to view changes","zh-TW":"選擇檔案查看變更",ko:"파일을 선택하여 변경사항 보기",ja:"ファイルを選択して変更を表示",de:"Datei auswählen, um Änderungen anzuzeigen",es:"Seleccione un archivo para ver los cambios",fr:"Sélectionnez un fichier pour voir les modifications",it:"Seleziona un file per visualizzare le modifiche",da:"Vælg en fil for at se ændringer",pl:"Wybierz plik, aby zobaczyć zmiany",ru:"Выберите файл для просмотра изменений",ar:"اختر ملفًا لعرض التغييرات",no:"Velg en fil for å se endringer","pt-BR":"Selecione um arquivo para ver as alterações",th:"เลือกไฟล์เพื่อดูการเปลี่ยนแปลง",tr:"Değişiklikleri görmek için bir dosya seçin",uk:"Виберіть файл для перегляду змін"},"ui.projectFolder":{zh:"项目文件夹",en:"Project Folder","zh-TW":"專案資料夾",ko:"프로젝트 폴더",ja:"プロジェクトフォルダ",de:"Projektordner",es:"Carpeta del proyecto",fr:"Dossier du projet",it:"Cartella progetto",da:"Projektmappe",pl:"Folder projektu",ru:"Папка проекта",ar:"مجلد المشروع",no:"Prosjektmappe","pt-BR":"Pasta do projeto",th:"โฟลเดอร์โปรเจกต์",tr:"Proje Klasörü",uk:"Папка проєкту"},"ui.mobileFileExplorerHint":{zh:"选择文件查看内容",en:"Select a file to view content","zh-TW":"選擇檔案查看內容",ko:"파일을 선택하여 내용 보기",ja:"ファイルを選択して内容を表示",de:"Datei auswählen, um Inhalt anzuzeigen",es:"Seleccione un archivo para ver el contenido",fr:"Sélectionnez un fichier pour voir le contenu",it:"Seleziona un file per visualizzare il contenuto",da:"Vælg en fil for at se indholdet",pl:"Wybierz plik, aby zobaczyć zawartość",ru:"Выберите файл для просмотра содержимого",ar:"اختر ملفًا لعرض المحتوى",no:"Velg en fil for å se innholdet","pt-BR":"Selecione um arquivo para ver o conteúdo",th:"เลือกไฟล์เพื่อดูเนื้อหา",tr:"İçeriği görmek için bir dosya seçin",uk:"Виберіть файл для перегляду вмісту"},"ui.modeSwitchTitle":{zh:"视图切换",en:"Switch View","zh-TW":"檢視切換",ko:"보기 전환",ja:"ビュー切替",de:"Ansicht wechseln",es:"Cambiar vista",fr:"Changer de vue",it:"Cambia vista",da:"Skift visning",pl:"Zmień widok",ru:"Переключить вид",ar:"تبديل العرض",no:"Bytt visning","pt-BR":"Trocar visualização",th:"สลับมุมมอง",tr:"Görünümü Değiştir",uk:"Змінити вигляд"},"ui.modeSwitchToSidebar":{zh:"当前窗口较窄,是否切换到侧边栏模式?",en:"Window is narrow. Switch to sidebar mode?","zh-TW":"目前視窗較窄,是否切換到側邊欄模式?",ko:"창이 좁습니다. 사이드바 모드로 전환할까요?",ja:"ウィンドウが狭いです。サイドバーモードに切り替えますか?",de:"Fenster ist schmal. In den Seitenleistenmodus wechseln?",es:"La ventana es estrecha. ¿Cambiar al modo barra lateral?",fr:"La fenêtre est étroite. Passer en mode barre latérale ?",it:"La finestra è stretta. Passare alla modalità barra laterale?",da:"Vinduet er smalt. Skift til sidebjælketilstand?",pl:"Okno jest wąskie. Przełączyć na tryb paska bocznego?",ru:"Окно слишком узкое. Переключить на режим боковой панели?",ar:"النافذة ضيقة. هل تريد التبديل إلى وضع الشريط الجانبي؟",no:"Vinduet er smalt. Bytt til sidefeltmodus?","pt-BR":"Janela estreita. Mudar para modo barra lateral?",th:"หน้าต่างแคบ สลับเป็นโหมดแถบข้าง?",tr:"Pencere dar. Kenar çubuğu moduna geçilsin mi?",uk:"Вікно вузьке. Перемкнути на режим бічної панелі?"},"ui.modeSwitchToFullView":{zh:"当前窗口较宽,是否切换到全览模式?",en:"Window is wide. Switch to full view mode?","zh-TW":"目前視窗較寬,是否切換到全覽模式?",ko:"창이 넓습니다. 전체 보기 모드로 전환할까요?",ja:"ウィンドウが広いです。フルビューモードに切り替えますか?",de:"Fenster ist breit. In den Vollansichtsmodus wechseln?",es:"La ventana es ancha. ¿Cambiar al modo vista completa?",fr:"La fenêtre est large. Passer en mode vue complète ?",it:"La finestra è larga. Passare alla modalità vista completa?",da:"Vinduet er bredt. Skift til fuld visningstilstand?",pl:"Okno jest szerokie. Przełączyć na tryb pełnego widoku?",ru:"Окно широкое. Переключить на полный режим просмотра?",ar:"النافذة واسعة. هل تريد التبديل إلى وضع العرض الكامل؟",no:"Vinduet er bredt. Bytt til fullvisningsmodus?","pt-BR":"Janela larga. Mudar para modo visualização completa?",th:"หน้าต่างกว้าง สลับเป็นโหมดเต็มจอ?",tr:"Pencere geniş. Tam görünüm moduna geçilsin mi?",uk:"Вікно широке. Перемкнути на повний режим перегляду?"},"ui.sendFailed":{zh:"发送失败,请重试",en:"Send failed, please try again","zh-TW":"傳送失敗,請重試",ko:"전송 실패, 다시 시도해주세요",ja:"送信に失敗しました。もう一度お試しください",de:"Senden fehlgeschlagen, bitte erneut versuchen",es:"Error al enviar, inténtelo de nuevo",fr:"Échec de l'envoi, veuillez réessayer",it:"Invio fallito, riprova",da:"Afsendelse mislykkedes, prøv igen",pl:"Wysyłanie nie powiodło się, spróbuj ponownie",ru:"Отправка не удалась, попробуйте снова",ar:"فشل الإرسال، يرجى المحاولة مرة أخرى",no:"Sending mislyktes, prøv igjen","pt-BR":"Falha ao enviar, tente novamente",th:"ส่งไม่สำเร็จ กรุณาลองอีกครั้ง",tr:"Gönderme başarısız, lütfen tekrar deneyin",uk:"Надсилання не вдалося, спробуйте ще раз"},"ui.mobileMenu":{zh:"菜单",en:"Menu","zh-TW":"選單",ko:"메뉴",ja:"メニュー",de:"Menü",es:"Menú",fr:"Menu",it:"Menu",da:"Menu",pl:"Menu",ru:"Меню",ar:"القائمة",no:"Meny","pt-BR":"Menu",th:"เมนู",tr:"Menü",uk:"Меню"},"ui.logManagement":{zh:"日志管理",en:"Log Management","zh-TW":"日誌管理",ko:"로그 관리",ja:"ログ管理",de:"Protokollverwaltung",es:"Gestión de registros",fr:"Gestion des journaux",it:"Gestione log",da:"Logstyring",pl:"Zarządzanie logami",ru:"Управление журналами",ar:"إدارة السجلات",no:"Logghåndtering","pt-BR":"Gerenciamento de logs",th:"จัดการบันทึก",tr:"Günlük Yönetimi",uk:"Керування журналами"},"ui.inflightRequests":{zh:"在途请求",en:"Inflight Requests","zh-TW":"在途請求",ko:"진행 중인 요청",ja:"処理中のリクエスト",de:"Laufende Anfragen",es:"Solicitudes en curso",fr:"Requêtes en cours",it:"Richieste in corso",da:"Igangværende forespørgsler",pl:"Trwające żądania",ru:"Текущие запросы",ar:"الطلبات الجارية",no:"Pågående forespørsler","pt-BR":"Requisições em andamento",th:"คำขอที่กำลังดำเนินการ",tr:"Devam Eden İstekler",uk:"Поточні запити"},"ui.noInflightRequests":{zh:"暂无在途请求",en:"No inflight requests","zh-TW":"暫無在途請求",ko:"진행 중인 요청 없음",ja:"処理中のリクエストなし",de:"Keine laufenden Anfragen",es:"Sin solicitudes en curso",fr:"Aucune requête en cours",it:"Nessuna richiesta in corso",da:"Ingen igangværende forespørgsler",pl:"Brak trwających żądań",ru:"Нет текущих запросов",ar:"لا توجد طلبات جارية",no:"Ingen pågående forespørsler","pt-BR":"Nenhuma requisição em andamento",th:"ไม่มีคำขอที่กำลังดำเนินการ",tr:"Devam eden istek yok",uk:"Немає поточних запитів"},"ui.historyLog":{zh:"历史日志: {file}",en:"History: {file}","zh-TW":"歷史日誌: {file}",ko:"기록: {file}",ja:"履歴: {file}",de:"Verlauf: {file}",es:"Historial: {file}",fr:"Historique : {file}",it:"Cronologia: {file}",da:"Historik: {file}",pl:"Historia: {file}",ru:"История: {file}",ar:"السجل: {file}",no:"Historikk: {file}","pt-BR":"Histórico: {file}",th:"ประวัติ: {file}",tr:"Geçmiş: {file}",uk:"Історія: {file}"},"ui.chatMode":{zh:"对话模式",en:"Chat mode","zh-TW":"對話模式",ko:"대화 모드",ja:"チャットモード",de:"Chat-Modus",es:"Modo chat",fr:"Mode conversation",it:"Modalità chat",da:"Chat-tilstand",pl:"Tryb czatu",ru:"Режим чата",ar:"وضع المحادثة",no:"Chat-modus","pt-BR":"Modo chat",th:"โหมดแชท",tr:"Sohbet modu",uk:"Режим чату"},"ui.rawMode":{zh:"网络报文",en:"Network Packets","zh-TW":"網路封包",ko:"네트워크 패킷",ja:"ネットワークパケット",de:"Netzwerkpakete",es:"Paquetes de red",fr:"Paquets réseau",it:"Pacchetti di rete",da:"Netværkspakker",pl:"Pakiety sieciowe",ru:"Сетевые пакеты",ar:"حزم الشبكة",no:"Nettverkspakker","pt-BR":"Pacotes de rede",th:"แพ็กเก็ตเครือข่าย",tr:"Ağ paketleri",uk:"Мережеві пакети"},"ui.viewRequest":{zh:"查看请求",en:"View Request","zh-TW":"查看請求",ko:"요청 보기",ja:"リクエストを表示",de:"Anfrage anzeigen",es:"Ver solicitud",fr:"Voir la requête",it:"Visualizza richiesta",da:"Vis forespørgsel",pl:"Zobacz żądanie",ru:"Просмотр запроса",ar:"عرض الطلب",no:"Vis forespørsel","pt-BR":"Ver requisição",th:"ดูคำขอ",tr:"İsteği görüntüle",uk:"Переглянути запит"},"ui.cannotMap":{zh:"无法映射到对话",en:"Cannot map to conversation","zh-TW":"無法映射到對話",ko:"대화에 매핑할 수 없습니다",ja:"会話にマッピングできません",de:"Kann nicht zur Konversation zugeordnet werden",es:"No se puede mapear a la conversación",fr:"Impossible de mapper à la conversation",it:"Impossibile mappare alla conversazione",da:"Kan ikke mappe til samtale",pl:"Nie można zmapować do rozmowy",ru:"Невозможно сопоставить с диалогом",ar:"لا يمكن الربط بالمحادثة",no:"Kan ikke tilordne til samtale","pt-BR":"Não é possível mapear para a conversa",th:"ไม่สามารถแมปไปยังการสนทนาได้",tr:"Konuşmaya eşlenemedi",uk:"Неможливо зіставити з діалогом"},"ui.cacheExpired":{zh:"已失效",en:"Expired","zh-TW":"已失效",ko:"만료됨",ja:"期限切れ",de:"Abgelaufen",es:"Expirado",fr:"Expiré",it:"Scaduto",da:"Udløbet",pl:"Wygasło",ru:"Истёк",ar:"منتهي الصلاحية",no:"Utløpt","pt-BR":"Expirado",th:"หมดอายุ",tr:"Süresi doldu",uk:"Закінчився"},"ui.cacheCountdown":{zh:"MainAgent 缓存{type}失效倒计时:",en:"MainAgent cache{type} expires in: ","zh-TW":"MainAgent 快取{type}失效倒數:",ko:"MainAgent cache{type} 만료 카운트다운: ",ja:"MainAgent cache{type} 期限切れまで: ",de:"MainAgent Cache{type} läuft ab in: ",es:"Cache{type} de MainAgent expira en: ",fr:"Cache{type} MainAgent expire dans : ",it:"Cache{type} MainAgent scade tra: ",da:"MainAgent cache{type} udløber om: ",pl:"Cache{type} MainAgent wygasa za: ",ru:"Cache{type} MainAgent истекает через: ",ar:"ينتهي cache{type} لـ MainAgent خلال: ",no:"MainAgent cache{type} utløper om: ","pt-BR":"Cache{type} do MainAgent expira em: ",th:"Cache{type} ของ MainAgent หมดอายุใน: ",tr:"MainAgent cache{type} süresi doluyor: ",uk:"Cache{type} MainAgent закінчується через: "},"ui.minuteSecond":{zh:"{m}分{s}秒",en:"{m}m{s}s","zh-TW":"{m}分{s}秒",ko:"{m}분{s}초",ja:"{m}分{s}秒",de:"{m}m{s}s",es:"{m}m{s}s",fr:"{m}m{s}s",it:"{m}m{s}s",da:"{m}m{s}s",pl:"{m}m{s}s",ru:"{m}м{s}с",ar:"{m}د{s}ث",no:"{m}m{s}s","pt-BR":"{m}m{s}s",th:"{m}นาที{s}วินาที",tr:"{m}dk{s}sn",uk:"{m}хв{s}с"},"ui.second":{zh:"{s}秒",en:"{s}s","zh-TW":"{s}秒",ko:"{s}초",ja:"{s}秒",de:"{s}s",es:"{s}s",fr:"{s}s",it:"{s}s",da:"{s}s",pl:"{s}s",ru:"{s}с",ar:"{s}ث",no:"{s}s","pt-BR":"{s}s",th:"{s}วินาที",tr:"{s}sn",uk:"{s}с"},"ui.hitRate":{zh:"命中率",en:"Hit rate","zh-TW":"命中率",ko:"적중률",ja:"ヒット率",de:"Trefferquote",es:"Tasa de aciertos",fr:"Taux de succès",it:"Tasso di successo",da:"Hitrate",pl:"Współczynnik trafień",ru:"Процент попаданий",ar:"معدل الإصابة",no:"Treffrate","pt-BR":"Taxa de acerto",th:"อัตราการเข้าถึง",tr:"İsabet oranı",uk:"Відсоток влучень"},"ui.userPrompt":{zh:"用户 Prompt",en:"User Prompt","zh-TW":"用戶 Prompt",ko:"사용자 Prompt",ja:"ユーザー Prompt",de:"Benutzer-Prompt",es:"Prompt de usuario",fr:"Prompt utilisateur",it:"Prompt utente",da:"Bruger-Prompt",pl:"Prompt użytkownika",ru:"Prompt пользователя",ar:"Prompt المستخدم",no:"Bruker-Prompt","pt-BR":"Prompt do usuário",th:"Prompt ผู้ใช้",tr:"Kullanıcı Prompt",uk:"Prompt користувача"},"ui.noPrompt":{zh:"暂无用户 Prompt",en:"No user prompts yet","zh-TW":"暫無用戶 Prompt",ko:"사용자 Prompt 없음",ja:"ユーザー Prompt はまだありません",de:"Noch keine Benutzer-Prompts",es:"Sin prompts de usuario aún",fr:"Aucun prompt utilisateur",it:"Nessun prompt utente",da:"Ingen bruger-prompts endnu",pl:"Brak promptów użytkownika",ru:"Нет пользовательских Prompt",ar:"لا توجد Prompt للمستخدم بعد",no:"Ingen bruker-prompts ennå","pt-BR":"Nenhum prompt de usuário ainda",th:"ยังไม่มี Prompt ผู้ใช้",tr:"Henüz kullanıcı Prompt'u yok",uk:"Немає Prompt користувача"},"ui.promptCountUnit":{zh:"条",en:"","zh-TW":"條",ko:"개",ja:"件",de:"",es:"",fr:"",it:"",da:"",pl:"",ru:"",ar:"",no:"","pt-BR":"",th:"",tr:"",uk:""},"ui.promptModeOriginal":{zh:"原文模式",en:"Original"},"ui.promptModeContext":{zh:"上下文模式",en:"Context"},"ui.promptModeText":{zh:"Text模式",en:"Text"},"ui.unknownTime":{zh:"未知时间",en:"Unknown time","zh-TW":"未知時間",ko:"알 수 없는 시간",ja:"不明な時刻",de:"Unbekannte Zeit",es:"Hora desconocida",fr:"Heure inconnue",it:"Ora sconosciuta",da:"Ukendt tid",pl:"Nieznany czas",ru:"Неизвестное время",ar:"وقت غير معروف",no:"Ukjent tid","pt-BR":"Hora desconhecida",th:"เวลาไม่ทราบ",tr:"Bilinmeyen zaman",uk:"Невідомий час"},"ui.noLogs":{zh:"暂无日志文件",en:"No log files","zh-TW":"暫無日誌檔案",ko:"로그 파일 없음",ja:"ログファイルなし",de:"Keine Log-Dateien",es:"Sin archivos de log",fr:"Aucun fichier de log",it:"Nessun file di log",da:"Ingen logfiler",pl:"Brak plików logów",ru:"Нет файлов логов",ar:"لا توجد ملفات سجلات",no:"Ingen loggfiler","pt-BR":"Nenhum arquivo de log",th:"ไม่มีไฟล์บันทึก",tr:"Log dosyası yok",uk:"Немає файлів логів"},"ui.toolReturn":{zh:"工具返回",en:"Tool result","zh-TW":"工具返回",ko:"도구 결과",ja:"ツール結果",de:"Tool-Ergebnis",es:"Resultado de herramienta",fr:"Résultat d'outil",it:"Risultato strumento",da:"Værktøjsresultat",pl:"Wynik narzędzia",ru:"Результат инструмента",ar:"نتيجة الأداة",no:"Verktøyresultat","pt-BR":"Resultado da ferramenta",th:"ผลลัพธ์เครื่องมือ",tr:"Araç sonucu",uk:"Результат інструменту"},"ui.toolReturnNamed":{zh:"{name} 返回",en:"{name} result","zh-TW":"{name} 返回",ko:"{name} 결과",ja:"{name} 結果",de:"{name}-Ergebnis",es:"Resultado de {name}",fr:"Résultat de {name}",it:"Risultato di {name}",da:"{name}-resultat",pl:"Wynik {name}",ru:"Результат {name}",ar:"نتيجة {name}",no:"{name}-resultat","pt-BR":"Resultado de {name}",th:"ผลลัพธ์ {name}",tr:"{name} sonucu",uk:"Результат {name}"},"ui.lastResponse":{zh:"Last Response",en:"Last Response","zh-TW":"Last Response",ko:"Last Response",ja:"Last Response",de:"Last Response",es:"Last Response",fr:"Last Response",it:"Last Response",da:"Last Response",pl:"Last Response",ru:"Last Response",ar:"Last Response",no:"Last Response","pt-BR":"Last Response",th:"Last Response",tr:"Last Response",uk:"Last Response"},"ui.copySuccess":{zh:"复制成功",en:"Copied","zh-TW":"複製成功",ko:"복사됨",ja:"コピーしました",de:"Kopiert",es:"Copiado",fr:"Copié",it:"Copiato",da:"Kopieret",pl:"Skopiowano",ru:"Скопировано",ar:"تم النسخ",no:"Kopiert","pt-BR":"Copiado",th:"คัดลอกแล้ว",tr:"Kopyalandı",uk:"Скопійовано"},"ui.copy":{zh:"复制",en:"Copy","zh-TW":"複製",ko:"복사",ja:"コピー",de:"Kopieren",es:"Copiar",fr:"Copier",it:"Copia",da:"Kopiér",pl:"Kopiuj",ru:"Копировать",ar:"نسخ",no:"Kopier","pt-BR":"Copiar",th:"คัดลอก",tr:"Kopyala",uk:"Копіювати"},"ui.saveAs":{zh:"另存为",en:"Save As","zh-TW":"另存為",ko:"다른 이름으로 저장",ja:"名前を付けて保存",de:"Speichern unter",es:"Guardar como",fr:"Enregistrer sous",it:"Salva con nome",da:"Gem som",pl:"Zapisz jako",ru:"Сохранить как",ar:"حفظ باسم",no:"Lagre som","pt-BR":"Salvar como",th:"บันทึกเป็น",tr:"Farklı Kaydet",uk:"Зберегти як"},"ui.saveAsMd":{zh:"Markdown 文件",en:"Markdown File","zh-TW":"Markdown 檔案",ko:"Markdown 파일",ja:"Markdown ファイル",de:"Markdown-Datei",es:"Archivo Markdown",fr:"Fichier Markdown",it:"File Markdown",da:"Markdown-fil",pl:"Plik Markdown",ru:"Файл Markdown",ar:"ملف Markdown",no:"Markdown-fil","pt-BR":"Arquivo Markdown",th:"ไฟล์ Markdown",tr:"Markdown Dosyası",uk:"Файл Markdown"},"ui.saveToProject":{zh:"保存到项目",en:"Save to Project","zh-TW":"儲存到專案",ko:"프로젝트에 저장",ja:"プロジェクトに保存",de:"Im Projekt speichern",es:"Guardar en proyecto",fr:"Enregistrer dans le projet",it:"Salva nel progetto",da:"Gem i projekt",pl:"Zapisz w projekcie",ru:"Сохранить в проект",ar:"حفظ في المشروع",no:"Lagre i prosjekt","pt-BR":"Salvar no projeto",th:"บันทึกลงโปรเจกต์",tr:"Projeye Kaydet",uk:"Зберегти в проект"},"ui.saveToProject.prompt":{zh:"输入文件名(保存到项目根目录):",en:"Enter filename (save to project root):","zh-TW":"輸入檔名(儲存到專案根目錄):",ko:"파일 이름 입력 (프로젝트 루트에 저장):",ja:"ファイル名を入力(プロジェクトルートに保存):",de:"Dateiname eingeben (im Projektstamm speichern):",es:"Ingrese nombre de archivo (guardar en raíz del proyecto):",fr:"Entrez le nom du fichier (enregistrer à la racine du projet) :",it:"Inserisci nome file (salva nella root del progetto):",da:"Indtast filnavn (gem i projektrod):",pl:"Wpisz nazwę pliku (zapisz w katalogu głównym projektu):",ru:"Введите имя файла (сохранить в корне проекта):",ar:"أدخل اسم الملف (حفظ في جذر المشروع):",no:"Skriv inn filnavn (lagre i prosjektrot):","pt-BR":"Digite o nome do arquivo (salvar na raiz do projeto):",th:"กรอกชื่อไฟล์ (บันทึกที่รากโปรเจกต์):",tr:"Dosya adı girin (proje kök dizinine kaydet):",uk:"Введіть ім'я файлу (зберегти в корені проекту):"},"ui.saveToProject.success":{zh:"已保存: {{name}}",en:"Saved: {{name}}","zh-TW":"已儲存: {{name}}",ko:"저장됨: {{name}}",ja:"保存しました: {{name}}",de:"Gespeichert: {{name}}",es:"Guardado: {{name}}",fr:"Enregistré : {{name}}",it:"Salvato: {{name}}",da:"Gemt: {{name}}",pl:"Zapisano: {{name}}",ru:"Сохранено: {{name}}",ar:"تم الحفظ: {{name}}",no:"Lagret: {{name}}","pt-BR":"Salvo: {{name}}",th:"บันทึกแล้ว: {{name}}",tr:"Kaydedildi: {{name}}",uk:"Збережено: {{name}}"},"ui.saveAsImage":{zh:"保存为图片",en:"Save as Image","zh-TW":"儲存為圖片",ko:"이미지로 저장",ja:"画像として保存",de:"Als Bild speichern",es:"Guardar como imagen",fr:"Enregistrer comme image",it:"Salva come immagine",da:"Gem som billede",pl:"Zapisz jako obraz",ru:"Сохранить как изображение",ar:"حفظ كصورة",no:"Lagre som bilde","pt-BR":"Salvar como imagem",th:"บันทึกเป็นรูปภาพ",tr:"Resim olarak kaydet",uk:"Зберегти як зображення"},"ui.contextMenu.revealInExplorer":{zh:"在系统中展示",en:"Reveal in Explorer","zh-TW":"在系統中顯示",ko:"탐색기에서 표시",ja:"エクスプローラーで表示",de:"Im Explorer anzeigen",es:"Mostrar en explorador",fr:"Afficher dans l'explorateur",it:"Mostra nel Finder",da:"Vis i Finder",pl:"Pokaż w eksploratorze",ru:"Показать в проводнике",ar:"عرض في المستكشف",no:"Vis i Finder","pt-BR":"Mostrar no explorador",th:"แสดงในตัวจัดการไฟล์",tr:"Dosya yöneticisinde göster",uk:"Показати у провіднику"},"ui.contextMenu.copyPath":{zh:"复制路径",en:"Copy Path","zh-TW":"複製路徑",ko:"경로 복사",ja:"パスをコピー",de:"Pfad kopieren",es:"Copiar ruta",fr:"Copier le chemin",it:"Copia percorso",da:"Kopiér sti",pl:"Kopiuj ścieżkę",ru:"Копировать путь",ar:"نسخ المسار",no:"Kopier sti","pt-BR":"Copiar caminho",th:"คัดลอกเส้นทาง",tr:"Yolu kopyala",uk:"Копіювати шлях"},"ui.contextMenu.copyRelativePath":{zh:"复制相对路径",en:"Copy Relative Path","zh-TW":"複製相對路徑",ko:"상대 경로 복사",ja:"相対パスをコピー",de:"Relativen Pfad kopieren",es:"Copiar ruta relativa",fr:"Copier le chemin relatif",it:"Copia percorso relativo",da:"Kopiér relativ sti",pl:"Kopiuj ścieżkę względną",ru:"Копировать относительный путь",ar:"نسخ المسار النسبي",no:"Kopier relativ sti","pt-BR":"Copiar caminho relativo",th:"คัดลอกเส้นทางสัมพัทธ์",tr:"Göreli yolu kopyala",uk:"Копіювати відносний шлях"},"ui.contextMenu.rename":{zh:"重命名",en:"Rename","zh-TW":"重新命名",ko:"이름 바꾸기",ja:"名前を変更",de:"Umbenennen",es:"Renombrar",fr:"Renommer",it:"Rinomina",da:"Omdøb",pl:"Zmień nazwę",ru:"Переименовать",ar:"إعادة تسمية",no:"Gi nytt navn","pt-BR":"Renomear",th:"เปลี่ยนชื่อ",tr:"Yeniden adlandır",uk:"Перейменувати"},"ui.contextMenu.attachToChat":{zh:"以附件形式载入对话",en:"Attach to chat","zh-TW":"以附件形式載入對話",ko:"대화에 첨부",ja:"チャットに添付",de:"An Chat anhängen",es:"Adjuntar al chat",fr:"Joindre au chat",it:"Allega alla chat",da:"Vedhæft til chat",pl:"Dołącz do czatu",ru:"Прикрепить к чату",ar:"إرفاق بالمحادثة",no:"Legg ved i chat","pt-BR":"Anexar ao chat",th:"แนบไปยังแชท",tr:"Sohbete ekle",uk:"Прикріпити до чату"},"ui.contextMenu.insertPathToChat":{zh:"以路径形式载入对话",en:"Insert path to chat","zh-TW":"以路徑形式載入對話",ko:"경로를 대화에 삽입",ja:"パスをチャットに挿入",de:"Pfad in Chat einfügen",es:"Insertar ruta en el chat",fr:"Insérer le chemin dans le chat",it:"Inserisci percorso nella chat",da:"Indsæt sti i chat",pl:"Wstaw ścieżkę do czatu",ru:"Вставить путь в чат",ar:"إدراج المسار في المحادثة",no:"Sett inn bane i chat","pt-BR":"Inserir caminho no chat",th:"แทรกเส้นทางไปยังแชท",tr:"Yolu sohbete ekle",uk:"Вставити шлях у чат"},"ui.contextMenu.delete":{zh:"删除",en:"Delete","zh-TW":"刪除",ko:"삭제",ja:"削除",de:"Löschen",es:"Eliminar",fr:"Supprimer",it:"Elimina",da:"Slet",pl:"Usuń",ru:"Удалить",ar:"حذف",no:"Slett","pt-BR":"Excluir",th:"ลบ",tr:"Sil",uk:"Видалити"},"ui.contextMenu.deleteConfirm":{zh:"确定要删除 {name} 吗?",en:"Are you sure you want to delete {name}?","zh-TW":"確定要刪除 {name} 嗎?",ko:"{name}을(를) 삭제하시겠습니까?",ja:"{name} を削除しますか?",de:"Möchten Sie {name} wirklich löschen?",es:"¿Está seguro de que desea eliminar {name}?",fr:"Voulez-vous vraiment supprimer {name} ?",it:"Sei sicuro di voler eliminare {name}?",da:"Er du sikker på, at du vil slette {name}?",pl:"Czy na pewno chcesz usunąć {name}?",ru:"Вы уверены, что хотите удалить {name}?",ar:"هل أنت متأكد من حذف {name}؟",no:"Er du sikker på at du vil slette {name}?","pt-BR":"Tem certeza de que deseja excluir {name}?",th:"คุณแน่ใจหรือว่าต้องการลบ {name}?",tr:"{name} silinsin mi?",uk:"Ви впевнені, що хочете видалити {name}?"},"ui.contextMenu.newFile":{zh:"新建文件",en:"New File","zh-TW":"新建檔案",ko:"새 파일",ja:"新規ファイル",de:"Neue Datei",es:"Nuevo archivo",fr:"Nouveau fichier",it:"Nuovo file",da:"Ny fil",pl:"Nowy plik",ru:"Новый файл",ar:"ملف جديد",no:"Ny fil","pt-BR":"Novo arquivo",th:"ไฟล์ใหม่",tr:"Yeni dosya",uk:"Новий файл"},"ui.contextMenu.newDir":{zh:"新建文件夹",en:"New Folder","zh-TW":"新建資料夾",ko:"새 폴더",ja:"新規フォルダ",de:"Neuer Ordner",es:"Nueva carpeta",fr:"Nouveau dossier",it:"Nuova cartella",da:"Ny mappe",pl:"Nowy folder",ru:"Новая папка",ar:"مجلد جديد",no:"Ny mappe","pt-BR":"Nova pasta",th:"โฟลเดอร์ใหม่",tr:"Yeni klasör",uk:"Нова папка"},"ui.contextMenu.openTerminal":{zh:"在终端中打开",en:"Open in Terminal","zh-TW":"在終端機中開啟",ko:"터미널에서 열기",ja:"ターミナルで開く",de:"Im Terminal öffnen",es:"Abrir en terminal",fr:"Ouvrir dans le terminal",it:"Apri nel terminale",da:"Åbn i terminal",pl:"Otwórz w terminalu",ru:"Открыть в терминале",ar:"فتح في الطرفية",no:"Åpne i terminal","pt-BR":"Abrir no terminal",th:"เปิดในเทอร์มินัล",tr:"Terminalde aç",uk:"Відкрити в терміналі"},"ui.contextMenu.deleteDirConfirm":{zh:"确定要删除文件夹 {name} 及其所有内容吗?",en:"Delete folder {name} and all its contents?","zh-TW":"確定要刪除資料夾 {name} 及其所有內容嗎?",ko:"폴더 {name}과(와) 모든 내용을 삭제하시겠습니까?",ja:"フォルダ {name} とその中身をすべて削除しますか?",de:"Ordner {name} und gesamten Inhalt löschen?",es:"¿Eliminar la carpeta {name} y todo su contenido?",fr:"Supprimer le dossier {name} et tout son contenu ?",it:"Eliminare la cartella {name} e tutto il suo contenuto?",da:"Slet mappen {name} og alt indhold?",pl:"Usunąć folder {name} i całą jego zawartość?",ru:"Удалить папку {name} и всё её содержимое?",ar:"حذف المجلد {name} وجميع محتوياته؟",no:"Slette mappen {name} og alt innhold?","pt-BR":"Excluir a pasta {name} e todo o seu conteúdo?",th:"ลบโฟลเดอร์ {name} และเนื้อหาทั้งหมด?",tr:"{name} klasörü ve tüm içeriği silinsin mi?",uk:"Видалити папку {name} та весь її вміст?"},"ui.noHeaders":{zh:"无 Headers",en:"No Headers","zh-TW":"無 Headers",ko:"Headers 없음",ja:"Headers なし",de:"Keine Headers",es:"Sin Headers",fr:"Pas de Headers",it:"Nessun Header",da:"Ingen Headers",pl:"Brak Headers",ru:"Нет Headers",ar:"لا يوجد Headers",no:"Ingen Headers","pt-BR":"Sem Headers",th:"ไม่มี Headers",tr:"Header yok",uk:"Немає Headers"},"ui.noBody":{zh:"无 Body",en:"No Body","zh-TW":"無 Body",ko:"Body 없음",ja:"Body なし",de:"Kein Body",es:"Sin Body",fr:"Pas de Body",it:"Nessun Body",da:"Ingen Body",pl:"Brak Body",ru:"Нет Body",ar:"لا يوجد Body",no:"Ingen Body","pt-BR":"Sem Body",th:"ไม่มี Body",tr:"Body yok",uk:"Немає Body"},"ui.streamingResponse":{zh:"⚡ 流式响应 — 此请求使用了 SSE 流式传输,响应内容无法完整捕获。",en:"⚡ Streaming response — This request used SSE streaming, response content cannot be fully captured.","zh-TW":"⚡ 串流回應 — 此請求使用了 SSE 串流傳輸,回應內容無法完整擷取。",ko:"⚡ 스트리밍 응답 — 이 요청은 SSE 스트리밍을 사용하여 응답 내용을 완전히 캡처할 수 없습니다.",ja:"⚡ ストリーミングレスポンス — このリクエストは SSE ストリーミングを使用しており、レスポンス内容を完全にキャプチャできませんでした。",de:"⚡ Streaming-Antwort — Diese Anfrage nutzte SSE-Streaming, der Antwortinhalt konnte nicht vollständig erfasst werden.",es:"⚡ Respuesta en streaming — Esta solicitud usó streaming SSE, el contenido de la respuesta no se pudo capturar completamente.",fr:"⚡ Réponse en streaming — Cette requête a utilisé le streaming SSE, le contenu de la réponse n'a pas pu être entièrement capturé.",it:"⚡ Risposta in streaming — Questa richiesta ha utilizzato lo streaming SSE, il contenuto della risposta non può essere catturato completamente.",da:"⚡ Streaming-svar — Denne forespørgsel brugte SSE-streaming, svarindholdet kunne ikke fuldt indfanges.",pl:"⚡ Odpowiedź strumieniowa — To żądanie użyło strumieniowania SSE, treść odpowiedzi nie mogła zostać w pełni przechwycona.",ru:"⚡ Потоковый ответ — Этот запрос использовал SSE-потоковую передачу, содержимое ответа не может быть полностью захвачено.",ar:"⚡ استجابة متدفقة — استخدم هذا الطلب بث SSE، لا يمكن التقاط محتوى الاستجابة بالكامل.",no:"⚡ Strømmesvar — Denne forespørselen brukte SSE-strømming, svarinnholdet kunne ikke fanges fullstendig.","pt-BR":"⚡ Resposta em streaming — Esta requisição usou streaming SSE, o conteúdo da resposta não pôde ser totalmente capturado.",th:"⚡ การตอบกลับแบบสตรีม — คำขอนี้ใช้ SSE streaming เนื้อหาการตอบกลับไม่สามารถจับได้ทั้งหมด",tr:"⚡ Akış yanıtı — Bu istek SSE akışı kullandı, yanıt içeriği tam olarak yakalanamadı.",uk:"⚡ Потокова відповідь — Цей запит використовував SSE-потокову передачу, вміст відповіді не може бути повністю захоплений."},"ui.responseNotCaptured":{zh:"响应数据未捕获",en:"Response not captured","zh-TW":"回應資料未擷取",ko:"응답 데이터 미캡처",ja:"レスポンスデータ未キャプチャ",de:"Antwortdaten nicht erfasst",es:"Datos de respuesta no capturados",fr:"Données de réponse non capturées",it:"Dati di risposta non catturati",da:"Svardata ikke indfanget",pl:"Dane odpowiedzi nie przechwycone",ru:"Данные ответа не захвачены",ar:"لم يتم التقاط بيانات الاستجابة",no:"Svardata ikke fanget","pt-BR":"Dados de resposta não capturados",th:"ไม่ได้จับข้อมูลการตอบกลับ",tr:"Yanıt verileri yakalanamadı",uk:"Дані відповіді не захоплені"},"ui.expand":{zh:"▶ 展开",en:"▶ Expand","zh-TW":"▶ 展開",ko:"▶ 펼치기",ja:"▶ 展開",de:"▶ Aufklappen",es:"▶ Expandir",fr:"▶ Déplier",it:"▶ Espandi",da:"▶ Udvid",pl:"▶ Rozwiń",ru:"▶ Развернуть",ar:"▶ توسيع",no:"▶ Utvid","pt-BR":"▶ Expandir",th:"▶ ขยาย",tr:"▶ Genişlet",uk:"▶ Розгорнути"},"ui.collapse":{zh:"▼ 收起",en:"▼ Collapse","zh-TW":"▼ 收起",ko:"▼ 접기",ja:"▼ 折りたたむ",de:"▼ Zuklappen",es:"▼ Contraer",fr:"▼ Replier",it:"▼ Comprimi",da:"▼ Fold sammen",pl:"▼ Zwiń",ru:"▼ Свернуть",ar:"▼ طي",no:"▼ Skjul","pt-BR":"▼ Recolher",th:"▼ ย่อ",tr:"▼ Daralt",uk:"▼ Згорнути"},"ui.noChat":{zh:"暂无 MainAgent 对话数据",en:"No MainAgent conversation data","zh-TW":"暫無 MainAgent 對話資料",ko:"MainAgent 대화 데이터 없음",ja:"MainAgent の会話データがありません",de:"Keine MainAgent-Gesprächsdaten",es:"Sin datos de conversación de MainAgent",fr:"Aucune donnée de conversation MainAgent",it:"Nessun dato di conversazione MainAgent",da:"Ingen MainAgent samtaledata",pl:"Brak danych rozmowy MainAgent",ru:"Нет данных диалога MainAgent",ar:"لا توجد بيانات محادثة MainAgent",no:"Ingen MainAgent samtaledata","pt-BR":"Sem dados de conversa do MainAgent",th:"ไม่มีข้อมูลการสนทนา MainAgent",tr:"MainAgent konuşma verisi yok",uk:"Немає даних діалогу MainAgent"},"ui.fileExplorer":{zh:"文件浏览器",en:"File Explorer","zh-TW":"檔案瀏覽器",ko:"파일 탐색기",ja:"ファイルエクスプローラー",de:"Datei-Explorer",es:"Explorador de archivos",fr:"Explorateur de fichiers",it:"Esplora file",da:"Filstifinder",pl:"Eksplorator plików",ru:"Проводник",ar:"مستكشف الملفات",no:"Filutforsker","pt-BR":"Explorador de arquivos",th:"ตัวสำรวจไฟล์",tr:"Dosya Gezgini",uk:"Провідник файлів"},"ui.teamSessions":{zh:"Team 会话",en:"Team Sessions","zh-TW":"Team 會話",ko:"Team 세션",ja:"Team セッション",de:"Team-Sitzungen",es:"Sesiones de Team",fr:"Sessions d'équipe",it:"Sessioni Team",da:"Team-sessioner",pl:"Sesje Team",ru:"Сессии команды",ar:"جلسات الفريق",no:"Team-økter","pt-BR":"Sessões de equipe",th:"เซสชัน Team",tr:"Takım oturumları",uk:"Сесії команди"},"ui.exportTimelinePng":{zh:"导出为 PNG",en:"Export as PNG","zh-TW":"匯出為 PNG",ko:"PNG로 내보내기",ja:"PNGとして書き出し",de:"Als PNG exportieren",es:"Exportar como PNG",fr:"Exporter en PNG",it:"Esporta come PNG",da:"Eksporter som PNG",pl:"Eksportuj jako PNG",ru:"Экспорт в PNG",ar:"تصدير كـ PNG",no:"Eksporter som PNG","pt-BR":"Exportar como PNG",th:"ส่งออกเป็น PNG",tr:"PNG olarak dışa aktar",uk:"Експорт у PNG"},"ui.gitChanges":{zh:"Git 变更",en:"Git Changes","zh-TW":"Git 變更",ko:"Git 변경사항",ja:"Git 変更",de:"Git-Änderungen",es:"Cambios de Git",fr:"Modifications Git",it:"Modifiche Git",da:"Git-ændringer",pl:"Zmiany Git",ru:"Изменения Git",ar:"تغييرات Git",no:"Git-endringer","pt-BR":"Alterações do Git",th:"การเปลี่ยนแปลง Git",tr:"Git Değişiklikleri",uk:"Зміни Git"},"ui.gitChanges.openFile":{zh:"打开文件",en:"Open File","zh-TW":"開啟檔案",ko:"파일 열기",ja:"ファイルを開く",de:"Datei öffnen",es:"Abrir archivo",fr:"Ouvrir le fichier",it:"Apri file",da:"Åbn fil",pl:"Otwórz plik",ru:"Открыть файл",ar:"فتح الملف",no:"Åpne fil","pt-BR":"Abrir arquivo",th:"เปิดไฟล์",tr:"Dosyayı aç",uk:"Відкрити файл"},"ui.gitChanges.restoreFile":{zh:"撤销变更",en:"Discard Changes","zh-TW":"撤銷變更",ko:"변경 취소",ja:"変更を破棄",de:"Änderungen verwerfen",es:"Descartar cambios",fr:"Annuler les modifications",it:"Annulla modifiche",da:"Forkast ændringer",pl:"Odrzuć zmiany",ru:"Отменить изменения",ar:"تجاهل التغييرات",no:"Forkast endringer","pt-BR":"Descartar alterações",th:"ยกเลิกการเปลี่ยนแปลง",tr:"Değişiklikleri geri al",uk:"Скасувати зміни"},"ui.gitChanges.restoreConfirm":{zh:"确定要撤销 {name} 的所有变更吗?此操作不可恢复。",en:"Discard all changes to {name}? This cannot be undone.","zh-TW":"確定要撤銷 {name} 的所有變更嗎?此操作不可恢復。",ko:"{name}의 모든 변경 사항을 취소하시겠습니까? 이 작업은 되돌릴 수 없습니다.",ja:"{name} のすべての変更を破棄しますか?この操作は元に戻せません。",de:"Alle Änderungen an {name} verwerfen? Dies kann nicht rückgängig gemacht werden.",es:"¿Descartar todos los cambios en {name}? Esta acción no se puede deshacer.",fr:"Annuler toutes les modifications de {name} ? Cette action est irréversible.",it:"Annullare tutte le modifiche a {name}? Questa azione non può essere annullata.",da:"Forkast alle ændringer i {name}? Dette kan ikke fortrydes.",pl:"Odrzucić wszystkie zmiany w {name}? Tej operacji nie można cofnąć.",ru:"Отменить все изменения в {name}? Это действие необратимо.",ar:"تجاهل جميع التغييرات في {name}؟ لا يمكن التراجع عن هذا الإجراء.",no:"Forkaste alle endringer i {name}? Dette kan ikke angres.","pt-BR":"Descartar todas as alterações em {name}? Esta ação não pode ser desfeita.",th:"ยกเลิกการเปลี่ยนแปลงทั้งหมดของ {name}? การดำเนินการนี้ไม่สามารถเลิกทำได้",tr:"{name} dosyasındaki tüm değişiklikler geri alınsın mı? Bu işlem geri alınamaz.",uk:"Скасувати всі зміни в {name}? Цю дію неможливо скасувати."},"ui.roleFilter":{zh:"角色筛选",en:"Role Filter","zh-TW":"角色篩選",ko:"역할 필터",ja:"ロールフィルター",de:"Rollenfilter",es:"Filtro de roles",fr:"Filtre de rôles",it:"Filtro ruoli",da:"Rollefilter",pl:"Filtr ról",ru:"Фильтр ролей",ar:"تصفية الأدوار",no:"Rollefilter","pt-BR":"Filtro de papéis",th:"ตัวกรองบทบาท",tr:"Rol Filtresi",uk:"Фільтр ролей"},"ui.binaryFileNotice":{zh:"二进制文件(无法显示差异)",en:"Binary file (cannot show diff)","zh-TW":"二進位檔案(無法顯示差異)",ko:"바이너리 파일 (차이점 표시 불가)",ja:"バイナリファイル(差分を表示できません)",de:"Binärdatei (Diff kann nicht angezeigt werden)",es:"Archivo binario (no se puede mostrar diff)",fr:"Fichier binaire (impossible d'afficher les différences)",it:"File binario (impossibile mostrare diff)",da:"Binær fil (kan ikke vise diff)",pl:"Plik binarny (nie można pokazać różnic)",ru:"Двоичный файл (невозможно показать различия)",ar:"ملف ثنائي (لا يمكن عرض الفروقات)",no:"Binær fil (kan ikke vise diff)","pt-BR":"Arquivo binário (não é possível mostrar diff)",th:"ไฟล์ไบนารี (ไม่สามารถแสดง diff)",tr:"İkili dosya (diff gösterilemiyor)",uk:"Двійковий файл (неможливо показати різниці)"},"ui.largeFileWarning":{zh:"文件过大(超过 5MB),无法显示差异",en:"File too large (over 5MB), cannot show diff","zh-TW":"檔案過大(超過 5MB),無法顯示差異",ko:"파일이 너무 큽니다 (5MB 초과), 차이점 표시 불가",ja:"ファイルが大きすぎます(5MB超)、差分を表示できません",de:"Datei zu groß (über 5MB), Diff kann nicht angezeigt werden",es:"Archivo demasiado grande (más de 5MB), no se puede mostrar diff",fr:"Fichier trop volumineux (plus de 5 Mo), impossible d'afficher les différences",it:"File troppo grande (oltre 5MB), impossibile mostrare diff",da:"Fil for stor (over 5MB), kan ikke vise diff",pl:"Plik zbyt duży (ponad 5MB), nie można pokazać różnic",ru:"Файл слишком большой (более 5 МБ), невозможно показать различия",ar:"الملف كبير جدًا (أكثر من 5 ميجابايت)، لا يمكن عرض الفروقات",no:"Fil for stor (over 5MB), kan ikke vise diff","pt-BR":"Arquivo muito grande (mais de 5MB), não é possível mostrar diff",th:"ไฟล์ใหญ่เกินไป (เกิน 5MB) ไม่สามารถแสดง diff",tr:"Dosya çok büyük (5MB üzeri), diff gösterilemiyor",uk:"Файл занадто великий (понад 5 МБ), неможливо показати різниці"},"ui.fileSize":{zh:"文件大小",en:"File size","zh-TW":"檔案大小",ko:"파일 크기",ja:"ファイルサイズ",de:"Dateigröße",es:"Tamaño del archivo",fr:"Taille du fichier",it:"Dimensione file",da:"Filstørrelse",pl:"Rozmiar pliku",ru:"Размер файла",ar:"حجم الملف",no:"Filstørrelse","pt-BR":"Tamanho do arquivo",th:"ขนาดไฟล์",tr:"Dosya boyutu",uk:"Розмір файлу"},"ui.fileLoadError":{zh:"文件加载失败",en:"Failed to load file","zh-TW":"檔案載入失敗",ko:"파일 로드 실패",ja:"ファイルの読み込みに失敗しました",de:"Datei konnte nicht geladen werden",es:"Error al cargar el archivo",fr:"Échec du chargement du fichier",it:"Impossibile caricare il file",da:"Kunne ikke indlæse fil",pl:"Nie udało się załadować pliku",ru:"Не удалось загрузить файл",ar:"فشل تحميل الملف",no:"Kunne ikke laste inn fil","pt-BR":"Falha ao carregar arquivo",th:"โหลดไฟล์ล้มเหลว",tr:"Dosya yüklenemedi",uk:"Не вдалося завантажити файл"},"ui.renameFailed":{zh:"重命名失败:{error}",en:"Rename failed: {error}","zh-TW":"重新命名失敗:{error}",ko:"이름 변경 실패: {error}",ja:"名前の変更に失敗しました:{error}",de:"Umbenennung fehlgeschlagen: {error}",es:"Error al renombrar: {error}",fr:"Échec du renommage : {error}",it:"Rinomina non riuscita: {error}",da:"Omdøbning mislykkedes: {error}",pl:"Zmiana nazwy nie powiodła się: {error}",ru:"Не удалось переименовать: {error}",ar:"فشل إعادة التسمية: {error}",no:"Kunne ikke gi nytt navn: {error}","pt-BR":"Falha ao renomear: {error}",th:"เปลี่ยนชื่อล้มเหลว: {error}",tr:"Yeniden adlandırma başarısız: {error}",uk:"Не вдалося перейменувати: {error}"},"ui.targetExists":{zh:"目标文件已存在",en:"Target already exists","zh-TW":"目標檔案已存在",ko:"대상이 이미 존재합니다",ja:"対象はすでに存在します",de:"Ziel existiert bereits",es:"El destino ya existe",fr:"La cible existe déjà",it:"La destinazione esiste già",da:"Destinationen eksisterer allerede",pl:"Cel już istnieje",ru:"Цель уже существует",ar:"الهدف موجود بالفعل",no:"Målet finnes allerede","pt-BR":"O destino já existe",th:"เป้าหมายมีอยู่แล้ว",tr:"Hedef zaten mevcut",uk:"Ціль вже існує"},"ui.backToChat":{zh:"返回对话",en:"Back to chat","zh-TW":"返回對話",ko:"채팅으로 돌아가기",ja:"チャットに戻る",de:"Zurück zum Chat",es:"Volver al chat",fr:"Retour au chat",it:"Torna alla chat",da:"Tilbage til chat",pl:"Powrót do czatu",ru:"Вернуться к чату",ar:"العودة إلى الدردشة",no:"Tilbake til chat","pt-BR":"Voltar ao chat",th:"กลับไปที่แชท",tr:"Sohbete dön",uk:"Повернутися до чату"},"ui.imageViewer.zoomIn":{zh:"放大",en:"Zoom in","zh-TW":"放大",ko:"확대",ja:"拡大",de:"Vergrößern",es:"Acercar",fr:"Zoom avant",it:"Ingrandisci",da:"Zoom ind",pl:"Powiększ",ru:"Увеличить",ar:"تكبير",no:"Zoom inn","pt-BR":"Aumentar zoom",th:"ซูมเข้า",tr:"Yakınlaştır",uk:"Збільшити"},"ui.imageViewer.zoomOut":{zh:"缩小",en:"Zoom out","zh-TW":"縮小",ko:"축소",ja:"縮小",de:"Verkleinern",es:"Alejar",fr:"Zoom arrière",it:"Riduci",da:"Zoom ud",pl:"Pomniejsz",ru:"Уменьшить",ar:"تصغير",no:"Zoom ut","pt-BR":"Diminuir zoom",th:"ซูมออก",tr:"Uzaklaştır",uk:"Зменшити"},"ui.imageViewer.resetZoom":{zh:"重置缩放",en:"Reset zoom","zh-TW":"重置縮放",ko:"확대/축소 초기화",ja:"ズームをリセット",de:"Zoom zurücksetzen",es:"Restablecer zoom",fr:"Réinitialiser le zoom",it:"Reimposta zoom",da:"Nulstil zoom",pl:"Resetuj zoom",ru:"Сбросить масштаб",ar:"إعادة تعيين التكبير",no:"Tilbakestill zoom","pt-BR":"Redefinir zoom",th:"รีเซ็ตการซูม",tr:"Yakınlaştırmayı sıfırla",uk:"Скинути масштаб"},"ui.imageViewer.fitToWindow":{zh:"适应窗口",en:"Fit to window","zh-TW":"適應視窗",ko:"창에 맞추기",ja:"ウィンドウに合わせる",de:"An Fenster anpassen",es:"Ajustar a ventana",fr:"Ajuster à la fenêtre",it:"Adatta alla finestra",da:"Tilpas til vindue",pl:"Dopasuj do okna",ru:"По размеру окна",ar:"ملاءمة النافذة",no:"Tilpass til vindu","pt-BR":"Ajustar à janela",th:"พอดีกับหน้าต่าง",tr:"Pencereye sığdır",uk:"Вписати у вікно"},"ui.imageLightbox.close":{zh:"关闭",en:"Close","zh-TW":"關閉",ko:"닫기",ja:"閉じる",de:"Schließen",es:"Cerrar",fr:"Fermer",it:"Chiudi",da:"Luk",pl:"Zamknij",ru:"Закрыть",ar:"إغلاق",no:"Lukk","pt-BR":"Fechar",th:"ปิด",tr:"Kapat",uk:"Закрити"},"ui.loading":{zh:"加载中...",en:"Loading...","zh-TW":"載入中...",ko:"로딩 중...",ja:"読み込み中...",de:"Lädt...",es:"Cargando...",fr:"Chargement...",it:"Caricamento...",da:"Indlæser...",pl:"Ładowanie...",ru:"Загрузка...",ar:"جارٍ التحميل...",no:"Laster...","pt-BR":"Carregando...",th:"กำลังโหลด...",tr:"Yükleniyor...",uk:"Завантаження..."},"ui.save":{zh:"保存",en:"Save","zh-TW":"儲存",ko:"저장",ja:"保存",de:"Speichern",es:"Guardar",fr:"Enregistrer",it:"Salva",da:"Gem",pl:"Zapisz",ru:"Сохранить",ar:"حفظ",no:"Lagre","pt-BR":"Salvar",th:"บันทึก",tr:"Kaydet",uk:"Зберегти"},"ui.saving":{zh:"保存中...",en:"Saving...","zh-TW":"儲存中...",ko:"저장 중...",ja:"保存中...",de:"Speichert...",es:"Guardando...",fr:"Enregistrement...",it:"Salvataggio...",da:"Gemmer...",pl:"Zapisywanie...",ru:"Сохранение...",ar:"جارٍ الحفظ...",no:"Lagrer...","pt-BR":"Salvando...",th:"กำลังบันทึก...",tr:"Kaydediliyor...",uk:"Збереження..."},"ui.saved":{zh:"已保存",en:"Saved","zh-TW":"已儲存",ko:"저장됨",ja:"保存済み",de:"Gespeichert",es:"Guardado",fr:"Enregistré",it:"Salvato",da:"Gemt",pl:"Zapisano",ru:"Сохранено",ar:"تم الحفظ",no:"Lagret","pt-BR":"Salvo",th:"บันทึกแล้ว",tr:"Kaydedildi",uk:"Збережен��"},"ui.saveFailed":{zh:"保存失败",en:"Save failed","zh-TW":"儲存失敗",ko:"저장 실패",ja:"保存失敗",de:"Speichern fehlgeschlagen",es:"Error al guardar",fr:"Échec de l'enregistrement",it:"Salvataggio fallito",da:"Gem mislykkedes",pl:"Zapis nieudany",ru:"Ошибка сохранения",ar:"فشل الحفظ",no:"Lagring mislyktes","pt-BR":"Falha ao salvar",th:"บันทึกล้มเหลว",tr:"Kaydetme başarısız",uk:"Помилка збереження"},"ui.viewMarkdown":{zh:"Markdown",en:"Markdown","zh-TW":"Markdown",ko:"Markdown",ja:"Markdown",de:"Markdown",es:"Markdown",fr:"Markdown",it:"Markdown",da:"Markdown",pl:"Markdown",ru:"Markdown",ar:"Markdown",no:"Markdown","pt-BR":"Markdown",th:"Markdown",tr:"Markdown",uk:"Markdown"},"ui.viewText":{zh:"文本编辑",en:"Edit Text","zh-TW":"文字編輯",ko:"텍스트 편집",ja:"テキスト編集",de:"Text bearbeiten",es:"Editar texto",fr:"Éditer le texte",it:"Modifica testo",da:"Rediger tekst",pl:"Edytuj tekst",ru:"Редактировать",ar:"تحرير النص",no:"Rediger tekst","pt-BR":"Editar texto",th:"แก้ไขข้อความ",tr:"Metni düzenle",uk:"Редагувати"},"ui.unsavedChanges":{zh:"未保存的更改",en:"Unsaved changes","zh-TW":"未儲存的變更",ko:"저장되지 않은 변경사항",ja:"未保存の変更",de:"Nicht gespeicherte Änderungen",es:"Cambios sin guardar",fr:"Modifications non enregistrées",it:"Modifiche non salvate",da:"Ikke-gemte ændringer",pl:"Niezapisane zmiany",ru:"Несохранённые изменения",ar:"تغييرات غير محفوظة",no:"Ulagrede endringer","pt-BR":"Alterações não salvas",th:"การเปลี่ยนแปลงที่ยังไม่ได้บันทึก",tr:"Kaydedilmemiş değişiklikler",uk:"Незбережені зміни"},"ui.terminal.exited":{zh:"[进程已退出,退出码: {code}]",en:"[Process exited with code {code}]","zh-TW":"[程序已退出,退出碼: {code}]",ko:"[프로세스가 코드 {code}(으)로 종료되었습니다]",ja:"[プロセスがコード {code} で終了しました]",de:"[Prozess mit Code {code} beendet]",es:"[Proceso finalizado con código {code}]",fr:"[Processus terminé avec le code {code}]",it:"[Processo terminato con codice {code}]",da:"[Proces afsluttet med kode {code}]",pl:"[Proces zakończony z kodem {code}]",ru:"[Процесс завершился с кодом {code}]",ar:"[انتهت العملية برمز {code}]",no:"[Prosess avsluttet med kode {code}]","pt-BR":"[Processo encerrado com código {code}]",th:"[กระบวนการออกด้วยรหัส {code}]",tr:"[İşlem {code} koduyla çıkış yaptı]",uk:"[Процес завершився з кодом {code}]"},"ui.terminal.pressEnterForShell":{zh:"按 Enter 键启动新的 Shell 会话",en:"Press Enter to start a new shell session","zh-TW":"按 Enter 鍵啟動新的 Shell 會話",ko:"Enter를 눌러 새 셸 세션을 시작하세요",ja:"Enter キーを押して新しいシェルセッションを開始",de:"Drücken Sie Enter, um eine neue Shell-Sitzung zu starten",es:"Presione Enter para iniciar una nueva sesión de shell",fr:"Appuyez sur Entrée pour démarrer une nouvelle session shell",it:"Premi Invio per avviare una nuova sessione shell",da:"Tryk Enter for at starte en ny shell-session",pl:"Naciśnij Enter, aby uruchomić nową sesję powłoki",ru:"Нажмите Enter, чтобы запустить новую сессию оболочки",ar:"اضغط Enter لبدء جلسة shell جديدة",no:"Trykk Enter for å starte en ny shell-økt","pt-BR":"Pressione Enter para iniciar uma nova sessão de shell",th:"กด Enter เพื่อเริ่มเซสชัน Shell ใหม่",tr:"Yeni bir kabuk oturumu başlatmak için Enter'a basın",uk:"Натисніть Enter, щоб розпочати нову сесію оболонки"},"ui.diffSessionChanged":{zh:"请求体大小减小,可能使用了 /clear、/compact 或 session 发生了变化",en:"Request body size decreased, possibly due to /clear, /compact, or session change","zh-TW":"請求體大小減小,可能使用了 /clear、/compact 或 session 發生了變化",ko:"요청 본문 크기가 줄었습니다. /clear, /compact 또는 세션 변경이 있었을 수 있습니다",ja:"リクエストボディのサイズが減少しました。/clear、/compact、またはセッション変更の可能性があります",de:"Anfragekörper wurde kleiner, möglicherweise durch /clear, /compact oder Sitzungswechsel",es:"El tamaño del cuerpo de la solicitud disminuyó, posiblemente debido a /clear, /compact o cambio de sesión",fr:"La taille du corps de la requête a diminué, possiblement dû à /clear, /compact ou un changement de session",it:"La dimensione del corpo della richiesta è diminuita, probabilmente a causa di /clear, /compact o cambio di sessione",da:"Anmodningens størrelse er reduceret, muligvis på grund af /clear, /compact eller sessionsændring",pl:"Rozmiar treści żądania zmniejszył się, prawdopodobnie z powodu /clear, /compact lub zmiany sesji",ru:"Размер тела запроса уменьшился, возможно из-за /clear, /compact или смены сессии",ar:"حجم نص الطلب انخفض، ربما بسبب /clear أو /compact أو تغيير الجلسة",no:"Forespørselens størrelse ble redusert, muligens på grunn av /clear, /compact eller sesjonsendring","pt-BR":"O tamanho do corpo da requisição diminuiu, possivelmente devido a /clear, /compact ou mudança de sessão",th:"ขนาดเนื้อหาคำขอลดลง อาจเกิดจาก /clear, /compact หรือการเปลี่ยนเซสชัน",tr:"İstek gövdesi boyutu küçüldü, muhtemelen /clear, /compact veya oturum değişikliği nedeniyle",uk:"Розмір тіла запиту зменшився, можливо через /clear, /compact або зміну сесії"},"ui.resume.title":{zh:"检测到近期日志",en:"Recent Log Detected","zh-TW":"偵測到近期日誌",ko:"최근 로그 감지됨",ja:"最近のログを検出",de:"Kürzliches Log erkannt",es:"Log reciente detectado",fr:"Log récent détecté",it:"Log recente rilevato",da:"Nylig log fundet",pl:"Wykryto ostatni log",ru:"Обнаружен недавний лог",ar:"تم اكتشاف سجل حديث",no:"Nylig logg oppdaget","pt-BR":"Log recente detectado",th:"ตรวจพบล็อกล่าสุด",tr:"Son günlük tespit edildi",uk:"Виявлено нещодавній лог"},"ui.resume.message":{zh:"检测到1小时内的日志: {file},是否继续?",en:"Recent log found (within 1 hour): {file}. Continue?","zh-TW":"偵測到1小時內的日誌: {file},是否繼續?",ko:"1시간 이내 로그 감지: {file}. 계속하시겠습니까?",ja:"1時間以内のログを検出: {file}。続行しますか?",de:"Kürzliches Log gefunden (innerhalb 1 Stunde): {file}. Fortsetzen?",es:"Log reciente encontrado (dentro de 1 hora): {file}. ¿Continuar?",fr:"Log récent trouvé (moins d'1 heure): {file}. Continuer ?",it:"Log recente trovato (entro 1 ora): {file}. Continuare?",da:"Nylig log fundet (inden for 1 time): {file}. Fortsæt?",pl:"Znaleziono ostatni log (w ciągu 1 godziny): {file}. Kontynuować?",ru:"Обнаружен недавний лог (менее 1 часа): {file}. Продолжить?",ar:"تم العثور على سجل حديث (خلال ساعة واحدة): {file}. هل تريد المتابعة؟",no:"Nylig logg funnet (innen 1 time): {file}. Fortsette?","pt-BR":"Log recente encontrado (dentro de 1 hora): {file}. Continuar?",th:"พบล็อกล่าสุด (ภายใน 1 ชั่วโมง): {file} ต้องการดำเนินการต่อหรือไม่?",tr:"Son günlük bulundu (1 saat içinde): {file}. Devam edilsin mi?",uk:"Знайдено нещодавній лог (менше 1 години): {file}. Продовжити?"},"ui.resume.continue":{zh:"继续上次",en:"Continue","zh-TW":"繼續上次",ko:"이어서 계속",ja:"前回の続き",de:"Fortsetzen",es:"Continuar",fr:"Continuer",it:"Continua",da:"Fortsæt",pl:"Kontynuuj",ru:"Продолжить",ar:"متابعة",no:"Fortsett","pt-BR":"Continuar",th:"ดำเนินการต่อ",tr:"Devam et",uk:"Продовжити"},"ui.resume.new":{zh:"新开日志",en:"Start New","zh-TW":"新開日誌",ko:"새 로그 시작",ja:"新規ログ",de:"Neues Log",es:"Nuevo log",fr:"Nouveau log",it:"Nuovo log",da:"Ny log",pl:"Nowy log",ru:"Новый лог",ar:"سجل جديد",no:"Ny logg","pt-BR":"Novo log",th:"ล็อกใหม่",tr:"Yeni günlük",uk:"Новий лог"},"ui.resume.remember":{zh:"记住我的选择,下次默认跳过弹窗",en:"Remember my choice and skip this dialog next time","zh-TW":"記住我的選擇,下次預設跳過彈窗",ko:"내 선택을 기억하고 다음에 이 대화 상자 건너뛰기",ja:"選択を記憶し、次回このダイアログをスキップ",de:"Meine Wahl merken und diesen Dialog beim nächsten Mal überspringen",es:"Recordar mi elección y omitir este diálogo la próxima vez",fr:"Mémoriser mon choix et ignorer cette boîte de dialogue la prochaine fois",it:"Ricorda la mia scelta e salta questa finestra la prossima volta",da:"Husk mit valg og spring denne dialog over næste gang",pl:"Zapamiętaj mój wybór i pomiń to okno następnym razem",ru:"Запомнить мой выбор и пропустить этот диалог в следующий раз",ar:"تذكر اختياري وتخطي هذا الحوار في المرة القادمة",no:"Husk mitt valg og hopp over denne dialogen neste gang","pt-BR":"Lembrar minha escolha e pular este diálogo na próxima vez",th:"จำตัวเลือกของฉันและข้ามหน้าต่างนี้ในครั้งถัดไป",tr:"Seçimimi hatırla ve bir dahaki sefere bu pencereyi atla",uk:"Запам'ятати мій вибір і пропустити це вікно наступного разу"},"ui.userPreferences":{zh:"用户偏好",en:"User Preferences","zh-TW":"使用者偏好",ko:"사용자 환경설정",ja:"ユーザー設定",de:"Benutzereinstellungen",es:"Preferencias de usuario",fr:"Préférences utilisateur",it:"Preferenze utente",da:"Brugerpræferencer",pl:"Preferencje użytkownika",ru:"Пользовательские настройки",ar:"تفضيلات المستخدم",no:"Brukerinnstillinger","pt-BR":"Preferências do usuário",th:"การตั้งค่าผู้ใช้",tr:"Kullanıcı tercihleri",uk:"Налаштування користувача"},"ui.resumeAutoChoice":{zh:"是否继承默认日志",en:"Default log resume behavior","zh-TW":"是否繼承預設日誌",ko:"기본 로그 재개 동작",ja:"デフォルトのログ再開動作",de:"Standard-Log-Wiederaufnahme",es:"Comportamiento predeterminado de reanudación de log",fr:"Comportement par défaut de reprise du log",it:"Comportamento predefinito di ripresa del log",da:"Standard log-genoptagelsesadfærd",pl:"Domyślne zachowanie wznowienia logu",ru:"Поведение возобновления лога по умолчанию",ar:"سلوك استئناف السجل الافتراضي",no:"Standard logg-gjenopptakelsesatferd","pt-BR":"Comportamento padrão de retomada do log",th:"พฤติกรรมการดำเนินการต่อล็อกเริ่มต้น",tr:"Varsayılan günlük devam davranışı",uk:"Поведінка відновлення логу за замовчуванням"},"ui.resumeAutoChoice.continue":{zh:"默认继承",en:"Resume previous log","zh-TW":"預設繼承",ko:"이전 로그 이어서",ja:"前回のログを継続",de:"Vorheriges Log fortsetzen",es:"Reanudar log anterior",fr:"Reprendre le log précédent",it:"Riprendi log precedente",da:"Genoptag forrige log",pl:"Wznów poprzedni log",ru:"Продолжить предыдущий лог",ar:"استئناف السجل السابق",no:"Gjenoppta forrige logg","pt-BR":"Retomar log anterior",th:"ดำเนินการต่อจากล็อกก่อนหน้า",tr:"Önceki günlüğe devam et",uk:"Продовжити попередній лог"},"ui.resumeAutoChoice.new":{zh:"默认新开日志",en:"Start new log","zh-TW":"預設新開日誌",ko:"새 로그 시작",ja:"新規ログを開始",de:"Neues Log starten",es:"Iniciar nuevo log",fr:"Démarrer un nouveau log",it:"Avvia nuovo log",da:"Start ny log",pl:"Rozpocznij nowy log",ru:"Начать новый лог",ar:"بدء سجل جديد",no:"Start ny logg","pt-BR":"Iniciar novo log",th:"เริ่มล็อกใหม่",tr:"Yeni günlük başlat",uk:"Почати новий лог"},"ui.themeColor":{zh:"主题色",en:"Theme","zh-TW":"主題色",ko:"테마 색상",ja:"テーマカラー",de:"Farbschema",es:"Color del tema",fr:"Couleur du thème",it:"Colore del tema",da:"Temafarve",pl:"Kolor tematu",ru:"Цвет темы",ar:"لون المظهر",no:"Temafarge","pt-BR":"Cor do tema",th:"สีธีม",tr:"Tema Rengi",uk:"Колір теми"},"ui.themeColor.dark":{zh:"耀石黑",en:"Obsidian Dark","zh-TW":"耀石黑",ko:"옵시디언 다크",ja:"オブシディアンダーク",de:"Obsidian Dunkel",es:"Obsidiana Oscuro",fr:"Obsidienne Sombre",it:"Ossidiana Scuro",da:"Obsidian Mørk",pl:"Obsydian Ciemny",ru:"Обсидиан тёмная",ar:"أوبسيديان داكن",no:"Obsidian Mørk","pt-BR":"Obsidiana Escuro",th:"ออบซิเดียนมืด",tr:"Obsidyen Koyu",uk:"Обсидіан темна"},"ui.themeColor.light":{zh:"雪山白",en:"Snow White","zh-TW":"雪山白",ko:"스노우 화이트",ja:"スノーホワイト",de:"Schneeweiß",es:"Blanco Nieve",fr:"Blanc Neige",it:"Bianco Neve",da:"Snehvid",pl:"Śnieżna Biel",ru:"Снежная белая",ar:"أبيض ثلجي",no:"Snøhvit","pt-BR":"Branco Neve",th:"สโนว์ไวท์",tr:"Kar Beyazı",uk:"Сніжна біла"},"ui.settings":{zh:"偏好设置",en:"Preferences","zh-TW":"偏好設定",ko:"환경설정",ja:"環境設定",de:"Einstellungen",es:"Preferencias",fr:"Préférences",it:"Preferenze",da:"Indstillinger",pl:"Preferencje",ru:"Настройки",ar:"التفضيلات",no:"Innstillinger","pt-BR":"Preferências",th:"การตั้งค่า",tr:"Tercihler",uk:"Налаштування"},"ui.collapseToolResults":{zh:"折叠工具返回内容",en:"Collapse tool results","zh-TW":"摺疊工具回傳內容",ko:"도구 결과 접기",ja:"ツール結果を折りたたむ",de:"Werkzeugergebnisse einklappen",es:"Contraer resultados de herramientas",fr:"Réduire les résultats des outils",it:"Comprimi risultati strumenti",da:"Skjul værktøjsresultater",pl:"Zwiń wyniki narzędzi",ru:"Свернуть результаты инструментов",ar:"طي نتائج الأدوات",no:"Skjul verktøyresultater","pt-BR":"Recolher resultados de ferramentas",th:"ย่อผลลัพธ์เครื่องมือ",tr:"Araç sonuçlarını daralt",uk:"Згорнути результати інструментів"},"ui.expandThinking":{zh:'展开"思考过程"',en:'Expand "Thinking"',"zh-TW":'展開"思考過程"',ko:'"사고 과정" 펼치기',ja:'"思考プロセス"を展開',de:'"Denkprozess" aufklappen',es:'Expandir "Proceso de pensamiento"',fr:'Développer "Processus de réflexion"',it:'Espandi "Processo di pensiero"',da:'Udvid "Tænkeproces"',pl:'Rozwiń "Proces myślenia"',ru:'Развернуть "Процесс мышления"',ar:'توسيع "عملية التفكير"',no:'Utvid "Tenkeprosess"',"pt-BR":'Expandir "Processo de pensamento"',th:'ขยาย "กระบวนการคิด"',tr:'"Düşünce süreci"ni genişlet',uk:'Розгорнути "Процес мислення"'},"ui.showFullToolContent":{zh:"完整展示所有内容",en:"Show full tool content","zh-TW":"完整展示所有內容",ko:"모든 내용 전체 표시",ja:"すべての内容を完全に表示",de:"Alle Inhalte vollständig anzeigen",es:"Mostrar todo el contenido completo",fr:"Afficher tout le contenu en entier",it:"Mostra tutto il contenuto completo",da:"Vis alt indhold fuldt ud",pl:"Pokaż pełną treść wszystkiego",ru:"Показать всё содержимое полностью",ar:"عرض كل المحتوى بالكامل",no:"Vis alt innhold fullstendig","pt-BR":"Exibir todo o conteúdo completo",th:"แสดงเนื้อหาทั้งหมดแบบเต็ม",tr:"Tüm içeriği tam olarak göster",uk:"Показати весь вміст повністю"},"ui.toolsUsed":{zh:"调用工具: ",en:"Tools used: ","zh-TW":"調用工具: ",ko:"사용한 도구: ",ja:"使用ツール: ",de:"Verwendete Tools: ",es:"Herramientas usadas: ",fr:"Outils utilisés : ",it:"Strumenti usati: ",da:"Brugte værktøjer: ",pl:"Użyte narzędzia: ",ru:"Инструменты: ",ar:"الأدوات المستخدمة: ",no:"Brukte verktøy: ","pt-BR":"Ferramentas usadas: ",th:"เครื่องมือที่ใช้: ",tr:"Kullanılan araçlar: ",uk:"Використані інструменти: "},"ui.diffSummary":{zh:"+{added} -{removed}",en:"+{added} -{removed}","zh-TW":"+{added} -{removed}",ko:"+{added} -{removed}",ja:"+{added} -{removed}",de:"+{added} -{removed}",es:"+{added} -{removed}",fr:"+{added} -{removed}",it:"+{added} -{removed}",da:"+{added} -{removed}",pl:"+{added} -{removed}",ru:"+{added} -{removed}",ar:"+{added} -{removed}",no:"+{added} -{removed}","pt-BR":"+{added} -{removed}",th:"+{added} -{removed}",tr:"+{added} -{removed}",uk:"+{added} -{removed}"},"ui.expandDiff":{zh:"默认展开 Body Diff JSON",en:"Expand Body Diff JSON by default","zh-TW":"預設展開 Body Diff JSON",ko:"Body Diff JSON 기본 펼치기",ja:"Body Diff JSON をデフォルトで展開",de:"Body Diff JSON standardmäßig aufklappen",es:"Expandir Body Diff JSON por defecto",fr:"Développer Body Diff JSON par défaut",it:"Espandi Body Diff JSON per impostazione predefinita",da:"Udvid Body Diff JSON som standard",pl:"Domyślnie rozwiń Body Diff JSON",ru:"Разворачивать Body Diff JSON по умолчанию",ar:"توسيع Body Diff JSON افتراضيًا",no:"Utvid Body Diff JSON som standard","pt-BR":"Expandir Body Diff JSON por padrão",th:"ขยาย Body Diff JSON เป็นค่าเริ่มต้น",tr:"Body Diff JSON'u varsayılan olarak genişlet",uk:"Розгортати Body Diff JSON за замовчуванням"},"ui.logDirTitle":{zh:"日志目录设置",en:"Log directory","zh-TW":"日誌目錄設定",ko:"로그 디렉토리 설정",ja:"ログディレクトリ設定",de:"Protokollverzeichnis",es:"Directorio de registros",fr:"Répertoire de journaux",it:"Directory dei log",da:"Logmappe",pl:"Katalog logów",ru:"Каталог журналов",ar:"دليل السجلات",no:"Loggkatalog","pt-BR":"Diretório de logs",th:"ไดเรกทอรีบันทึก",tr:"Günlük dizini",uk:"Каталог журналів"},"ui.globalSettings":{zh:"全局设置",en:"Global Settings","zh-TW":"全域設定",ko:"전역 설정",ja:"グローバル設定",de:"Globale Einstellungen",es:"Configuración global",fr:"Paramètres globaux",it:"Impostazioni globali",da:"Globale indstillinger",pl:"Ustawienia globalne",ru:"Глобальные настройки",ar:"الإعدادات العامة",no:"Globale innstillinger","pt-BR":"Configurações globais",th:"ตั้งค่าทั่วไป",tr:"Genel ayarlar",uk:"Глобальні налаштування"},"ui.languageSettings":{zh:"语言设置",en:"Language","zh-TW":"語言設定",ko:"언어 설정",ja:"言語設定",de:"Sprache",es:"Idioma",fr:"Langue",it:"Lingua",da:"Sprog",pl:"Język",ru:"Язык",ar:"اللغة",no:"Språk","pt-BR":"Idioma",th:"ภาษา",tr:"Dil",uk:"Мова"},"ui.scanToCoding":{zh:"手机扫码编程",en:"Scan to Code","zh-TW":"手機掃碼編程",ko:"스캔하여 코딩",ja:"スキャンしてコーディング",de:"Scannen zum Programmieren",es:"Escanear para programar",fr:"Scanner pour coder",it:"Scansiona per programmare",da:"Scan for at kode",pl:"Skanuj, aby kodować",ru:"Сканируйте для кодирования",ar:"امسح للبرمجة",no:"Skann for å kode","pt-BR":"Escaneie para programar",th:"สแกนเพื่อเขียนโค้ด",tr:"Kodlamak için tarayın",uk:"Скануйте для кодування"},"ui.copyAllCacheText":{zh:"点击复制全部 KV-Cache 文本",en:"Click to copy all KV-Cache text","zh-TW":"點擊複製全部 KV-Cache 文字",ko:"KV-Cache 텍스트 전체 복사",ja:"KV-Cache テキストをすべてコピー",de:"Gesamten KV-Cache-Text kopieren",es:"Copiar todo el texto KV-Cache",fr:"Copier tout le texte KV-Cache",it:"Copia tutto il testo KV-Cache",da:"Kopiér al KV-Cache tekst",pl:"Skopiuj cały tekst KV-Cache",ru:"Скопировать весь текст KV-Cache",ar:"نسخ كل نص KV-Cache",no:"Kopier all KV-Cache tekst","pt-BR":"Copiar todo o texto KV-Cache",th:"คัดลอกข้อความ KV-Cache ทั้งหมด",tr:"Tüm KV-Cache metnini kopyala",uk:"Скопіювати весь текст KV-Cache"},"ui.copied":{zh:"已复制",en:"Copied","zh-TW":"已複製",ko:"복사됨",ja:"コピーしました",de:"Kopiert",es:"Copiado",fr:"Copié",it:"Copiato",da:"Kopieret",pl:"Skopiowano",ru:"Скопировано",ar:"تم النسخ",no:"Kopiert","pt-BR":"Copiado",th:"คัดลอกแล้ว",tr:"Kopyalandı",uk:"Скопійовано"},"ui.chatDisplaySwitches":{zh:"对话内容展示开关",en:"Chat Display Switches","zh-TW":"對話內容顯示開關",ko:"대화 표시 스위치",ja:"チャット表示スイッチ",de:"Chat-Anzeigeoptionen",es:"Opciones de visualización del chat",fr:"Options d'affichage du chat",it:"Opzioni di visualizzazione chat",da:"Chat-visningsindstillinger",pl:"Przełączniki wyświetlania czatu",ru:"Переключатели отображения чата",ar:"مفاتيح عرض المحادثة",no:"Chat-visningsbrytere","pt-BR":"Opções de exibição do chat",th:"สวิตช์การแสดงแชท",tr:"Sohbet görüntüleme ayarları",uk:"Перемикачі відображення чату"},"ui.filterIrrelevant":{zh:"过滤无关请求",en:"Filter irrelevant requests","zh-TW":"過濾無關請求",ko:"무관한 요청 필터링",ja:"無関係なリクエストをフィルタ",de:"Irrelevante Anfragen filtern",es:"Filtrar solicitudes irrelevantes",fr:"Filtrer les requêtes non pertinentes",it:"Filtra richieste irrilevanti",da:"Filtrer irrelevante forespørgsler",pl:"Filtruj nieistotne żądania",ru:"Фильтровать нерелевантные запросы",ar:"تصفية الطلبات غير ذات الصلة",no:"Filtrer irrelevante forespørsler","pt-BR":"Filtrar solicitações irrelevantes",th:"กรองคำขอที่ไม่เกี่ยวข้อง",tr:"İlgisiz istekleri filtrele",uk:"Фільтрувати нерелевантні запити"},"ui.thinking":{zh:"思考过程",en:"Thinking","zh-TW":"思考過程",ko:"사고 과정",ja:"思考プロセス",de:"Denkprozess",es:"Proceso de pensamiento",fr:"Processus de réflexion",it:"Processo di pensiero",da:"Tænkeproces",pl:"Proces myślenia",ru:"Процесс мышления",ar:"عملية التفكير",no:"Tenkeprosess","pt-BR":"Processo de pensamento",th:"กระบวนการคิด",tr:"Düşünce süreci",uk:"Процес мислення"},"ui.thinkingEmpty":{zh:"思考内容未显示(thinking 为加密摘要)",en:"Thinking content not displayed (encrypted summary)","zh-TW":"思考內容未顯示(thinking 為加密摘要)",ko:"사고 내용이 표시되지 않음 (암호화된 요약)",ja:"思考内容が表示されません(暗号化されたサマリー)",de:"Denkinhalt nicht angezeigt (verschlüsselte Zusammenfassung)",es:"Contenido de pensamiento no mostrado (resumen cifrado)",fr:"Contenu de réflexion non affiché (résumé chiffré)",it:"Contenuto di pensiero non visualizzato (riepilogo crittografato)",da:"Tænkeindhold ikke vist (krypteret resumé)",pl:"Treść myślenia nie wyświetlana (zaszyfrowane podsumowanie)",ru:"Содержимое мышления не отображается (зашифрованная сводка)",ar:"محتوى التفكير غير معروض (ملخص مشفر)",no:"Tenkeinnhold ikke vist (kryptert sammendrag)","pt-BR":"Conteúdo de pensamento não exibido (resumo criptografado)",th:"เนื้อหาการคิดไม่แสดง (สรุปที่เข้ารหัส)",tr:"Düşünce içeriği görüntülenmiyor (şifreli özet)",uk:"Вміст мислення не відображається (зашифрований підсумок)"},"ui.enableThinkingSummaries":{zh:"启用明文 Thinking",en:"Enable Thinking Summaries","zh-TW":"啟用明文 Thinking",ko:"Thinking 요약 활성화",ja:"Thinking サマリーを有効化",de:"Thinking-Zusammenfassungen aktivieren",es:"Habilitar resúmenes de Thinking",fr:"Activer les résumés de Thinking",it:"Abilita riepiloghi Thinking",da:"Aktivér Thinking-resuméer",pl:"Włącz podsumowania Thinking",ru:"Включить сводки Thinking",ar:"تفعيل ملخصات Thinking",no:"Aktiver Thinking-sammendrag","pt-BR":"Ativar resumos de Thinking",th:"เปิดใช้สรุป Thinking",tr:"Thinking özetlerini etkinleştir",uk:"Увімкнути підсумки Thinking"},"ui.enableThinkingSummariesTip":{zh:"在 {configDir}/settings.json 中设置 showThinkingSummaries 后,思考过程将以明文显示(需重启 Claude Code)",en:"Sets showThinkingSummaries in {configDir}/settings.json so thinking is displayed in plaintext (requires Claude Code restart)","zh-TW":"在 {configDir}/settings.json 中設定 showThinkingSummaries 後,思考過程將以明文顯示(需重啟 Claude Code)",ko:"{configDir}/settings.json에 showThinkingSummaries를 설정하면 사고 과정이 평문으로 표시됩니다 (Claude Code 재시작 필요)",ja:"{configDir}/settings.json に showThinkingSummaries を設定すると、思考がプレーンテキストで表示されます(Claude Code の再起動が必要)",de:"Setzt showThinkingSummaries in {configDir}/settings.json, damit Thinking als Klartext angezeigt wird (Claude Code Neustart erforderlich)",es:"Configura showThinkingSummaries en {configDir}/settings.json para mostrar el pensamiento en texto plano (requiere reiniciar Claude Code)",fr:"Définit showThinkingSummaries dans {configDir}/settings.json pour afficher la réflexion en texte brut (redémarrage de Claude Code requis)",it:"Imposta showThinkingSummaries in {configDir}/settings.json per visualizzare il pensiero in testo semplice (richiede riavvio di Claude Code)",da:"Sætter showThinkingSummaries i {configDir}/settings.json så tænkning vises i klartekst (kræver genstart af Claude Code)",pl:"Ustawia showThinkingSummaries w {configDir}/settings.json, aby myślenie wyświetlało się w postaci zwykłego tekstu (wymaga restartu Claude Code)",ru:"Устанавливает showThinkingSummaries в {configDir}/settings.json для отображения мышления открытым текстом (требуется перезапуск Claude Code)",ar:"يضبط showThinkingSummaries في {configDir}/settings.json لعرض التفكير كنص عادي (يتطلب إعادة تشغيل Claude Code)",no:"Setter showThinkingSummaries i {configDir}/settings.json slik at tenkning vises i klartekst (krever omstart av Claude Code)","pt-BR":"Define showThinkingSummaries em {configDir}/settings.json para exibir pensamento em texto simples (requer reinicialização do Claude Code)",th:"ตั้งค่า showThinkingSummaries ใน {configDir}/settings.json เพื่อแสดงการคิดเป็นข้อความธรรมดา (ต้องรีสตาร์ท Claude Code)",tr:"Düşünmenin düz metin olarak görüntülenmesi için {configDir}/settings.json'da showThinkingSummaries ayarını yapar (Claude Code yeniden başlatması gerekir)",uk:"Встановлює showThinkingSummaries в {configDir}/settings.json для відображення мислення відкритим текстом (потрібен перезапуск Claude Code)"},"ui.bashCommand":{zh:"Bash 命令",en:"Bash Command","zh-TW":"Bash 命令",ko:"Bash 명령",ja:"Bash コマンド",de:"Bash-Befehl",es:"Comando Bash",fr:"Commande Bash",it:"Comando Bash",da:"Bash-kommando",pl:"Polecenie Bash",ru:"Команда Bash",ar:"أمر Bash",no:"Bash-kommando","pt-BR":"Comando Bash",th:"คำสั่ง Bash",tr:"Bash Komutu",uk:"Команда Bash"},"ui.lines":{zh:"行",en:"lines","zh-TW":"行",ko:"줄",ja:"行",de:"Zeilen",es:"líneas",fr:"lignes",it:"righe",da:"linjer",pl:"wierszy",ru:"строк",ar:"أسطر",no:"linjer","pt-BR":"linhas",th:"บรรทัด",tr:"satır",uk:"рядків"},"ui.skillLoaded":{zh:"Skill 已加载",en:"Skill Loaded","zh-TW":"Skill 已載入",ko:"Skill 로드됨",ja:"Skill 読み込み済み",de:"Skill geladen",es:"Skill cargado",fr:"Skill chargé",it:"Skill caricato",da:"Skill indlæst",pl:"Skill załadowany",ru:"Skill загружен",ar:"تم تحميل Skill",no:"Skill lastet","pt-BR":"Skill carregado",th:"โหลด Skill แล้ว",tr:"Skill yüklendi",uk:"Skill завантажено"},"ui.cacheLoss.ttl":{zh:"缓存丢失:距上次 MainAgent 请求超过 5 分钟,缓存已过期",en:"Cache miss: over 5 minutes since last MainAgent request, cache expired","zh-TW":"快取遺失:距上次 MainAgent 請求超過 5 分鐘,快取已過期",ko:"캐시 손실: 마지막 MainAgent 요청 후 5분 초과, 캐시 만료",ja:"キャッシュミス:前回の MainAgent リクエストから5分以上経過、キャッシュ期限切れ",de:"Cache-Verlust: Über 5 Minuten seit letzter MainAgent-Anfrage, Cache abgelaufen",es:"Pérdida de caché: más de 5 minutos desde la última solicitud MainAgent, caché expirada",fr:"Perte de cache : plus de 5 minutes depuis la dernière requête MainAgent, cache expiré",it:"Cache persa: oltre 5 minuti dall'ultima richiesta MainAgent, cache scaduta",da:"Cache-tab: over 5 minutter siden sidste MainAgent-forespørgsel, cache udløbet",pl:"Utrata cache: ponad 5 minut od ostatniego żądania MainAgent, cache wygasł",ru:"Потеря кэша: прошло более 5 минут с последнего запроса MainAgent, кэш истёк",ar:"فقدان التخزين المؤقت: مرور أكثر من 5 دقائق منذ آخر طلب MainAgent، انتهت صلاحية التخزين المؤقت",no:"Cache-tap: over 5 minutter siden siste MainAgent-forespørsel, cache utløpt","pt-BR":"Perda de cache: mais de 5 minutos desde a última requisição MainAgent, cache expirado",th:"แคชหาย: เกิน 5 นาทีจากคำขอ MainAgent ล่าสุด แคชหมดอายุ",tr:"Önbellek kaybı: Son MainAgent isteğinden 5 dakikadan fazla geçti, önbellek süresi doldu",uk:"Втрата кешу: минуло понад 5 хвилин з останнього запиту MainAgent, кеш закінчився"},"ui.cacheLoss.systemChange":{zh:"缓存重建:system prompt 发生变更",en:"Cache rebuild: system prompt changed","zh-TW":"快取重建:system prompt 發生變更",ko:"캐시 재생성: 시스템 프롬프트 변경",ja:"キャッシュ再構築:システムプロンプトが変更されました",de:"Cache-Neuaufbau: System-Prompt geändert",es:"Reconstrucción de caché: el prompt del sistema cambió",fr:"Reconstruction du cache : le prompt système a changé",it:"Ricostruzione cache: il prompt di sistema è cambiato",da:"Cache-genopbygning: systemprompt ændret",pl:"Odbudowa cache: prompt systemowy zmieniony",ru:"Перестройка кэша: системный промпт изменён",ar:"إعادة بناء التخزين المؤقت: تم تغيير موجه النظام",no:"Cache-gjenoppbygging: systemprompt endret","pt-BR":"Reconstrução de cache: prompt do sistema alterado",th:"สร้างแคชใหม่: system prompt เปลี่ยนแปลง",tr:"Önbellek yeniden oluşturma: sistem istemi değişti",uk:"Перебудова кешу: системний промпт змінено"},"ui.cacheLoss.toolsChange":{zh:"缓存重建:工具定义发生变更",en:"Cache rebuild: tool definitions changed","zh-TW":"快取重建:工具定義發生變更",ko:"캐시 재생성: 도구 정의 변경",ja:"キャッシュ再構築:ツール定義が変更されました",de:"Cache-Neuaufbau: Tool-Definitionen geändert",es:"Reconstrucción de caché: las definiciones de herramientas cambiaron",fr:"Reconstruction du cache : les définitions d'outils ont changé",it:"Ricostruzione cache: le definizioni degli strumenti sono cambiate",da:"Cache-genopbygning: værktøjsdefinitioner ændret",pl:"Odbudowa cache: definicje narzędzi zmienione",ru:"Перестройка кэша: определения инструментов изменены",ar:"إعادة بناء التخزين المؤقت: تم تغيير تعريفات الأدوات",no:"Cache-gjenoppbygging: verktøydefinisjoner endret","pt-BR":"Reconstrução de cache: definições de ferramentas alteradas",th:"สร้างแคชใหม่: คำจำกัดความเครื่องมือเปลี่ยนแปลง",tr:"Önbellek yeniden oluşturma: araç tanımları değişti",uk:"Перебудова кешу: визначення інструментів змінено"},"ui.cacheLoss.modelChange":{zh:"缓存重建:模型切换",en:"Cache rebuild: model switched","zh-TW":"快取重建:模型切換",ko:"캐시 재생성: 모델 전환",ja:"キャッシュ再構築:モデルが切り替わりました",de:"Cache-Neuaufbau: Modell gewechselt",es:"Reconstrucción de caché: modelo cambiado",fr:"Reconstruction du cache : modèle changé",it:"Ricostruzione cache: modello cambiato",da:"Cache-genopbygning: model skiftet",pl:"Odbudowa cache: model zmieniony",ru:"Перестройка кэша: модель переключена",ar:"إعادة بناء التخزين المؤقت: تم تبديل النموذج",no:"Cache-gjenoppbygging: modell byttet","pt-BR":"Reconstrução de cache: modelo alterado",th:"สร้างแคชใหม่: เปลี่ยนโมเดล",tr:"Önbellek yeniden oluşturma: model değiştirildi",uk:"Перебудова кешу: модель переключено"},"ui.cacheLoss.msgTruncated":{zh:"缓存重建:消息栈被截断(上下文窗口溢出)",en:"Cache rebuild: message stack truncated (context window overflow)","zh-TW":"快取重建:訊息堆疊被截斷(上下文視窗溢出)",ko:"캐시 재생성: 메시지 스택 잘림 (컨텍스트 윈도우 오버플로)",ja:"キャッシュ再構築:メッセージスタックが切り詰められました(コンテキストウィンドウオーバーフロー)",de:"Cache-Neuaufbau: Nachrichtenstapel gekürzt (Kontextfenster-Überlauf)",es:"Reconstrucción de caché: pila de mensajes truncada (desbordamiento de ventana de contexto)",fr:"Reconstruction du cache : pile de messages tronquée (dépassement de la fenêtre de contexte)",it:"Ricostruzione cache: stack messaggi troncato (overflow finestra di contesto)",da:"Cache-genopbygning: beskedstakken afkortet (kontekstvindue-overløb)",pl:"Odbudowa cache: stos wiadomości obcięty (przepełnienie okna kontekstu)",ru:"Перестройка кэша: стек сообщений усечён (переполнение контекстного окна)",ar:"إعادة بناء التخزين المؤقت: تم اقتطاع مكدس الرسائل (تجاوز نافذة السياق)",no:"Cache-gjenoppbygging: meldingsstakken avkortet (kontekstvindu-overflyt)","pt-BR":"Reconstrução de cache: pilha de mensagens truncada (estouro da janela de contexto)",th:"สร้างแคชใหม่: สแต็กข้อความถูกตัด (context window ล้น)",tr:"Önbellek yeniden oluşturma: mesaj yığını kesildi (bağlam penceresi taşması)",uk:"Перебудова кешу: стек повідомлень обрізано (переповнення контекстного вікна)"},"ui.cacheLoss.msgModified":{zh:"缓存重建:历史消息内容被修改",en:"Cache rebuild: historical message content modified","zh-TW":"快取重建:歷史訊息內容被修改",ko:"캐시 재생성: 이전 메시지 내용 수정됨",ja:"キャッシュ再構築:過去のメッセージ内容が変更されました",de:"Cache-Neuaufbau: Historische Nachrichteninhalte geändert",es:"Reconstrucción de caché: contenido de mensajes históricos modificado",fr:"Reconstruction du cache : contenu des messages historiques modifié",it:"Ricostruzione cache: contenuto dei messaggi storici modificato",da:"Cache-genopbygning: historisk beskedindhold ændret",pl:"Odbudowa cache: treść historycznych wiadomości zmodyfikowana",ru:"Перестройка кэша: содержимое исторических сообщений изменено",ar:"إعادة بناء التخزين المؤقت: تم تعديل محتوى الرسائل السابقة",no:"Cache-gjenoppbygging: historisk meldingsinnhold endret","pt-BR":"Reconstrução de cache: conteúdo de mensagens históricas modificado",th:"สร้างแคชใหม่: เนื้อหาข้อความในประวัติถูกแก้ไข",tr:"Önbellek yeniden oluşturma: geçmiş mesaj içeriği değiştirildi",uk:"Перебудова кешу: вміст історичних повідомлень змінено"},"ui.cacheLoss.keyChange":{zh:"缓存重建:缓存键变更(原因未知)",en:"Cache rebuild: cache key changed (unknown reason)","zh-TW":"快取重建:快取鍵變更(原因未知)",ko:"캐시 재생성: 캐시 키 변경 (원인 불명)",ja:"キャッシュ再構築:キャッシュキーが変更されました(原因不明)",de:"Cache-Neuaufbau: Cache-Schlüssel geändert (Grund unbekannt)",es:"Reconstrucción de caché: clave de caché cambiada (razón desconocida)",fr:"Reconstruction du cache : clé de cache modifiée (raison inconnue)",it:"Ricostruzione cache: chiave cache cambiata (motivo sconosciuto)",da:"Cache-genopbygning: cache-nøgle ændret (ukendt årsag)",pl:"Odbudowa cache: klucz cache zmieniony (nieznana przyczyna)",ru:"Перестройка кэша: ключ кэша изменён (причина неизвестна)",ar:"إعادة بناء التخزين المؤقت: تم تغيير مفتاح التخزين المؤقت (سبب غير معروف)",no:"Cache-gjenoppbygging: cache-nøkkel endret (ukjent årsak)","pt-BR":"Reconstrução de cache: chave de cache alterada (motivo desconhecido)",th:"สร้างแคชใหม่: คีย์แคชเปลี่ยนแปลง (ไม่ทราบสาเหตุ)",tr:"Önbellek yeniden oluşturma: önbellek anahtarı değişti (bilinmeyen neden)",uk:"Перебудова кешу: ключ кешу змінено (причина невідома)"},"ui.cacheRebuildStats":{zh:"缓存重建统计",en:"Cache Rebuild Stats","zh-TW":"快取重建統計",ko:"캐시 재구축 통계",ja:"キャッシュ再構築統計",de:"Cache-Neuaufbau-Statistik",es:"Estadísticas de reconstrucción de caché",fr:"Statistiques de reconstruction du cache",it:"Statistiche ricostruzione cache",da:"Cache-genopbygningsstatistik",pl:"Statystyki przebudowy cache",ru:"Статистика перестройки кеша",ar:"إحصائيات إعادة بناء ذاكرة التخزين المؤقت",no:"Cache-gjenoppbyggingsstatistikk","pt-BR":"Estatísticas de reconstrução de cache",th:"สถิติการสร้างแคชใหม่",tr:"Önbellek Yeniden Oluşturma İstatistikleri",uk:"Статистика перебудови кешу"},"ui.cacheRebuild.reason":{zh:"原因",en:"Reason","zh-TW":"原因",ko:"원인",ja:"原因",de:"Ursache",es:"Razón",fr:"Raison",it:"Motivo",da:"Årsag",pl:"Przyczyna",ru:"Причина",ar:"السبب",no:"Årsak","pt-BR":"Razão",th:"สาเหตุ",tr:"Neden",uk:"Причина"},"ui.cacheRebuild.count":{zh:"次数",en:"Count","zh-TW":"次數",ko:"횟수",ja:"回数",de:"Anzahl",es:"Veces",fr:"Nombre",it:"Volte",da:"Antal",pl:"Liczba",ru:"Кол-во",ar:"العدد",no:"Antall","pt-BR":"Vezes",th:"จำนวน",tr:"Sayı",uk:"Кількість"},"ui.cacheRebuild.cacheCreate":{zh:"重建缓存量",en:"Cache Created","zh-TW":"重建快取量",ko:"재구축 캐시량",ja:"再構築キャッシュ量",de:"Cache erstellt",es:"Caché creado",fr:"Cache créé",it:"Cache creata",da:"Cache oprettet",pl:"Utworzony cache",ru:"Создано кеша",ar:"الذاكرة المؤقتة المُنشأة",no:"Cache opprettet","pt-BR":"Cache criado",th:"แคชที่สร้าง",tr:"Oluşturulan önbellek",uk:"Створено кешу"},"ui.skillUsageStats":{zh:"Skill 使用统计",en:"Skill Usage Stats","zh-TW":"Skill 使用統計",ko:"Skill 사용 통계",ja:"Skill 使用統計",de:"Skill-Nutzungsstatistik",es:"Estadísticas de uso de Skills",fr:"Statistiques d'utilisation des Skills",it:"Statistiche utilizzo Skill",da:"Skill-brugsstatistik",pl:"Statystyki użycia Skill",ru:"Статистика использования Skill",ar:"إحصائيات استخدام Skill",no:"Skill-bruksstatistikk","pt-BR":"Estatísticas de uso de Skills",th:"สถิติการใช้ Skill",tr:"Skill Kullanım İstatistikleri",uk:"Статистика використання Skill"},"ui.toolUsageStats":{zh:"工具使用统计",en:"Tool Usage Stats","zh-TW":"工具使用統計",ko:"도구 사용 통계",ja:"ツール使用統計",de:"Tool-Nutzungsstatistik",es:"Estadísticas de uso de herramientas",fr:"Statistiques d'utilisation des outils",it:"Statistiche utilizzo strumenti",da:"Værktøjsbrugsstatistik",pl:"Statystyki użycia narzędzi",ru:"Статистика использования инструментов",ar:"إحصائيات استخدام الأدوات",no:"Verktøybruksstatistikk","pt-BR":"Estatísticas de uso de ferramentas",th:"สถิติการใช้เครื่องมือ",tr:"Araç Kullanım İstatistikleri",uk:"Статистика використання інструментів"},"ui.subAgentStats":{zh:"SubAgent 调用统计",en:"SubAgent Call Stats","zh-TW":"SubAgent 調用統計",ko:"SubAgent 호출 통계",ja:"SubAgent 呼び出し統計",de:"SubAgent-Aufrufstatistik",es:"Estadísticas de llamadas SubAgent",fr:"Statistiques d'appels SubAgent",it:"Statistiche chiamate SubAgent",da:"SubAgent-kaldsstatistik",pl:"Statystyki wywołań SubAgent",ru:"Статистика вызовов SubAgent",ar:"إحصائيات استدعاء SubAgent",no:"SubAgent-anropsstatistikk","pt-BR":"Estatísticas de chamadas SubAgent",th:"สถิติการเรียก SubAgent",tr:"SubAgent Çağrı İstatistikleri",uk:"Статистика викликів SubAgent"},"ui.mergeLogs":{zh:"合并日志",en:"Merge Logs","zh-TW":"合併日誌",ko:"로그 병합",ja:"ログを結合",de:"Logs zusammenführen",es:"Fusionar logs",fr:"Fusionner les logs",it:"Unisci log",da:"Flet logs",pl:"Scal logi",ru:"Объединить логи",ar:"دمج السجلات",no:"Slå sammen logger","pt-BR":"Mesclar logs",th:"รวมบันทึก",tr:"Logları birleştir",uk:"Об'єднати логи"},"ui.deleteLogs":{zh:"删除日志",en:"Delete Logs","zh-TW":"刪除日誌",ko:"로그 삭제",ja:"ログを削除",de:"Logs löschen",es:"Eliminar logs",fr:"Supprimer les logs",it:"Elimina log",da:"Slet logs",pl:"Usuń logi",ru:"Удалить логи",ar:"حذف السجلات",no:"Slett logger","pt-BR":"Excluir logs",th:"ลบบันทึก",tr:"Logları sil",uk:"Видалити логи"},"ui.refreshStats":{zh:"刷新",en:"Refresh","zh-TW":"重新整理",ko:"새로고침",ja:"更新",de:"Aktualisieren",es:"Actualizar",fr:"Actualiser",it:"Aggiorna",da:"Opdater",pl:"Odśwież",ru:"Обновить",ar:"تحديث",no:"Oppdater","pt-BR":"Atualizar",th:"รีเฟรช",tr:"Yenile",uk:"Оновити"},"ui.refreshStatsSuccess":{zh:"统计数据已刷新",en:"Stats refreshed","zh-TW":"統計資料已重新整理",ko:"통계가 새로고침되었습니다",ja:"統計が更新されました",de:"Statistiken aktualisiert",es:"Estadísticas actualizadas",fr:"Statistiques actualisées",it:"Statistiche aggiornate",da:"Statistik opdateret",pl:"Statystyki odświeżone",ru:"Статистика обновлена",ar:"تم تحديث الإحصائيات",no:"Statistikk oppdatert","pt-BR":"Estatísticas atualizadas",th:"รีเฟรชสถิติแล้ว",tr:"İstatistikler yenilendi",uk:"Статистику оновлено"},"ui.refreshStatsFailed":{zh:"刷新统计失败",en:"Failed to refresh stats","zh-TW":"重新整理統計失敗",ko:"통계 새로고침 실패",ja:"統計の更新に失敗しました",de:"Statistiken konnten nicht aktualisiert werden",es:"Error al actualizar estadísticas",fr:"Échec de l'actualisation des statistiques",it:"Aggiornamento statistiche fallito",da:"Kunne ikke opdatere statistik",pl:"Nie udało się odświeżyć statystyk",ru:"Не удалось обновить статистику",ar:"فشل تحديث الإحصائيات",no:"Kunne ikke oppdatere statistikk","pt-BR":"Falha ao atualizar estatísticas",th:"รีเฟรชสถิติล้มเหลว",tr:"İstatistikler yenilenemedi",uk:"Не вдалося оновити статистику"},"ui.deleteLogsConfirm":{zh:"确定要删除选中的 {count} 个日志文件吗?此操作不可撤销。",en:"Are you sure you want to delete {count} selected log file(s)? This action cannot be undone.","zh-TW":"確定要刪除選中的 {count} 個日誌檔案嗎?此操作無法復原。",ko:"선택한 {count}개의 로그 파일을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",ja:"選択した {count} 件のログファイルを削除しますか?この操作は元に戻せません。",de:"Möchten Sie die {count} ausgewählten Logdateien wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.",es:"¿Está seguro de que desea eliminar {count} archivo(s) de registro seleccionado(s)? Esta acción no se puede deshacer.",fr:"Êtes-vous sûr de vouloir supprimer {count} fichier(s) journal sélectionné(s) ? Cette action est irréversible.",it:"Sei sicuro di voler eliminare {count} file di log selezionati? Questa azione non può essere annullata.",da:"Er du sikker på, at du vil slette {count} valgte logfil(er)? Denne handling kan ikke fortrydes.",pl:"Czy na pewno chcesz usunąć {count} wybranych plików logów? Tej operacji nie można cofnąć.",ru:"Вы уверены, что хотите удалить {count} выбранных файлов журнала? Это действие необратимо.",ar:"هل أنت متأكد من حذف {count} ملف(ات) سجل محدد؟ لا يمكن التراجع عن هذا الإجراء.",no:"Er du sikker på at du vil slette {count} valgte loggfil(er)? Denne handlingen kan ikke angres.","pt-BR":"Tem certeza de que deseja excluir {count} arquivo(s) de log selecionado(s)? Esta ação não pode ser desfeita.",th:"คุณแน่ใจหรือไม่ว่าต้องการลบ {count} ไฟล์บันทึกที่เลือก? การดำเนินการนี้ไม่สามารถย้อนกลับได้",tr:"Seçili {count} günlük dosyasını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",uk:"Ви впевнені, що хочете видалити {count} вибраних файлів журналу? Цю дію не можна скасувати."},"ui.openLog":{zh:"打开",en:"Open","zh-TW":"開啟",ko:"열기",ja:"開く",de:"Öffnen",es:"Abrir",fr:"Ouvrir",it:"Apri",da:"Åbn",pl:"Otwórz",ru:"Открыть",ar:"فتح",no:"Åpne","pt-BR":"Abrir",th:"เปิด",tr:"Aç",uk:"Відкрити"},"ui.downloadLog":{zh:"下载",en:"Download","zh-TW":"下載",ko:"다운로드",ja:"ダウンロード",de:"Herunterladen",es:"Descargar",fr:"Télécharger",it:"Scarica",da:"Download",pl:"Pobierz",ru:"Скачать",ar:"تنزيل",no:"Last ned","pt-BR":"Baixar",th:"ดาวน์โหลด",tr:"İndir",uk:"Завантажити"},"ui.logPreview":{zh:"概览",en:"Preview","zh-TW":"概覽",ko:"미리보기",ja:"プレビュー",de:"Vorschau",es:"Vista previa",fr:"Aperçu",it:"Anteprima",da:"Forhåndsvisning",pl:"Podgląd",ru:"Обзор",ar:"معاينة",no:"Forhåndsvisning","pt-BR":"Prévia",th:"ตัวอย่าง",tr:"Önizleme",uk:"Огляд"},"ui.logTime":{zh:"时间",en:"Time","zh-TW":"時間",ko:"시간",ja:"時間",de:"Zeit",es:"Hora",fr:"Heure",it:"Ora",da:"Tid",pl:"Czas",ru:"Время",ar:"الوقت",no:"Tid","pt-BR":"Hora",th:"เวลา",tr:"Zaman",uk:"Час"},"ui.logSize":{zh:"大小",en:"Size","zh-TW":"大小",ko:"크기",ja:"サイズ",de:"Größe",es:"Tamaño",fr:"Taille",it:"Dimensione",da:"Størrelse",pl:"Rozmiar",ru:"Размер",ar:"الحجم",no:"Størrelse","pt-BR":"Tamanho",th:"ขนาด",tr:"Boyut",uk:"Розмір"},"ui.logTurns":{zh:"对话轮次",en:"Turns","zh-TW":"對話輪次",ko:"대화 턴",ja:"対話ターン",de:"Dialogrunden",es:"Turnos de diálogo",fr:"Tours de dialogue",it:"Turni di dialogo",da:"Dialogrunder",pl:"Tury dialogu",ru:"Раунды диалога",ar:"جولات الحوار",no:"Dialogrunder","pt-BR":"Turnos de diálogo",th:"รอบการสนทนา",tr:"Diyalog turları",uk:"Раунди діалогу"},"ui.logActions":{zh:"操作",en:"Actions","zh-TW":"操作",ko:"작업",ja:"操作",de:"Aktionen",es:"Acciones",fr:"Actions",it:"Azioni",da:"Handlinger",pl:"Akcje",ru:"Действия",ar:"الإجراءات",no:"Handlinger","pt-BR":"Ações",th:"การดำเนินการ",tr:"İşlemler",uk:"Дії"},"ui.turns":{zh:"轮",en:"turns","zh-TW":"輪",ko:"턴",ja:"ターン",de:"Runden",es:"turnos",fr:"tours",it:"turni",da:"runder",pl:"tur",ru:"ходов",ar:"جولات",no:"runder","pt-BR":"turnos",th:"รอบ",tr:"tur",uk:"ходів"},"ui.mergeNotConsecutive":{zh:"请选择连续的日志文件",en:"Please select consecutive log files","zh-TW":"請選擇連續的日誌檔案",ko:"연속된 로그 파일을 선택하세요",ja:"連続したログファイルを選択してください",de:"Bitte wählen Sie aufeinanderfolgende Log-Dateien",es:"Seleccione archivos de log consecutivos",fr:"Veuillez sélectionner des fichiers de log consécutifs",it:"Seleziona file di log consecutivi",da:"Vælg venligst sammenhængende logfiler",pl:"Wybierz kolejne pliki logów",ru:"Выберите последовательные файлы логов",ar:"يرجى اختيار ملفات سجلات متتالية",no:"Velg sammenhengende loggfiler","pt-BR":"Selecione arquivos de log consecutivos",th:"กรุณาเลือกไฟล์บันทึกที่ต่อเนื่องกัน",tr:"Lütfen ardışık log dosyalarını seçin",uk:"Виберіть послідовні файли логів"},"ui.mergeTooLarge":{zh:"选中的日志文件总大小超过 500MB",en:"Selected log files exceed 500MB","zh-TW":"選中的日誌檔案總大小超過 500MB",ko:"선택한 로그 파일의 총 크기가 500MB를 초과합니다",ja:"選択したログファイルの合計サイズが 500MB を超えています",de:"Ausgewählte Log-Dateien überschreiten 500MB",es:"Los archivos de log seleccionados superan los 500MB",fr:"Les fichiers de log sélectionnés dépassent 500 Mo",it:"I file di log selezionati superano i 500MB",da:"Valgte logfiler overstiger 500MB",pl:"Wybrane pliki logów przekraczają 500MB",ru:"Выбранные файлы логов превышают 500МБ",ar:"ملفات السجلات المحددة تتجاوز 500 ميجابايت",no:"Valgte loggfiler overstiger 500MB","pt-BR":"Arquivos de log selecionados excedem 500MB",th:"ไฟล์บันทึกที่เลือกมีขนาดรวมเกิน 500MB",tr:"Seçilen log dosyaları 500MB'ı aşıyor",uk:"Вибрані файли логів перевищують 500МБ"},"ui.mergeSuccess":{zh:"日志合并成功",en:"Logs merged successfully","zh-TW":"日誌合併成功",ko:"로그 병합 성공",ja:"ログの結合に成功しました",de:"Logs erfolgreich zusammengeführt",es:"Logs fusionados correctamente",fr:"Logs fusionnés avec succès",it:"Log uniti con successo",da:"Logs flettet",pl:"Logi scalone pomyślnie",ru:"Логи успешно объединены",ar:"تم دمج السجلات بنجاح",no:"Logger slått sammen","pt-BR":"Logs mesclados com sucesso",th:"รวมบันทึกสำเร็จ",tr:"Loglar başarıyla birleştirildi",uk:"Логи успішно об'єднано"},"ui.deleteSuccess":{zh:"已成功删除 {count} 个日志文件",en:"{count} log file(s) deleted successfully","zh-TW":"已成功刪除 {count} 個日誌檔案",ko:"{count}개의 로그 파일이 삭제되었습니다",ja:"{count} 件のログファイルを削除しました",de:"{count} Logdatei(en) erfolgreich gelöscht",es:"{count} archivo(s) de registro eliminado(s) correctamente",fr:"{count} fichier(s) journal supprimé(s) avec succès",it:"{count} file di log eliminati con successo",da:"{count} logfil(er) slettet",pl:"Pomyślnie usunięto {count} plików logów",ru:"Успешно удалено {count} файлов журнала",ar:"تم حذف {count} ملف(ات) سجل بنجاح",no:"{count} loggfil(er) slettet","pt-BR":"{count} arquivo(s) de log excluído(s) com sucesso",th:"ลบ {count} ไฟล์บันทึกสำเร็จ",tr:"{count} günlük dosyası başarıyla silindi",uk:"Успішно видалено {count} файлів журналу"},"ui.deleteFailed":{zh:"{count} 个文件删除失败",en:"{count} file(s) failed to delete","zh-TW":"{count} 個檔案刪除失敗",ko:"{count}개 파일 삭제 실패",ja:"{count} 件のファイルの削除に失敗しました",de:"{count} Datei(en) konnten nicht gelöscht werden",es:"Error al eliminar {count} archivo(s)",fr:"Échec de la suppression de {count} fichier(s)",it:"Eliminazione di {count} file fallita",da:"{count} fil(er) kunne ikke slettes",pl:"Nie udało się usunąć {count} plików",ru:"Не удалось удалить {count} файлов",ar:"فشل حذف {count} ملف(ات)",no:"{count} fil(er) kunne ikke slettes","pt-BR":"Falha ao excluir {count} arquivo(s)",th:"ลบ {count} ไฟล์ไม่สำเร็จ",tr:"{count} dosya silinemedi",uk:"Не вдалося видалити {count} файлів"},"ui.cancel":{zh:"取消",en:"Cancel","zh-TW":"取消",ko:"취소",ja:"キャンセル",de:"Abbrechen",es:"Cancelar",fr:"Annuler",it:"Annulla",da:"Annuller",pl:"Anuluj",ru:"Отмена",ar:"إلغاء",no:"Avbryt","pt-BR":"Cancelar",th:"ยกเลิก",tr:"İptal",uk:"Скасувати"},"ui.mergeLatestNotAllowed":{zh:"最新的日志文件不允许被合并,以避免当前窗口日志丢失",en:"The latest log file cannot be merged to avoid losing the current session","zh-TW":"最新的日誌檔案不允許被合併,以避免當前視窗日誌遺失",ko:"현재 세션 손실을 방지하기 위해 최신 로그 파일은 병합할 수 없습니다",ja:"現在のセッションの損失を防ぐため、最新のログファイルは結合できません",de:"Die neueste Logdatei kann nicht zusammengeführt werden, um den Verlust der aktuellen Sitzung zu vermeiden",es:"El archivo de log más reciente no se puede fusionar para evitar perder la sesión actual",fr:"Le fichier de log le plus récent ne peut pas être fusionné pour éviter la perte de la session en cours",it:"Il file di log più recente non può essere unito per evitare la perdita della sessione corrente",da:"Den nyeste logfil kan ikke flettes for at undgå tab af den aktuelle session",pl:"Najnowszy plik logów nie może być scalony, aby uniknąć utraty bieżącej sesji",ru:"Последний файл логов не может быть объединён, чтобы избежать потери текущей сессии",ar:"لا يمكن دمج أحدث ملف سجل لتجنب فقدان الجلسة الحالية",no:"Den nyeste loggfilen kan ikke slås sammen for å unngå tap av gjeldende økt","pt-BR":"O arquivo de log mais recente não pode ser mesclado para evitar perda da sessão atual",th:"ไม่สามารถรวมไฟล์บันทึกล่าสุดเพื่อหลีกเลี่ยงการสูญเสียเซสชันปัจจุบัน",tr:"Mevcut oturumun kaybını önlemek için en son günlük dosyası birleştirilemez",uk:"Найновіший файл логів не може бути об'єднаний, щоб уникнути втрати поточної сесії"},"ui.projectStats":{zh:"项目统计",en:"Project Stats","zh-TW":"專案統計",ko:"프로젝트 통계",ja:"プロジェクト統計",de:"Projektstatistik",es:"Estadísticas del proyecto",fr:"Statistiques du projet",it:"Statistiche progetto",da:"Projektstatistik",pl:"Statystyki projektu",ru:"Статистика проекта",ar:"إحصائيات المشروع",no:"Prosjektstatistikk","pt-BR":"Estatísticas do projeto",th:"สถิติโปรเจกต์",tr:"Proje İstatistikleri",uk:"Статистика проєкту"},"ui.projectStats.totalRequests":{zh:"总请求数",en:"Total Requests","zh-TW":"總請求數",ko:"총 요청 수",ja:"リクエスト総数",de:"Gesamtanfragen",es:"Total de solicitudes",fr:"Total des requêtes",it:"Richieste totali",da:"Samlede forespørgsler",pl:"Łączna liczba żądań",ru:"Всего запросов",ar:"إجمالي الطلبات",no:"Totale forespørsler","pt-BR":"Total de requisições",th:"คำขอทั้งหมด",tr:"Toplam İstekler",uk:"Всього запитів"},"ui.projectStats.sessionCount":{zh:"会话轮次",en:"Sessions","zh-TW":"會話輪次",ko:"세션 수",ja:"セッション数",de:"Sitzungen",es:"Sesiones",fr:"Sessions",it:"Sessioni",da:"Sessioner",pl:"Sesje",ru:"Сессий",ar:"الجلسات",no:"Sesjoner","pt-BR":"Sessões",th:"เซสชัน",tr:"Oturumlar",uk:"Сесії"},"ui.projectStats.turnCount":{zh:"对话轮次",en:"Turns","zh-TW":"對話輪次",ko:"대화 턴",ja:"ターン数",de:"Gesprächsrunden",es:"Turnos",fr:"Tours",it:"Turni",da:"Ture",pl:"Tury",ru:"Ходов",ar:"الأدوار",no:"Turer","pt-BR":"Turnos",th:"เทิร์น",tr:"Turlar",uk:"Ходів"},"ui.projectStats.totalFiles":{zh:"会话文件数",en:"Session Files","zh-TW":"會話檔案數",ko:"세션 파일 수",ja:"セッションファイル数",de:"Sitzungsdateien",es:"Archivos de sesión",fr:"Fichiers de session",it:"File di sessione",da:"Sessionsfiler",pl:"Pliki sesji",ru:"Файлов сессий",ar:"ملفات الجلسات",no:"Sesjonsfiler","pt-BR":"Arquivos de sessão",th:"ไฟล์เซสชัน",tr:"Oturum Dosyaları",uk:"Файли сесій"},"ui.projectStats.modelUsage":{zh:"模型使用统计",en:"Model Usage","zh-TW":"模型使用統計",ko:"모델 사용 통계",ja:"モデル使用統計",de:"Modellnutzung",es:"Uso de modelos",fr:"Utilisation des modèles",it:"Utilizzo modelli",da:"Modelbrug",pl:"Użycie modeli",ru:"Использование моделей",ar:"استخدام النماذج",no:"Modellbruk","pt-BR":"Uso de modelos",th:"การใช้โมเดล",tr:"Model Kullanımı",uk:"Використання моделей"},"ui.projectStats.noData":{zh:"暂无统计数据",en:"No stats available","zh-TW":"暫無統計資料",ko:"통계 데이터 없음",ja:"統計データなし",de:"Keine Statistiken verfügbar",es:"Sin estadísticas disponibles",fr:"Aucune statistique disponible",it:"Nessuna statistica disponibile",da:"Ingen statistik tilgængelig",pl:"Brak dostępnych statystyk",ru:"Статистика недоступна",ar:"لا توجد إحصائيات متاحة",no:"Ingen statistikk tilgjengelig","pt-BR":"Sem estatísticas disponíveis",th:"ไม่มีข้อมูลสถิติ",tr:"İstatistik mevcut değil",uk:"Статистика недоступна"},"ui.projectStats.updatedAt":{zh:"更新于 {time}",en:"Updated at {time}","zh-TW":"更新於 {time}",ko:"{time}에 업데이트됨",ja:"{time} に更新",de:"Aktualisiert um {time}",es:"Actualizado a las {time}",fr:"Mis à jour à {time}",it:"Aggiornato alle {time}",da:"Opdateret {time}",pl:"Zaktualizowano {time}",ru:"Обновлено в {time}",ar:"تم التحديث في {time}",no:"Oppdatert {time}","pt-BR":"Atualizado em {time}",th:"อัปเดตเมื่อ {time}",tr:"{time} tarihinde güncellendi",uk:"Оновлено о {time}"},"ui.update.title":{zh:"版本信息",en:"Version Info","zh-TW":"版本資訊",ko:"버전 정보",ja:"バージョン情報",de:"Versionsinformationen",es:"Información de versión",fr:"Informations de version",it:"Informazioni versione",da:"Versionsinfo",pl:"Informacje o wersji",ru:"Информация о версии",ar:"معلومات الإصدار",no:"Versjonsinformasjon","pt-BR":"Informações da versão",th:"ข้อมูลเวอร์ชัน",tr:"Sürüm bilgisi",uk:"Інформація про версію"},"ui.update.current":{zh:"当前版本",en:"Current version","zh-TW":"目前版本",ko:"현재 버전",ja:"現在のバージョン",de:"Aktuelle Version",es:"Versión actual",fr:"Version actuelle",it:"Versione corrente",da:"Nuværende version",pl:"Bieżąca wersja",ru:"Текущая версия",ar:"الإصدار الحالي",no:"Gjeldende versjon","pt-BR":"Versão atual",th:"เวอร์ชันปัจจุบัน",tr:"Mevcut sürüm",uk:"Поточна версія"},"ui.update.latest":{zh:"最新版本",en:"Latest version","zh-TW":"最新版本",ko:"최신 버전",ja:"最新バージョン",de:"Neueste Version",es:"Última versión",fr:"Dernière version",it:"Ultima versione",da:"Seneste version",pl:"Najnowsza wersja",ru:"Последняя версия",ar:"أحدث إصدار",no:"Nyeste versjon","pt-BR":"Versão mais recente",th:"เวอร์ชันล่าสุด",tr:"Son sürüm",uk:"Остання версія"},"ui.update.npm":{zh:"npm 版本更新",en:"Update via npm","zh-TW":"npm 版本更新",ko:"npm으로 업데이트",ja:"npm で更新",de:"Über npm aktualisieren",es:"Actualizar vía npm",fr:"Mettre à jour via npm",it:"Aggiorna via npm",da:"Opdater via npm",pl:"Aktualizuj przez npm",ru:"Обновить через npm",ar:"التحديث عبر npm",no:"Oppdater via npm","pt-BR":"Atualizar via npm",th:"อัปเดตผ่าน npm",tr:"npm ile güncelle",uk:"Оновити через npm"},"ui.update.electron":{zh:"Electron 桌面版更新",en:"Update Electron Desktop","zh-TW":"Electron 桌面版更新",ko:"Electron 데스크톱 업데이트",ja:"Electron デスクトップ更新",de:"Electron Desktop aktualisieren",es:"Actualizar Electron Desktop",fr:"Mettre à jour Electron Desktop",it:"Aggiorna Electron Desktop",da:"Opdater Electron Desktop",pl:"Aktualizuj Electron Desktop",ru:"Обновить Electron Desktop",ar:"تحديث Electron Desktop",no:"Oppdater Electron Desktop","pt-BR":"Atualizar Electron Desktop",th:"อัปเดต Electron Desktop",tr:"Electron Desktop Güncelle",uk:"Оновити Electron Desktop"},"ui.update.electronDesc":{zh:"请从 GitHub Releases 下载最新版本的安装包。",en:"Download the latest installer from GitHub Releases.","zh-TW":"請從 GitHub Releases 下載最新版本的安裝包。",ko:"GitHub Releases에서 최신 설치 프로그램을 다운로드하세요.",ja:"GitHub Releases から最新のインストーラーをダウンロードしてください。",de:"Laden Sie das neueste Installationsprogramm von GitHub Releases herunter.",es:"Descargue el instalador más reciente de GitHub Releases.",fr:"Téléchargez le dernier installeur depuis GitHub Releases.",it:"Scarica l'ultimo installer da GitHub Releases.",da:"Download det nyeste installationsprogram fra GitHub Releases.",pl:"Pobierz najnowszy instalator z GitHub Releases.",ru:"Скачайте последний установщик из GitHub Releases.",ar:"قم بتنزيل أحدث مثبت من GitHub Releases.",no:"Last ned det nyeste installasjonsprogrammet fra GitHub Releases.","pt-BR":"Baixe o instalador mais recente do GitHub Releases.",th:"ดาวน์โหลดตัวติดตั้งล่าสุดจาก GitHub Releases",tr:"GitHub Releases'dan en son yükleyiciyi indirin.",uk:"Завантажте останній інсталятор з GitHub Releases."},"ui.update.step1":{zh:"点击下方按钮进入 GitHub Releases 页面",en:"Click the button below to open GitHub Releases","zh-TW":"點擊下方按鈕進入 GitHub Releases 頁面",ko:"아래 버튼을 클릭하여 GitHub Releases 페이지로 이동",ja:"下のボタンをクリックして GitHub Releases ページを開く",de:"Klicken Sie auf die Schaltfläche unten, um GitHub Releases zu öffnen",es:"Haga clic en el botón para abrir GitHub Releases",fr:"Cliquez sur le bouton ci-dessous pour ouvrir GitHub Releases",it:"Clicca il pulsante sotto per aprire GitHub Releases",da:"Klik på knappen nedenfor for at åbne GitHub Releases",pl:"Kliknij przycisk poniżej, aby otworzyć GitHub Releases",ru:"Нажмите кнопку ниже, чтобы открыть GitHub Releases",ar:"انقر على الزر أدناه لفتح GitHub Releases",no:"Klikk på knappen nedenfor for å åpne GitHub Releases","pt-BR":"Clique no botão abaixo para abrir o GitHub Releases",th:"คลิกปุ่มด้านล่างเพื่อเปิด GitHub Releases",tr:"GitHub Releases'ı açmak için aşağıdaki düğmeye tıklayın",uk:"Натисніть кнопку нижче, щоб відкрити GitHub Releases"},"ui.update.step2":{zh:"下载对应系统的安装包(.dmg / .exe / .AppImage)",en:"Download the installer for your OS (.dmg / .exe / .AppImage)","zh-TW":"下載對應系統的安裝包(.dmg / .exe / .AppImage)",ko:"사용 중인 OS에 맞는 설치 파일 다운로드 (.dmg / .exe / .AppImage)",ja:"お使いの OS 用のインストーラーをダウンロード(.dmg / .exe / .AppImage)",de:"Laden Sie das Installationsprogramm für Ihr OS herunter (.dmg / .exe / .AppImage)",es:"Descargue el instalador para su sistema (.dmg / .exe / .AppImage)",fr:"Téléchargez l'installeur pour votre OS (.dmg / .exe / .AppImage)",it:"Scarica l'installer per il tuo OS (.dmg / .exe / .AppImage)",da:"Download installationsprogrammet til dit OS (.dmg / .exe / .AppImage)",pl:"Pobierz instalator dla swojego systemu (.dmg / .exe / .AppImage)",ru:"Скачайте установщик для вашей ОС (.dmg / .exe / .AppImage)",ar:"قم بتنزيل المثبت لنظامك (.dmg / .exe / .AppImage)",no:"Last ned installasjonsprogrammet for ditt OS (.dmg / .exe / .AppImage)","pt-BR":"Baixe o instalador para seu SO (.dmg / .exe / .AppImage)",th:"ดาวน์โหลดตัวติดตั้งสำหรับระบบของคุณ (.dmg / .exe / .AppImage)",tr:"İşletim sisteminiz için yükleyiciyi indirin (.dmg / .exe / .AppImage)",uk:"Завантажте інсталятор для вашої ОС (.dmg / .exe / .AppImage)"},"ui.update.step3":{zh:"安装后替换旧版本即可",en:"Install to replace the old version","zh-TW":"安裝後替換舊版本即可",ko:"설치하여 이전 버전을 교체",ja:"インストールして旧バージョンを置き換え",de:"Installieren, um die alte Version zu ersetzen",es:"Instale para reemplazar la versión anterior",fr:"Installez pour remplacer l'ancienne version",it:"Installa per sostituire la vecchia versione",da:"Installér for at erstatte den gamle version",pl:"Zainstaluj, aby zastąpić starą wersję",ru:"Установите для замены старой версии",ar:"قم بالتثبيت لاستبدال الإصدار القديم",no:"Installer for å erstatte den gamle versjonen","pt-BR":"Instale para substituir a versão antiga",th:"ติดตั้งเพื่อแทนที่เวอร์ชันเก่า",tr:"Eski sürümü değiştirmek için yükleyin",uk:"Встановіть для заміни старої версії"},"ui.update.goReleases":{zh:"前往 GitHub Releases",en:"Go to GitHub Releases","zh-TW":"前往 GitHub Releases",ko:"GitHub Releases로 이동",ja:"GitHub Releases へ",de:"Zu GitHub Releases",es:"Ir a GitHub Releases",fr:"Aller sur GitHub Releases",it:"Vai a GitHub Releases",da:"Gå til GitHub Releases",pl:"Przejdź do GitHub Releases",ru:"Перейти к GitHub Releases",ar:"انتقل إلى GitHub Releases",no:"Gå til GitHub Releases","pt-BR":"Ir para GitHub Releases",th:"ไปที่ GitHub Releases",tr:"GitHub Releases'a git",uk:"Перейти до GitHub Releases"},"ui.update.completed":{zh:"已更新到 v{version},下次启动生效",en:"Updated to v{version}, effective on next restart","zh-TW":"已更新到 v{version},下次啟動生效",ko:"v{version}으로 업데이트됨, 다음 시작 시 적용",ja:"v{version} に更新済み、次回起動時に有効",de:"Auf v{version} aktualisiert, wirksam beim nächsten Neustart",es:"Actualizado a v{version}, efectivo en el próximo reinicio",fr:"Mis à jour vers v{version}, effectif au prochain redémarrage",it:"Aggiornato a v{version}, effettivo al prossimo riavvio",da:"Opdateret til v{version}, træder i kraft ved næste genstart",pl:"Zaktualizowano do v{version}, obowiązuje po ponownym uruchomieniu",ru:"Обновлено до v{version}, вступит в силу при следующем запуске",ar:"تم التحديث إلى v{version}، سيسري عند إعادة التشغيل التالية",no:"Oppdatert til v{version}, trer i kraft ved neste omstart","pt-BR":"Atualizado para v{version}, efetivo na próxima reinicialização",th:"อัปเดตเป็น v{version} แล้ว มีผลเมื่อเริ่มใหม่",tr:"v{version} sürümüne güncellendi, bir sonraki başlatmada geçerli",uk:"Оновлено до v{version}, набуде чинності при наступному запуску"},"ui.update.majorAvailable":{zh:"新大版本 v{version} 可用,请手动更新: npm i -g cc-viewer@latest",en:"Major version v{version} available, update manually: npm i -g cc-viewer@latest","zh-TW":"新大版本 v{version} 可用,請手動更新: npm i -g cc-viewer@latest",ko:"새 메이저 버전 v{version} 사용 가능, 수동 업데이트: npm i -g cc-viewer@latest",ja:"メジャーバージョン v{version} が利用可能、手動更新: npm i -g cc-viewer@latest",de:"Hauptversion v{version} verfügbar, manuell aktualisieren: npm i -g cc-viewer@latest",es:"Versión principal v{version} disponible, actualice: npm i -g cc-viewer@latest",fr:"Version majeure v{version} disponible, mettez à jour : npm i -g cc-viewer@latest",it:"Versione principale v{version} disponibile, aggiornare: npm i -g cc-viewer@latest",da:"Hovedversion v{version} tilgængelig, opdater manuelt: npm i -g cc-viewer@latest",pl:"Główna wersja v{version} dostępna, zaktualizuj: npm i -g cc-viewer@latest",ru:"Доступна основная версия v{version}, обновите: npm i -g cc-viewer@latest",ar:"الإصدار الرئيسي v{version} متاح، حدّث يدويًا: npm i -g cc-viewer@latest",no:"Hovedversjon v{version} tilgjengelig, oppdater manuelt: npm i -g cc-viewer@latest","pt-BR":"Versão principal v{version} disponível, atualize: npm i -g cc-viewer@latest",th:"เวอร์ชันหลัก v{version} พร้อมใช้งาน อัปเดตด้วยตนเอง: npm i -g cc-viewer@latest",tr:"Ana sürüm v{version} mevcut, manuel güncelleyin: npm i -g cc-viewer@latest",uk:"Доступна основна версія v{version}, оновіть: npm i -g cc-viewer@latest"},"ui.chatInput.placeholder":{zh:"输入消息发送给 Claude...",en:"Type a message to Claude...","zh-TW":"輸入訊息傳送給 Claude...",ko:"Claude에게 메시지를 입력하세요...",ja:"Claudeにメッセージを入力...",de:"Nachricht an Claude eingeben...",es:"Escribe un mensaje para Claude...",fr:"Tapez un message pour Claude...",it:"Scrivi un messaggio per Claude...",da:"Skriv en besked til Claude...",pl:"Wpisz wiadomość do Claude...",ru:"Введите сообщение для Claude...",ar:"اكتب رسالة إلى Claude...",no:"Skriv en melding til Claude...","pt-BR":"Digite uma mensagem para o Claude...",th:"พิมพ์ข้อความถึง Claude...",tr:"Claude'a mesaj yazın...",uk:"Введіть повідомлення для Claude..."},"ui.chatInput.removeImage":{zh:"移除图片",en:"Remove image","zh-TW":"移除圖片",ko:"이미지 제거",ja:"画像を削除",de:"Bild entfernen",es:"Eliminar imagen",fr:"Supprimer l'image",it:"Rimuovi immagine",da:"Fjern billede",pl:"Usuń obraz",ru:"Удалить изображение",ar:"إزالة الصورة",no:"Fjern bilde","pt-BR":"Remover imagem",th:"ลบรูปภาพ",tr:"Resmi kaldır",uk:"Видалити зображення"},"ui.chatInput.more":{zh:"更多",en:"More","zh-TW":"更多",ko:"더보기",ja:"もっと見る",de:"Mehr",es:"Más",fr:"Plus",it:"Altro",da:"Mere",pl:"Więcej",ru:"Ещё",ar:"المزيد",no:"Mer","pt-BR":"Mais",th:"เพิ่มเติม",tr:"Daha fazla",uk:"Ще"},"ui.chatInput.send":{zh:"发送",en:"Send","zh-TW":"傳送",ko:"보내기",ja:"送信",de:"Senden",es:"Enviar",fr:"Envoyer",it:"Invia",da:"Send",pl:"Wyślij",ru:"Отправить",ar:"إرسال",no:"Send","pt-BR":"Enviar",th:"ส่ง",tr:"Gönder",uk:"Надіслати"},"ui.chatInput.hintEnter":{zh:"Enter 发送,Shift+Enter 换行",en:"Enter to send, Shift+Enter for new line","zh-TW":"Enter 傳送,Shift+Enter 換行",ko:"Enter로 전송, Shift+Enter로 줄바꿈",ja:"Enterで送信、Shift+Enterで改行",de:"Enter zum Senden, Shift+Enter für neue Zeile",es:"Enter para enviar, Shift+Enter para nueva línea",fr:"Entrée pour envoyer, Shift+Entrée pour nouvelle ligne",it:"Invio per inviare, Shift+Invio per nuova riga",da:"Enter for at sende, Shift+Enter for ny linje",pl:"Enter aby wysłać, Shift+Enter nowa linia",ru:"Enter — отправить, Shift+Enter — новая строка",ar:"Enter للإرسال، Shift+Enter لسطر جديد",no:"Enter for å sende, Shift+Enter for ny linje","pt-BR":"Enter para enviar, Shift+Enter para nova linha",th:"Enter ส่ง, Shift+Enter ขึ้นบรรทัดใหม่",tr:"Enter gönder, Shift+Enter yeni satır",uk:"Enter — надіслати, Shift+Enter — новий рядок"},"ui.chatInput.hintTab":{zh:"Tab 接受建议",en:"Tab to accept suggestion","zh-TW":"Tab 接受建議",ko:"Tab으로 제안 수락",ja:"Tabで提案を受け入れ",de:"Tab zum Akzeptieren des Vorschlags",es:"Tab para aceptar sugerencia",fr:"Tab pour accepter la suggestion",it:"Tab per accettare il suggerimento",da:"Tab for at acceptere forslag",pl:"Tab aby zaakceptować sugestię",ru:"Tab — принять предложение",ar:"Tab لقبول الاقتراح",no:"Tab for å akseptere forslag","pt-BR":"Tab para aceitar sugestão",th:"Tab ยอมรับคำแนะนำ",tr:"Tab ile öneriyi kabul et",uk:"Tab — прийняти пропозицію"},"ui.terminal":{zh:"终端",en:"Terminal","zh-TW":"終端機",ko:"터미널",ja:"ターミナル",de:"Terminal",es:"Terminal",fr:"Terminal",it:"Terminale",da:"Terminal",pl:"Terminal",ru:"Терминал",ar:"طرفية",no:"Terminal","pt-BR":"Terminal",th:"เทอร์มินัล",tr:"Terminal",uk:"Термінал"},"ui.collapseTerminal":{zh:"收起终端",en:"Collapse terminal","zh-TW":"收起終端機",ko:"터미널 접기",ja:"ターミナルを閉じる",de:"Terminal einklappen",es:"Contraer terminal",fr:"Réduire le terminal",it:"Comprimi terminale",da:"Skjul terminal",pl:"Zwiń terminal",ru:"Свернуть терминал",ar:"طي الطرفية",no:"Skjul terminal","pt-BR":"Recolher terminal",th:"ย่อเทอร์มินัล",tr:"Terminali daralt",uk:"Згорнути термінал"},"ui.expandTerminal":{zh:"展开终端",en:"Expand terminal","zh-TW":"展開終端機",ko:"터미널 펼치기",ja:"ターミナルを開く",de:"Terminal ausklappen",es:"Expandir terminal",fr:"Développer le terminal",it:"Espandi terminale",da:"Vis terminal",pl:"Rozwiń terminal",ru:"Развернуть терминал",ar:"توسيع الطرفية",no:"Vis terminal","pt-BR":"Expandir terminal",th:"ขยายเทอร์มินัล",tr:"Terminali genişlet",uk:"Розгорнути термінал"},"ui.stickyBottom":{zh:"保持吸底",en:"Stick to bottom","zh-TW":"保持置底",ko:"하단 고정",ja:"下部に固定",de:"Unten fixieren",es:"Fijar al fondo",fr:"Fixer en bas",it:"Fissa in basso",da:"Fastgør i bunden",pl:"Przypnij na dole",ru:"Прикрепить внизу",ar:"تثبيت في الأسفل",no:"Fest til bunnen","pt-BR":"Fixar no fundo",th:"ตรึงด้านล่าง",tr:"Alta sabitle",uk:"Закріпити внизу"},"ui.enterPlanMode":{zh:"进入计划模式",en:"Entering Plan Mode","zh-TW":"進入計劃模式",ko:"계획 모드 진입",ja:"プランモードに入ります",de:"Planungsmodus wird gestartet",es:"Entrando en modo de planificación",fr:"Entrée en mode planification",it:"Accesso alla modalità pianificazione",da:"Går ind i planlægningstilstand",pl:"Wchodzenie w tryb planowania",ru:"Вход в режим планирования",ar:"الدخول في وضع التخطيط",no:"Går inn i planleggingsmodus","pt-BR":"Entrando no modo de planejamento",th:"เข้าสู่โหมดวางแผน",tr:"Plan moduna giriliyor",uk:"Вхід у режим планування"},"ui.exitPlanMode":{zh:"计划就绪,等待审批",en:"Plan Ready for Approval","zh-TW":"計劃就緒,等待審批",ko:"계획 준비 완료, 승인 대기",ja:"プラン準備完了、承認待ち",de:"Plan bereit zur Genehmigung",es:"Plan listo para aprobación",fr:"Plan prêt pour approbation",it:"Piano pronto per l'approvazione",da:"Plan klar til godkendelse",pl:"Plan gotowy do zatwierdzenia",ru:"План готов к утверждению",ar:"الخطة جاهزة للموافقة",no:"Plan klar for godkjenning","pt-BR":"Plano pronto para aprovação",th:"แผนพร้อมรอการอนุมัติ",tr:"Plan onaya hazır",uk:"План готовий до затвердження"},"ui.exitPlanModeResolved":{zh:"计划审批",en:"Plan Approval","zh-TW":"計劃審批",ko:"계획 승인",ja:"プラン承認",de:"Plangenehmigung",es:"Aprobación del plan",fr:"Approbation du plan",it:"Approvazione piano",da:"Plangodkendelse",pl:"Zatwierdzenie planu",ru:"Утверждение плана",ar:"الموافقة على الخطة",no:"Plangodkjenning","pt-BR":"Aprovação do plano",th:"การอนุมัติแผน",tr:"Plan onayı",uk:"Затвердження плану"},"ui.allowedPrompts":{zh:"请求的权限",en:"Requested Permissions","zh-TW":"請求的權限",ko:"요청된 권한",ja:"要求された権限",de:"Angeforderte Berechtigungen",es:"Permisos solicitados",fr:"Permissions demandées",it:"Permessi richiesti",da:"Anmodede tilladelser",pl:"Żądane uprawnienia",ru:"Запрошенные разрешения",ar:"الأذونات المطلوبة",no:"Forespurte tillatelser","pt-BR":"Permissões solicitadas",th:"สิทธิ์ที่ร้องขอ",tr:"İstenen izinler",uk:"Запитані дозволи"},"ui.planApproved":{zh:"已批准",en:"Approved","zh-TW":"已批准",ko:"승인됨",ja:"承認済み",de:"Genehmigt",es:"Aprobado",fr:"Approuvé",it:"Approvato",da:"Godkendt",pl:"Zatwierdzono",ru:"Одобрено",ar:"تمت الموافقة",no:"Godkjent","pt-BR":"Aprovado",th:"อนุมัติแล้ว",tr:"Onaylandı",uk:"Затверджено"},"ui.planRejected":{zh:"已拒绝",en:"Rejected","zh-TW":"已拒絕",ko:"거부됨",ja:"却下済み",de:"Abgelehnt",es:"Rechazado",fr:"Rejeté",it:"Rifiutato",da:"Afvist",pl:"Odrzucono",ru:"Отклонено",ar:"مرفوض",no:"Avvist","pt-BR":"Rejeitado",th:"ถูกปฏิเสธ",tr:"Reddedildi",uk:"Відхилено"},"ui.planPending":{zh:"待审批",en:"Pending","zh-TW":"待審批",ko:"대기 중",ja:"承認待ち",de:"Ausstehend",es:"Pendiente",fr:"En attente",it:"In attesa",da:"Afventer",pl:"Oczekuje",ru:"Ожидает",ar:"قيد الانتظار",no:"Venter","pt-BR":"Pendente",th:"รอดำเนินการ",tr:"Beklemede",uk:"Очікує"},"ui.planUltraplan":{zh:"UltraPlan 执行中",en:"UltraPlan Executing","zh-TW":"UltraPlan 執行中",ko:"UltraPlan 실행 중",ja:"UltraPlan 実行中",de:"UltraPlan wird ausgeführt",es:"UltraPlan en ejecución",fr:"UltraPlan en cours",it:"UltraPlan in esecuzione",da:"UltraPlan kører",pl:"UltraPlan w trakcie",ru:"UltraPlan выполняется",ar:"UltraPlan قيد التنفيذ",no:"UltraPlan kjører","pt-BR":"UltraPlan em execução",th:"UltraPlan กำลังดำเนินการ",tr:"UltraPlan çalışıyor",uk:"UltraPlan виконується"},"ui.planApprove":{zh:"批准",en:"Approve","zh-TW":"批准",ko:"승인",ja:"承認",de:"Genehmigen",es:"Aprobar",fr:"Approuver",it:"Approva",da:"Godkend",pl:"Zatwierdź",ru:"Одобрить",ar:"موافقة",no:"Godkjenn","pt-BR":"Aprovar",th:"อนุมัติ",tr:"Onayla",uk:"Схвалити"},"ui.planApproveWithEdits":{zh:"批准并修改",en:"Approve with edits","zh-TW":"批准並修改",ko:"수정 후 승인",ja:"修正して承認",de:"Mit Änderungen genehmigen",es:"Aprobar con cambios",fr:"Approuver avec modifications",it:"Approva con modifiche",da:"Godkend med ændringer",pl:"Zatwierdź ze zmianami",ru:"Одобрить с правками",ar:"موافقة مع تعديلات",no:"Godkjenn med endringer","pt-BR":"Aprovar com edições",th:"อนุมัติพร้อมแก้ไข",tr:"Düzenlemelerle onayla",uk:"Схвалити зі змінами"},"ui.planReject":{zh:"拒绝",en:"Reject","zh-TW":"拒絕",ko:"거부",ja:"拒否",de:"Ablehnen",es:"Rechazar",fr:"Rejeter",it:"Rifiuta",da:"Afvis",pl:"Odrzuć",ru:"Отклонить",ar:"رفض",no:"Avvis","pt-BR":"Rejeitar",th:"ปฏิเสธ",tr:"Reddet",uk:"Відхилити"},"ui.planFeedback":{zh:"反馈",en:"Feedback","zh-TW":"回饋",ko:"피드백",ja:"フィードバック",de:"Feedback",es:"Comentarios",fr:"Retour",it:"Feedback",da:"Feedback",pl:"Opinia",ru:"Отзыв",ar:"ملاحظات",no:"Tilbakemelding","pt-BR":"Feedback",th:"ข้อเสนอแนะ",tr:"Geri bildirim",uk:"Відгук"},"ui.planFeedbackPlaceholder":{zh:"输入你的修改建议…",en:"Type your feedback…","zh-TW":"輸入你的修改建議…",ko:"피드백을 입력하세요…",ja:"フィードバックを入力…",de:"Feedback eingeben…",es:"Escribe tu comentario…",fr:"Saisissez votre retour…",it:"Scrivi il tuo feedback…",da:"Skriv din feedback…",pl:"Wpisz swoją opinię…",ru:"Введите отзыв…",ar:"اكتب ملاحظاتك…",no:"Skriv tilbakemelding…","pt-BR":"Digite seu feedback…",th:"พิมพ์ข้อเสนอแนะ…",tr:"Geri bildiriminizi yazın…",uk:"Введіть відгук…"},"ui.planFeedbackSubmit":{zh:"发送",en:"Send","zh-TW":"傳送",ko:"보내기",ja:"送信",de:"Senden",es:"Enviar",fr:"Envoyer",it:"Invia",da:"Send",pl:"Wyślij",ru:"Отправить",ar:"إرسال",no:"Send","pt-BR":"Enviar",th:"ส่ง",tr:"Gönder",uk:"Надіслати"},"ui.permission.approvalRequired":{zh:"待审批",en:"Approval Required","zh-TW":"待審批",ko:"승인 필요",ja:"承認が必要",de:"Genehmigung erforderlich",es:"Aprobación requerida",fr:"Approbation requise",it:"Approvazione richiesta",da:"Godkendelse påkrævet",pl:"Wymagana akceptacja",ru:"Требуется одобрение",ar:"موافقة مطلوبة",no:"Godkjenning påkrevd","pt-BR":"Aprovação necessária",th:"ต้องการการอนุมัติ",tr:"Onay gerekli",uk:"Потрібне схвалення"},"ui.permission.allow":{zh:"允许",en:"Allow","zh-TW":"允許",ko:"허용",ja:"許可",de:"Erlauben",es:"Permitir",fr:"Autoriser",it:"Consenti",da:"Tillad",pl:"Zezwól",ru:"Разрешить",ar:"سماح",no:"Tillat","pt-BR":"Permitir",th:"อนุญาต",tr:"İzin ver",uk:"Дозволити"},"ui.permission.allowSession":{zh:"本次会话允许",en:"Allow for session","zh-TW":"本次會話允許",ko:"세션 동안 허용",ja:"セッション中は許可",de:"Für Sitzung erlauben",es:"Permitir para sesión",fr:"Autoriser pour la session",it:"Consenti per sessione",da:"Tillad for session",pl:"Zezwól na sesję",ru:"Разрешить на сессию",ar:"سماح للجلسة",no:"Tillat for økt","pt-BR":"Permitir para sessão",th:"อนุญาตสำหรับเซสชัน",tr:"Oturum için izin ver",uk:"Дозволити для сесії"},"ui.permission.deny":{zh:"拒绝",en:"Deny","zh-TW":"拒絕",ko:"거부",ja:"拒否",de:"Ablehnen",es:"Denegar",fr:"Refuser",it:"Nega",da:"Afvis",pl:"Odmów",ru:"Отклонить",ar:"رفض",no:"Avslå","pt-BR":"Negar",th:"ปฏิเสธ",tr:"Reddet",uk:"Відхилити"},"ui.permission.allowCountdown":{zh:"允许({seconds}s)",en:"Allow({seconds}s)","zh-TW":"允許({seconds}s)",ko:"허용({seconds}s)",ja:"許可({seconds}s)",de:"Erlauben({seconds}s)",es:"Permitir({seconds}s)",fr:"Autoriser({seconds}s)",it:"Consenti({seconds}s)",da:"Tillad({seconds}s)",pl:"Zezwól({seconds}s)",ru:"Разрешить({seconds}s)",ar:"سماح({seconds}s)",no:"Tillat({seconds}s)","pt-BR":"Permitir({seconds}s)",th:"อนุญาต({seconds}s)",tr:"İzin ver({seconds}s)",uk:"Дозволити({seconds}s)"},"ui.permission.autoApprove.enable":{zh:"开启 {seconds}s 自动审批",en:"Auto-approve {seconds}s","zh-TW":"開啟 {seconds}s 自動審批",ko:"{seconds}s 자동 승인",ja:"{seconds}s 自動承認",de:"Auto-Genehmigung {seconds}s",es:"Auto-aprobar {seconds}s",fr:"Auto-approuver {seconds}s",it:"Auto-approva {seconds}s",da:"Auto-godkend {seconds}s",pl:"Auto-akceptacja {seconds}s",ru:"Авто-одобрение {seconds}s",ar:"موافقة تلقائية {seconds}s",no:"Auto-godkjenn {seconds}s","pt-BR":"Auto-aprovar {seconds}s",th:"อนุมัติอัตโนมัติ {seconds}s",tr:"Otomatik onayla {seconds}s",uk:"Авто-схвалення {seconds}s"},"ui.permission.autoApprove.active":{zh:"自动审批 {seconds}s",en:"Auto-approve {seconds}s","zh-TW":"自動審批 {seconds}s",ko:"자동 승인 {seconds}s",ja:"自動承認 {seconds}s",de:"Auto-Genehmigung {seconds}s",es:"Auto-aprobar {seconds}s",fr:"Auto-approuver {seconds}s",it:"Auto-approva {seconds}s",da:"Auto-godkend {seconds}s",pl:"Auto-akceptacja {seconds}s",ru:"Авто-одобрение {seconds}s",ar:"موافقة تلقائية {seconds}s",no:"Auto-godkjenn {seconds}s","pt-BR":"Auto-aprovar {seconds}s",th:"อนุมัติอัตโนมัติ {seconds}s",tr:"Otomatik onayla {seconds}s",uk:"Авто-схвалення {seconds}s"},"ui.permission.autoApprove.disable":{zh:"关闭自动审批",en:"Disable auto-approve","zh-TW":"關閉自動審批",ko:"자동 승인 끄기",ja:"自動承認を無効化",de:"Auto-Genehmigung deaktivieren",es:"Desactivar auto-aprobar",fr:"Désactiver auto-approuver",it:"Disattiva auto-approva",da:"Deaktiver auto-godkend",pl:"Wyłącz auto-akceptację",ru:"Выключить авто-одобрение",ar:"إيقاف الموافقة التلقائية",no:"Deaktiver auto-godkjenn","pt-BR":"Desativar auto-aprovar",th:"ปิดอนุมัติอัตโนมัติ",tr:"Otomatik onayı kapat",uk:"Вимкнути авто-схвалення"},"ui.subAgentApproval":{zh:"SubAgent",en:"SubAgent","zh-TW":"SubAgent",ko:"SubAgent",ja:"SubAgent",de:"SubAgent",es:"SubAgent",fr:"SubAgent",it:"SubAgent",da:"SubAgent",pl:"SubAgent",ru:"SubAgent",ar:"SubAgent",no:"SubAgent","pt-BR":"SubAgent",th:"SubAgent",tr:"SubAgent",uk:"SubAgent"},"ui.permission.queued":{zh:"+{n} 排队中",en:"+{n} queued","zh-TW":"+{n} 排隊中",ko:"+{n} 대기 중",ja:"+{n} キュー中",de:"+{n} in Warteschlange",es:"+{n} en cola",fr:"+{n} en attente",it:"+{n} in coda",da:"+{n} i kø",pl:"+{n} w kolejce",ru:"+{n} в очереди",ar:"+{n} في الانتظار",no:"+{n} i kø","pt-BR":"+{n} na fila",th:"+{n} รอคิว",tr:"+{n} sırada",uk:"+{n} в черзі"},"ui.teammate.idle_notification":{zh:"{name} 已空闲",en:"{name} is idle","zh-TW":"{name} 已閒置",ko:"{name} 유휴 상태",ja:"{name} がアイドル",de:"{name} ist untätig",es:"{name} está inactivo",fr:"{name} est inactif",it:"{name} è inattivo",da:"{name} er inaktiv",pl:"{name} jest bezczynny",ru:"{name} простаивает",ar:"{name} خامل",no:"{name} er inaktiv","pt-BR":"{name} está ocioso",th:"{name} ว่าง",tr:"{name} boşta",uk:"{name} очікує"},"ui.teammate.shutdown_request":{zh:"请求关闭 {name}",en:"Requesting shutdown of {name}","zh-TW":"請求關閉 {name}",ko:"{name} 종료 요청",ja:"{name} のシャットダウンを要求",de:"Herunterfahren von {name} angefordert",es:"Solicitando cierre de {name}",fr:"Demande d'arrêt de {name}",it:"Richiesta chiusura di {name}",da:"Anmoder nedlukning af {name}",pl:"Żądanie zamknięcia {name}",ru:"Запрос завершения {name}",ar:"طلب إيقاف {name}",no:"Ber om avslutning av {name}","pt-BR":"Solicitando encerramento de {name}",th:"ขอปิด {name}",tr:"{name} kapatılıyor",uk:"Запит завершення {name}"},"ui.teammate.shutdown_response":{zh:"{name} 同意关闭",en:"{name} accepted shutdown","zh-TW":"{name} 同意關閉",ko:"{name} 종료 수락",ja:"{name} がシャットダウンを承認",de:"{name} akzeptiert Herunterfahren",es:"{name} aceptó el cierre",fr:"{name} a accepté l'arrêt",it:"{name} ha accettato la chiusura",da:"{name} accepterede nedlukning",pl:"{name} zaakceptował zamknięcie",ru:"{name} принял завершение",ar:"{name} وافق على الإيقاف",no:"{name} godtok avslutning","pt-BR":"{name} aceitou o encerramento",th:"{name} ยอมรับการปิด",tr:"{name} kapatmayı kabul etti",uk:"{name} прийняв завершення"},"ui.teammate.shutdown_approved":{zh:"{name} 已关闭",en:"{name} shut down","zh-TW":"{name} 已關閉",ko:"{name} 종료됨",ja:"{name} がシャットダウン",de:"{name} heruntergefahren",es:"{name} cerrado",fr:"{name} arrêté",it:"{name} chiuso",da:"{name} lukket ned",pl:"{name} zamknięty",ru:"{name} завершён",ar:"{name} أُغلق",no:"{name} avsluttet","pt-BR":"{name} encerrado",th:"{name} ปิดแล้ว",tr:"{name} kapatıldı",uk:"{name} завершено"},"ui.teammate.teammate_terminated":{zh:"{name} 已终止",en:"{name} terminated","zh-TW":"{name} 已終止",ko:"{name} 종료됨",ja:"{name} が終了",de:"{name} beendet",es:"{name} terminado",fr:"{name} terminé",it:"{name} terminato",da:"{name} afsluttet",pl:"{name} zakończony",ru:"{name} завершён",ar:"{name} أُنهي",no:"{name} avsluttet","pt-BR":"{name} finalizado",th:"{name} สิ้นสุด",tr:"{name} sonlandırıldı",uk:"{name} завершено"},"ui.permission.autoApprove.off":{zh:"关闭",en:"Off","zh-TW":"關閉",ko:"끄기",ja:"オフ",de:"Aus",es:"Desactivar",fr:"Désactiver",it:"Disattiva",da:"Sluk",pl:"Wyłącz",ru:"Выкл",ar:"إيقاف",no:"Av","pt-BR":"Desativar",th:"ปิด",tr:"Kapat",uk:"Вимк"},"ui.permission.autoApprove.setting":{zh:"自动审批",en:"Auto-approve","zh-TW":"自動審批",ko:"자동 승인",ja:"自動承認",de:"Auto-Genehmigung",es:"Auto-aprobar",fr:"Auto-approuver",it:"Auto-approva",da:"Auto-godkend",pl:"Auto-akceptacja",ru:"Авто-одобрение",ar:"موافقة تلقائية",no:"Auto-godkjenn","pt-BR":"Auto-aprovar",th:"อนุมัติอัตโนมัติ",tr:"Otomatik onayla",uk:"Авто-схвалення"},"ui.dangerApproval":{zh:"操作待审批",en:"Approval Required","zh-TW":"操作待審批",ko:"승인 필요",ja:"承認が必要",de:"Genehmigung erforderlich",es:"Aprobación requerida",fr:"Approbation requise",it:"Approvazione richiesta",da:"Godkendelse påkrævet",pl:"Wymagana akceptacja",ru:"Требуется одобрение",ar:"موافقة مطلوبة",no:"Godkjenning påkrevd","pt-BR":"Aprovação necessária",th:"ต้องการการอนุมัติ",tr:"Onay gerekli",uk:"Потрібне схвалення"},"ui.dangerDenied":{zh:"已拒绝",en:"Denied","zh-TW":"已拒絕",ko:"거부됨",ja:"拒否",de:"Verweigert",es:"Denegado",fr:"Refusé",it:"Negato",da:"Afvist",pl:"Odmowa",ru:"Отказано",ar:"مرفوض",no:"Avslått","pt-BR":"Negado",th:"ถูกปฏิเสธ",tr:"Reddedildi",uk:"Відмовлено"},"ui.context.systemPrompt":{zh:"系统提示词",en:"System Prompt","zh-TW":"系統提示詞",ko:"시스템 프롬프트",ja:"システムプロンプト",de:"System-Prompt",es:"Prompt del sistema",fr:"Prompt système",it:"Prompt di sistema",da:"System-prompt",pl:"Prompt systemowy",ru:"Системный промпт",ar:"موجه النظام",no:"System-prompt","pt-BR":"Prompt do sistema",th:"System Prompt",tr:"Sistem Prompt'u",uk:"Системний промпт"},"ui.context.messages":{zh:"消息",en:"Messages","zh-TW":"訊息",ko:"메시지",ja:"メッセージ",de:"Nachrichten",es:"Mensajes",fr:"Messages",it:"Messaggi",da:"Beskeder",pl:"Wiadomości",ru:"Сообщения",ar:"الرسائل",no:"Meldinger","pt-BR":"Mensagens",th:"ข้อความ",tr:"Mesajlar",uk:"Повідомлення"},"ui.context.tools":{zh:"工具",en:"Tools","zh-TW":"工具",ko:"도구",ja:"ツール",de:"Tools",es:"Herramientas",fr:"Outils",it:"Strumenti",da:"Værktøjer",pl:"Narzędzia",ru:"Инструменты",ar:"الأدوات",no:"Verktøy","pt-BR":"Ferramentas",th:"เครื่องมือ",tr:"Araçlar",uk:"Інструменти"},"ui.context.noData":{zh:"暂无 Context 数据",en:"No context data","zh-TW":"暫無 Context 資料",ko:"컨텍스트 데이터 없음",ja:"コンテキストデータなし",de:"Keine Kontextdaten",es:"Sin datos de contexto",fr:"Aucune donnée de contexte",it:"Nessun dato di contesto",da:"Ingen kontekstdata",pl:"Brak danych kontekstu",ru:"Нет данных контекста",ar:"لا توجد بيانات سياق",no:"Ingen kontekstdata","pt-BR":"Sem dados de contexto",th:"ไม่มีข้อมูล Context",tr:"Bağlam verisi yok",uk:"Немає даних контексту"},"ui.context.noFields":{zh:"Request body 中未找到 messages / system / tools",en:"No messages / system / tools found in request body","zh-TW":"Request body 中未找到 messages / system / tools",ko:"요청 본문에서 messages / system / tools를 찾을 수 없음",ja:"リクエストボディに messages / system / tools が見つかりません",de:"Keine messages / system / tools im Request-Body gefunden",es:"No se encontraron messages / system / tools en el cuerpo de la solicitud",fr:"Aucun messages / system / tools dans le corps de la requête",it:"Nessun messages / system / tools trovato nel corpo della richiesta",da:"Ingen messages / system / tools fundet i request body",pl:"Nie znaleziono messages / system / tools w treści żądania",ru:"В теле запроса не найдено messages / system / tools",ar:"لم يتم العثور على messages / system / tools في جسم الطلب",no:"Ingen messages / system / tools funnet i request body","pt-BR":"Nenhum messages / system / tools encontrado no corpo da requisição",th:"ไม่พบ messages / system / tools ใน request body",tr:"İstek gövdesinde messages / system / tools bulunamadı",uk:"У тілі запиту не знайдено messages / system / tools"},"ui.context.selectPrompt":{zh:"请在左侧选择一个要查看的内容",en:"Select an item on the left to view","zh-TW":"請在左側選擇一個要查看的內容",ko:"왼쪽에서 항목을 선택하세요",ja:"左側から項目を選択してください",de:"Wählen Sie links einen Eintrag aus",es:"Seleccione un elemento a la izquierda",fr:"Sélectionnez un élément à gauche",it:"Seleziona un elemento a sinistra",da:"Vælg et element til venstre",pl:"Wybierz element po lewej stronie",ru:"Выберите элемент слева",ar:"اختر عنصرًا على اليسار",no:"Velg et element til venstre","pt-BR":"Selecione um item à esquerda",th:"เลือกรายการทางซ้าย",tr:"Soldan bir öğe seçin",uk:"Виберіть елемент ліворуч"},"ui.context.history":{zh:"历史",en:"History","zh-TW":"歷史",ko:"기록",ja:"履歴",de:"Verlauf",es:"Historial",fr:"Historique",it:"Cronologia",da:"Historik",pl:"Historia",ru:"История",ar:"التاريخ",no:"Historikk","pt-BR":"Histórico",th:"ประวัติ",tr:"Geçmiş",uk:"Історія"},"ui.context.currentTurn":{zh:"当前轮次",en:"Current Turn","zh-TW":"當前輪次",ko:"현재 턴",ja:"現在のターン",de:"Aktueller Durchgang",es:"Turno actual",fr:"Tour actuel",it:"Turno corrente",da:"Aktuel tur",pl:"Bieżąca tura",ru:"Текущий ход",ar:"الدور الحالي",no:"Gjeldende tur","pt-BR":"Turno atual",th:"รอบปัจจุบัน",tr:"Mevcut tur",uk:"Поточний хід"},"ui.context.historyTurnNoTime":{zh:"历史轮次 {n}",en:"Turn {n}","zh-TW":"歷史輪次 {n}",ko:"턴 {n}",ja:"ターン {n}",de:"Runde {n}",es:"Turno {n}",fr:"Tour {n}",it:"Turno {n}",da:"Tur {n}",pl:"Tura {n}",ru:"Ход {n}",ar:"الدور {n}",no:"Tur {n}","pt-BR":"Turno {n}",th:"รอบ {n}",tr:"Tur {n}",uk:"Хід {n}"},"ui.workspaces.title":{zh:"工作区",en:"Workspaces","zh-TW":"工作區",ko:"워크스페이스",ja:"ワークスペース",de:"Arbeitsbereiche",es:"Espacios de trabajo",fr:"Espaces de travail",it:"Aree di lavoro",da:"Arbejdsområder",pl:"Obszary robocze",ru:"Рабочие пространства",ar:"مساحات العمل",no:"Arbeidsområder","pt-BR":"Áreas de trabalho",th:"เวิร์กสเปซ",tr:"Çalışma alanları",uk:"Робочі простори"},"ui.workspaces.subtitle":{zh:"选择一个项目目录启动 Claude 会话",en:"Select a project directory to start a Claude session","zh-TW":"選擇一個專案目錄啟動 Claude 會話",ko:"Claude 세션을 시작할 프로젝트 디렉토리를 선택하세요",ja:"Claude セッションを開始するプロジェクトディレクトリを選択",de:"Wählen Sie ein Projektverzeichnis, um eine Claude-Sitzung zu starten",es:"Seleccione un directorio de proyecto para iniciar una sesión de Claude",fr:"Sélectionnez un répertoire de projet pour démarrer une session Claude",it:"Seleziona una directory di progetto per avviare una sessione Claude",da:"Vælg en projektmappe for at starte en Claude-session",pl:"Wybierz katalog projektu, aby rozpocząć sesję Claude",ru:"Выберите каталог проекта для запуска сеанса Claude",ar:"اختر مجلد مشروع لبدء جلسة Claude",no:"Velg en prosjektmappe for å starte en Claude-økt","pt-BR":"Selecione um diretório de projeto para iniciar uma sessão do Claude",th:"เลือกไดเรกทอรีโปรเจกต์เพื่อเริ่มเซสชัน Claude",tr:"Claude oturumu başlatmak için bir proje dizini seçin",uk:"Виберіть каталог проєкту для запуску сеансу Claude"},"ui.workspaces.normalLaunch":{zh:"常规启动",en:"Launch","zh-TW":"常規啟動",ko:"일반 시작",ja:"通常起動",de:"Starten",es:"Iniciar",fr:"Lancer",it:"Avvia",da:"Start",pl:"Uruchom",ru:"Запуск",ar:"تشغيل",no:"Start","pt-BR":"Iniciar",th:"เริ่มต้น",tr:"Başlat",uk:"Запуск"},"ui.workspaces.skipPermLaunch":{zh:"免审启动",en:"Skip Approval","zh-TW":"免審啟動",ko:"승인 건너뛰기",ja:"承認スキップ",de:"Ohne Genehmigung",es:"Sin aprobación",fr:"Sans approbation",it:"Senza approvazione",da:"Spring godkendelse over",pl:"Pomiń zatwierdzenie",ru:"Без одобрения",ar:"تخطي الموافقة",no:"Hopp over godkjenning","pt-BR":"Sem aprovação",th:"ข้ามการอนุมัติ",tr:"Onay atla",uk:"Без схвалення"},"ui.workspaces.empty":{zh:"暂无工作区,添加一个项目目录开始使用",en:"No workspaces yet. Add a project directory to get started.","zh-TW":"暫無工作區,新增一個專案目錄開始使用",ko:"아직 워크스페이스가 없습니다. 프로젝트 디렉토리를 추가하세요.",ja:"ワークスペースはまだありません。プロジェクトディレクトリを追加してください。",de:"Noch keine Arbeitsbereiche. Fügen Sie ein Projektverzeichnis hinzu.",es:"Aún no hay espacios de trabajo. Añada un directorio de proyecto.",fr:"Aucun espace de travail. Ajoutez un répertoire de projet.",it:"Nessuna area di lavoro. Aggiungi una directory di progetto.",da:"Ingen arbejdsområder endnu. Tilføj en projektmappe.",pl:"Brak obszarów roboczych. Dodaj katalog projektu.",ru:"Пока нет рабочих пространств. Добавьте каталог проекта.",ar:"لا توجد مساحات عمل بعد. أضف مجلد مشروع للبدء.",no:"Ingen arbeidsområder ennå. Legg til en prosjektmappe.","pt-BR":"Nenhuma área de trabalho. Adicione um diretório de projeto.",th:"ยังไม่มีเวิร์กสเปซ เพิ่มไดเรกทอรีโปรเจกต์เพื่อเริ่มใช้งาน",tr:"Henüz çalışma alanı yok. Başlamak için bir proje dizini ekleyin.",uk:"Робочих просторів ще немає. Додайте каталог проєкту."},"ui.workspaces.pathPlaceholder":{zh:"输入项目目录路径",en:"Enter project directory path","zh-TW":"輸入專案目錄路徑",ko:"프로젝트 디렉토리 경로를 입력하세요",ja:"プロジェクトディレクトリのパスを入力",de:"Projektverzeichnispfad eingeben",es:"Ingrese la ruta del directorio del proyecto",fr:"Entrez le chemin du répertoire du projet",it:"Inserisci il percorso della directory del progetto",da:"Indtast projektmappens sti",pl:"Wprowadź ścieżkę katalogu projektu",ru:"Введите путь к каталогу проекта",ar:"أدخل مسار مجلد المشروع",no:"Skriv inn prosjektmappens sti","pt-BR":"Digite o caminho do diretório do projeto",th:"ป้อนเส้นทางไดเรกทอรีโปรเจกต์",tr:"Proje dizini yolunu girin",uk:"Введіть шлях до каталогу проєкту"},"ui.workspaces.confirmRemove":{zh:"确定从列表中移除该工作区?",en:"Remove this workspace from the list?","zh-TW":"確定從列表中移除該工作區?",ko:"이 워크스페이스를 목록에서 제거하시겠습니까?",ja:"このワークスペースをリストから削除しますか?",de:"Diesen Arbeitsbereich aus der Liste entfernen?",es:"¿Eliminar este espacio de trabajo de la lista?",fr:"Supprimer cet espace de travail de la liste ?",it:"Rimuovere quest'area di lavoro dalla lista?",da:"Fjern dette arbejdsområde fra listen?",pl:"Usunąć ten obszar roboczy z listy?",ru:"Удалить это рабочее пространство из списка?",ar:"إزالة مساحة العمل هذه من القائمة؟",no:"Fjerne dette arbeidsområdet fra listen?","pt-BR":"Remover esta área de trabalho da lista?",th:"ลบเวิร์กสเปซนี้ออกจากรายการ?",tr:"Bu çalışma alanı listeden kaldırılsın mı?",uk:"Видалити цей робочий простір зі списку?"},"ui.workspaces.justNow":{zh:"刚刚",en:"just now","zh-TW":"剛剛",ko:"방금",ja:"たった今",de:"gerade eben",es:"justo ahora",fr:"à l'instant",it:"proprio ora",da:"lige nu",pl:"właśnie",ru:"только что",ar:"الآن",no:"akkurat nå","pt-BR":"agora mesmo",th:"เมื่อสักครู่",tr:"az önce",uk:"щойно"},"ui.workspaces.browse":{zh:"浏览目录",en:"Browse Directory","zh-TW":"瀏覽目錄",ko:"디렉토리 탐색",ja:"ディレクトリを参照",de:"Verzeichnis durchsuchen",es:"Explorar directorio",fr:"Parcourir le répertoire",it:"Sfoglia directory",da:"Gennemse mappe",pl:"Przeglądaj katalog",ru:"Обзор каталога",ar:"تصفح المجلد",no:"Bla gjennom mappe","pt-BR":"Explorar diretório",th:"เรียกดูไดเรกทอรี",tr:"Dizine göz at",uk:"Переглянути каталог"},"ui.workspaces.selectDir":{zh:"选择项目目录",en:"Select Project Directory","zh-TW":"選擇專案目錄",ko:"프로젝트 디렉토리 선택",ja:"プロジェクトディレクトリを選択",de:"Projektverzeichnis auswählen",es:"Seleccionar directorio del proyecto",fr:"Sélectionner le répertoire du projet",it:"Seleziona directory del progetto",da:"Vælg projektmappe",pl:"Wybierz katalog projektu",ru:"Выбрать каталог проекта",ar:"اختر مجلد المشروع",no:"Velg prosjektmappe","pt-BR":"Selecionar diretório do projeto",th:"เลือกไดเรกทอรีโปรเจกต์",tr:"Proje dizinini seçin",uk:"Вибрати каталог проєкту"},"ui.workspaces.select":{zh:"选择",en:"Select","zh-TW":"選擇",ko:"선택",ja:"選択",de:"Auswählen",es:"Seleccionar",fr:"Sélectionner",it:"Seleziona",da:"Vælg",pl:"Wybierz",ru:"Выбрать",ar:"اختيار",no:"Velg","pt-BR":"Selecionar",th:"เลือก",tr:"Seç",uk:"Вибрати"},"ui.workspaces.selectCurrent":{zh:"选择当前目录",en:"Select Current Directory","zh-TW":"選擇當前目錄",ko:"현재 디렉토리 선택",ja:"現在のディレクトリを選択",de:"Aktuelles Verzeichnis auswählen",es:"Seleccionar directorio actual",fr:"Sélectionner le répertoire actuel",it:"Seleziona directory corrente",da:"Vælg aktuel mappe",pl:"Wybierz bieżący katalog",ru:"Выбрать текущий каталог",ar:"اختر المجلد الحالي",no:"Velg gjeldende mappe","pt-BR":"Selecionar diretório atual",th:"เลือกไดเรกทอรีปัจจุบัน",tr:"Mevcut dizini seç",uk:"Вибрати поточний каталог"},"ui.workspaces.goTo":{zh:"前往",en:"Go","zh-TW":"前往",ko:"이동",ja:"移動",de:"Los",es:"Ir",fr:"Aller",it:"Vai",da:"Gå",pl:"Idź",ru:"Перейти",ar:"اذهب",no:"Gå","pt-BR":"Ir",th:"ไป",tr:"Git",uk:"Перейти"},"ui.loadMoreHistory":{zh:"加载更早的消息(隐藏 {count} 条)",en:"Load earlier messages ({count} hidden)","zh-TW":"載入更早的訊息(隱藏 {count} 條)",ko:"이전 메시지 로드 ({count}개 숨겨짐)",ja:"以前のメッセージを読み込む({count}件非表示)",de:"Ältere Nachrichten laden ({count} ausgeblendet)",es:"Cargar mensajes anteriores ({count} ocultos)",fr:"Charger les messages précédents ({count} masqués)",it:"Carica messaggi precedenti ({count} nascosti)",da:"Indlæs ældre beskeder ({count} skjulte)",pl:"Załaduj wcześniejsze wiadomości ({count} ukrytych)",ru:"Загрузить ранние сообщения ({count} скрыто)",ar:"تحميل رسائل أقدم ({count} مخفية)",no:"Last inn eldre meldinger ({count} skjulte)","pt-BR":"Carregar mensagens anteriores ({count} ocultas)",th:"โหลดข้อความเก่า ({count} ถูกซ่อน)",tr:"Eski mesajları yükle ({count} gizli)",uk:"Завантажити старіші повідомлення ({count} приховано)"},"ui.workspaces.emptyDir":{zh:"此目录下没有子目录",en:"No subdirectories in this directory","zh-TW":"此目錄下沒有子目錄",ko:"이 디렉토리에 하위 디렉토리가 없습니다",ja:"このディレクトリにはサブディレクトリがありません",de:"Keine Unterverzeichnisse in diesem Verzeichnis",es:"No hay subdirectorios en este directorio",fr:"Aucun sous-répertoire dans ce répertoire",it:"Nessuna sottodirectory in questa directory",da:"Ingen undermapper i denne mappe",pl:"Brak podkatalogów w tym katalogu",ru:"В этом каталоге нет подкаталогов",ar:"لا توجد أدلة فرعية في هذا المجلد",no:"Ingen undermapper i denne mappen","pt-BR":"Nenhum subdiretório neste diretório",th:"ไม่มีไดเรกทอรีย่อยในไดเรกทอรีนี้",tr:"Bu dizinde alt dizin yok",uk:"У цьому каталозі немає підкаталогів"},"ui.processManagement":{zh:"CCV进程管理",en:"CCV Process Manager","zh-TW":"CCV程序管理",ko:"CCV 프로세스 관리",ja:"CCVプロセス管理",de:"CCV-Prozessverwaltung",es:"Gestión de procesos CCV",fr:"Gestion des processus CCV",it:"Gestione processi CCV",da:"CCV-processtyring",pl:"Zarządzanie procesami CCV",ru:"Управление процессами CCV",ar:"إدارة عمليات CCV",no:"CCV-prosessbehandling","pt-BR":"Gerenciamento de processos CCV",th:"จัดการโปรเซส CCV",tr:"CCV Süreç Yönetimi",uk:"Керування процесами CCV"},"ui.processManagement.command":{zh:"命令",en:"Command","zh-TW":"命令",ko:"명령",ja:"コマンド",de:"Befehl",es:"Comando",fr:"Commande",it:"Comando",da:"Kommando",pl:"Polecenie",ru:"Команда",ar:"أمر",no:"Kommando","pt-BR":"Comando",th:"คำสั่ง",tr:"Komut",uk:"Команда"},"ui.processManagement.port":{zh:"端口",en:"Port","zh-TW":"端口",ko:"포트",ja:"ポート",de:"Port",es:"Puerto",fr:"Port",it:"Porta",da:"Port",pl:"Port",ru:"Порт",ar:"منفذ",no:"Port","pt-BR":"Porta",th:"พอร์ต",tr:"Port",uk:"Порт"},"ui.processManagement.startTime":{zh:"启动时间",en:"Start Time","zh-TW":"啟動時間",ko:"시작 시간",ja:"開始時刻",de:"Startzeit",es:"Hora de inicio",fr:"Heure de démarrage",it:"Ora di avvio",da:"Starttid",pl:"Czas uruchomienia",ru:"Время запуска",ar:"وقت البدء",no:"Starttid","pt-BR":"Hora de início",th:"เวลาเริ่มต้น",tr:"Başlangıç zamanı",uk:"Час запуску"},"ui.processManagement.action":{zh:"操作",en:"Action","zh-TW":"操作",ko:"작업",ja:"操作",de:"Aktion",es:"Acción",fr:"Action",it:"Azione",da:"Handling",pl:"Akcja",ru:"Действие",ar:"إجراء",no:"Handling","pt-BR":"Ação",th:"การดำเนินการ",tr:"İşlem",uk:"Дія"},"ui.processManagement.kill":{zh:"关闭",en:"Stop","zh-TW":"關閉",ko:"서비스 중지",ja:"サービス停止",de:"Dienst beenden",es:"Detener servicio",fr:"Arrêter le service",it:"Arresta servizio",da:"Stop tjeneste",pl:"Zatrzymaj usługę",ru:"Остановить сервис",ar:"إيقاف الخدمة",no:"Stopp tjeneste","pt-BR":"Parar serviço",th:"หยุดบริการ",tr:"Servisi durdur",uk:"Зупинити сервіс"},"ui.processManagement.killConfirm":{zh:"确定要关闭此CCV进程吗?",en:"Are you sure you want to stop this CCV process?","zh-TW":"確定要關閉此CCV程序嗎?",ko:"이 CCV 프로세스를 중지하시겠습니까?",ja:"このCCVプロセスを停止しますか?",de:"Möchten Sie diesen CCV-Prozess wirklich beenden?",es:"¿Seguro que desea detener este proceso CCV?",fr:"Voulez-vous vraiment arrêter ce processus CCV ?",it:"Sei sicuro di voler arrestare questo processo CCV?",da:"Er du sikker på, at du vil stoppe denne CCV-proces?",pl:"Czy na pewno chcesz zatrzymać ten proces CCV?",ru:"Вы уверены, что хотите остановить этот процесс CCV?",ar:"هل أنت متأكد من إيقاف عملية CCV هذه؟",no:"Er du sikker på at du vil stoppe denne CCV-prosessen?","pt-BR":"Tem certeza de que deseja parar este processo CCV?",th:"คุณแน่ใจหรือไม่ว่าต้องการหยุดโปรเซส CCV นี้?",tr:"Bu CCV sürecini durdurmak istediğinizden emin misiniz?",uk:"Ви впевнені, що хочете зупинити цей процес CCV?"},"ui.processManagement.killed":{zh:"进程已关闭",en:"Process stopped","zh-TW":"程序已關閉",ko:"프로세스가 중지되었습니다",ja:"プロセスが停止しました",de:"Prozess beendet",es:"Proceso detenido",fr:"Processus arrêté",it:"Processo arrestato",da:"Proces stoppet",pl:"Proces zatrzymany",ru:"Процесс остановлен",ar:"تم إيقاف العملية",no:"Prosess stoppet","pt-BR":"Processo parado",th:"หยุดโปรเซสแล้ว",tr:"Süreç durduruldu",uk:"Процес зупинено"},"ui.processManagement.killFailed":{zh:"关闭失败",en:"Failed to stop","zh-TW":"關閉失敗",ko:"중지 실패",ja:"停止に失敗しました",de:"Beenden fehlgeschlagen",es:"Error al detener",fr:"Échec de l'arrêt",it:"Arresto fallito",da:"Stop mislykkedes",pl:"Nie udało się zatrzymać",ru:"Не удалось остановить",ar:"فشل الإيقاف",no:"Stopp mislyktes","pt-BR":"Falha ao parar",th:"หยุดไม่สำเร็จ",tr:"Durdurma başarısız",uk:"Не вдалося зупинити"},"ui.processManagement.refresh":{zh:"刷新",en:"Refresh","zh-TW":"重新整理",ko:"새로고침",ja:"更新",de:"Aktualisieren",es:"Actualizar",fr:"Actualiser",it:"Aggiorna",da:"Opdater",pl:"Odśwież",ru:"Обновить",ar:"تحديث",no:"Oppdater","pt-BR":"Atualizar",th:"รีเฟรช",tr:"Yenile",uk:"Оновити"},"ui.processManagement.current":{zh:"当前",en:"Current","zh-TW":"目前",ko:"현재",ja:"現在",de:"Aktuell",es:"Actual",fr:"Actuel",it:"Corrente",da:"Aktuel",pl:"Bieżący",ru:"Текущий",ar:"الحالي",no:"Gjeldende","pt-BR":"Atual",th:"ปัจจุบัน",tr:"Mevcut",uk:"Поточний"},"ui.terminal.ctrlCBlocked":{zh:"请在启动 ccv 的终端中按 Ctrl+C 退出",en:"Please press Ctrl+C in the terminal where ccv was launched to exit","zh-TW":"請在啟動 ccv 的終端中按 Ctrl+C 退出",ko:"ccv를 실행한 터미널에서 Ctrl+C를 눌러 종료하세요",ja:"ccv を起動したターミナルで Ctrl+C を押して終了してください",de:"Bitte drücken Sie Ctrl+C im Terminal, in dem ccv gestartet wurde",es:"Presione Ctrl+C en la terminal donde se inició ccv para salir",fr:"Appuyez sur Ctrl+C dans le terminal où ccv a été lancé pour quitter",it:"Premere Ctrl+C nel terminale in cui è stato avviato ccv per uscire",da:"Tryk Ctrl+C i terminalen, hvor ccv blev startet, for at afslutte",pl:"Naciśnij Ctrl+C w terminalu, w którym uruchomiono ccv, aby zakończyć",ru:"Нажмите Ctrl+C в терминале, где был запущен ccv, чтобы выйти",ar:"اضغط Ctrl+C في الطرفية التي تم تشغيل ccv فيها للخروج",no:"Trykk Ctrl+C i terminalen der ccv ble startet for å avslutte","pt-BR":"Pressione Ctrl+C no terminal onde o ccv foi iniciado para sair",th:"กด Ctrl+C ในเทอร์มินัลที่เปิด ccv เพื่อออก",tr:"Çıkmak için ccv'nin başlatıldığı terminalde Ctrl+C'ye basın",uk:"Натисніть Ctrl+C у терміналі, де був запущений ccv, щоб вийти"},"ui.terminal.agentTeam":{zh:"Agent Team",en:"Agent Team","zh-TW":"Agent Team",ko:"Agent Team",ja:"Agent Team",de:"Agent Team",es:"Agent Team",fr:"Agent Team",it:"Agent Team",da:"Agent Team",pl:"Agent Team",ru:"Agent Team",ar:"Agent Team",no:"Agent Team","pt-BR":"Agent Team",th:"Agent Team",tr:"Agent Team",uk:"Agent Team"},"ui.terminal.agentTeamDisabledTip":{zh:'需要在 {configDir}/settings.json 的 env 属性中增加 "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" 的设置',en:'Requires "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" in {configDir}/settings.json env',"zh-TW":'需要在 {configDir}/settings.json 的 env 屬性中增加 "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" 的設定',ko:'{configDir}/settings.json의 env에 "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" 설정이 필요합니다',ja:'{configDir}/settings.json の env に "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" の設定が必要です',de:'Erfordert "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" in {configDir}/settings.json env',es:'Requiere "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" en env de {configDir}/settings.json',fr:'Nécessite "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" dans env de {configDir}/settings.json',it:'Richiede "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" in env di {configDir}/settings.json',da:'Kræver "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" i {configDir}/settings.json env',pl:'Wymaga "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" w env {configDir}/settings.json',ru:'Требуется "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" в env {configDir}/settings.json',ar:'يتطلب "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" في env بملف {configDir}/settings.json',no:'Krever "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" i {configDir}/settings.json env',"pt-BR":'Requer "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" em env de {configDir}/settings.json',th:'ต้องตั้งค่า "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" ใน env ของ {configDir}/settings.json',tr:'{configDir}/settings.json env içinde "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" gereklidir',uk:'Потрібно "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" в env {configDir}/settings.json'},"ui.terminal.agentTeamEnable":{zh:"确认开启",en:"Enable Now","zh-TW":"確認開啟",ko:"활성화",ja:"有効にする",de:"Jetzt aktivieren",es:"Activar ahora",fr:"Activer maintenant",it:"Attiva ora",da:"Aktivér nu",pl:"Włącz teraz",ru:"Включить сейчас",ar:"تفعيل الآن",no:"Aktiver nå","pt-BR":"Ativar agora",th:"เปิดใช้งานเดี๋ยวนี้",tr:"Şimdi etkinleştir",uk:"Увімкнути зараз"},"ui.terminal.agentTeamEnabling":{zh:"开启中...",en:"Enabling...","zh-TW":"開啟中...",ko:"활성화 중...",ja:"有効化中...",de:"Wird aktiviert...",es:"Activando...",fr:"Activation...",it:"Attivazione...",da:"Aktiverer...",pl:"Włączanie...",ru:"Включение...",ar:"جارٍ التفعيل...",no:"Aktiverer...","pt-BR":"Ativando...",th:"กำลังเปิดใช้งาน...",tr:"Etkinleştiriliyor...",uk:"Увімкнення..."},"ui.terminal.presetShortcuts":{zh:"预置快捷方式",en:"Preset Shortcuts","zh-TW":"預置快捷方式",ko:"프리셋 단축키",ja:"プリセットショートカット",de:"Voreingestellte Verknüpfungen",es:"Atajos preestablecidos",fr:"Raccourcis prédéfinis",it:"Scorciatoie preimpostate",da:"Forudindstillede genveje",pl:"Ustawione skróty",ru:"Предустановленные ярлыки",ar:"اختصارات مسبقة",no:"Forhåndsinnstilte snarveier","pt-BR":"Atalhos predefinidos",th:"ทางลัดที่ตั้งไว้ล่วงหน้า",tr:"Önceden ayarlanmış kısayollar",uk:"Попередньо встановлені ярлики"},"ui.terminal.customShortcuts":{zh:"+ 自定义快捷方式",en:"+ Custom Shortcuts","zh-TW":"+ 自訂快捷方式",ko:"+ 사용자 정의 바로가기",ja:"+ カスタムショートカット",de:"+ Benutzerdefinierte Verknüpfungen",es:"+ Atajos personalizados",fr:"+ Raccourcis personnalisés",it:"+ Scorciatoie personalizzate",da:"+ Brugerdefinerede genveje",pl:"+ Niestandardowe skróty",ru:"+ Пользовательские ярлыки",ar:"+ اختصارات مخصصة",no:"+ Egendefinerte snarveier","pt-BR":"+ Atalhos personalizados",th:"+ ทางลัดที่กำหนดเอง",tr:"+ Özel kısayollar",uk:"+ Користувацькі ярлики"},"ui.terminal.agentTeamCustom":{zh:"Agent Team 定制",en:"Agent Team Custom","zh-TW":"Agent Team 定制",ko:"Agent Team 커스텀",ja:"Agent Team カスタム",de:"Agent Team Anpassung",es:"Personalización de Agent Team",fr:"Personnalisation Agent Team",it:"Personalizzazione Agent Team",da:"Agent Team tilpasning",pl:"Dostosowanie Agent Team",ru:"Настройка Agent Team",ar:"تخصيص Agent Team",no:"Agent Team tilpasning","pt-BR":"Personalização Agent Team",th:"ปรับแต่ง Agent Team",tr:"Agent Team özelleştirme",uk:"Налаштування Agent Team"},"ui.preset.scoutRegiment.name":{zh:"调查兵团",en:"Scout Regiment","zh-TW":"調查兵團",ko:"조사병단",ja:"調査兵団",de:"Aufklärungstrupp",es:"Escuadrón de Exploración",fr:"Bataillon d'Exploration",it:"Corpo di Ricognizione",da:"Spejderregimentet",pl:"Oddział Zwiadowczy",ru:"Разведкорпус",ar:"فيلق الاستطلاع",no:"Speiderregimentet","pt-BR":"Tropa de Exploração",th:"กองทหารสำรวจ",tr:"Keşif Alayı",uk:"Розвідкорпус"},"ui.preset.scoutRegiment.desc":{zh:`ultrathink
|
|
3
3
|
<system-reminder>
|
|
4
4
|
先假设Prompt足够复杂,然后判断这个Prompt的复杂度,你可能启动一个/team;
|
|
5
5
|
需要一个2-5位teammate(系统非常复杂的情况下最大扩充到10位);
|
|
@@ -342,7 +342,7 @@ Code Review поточних git-змін з різних перспектив
|
|
|
342
342
|
Перевірте вимоги та побічні ефекти нового коду;
|
|
343
343
|
Після звіту підсумуйте пропозиції;
|
|
344
344
|
НЕ виконуйте одразу, спершу запитайте мене;`},"ui.terminal.addItem":{zh:"添加",en:"Add","zh-TW":"新增",ko:"추가",ja:"追加",de:"Hinzufügen",es:"Agregar",fr:"Ajouter",it:"Aggiungi",da:"Tilføj",pl:"Dodaj",ru:"Добавить",ar:"إضافة",no:"Legg til","pt-BR":"Adicionar",th:"เพิ่ม",tr:"Ekle",uk:"Додати"},"ui.terminal.deleteSelected":{zh:"删除",en:"Delete","zh-TW":"刪除",ko:"삭제",ja:"削除",de:"Löschen",es:"Eliminar",fr:"Supprimer",it:"Elimina",da:"Slet",pl:"Usuń",ru:"Удалить",ar:"حذف",no:"Slett","pt-BR":"Excluir",th:"ลบ",tr:"Sil",uk:"Видалити"},"ui.ok":{zh:"确定",en:"OK","zh-TW":"確定",ko:"확인",ja:"OK",de:"OK",es:"Aceptar",fr:"OK",it:"OK",da:"OK",pl:"OK",ru:"ОК",ar:"موافق",no:"OK","pt-BR":"OK",th:"ตกลง",tr:"Tamam",uk:"ОК"},"ui.terminal.editItem":{zh:"编辑",en:"Edit","zh-TW":"編輯",ko:"편집",ja:"編集",de:"Bearbeiten",es:"Editar",fr:"Modifier",it:"Modifica",da:"Rediger",pl:"Edytuj",ru:"Редактировать",ar:"تعديل",no:"Rediger","pt-BR":"Editar",th:"แก้ไข",tr:"Düzenle",uk:"Редагувати"},"ui.terminal.teamName":{zh:"名称:",en:"Name:","zh-TW":"名稱:",ko:"이름:",ja:"名前:",de:"Name:",es:"Nombre:",fr:"Nom :",it:"Nome:",da:"Navn:",pl:"Nazwa:",ru:"Имя:",ar:"الاسم:",no:"Navn:","pt-BR":"Nome:",th:"ชื่อ:",tr:"Ad:",uk:"Назва:"},"ui.terminal.teamDesc":{zh:"描述:",en:"Description:","zh-TW":"描述:",ko:"설명:",ja:"説明:",de:"Beschreibung:",es:"Descripción:",fr:"Description :",it:"Descrizione:",da:"Beskrivelse:",pl:"Opis:",ru:"Описание:",ar:"الوصف:",no:"Beskrivelse:","pt-BR":"Descrição:",th:"คำอธิบาย:",tr:"Açıklama:",uk:"Опис:"},"ui.terminal.teamNamePlaceholder":{zh:"输入 Team 名称...",en:"Enter team name...","zh-TW":"輸入 Team 名稱...",ko:"팀 이름 입력...",ja:"チーム名を入力...",de:"Teamname eingeben...",es:"Ingrese nombre del equipo...",fr:"Entrez le nom de l'équipe...",it:"Inserisci nome del team...",da:"Indtast teamnavn...",pl:"Wpisz nazwę zespołu...",ru:"Введите название команды...",ar:"أدخل اسم الفريق...",no:"Skriv inn teamnavn...","pt-BR":"Digite o nome da equipe...",th:"ป้อนชื่อทีม...",tr:"Takım adını girin...",uk:"Введіть назву команди..."},"ui.terminal.presetInputPlaceholder":{zh:"输入快捷方式文本...",en:"Enter shortcut text...","zh-TW":"輸入快捷方式文字...",ko:"단축키 텍스트 입력...",ja:"ショートカットテキストを入力...",de:"Verknüpfungstext eingeben...",es:"Ingrese texto del atajo...",fr:"Entrez le texte du raccourci...",it:"Inserisci testo scorciatoia...",da:"Indtast genvejstekst...",pl:"Wpisz tekst skrótu...",ru:"Введите текст ярлыка...",ar:"أدخل نص الاختصار...",no:"Skriv inn snarveitekst...","pt-BR":"Digite o texto do atalho...",th:"ป้อนข้อความทางลัด...",tr:"Kısayol metnini girin...",uk:"Введіть текст ярлика..."},"ui.terminal.pasteImageFailed":{zh:"粘贴图片上传失败",en:"Failed to upload pasted image","zh-TW":"貼上圖片上傳失敗",ko:"붙여넣은 이미지 업로드 실패",ja:"貼り付けた画像のアップロードに失敗しました",de:"Hochladen des eingefügten Bildes fehlgeschlagen",es:"Error al subir la imagen pegada",fr:"Échec du téléchargement de l'image collée",it:"Caricamento immagine incollata non riuscito",da:"Upload af indsat billede mislykkedes",pl:"Nie udało się przesłać wklejonego obrazu",ru:"Не удалось загрузить вставленное изображение",ar:"فشل رفع الصورة الملصقة",no:"Kunne ikke laste opp limt bilde","pt-BR":"Falha ao enviar imagem colada",th:"อัปโหลดรูปภาพที่วางไม่สำเร็จ",tr:"Yapıştırılan resim yüklenemedi",uk:"Не вдалося завантажити вставлене зображення"},"ui.chatInput.clearContext":{zh:"清空上下文",en:"Clear Context","zh-TW":"清空上下文",ko:"컨텍스트 초기화",ja:"コンテキストをクリア",de:"Kontext leeren",es:"Limpiar contexto",fr:"Effacer le contexte",it:"Cancella contesto",da:"Ryd kontekst",pl:"Wyczyść kontekst",ru:"Очистить контекст",ar:"مسح السياق",no:"Tøm kontekst","pt-BR":"Limpar contexto",th:"ล้างบริบท",tr:"Bağlamı temizle",uk:"Очистити контекст"},"ui.chatInput.voiceStart":{zh:"语音输入",en:"Start voice input","zh-TW":"語音輸入",ko:"음성 입력 시작",ja:"音声入力を開始",de:"Spracheingabe starten",es:"Iniciar dictado por voz",fr:"Démarrer la saisie vocale",it:"Avvia dettatura vocale",da:"Start stemmeinput",pl:"Rozpocznij dyktowanie",ru:"Начать голосовой ввод",ar:"بدء الإدخال الصوتي",no:"Start taleinndata","pt-BR":"Iniciar entrada por voz",th:"เริ่มการป้อนด้วยเสียง",tr:"Sesli girişi başlat",uk:"Почати голосове введення"},"ui.chatInput.voiceStop":{zh:"停止录音",en:"Stop recording","zh-TW":"停止錄音",ko:"녹음 중지",ja:"録音を停止",de:"Aufnahme beenden",es:"Detener grabación",fr:"Arrêter l'enregistrement",it:"Interrompi registrazione",da:"Stop optagelse",pl:"Zatrzymaj nagrywanie",ru:"Остановить запись",ar:"إيقاف التسجيل",no:"Stopp opptak","pt-BR":"Parar gravação",th:"หยุดการบันทึก",tr:"Kaydı durdur",uk:"Зупинити запис"},"ui.chatInput.voicePermissionDenied":{zh:"无法访问麦克风。请在浏览器设置中授予权限,并确保通过 HTTPS 或 localhost 访问。",en:"Cannot access microphone. Please grant permission in browser settings, and ensure you are accessing via HTTPS or localhost.","zh-TW":"無法存取麥克風。請在瀏覽器設定中授予權限,並確保透過 HTTPS 或 localhost 存取。",ko:"마이크에 접근할 수 없습니다. 브라우저 설정에서 권한을 부여하고 HTTPS 또는 localhost로 접속하세요.",ja:"マイクにアクセスできません。ブラウザの設定で権限を許可し、HTTPS または localhost でアクセスしてください。",de:"Kein Mikrofonzugriff. Bitte erteile die Berechtigung in den Browsereinstellungen und greife über HTTPS oder localhost zu.",es:"No se puede acceder al micrófono. Concede el permiso en la configuración del navegador y accede mediante HTTPS o localhost.",fr:"Impossible d'accéder au microphone. Accordez l'autorisation dans les paramètres du navigateur et accédez via HTTPS ou localhost.",it:"Impossibile accedere al microfono. Concedi l'autorizzazione nelle impostazioni del browser e accedi via HTTPS o localhost.",da:"Kan ikke få adgang til mikrofonen. Giv tilladelse i browserindstillingerne, og tilgå via HTTPS eller localhost.",pl:"Nie można uzyskać dostępu do mikrofonu. Udziel uprawnień w ustawieniach przeglądarki i korzystaj przez HTTPS lub localhost.",ru:"Нет доступа к микрофону. Предоставьте разрешение в настройках браузера и используйте HTTPS или localhost.",ar:"تعذر الوصول إلى الميكروفون. يرجى منح الإذن في إعدادات المتصفح والوصول عبر HTTPS أو localhost.",no:"Kan ikke få tilgang til mikrofonen. Gi tillatelse i nettleserinnstillingene, og bruk HTTPS eller localhost.","pt-BR":"Não é possível acessar o microfone. Conceda permissão nas configurações do navegador e acesse via HTTPS ou localhost.",th:"ไม่สามารถเข้าถึงไมโครโฟน โปรดอนุญาตในการตั้งค่าเบราว์เซอร์และเข้าผ่าน HTTPS หรือ localhost",tr:"Mikrofona erişilemiyor. Tarayıcı ayarlarından izin verin ve HTTPS veya localhost üzerinden erişin.",uk:"Немає доступу до мікрофона. Надайте дозвіл у налаштуваннях браузера й використовуйте HTTPS або localhost."},"ui.chatInput.clearContextConfirm":{zh:"确定要清空当前对话上下文吗?此操作不可撤销。",en:"Clear the current conversation context? This cannot be undone.","zh-TW":"確定要清空當前對話上下文嗎?此操作不可撤銷。",ko:"현재 대화 컨텍스트를 초기화하시겠습니까? 되돌릴 수 없습니다.",ja:"現在の会話コンテキストをクリアしますか?元に戻せません。",de:"Den aktuellen Kontext löschen? Dies kann nicht rückgängig gemacht werden.",es:"¿Limpiar el contexto actual? No se puede deshacer.",fr:"Effacer le contexte actuel ? Cette action est irréversible.",it:"Cancellare il contesto attuale? Questa azione non può essere annullata.",da:"Ryd den aktuelle kontekst? Kan ikke fortrydes.",pl:"Wyczyścić kontekst? Tego nie można cofnąć.",ru:"Очистить текущий контекст? Это нельзя отменить.",ar:"مسح السياق الحالي؟ لا يمكن التراجع.",no:"Tøm konteksten? Kan ikke angres.","pt-BR":"Limpar o contexto atual? Não pode ser desfeito.",th:"ล้างบริบทปัจจุบัน? ไม่สามารถย้อนกลับได้",tr:"Mevcut bağlamı temizle? Bu geri alınamaz.",uk:"Очистити контекст? Це не можна скасувати."},"ui.terminal.upload":{zh:"上传文件",en:"Upload File","zh-TW":"上傳檔案",ko:"파일 업로드",ja:"ファイルをアップロード",de:"Datei hochladen",es:"Subir archivo",fr:"Télécharger un fichier",it:"Carica file",da:"Upload fil",pl:"Prześlij plik",ru:"Загрузить файл",ar:"رفع ملف",no:"Last opp fil","pt-BR":"Enviar arquivo",th:"อัปโหลดไฟล์",tr:"Dosya yükle",uk:"Завантажити файл"},"ui.editorSession.banner":{zh:"保存好以后,点我回到「终端」界面",en:"After saving, click here to return to Terminal","zh-TW":"儲存好以後,點我回到「終端」介面",ko:"저장 후 여기를 클릭하여 터미널로 돌아가기",ja:"保存後、ここをクリックしてターミナルに戻る",de:"Nach dem Speichern hier klicken, um zum Terminal zurückzukehren",es:"Después de guardar, haz clic aquí para volver a la Terminal",fr:"Après avoir enregistré, cliquez ici pour revenir au Terminal",it:"Dopo aver salvato, clicca qui per tornare al Terminale",da:"Klik her for at vende tilbage til Terminalen efter at have gemt",pl:"Po zapisaniu kliknij tutaj, aby wrócić do Terminala",ru:"После сохранения нажмите здесь, чтобы вернуться в Терминал",ar:"بعد الحفظ، انقر هنا للعودة إلى الطرفية",no:"Etter lagring, klikk her for å gå tilbake til Terminalen","pt-BR":"Após salvar, clique aqui para voltar ao Terminal",th:"หลังบันทึกแล้ว คลิกที่นี่เพื่อกลับไปที่เทอร์มินัล",tr:"Kaydettikten sonra Terminal'e dönmek için buraya tıklayın",uk:"Після збереження натисніть тут, щоб повернутися до Терміналу"},"ui.askSubmit":{zh:"提交",en:"Submit","zh-TW":"提交",ko:"제출",ja:"送信",de:"Absenden",es:"Enviar",fr:"Soumettre",it:"Invia",da:"Indsend",pl:"Wyślij",ru:"Отправить",ar:"إرسال",no:"Send inn","pt-BR":"Enviar",th:"ส่ง",tr:"Gönder",uk:"Надіслати"},"ui.askSubmitting":{zh:"提交中...",en:"Submitting...","zh-TW":"提交中...",ko:"제출 중...",ja:"送信中...",de:"Wird gesendet...",es:"Enviando...",fr:"Envoi en cours...",it:"Invio in corso...",da:"Indsender...",pl:"Wysyłanie...",ru:"Отправка...",ar:"جارٍ الإرسال...",no:"Sender inn...","pt-BR":"Enviando...",th:"กำลังส่ง...",tr:"Gönderiliyor...",uk:"Надсилання..."},"ui.askOther":{zh:"其他",en:"Other","zh-TW":"其他",ko:"기타",ja:"その他",de:"Andere",es:"Otro",fr:"Autre",it:"Altro",da:"Andet",pl:"Inne",ru:"Другое",ar:"أخرى",no:"Annet","pt-BR":"Outro",th:"อื่นๆ",tr:"Diğer",uk:"Інше"},"ui.askOtherPlaceholder":{zh:"输入你的回答...",en:"Type your answer...","zh-TW":"輸入你的回答...",ko:"답변을 입력하세요...",ja:"回答を入力...",de:"Geben Sie Ihre Antwort ein...",es:"Escribe tu respuesta...",fr:"Tapez votre réponse...",it:"Digita la tua risposta...",da:"Skriv dit svar...",pl:"Wpisz swoją odpowiedź...",ru:"Введите ваш ответ...",ar:"اكتب إجابتك...",no:"Skriv svaret ditt...","pt-BR":"Digite sua resposta...",th:"พิมพ์คำตอบของคุณ...",tr:"Cevabınızı yazın...",uk:"Введіть вашу відповідь..."},"ui.calibrationModelLabel":{zh:"手动校准主力模型:",en:"Calibrate model:","zh-TW":"手動校準主力模型:",ko:"모델 수동 보정:",ja:"モデル手動校正:",de:"Modell kalibrieren:",es:"Calibrar modelo:",fr:"Calibrer le modèle :",it:"Calibra modello:",da:"Kalibrer model:",pl:"Kalibruj model:",ru:"Калибровка модели:",ar:"معايرة النموذج:",no:"Kalibrer modell:","pt-BR":"Calibrar modelo:",th:"ปรับเทียบโมเดล:",tr:"Model kalibrasyonu:",uk:"Калібрування моделі:"},"ui.cachedContentTitle":{zh:"当前 KV-Cache 缓存内容",en:"Current KV-Cache Content","zh-TW":"當前 KV-Cache 快取內容",ko:"현재 KV-Cache 캐시 콘텐츠",ja:"現在の KV-Cache キャッシュ内容",de:"Aktueller KV-Cache Inhalt",es:"Contenido actual de KV-Cache",fr:"Contenu KV-Cache actuel",it:"Contenuto KV-Cache attuale",da:"Aktuelt KV-Cache indhold",pl:"Bieżąca zawartość KV-Cache",ru:"Текущее содержимое KV-Cache",ar:"محتوى KV-Cache الحالي",no:"Nåværende KV-Cache innhold","pt-BR":"Conteúdo atual do KV-Cache",th:"เนื้อหา KV-Cache ปัจจุบัน",tr:"Mevcut KV-Cache İçeriği",uk:"Поточний вміст KV-Cache"},"ui.noCachedContent":{zh:"暂无缓存内容",en:"No cached content","zh-TW":"暫無快取內容",ko:"캐시된 콘텐츠 없음",ja:"キャッシュ内容なし",de:"Kein zwischengespeicherter Inhalt",es:"Sin contenido en caché",fr:"Aucun contenu en cache",it:"Nessun contenuto in cache",da:"Intet cachelagret indhold",pl:"Brak zawartości w pamięci podręcznej",ru:"Нет кэшированного содержимого",ar:"لا يوجد محتوى مخزن مؤقتًا",no:"Ingen bufret innhold","pt-BR":"Sem conteúdo em cache",th:"ไม่มีเนื้อหาที่แคช",tr:"Önbelleğe alınmış içerik yok",uk:"Немає кешованого вмісту"},"ui.systemPrompt":{zh:"系统提示词",en:"System Prompt","zh-TW":"系統提示詞",ko:"시스템 프롬프트",ja:"システムプロンプト",de:"System-Prompt",es:"Prompt del sistema",fr:"Prompt système",it:"Prompt di sistema",da:"Systemprompt",pl:"Prompt systemowy",ru:"Системный промпт",ar:"موجه النظام",no:"Systemprompt","pt-BR":"Prompt do sistema",th:"พรอมต์ระบบ",tr:"Sistem İstemi",uk:"Системний промпт"},"ui.messages":{zh:"消息",en:"Messages","zh-TW":"訊息",ko:"메시지",ja:"メッセージ",de:"Nachrichten",es:"Mensajes",fr:"Messages",it:"Messaggi",da:"Beskeder",pl:"Wiadomości",ru:"Сообщения",ar:"الرسائل",no:"Meldinger","pt-BR":"Mensagens",th:"ข้อความ",tr:"Mesajlar",uk:"Повідомлення"},"ui.tools":{zh:"工具",en:"Tools","zh-TW":"工具",ko:"도구",ja:"ツール",de:"Werkzeuge",es:"Herramientas",fr:"Outils",it:"Strumenti",da:"Værktøjer",pl:"Narzędzia",ru:"Инструменты",ar:"الأدوات",no:"Verktøy","pt-BR":"Ferramentas",th:"เครื่องมือ",tr:"Araçlar",uk:"Інструменти"},"ui.tokens":{zh:"Token",en:"Tokens","zh-TW":"Token",ko:"토큰",ja:"トークン",de:"Token",es:"Tokens",fr:"Jetons",it:"Token",da:"Tokens",pl:"Tokeny",ru:"Токены",ar:"الرموز",no:"Tokens","pt-BR":"Tokens",th:"โทเค็น",tr:"Tokenler",uk:"Токени"},"ui.userPromptNav":{zh:"用户 Prompt 导航",en:"User Prompt Nav","zh-TW":"使用者 Prompt 導航",ko:"사용자 프롬프트 탐색",ja:"ユーザープロンプトナビ",de:"Benutzer-Prompt-Navigation",es:"Navegación de prompts",fr:"Navigation des prompts",it:"Navigazione prompt utente",da:"Bruger-prompt navigation",pl:"Nawigacja promptów",ru:"Навигация по промптам",ar:"تنقل المطالبات",no:"Bruker-prompt navigasjon","pt-BR":"Navegação de prompts",th:"นำทางพรอมต์ผู้ใช้",tr:"Kullanıcı İstemi Gezinme",uk:"Навігація промптів"},"ui.loadEarlierConversations":{zh:"加载更早的对话",en:"Load earlier conversations","zh-TW":"載入更早的對話",ko:"이전 대화 로드",ja:"以前の会話を読み込む",de:"Ältere Unterhaltungen laden",es:"Cargar conversaciones anteriores",fr:"Charger les conversations précédentes",it:"Carica conversazioni precedenti",da:"Indlæs ældre samtaler",pl:"Załaduj wcześniejsze rozmowy",ru:"Загрузить ранние разговоры",ar:"تحميل محادثات أقدم",no:"Last inn eldre samtaler","pt-BR":"Carregar conversas anteriores",th:"โหลดบทสนทนาก่อนหน้า",tr:"Eski konuşmaları yükle",uk:"Завантажити попередні розмови"},"ui.loadingMoreHistory":{zh:"加载中...",en:"Loading...","zh-TW":"載入中...",ko:"로딩 중...",ja:"読み込み中...",de:"Laden...",es:"Cargando...",fr:"Chargement...",it:"Caricamento...",da:"Indlæser...",pl:"Ładowanie...",ru:"Загрузка...",ar:"جارٍ التحميل...",no:"Laster...","pt-BR":"Carregando...",th:"กำลังโหลด...",tr:"Yükleniyor...",uk:"Завантаження..."},"ui.allConversationsLoaded":{zh:"已加载全部对话",en:"All conversations loaded","zh-TW":"已載入全部對話",ko:"모든 대화가 로드됨",ja:"すべての会話を読み込みました",de:"Alle Unterhaltungen geladen",es:"Todas las conversaciones cargadas",fr:"Toutes les conversations chargées",it:"Tutte le conversazioni caricate",da:"Alle samtaler indlæst",pl:"Wszystkie rozmowy załadowane",ru:"Все разговоры загружены",ar:"تم تحميل جميع المحادثات",no:"Alle samtaler lastet","pt-BR":"Todas as conversas carregadas",th:"โหลดบทสนทนาทั้งหมดแล้ว",tr:"Tüm konuşmalar yüklendi",uk:"Всі розмови завантажено"},"ui.loadSessionPlaceholder":{zh:"加载此会话 ({count} 条消息)",en:"Load this session ({count} messages)","zh-TW":"載入此對話 ({count} 則訊息)",ko:"이 세션 로드 ({count}개 메시지)",ja:"このセッションを読み込む ({count} メッセージ)",de:"Diese Sitzung laden ({count} Nachrichten)",es:"Cargar esta sesión ({count} mensajes)",fr:"Charger cette session ({count} messages)",it:"Carica questa sessione ({count} messaggi)",da:"Indlæs denne session ({count} beskeder)",pl:"Załaduj tę sesję ({count} wiadomości)",ru:"Загрузить эту сессию ({count} сообщений)",ar:"تحميل هذه الجلسة ({count} رسائل)",no:"Last inn denne økten ({count} meldinger)","pt-BR":"Carregar esta sessão ({count} mensagens)",th:"โหลดเซสชันนี้ ({count} ข้อความ)",tr:"Bu oturumu yükle ({count} mesaj)",uk:"Завантажити цю сесію ({count} повідомлень)"},"ui.proxySwitch":{zh:"代理热切换",en:"Hot-Switch Proxy","zh-TW":"代理熱切換",ko:"프록시 핫스위칭",ja:"プロキシ ホットスイッチ",de:"Proxy-Hotswitch",es:"Cambio rápido de proxy",fr:"Changement à chaud du proxy",it:"Cambio rapido proxy",da:"Proxy hot-switch",pl:"Szybkie przełączanie proxy",ru:"Горячее переключение прокси",ar:"تبديل الوكيل الفوري",no:"Proxy hot-switch","pt-BR":"Troca rápida de proxy",th:"สลับพร็อกซีแบบร้อน",tr:"Proxy hızlı geçiş",uk:"Гаряче перемикання проксі"},"ui.proxy.builtin":{zh:"内置",en:"Built-in","zh-TW":"內建",ko:"내장",ja:"ビルトイン",de:"Eingebaut",es:"Integrado",fr:"Intégré",it:"Integrato",da:"Indbygget",pl:"Wbudowany",ru:"Встроенный",ar:"مدمج",no:"Innebygd","pt-BR":"Integrado",th:"ในตัว",tr:"Yerleşik",uk:"Вбудований"},"ui.proxy.addProxy":{zh:"添加代理",en:"Add Proxy","zh-TW":"新增代理",ko:"프록시 추가",ja:"プロキシ追加",de:"Proxy hinzufügen",es:"Agregar proxy",fr:"Ajouter un proxy",it:"Aggiungi proxy",da:"Tilføj proxy",pl:"Dodaj proxy",ru:"Добавить прокси",ar:"إضافة وكيل",no:"Legg til proxy","pt-BR":"Adicionar proxy",th:"เพิ่มพร็อกซี",tr:"Proxy ekle",uk:"Додати проксі"},"ui.proxy.deleteProxy":{zh:"删除代理",en:"Delete Proxy","zh-TW":"刪除代理",ko:"프록시 삭제",ja:"プロキシ削除",de:"Proxy löschen",es:"Eliminar proxy",fr:"Supprimer le proxy",it:"Elimina proxy",da:"Slet proxy",pl:"Usuń proxy",ru:"Удалить прокси",ar:"حذف الوكيل",no:"Slett proxy","pt-BR":"Excluir proxy",th:"ลบพร็อกซี",tr:"Proxy sil",uk:"Видалити проксі"},"ui.proxy.deleteConfirm":{zh:"确定删除「{name}」?",en:'Delete "{name}"?',"zh-TW":"確定刪除「{name}」?",ko:'"{name}"을(를) 삭제하시겠습니까?',ja:"「{name}」を削除しますか?",de:"„{name}“ löschen?",es:'¿Eliminar "{name}"?',fr:"Supprimer « {name} » ?",it:'Eliminare "{name}"?',da:'Slet "{name}"?',pl:'Usunąć "{name}"?',ru:"Удалить «{name}»?",ar:'حذف "{name}"؟',no:'Slette "{name}"?',"pt-BR":'Excluir "{name}"?',th:'ลบ "{name}"?',tr:'"{name}" silinsin mi?',uk:"Видалити «{name}»?"},"ui.proxy.name":{zh:"名称",en:"Name","zh-TW":"名稱",ko:"이름",ja:"名前",de:"Name",es:"Nombre",fr:"Nom",it:"Nome",da:"Navn",pl:"Nazwa",ru:"Название",ar:"الاسم",no:"Navn","pt-BR":"Nome",th:"ชื่อ",tr:"Ad",uk:"Назва"},"ui.proxy.baseURL":{zh:"地址",en:"Base URL","zh-TW":"地址",ko:"주소",ja:"アドレス",de:"Adresse",es:"Dirección",fr:"Adresse",it:"Indirizzo",da:"Adresse",pl:"Adres",ru:"Адрес",ar:"العنوان",no:"Adresse","pt-BR":"Endereço",th:"ที่อยู่",tr:"Adres",uk:"Адреса"},"ui.proxy.apiKey":{zh:"API Key",en:"API Key","zh-TW":"API Key",ko:"API Key",ja:"API Key",de:"API Key",es:"API Key",fr:"API Key",it:"API Key",da:"API Key",pl:"API Key",ru:"API Key",ar:"API Key",no:"API Key","pt-BR":"API Key",th:"API Key",tr:"API Key",uk:"API Key"},"ui.proxy.models":{zh:"模型",en:"Models","zh-TW":"模型",ko:"모델",ja:"モデル",de:"Modelle",es:"Modelos",fr:"Modèles",it:"Modelli",da:"Modeller",pl:"Modele",ru:"Модели",ar:"النماذج",no:"Modeller","pt-BR":"Modelos",th:"โมเดล",tr:"Modeller",uk:"Моделі"},"ui.proxy.activeModel":{zh:"当前模型",en:"Active Model","zh-TW":"目前模型",ko:"현재 모델",ja:"現在のモデル",de:"Aktives Modell",es:"Modelo activo",fr:"Modèle actif",it:"Modello attivo",da:"Aktivt model",pl:"Aktywny model",ru:"Активная модель",ar:"النموذج النشط",no:"Aktiv modell","pt-BR":"Modelo ativo",th:"โมเดลที่ใช้งาน",tr:"Aktif model",uk:"Активна модель"},"ui.proxy.save":{zh:"保存",en:"Save","zh-TW":"儲存",ko:"저장",ja:"保存",de:"Speichern",es:"Guardar",fr:"Enregistrer",it:"Salva",da:"Gem",pl:"Zapisz",ru:"Сохранить",ar:"حفظ",no:"Lagre","pt-BR":"Salvar",th:"บันทึก",tr:"Kaydet",uk:"Зберегти"},"ui.proxy.cancel":{zh:"取消",en:"Cancel","zh-TW":"取消",ko:"취소",ja:"キャンセル",de:"Abbrechen",es:"Cancelar",fr:"Annuler",it:"Annulla",da:"Annuller",pl:"Anuluj",ru:"Отмена",ar:"إلغاء",no:"Avbryt","pt-BR":"Cancelar",th:"ยกเลิก",tr:"İptal",uk:"Скасувати"},"ui.proxy.openConfigDir":{zh:"打开配置文件目录",en:"Open config directory","zh-TW":"開啟設定檔目錄",ko:"설정 파일 디렉토리 열기",ja:"設定ファイルのディレクトリを開く",de:"Konfigurationsverzeichnis öffnen",es:"Abrir directorio de configuración",fr:"Ouvrir le dossier de configuration",it:"Apri cartella di configurazione",da:"Åbn konfigurationsmappe",pl:"Otwórz katalog konfiguracji",ru:"Открыть каталог конфигурации",ar:"فتح مجلد الإعدادات",no:"Åpne konfigurasjonsmappe","pt-BR":"Abrir diretório de configuração",th:"เปิดไดเรกทอรีการกำหนดค่า",tr:"Yapılandırma dizinini aç",uk:"Відкрити каталог конфігурації"},"ui.proxy.maxWarning":{zh:"如果你是 Claude 官方 Max 订阅用户,请勿使用该功能",en:"Do not use this feature if you are a Claude Max subscriber","zh-TW":"如果你是 Claude 官方 Max 訂閱用戶,請勿使用此功能",ko:"Claude Max 구독자인 경우 이 기능을 사용하지 마세요",ja:"Claude Max サブスクリプションをご利用の場合、この機能は使用しないでください",de:"Verwenden Sie diese Funktion nicht, wenn Sie Claude Max abonniert haben",es:"No utilice esta función si tiene suscripción Claude Max",fr:"N'utilisez pas cette fonction si vous êtes abonné Claude Max",it:"Non utilizzare questa funzione se sei abbonato a Claude Max",da:"Brug ikke denne funktion, hvis du har Claude Max-abonnement",pl:"Nie używaj tej funkcji, jeśli masz subskrypcję Claude Max",ru:"Не используйте эту функцию, если у вас подписка Claude Max",ar:"لا تستخدم هذه الميزة إذا كنت مشتركًا في Claude Max",no:"Ikke bruk denne funksjonen hvis du har Claude Max-abonnement","pt-BR":"Não use este recurso se você é assinante do Claude Max",th:"อย่าใช้ฟีเจอร์นี้หากคุณเป็นสมาชิก Claude Max",tr:"Claude Max abonesi iseniz bu özelliği kullanmayın",uk:"Не використовуйте цю функцію, якщо ви підписник Claude Max"},"ui.proxy.requiredFields":{zh:"名称、地址、API Key 为必填项",en:"Name, Base URL, and API Key are required","zh-TW":"名稱、地址、API Key 為必填項",ko:"이름, 주소, API Key는 필수 항목입니다",ja:"名前、アドレス、API Key は必須です",de:"Name, Adresse und API Key sind erforderlich",es:"Nombre, dirección y API Key son obligatorios",fr:"Nom, adresse et API Key sont obligatoires",it:"Nome, indirizzo e API Key sono obbligatori",da:"Navn, adresse og API Key er påkrævet",pl:"Nazwa, adres i API Key są wymagane",ru:"Название, адрес и API Key обязательны",ar:"الاسم والعنوان و API Key مطلوبة",no:"Navn, adresse og API Key er påkrevd","pt-BR":"Nome, endereço e API Key são obrigatórios",th:"ชื่อ ที่อยู่ และ API Key จำเป็นต้องกรอก",tr:"Ad, adres ve API Key zorunludur",uk:"Назва, адреса та API Key є обов'язковими"},"ui.ultraplan":{zh:"UltraPlan",en:"UltraPlan","zh-TW":"UltraPlan",ko:"UltraPlan",ja:"UltraPlan",de:"UltraPlan",es:"UltraPlan",fr:"UltraPlan",it:"UltraPlan",da:"UltraPlan",pl:"UltraPlan",ru:"UltraPlan",ar:"UltraPlan",no:"UltraPlan","pt-BR":"UltraPlan",th:"UltraPlan",tr:"UltraPlan",uk:"UltraPlan"},"ui.ultraplan.title":{zh:"UltraPlan — 至尊许愿机",en:"UltraPlan — Ultimate Wishing Machine","zh-TW":"UltraPlan — 至尊許願機",ko:"UltraPlan — 최고의 소원 기계",ja:"UltraPlan — 究極のウィッシングマシン",de:"UltraPlan — Ultimative Wunschmaschine",es:"UltraPlan — Máquina de deseos suprema",fr:"UltraPlan — Machine à vœux suprême",it:"UltraPlan — Macchina dei desideri suprema",da:"UltraPlan — Den ultimative ønskemaskine",pl:"UltraPlan — Najwyższa maszyna życzeń",ru:"UltraPlan — Супер-машина желаний",ar:"UltraPlan — آلة الأمنيات العظمى",no:"UltraPlan — Den ultimate ønskemaskinen","pt-BR":"UltraPlan — Máquina de desejos suprema",th:"UltraPlan — เครื่องอธิษฐานสูงสุด",tr:"UltraPlan — Nihai dilek makinesi",uk:"UltraPlan — Найвища машина бажань"},"ui.ultraplan.roleCodeExpert":{zh:"代码专家",en:"Code Expert","zh-TW":"程式碼專家",ko:"코드 전문가",ja:"コードエキスパート",de:"Code-Experte",es:"Experto en código",fr:"Expert code",it:"Esperto di codice",da:"Kodeekspert",pl:"Ekspert kodu",ru:"Эксперт по коду",ar:"خبير الكود",no:"Kodeekspert","pt-BR":"Especialista em código",th:"ผู้เชี่ยวชาญโค้ด",tr:"Kod uzmanı",uk:"Експерт з коду"},"ui.ultraplan.roleResearchExpert":{zh:"调研专家",en:"Research Expert","zh-TW":"調研專家",ko:"리서치 전문가",ja:"リサーチエキスパート",de:"Recherche-Experte",es:"Experto en investigación",fr:"Expert recherche",it:"Esperto di ricerca",da:"Forskningsekspert",pl:"Ekspert badawczy",ru:"Эксперт по исследованиям",ar:"خبير الأبحاث",no:"Forskningsekspert","pt-BR":"Especialista em pesquisa",th:"ผู้เชี่ยวชาญวิจัย",tr:"Araştırma uzmanı",uk:"Експерт з досліджень"},"ui.ultraplan.agentTeamRequired":{zh:"UltraPlan 需要开启 Agent Team 才能使用",en:"UltraPlan requires Agent Team to be enabled","zh-TW":"UltraPlan 需要開啟 Agent Team 才能使用",ko:"UltraPlan을 사용하려면 Agent Team을 활성화해야 합니다",ja:"UltraPlan を使用するには Agent Team を有効にする必要があります",de:"UltraPlan erfordert die Aktivierung von Agent Team",es:"UltraPlan requiere que Agent Team esté activado",fr:"UltraPlan nécessite l'activation de Agent Team",it:"UltraPlan richiede che Agent Team sia attivato",da:"UltraPlan kræver at Agent Team er aktiveret",pl:"UltraPlan wymaga włączonego Agent Team",ru:"UltraPlan требует включённого Agent Team",ar:"UltraPlan يتطلب تفعيل Agent Team",no:"UltraPlan krever at Agent Team er aktivert","pt-BR":"UltraPlan requer que o Agent Team esteja ativado",th:"UltraPlan ต้องเปิดใช้งาน Agent Team",tr:"UltraPlan için Agent Team'in etkinleştirilmesi gerekir",uk:"UltraPlan потребує увімкненого Agent Team"},"ui.ultraplan.placeholder":{zh:"这是一个超级许愿机,它能完成非常复杂的任务,只有普通输入无法完成的任务才需要启用该功能",en:"This is a super wishing machine for complex tasks. Only use it when normal input can't handle the job.","zh-TW":"這是一個超級許願機,它能完成非常複雜的任務,只有普通輸入無法完成的任務才需要啟用該功能",ko:"복잡한 작업을 위한 슈퍼 위시 머신입니다. 일반 입력으로 처리할 수 없는 작업에만 사용하세요.",ja:"これは超複雑なタスクを処理できるスーパーウィッシングマシンです。通常の入力では対応できないタスクにのみ使用してください。",de:"Dies ist eine Super-Wunschmaschine für komplexe Aufgaben. Verwenden Sie sie nur, wenn normale Eingaben nicht ausreichen.",es:"Esta es una súper máquina de deseos para tareas complejas. Úsala solo cuando la entrada normal no pueda manejar el trabajo.",fr:"C'est une super machine à vœux pour les tâches complexes. Utilisez-la uniquement quand l'entrée normale ne suffit pas.",it:"Questa è una super macchina dei desideri per compiti complessi. Usala solo quando l'input normale non è sufficiente.",da:"Dette er en super-ønskemaskine til komplekse opgaver. Brug den kun, når normal input ikke kan klare opgaven.",pl:"To super maszyna życzeń do złożonych zadań. Używaj jej tylko, gdy normalne dane wejściowe nie wystarczą.",ru:"Это супер-машина желаний для сложных задач. Используйте только когда обычный ввод не справляется.",ar:"هذه آلة أمنيات خارقة للمهام المعقدة. استخدمها فقط عندما لا يكفي الإدخال العادي.",no:"Dette er en super-ønskemaskin for komplekse oppgaver. Bruk den kun når vanlig input ikke kan håndtere jobben.","pt-BR":"Esta é uma super máquina de desejos para tarefas complexas. Use apenas quando a entrada normal não conseguir lidar com o trabalho.",th:"นี่คือเครื่องอธิษฐานสุดยอดสำหรับงานที่ซับซ้อน ใช้เฉพาะเมื่อการป้อนข้อมูลปกติไม่สามารถจัดการได้",tr:"Bu, karmaşık görevler için süper bir dilek makinesidir. Yalnızca normal giriş yeterli olmadığında kullanın.",uk:"Це супер-машина бажань для складних завдань. Використовуйте лише коли звичайний ввід не справляється."},"ui.ultraplan.send":{zh:"发送",en:"Send","zh-TW":"發送",ko:"보내기",ja:"送信",de:"Senden",es:"Enviar",fr:"Envoyer",it:"Invia",da:"Send",pl:"Wyślij",ru:"Отправить",ar:"إرسال",no:"Send","pt-BR":"Enviar",th:"ส่ง",tr:"Gönder",uk:"Надіслати"},"ui.ultraplan.upload":{zh:"添加附件",en:"Add Attachment","zh-TW":"新增附件",ko:"첨부 추가",ja:"添付を追加",de:"Anhang hinzufügen",es:"Agregar adjunto",fr:"Ajouter une pièce jointe",it:"Aggiungi allegato",da:"Tilføj vedhæftning",pl:"Dodaj załącznik",ru:"Добавить вложение",ar:"إضافة مرفق",no:"Legg til vedlegg","pt-BR":"Adicionar anexo",th:"เพิ่มไฟล์แนบ",tr:"Ek ekle",uk:"Додати вкладення"},"ui.ultraplan.contextWarning":{zh:"当前模型上下文窗口为 200K,很容易不够一次 UltraPlan 运行,务必在运行之前执行 /clear 命令。",en:"The current model has a 200K context window, which may not be enough for a single UltraPlan run. Make sure to run /clear before starting.","zh-TW":"目前模型的上下文窗口為 200K,可能不足以完成一次 UltraPlan 執行,請務必在執行前先執行 /clear 指令。",ko:"현재 모델의 컨텍스트 창은 200K로, 한 번의 UltraPlan 실행에 충분하지 않을 수 있습니다. 시작 전에 /clear 명령을 실행하세요.",ja:"現在のモデルのコンテキストウィンドウは200Kで、1回のUltraPlan実行には不十分な場合があります。開始前に必ず /clear コマンドを実行してください。",de:"Das aktuelle Modell hat ein 200K-Kontextfenster, das für einen einzelnen UltraPlan-Lauf möglicherweise nicht ausreicht. Führen Sie vor dem Start /clear aus.",es:"El modelo actual tiene una ventana de contexto de 200K, que puede no ser suficiente para una ejecución de UltraPlan. Asegúrese de ejecutar /clear antes de comenzar.",fr:"Le modèle actuel a une fenêtre de contexte de 200K, ce qui peut être insuffisant pour une exécution UltraPlan. Exécutez /clear avant de commencer.",it:"Il modello attuale ha una finestra di contesto di 200K, che potrebbe non essere sufficiente per un'esecuzione di UltraPlan. Eseguire /clear prima di iniziare.",da:"Den aktuelle model har et 200K kontekstvindue, hvilket muligvis ikke er nok til en enkelt UltraPlan-kørsel. Kør /clear inden start.",pl:"Bieżący model ma okno kontekstu 200K, które może nie wystarczyć na jedno uruchomienie UltraPlan. Przed rozpoczęciem wykonaj /clear.",ru:"Текущая модель имеет контекстное окно 200K, которого может не хватить для одного запуска UltraPlan. Обязательно выполните /clear перед запуском.",ar:"نافذة السياق للنموذج الحالي هي 200K، وقد لا تكفي لتشغيل UltraPlan واحد. تأكد من تنفيذ /clear قبل البدء.",no:"Gjeldende modell har et 200K kontekstvindu, som kanskje ikke er nok for én UltraPlan-kjøring. Kjør /clear før du starter.","pt-BR":"O modelo atual tem uma janela de contexto de 200K, que pode não ser suficiente para uma execução do UltraPlan. Execute /clear antes de iniciar.",th:"โมเดลปัจจุบันมีหน้าต่างบริบท 200K ซึ่งอาจไม่เพียงพอสำหรับการรัน UltraPlan ครั้งเดียว ให้รันคำสั่ง /clear ก่อนเริ่ม",tr:"Mevcut modelin 200K bağlam penceresi var ve tek bir UltraPlan çalıştırması için yeterli olmayabilir. Başlamadan önce /clear komutunu çalıştırın.",uk:"Поточна модель має контекстне вікно 200K, якого може не вистачити для одного запуску UltraPlan. Обов'язково виконайте /clear перед запуском."},"ui.ultraplan.customAdd":{zh:"自定义 UltraPlan",en:"Custom UltraPlan","zh-TW":"自訂 UltraPlan",ko:"커스텀 UltraPlan",ja:"カスタム UltraPlan",de:"Benutzerdefinierter UltraPlan",es:"UltraPlan personalizado",fr:"UltraPlan personnalisé",it:"UltraPlan personalizzato",da:"Tilpasset UltraPlan",pl:"Niestandardowy UltraPlan",ru:"Пользовательский UltraPlan",ar:"UltraPlan مخصص",no:"Tilpasset UltraPlan","pt-BR":"UltraPlan personalizado",th:"UltraPlan กำหนดเอง",tr:"Özel UltraPlan",uk:"Користувацький UltraPlan"},"ui.ultraplan.customCreateTitle":{zh:"新建自定义专家",en:"New Custom Expert","zh-TW":"新建自訂專家",ko:"새 커스텀 전문가",ja:"新しいカスタムエキスパート",de:"Neuer benutzerdefinierter Experte",es:"Nuevo experto personalizado",fr:"Nouvel expert personnalisé",it:"Nuovo esperto personalizzato",da:"Ny tilpasset ekspert",pl:"Nowy niestandardowy ekspert",ru:"Новый пользовательский эксперт",ar:"خبير مخصص جديد",no:"Ny tilpasset ekspert","pt-BR":"Novo especialista personalizado",th:"ผู้เชี่ยวชาญกำหนดเองใหม่",tr:"Yeni özel uzman",uk:"Новий користувацький експерт"},"ui.ultraplan.customEditTitle":{zh:"编辑自定义专家",en:"Edit Custom Expert","zh-TW":"編輯自訂專家",ko:"커스텀 전문가 편집",ja:"カスタムエキスパートを編集",de:"Benutzerdefinierten Experten bearbeiten",es:"Editar experto personalizado",fr:"Modifier l'expert personnalisé",it:"Modifica esperto personalizzato",da:"Rediger tilpasset ekspert",pl:"Edytuj niestandardowego eksperta",ru:"Редактировать пользовательского эксперта",ar:"تعديل الخبير المخصص",no:"Rediger tilpasset ekspert","pt-BR":"Editar especialista personalizado",th:"แก้ไขผู้เชี่ยวชาญกำหนดเอง",tr:"Özel uzmanı düzenle",uk:"Редагувати користувацького експерта"},"ui.ultraplan.customTitlePlaceholder":{zh:"专家名称,例如:架构师",en:"Expert name, e.g. Architect","zh-TW":"專家名稱,例如:架構師",ko:"전문가 이름, 예: 아키텍트",ja:"エキスパート名、例:アーキテクト",de:"Expertenname, z. B. Architekt",es:"Nombre del experto, p. ej. Arquitecto",fr:"Nom de l'expert, par ex. Architecte",it:"Nome dell'esperto, es. Architetto",da:"Ekspertnavn, f.eks. Arkitekt",pl:"Nazwa eksperta, np. Architekt",ru:"Имя эксперта, например: Архитектор",ar:"اسم الخبير، مثل: المهندس المعماري",no:"Ekspertnavn, f.eks. Arkitekt","pt-BR":"Nome do especialista, ex.: Arquiteto",th:"ชื่อผู้เชี่ยวชาญ เช่น สถาปนิก",tr:"Uzman adı, örn. Mimar",uk:"Ім'я експерта, наприклад: Архітектор"},"ui.ultraplan.customContentPlaceholder":{zh:"输入你的提示词正文。发送时会自动用 <system-reminder> 包裹。",en:"Enter your prompt body. It will be auto-wrapped in <system-reminder> tags when sent.","zh-TW":"輸入你的提示詞正文。發送時會自動用 <system-reminder> 包裹。",ko:"프롬프트 본문을 입력하세요. 전송 시 <system-reminder> 태그로 자동 래핑됩니다.",ja:"プロンプト本文を入力してください。送信時に <system-reminder> タグで自動的にラップされます。",de:"Prompt-Text eingeben. Er wird beim Senden automatisch in <system-reminder>-Tags eingehüllt.",es:"Introduzca el cuerpo del prompt. Se envolverá automáticamente en etiquetas <system-reminder> al enviar.",fr:"Saisissez le corps de l'invite. Il sera automatiquement encapsulé dans des balises <system-reminder> lors de l'envoi.",it:"Inserisci il corpo del prompt. Verrà automaticamente racchiuso in tag <system-reminder> all'invio.",da:"Indtast prompt-teksten. Den bliver automatisk pakket ind i <system-reminder>-tags ved afsendelse.",pl:"Wprowadź treść polecenia. Zostanie automatycznie owinięta tagami <system-reminder> przy wysłaniu.",ru:"Введите текст промпта. При отправке он будет автоматически обёрнут в теги <system-reminder>.",ar:"أدخل نص الموجّه. سيتم لفه تلقائيًا بعلامات <system-reminder> عند الإرسال.",no:"Skriv inn prompt-innholdet. Det pakkes automatisk inn i <system-reminder>-tagger ved sending.","pt-BR":"Digite o corpo do prompt. Será envolvido automaticamente em tags <system-reminder> ao enviar.",th:"ป้อนเนื้อหาพรอมต์ ระบบจะห่อด้วยแท็ก <system-reminder> อัตโนมัติเมื่อส่ง",tr:"Komut gövdesini girin. Gönderildiğinde otomatik olarak <system-reminder> etiketleriyle sarılacaktır.",uk:"Введіть текст запиту. При відправці він буде автоматично обгорнутий тегами <system-reminder>."},"ui.ultraplan.customSave":{zh:"保存",en:"Save","zh-TW":"儲存",ko:"저장",ja:"保存",de:"Speichern",es:"Guardar",fr:"Enregistrer",it:"Salva",da:"Gem",pl:"Zapisz",ru:"Сохранить",ar:"حفظ",no:"Lagre","pt-BR":"Salvar",th:"บันทึก",tr:"Kaydet",uk:"Зберегти"},"ui.ultraplan.customCancel":{zh:"取消",en:"Cancel","zh-TW":"取消",ko:"취소",ja:"キャンセル",de:"Abbrechen",es:"Cancelar",fr:"Annuler",it:"Annulla",da:"Annullér",pl:"Anuluj",ru:"Отмена",ar:"إلغاء",no:"Avbryt","pt-BR":"Cancelar",th:"ยกเลิก",tr:"İptal",uk:"Скасувати"},"ui.ultraplan.customDelete":{zh:"删除",en:"Delete","zh-TW":"刪除",ko:"삭제",ja:"削除",de:"Löschen",es:"Eliminar",fr:"Supprimer",it:"Elimina",da:"Slet",pl:"Usuń",ru:"Удалить",ar:"حذف",no:"Slett","pt-BR":"Excluir",th:"ลบ",tr:"Sil",uk:"Видалити"},"ui.ultraplan.customDeleteConfirm":{zh:"确定删除这个自定义专家吗?",en:"Delete this custom expert?","zh-TW":"確定刪除這個自訂專家嗎?",ko:"이 커스텀 전문가를 삭제하시겠습니까?",ja:"このカスタムエキスパートを削除しますか?",de:"Diesen benutzerdefinierten Experten löschen?",es:"¿Eliminar este experto personalizado?",fr:"Supprimer cet expert personnalisé ?",it:"Eliminare questo esperto personalizzato?",da:"Slet denne tilpassede ekspert?",pl:"Usunąć tego niestandardowego eksperta?",ru:"Удалить этого пользовательского эксперта?",ar:"حذف هذا الخبير المخصص؟",no:"Slette denne tilpassede eksperten?","pt-BR":"Excluir este especialista personalizado?",th:"ลบผู้เชี่ยวชาญกำหนดเองนี้หรือไม่?",tr:"Bu özel uzman silinsin mi?",uk:"Видалити цього користувацького експерта?"},"ui.taskNotification.result":{zh:"结果详情",en:"Result details","zh-TW":"結果詳情",ko:"결과 상세",ja:"結果の詳細",de:"Ergebnisdetails",es:"Detalles del resultado",fr:"Détails du résultat",it:"Dettagli del risultato",da:"Resultatdetaljer",pl:"Szczegóły wyniku",ru:"Подробности результата",ar:"تفاصيل النتيجة",no:"Resultatdetaljer","pt-BR":"Detalhes do resultado",th:"รายละเอียดผลลัพธ์",tr:"Sonuç detayları",uk:"Деталі результату"}},kt={};for(const[a,i]of Object.entries(ji))for(const[e,n]of Object.entries(i))kt[e]||(kt[e]={}),kt[e][a]=n;let ts="zh";const Ut={zh:"zh","zh-cn":"zh","zh-hans":"zh","zh-tw":"zh-TW","zh-hk":"zh-TW","zh-hant":"zh-TW",en:"en",ko:"ko",de:"de",es:"es",fr:"fr",it:"it",da:"da",ja:"ja",pl:"pl",ru:"ru",ar:"ar",no:"no",nb:"no",nn:"no",pt:"pt-BR","pt-br":"pt-BR",th:"th",tr:"tr",uk:"uk"};function zi(a){if(!a)return"en";const i=a.toLowerCase().replace(/_/g,"-");if(Ut[i])return Ut[i];const e=i.split("-")[0];return Ut[e]?Ut[e]:"en"}function Ii(){return typeof navigator<"u"&&navigator.language?zi(navigator.language):"en"}function ea(a){ts=kt[a]?a:"en"}function cn(){return ts}function b(a,i){var n;let e=((n=kt[ts])==null?void 0:n[a])||kt.en[a]||a;if(i)for(const[s,r]of Object.entries(i))e=e.replaceAll(`{${s}}`,r);return e}ea(Ii());const hs=new URLSearchParams(window.location.search).get("token");function K(a){if(!hs)return a;const i=a.includes("?")?"&":"?";return`${a}${i}token=${hs}`}const Pi="_root_2zmas_2",Mi="_inner_2zmas_10",Bi="_header_2zmas_17",Oi="_headerTitle_2zmas_22",Di="_headerFolderIcon_2zmas_27",Fi="_headerSubtitle_2zmas_32",Wi="_addButtonRow_2zmas_36",Ui="_loadingCenter_2zmas_42",$i="_emptyState_2zmas_47",Hi="_card_2zmas_52",Gi="_cardRow_2zmas_59",Vi="_cardLeft_2zmas_65",qi="_cardNameRow_2zmas_70",Ki="_cardName_2zmas_70",Zi="_cardPath_2zmas_82",Ji="_cardMeta_2zmas_87",Yi="_dirPathHeader_2zmas_96",Qi="_dirCurrentPath_2zmas_104",Xi="_dirFolderIcon_2zmas_113",er="_dirList_2zmas_118",tr="_dirListCenter_2zmas_124",nr="_dirItem_2zmas_129",sr="_dirItemInner_2zmas_137",ar="_dirItemName_2zmas_145",ir="_dirGitTag_2zmas_153",rr="_dirFooter_2zmas_162",or="_dirPathInputRow_2zmas_170",lr="_dirPathInput_2zmas_170",_e={root:Pi,inner:Mi,header:Bi,headerTitle:Oi,headerFolderIcon:Di,headerSubtitle:Fi,addButtonRow:Wi,loadingCenter:Ui,emptyState:$i,card:Hi,cardRow:Gi,cardLeft:Vi,cardNameRow:qi,cardName:Ki,cardPath:Zi,cardMeta:Ji,dirPathHeader:Yi,dirCurrentPath:Qi,dirFolderIcon:Xi,dirList:er,dirListCenter:tr,dirItem:nr,dirItemInner:sr,dirItemName:ar,dirGitTag:ir,dirFooter:rr,dirPathInputRow:or,dirPathInput:lr},{Text:at,Title:cr}=wt;function dr(a){if(!a)return"0 B";const i=["B","KB","MB","GB"];let e=0,n=a;for(;n>=1024&&e<i.length-1;)n/=1024,e++;return`${n.toFixed(e>0?1:0)} ${i[e]}`}function ur(a){if(!a)return"";const i=Date.now()-new Date(a).getTime(),e=Math.floor(i/6e4);if(e<1)return b("ui.workspaces.justNow");if(e<60)return`${e}m ago`;const n=Math.floor(e/60);return n<24?`${n}h ago`:`${Math.floor(n/24)}d ago`}function pr({open:a,onClose:i,onSelect:e}){const[n,s]=y.useState(""),[r,o]=y.useState(null),[l,c]=y.useState([]),[d,p]=y.useState(!1),[g,h]=y.useState(""),m=y.useCallback(f=>{p(!0);const _=f?`/api/browse-dir?path=${encodeURIComponent(f)}`:"/api/browse-dir";fetch(K(_)).then(v=>v.json()).then(v=>{v.error?ce.error(v.error):(s(v.current),o(v.parent),c(v.dirs||[]),h(v.current)),p(!1)}).catch(()=>{ce.error("Failed to browse directory"),p(!1)})},[]);y.useEffect(()=>{a&&m("")},[a,m]);const u=()=>{const f=g.trim();f&&m(f)};return t.jsxs(Pe,{title:b("ui.workspaces.selectDir"),open:a,onCancel:i,footer:null,width:600,styles:{body:{padding:"12px 0"}},children:[t.jsxs("div",{className:_e.dirPathHeader,children:[t.jsx(Le,{type:"text",icon:t.jsx(gi,{}),disabled:!r,onClick:()=>r&&m(r),size:"small"}),t.jsxs(at,{className:_e.dirCurrentPath,children:[t.jsx(Bn,{className:_e.dirFolderIcon}),n]})]}),t.jsx("div",{className:_e.dirList,children:d?t.jsx("div",{className:_e.dirListCenter,children:t.jsx(Pt,{})}):l.length===0?t.jsx("div",{className:_e.dirListCenter,children:t.jsx(at,{type:"secondary",children:b("ui.workspaces.emptyDir")})}):l.map(f=>t.jsxs("div",{className:_e.dirItem,onMouseEnter:_=>_.currentTarget.style.background="var(--bg-elevated)",onMouseLeave:_=>_.currentTarget.style.background="transparent",children:[t.jsxs("div",{className:_e.dirItemInner,onClick:()=>m(f.path),children:[t.jsx(Wa,{style:{color:f.hasGit?"var(--color-primary)":"var(--text-muted)",fontSize:16,flexShrink:0}}),t.jsx(at,{className:_e.dirItemName,children:f.name}),f.hasGit&&t.jsxs(On,{color:"blue",className:_e.dirGitTag,children:[t.jsx(bi,{style:{marginRight:2}}),"git"]})]}),t.jsx(Le,{type:"primary",size:"small",onClick:_=>{_.stopPropagation(),e(f.path)},children:b("ui.workspaces.select")})]},f.path))}),t.jsxs("div",{className:_e.dirFooter,children:[t.jsxs(Le,{type:"primary",ghost:!0,block:!0,icon:t.jsx(Bn,{}),onClick:()=>e(n),children:[b("ui.workspaces.selectCurrent")," — ",n.split("/").pop()||n]}),t.jsxs("div",{className:_e.dirPathInputRow,children:[t.jsx(vt,{size:"small",value:g,onChange:f=>h(f.target.value),onPressEnter:u,placeholder:b("ui.workspaces.pathPlaceholder"),className:_e.dirPathInput}),t.jsx(Le,{size:"small",onClick:u,children:b("ui.workspaces.goTo")})]})]})]})}function mr({onLaunch:a}){const[i,e]=y.useState([]),[n,s]=y.useState(!0),[r,o]=y.useState(null),[l,c]=y.useState(!1),d=()=>{fetch(K("/api/workspaces")).then(m=>m.json()).then(m=>{e(m.workspaces||[]),s(!1)}).catch(()=>s(!1))};y.useEffect(()=>{d()},[]);const p=m=>{c(!1),fetch(K("/api/workspaces/add"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:m})}).then(u=>u.json()).then(u=>{u.error?ce.error(u.error):d()}).catch(()=>ce.error("Failed to add workspace"))},g=m=>{fetch(K(`/api/workspaces/${m}`),{method:"DELETE"}).then(u=>u.json()).then(()=>d()).catch(()=>{})},h=(m,u=!1)=>{var _;o(m.id);const f=[];if(u&&f.push("--dangerously-skip-permissions"),m.logCount>0&&f.push("-c"),(_=window.electronAPI)!=null&&_.launchWorkspace){window.electronAPI.launchWorkspace(m.path,f),o(null);return}fetch(K("/api/workspaces/launch"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:m.path,extraArgs:f})}).then(v=>v.json()).then(v=>{v.error?(ce.error(v.error),o(null)):a({projectName:v.projectName,path:m.path})}).catch(()=>{ce.error("Launch failed"),o(null)})};return t.jsxs("div",{className:_e.root,children:[t.jsxs("div",{className:_e.inner,children:[t.jsxs("div",{className:_e.header,children:[t.jsxs(cr,{level:3,className:_e.headerTitle,children:[t.jsx(Bn,{className:_e.headerFolderIcon}),b("ui.workspaces.title")]}),t.jsx(at,{type:"secondary",className:_e.headerSubtitle,children:b("ui.workspaces.subtitle")})]}),t.jsx("div",{className:_e.addButtonRow,children:t.jsx(Le,{type:"primary",icon:t.jsx(Pa,{}),onClick:()=>c(!0),size:"large",children:b("ui.workspaces.browse")})}),n?t.jsx("div",{className:_e.loadingCenter,children:t.jsx(Pt,{})}):i.length===0?t.jsx(Mt,{description:t.jsx(at,{type:"secondary",children:b("ui.workspaces.empty")}),className:_e.emptyState}):t.jsx(Ma,{dataSource:i,renderItem:m=>t.jsx(Ba,{size:"small",className:_e.card,hoverable:!0,onClick:()=>h(m,!1),children:t.jsxs("div",{className:_e.cardRow,children:[t.jsxs("div",{className:_e.cardLeft,children:[t.jsx("div",{className:_e.cardNameRow,children:t.jsx(at,{strong:!0,className:_e.cardName,children:m.projectName})}),t.jsx(at,{type:"secondary",className:_e.cardPath,children:m.path}),t.jsxs("div",{className:_e.cardMeta,children:[t.jsxs("span",{children:[t.jsx(Oa,{style:{marginRight:4}}),ur(m.lastUsed)]}),m.logCount>0&&t.jsxs("span",{children:[t.jsx(wi,{style:{marginRight:4}}),m.logCount," logs (",dr(m.totalSize),")"]})]})]}),t.jsxs(Da,{children:[t.jsx(Le,{type:"primary",icon:t.jsx(ms,{}),loading:r===m.id,onClick:u=>{u.stopPropagation(),h(m,!1)},children:b("ui.workspaces.normalLaunch")}),t.jsx(Le,{icon:t.jsx(ms,{}),loading:r===m.id,onClick:u=>{u.stopPropagation(),h(m,!0)},style:{background:"#d97706",borderColor:"#d97706",color:"#fff"},children:b("ui.workspaces.skipPermLaunch")}),t.jsx(Xs,{title:b("ui.workspaces.confirmRemove"),onConfirm:u=>{u==null||u.stopPropagation(),g(m.id)},onCancel:u=>u==null?void 0:u.stopPropagation(),okText:"Yes",cancelText:"No",children:t.jsx(Le,{type:"text",danger:!0,icon:t.jsx(Fa,{}),onClick:u=>u.stopPropagation()})})]})]})},m.id)})]}),t.jsx(pr,{open:l,onClose:()=>c(!1),onSelect:p})]})}const hr="_iconBtn_5ojec_1",gr={iconBtn:hr};function fr({apiEndpoint:a,title:i,size:e=16}){const[n,s]=y.useState(!1),r=d=>{d.stopPropagation(),fetch(a,{method:"POST"}).catch(()=>{})},o=d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),r(d))},l=t.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),c=t.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"var(--color-accent-yellow)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M5 19a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4l2 2h5a2 2 0 0 1 2 2v1",fill:"none"}),t.jsx("path",{d:"M20 10H8.5A2.5 2.5 0 0 0 6 12.5L5 19h13.5a2 2 0 0 0 2-1.75l1-6.25A1 1 0 0 0 20.5 10z",fill:"var(--color-accent-yellow)",stroke:"var(--color-accent-yellow)"})]});return t.jsx("span",{role:"button",tabIndex:0,onClick:r,onKeyDown:o,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),title:i,className:gr.iconBtn,style:{opacity:n?1:.7},children:n?c:l})}let ns="~/.claude";function _r(a){typeof a=="string"&&a.length>0&&(ns=a)}function br(){return ns}function Wn(a,i){return b(a,{...i,configDir:ns})}function kr(a){const i=a==null?void 0:a.system;return typeof i=="string"?i:Array.isArray(i)?i.map(e=>e&&e.text||"").join(""):""}const vr=/You are a Claude agent/i,Ln=new WeakMap;function Un(a){if(!a)return!1;const i=Ln.get(a);if(i!==void 0)return i;if(a.teammate)return Ln.set(a,!1),!1;const e=kr(a.body||{}),n=vr.test(e);return Ln.set(a,n),n}function yr(a){if(!(a!=null&&a.body))return null;const i=a.body.messages||[];if(i.length===0)return null;for(const e of i){if(e.role!=="user")continue;const n=e.content;let s="";if(typeof n=="string"?s=n:Array.isArray(n)&&(s=n.filter(o=>o&&o.type==="text").map(o=>o.text||"").join(" ")),!s)continue;const r=s.match(/Agent\s+(?:oh-my-claudecode:)?(\S+)\s+started/i)||s.match(/You are (\w+)[,.]/)||s.match(/name[::]\s*["']?(\w+)/i);if(r)return r[1]}return null}const gs=/command execution specialist|file search specialist|planning specialist|general-purpose agent/i,ta=/running as an agent in a team|Agent Teammate Communication/i;function xt(a){const i=a==null?void 0:a.system;return typeof i=="string"?i:Array.isArray(i)?i.map(e=>e&&e.text||"").join(""):""}const $t=new WeakMap;function ss(a){if(!a)return!1;const i=$t.get(a);if(i!==void 0)return i;if(a.teammate)return $t.set(a,!0),!0;if(Un(a))return a.teammate||(a.teammate=yr(a)||null),$t.set(a,!0),!0;const e=xt(a.body||{}),n=ta.test(e);return $t.set(a,n),n}const fs=new WeakMap;function Fe(a){if(!a)return!1;const i=fs.get(a);if(i!==void 0)return i;const e=xr(a);return fs.set(a,e),e}function xr(a){if(!a||ss(a))return!1;if(a.mainAgent){const r=xt(a.body||{});return!gs.test(r)}const i=a.body||{};if(!i.system||!Array.isArray(i.tools))return!1;const e=xt(i);if(!e.includes("You are Claude Code")||gs.test(e))return!1;const n=Array.isArray(i.system),s=i.tools.some(r=>r.name==="ToolSearch");if(n&&s){const r=i.messages||[];if((r.length>0?typeof r[0].content=="string"?r[0].content:Array.isArray(r[0].content)?r[0].content.map(l=>l.text||"").join(""):"":"").includes("<available-deferred-tools>"))return!0}if(i.tools.length>5){const r=i.tools.some(c=>c.name==="Edit"),o=i.tools.some(c=>c.name==="Bash"),l=i.tools.some(c=>c.name==="Task"||c.name==="Agent");if(r&&o&&l)return!0}return!1}function $n(a){return a?/^Base directory for this skill:/i.test(a.trim()):!1}function Lr(a){return a?a.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/gi,"").replace(/<local-command-caveat>[\s\S]*?<\/local-command-caveat>/gi,"").replace(/<local-command-stdout>[\s\S]*?<\/local-command-stdout>/gi,"").replace(/<command-name>[\s\S]*?<\/command-name>/gi,"").replace(/<command-message>[\s\S]*?<\/command-message>/gi,"").replace(/<command-args>[\s\S]*?<\/command-args>/gi,"").replace(/<teammate-message[\s\S]*?<\/teammate-message>/gi,"").replace(/<task-notification>[\s\S]*?<\/task-notification>/gi,"").trim():""}function it(a){if(!a)return!0;const i=a.trim();return i?/Implement the following plan:/i.test(i)?!1:!!(/^<[a-zA-Z_][\w-]*[\s>]/i.test(i)||/^\[SUGGESTION MODE:/i.test(i)||/^Your response was cut off because it exceeded the output token limit/i.test(i)||/^Base directory for this skill:/i.test(i)):!0}function dn(a){if(!Array.isArray(a))return{commands:[],textBlocks:[],skillBlocks:[],teammateBlocks:[],taskNotificationBlocks:[]};const i=[];for(const c of a){if(c.type!=="text")continue;const d=c.text||"",p=/<teammate-message\s+([^>]*)>([\s\S]*?)<\/teammate-message>/gi;let g;for(;(g=p.exec(d))!==null;){const h=g[1],m=g[2].trim(),u=h.match(/teammate_id="([^"]*)"/),f=h.match(/color="([^"]*)"/),_=h.match(/summary="([^"]*)"/),v=u?u[1]:"teammate",x=f?f[1]:null;if(m.startsWith("{"))try{const k=JSON.parse(m);if(k&&k.type){i.push({id:v,color:x,summary:null,content:null,status:k.type,statusFrom:k.from||v});continue}}catch{}i.push({id:v,color:x,summary:_?_[1]:null,content:m,status:null})}}const e=[];if(a.some(c=>c.type==="text"&&/<task-notification>/i.test(c.text||"")))for(const c of a){if(c.type!=="text")continue;const d=c.text||"",p=/<task-notification>([\s\S]*?)<\/task-notification>/gi;let g;for(;(g=p.exec(d))!==null;){const h=g[1],m=_=>{const v=h.match(new RegExp(`<${_}>([\\s\\S]*?)<\\/${_}>`,"i"));return v?v[1].trim():null},u=h.match(/<usage>([\s\S]*?)<\/usage>/i);let f=null;if(u){const _=v=>{const x=u[1].match(new RegExp(`<${v}>([\\s\\S]*?)<\\/${v}>`,"i"));return x?x[1].trim():null};f={totalTokens:Number(_("total_tokens")||0),toolUses:Number(_("tool_uses")||0),durationMs:Number(_("duration_ms")||0)}}e.push({taskId:m("task-id"),status:m("status"),summary:m("summary"),result:m("result"),usage:f})}}const s=a.some(c=>c.type==="text"&&/<command-message>/i.test(c.text||"")),r=[];if(s)for(const c of a){if(c.type!=="text")continue;const d=(c.text||"").match(/<command-name>\s*([^<]*)<\/command-name>/i);if(d){const p=d[1].trim();r.push(p.startsWith("/")?p:`/${p}`)}}let o=a.filter(c=>c.type==="text"&&!it(c.text));for(const c of a){if(c.type!=="text"||!it(c.text))continue;const d=Lr(c.text);d&&o.push({...c,text:d})}s&&(o=o.filter(c=>!/<command-message>/i.test(c.text||"")));const l=o.filter(c=>$n(c.text));return l.length>0&&(o=o.filter(c=>!$n(c.text))),{commands:r,textBlocks:o,skillBlocks:l,teammateBlocks:i,taskNotificationBlocks:e}}function wr(a){var e;const i=a==null?void 0:a.messages;if(!Array.isArray(i))return null;for(let n=i.length-1;n>=0;n--){const s=i[n].content;if(Array.isArray(s))for(const r of s){if(r.type!=="tool_result")continue;const o=Array.isArray(r.content)?r.content:[r];for(const l of o){const c=l.text||(typeof l.content=="string"?l.content:"");if(!(!c||!c.includes('"sender"')))try{const d=JSON.parse(c);if((e=d==null?void 0:d.routing)!=null&&e.sender)return d.routing.sender}catch{}}}}return null}const Ht=new Map;let wn=0,_s=null;const bs=60,ks=/<teammate-message[^>]*>/;function Sr(a){var s;const i=(s=a.body)==null?void 0:s.messages;if(!Array.isArray(i)||i.length===0)return"";const n=i[0].content;if(typeof n=="string"){const r=ks.exec(n);return r?n.slice(r.index+r[0].length).trimStart():""}if(Array.isArray(n))for(const r of n){if(r.type!=="text"||!r.text)continue;const o=ks.exec(r.text);if(o)return r.text.slice(o.index+o[0].length).trimStart()}return""}function Tr(a){var s;const i=(s=a.body)==null?void 0:s.messages;if(!Array.isArray(i)||i.length===0)return"";const n=i[0].content;if(typeof n=="string")return n.trimStart();if(Array.isArray(n)){for(const r of n)if(r.type==="text"&&r.text)return r.text.trimStart()}return""}function vs(a){var e,n,s;if(!Array.isArray(a)||a.length===0)return;const i=((e=a[0])==null?void 0:e.timestamp)||null;i!==_s&&(Ht.clear(),wn=0,_s=i);for(let r=wn;r<a.length;r++){const o=a[r];if(!o.mainAgent)continue;const l=(s=(n=o.response)==null?void 0:n.body)==null?void 0:s.content;if(Array.isArray(l))for(const c of l){if(c.type!=="tool_use"||c.name!=="Agent")continue;const d=c.input;if(!d||!d.name||!d.prompt)continue;const p=d.prompt.trimStart().slice(0,bs);p&&Ht.set(p,d.name)}}if(wn=a.length,Ht.size!==0)for(const r of a){if(r.teammate||!Un(r)&&!ta.test(xt(r.body||{})))continue;let o=Sr(r);if(!o&&Un(r)&&(o=Tr(r)),!o)continue;const l=o.slice(0,bs),c=Ht.get(l);c&&(r.teammate=c,r._cachedTeammateName===null&&(r._cachedTeammateName=c))}}function Cr(a){let i=-1,e=0,n=null;return{process(s,r,o){var p,g,h;if(!a(s)||!s.body||!Array.isArray(s.body.messages)||s.body.messages.length===0)return s;const l=s.body.messages.length,c=((p=s.body.metadata)==null?void 0:p.user_id)||null,d=e>0&&(l<e*.5&&e-l>4||n&&c&&c!==n);if(d&&l<=4&&e>4)return s;if(d)return i=o,e=l,n=c,s;if(i>=0&&i<r.length){const m=r[i];if(((h=(g=m.body)==null?void 0:g.messages)==null?void 0:h.length)>0){const u=m.body.messages.length,f=m._prevMsgCount||0,_=[];for(let v=f;v<u;v++)_.push(v);m._messageCount=u,m._messagesIndex=_,m._slimmed=!0,m.body.messages=[]}}return s._prevMsgCount=e,i=o,e=l,n=c,s},finalize(s){var d,p,g,h,m,u;let r=[],o=-1,l=0,c=null;for(let f=0;f<s.length;f++){const _=s[f],v=_._slimmed,x=((p=(d=_.body)==null?void 0:d.messages)==null?void 0:p.length)>0;if(!v&&!x||!v&&!a(_))continue;const k=_._messageCount||((h=(g=_.body)==null?void 0:g.messages)==null?void 0:h.length)||0,C=((u=(m=_.body)==null?void 0:m.metadata)==null?void 0:u.user_id)||null,P=l>0&&(k<l*.5&&l-k>4||c&&C&&C!==c);if(!(P&&k<=4&&l>10)){if(P){for(const j of r)s[j]._fullEntryIndex=o;r=[],o=-1,l=0}v&&r.push(f),(x||!v)&&(o=f),l=k,c=C}}for(const f of r)s[f]._fullEntryIndex=o}}}function Ye(a,i){var n;if(!a._slimmed||a._fullEntryIndex==null)return a;const e=i[a._fullEntryIndex];return!((n=e==null?void 0:e.body)!=null&&n.messages)||e.body.messages.length<a._messageCount?a:{...a,_slimmed:!1,_fullEntryIndex:void 0,body:{...a.body,messages:e.body.messages.slice(0,a._messageCount),system:e.body.system}}}function Er(a){let i=-1,e=0,n=null;const s=new Set;return{processEntry(r,o,l){var g,h,m,u,f;if(!a(r)||!((h=(g=r.body)==null?void 0:g.messages)!=null&&h.length))return r;const c=r.body.messages.length,d=((m=r.body.metadata)==null?void 0:m.user_id)||null,p=e>0&&(c<e*.5&&e-c>4||n&&d&&d!==n);if(p&&c<=4&&e>4)return r;if(p)return s.clear(),i=l,e=c,n=d,r;if(i>=0&&i<o.length){const _=o[i];if(((f=(u=_.body)==null?void 0:u.messages)==null?void 0:f.length)>0){const v={..._,body:{..._.body},_messageCount:_.body.messages.length,_slimmed:!0,_fullEntryIndex:l};v.body.messages=[],o[i]=v,s.add(i)}}for(const _ of s)o[_]._fullEntryIndex!==l&&(o[_]={...o[_],_fullEntryIndex:l});return r._prevMsgCount=e,i=l,e=c,n=d,r},onDedup(r){s.delete(r)}}}const Ar=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="200" height="200" overflow="visible"><style><![CDATA[.logo{will-change:d;shape-rendering:geometricPrecision;fill:#D97757;animation:logoWave 3.2s linear infinite;}@keyframes logoWave{8.33%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L404 502 L396 495 L273 418 L143 326 L81 280 L43 257 L20 226 L12 180 L51 141 L104 141 L150 180 L250 257 L381 349 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}16.67%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L392 365 L384 350 L315 227 L238 97 L207 51 L200 20 L238 -34 L261 -42 L315 -34 L338 -19 L369 51 L422 166 L499 319 L522 365 L530 412 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}25%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L525 429 L525 383 L533 298 L548 191 L564 52 L572 14 L595 -32 L633 -55 L664 -40 L687 -1 L687 22 L648 106 L625 252 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}33.33%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L591 349 L607 333 L660 264 L745 157 L783 118 L829 72 L860 49 L914 49 L952 111 L937 172 L876 241 L829 303 L768 387 L722 456 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}41.67%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L721 445 L867 415 L943 399 L1036 384 L1082 407 L1089 430 L1074 468 L974 492 L859 515 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}50%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L762 547 L877 547 L1031 554 L1069 577 L1100 623 L1092 646 L1031 677 L947 662 L755 616 L685 600 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}58.33%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L679 593 L733 646 L833 739 L963 861 L971 892 L956 915 L940 915 L825 831 L779 792 L679 708 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}66.67%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L682 707 L705 737 L828 914 L836 968 L828 983 L797 991 L767 983 L698 883 L621 783 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}75%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L568 696 L537 1064 L522 1080 L483 1095 L452 1072 L437 1034 L452 957 L476 857 L491 780 L506 680 L514 650 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}83.33%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L441 756 L326 910 L241 1002 L218 1010 L180 995 L180 964 L203 933 L326 780 L403 680 L449 618 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}91.67%{d:path('M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L137 828 L76 844 L52 820 L52 782 L68 767 L160 698 Z');}0%,100%{d:path('M198 678 L397 563 L403 550 L211 554 L96 547 L-27 539 L-50 531 L-81 500 L-81 485 L-58 470 L-19 470 L58 477 L173 485 L257 493 L380 508 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z');}}@media (prefers-reduced-motion:reduce){.logo{animation:none;}}]]></style><path class="logo" d="M198 678 L397 563 L403 550 L243 550 L147 544 L45 538 L26 531 L0 506 L0 493 L19 480 L51 480 L115 486 L211 493 L282 499 L384 512 L403 512 L403 493 L397 486 L294 422 L186 346 L134 307 L102 288 L83 262 L77 224 L109 192 L154 192 L192 224 L275 288 L384 365 L397 378 L403 371 L397 358 L339 256 L275 147 L250 109 L243 83 L275 38 L294 32 L339 38 L358 51 L384 109 L429 205 L493 333 L512 371 L518 410 L525 422 L531 422 L531 384 L538 314 L550 224 L563 109 L570 77 L589 38 L621 19 L646 32 L666 64 L666 83 L634 154 L614 275 L595 358 L602 358 L614 346 L659 288 L730 198 L762 166 L800 128 L826 109 L870 109 L902 160 L890 211 L838 269 L800 320 L749 390 L710 448 L710 454 L717 454 L838 429 L902 416 L979 403 L1018 422 L1024 442 L1011 474 L928 493 L832 512 L685 544 L749 550 L845 550 L973 557 L1005 576 L1030 614 L1024 634 L973 659 L902 646 L742 608 L685 595 L678 595 L678 602 L723 646 L806 723 L915 826 L922 851 L909 870 L896 870 L800 800 L762 768 L678 698 L672 698 L672 704 L691 730 L794 877 L800 922 L794 934 L768 941 L742 934 L685 851 L621 768 L570 685 L563 691 L538 998 L525 1011 L493 1024 L467 1005 L454 973 L467 909 L486 826 L499 762 L512 678 L518 653 L512 653 L448 736 L352 864 L282 941 L262 947 L230 934 L230 909 L250 883 L352 755 L416 672 L454 621 L454 614 L186 787 L134 800 L115 781 L115 749 L128 736 L205 678 Z"/></svg>`,Nr=[{match:/\[1m\]/i,tokens:1e6},{match:/opus/i,tokens:1e6},{match:/claude/i,tokens:2e5},{match:/gpt-4o|o1|o3|o4/i,tokens:128e3},{match:/gpt-4/i,tokens:128e3},{match:/gpt-3/i,tokens:16e3},{match:/deepseek/i,tokens:128e3}];function na(a){if(!a)return 2e5;for(const i of Nr)if(i.match.test(a))return i.tokens;return 2e5}function sa(a,i,e,n){var s,r;for(let o=e;o<i.length;o++){const l=i[o];if(Fe(l)){if(n){const c=(r=(s=l.response)==null?void 0:s.body)==null?void 0:r.usage;if(c){const d=c.cache_creation_input_tokens||0,p=c.cache_read_input_tokens||0;if(d>0&&d>p){const g=n._slimmed?Ye(n,i):n,h=jr(g,l);h&&a.set(o,h)}}}n=l}}return n}function Rr(a){const i=new Map;return sa(i,a,0,null),i}const ys=new WeakMap;function Gt(a,i){let e=ys.get(a);if(e||(e={},ys.set(a,e)),e[i]===void 0){const n=Ot(a.body);e[i]=JSON.stringify(n==null?void 0:n[i])}return e[i]}function jr(a,i){if(i.timestamp-a.timestamp>300*1e3)return{reason:"ttl",reasons:["ttl"]};const n=Ot(a.body),s=Ot(i.body);if(!n||!s)return{reason:"key_change",reasons:["key_change"]};const r=[];n.model!==s.model&&r.push("model_change");const o=Gt(a,"system"),l=Gt(i,"system");o!==l&&r.push("system_change");const c=Gt(a,"tools"),d=Gt(i,"tools");c!==d&&r.push("tools_change");const p=n.messages||[],g=s.messages||[];if(g.length<p.length)r.push("msg_truncated");else{const h=Math.min(p.length,g.length);let m=!0;for(let u=0;u<h;u++)if(JSON.stringify(p[u])!==JSON.stringify(g[u])){m=!1;break}m||r.push("msg_modified")}return r.length===0&&r.push("key_change"),{reason:r[0],reasons:r}}function Hn(a){return a?a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""):""}function aa(a){return a.content?typeof a.content=="string"?a.content:Array.isArray(a.content)?a.content.filter(i=>i.type==="text").map(i=>i.text).join(`
|
|
345
|
-
`):JSON.stringify(a.content):String(a.content??"")}const zr=[{match:/claude/i,name:"Claude",color:"var(--bg-model-avatar)",svg:'<svg t="1771495509570" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1570" width="200" height="200"><path d="M198.4 678.4l198.4-115.2 6.4-12.8H243.2l-96-6.4-102.4-6.4-19.2-6.4-25.6-25.6v-12.8l19.2-12.8h32l64 6.4 96 6.4 70.4 6.4L384 512h19.2V492.8l-6.4-6.4-102.4-64-108.8-76.8-51.2-38.4-32-19.2-19.2-25.6-6.4-38.4 32-32h44.8l38.4 32 83.2 64L384 364.8l12.8 12.8 6.4-6.4-6.4-12.8L339.2 256l-64-108.8-25.6-38.4-6.4-25.6c0-12.8-6.4-19.2-6.4-32l32-44.8 19.2-6.4 44.8 6.4 19.2 12.8 25.6 57.6 44.8 96 64 128 19.2 38.4 6.4 38.4 6.4 12.8h6.4V384l6.4-70.4 12.8-89.6 12.8-115.2 6.4-32 19.2-38.4 32-19.2 25.6 12.8 19.2 32v19.2l-32 70.4-19.2 121.6-19.2 83.2h6.4l12.8-12.8 44.8-57.6 70.4-89.6 32-32 38.4-38.4 25.6-19.2h44.8l32 51.2-12.8 51.2-51.2 57.6-38.4 51.2-51.2 70.4-38.4 57.6v6.4h6.4l121.6-25.6 64-12.8 76.8-12.8 38.4 19.2 6.4 19.2-12.8 32-83.2 19.2-96 19.2-147.2 32 64 6.4h96l128 6.4 32 19.2 25.6 38.4-6.4 19.2-51.2 25.6-70.4-12.8-160-38.4-57.6-12.8h-6.4v6.4l44.8 44.8 83.2 76.8 108.8 102.4 6.4 25.6-12.8 19.2h-12.8l-96-70.4-38.4-32-83.2-70.4h-6.4v6.4l19.2 25.6 102.4 147.2 6.4 44.8-6.4 12.8-25.6 6.4-25.6-6.4-57.6-83.2-64-83.2-51.2-83.2-6.4 6.4-25.6 307.2-12.8 12.8-32 12.8-25.6-19.2-12.8-32 12.8-64 19.2-83.2 12.8-64 12.8-83.2 6.4-25.6h-6.4l-64 83.2-96 128-70.4 76.8-19.2 6.4-32-12.8v-25.6l19.2-25.6 102.4-128 64-83.2 38.4-51.2v-6.4l-268.8 172.8-51.2 12.8-19.2-19.2v-32l12.8-12.8 76.8-57.6z m0 0" fill="#D97757" p-id="1571"></path></svg>',svgAnimated:Ar},{match:/gpt|o1|o3|o4/i,name:"OpenAI",color:"var(--bg-model-avatar)",svg:'<svg t="1771495569354" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2752" width="200" height="200"><path d="M565.265178 954.519092c-22.289934 0-48.400999-8.151747-67.952455-14.838727a103.425292 103.425292 0 0 1-26.875292-11.272338c-12.737105-7.769634-15.411897-8.342804-19.806198-24.773669 21.971506-5.158528 81.581157-41.905075 103.871091-55.342721 148.896757-89.159735 119.028246-10.444426 119.028246-364.981743 15.029784 3.566389 82.791182 32.415932 82.791182 57.316972 0 133.102747 20.570425 273.847757-52.604243 354.91943-22.799418 25.47421-91.834527 58.972796-138.388646 58.972796z m-433.061569-299.321966c258.626916 136.860193 184.369594 157.048504 357.721593 52.094759 44.579867-27.193719 90.433445-49.292596 132.593263-77.568969v101.896839c-95.528287 22.226248-272.319304 227.038896-419.050754 100.686815l-25.856323-25.155782c-37.319718-43.943012-45.344094-72.410442-45.344094-151.889977z m375.744596-19.105658c-19.933569-13.310275-79.479535-51.330533-101.896839-57.316972v-133.739602a1158.312326 1158.312326 0 0 0 101.896839-57.316973c43.943012 10.189684 70.690933 47.063603 114.633945 57.316973v127.371049c-17.831947 12.10025-95.846715 58.718054-114.633945 63.749211z m-426.693016-178.31947c0-63.685525-4.26693-90.306074 38.84817-145.776166 23.945757-30.88748 47.509402-39.612396 82.090641-57.953828v261.110652c44.134069 23.372588 83.873836 49.037854 129.345301 74.448379l131.765351 78.396881c-59.545966 15.921381-63.685525 61.32916-109.602788 33.753328-104.699003-62.730242-272.38299-129.345301-272.38299-243.91556z m866.123138 127.37105c0 79.543221-47.573087 161.188063-121.002497 178.31947v-165.582365c0-82.791182 9.743885-84.574377-48.910483-116.608196L565.265178 362.371082c15.79401-23.62733 22.608361-19.105657 48.146256-34.835982 41.714019-25.47421 39.039227-16.112438 117.053995 28.785857 94.190891 54.196382 216.849212 100.559444 216.849212 228.885777z m-541.326961-197.425127v-95.528287c43.751956-23.181531 90.688187-50.94842 133.357489-76.804743 82.154327-49.547338 95.528287-63.303412 185.006449-63.303412 48.464684 0 102.533695 36.746548 125.651541 65.405034 42.223503 52.22213 39.930824 92.662439 39.930824 151.125751-31.078536-16.494551-192.393971-121.002497-222.899337-121.002498s-229.650003 123.422547-261.110652 140.108155z m-50.94842 159.213812c-16.36718-10.95391-63.112355-39.99451-82.791183-44.579867 0-168.320842-33.880699-314.606493 67.952455-390.519639 56.043262-41.714019 113.169178-53.814269 181.376375-30.696423 25.47421 8.661231 35.536523 20.888852 56.36169 26.429493-11.781822 16.048752-80.68956 50.311565-102.278953 63.303412-154.564769 93.235608-120.620384 7.451206-120.620384 376.063024z m-292.953415 121.002498c0 169.148754 115.143429 280.853165 274.293556 273.847756 59.800708-2.674792 26.811606-7.705949 69.417222 25.47421 97.820966 76.741057 228.822091 73.747838 319.637649 1.018969a251.939936 251.939936 0 0 0 52.604244-55.661149c58.20857-85.274918-10.95391-45.598836 81.96327-83.619094 130.236898-53.241099 199.399378-217.358696 128.64476-355.428914-27.448461-53.559526-40.249252-28.849543-28.276373-104.699003 18.723544-118.582447-63.176041-230.032116-157.621674-269.771884-98.90362-41.586648-129.090559 12.737105-178.892639-37.574459A161.888604 161.888604 0 0 0 580.103905 28.913674C474.003821-27.766443 331.284559 1.528898 258.428319 93.681853c-81.326415 102.979494 9.489143 54.705866-92.407697 98.648878C15.149614 257.353652-33.251385 439.175825 41.579107 561.06992c56.807488 92.598753 20.570425 4.967471 20.570424 106.800625z" fill="#EFA474" p-id="2753"></path></svg>'},{match:/gemini/i,name:"Gemini",color:"var(--bg-model-avatar)",svg:'<svg t="1771495622863" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4556" width="200" height="200"><path d="M960 512.896A477.248 477.248 0 0 0 512.896 960h-1.792A477.184 477.184 0 0 0 64 512.896v-1.792A477.184 477.184 0 0 0 511.104 64h1.792A477.248 477.248 0 0 0 960 511.104z" fill="#448AFF" p-id="4557"></path></svg>'},{match:/qwen/i,name:"Qwen",color:"var(--bg-model-avatar)",svg:'<svg t="1771495640319" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5634" width="200" height="200"><path d="M537.782857 57.161143c16.749714 29.44 33.426286 58.953143 50.102857 88.502857a7.68 7.68 0 0 0 6.692572 3.913143h236.873143c7.424 0 13.750857 4.681143 19.017142 13.933714l62.061715 109.677714c8.082286 14.372571 10.24 20.370286 1.024 35.693715a2262.893714 2262.893714 0 0 0-32.438857 55.478857l-15.652572 28.086857c-4.534857 8.338286-9.508571 11.922286-1.718857 21.833143l113.152 197.851428c7.314286 12.8 4.754286 21.065143-1.828571 32.841143-18.651429 33.499429-37.632 66.742857-56.978286 99.84-6.765714 11.593143-14.994286 16.018286-29.001143 15.798857a1833.398857 1833.398857 0 0 0-99.291429 0.658286 4.242286 4.242286 0 0 0-3.437714 2.157714 24571.830857 24571.830857 0 0 1-115.419428 202.24c-7.204571 12.507429-16.201143 15.469714-30.939429 15.506286-42.532571 0.146286-85.430857 0.182857-128.731429 0.109714a22.930286 22.930286 0 0 1-19.821714-11.556571l-56.978286-99.108571a3.84 3.84 0 0 0-3.547428-2.121143h-218.331429a76.288 76.288 0 0 1-34.377143-3.913143l-68.388571-118.198857a23.149714 23.149714 0 0 1-0.073143-23.04l51.492572-90.441143a8.448 8.448 0 0 0 0-8.411429 23594.496 23594.496 0 0 1-80.018286-139.593143L47.542857 425.325714c-6.838857-13.202286-7.387429-21.138286 4.022857-41.179428 19.858286-34.669714 39.570286-69.302857 59.209143-103.936 5.632-9.984 12.946286-14.262857 24.905143-14.262857 36.827429-0.182857 73.654857-0.182857 110.445714-0.073143 1.901714 0 3.657143-1.024 4.571429-2.669715l119.734857-208.859428a20.845714 20.845714 0 0 1 17.993143-10.496c22.381714-0.036571 44.946286 0 67.547428-0.256l43.410286-0.987429c14.555429-0.109714 30.866286 1.389714 38.4 14.518857z m-146.432 17.188571a2.56 2.56 0 0 0-2.194286 1.28l-122.331428 213.942857a6.692571 6.692571 0 0 1-5.741714 3.364572H138.788571c-2.377143 0-2.962286 1.060571-1.755428 3.145143l247.917714 433.334857c1.060571 1.792 0.548571 2.633143-1.462857 2.669714l-119.222857 0.658286a9.289143 9.289143 0 0 0-8.557714 4.937143l-56.32 98.56c-1.865143 3.328-0.914286 5.046857 2.925714 5.046857l243.858286 0.365714c1.974857 0 3.401143 0.841143 4.425142 2.56l59.867429 104.704c1.974857 3.474286 3.913143 3.510857 5.924571 0l213.577143-373.76 33.426286-58.953143a2.340571 2.340571 0 0 1 4.096 0l60.745143 107.958857a5.193143 5.193143 0 0 0 4.571428 2.633143l117.906286-0.841143a1.718857 1.718857 0 0 0 1.462857-2.56l-123.721143-217.014857a4.608 4.608 0 0 1 0-4.827428l12.507429-21.613715 47.798857-84.370285c1.024-1.755429 0.512-2.633143-1.499428-2.633143H392.521143c-2.486857 0-3.108571-1.097143-1.828572-3.291429l61.184-106.861714a4.571429 4.571429 0 0 0 0-4.864l-58.258285-102.253714a2.56 2.56 0 0 0-2.267429-1.316572z m268.361143 342.198857c1.974857 0 2.486857 0.841143 1.462857 2.56l-35.474286 62.500572-111.542857 195.620571a2.377143 2.377143 0 0 1-2.121143 1.243429 2.486857 2.486857 0 0 1-2.121142-1.243429l-147.346286-257.353143c-0.841143-1.462857-0.402286-2.230857 1.206857-2.304l9.216-0.512 286.793143-0.512h-0.073143z" fill="#7D5DED" p-id="5635"></path></svg>'},{match:/kimi|moonshot/i,name:"Kimi",color:"var(--bg-model-avatar)",svg:'<svg t="1771495664798" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6649" width="200" height="200"><path d="M731.062857 590.262857v318.317714h-148.589714V443.977143a146.285714 146.285714 0 0 1-146.285714 146.285714l-214.491429-0.036571v318.354285H73.142857V165.814857h148.553143v275.858286h180.882286l119.771428-275.858286h167.753143l-67.84 156.269714a255.524571 255.524571 0 0 1-106.678857 119.588572h66.925714a148.553143 148.553143 0 0 1 148.516572 148.589714z m120.758857-473.965714a99.035429 99.035429 0 0 1 0 198.070857h-99.035428V215.332571a99.035429 99.035429 0 0 1 99.035428-99.035428z" fill="currentColor" p-id="6650"></path></svg>'},{match:/glm|chatglm/i,name:"GLM",color:"var(--bg-model-avatar)",svg:'<svg data-name="glm" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 217.2 200"> <defs> <style> .st0 { fill: currentColor; } </style> </defs> <path class="st0" d="M86.8,190.4H0L131.3,4.8h85.8L86.8,190.4h0ZM212.8,190h-107.9l14.9-21.6c2.3-3.3,6-5.2,9.9-5.2h83.1v26.8h0ZM99.4,26.3c-2.3,3.3-6,5.2-9.9,5.2H6.4V4.8h107.9l-14.9,21.6Z"/> </svg>'},{match:/minimax|abab/i,name:"MiniMax",color:"var(--bg-model-avatar)",svg:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M4 8l4-4 4 4 4-4 4 4v8l-4 4-4-4-4 4-4-4z" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/></svg>'},{match:/deepseek/i,name:"DeepSeek",color:"var(--bg-model-avatar)",svg:'<svg t="1771495947541" class="icon" viewBox="0 0 1391 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11539" width="200" height="200"><path d="M1326.70201318 112.02090779c-12.94676356-6.47485468-18.53640721 5.86654827-26.0997327 12.13814316-2.57756953 2.02376031-4.77807747 4.65435413-6.9785854 7.08168819-18.91788751 20.63528526-41.02017805 34.19182812-69.92725218 32.57311444-42.23384508-2.42733405-78.29772513 11.12773591-110.16384908 44.10589703-6.77679853-40.66668282-29.28560862-64.94444203-63.55255448-80.52327231-17.95608583-8.09209545-36.06388005-16.1856638-48.63358202-33.78825438-8.74900746-12.5431898-11.12773591-26.50330641-15.52727888-40.26016327-2.7823022-8.29535522-5.56460442-16.79249731-14.92044538-18.20942411-10.19244639-1.61871367-14.16337637 7.08168818-18.15934561 14.36516325-15.93232553 29.74073376-22.12880269 62.51710799-21.49692994 95.69705596 1.36684831 74.65672404 32.27117059 134.13819156 93.62469006 176.42358804 6.9800583 4.8546681 8.77551959 9.71080912 6.57501165 16.79102439-4.17271686 14.56695011-9.18056624 28.7303265-13.55506995 43.29727663-2.78377509 9.30723537-6.95501906 11.32952278-16.74241882 7.28347507-33.66158524-14.36516325-62.745407-35.60875491-88.46513227-61.30196806-43.62425973-43.09548975-83.0772755-90.64060097-132.26613965-127.86659667a581.67054343 581.67054343 0 0 0-35.07703915-24.48101901c-50.20074429-49.77065841 6.57501167-90.63912807 19.72650789-95.49526908 13.73181759-5.05792788 4.77955037-22.4572587-39.65480265-22.25547181s-85.07599655 15.3770434-136.87041526 35.60875491c-7.58541892 3.03416756-15.55379103 5.25971475-23.69596499 7.08168819-47.03990759-9.10544849-95.84876434-11.12773591-146.8596019-5.26118765-96.02551195 10.92594905-172.73103555 57.25739323-229.12678412 136.36373875-67.72674425 95.09022244-83.68558192 203.13015422-64.13582165 315.82149435 20.48504978 118.76262107 79.88992666 217.09027084 171.13736114 293.97106918 94.6350973 79.71317902 203.61031862 118.76262107 327.93607117 111.27735913 75.51542292-4.45256725 159.57953934-14.77020989 254.41642354-96.71040901 23.92426399 12.13961607 49.03715574 16.99575708 90.66564019 20.63675815 32.09295007 3.03416756 62.97223311-1.61871367 86.87145788-6.67664152 37.45429471-8.09209545 34.84874013-43.49906349 21.31870939-49.97244528-109.7838417-52.19946535-85.68283009-30.95587367-107.58333373-48.15194474 55.78891504-67.37324899 139.85303146-137.3770918 172.73103555-364.17669887 2.60408167-18.00616433 0.40357375-29.33568711 0-43.90263724-0.20325977-8.90218873 1.76894914-12.34287584 11.75960867-13.35328309 27.49014733-3.23742733 54.19671351-10.92594905 78.70277179-24.68280588 71.11440706-39.65480265 99.81822142-104.80250446 106.59649284-182.89844271 1.01188015-11.9363563-0.20178686-24.27775924-12.56970195-30.54935413M706.87018452 814.87993343c-106.36966673-85.37941333-157.98733782-113.5014334-179.30604722-112.28776638-19.92829476 1.21366703-16.33737217 24.48101902-11.96286844 39.65480264 4.5777635 14.97199677 10.57098089 25.2896394 18.94145384 38.44113563 5.76786417 8.70040186 9.76383341 21.64863831-5.78995762 31.35944742-34.26841876 21.64863831-93.82647692-7.28347506-96.60730623-8.69892897-69.3454579-41.67856295-127.33635378-96.710409-168.1797842-171.97249368-39.45154288-72.43117687-62.33888747-150.1220685-66.13306983-233.07267483-1.01188015-20.02992464 4.77955037-27.11161282 24.27923214-30.75408682a235.19659216 235.19659216 0 0 1 77.91771774-2.02228741c108.59668681 16.18713669 201.05631542 65.75453531 278.54394728 144.25552022 44.23256614 44.71125762 77.69089163 98.12439001 112.1861365 150.32385536 36.64567431 55.43394691 76.0986901 108.24024576 126.29943438 151.53604947 17.72778682 15.17378365 31.86465106 26.7065662 45.41972102 35.20370829-40.84343042 4.65435413-108.99878765 5.66476139-155.60860936-31.96628094m51.00936468-334.83953883c0-8.90218873 6.9815312-15.98387693 15.75557791-15.98387693q2.98408908 0.05155138 5.36134463 1.01188017a15.85720779 15.85720779 0 0 1 10.16740714 14.97199676 15.78061715 15.78061715 0 0 1-15.73053865 15.98387691 15.60386953 15.60386953 0 0 1-15.55379103-15.98387691m158.39238446 82.95060635c-10.1423679 4.24930749-20.30830215 7.89178146-30.09570191 8.29535522-15.12370514 0.81009328-31.66286419-5.46150162-40.61513142-13.15002332-13.96011661-11.93782919-23.92573689-18.61447073-28.09845373-39.45301577-1.79546129-8.90218873-0.81009328-22.65904557 0.78505403-30.54935414 3.59092258-16.99575708-0.40504665-27.92023321-12.13961606-37.8343021-9.55910075-8.09356835-21.72522894-10.31911553-35.07703915-10.31911552-4.98281013 0-9.55910075-2.22407429-12.94823645-4.04604774a13.27669246 13.27669246 0 0 1-5.76639128-18.61299783c1.39041466-2.8323807 8.16868608-9.71228202 9.7623605-10.92594905 18.13136058-10.52090241 39.04649623-7.08021529 58.36795748 0.81009328 17.93104659 7.48526194 31.46107731 21.24359167 51.01083757 40.6666828 19.92829476 23.46913885 23.51921733 29.94399353 34.84874013 47.54511123 8.97877936 13.75685685 17.14746545 27.92023321 22.71206987 44.10442409 3.41270206 10.11732865-0.98684091 18.41121097-12.74644958 23.46913885" fill="#4D6BFE" p-id="11540"></path></svg>'}],xs=new Map;function _t(a){if(!a)return null;const i=xs.get(a);if(i)return i;let e=null;for(const n of zr)if(n.match.test(a)){e={name:a.replace(/^claude-/,"").replace(/-\d{8,}$/,""),provider:n.name,color:n.color,svg:n.svg,svgAnimated:n.svgAnimated||null};break}return e||(e={name:a,provider:a,color:"var(--bg-model-avatar)",svg:null}),xs.set(a,e),e}const Ir={Claude:3,OpenAI:3,Gemini:5,DeepSeek:5,Qwen:5,GLM:10,Kimi:10,MiniMax:10},Pr=10;function Ls(a){const i=_t(a);return i&&Ir[i.provider]||Pr}function sn(a){return a==="user"?'<svg viewBox="0 0 24 24"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>':a==="agent"?'<svg viewBox="0 0 24 24"><path d="M12 2a2 2 0 012 2c0 .74-.4 1.39-1 1.73V7h1a7 7 0 017 7h1a1 1 0 011 1v3a1 1 0 01-1 1h-1.17A7 7 0 0113 22h-2a7 7 0 01-6.83-3H3a1 1 0 01-1-1v-3a1 1 0 011-1h1a7 7 0 017-7h1V5.73c-.6-.34-1-.99-1-1.73a2 2 0 012-2zM9.5 13a1.5 1.5 0 100 3 1.5 1.5 0 000-3zm5 0a1.5 1.5 0 100 3 1.5 1.5 0 000-3z"/></svg>':a==="sub-search"||a==="sub-explore"?'<svg viewBox="0 0 1024 1024"><path d="M128.957606 76.608479v495.401496c0 20.428928-17.875312 38.304239-38.304239 38.304239S52.349127 592.438903 52.349127 572.009975V38.304239c0-20.428928 17.875312-38.304239 38.30424-38.304239h426.453865c20.428928 0 38.304239 17.875312 38.304239 38.304239s-17.875312 38.304239-38.304239 38.30424H128.957606z m127.680798 127.680798v495.401496c0 20.428928-17.875312 38.304239-38.304239 38.304239S180.029925 720.119701 180.029925 699.690773V165.985037c0-20.428928 17.875312-38.304239 38.30424-38.304239h426.453865c20.428928 0 38.304239 17.875312 38.304239 38.304239s-17.875312 38.304239-38.304239 38.30424H256.638404z m579.670823 291.112219v-150.663341H399.640898v515.830424h76.608479c0 38.304239 30.643392 68.947631 43.411471 89.376558h-145.55611c-33.197007 0-61.286783-28.089776-61.286783-63.840399V321.755611c0-35.750623 28.089776-63.840399 61.286783-63.840399h490.294264c33.197007 0 61.286783 28.089776 61.286784 63.840399V564.349127c-20.428928-22.982544-58.733167-56.179551-89.376559-68.947631zM486.46384 411.13217h255.361596c15.321696 0 25.53616 10.214464 25.53616 25.536159s-10.214464 25.53616-25.53616 25.53616H486.46384c-15.321696 0-25.53616-10.214464-25.536159-25.53616s10.214464-25.53616 25.536159-25.536159z m0 102.144638h102.144639c15.321696 0 25.53616 10.214464 25.536159 25.53616s-10.214464 25.53616-25.536159 25.536159h-102.144639c-15.321696 0-25.53616-10.214464-25.536159-25.536159s10.214464-25.53616 25.536159-25.53616z m503.062345 492.84788c-2.553616 2.553616-7.660848 10.214464-12.76808 10.214464-10.214464 10.214464-35.750623 10.214464-45.965088 0l-81.71571-71.501247c-28.089776 17.875312-63.840399 28.089776-99.591023 28.089776-102.144638 0-186.413965-84.269327-186.413965-186.413965s84.269327-186.413965 186.413965-186.413965 186.413965 84.269327 186.413965 186.413965c0 38.304239-10.214464 71.501247-30.643391 99.591022l81.715711 71.501247c12.76808 12.76808 12.76808 35.750623 2.553616 48.518703z m-240.039901-324.309227c-58.733167 0-104.698254 48.518703-104.698254 104.698255 0 58.733167 48.518703 104.698254 104.698254 104.698254s104.698254-48.518703 104.698255-104.698254c2.553616-58.733167-45.965087-104.698254-104.698255-104.698255z" fill="currentColor"/></svg>':a==="sub-plan"?'<svg viewBox="0 0 1024 1024"><path d="M674.507676 598.338391 287.079856 598.338391c-14.136975 0-25.638937 11.499915-25.638937 25.63689 0 14.137998 11.501962 25.640983 25.638937 25.640983l387.42782 0c14.137998 0 25.640983-11.501962 25.640983-25.640983C700.148659 609.838306 688.646698 598.338391 674.507676 598.338391zM794.746154 384.583029c-14.137998 0-25.640983 11.501962-25.640983 25.63996l0 494.299873c0 0.130983 0 0.280386-0.001023 0.433882-0.899486 0.279363-2.665713 0.644683-5.764284 0.644683L200.047664 905.601426c-4.312212 0-7.564279-2.971681-7.564279-6.913457L192.483384 191.851493c0-4.493338 0.974188-8.28878 1.811252-9.821693l373.337917 0c14.136975 0 25.63996-11.501962 25.63996-25.63996 0-14.136975-11.501962-25.638937-25.63996-25.638937l-374.069581 0c-30.336936 0-52.357462 25.696242-52.357462 61.099566l0 706.836477c0 32.086789 26.396183 58.19133 58.84113 58.19133l563.293223 0c34.119075 0 57.042157-21.041222 57.042157-52.356438L820.382021 410.224012C820.383044 396.086014 808.883129 384.583029 794.746154 384.583029zM674.507676 745.295394 287.079856 745.295394c-14.136975 0-25.638937 11.499915-25.638937 25.63689 0 14.137998 11.501962 25.640983 25.638937 25.640983l387.42782 0c14.137998 0 25.640983-11.501962 25.640983-25.640983C700.148659 756.795309 688.646698 745.295394 674.507676 745.295394zM879.595634 157.107177c-3.77293-14.409175-12.871145-28.250414-24.964578-37.975916l-43.827181-35.240619c-12.880355-10.352789-29.27679-16.290011-44.986587-16.290011-16.876366 0-31.594579 6.747681-41.439808 18.995633l-19.624966 24.381293c-6.380314 7.968485-7.987928 17.577331-5.222955 26.916023l-114.241904 142.063553-2.486634 3.090385-22.812565 85.303828c-9.749038 30.859845 4.449335 48.075949 13.806447 55.608505 6.783497 5.450129 14.468526 8.728802 22.851451 9.754155 0.984421 0.246617 2.125407 0.488117 3.440355 0.632403 1.003863 0.110517 2.053776 0.167822 3.118014 0.167822l0.014326 0c4.588505 0 10.047844-0.9967 17.180288-3.13541l2.877537-1.065262 83.402525-41.897226 119.874181-149.07934c0.440022 0.017396 0.880043 0.032746 1.320065 0.032746 9.218966 0 17.411555-3.862981 23.077601-10.892071l19.562545-24.342408C880.924909 191.1976 884.15037 174.495196 879.595634 157.107177zM674.469813 348.564697l-56.738235 28.537963c-2.958378 0.579191-5.734608 1.684362-8.277524 3.296069-0.313132 0.198521-0.615007 0.385786-0.905626 0.562818 0.12382-0.318248 0.25378-0.639566 0.39295-0.971118 0.99977-2.437515 1.588171-5.022387 1.753947-7.702426l17.732873-66.078974 105.73209-131.488707 48.647977 39.113833L674.469813 348.564697zM831.385633 172.919305l-7.679913 9.550517-68.139913-54.779627 7.687076-9.56382c0.291642-0.132006 1.144056-0.38374 2.604314-0.38374 4.28356 0 9.735735 2.071172 13.570063 5.15644l43.832298 35.245735c3.493567 2.805906 6.421246 7.018857 7.642051 10.993378C831.497173 171.081447 831.492056 172.446537 831.385633 172.919305zM487.474932 291.067168l-200.394053 0c-14.136975 0-25.638937 11.501962-25.638937 25.63996 0 14.136975 11.501962 25.637913 25.638937 25.637913l200.394053 0c14.137998 0 25.63996-11.500938 25.63996-25.637913C513.114892 302.56913 501.611907 291.067168 487.474932 291.067168zM674.507676 438.023148 287.079856 438.023148c-14.136975 0-25.638937 11.500938-25.638937 25.638937s11.501962 25.638937 25.638937 25.638937l387.42782 0c14.137998 0 25.640983-11.501962 25.640983-25.638937S688.646698 438.023148 674.507676 438.023148z" fill="currentColor"/></svg>':a==="teammate"?'<svg viewBox="0 0 24 24"><path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z" fill="currentColor"/></svg>':'<svg viewBox="0 0 1024 1024"><path d="M810.666667 384l53.333333-117.333333L981.333333 213.333333l-117.333333-53.333333L810.666667 42.666667l-53.333334 117.333333L640 213.333333l117.333333 53.333334L810.666667 384zM810.666667 640l-53.333334 117.333333L640 810.666667l117.333333 53.333333L810.666667 981.333333l53.333333-117.333333L981.333333 810.666667l-117.333333-53.333334L810.666667 640zM490.666667 405.333333L384 170.666667 277.333333 405.333333 42.666667 512l234.666666 106.666667L384 853.333333l106.666667-234.666666L725.333333 512l-234.666666-106.666667z m-64.426667 148.906667L384 647.253333l-42.24-93.013333L248.746667 512l93.013333-42.24L384 376.746667l42.24 93.013333 93.013333 42.24-93.013333 42.24z" fill="currentColor"/></svg>'}function Mr(a){return a==null||a===0?"0":a>=1e6?(a/1e6).toFixed(1)+"M":a>=1e3?(a/1e3).toFixed(1)+"K":String(a)}function Ot(a){if(Array.isArray(a))return a.map(Ot);if(a&&typeof a=="object"){const i={};for(const e of Object.keys(a))e.startsWith("_")||(i[e]=Ot(a[e]));return i}return a}function Ay(a){var e,n,s;const i={};for(const r of a){const o=(n=(e=r.response)==null?void 0:e.body)==null?void 0:n.usage;if(!o)continue;const l=((s=r.body)==null?void 0:s.model)||"unknown";i[l]||(i[l]={input:0,output:0,cacheCreation:0,cacheRead:0});const c=i[l];c.input+=o.input_tokens||0,c.output+=o.output_tokens||0,c.cacheCreation+=o.cache_creation_input_tokens||0,c.cacheRead+=o.cache_read_input_tokens||0}return i}function Ny(a){var n,s,r;const i={ttl:{count:0,cacheCreate:0},system_change:{count:0,cacheCreate:0},tools_change:{count:0,cacheCreate:0},model_change:{count:0,cacheCreate:0},msg_truncated:{count:0,cacheCreate:0},msg_modified:{count:0,cacheCreate:0},key_change:{count:0,cacheCreate:0}},e=Rr(a);for(const[o,l]of e){const c=((r=(s=(n=a[o].response)==null?void 0:n.body)==null?void 0:s.usage)==null?void 0:r.cache_creation_input_tokens)||0,d=l.reasons||[l.reason];for(const p of d)i[p]&&(i[p].count++,i[p].cacheCreate+=c)}return i}function Ry(a){var e,n;const i={};for(const s of a){const r=(n=(e=s.response)==null?void 0:e.body)==null?void 0:n.content;if(Array.isArray(r))for(const o of r)o.type==="tool_use"&&o.name&&(i[o.name]=(i[o.name]||0)+1)}return Object.entries(i).sort((s,r)=>r[1]-s[1])}function jy(a){var e;const i={};for(const n of a){const s=(e=n.body)==null?void 0:e.messages;if(Array.isArray(s))for(const r of s){if(r.role!=="user")continue;const o=r.content;if(Array.isArray(o))for(const l of o){if(l.type!=="text"||!$n(l.text))continue;const c=l.text.match(/^#\s+(.+)$/m),d=c?c[1]:"Skill";i[d]=(i[d]||0)+1}}}return Object.entries(i).sort((n,s)=>s[1]-n[1])}function ws(a){return typeof a!="string"?!1:a.includes("<system-reminder>")&&a.includes("# claudeMd")}function Ss(a){return typeof a!="string"?!1:a.includes("<system-reminder>")&&a.includes("skills are available")}function zy(a){const i=a==null?void 0:a.messages;if(!Array.isArray(i))return!1;for(const e of i){const n=e==null?void 0:e.content;if(typeof n=="string"){if(ws(n))return!0}else if(Array.isArray(n)){for(const s of n)if(s.type==="text"&&ws(s.text))return!0}}return!1}function Iy(a){const i=a==null?void 0:a.messages;if(!Array.isArray(i))return!1;for(const e of i){const n=e==null?void 0:e.content;if(typeof n=="string"){if(Ss(n))return!0}else if(Array.isArray(n)){for(const s of n)if(s.type==="text"&&Ss(s.text))return!0}}return!1}function Py(a){return a?a.replace(/^claude-/,"").replace(/-\d{8,}$/,""):null}function an(a){var e,n,s;if(!a)return!1;const i=a.url||"";return!(a.isHeartbeat||a.isCountTokens||/\/api\/eval\/sdk-/.test(i)||/\/messages\/count_tokens/.test(i)||a.inProgress===!0||a.response&&a.response.status===0||((e=a.body)==null?void 0:e.max_tokens)===1&&!((n=a.body)!=null&&n.system)&&(!((s=a.body)!=null&&s.tools)||a.body.tools.length===0))}function Sn(a){return a.filter(an)}function My(a,i){for(let e=i-1;e>=0;e--)if(Fe(a[e])&&a[e].timestamp)return a[e].timestamp;return null}function Br(a){var r,o,l,c;if(!Array.isArray(a)||a.length===0)return null;let i=null;if(a.length===1)i=a[0];else{let d=null,p=null;for(let g=a.length-1;g>=0;g--)if(Fe(a[g])&&(d||(d=a[g]),(o=(r=a[g].response)==null?void 0:r.body)!=null&&o.usage)){p=a[g];break}i=p||d}if(!i||!i.body)return null;const e=i.body,n=(c=(l=i.response)==null?void 0:l.body)==null?void 0:c.usage,s={system:[],messages:[],tools:[],cacheCreateTokens:(n==null?void 0:n.cache_creation_input_tokens)||0,cacheReadTokens:(n==null?void 0:n.cache_read_input_tokens)||0};if(Array.isArray(e.system)){let d=-1;for(let p=e.system.length-1;p>=0;p--)if(e.system[p].cache_control){d=p;break}if(d>=0)for(let p=0;p<=d;p++){const g=e.system[p];g.type==="text"&&g.text&&s.system.push(g.text)}}if(Array.isArray(e.messages)){let d=-1;for(let p=e.messages.length-1;p>=0;p--){const g=e.messages[p].content;if(Array.isArray(g)){for(const h of g)if(h.cache_control){d=p;break}if(d>=0)break}}if(d<0&&s.cacheReadTokens>0&&e.messages.length>0&&(d=e.messages.length-1),d>=0)for(let p=0;p<=d;p++){const g=e.messages[p],h=g.content;if(typeof h=="string")s.messages.push(`[${g.role}] ${h}`);else if(Array.isArray(h)){for(const m of h)if(m.type==="text"&&m.text)s.messages.push(`[${g.role}] ${m.text}`);else if(m.type==="tool_use"){const u=m.input?JSON.stringify(m.input):"",f=u.length>200?u.substring(0,200)+"...":u;s.messages.push(`[${g.role}] ${m.name}(${f})`)}else if(m.type==="tool_result"){const u=aa(m);u&&s.messages.push(`[tool_result: ${m.tool_use_id}] ${u}`)}}}}if(Array.isArray(e.tools)&&e.tools.length>0&&s.system.length>0)for(const d of e.tools)s.tools.push(`${d.name}: ${d.description||""}`);return s}const Or="ccv_entryCache",nt="entries",as="cache",is="ccv_cacheMeta",Dr=2,ia=10080*60*1e3;let ut=null,pt=null;function St(){return ut?Promise.resolve(ut):pt||(pt=new Promise((a,i)=>{const e=indexedDB.open(Or,Dr);e.onupgradeneeded=()=>{const n=e.result;n.objectStoreNames.contains(nt)||n.createObjectStore(nt),n.objectStoreNames.contains("sessions")||n.createObjectStore("sessions"),n.objectStoreNames.contains("session_index")||n.createObjectStore("session_index")},e.onsuccess=()=>{ut=e.result,ut.onclose=()=>{ut=null},pt=null,a(ut)},e.onerror=()=>{pt=null,i(e.error)}}),pt)}let Ts=0;function Fr(a,i){try{const e=i[i.length-1],n=(e==null?void 0:e.timestamp)||null;n&&localStorage.setItem(is,JSON.stringify({projectName:a,lastTs:n,count:i.length}))}catch{}}function Wr(){try{localStorage.removeItem(is)}catch{}}function Cs(){try{const a=localStorage.getItem(is);if(!a)return null;const i=JSON.parse(a);return i!=null&&i.lastTs&&(i==null?void 0:i.count)>0&&(i!=null&&i.projectName)?i:null}catch{return null}}async function Xe(a,i){if(!a||!Array.isArray(i)||i.length===0)return;const e=++Ts;try{const n=await St();return e!==Ts?void 0:(Fr(a,i),new Promise(s=>{const r=n.transaction(nt,"readwrite");r.objectStore(nt).put({projectName:a,entries:i,ts:Date.now()},as),r.oncomplete=()=>s(),r.onerror=()=>s()}))}catch{}}async function Ur(a){try{const i=await St();return new Promise(e=>{const s=i.transaction(nt,"readonly").objectStore(nt).get(as);s.onsuccess=()=>{const r=s.result;!r||r.projectName!==a||!Array.isArray(r.entries)||r.entries.length===0?e(null):r.ts&&Date.now()-r.ts>ia?(Gn(),e(null)):e(r.entries)},s.onerror=()=>e(null)})}catch{return null}}async function Gn(){Wr();try{const a=await St();return new Promise(i=>{const e=a.transaction(nt,"readwrite");e.objectStore(nt).delete(as),e.oncomplete=()=>i(),e.onerror=()=>i()})}catch{}}async function Vt(a,i,e){if(!(!a||e==null))try{const n=await St(),s=`${a}:${i}`;return new Promise(r=>{const o=n.transaction("sessions","readwrite");o.objectStore("sessions").put({entries:e,ts:Date.now()},s),o.oncomplete=()=>r(),o.onerror=()=>r()})}catch{}}async function $r(a,i){try{const e=await St(),n=`${a}:${i}`;return new Promise(s=>{const o=e.transaction("sessions","readonly").objectStore("sessions").get(n);o.onsuccess=()=>{const l=o.result;!l||!Array.isArray(l.entries)||l.entries.length===0||l.ts&&Date.now()-l.ts>ia?s(null):s(l.entries)},o.onerror=()=>s(null)})}catch{return null}}async function qt(a,i){if(!(!a||!Array.isArray(i)))try{const e=await St();return new Promise(n=>{const s=e.transaction("session_index","readwrite");s.objectStore("session_index").put({index:i,ts:Date.now()},a),s.oncomplete=()=>n(),s.onerror=()=>n()})}catch{}}const Ge=8;function Kt(a,i){const e=new Map;for(const r of a){const o=r._sessionId;if(o==null)continue;const l=r.timestamp||null;let c=e.get(o);c||(c={firstTs:l,lastTs:l,entryCount:0},e.set(o,c)),c.entryCount++,l&&((!c.firstTs||l<c.firstTs)&&(c.firstTs=l),(!c.lastTs||l>c.lastTs)&&(c.lastTs=l))}const n=Array.from(e.keys()).sort(),s=[];for(let r=0;r<i.length;r++){const o=i[r],l=n[r]||(o==null?void 0:o.entryTimestamp)||null,c=l?e.get(l)||{firstTs:null,lastTs:null,entryCount:0}:{firstTs:null,lastTs:null,entryCount:0};let d=0,p="",g=null;if(o&&(d=o.messages?o.messages.length:0,g=o.userId||null,o.messages)){for(const h of o.messages)if(h.role==="user"){const m=Hr(h);if(m){p=m.slice(0,80);break}}}s.push({sessionId:l,firstTs:c.firstTs,lastTs:c.lastTs||(o==null?void 0:o.entryTimestamp)||null,entryCount:c.entryCount,msgCount:d,preview:p,userId:g})}return s}function Hr(a){if(!a)return"";if(typeof a.content=="string")return a.content;if(Array.isArray(a.content)){for(const i of a.content)if(i.type==="text"&&i.text)return i.text}return""}function Tt(a,i,e,n,s=new Set){if(e.length<=n)return{hotEntries:a,allSessions:i,coldGroups:new Map};const o=new Set(s);let l=n-o.size;for(let g=e.length-1;g>=0&&l>0;g--){const h=e[g].sessionId;o.has(h)||(o.add(h),l--)}const c=[],d=new Map;for(const g of a)if(o.has(g._sessionId))c.push(g);else{let h=d.get(g._sessionId);h||(h=[],d.set(g._sessionId,h)),h.push(g)}const p=i.map((g,h)=>{const m=e[h],u=m==null?void 0:m.sessionId;return u&&!o.has(u)?{_cold:!0,sessionId:u,preview:m.preview,msgCount:m.msgCount,firstTs:m.firstTs,lastTs:m.lastTs,userId:m.userId,messages:null,response:null,entryTimestamp:m.lastTs}:g});return{hotEntries:c,allSessions:p,coldGroups:d}}function Tn(a,i){if(!a||a.length===0)return i||[];if(!i||i.length===0)return a;const e=new Set(i.map(s=>s.sessionId)),n=[];for(const s of a)e.has(s.sessionId)||n.push(s);for(const s of i)n.push(s);return n.sort((s,r)=>s.sessionId===r.sessionId?0:s.sessionId==null?-1:r.sessionId==null?1:s.sessionId<r.sessionId?-1:1),n}function Gr(a,i){var p;const e=i.body.messages,n=i.response,s=((p=i.body.metadata)==null?void 0:p.user_id)||null,r=i.timestamp||null;if(a.length===0)return[{userId:s,messages:e,response:n,entryTimestamp:r}];const o=a[a.length-1],l=o.messages?o.messages.length:0,c=l>0&&e.length<l*.5&&l-e.length>4,d=s!==null&&s===o.userId;if(c&&e.length<=4&&l>4)return a;if(d||s===o.userId&&!c){const g=l,h=e.length;if(h>g){o.messages||(o.messages=[]);for(let m=g;m<h;m++)e[m]._timestamp||(e[m]._timestamp=r),o.messages.push(e[m])}else if(h<g){for(let m=0;m<e.length;m++)e[m]._timestamp||(e[m]._timestamp=r);o.messages=e}return o.response=n,o.entryTimestamp=r,[...a]}else return[...a,{userId:s,messages:e,response:n,entryTimestamp:r}]}function un(a){var e;if(!a._deltaFormat||a._isCheckpoint)return!0;const i=(e=a.body)==null?void 0:e.messages;return!!(Array.isArray(i)&&a._totalMessageCount===i.length)}function Vn(a){return a._deltaFormat&&a.mainAgent}function Ct(a){var n,s;let i=[];const e=[];for(let r=0;r<a.length;r++){const o=a[r];if(o.inProgress)continue;if(!Vn(o)){o.mainAgent&&Array.isArray((n=o.body)==null?void 0:n.messages)&&(i=[...o.body.messages]);continue}const l=(s=o.body)==null?void 0:s.messages;Array.isArray(l)&&(un(o)?i=[...l]:(i=[...i,...l],o.body.messages=i,o._totalMessageCount&&i.length!==o._totalMessageCount&&e.push(r)))}return e.length>0&&Vr(a,e),a}function Vr(a,i){var e;for(const n of i){const s=a[n],r=s._totalMessageCount;if(r)for(let o=n+1;o<a.length;o++){const l=a[o];if(!l.mainAgent||!Array.isArray((e=l.body)==null?void 0:e.messages))continue;const c=l.body.messages,d=l._totalMessageCount||c.length;if((!l._deltaFormat||un(l))&&d>=r){s.body.messages=c.slice(0,r);break}}}}function qr(){let a=[];return{reconstruct(i){var n,s,r;if(i.inProgress){if(Vn(i)&&!un(i)){const o=(n=i.body)==null?void 0:n.messages;Array.isArray(o)&&(i.body.messages=[...a,...o])}return i}if(!Vn(i))return i.mainAgent&&Array.isArray((s=i.body)==null?void 0:s.messages)&&(a=[...i.body.messages]),i;const e=(r=i.body)==null?void 0:r.messages;return Array.isArray(e)&&(un(i)?a=[...e]:(a=[...a,...e],i.body.messages=a)),i},reset(){a=[]}}}let Et=null,rn=null,Es=!1,Cn=null,qn=new Set;const Kr={theme:"dark",darkMode:!0,themeVariables:{darkMode:!0,background:"#0d1117",primaryColor:"#1a3a5c",primaryTextColor:"#c9d1d9",primaryBorderColor:"#30363d",lineColor:"#58a6ff",secondaryColor:"#161b22",tertiaryColor:"#0d1117",nodeTextColor:"#c9d1d9",edgeLabelBackground:"#0d1117"}},Zr={theme:"default",darkMode:!1,themeVariables:{darkMode:!1,background:"#FFFFFF",primaryColor:"#dce8f5",primaryTextColor:"#1a1a1a",primaryBorderColor:"#E0E0E0",lineColor:"#0969DA",secondaryColor:"#F0F0F0",tertiaryColor:"#F5F5F5",nodeTextColor:"#1a1a1a",edgeLabelBackground:"#FFFFFF"}};function ra(){return document.documentElement.getAttribute("data-theme")==="light"?Zr:Kr}function Jr(){return Et||(Et=es(()=>import("./mermaid.core-8TBPCg9L.js").then(a=>a.bB),__vite__mapDeps([0,1,2,3,4,5])).then(a=>{const i=a.default,e=ra();return i.initialize({startOnLoad:!1,securityLevel:"strict",flowchart:{useMaxWidth:!0},...e}),rn=i,i}).catch(()=>(Et=null,null)),Et)}async function Yr(a){if(!a)return;const i=a.querySelectorAll("code.language-mermaid");if(i.length===0)return;const e=await Jr();if(e)for(const n of i){const s=n.parentElement;if(!s||s.dataset.mermaidRendered)continue;s.dataset.mermaidRendered="1";const r=n.textContent;try{const o="mmd-"+Math.random().toString(36).slice(2,9),{svg:l}=await e.render(o,r),c=document.createElement("div");c.className="mermaid-diagram",c.dataset.mermaidSrc=r,c.innerHTML=_n.sanitize(l,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["style","foreignObject"]}),s.replaceWith(c)}catch{}}}function Qr(){Cn||(Cn=requestAnimationFrame(()=>{Cn=null;const a=qn;qn=new Set;for(const i of a)i.isConnected&&Yr(i)}))}function Xr(){if(Es||typeof document>"u")return;Es=!0;const a=new MutationObserver(e=>{var n;for(const s of e)for(const r of s.addedNodes)if(r.nodeType===1&&((n=r.querySelector)!=null&&n.call(r,"code.language-mermaid"))){qn.add(r),Qr();return}}),i=()=>a.observe(document.body,{childList:!0,subtree:!0});document.body?i():document.addEventListener("DOMContentLoaded",i)}async function eo(){if(!rn)return;const a=ra();rn.initialize({startOnLoad:!1,securityLevel:"strict",flowchart:{useMaxWidth:!0},...a});const i=document.querySelectorAll(".mermaid-diagram[data-mermaid-src]");for(const e of i){const n=e.dataset.mermaidSrc;try{const s="mmd-"+Math.random().toString(36).slice(2,9),{svg:r}=await rn.render(s,n);e.innerHTML=_n.sanitize(r,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["style","foreignObject"]})}catch{}}}const to="_layout_7lwtf_1",no="_header_7lwtf_6",so="_content_7lwtf_14",ao="_mainContainer_7lwtf_19",io="_leftPanel_7lwtf_24",ro="_leftPanelHeader_7lwtf_36",oo="_leftPanelCount_7lwtf_47",lo="_leftPanelBody_7lwtf_53",co="_rightPanel_7lwtf_58",uo="_modalActions_7lwtf_64",po="_spinCenter_7lwtf_68",mo="_emptyCenter_7lwtf_73",ho="_logListContainer_7lwtf_83",go="_loadingOverlay_7lwtf_131",fo="_dragOverlay_7lwtf_144",_o="_dragOverlayContent_7lwtf_158",bo="_dragIcon_7lwtf_167",ko="_loadingText_7lwtf_171",vo="_mobileLoadingOverlay_7lwtf_177",yo="_mobileLoadingSpinner_7lwtf_189",xo="_mobileLoadingLabel_7lwtf_202",Lo="_footer_7lwtf_208",wo="_footerRight_7lwtf_219",So="_footerLink_7lwtf_232",To="_footerIcon_7lwtf_244",Co="_footerSep_7lwtf_249",Eo="_footerVersion_7lwtf_254",Ao="_footerVersionNew_7lwtf_264",No="_newBadge_7lwtf_274",Ro="_guideContainer_7lwtf_286",jo="_guideContent_7lwtf_294",zo="_guideTitle_7lwtf_299",Io="_guideStep_7lwtf_306",Po="_guideStepNum_7lwtf_312",Mo="_guideStepBody_7lwtf_327",Bo="_guideText_7lwtf_332",Oo="_guideCode_7lwtf_339",Do="_mobileChatOverlay_7lwtf_352",Fo="_mobileChatOverlayVisible_7lwtf_364",Wo="_mobileNavBtn_7lwtf_368",Uo="_mobileChatInner_7lwtf_373",$o="_mobileGitDiffOverlay_7lwtf_392",Ho="_mobileGitDiffOverlayVisible_7lwtf_404",Go="_mobileGitDiffInner_7lwtf_408",Vo="_mobileFileExplorerOverlay_7lwtf_428",qo="_mobileFileExplorerOverlayVisible_7lwtf_440",Ko="_mobileFileExplorerInner_7lwtf_444",Zo="_mobileMenuBtn_7lwtf_474",Jo="_mobileMenuOverlay_7lwtf_491",Yo="_mobileMenuDropdown_7lwtf_497",Qo="_mobileMenuItem_7lwtf_511",Xo="_mobileStatsOverlay_7lwtf_529",el="_mobileStatsOverlayVisible_7lwtf_541",tl="_mobileStatsInner_7lwtf_545",nl="_mobileLogMgmtOverlay_7lwtf_552",sl="_mobileLogMgmtOverlayVisible_7lwtf_564",al="_mobileLogMgmtHeader_7lwtf_568",il="_mobileLogMgmtTitle_7lwtf_577",rl="_mobileLogMgmtClose_7lwtf_583",ol="_mobileLogMgmtActions_7lwtf_598",ll="_mobileLogMgmtBody_7lwtf_606",cl="_mobileSettingsOverlay_7lwtf_613",dl="_mobileSettingsOverlayVisible_7lwtf_625",ul="_mobilePromptOverlay_7lwtf_629",pl="_mobilePromptOverlayVisible_7lwtf_641",ml="_mobilePromptBody_7lwtf_645",hl="_mobilePromptList_7lwtf_653",gl="_mobilePromptItem_7lwtf_659",fl="_mobilePromptTimestamp_7lwtf_664",_l="_mobilePromptCard_7lwtf_671",bl="_mobilePromptPreText_7lwtf_679",kl="_tableTimestampCell_7lwtf_689",vl="_tablePreviewText_7lwtf_693",yl="_tablePreviewTextClickable_7lwtf_702",xl="_tableTag_7lwtf_712",Ll="_tableActionsCell_7lwtf_718",wl="_mobileCLIRoot_7lwtf_724",Sl="_mobileCLIHeader_7lwtf_733",Tl="_mobileCLIHeaderLeft_7lwtf_744",Cl="_mobileCLIStatusLabel_7lwtf_752",El="_mobileCtxTag_7lwtf_758",Al="_mobileCtxTagFill_7lwtf_777",Nl="_mobileCtxTagContent_7lwtf_787",Rl="_mobileCLIHeaderRight_7lwtf_795",jl="_mobileCLIBody_7lwtf_801",zl="_mobileSettingsBody_7lwtf_810",Il="_mobileSettingsSectionTitle_7lwtf_814",Pl="_mobileSettingsRow_7lwtf_821",Ml="_mobileSettingsLabel_7lwtf_829",Bl="_mobilePromptEmpty_7lwtf_835",Ol="_mobilePromptHeader_7lwtf_842",Dl="_mobilePromptCount_7lwtf_850",Fl="_chatViewWrapper_7lwtf_856",Wl="_resumeFooterRight_7lwtf_862",Ul="_resumeFooterLeft_7lwtf_867",$l="_resumeCheckboxOpacity_7lwtf_871",Hl="_btnMarginLeft_7lwtf_875",Gl="_btnMarginRight_7lwtf_879",Vl="_modalTitleInline_7lwtf_884",ql="_previewPopover_7lwtf_891",Kl="_previewItem_7lwtf_897",Zl="_previewText_7lwtf_909",Ze={layout:to,header:no,content:so,mainContainer:ao,leftPanel:io,leftPanelHeader:ro,leftPanelCount:oo,leftPanelBody:lo,rightPanel:co,modalActions:uo,spinCenter:po,emptyCenter:mo,logListContainer:ho,loadingOverlay:go,dragOverlay:fo,dragOverlayContent:_o,dragIcon:bo,loadingText:ko,mobileLoadingOverlay:vo,mobileLoadingSpinner:yo,mobileLoadingLabel:xo,footer:Lo,footerRight:wo,footerLink:So,footerIcon:To,footerSep:Co,footerVersion:Eo,footerVersionNew:Ao,newBadge:No,guideContainer:Ro,guideContent:jo,guideTitle:zo,guideStep:Io,guideStepNum:Po,guideStepBody:Mo,guideText:Bo,guideCode:Oo,mobileChatOverlay:Do,mobileChatOverlayVisible:Fo,mobileNavBtn:Wo,mobileChatInner:Uo,mobileGitDiffOverlay:$o,mobileGitDiffOverlayVisible:Ho,mobileGitDiffInner:Go,mobileFileExplorerOverlay:Vo,mobileFileExplorerOverlayVisible:qo,mobileFileExplorerInner:Ko,mobileMenuBtn:Zo,mobileMenuOverlay:Jo,mobileMenuDropdown:Yo,mobileMenuItem:Qo,mobileStatsOverlay:Xo,mobileStatsOverlayVisible:el,mobileStatsInner:tl,mobileLogMgmtOverlay:nl,mobileLogMgmtOverlayVisible:sl,mobileLogMgmtHeader:al,mobileLogMgmtTitle:il,mobileLogMgmtClose:rl,mobileLogMgmtActions:ol,mobileLogMgmtBody:ll,mobileSettingsOverlay:cl,mobileSettingsOverlayVisible:dl,mobilePromptOverlay:ul,mobilePromptOverlayVisible:pl,mobilePromptBody:ml,mobilePromptList:hl,mobilePromptItem:gl,mobilePromptTimestamp:fl,mobilePromptCard:_l,mobilePromptPreText:bl,tableTimestampCell:kl,tablePreviewText:vl,tablePreviewTextClickable:yl,tableTag:xl,tableActionsCell:Ll,mobileCLIRoot:wl,mobileCLIHeader:Sl,mobileCLIHeaderLeft:Tl,mobileCLIStatusLabel:Cl,mobileCtxTag:El,mobileCtxTagFill:Al,mobileCtxTagContent:Nl,mobileCLIHeaderRight:Rl,mobileCLIBody:jl,mobileSettingsBody:zl,mobileSettingsSectionTitle:Il,mobileSettingsRow:Pl,mobileSettingsLabel:Ml,mobilePromptEmpty:Bl,mobilePromptHeader:Ol,mobilePromptCount:Dl,chatViewWrapper:Fl,resumeFooterRight:Wl,resumeFooterLeft:Ul,resumeCheckboxOpacity:$l,btnMarginLeft:Hl,btnMarginRight:Gl,modalTitleInline:Vl,previewPopover:ql,previewItem:Kl,previewText:Zl},As=oe&&!ye?30:100;class By extends me.Component{constructor(e){super(e);q(this,"_resetSSETimeout",()=>{this._sseTimeoutTimer&&clearTimeout(this._sseTimeoutTimer),this._sseReconnectCount=0,this._sseTimeoutTimer=setTimeout(()=>{console.warn("SSE heartbeat timeout, reconnecting..."),this._reconnectSSE()},45e3)});q(this,"_teardownTransientLiveState",()=>{this._pendingEntries=[],this._flushRafId&&(cancelAnimationFrame(this._flushRafId),this._flushRafId=null),this._streamingOffTimer&&(clearTimeout(this._streamingOffTimer),this._streamingOffTimer=null),this._loadingCountRafId&&(cancelAnimationFrame(this._loadingCountRafId),this._loadingCountRafId=null),this._chunkedEntries=[],this._chunkedTotal=0,this._isIncremental=!1,this._sseSlimmer=null,this._sseReconstructor=null});q(this,"_flushPendingEntries",()=>{this._flushRafId=null;const e=this._pendingEntries;this._pendingEntries=[],e.length!==0&&this.setState(n=>{var p,g,h,m,u;const s=[...n.requests];let r=n.cacheExpireAt,o=n.cacheType,l=n.mainAgentSessions,c=!1;this._sseSlimmer||(this._sseSlimmer=Er(Fe)),this._sseReconstructor||(this._sseReconstructor=qr());for(const f of e){const _=this._sseReconstructor.reconstruct(f),v=`${_.timestamp}|${_.url}`,x=this._requestIndexMap.get(v);if(x!==void 0)s[x]=_,this._sseSlimmer&&this._sseSlimmer.onDedup(x);else{const k=s.length;this._sseSlimmer&&this._sseSlimmer.processEntry(_,s,k),this._requestIndexMap.set(v,k),s.push(_)}if(Fe(_)&&!_.inProgress&&((g=(p=_.response)==null?void 0:p.body)!=null&&g.usage)){const k=Br([_]);k&&(k.system.length>0||k.messages.length>0||k.tools.length>0)&&(this._lastKvCacheContent=k)}if(!_.inProgress&&Fe(_)&&n.streamingLatest&&n.streamingLatest.timestamp===_.timestamp&&(c=!0),Fe(_)){const k=(m=(h=_.response)==null?void 0:h.body)==null?void 0:m.usage;if(k!=null&&k.cache_creation){const C=k.cache_creation,P=_.timestamp?new Date(_.timestamp).getTime():Date.now();let j=null,I=null;if(C.ephemeral_1h_input_tokens>0?(j=P+3600*1e3,I="1h"):C.ephemeral_5m_input_tokens>0&&(j=P+300*1e3,I="5m"),j&&j>Date.now()){r=j;const T=(k.cache_read_input_tokens||0)+(k.cache_creation_input_tokens||0);o=T>0?Mr(T):I,localStorage.setItem("ccv_cacheExpireAt",String(r)),localStorage.setItem("ccv_cacheType",o)}}}if(Fe(_)&&_.body&&Array.isArray(_.body.messages)&&!_._slimmed){const k=_.timestamp||new Date().toISOString(),C=l.length>0?l[l.length-1]:null,P=(C==null?void 0:C.messages)||[],j=_.body.messages,I=P.length,T=((u=_.body.metadata)==null?void 0:u.user_id)||null,F=!(T!==null&&(C==null?void 0:C.userId)===T)&&I>0&&j.length<I*.5&&I-j.length>4;if(I>4&&j.length<=4&&j.length<I*.5)continue;F?this._currentSessionId=k:this._currentSessionId===null&&(this._currentSessionId=k);for(let S=0;S<j.length;S++)!F&&S<I&&P[S]._timestamp?j[S]._timestamp=P[S]._timestamp:j[S]._timestamp||(j[S]._timestamp=k);l=this.mergeMainAgentSessions(l,_)}_._sessionId=this._currentSessionId}let d=n.selectedIndex;return l.length>As&&(l=l.slice(-As)),d===null&&s.length>0&&(this._autoSelectTimer&&clearTimeout(this._autoSelectTimer),this._autoSelectTimer=setTimeout(()=>{this.setState(f=>{if(f.selectedIndex===null&&f.requests.length>0){const _=f.showAll?f.requests:Sn(f.requests);return _.length>0?{selectedIndex:_.length-1}:null}return null})},200)),{requests:s,cacheExpireAt:r,cacheType:o,mainAgentSessions:l,...c&&{streamingLatest:null}}},()=>{oe&&this.state.projectName&&(this._cacheSaveTimer&&clearTimeout(this._cacheSaveTimer),this._cacheSaveTimer=setTimeout(()=>{this.state.projectName&&this.state.sessionIndex.length===0&&Xe(this.state.projectName,this.state.requests)},5e3),this.state.mainAgentSessions.length>Ge+2&&(this._evictionTimer||(this._evictionTimer=setTimeout(()=>{this._evictionTimer=null,this._evictColdSessions()},1e4))))})});q(this,"handleSelectRequest",e=>{this.setState({selectedIndex:e,scrollCenter:!1})});q(this,"handleScrollDone",()=>{this.setState({scrollCenter:!1})});q(this,"handleScrollTsDone",()=>{this.setState({chatScrollToTs:null})});q(this,"handleWorkspaceLaunch",({projectName:e})=>{this._isLocalLog=!1,this._localLogFile=null,this.setState({workspaceMode:!1,projectName:e,viewMode:"chat",cliMode:!0,terminalVisible:!1})});q(this,"handleReturnToWorkspaces",()=>{fetch(K("/api/workspaces/stop"),{method:"POST"}).then(()=>{this._teardownTransientLiveState(),this._rebuildRequestIndex([]),this.setState({workspaceMode:!0,requests:[],mainAgentSessions:[],projectName:"",selectedIndex:null,streamingLatest:null})}).catch(()=>{})});q(this,"handleProxyProfileChange",e=>{fetch(K("/api/proxy-profiles"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(n=>n.json()).then(()=>{this.setState({proxyProfiles:e.profiles,activeProxyId:e.active})}).catch(()=>{})});q(this,"handleLangChange",()=>{const e=cn();this.setState({lang:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lang:e})}).catch(()=>{})});q(this,"handleCollapseToolResultsChange",e=>{this.setState({collapseToolResults:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({collapseToolResults:e})}).catch(()=>{})});q(this,"handleExpandThinkingChange",e=>{this.setState({expandThinking:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expandThinking:e})}).catch(()=>{})});q(this,"handleExpandDiffChange",e=>{this.setState({expandDiff:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expandDiff:e})}).catch(()=>{})});q(this,"handleAutoApproveChange",e=>{this.setState({autoApproveSeconds:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({autoApproveSeconds:e})}).catch(()=>{})});q(this,"handleThemeColorChange",e=>{this.setState({themeColor:e}),document.documentElement.setAttribute("data-theme",e==="light"?"light":"dark"),eo(),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({themeColor:e})}).catch(()=>{}),window.dispatchEvent(new CustomEvent("ccv-focus-terminal"))});q(this,"handleLogDirChange",e=>{if(!e||typeof e!="string")return;const n=e.trim();n&&(this.setState({logDir:n}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({logDir:n})}).then(s=>s.json()).then(s=>{s.logDir&&this.setState({logDir:s.logDir})}).catch(()=>{}))});q(this,"handleShowFullToolContentChange",e=>{this.setState({showFullToolContent:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({showFullToolContent:e})}).catch(()=>{})});q(this,"handleFilterIrrelevantChange",e=>{this.setState(n=>{const s=!e,r=s?n.requests:Sn(n.requests);return{showAll:s,selectedIndex:r.length>0?r.length-1:null}}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filterIrrelevant:e})}).catch(()=>{})});q(this,"handleImportLocalLogs",()=>{this.setState({importModalVisible:!0,localLogsLoading:!0}),fetch(K("/api/local-logs")).then(e=>e.json()).then(e=>{const{_currentProject:n,...s}=e;this.setState({localLogs:s,currentProject:n||"",localLogsLoading:!1})}).catch(()=>{this.setState({localLogs:{},localLogsLoading:!1})})});q(this,"handleCloseImportModal",()=>{this.setState({importModalVisible:!1,selectedLogs:new Set})});q(this,"handleRefreshStats",()=>{this.setState({refreshingStats:!0}),fetch(K("/api/refresh-stats"),{method:"POST"}).then(e=>e.json()).then(e=>{if(!e.ok)throw new Error(e.error||"refresh failed");return fetch(K("/api/local-logs"))}).then(e=>e.json()).then(e=>{const{_currentProject:n,...s}=e;this.setState({localLogs:s,refreshingStats:!1}),ce.success(b("ui.refreshStatsSuccess"))}).catch(()=>{this.setState({refreshingStats:!1}),ce.error(b("ui.refreshStatsFailed"))})});q(this,"handleToggleLogSelect",(e,n)=>{this.setState(s=>{const r=new Set(s.selectedLogs);return n?r.add(e):r.delete(e),{selectedLogs:r}})});q(this,"handleMergeLogs",()=>{const{selectedLogs:e,localLogs:n,currentProject:s}=this.state;if(e.size<2)return;const r=n[s];if(!r)return;const o=[];if(r.forEach((d,p)=>{e.has(d.file)&&o.push(p)}),o.sort((d,p)=>d-p),e.has(r[0].file)){ce.warning(b("ui.mergeLatestNotAllowed"));return}for(let d=1;d<o.length;d++)if(o[d]-o[d-1]!==1){ce.warning(b("ui.mergeNotConsecutive"));return}if(o.reduce((d,p)=>d+r[p].size,0)>500*1024*1024){ce.warning(b("ui.mergeTooLarge"));return}const c=o.map(d=>r[d].file).reverse();fetch(K("/api/merge-logs"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:c})}).then(d=>d.json()).then(d=>{d.ok?(ce.success(b("ui.mergeSuccess")),this.setState({selectedLogs:new Set}),this.handleImportLocalLogs()):ce.error(d.error||"Merge failed")}).catch(()=>ce.error("Merge failed"))});q(this,"handleDeleteLogs",()=>{const{selectedLogs:e}=this.state;e.size!==0&&Pe.confirm({title:b("ui.deleteLogs"),content:b("ui.deleteLogsConfirm",{count:e.size}),okText:b("ui.deleteLogs"),okButtonProps:{danger:!0},cancelText:b("ui.cancel"),onOk:()=>{const n=[...e];fetch(K("/api/delete-logs"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:n})}).then(s=>s.json()).then(s=>{if(s.results){const r=s.results.filter(l=>l.ok).length,o=s.results.filter(l=>l.error).length;r>0&&ce.success(b("ui.deleteSuccess",{count:r})),o>0&&ce.error(b("ui.deleteFailed",{count:o})),this.setState({selectedLogs:new Set}),this.handleImportLocalLogs()}}).catch(()=>ce.error("Delete failed"))}})});q(this,"handleOpenLogFile",async e=>{let n=`${window.location.protocol}//${window.location.host}`,s=new URLSearchParams(window.location.search).get("token");if(!s)try{const o=await fetch(K("/api/local-url"));if(o.ok){const l=await o.json();l.url&&(n=l.url.split("?")[0],s=new URL(l.url).searchParams.get("token"))}}catch{}const r=s?`&token=${encodeURIComponent(s)}`:"";window.open(`${n}?logfile=${encodeURIComponent(e)}${r}`,"_blank"),this.setState({importModalVisible:!1})});q(this,"handleDownloadLogFile",e=>{const n=K(`/api/download-log?file=${encodeURIComponent(e)}`),s=document.createElement("a");s.href=n,s.download="",document.body.appendChild(s),s.click(),document.body.removeChild(s)});q(this,"handleResumeChoice",e=>{this.state.resumeRememberChoice&&(this.setState({resumeAutoChoice:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resumeAutoChoice:e})}).catch(()=>{})),fetch(K("/api/resume-choice"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({choice:e})}).catch(n=>console.error("resume-choice failed:",n))});q(this,"handleResumeAutoChoiceToggle",e=>{const n=e?"continue":null;this.setState({resumeAutoChoice:n}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resumeAutoChoice:n})}).catch(()=>{})});q(this,"handleResumeAutoChoiceChange",e=>{this.setState({resumeAutoChoice:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resumeAutoChoice:e})}).catch(()=>{})});q(this,"_finishLocalLoad",(e,n)=>{if(e.length===0){ce.error(b("ui.noLogs")),this.setState({fileLoading:!1,fileLoadingCount:0});return}this.animateLoadingCount(e.length,()=>{this._batchSlim(e);const{mainAgentSessions:s,filtered:r}=this._processEntries(e);this._isLocalLog=!0,this._localLogFile=n.length===1?n[0]:`${n.length} files`,this.eventSource&&(this.eventSource.close(),this.eventSource=null),this._streamingOffTimer&&(clearTimeout(this._streamingOffTimer),this._streamingOffTimer=null),this.setState({requests:e,selectedIndex:r.length>0?r.length-1:null,mainAgentSessions:s,importModalVisible:!1,fileLoading:!1,fileLoadingCount:0})})});const n=parseInt(localStorage.getItem("ccv_cacheExpireAt"),10)||null,s=localStorage.getItem("ccv_cacheType")||null,r=Date.now(),o=n&&n>r?n:null,l=o?s:null;this.state={requests:[],selectedIndex:null,viewMode:"raw",cacheExpireAt:o,cacheType:l,mainAgentSessions:[],importModalVisible:!1,localLogs:{},localLogsLoading:!1,refreshingStats:!1,showAll:!1,lang:cn(),userProfile:null,projectName:"",resumeModalVisible:!1,resumeFileName:"",resumeRememberChoice:!1,resumeAutoChoice:null,autoApproveSeconds:0,collapseToolResults:!0,expandThinking:!0,expandDiff:!1,logDir:"",showFullToolContent:!1,showThinkingSummaries:!1,themeColor:"dark",claudeMissing:!1,updateModalVisible:!1,fileLoading:!1,fileLoadingCount:0,isDragging:!1,selectedLogs:new Set,githubStars:null,cliMode:!1,sdkMode:!1,workspaceMode:!1,serverCachedContent:null,updateInfo:null,pendingUploadPaths:[],contextWindow:null,isStreaming:!1,streamingLatest:null,hasMoreHistory:!1,loadingMore:!1,sessionIndex:[],loadingSessionId:null,proxyProfiles:[],activeProxyId:"max",defaultConfig:null},this.eventSource=null,this._currentSessionId=null,this._autoSelectTimer=null,this._chunkedEntries=[],this._chunkedTotal=0,this.mainContainerRef=me.createRef(),this._layoutRef=me.createRef(),this._requestIndexMap=new Map,this._pendingEntries=[],this._flushRafId=null,this._cacheLossMap=new Map,this._cacheLossProcessedCount=0,this._cacheLossLastMainAgent=null,this._cacheLossShowAll=void 0,this._lastKvCacheContent=null,this._sseSlimmer=null,this._sseReconstructor=null}_batchSlim(e){const n=Cr(Fe);for(let s=0;s<e.length;s++)n.process(e[s],e,s);n.finalize(e)}_rebuildRequestIndex(e){this._requestIndexMap.clear();for(let n=0;n<e.length;n++){const s=e[n];this._requestIndexMap.set(`${s.timestamp}|${s.url}`,n)}this._cacheLossProcessedCount=0,this._cacheLossLastMainAgent=null,this._cacheLossMap=new Map,this._lastKvCacheContent=null,this._sseSlimmer=null,this._sseReconstructor=null}_processEntries(e){var c;let n=[],s=null,r=[];const o=[];this._requestIndexMap.clear(),this._cacheLossProcessedCount=0,this._cacheLossLastMainAgent=null,this._cacheLossMap=new Map,this._lastKvCacheContent=null,this._sseSlimmer=null,this._sseReconstructor=null;let l=null;for(let d=0;d<e.length;d++){const p=e[d];if(this._requestIndexMap.set(`${p.timestamp}|${p.url}`,d),an(p)&&o.push(p),Fe(p)&&p.body&&Array.isArray(p.body.messages)){const g=p.body.messages,h=p._messageCount||g.length,m=((c=p.body.metadata)==null?void 0:c.user_id)||null,u=p.timestamp||new Date().toISOString(),f=n.length,_=f>0&&(h<f*.5&&f-h>4||s&&m&&m!==s),v=_&&h<=4&&f>4&&h<f*.5;_&&!v?(l=u,n=[]):l===null&&(l=u);for(let x=n.length;x<h;x++)n.push(u);if(g.length>0)for(let x=0;x<g.length;x++)g[x]._timestamp=n[x];s=m,p._slimmed||(r=this.mergeMainAgentSessions(r,p))}p._sessionId=l}return this._currentSessionId=l,{mainAgentSessions:r,filtered:o}}componentDidMount(){fetch(K("/api/claude-settings")).then(s=>s.json()).then(s=>{s.showThinkingSummaries&&this.setState({showThinkingSummaries:!0}),s.claudeAvailable===!1&&this.setState({claudeMissing:!0})}).catch(()=>{}),this._prefsReady=fetch(K("/api/preferences")).then(s=>s.json()).then(s=>{typeof s.claudeConfigDir=="string"&&_r(s.claudeConfigDir),s.lang&&(ea(s.lang),this.setState({lang:s.lang})),s.collapseToolResults!==void 0&&this.setState({collapseToolResults:!!s.collapseToolResults}),s.expandThinking!==void 0&&this.setState({expandThinking:!!s.expandThinking}),s.expandDiff!==void 0&&this.setState({expandDiff:!!s.expandDiff}),s.showFullToolContent!==void 0&&this.setState({showFullToolContent:!!s.showFullToolContent}),s.resumeAutoChoice&&this.setState({resumeAutoChoice:s.resumeAutoChoice}),typeof s.autoApproveSeconds=="number"&&this.setState({autoApproveSeconds:s.autoApproveSeconds}),s.themeColor&&(this.setState({themeColor:s.themeColor}),document.documentElement.setAttribute("data-theme",s.themeColor==="light"?"light":"dark"));const r=s.filterIrrelevant!==void 0?!!s.filterIrrelevant:!0;this.setState({showAll:!r}),s.logDir&&this.setState({logDir:s.logDir});const o=new URLSearchParams(window.location.search).get("theme");return(o==="light"||o==="dark")&&(this.setState({themeColor:o}),document.documentElement.setAttribute("data-theme",o)),s}).catch(()=>({})),fetch(K("/api/user-profile")).then(s=>s.json()).then(s=>this.setState({userProfile:s})).catch(()=>{}),fetch(K("/api/proxy-profiles")).then(s=>s.json()).then(s=>{if(!s.profiles)return;let r=s.active||"max";const o=s.defaultConfig;if(r==="max"&&(o!=null&&o.origin)){const l=s.profiles.find(c=>{if(c.id==="max"||!c.baseURL)return!1;try{if(new URL(c.baseURL).origin!==o.origin)return!1}catch{return!1}if(o.apiKey&&c.apiKey){const d=o.apiKey.slice(-4),p=c.apiKey.slice(-4);if(d!==p)return!1}return!(o.model&&c.activeModel&&o.model!==c.activeModel)});l&&(r=l.id,this.handleProxyProfileChange({active:l.id,profiles:s.profiles}))}this.setState({proxyProfiles:s.profiles,activeProxyId:r,defaultConfig:o||null})}).catch(()=>{});const n=new URLSearchParams(window.location.search).get("logfile");fetch(K("/api/project-name")).then(s=>s.json()).then(s=>{const r=s.projectName||"";this.setState({projectName:r}),r&&(document.title=r),oe&&r&&!n&&this.state.requests.length===0&&Ur(r).then(o=>{if(o&&this.state.requests.length===0){this._batchSlim(o);const{mainAgentSessions:l,filtered:c}=this._processEntries(o);if(l.length>Ge){const d=Kt(o,l),p=o.map(u=>u._slimmed?Ye(u,o):u),{hotEntries:g,allSessions:h}=Tt(p,l,d,Ge);this._sseSlimmer=null,this._sseReconstructor=null;const m=g.filter(u=>an(u));this._oldestTs=g.length>0?g[0].timestamp:null,this.setState({requests:g,selectedIndex:m.length>0?m.length-1:null,mainAgentSessions:h,sessionIndex:d,hasMoreHistory:!!this._oldestTs,fileLoading:!1})}else this._oldestTs=o.length>0?o[0].timestamp:null,this.setState({requests:o,selectedIndex:c.length>0?c.length-1:null,mainAgentSessions:l,hasMoreHistory:!!this._oldestTs,fileLoading:!1})}})}).catch(()=>{}),fetch("https://api.github.com/repos/weiesky/cc-viewer").then(s=>s.json()).then(s=>{s.stargazers_count!=null&&this.setState({githubStars:s.stargazers_count})}).catch(()=>{}),fetch(K("/api/cli-mode")).then(s=>s.json()).then(s=>{s.workspaceMode?this.setState({cliMode:!0,workspaceMode:!0,isWorkspaceServer:!0}):s.cliMode&&this.setState({cliMode:!0,sdkMode:!!s.sdkMode,viewMode:"chat"})}).catch(()=>{}),n?this.loadLocalLogFile(n):this.initSSE()}componentWillUnmount(){this.eventSource&&this.eventSource.close(),this._localLogES&&(this._localLogES.close(),this._localLogES=null),this._autoSelectTimer&&clearTimeout(this._autoSelectTimer),this._loadingCountTimer&&cancelAnimationFrame(this._loadingCountTimer),this._loadingCountRafId&&cancelAnimationFrame(this._loadingCountRafId),this._cacheSaveTimer&&clearTimeout(this._cacheSaveTimer),this._evictionTimer&&clearTimeout(this._evictionTimer),this._sseTimeoutTimer&&clearTimeout(this._sseTimeoutTimer),this._sseReconnectTimer&&clearTimeout(this._sseReconnectTimer),this._streamingOffTimer&&clearTimeout(this._streamingOffTimer),this._streamingRaf&&(cancelAnimationFrame(this._streamingRaf),this._streamingRaf=null),this._pendingStreamingLatest=null}_reconnectSSE(){if(this.state.streamingLatest&&this.setState({streamingLatest:null}),this._sseReconnectCount>=10){console.error("SSE reconnect limit reached");return}if(this._sseReconnectCount=(this._sseReconnectCount||0)+1,this.eventSource&&(this.eventSource.close(),this.eventSource=null),this._chunkedEntries&&this._chunkedEntries.length>0&&oe)try{const e=Ct([...this._chunkedEntries]);if(Array.isArray(e)&&e.length>0){this._batchSlim(e);const{mainAgentSessions:n}=this._processEntries(e);if(this.setState({requests:e,mainAgentSessions:n}),this.state.projectName){const s=Cs(),r=s&&s.projectName===this.state.projectName?s.count:0;e.length>=r&&Xe(this.state.projectName,e)}}}catch(e){console.warn("Failed to save partial entries on reconnect:",e)}this._teardownTransientLiveState(),this.setState({isStreaming:!1}),this._sseReconnectTimer&&clearTimeout(this._sseReconnectTimer),this._sseReconnectTimer=setTimeout(()=>{this.initSSE()},2e3)}animateLoadingCount(e,n){this._loadingCountTimer&&(cancelAnimationFrame(this._loadingCountTimer),this._loadingCountTimer=null);const s=Math.min(800,Math.max(300,e*.5)),r=performance.now(),o=l=>{const c=Math.min((l-r)/s,1),d=Math.round(c*e);this.setState({fileLoadingCount:d}),c<1?this._loadingCountTimer=requestAnimationFrame(o):(this._loadingCountTimer=null,n())};this._loadingCountTimer=requestAnimationFrame(o)}async loadMoreHistory(){if(!(!this.state.hasMoreHistory||this._loadingMore)){this._loadingMore=!0,this.setState({loadingMore:!0});try{const n=await(await fetch(K(`/api/entries/page?before=${encodeURIComponent(this._oldestTs)}&limit=100`))).json();if(Array.isArray(n.entries)&&n.entries.length>0){const r=[...Ct(n.entries),...this.state.requests];this._batchSlim(r);const{mainAgentSessions:o}=this._processEntries(r);if(this._oldestTs=n.oldestTimestamp,oe&&o.length>Ge){const l=Kt(r,o),c=Tn(this.state.sessionIndex,l),d=r.map(u=>u._slimmed?Ye(u,r):u),{hotEntries:p,allSessions:g,coldGroups:h}=Tt(d,o,c,Ge);this._sseSlimmer=null,this._sseReconstructor=null;const m=this.state.projectName;if(m){for(const[u,f]of h)Vt(m,u,f);qt(m,c),Xe(m,r)}this.setState({requests:p,mainAgentSessions:g,sessionIndex:c,hasMoreHistory:!!n.hasMore,loadingMore:!1})}else this.setState({requests:r,mainAgentSessions:o,hasMoreHistory:!!n.hasMore,loadingMore:!1}),oe&&this.state.projectName&&Xe(this.state.projectName,r)}else this.setState({hasMoreHistory:!1,loadingMore:!1})}catch(e){console.error("loadMoreHistory failed:",e),this.setState({loadingMore:!1})}this._loadingMore=!1}}initSSE(){try{let e="/events",n=!1;if(oe){const s=Cs();s&&s.lastTs&&s.count>0&&(e=`/events?since=${encodeURIComponent(s.lastTs)}&cc=${s.count}&project=${encodeURIComponent(s.projectName||"")}`,n=!0)}!n&&oe&&(e="/events?limit=200"),n||this.setState({fileLoading:!0,fileLoadingCount:0}),this.eventSource=new EventSource(K(e)),this.eventSource.onmessage=s=>{this._resetSSETimeout(),this.handleEventMessage(s)},this.eventSource.onopen=()=>{this._resetSSETimeout()},this.eventSource.addEventListener("stream-progress",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);if(this.state.requests.find(l=>l&&l.timestamp===r.timestamp&&!l.inProgress)||(this._pendingStreamingLatest={timestamp:r.timestamp,url:r.url,content:r.content||[],model:r.model,updatedAt:Date.now()},this._streamingRaf))return;this._streamingRaf=requestAnimationFrame(()=>{this._streamingRaf=null;const l=this._pendingStreamingLatest;this._pendingStreamingLatest=null,l&&me.startTransition(()=>{this.setState({streamingLatest:l})})})}catch{}}),this.eventSource.addEventListener("resume_prompt",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);(this._prefsReady||Promise.resolve({})).then(o=>{o!=null&&o.resumeAutoChoice?fetch(K("/api/resume-choice"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({choice:o.resumeAutoChoice})}).catch(l=>console.error("resume-choice failed:",l)):this.setState({resumeModalVisible:!0,resumeFileName:r.recentFileName||""})})}catch{}}),this.eventSource.addEventListener("resume_resolved",()=>{this._resetSSETimeout(),this.setState({resumeModalVisible:!1,resumeFileName:"",resumeRememberChoice:!1})}),this.eventSource.addEventListener("update_completed",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this.setState({updateInfo:{type:"completed",version:r.version}})}catch{}}),this.eventSource.addEventListener("update_major_available",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this.setState({updateInfo:{type:"major",version:r.version}})}catch{}}),this.eventSource.addEventListener("load_start",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this._chunkedEntries=[],this._chunkedTotal=r.total||0,this._isIncremental=!!r.incremental,this._hasMoreHistory=!!r.hasMore,this._oldestTs=r.oldestTs||null,this._isIncremental||this.setState({fileLoading:!0,fileLoadingCount:0})}catch{}}),this.eventSource.addEventListener("load_chunk",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);Array.isArray(r)&&(this._chunkedEntries.push(...r),!this._isIncremental&&!this._loadingCountRafId&&(this._loadingCountRafId=requestAnimationFrame(()=>{this._loadingCountRafId=null,this.setState({fileLoadingCount:this._chunkedEntries.length})})))}catch{}}),this.eventSource.addEventListener("load_end",()=>{this._resetSSETimeout(),this._loadingCountRafId&&(cancelAnimationFrame(this._loadingCountRafId),this._loadingCountRafId=null);const s=this._chunkedEntries;this._chunkedEntries=[],this._chunkedTotal=0;const r=this._isIncremental;this._isIncremental=!1;let o;if(r&&oe&&this.state.requests.length>0){if(s.length===0){this.setState({fileLoading:!1,fileLoadingCount:0});return}const c=(p,g)=>p.timestamp&&p.url?`${p.timestamp}|${p.url}`:`__nokey_c${g}`,d=new Map;this.state.requests.forEach((p,g)=>d.set(c(p,g),p)),s.forEach((p,g)=>d.set(p.timestamp&&p.url?`${p.timestamp}|${p.url}`:`__nokey_d${g}`,p)),o=Array.from(d.values())}else o=s;const l=Array.isArray(o)?Ct(o):o;if(Array.isArray(l)&&l.length>0){this._batchSlim(l);const{mainAgentSessions:c,filtered:d}=this._processEntries(l);if(oe&&c.length>Ge){const p=Kt(l,c),g=r?Tn(this.state.sessionIndex,p):p,h=l.map(k=>k._slimmed?Ye(k,l):k),{hotEntries:m,allSessions:u,coldGroups:f}=Tt(h,c,g,Ge);this._sseSlimmer=null,this._sseReconstructor=null;const _=this.state.projectName;if(_){for(const[k,C]of f)Vt(_,k,C);qt(_,g),Xe(_,l)}const v=m.filter(k=>an(k)),x={requests:m,selectedIndex:v.length>0?v.length-1:null,mainAgentSessions:u,sessionIndex:g,fileLoading:!1,fileLoadingCount:0};r||(x.hasMoreHistory=!!this._hasMoreHistory),this.setState(x)}else{const p={requests:l,selectedIndex:d.length>0?d.length-1:null,mainAgentSessions:c,fileLoading:!1,fileLoadingCount:0};r||(p.hasMoreHistory=!!this._hasMoreHistory),this.setState(p),oe&&this.state.projectName&&Xe(this.state.projectName,l)}}else this.setState({fileLoading:!1,fileLoadingCount:0})}),this.eventSource.addEventListener("full_reload",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);if(Array.isArray(r)){r.length>0&&this._batchSlim(r);const{mainAgentSessions:o,filtered:l}=r.length>0?this._processEntries(r):{mainAgentSessions:[],filtered:[]};r.length>0?this.animateLoadingCount(r.length,()=>{this.setState({requests:r,selectedIndex:l.length>0?l.length-1:null,mainAgentSessions:o,fileLoading:!1,fileLoadingCount:0,serverCachedContent:null}),oe&&this.state.projectName&&Xe(this.state.projectName,r)}):(this.setState({requests:r,selectedIndex:null,mainAgentSessions:o,fileLoading:!1,fileLoadingCount:0,serverCachedContent:null}),oe&&Gn())}else this.setState({fileLoading:!1,fileLoadingCount:0})}catch{this.setState({fileLoading:!1,fileLoadingCount:0})}}),this.eventSource.addEventListener("workspace_started",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this._loadingCountTimer&&(cancelAnimationFrame(this._loadingCountTimer),this._loadingCountTimer=null),this._rebuildRequestIndex([]),r.projectName&&(document.title=`${r.projectName} - CC Viewer`),this.setState({workspaceMode:!1,projectName:r.projectName||"",viewMode:"chat",cliMode:!0,requests:[],mainAgentSessions:[],selectedIndex:null,streamingLatest:null}),oe&&Gn()}catch{}}),this.eventSource.addEventListener("workspace_stopped",()=>{this._resetSSETimeout(),this._teardownTransientLiveState(),this._rebuildRequestIndex([]),this.setState({workspaceMode:!0,requests:[],mainAgentSessions:[],projectName:"",selectedIndex:null,streamingLatest:null})}),this.eventSource.addEventListener("context_window",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this.setState({contextWindow:r})}catch{}}),this.eventSource.addEventListener("kv_cache_content",s=>{var r,o,l;this._resetSSETimeout();try{const c=JSON.parse(s.data);c&&(((r=c.system)==null?void 0:r.length)>0||((o=c.messages)==null?void 0:o.length)>0||((l=c.tools)==null?void 0:l.length)>0)&&this.setState({serverCachedContent:c})}catch(c){console.error("Failed to parse kv_cache_content:",c)}}),this.eventSource.addEventListener("proxy_profile",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);r.active&&this.setState({activeProxyId:r.active}),r.profile&&fetch(K("/api/proxy-profiles")).then(o=>o.json()).then(o=>{o.profiles&&this.setState({proxyProfiles:o.profiles,activeProxyId:o.active||"max"})}).catch(()=>{})}catch{}}),this.eventSource.addEventListener("ping",()=>{this._resetSSETimeout()}),this.eventSource.addEventListener("streaming_status",s=>{this._resetSSETimeout();try{JSON.parse(s.data).active?(clearTimeout(this._streamingOffTimer),this.setState({isStreaming:!0})):(clearTimeout(this._streamingOffTimer),this._streamingOffTimer=setTimeout(()=>{this.setState({isStreaming:!1})},2e3))}catch(r){console.error("Failed to parse streaming_status:",r)}}),this.eventSource.onerror=()=>{console.error("SSE连接错误")}}catch(e){console.error("EventSource初始化失败:",e),this.setState({fileLoading:!1,fileLoadingCount:0})}}loadLocalLogFile(e){this._isLocalLog=!0,this._localLogFile=e,this.setState({fileLoading:!0,fileLoadingCount:0,serverCachedContent:null}),this._localLogES&&(this._localLogES.close(),this._localLogES=null);const n=[],s=new EventSource(K(`/api/local-log?file=${encodeURIComponent(e)}`));this._localLogES=s,s.addEventListener("load_start",r=>{try{const o=JSON.parse(r.data);this.setState({fileLoadingCount:0})}catch{}}),s.addEventListener("load_chunk",r=>{try{const o=JSON.parse(r.data);if(Array.isArray(o)){for(const l of o)n.push(l);this.setState({fileLoadingCount:n.length})}}catch{}}),s.addEventListener("load_end",()=>{s.close();const r=Ct(n);if(this._batchSlim(r),Array.isArray(r)&&r.length>0){const{mainAgentSessions:o,filtered:l}=this._processEntries(r);this.setState({requests:r,selectedIndex:l.length>0?l.length-1:null,mainAgentSessions:o,fileLoading:!1,fileLoadingCount:0,serverCachedContent:null})}else this.setState({fileLoading:!1,fileLoadingCount:0,serverCachedContent:null})}),s.onerror=()=>{s.close(),console.error("加载日志文件 SSE 连接错误"),this.setState({fileLoading:!1,fileLoadingCount:0})}}handleEventMessage(e){try{const n=JSON.parse(e.data);this._pendingEntries.push(n),this._flushRafId||(this._flushRafId=requestAnimationFrame(this._flushPendingEntries))}catch(n){console.error("处理事件消息失败:",n)}}async loadSession(e){if(this._loadingSessionId==null){this._loadingSessionId=e,this.setState({loadingSessionId:e});try{let n=await $r(this.state.projectName,e);if(!n||n.length===0){const s=(this.state.sessionIndex||[]).find(r=>r.sessionId===e);s&&s.lastTs&&(n=(await(await fetch(K(`/api/entries/page?before=${encodeURIComponent(s.lastTs)}&limit=200`))).json()).entries||[])}if(n&&n.length>0){const r=[...Ct(n),...this.state.requests];this._batchSlim(r);const{mainAgentSessions:o}=this._processEntries(r),l=Kt(r,o),c=Tn(this.state.sessionIndex,l),d=r.map(u=>u._slimmed?Ye(u,r):u),{hotEntries:p,allSessions:g,coldGroups:h}=Tt(d,o,c,Ge,new Set([e]));this._sseSlimmer=null,this._sseReconstructor=null;const m=this.state.projectName;if(m){for(const[u,f]of h)Vt(m,u,f);qt(m,c),Xe(m,r)}this.setState({requests:p,mainAgentSessions:g,sessionIndex:c,loadingSessionId:null})}else this.setState({loadingSessionId:null})}catch(n){console.error("loadSession failed:",n),this.setState({loadingSessionId:null})}this._loadingSessionId=null}}_evictColdSessions(){const{requests:e,mainAgentSessions:n,projectName:s}=this.state;if(!oe||n.length<=Ge)return;const r=e.map(p=>p._slimmed?Ye(p,e):p),{hotEntries:o,allSessions:l,coldGroups:c}=Tt(r,n,this.state.sessionIndex,Ge);this._sseSlimmer=null,this._sseReconstructor=null;const d=this.state.sessionIndex;if(s){for(const[p,g]of c)Vt(s,p,g);qt(s,d)}this.setState({requests:o,mainAgentSessions:l,sessionIndex:d})}mergeMainAgentSessions(e,n){return Gr(e,n)}renderLogTable(e,n){const s=[{title:"",dataIndex:"file",key:"check",width:40,fixed:n?"left":!1,render:r=>t.jsx(Qn,{checked:this.state.selectedLogs.has(r)||!1,onClick:o=>o.stopPropagation(),onChange:o=>{o.stopPropagation(),this.handleToggleLogSelect(r,o.target.checked)}})},{title:b("ui.logTime"),dataIndex:"timestamp",key:"time",width:n?150:180,render:r=>t.jsx("span",{className:Ze.tableTimestampCell,children:this.formatTimestamp(r,n)})},{title:b("ui.logPreview"),dataIndex:"preview",key:"preview",width:n?150:void 0,ellipsis:!0,render:r=>{if(!Array.isArray(r)||r.length===0)return"—";const o=r[0],l=o.length<=30&&r.length>1?`${o} | ${r[1]}`:o;return r.length<=1?t.jsx("span",{className:Ze.tablePreviewText,children:l}):t.jsx(Ke,{trigger:n?"click":"hover",placement:n?"bottomLeft":"leftTop",autoAdjustOverflow:{adjustX:!1,adjustY:!0},overlayInnerStyle:{background:"var(--bg-elevated)",border:"1px solid var(--border-hover)",borderRadius:8,padding:0,maxHeight:400,overflowY:"auto"},content:t.jsx("div",{className:Ze.previewPopover,children:r.map((c,d)=>t.jsx("div",{className:Ze.previewItem,children:t.jsx("pre",{className:Ze.previewText,children:c})},d))}),children:t.jsx("span",{className:Ze.tablePreviewTextClickable,style:{textDecoration:n?"underline dotted #666":"none"},children:l})})}},...n?[]:[{title:b("ui.logTurns"),dataIndex:"turns",key:"turns",width:80,render:r=>t.jsx(On,{className:Ze.tableTag,children:r||0})}],{title:b("ui.logSize"),dataIndex:"size",key:"size",width:90,render:r=>t.jsx(On,{className:Ze.tableTag,children:this.formatSize(r)})},{title:b("ui.logActions"),key:"actions",width:n?160:180,render:(r,o)=>t.jsxs("span",{className:Ze.tableActionsCell,children:[t.jsx(Le,{size:"small",type:"primary",onClick:l=>{l.stopPropagation(),this.handleOpenLogFile(o.file)},children:b("ui.openLog")}),t.jsx(Le,{size:"small",icon:t.jsx(Dn,{}),onClick:l=>{l.stopPropagation(),this.handleDownloadLogFile(o.file)},children:b("ui.downloadLog")})]})}];return t.jsx(Ua,{size:"small",dataSource:e,columns:s,rowKey:"file",pagination:!1,scroll:n?{x:"max-content",y:"calc(100vh - 160px)"}:{y:400},onRow:r=>({onClick:()=>{const o=!this.state.selectedLogs.has(r.file);this.handleToggleLogSelect(r.file,o)},style:{cursor:"pointer"}})})}formatTimestamp(e,n){return!e||e.length<15?e:n?`${e.slice(4,6)}-${e.slice(6,8)} ${e.slice(9,11)}:${e.slice(11,13)}:${e.slice(13,15)}`:`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)} ${e.slice(9,11)}:${e.slice(11,13)}:${e.slice(13,15)}`}formatSize(e){return e<1024?e+" B":e<1024*1024?(e/1024).toFixed(1)+" KB":(e/(1024*1024)).toFixed(1)+" MB"}renderPrepare(){const{requests:e,selectedIndex:n,showAll:s,fileLoading:r,fileLoadingCount:o,mainAgentSessions:l,viewMode:c}=this.state;(this._filteredSource!==e||this._filteredShowAll!==s)&&(this._filteredSource=e,this._filteredShowAll=s,this._filteredRequests=s?e:Sn(e));const d=this._filteredRequests;this._cacheLossShowAll!==s&&(this._cacheLossShowAll=s,this._cacheLossMap=new Map,this._cacheLossLastMainAgent=null,this._cacheLossProcessedCount=0),d.length<this._cacheLossProcessedCount&&(this._cacheLossMap=new Map,this._cacheLossLastMainAgent=null,this._cacheLossProcessedCount=0),d.length>this._cacheLossProcessedCount&&(this._cacheLossLastMainAgent=sa(this._cacheLossMap,d,this._cacheLossProcessedCount,this._cacheLossLastMainAgent),this._cacheLossProcessedCount=d.length);const p=n!==null?d[n]:null;return{filteredRequests:d,selectedRequest:p,fileLoading:r,fileLoadingCount:o,mainAgentSessions:l,viewMode:c}}renderWorkspaceMode(){return t.jsx($a,{theme:this.themeConfig,children:t.jsx(mr,{onLaunch:this.handleWorkspaceLaunch})})}get themeConfig(){return this.state.themeColor==="light"?{algorithm:ds.defaultAlgorithm,token:{colorPrimary:"#0969DA",colorBgContainer:"#FFFFFF",colorBgLayout:"#FAFAFA",colorBgElevated:"#FFFFFF",colorBorder:"#E0E0E0",controlOutline:"transparent",controlOutlineWidth:0}}:{algorithm:ds.darkAlgorithm,token:{colorPrimary:"#1668dc",colorBgContainer:"#111",colorBgLayout:"#0a0a0a",colorBgElevated:"#1e1e1e",colorBorder:"#2a2a2a",controlOutline:"transparent",controlOutlineWidth:0}}}}function Jl(a){return a()}Xr();const At=new Map,Yl=1024;function Qe(a){if(!a)return"";const i=At.get(a);if(i!==void 0)return i;let e;try{e=Jl(()=>_n.sanitize(ii.parse(a,{breaks:!0})))}catch{e=Hn(a)}return At.size>=Yl&&At.delete(At.keys().next().value),At.set(a,e),e}function Ql(a){if(!a)return["",""];if((a.match(/^```/gm)||[]).length%2===1)return["",a];if(/^\[[^\]]+\]:\s/m.test(a))return["",a];const e=a.lastIndexOf(`
|
|
345
|
+
`):JSON.stringify(a.content):String(a.content??"")}const zr=[{match:/claude/i,name:"Claude",color:"var(--bg-model-avatar)",svg:'<svg t="1771495509570" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1570" width="200" height="200"><path d="M198.4 678.4l198.4-115.2 6.4-12.8H243.2l-96-6.4-102.4-6.4-19.2-6.4-25.6-25.6v-12.8l19.2-12.8h32l64 6.4 96 6.4 70.4 6.4L384 512h19.2V492.8l-6.4-6.4-102.4-64-108.8-76.8-51.2-38.4-32-19.2-19.2-25.6-6.4-38.4 32-32h44.8l38.4 32 83.2 64L384 364.8l12.8 12.8 6.4-6.4-6.4-12.8L339.2 256l-64-108.8-25.6-38.4-6.4-25.6c0-12.8-6.4-19.2-6.4-32l32-44.8 19.2-6.4 44.8 6.4 19.2 12.8 25.6 57.6 44.8 96 64 128 19.2 38.4 6.4 38.4 6.4 12.8h6.4V384l6.4-70.4 12.8-89.6 12.8-115.2 6.4-32 19.2-38.4 32-19.2 25.6 12.8 19.2 32v19.2l-32 70.4-19.2 121.6-19.2 83.2h6.4l12.8-12.8 44.8-57.6 70.4-89.6 32-32 38.4-38.4 25.6-19.2h44.8l32 51.2-12.8 51.2-51.2 57.6-38.4 51.2-51.2 70.4-38.4 57.6v6.4h6.4l121.6-25.6 64-12.8 76.8-12.8 38.4 19.2 6.4 19.2-12.8 32-83.2 19.2-96 19.2-147.2 32 64 6.4h96l128 6.4 32 19.2 25.6 38.4-6.4 19.2-51.2 25.6-70.4-12.8-160-38.4-57.6-12.8h-6.4v6.4l44.8 44.8 83.2 76.8 108.8 102.4 6.4 25.6-12.8 19.2h-12.8l-96-70.4-38.4-32-83.2-70.4h-6.4v6.4l19.2 25.6 102.4 147.2 6.4 44.8-6.4 12.8-25.6 6.4-25.6-6.4-57.6-83.2-64-83.2-51.2-83.2-6.4 6.4-25.6 307.2-12.8 12.8-32 12.8-25.6-19.2-12.8-32 12.8-64 19.2-83.2 12.8-64 12.8-83.2 6.4-25.6h-6.4l-64 83.2-96 128-70.4 76.8-19.2 6.4-32-12.8v-25.6l19.2-25.6 102.4-128 64-83.2 38.4-51.2v-6.4l-268.8 172.8-51.2 12.8-19.2-19.2v-32l12.8-12.8 76.8-57.6z m0 0" fill="#D97757" p-id="1571"></path></svg>',svgAnimated:Ar},{match:/gpt|o1|o3|o4/i,name:"OpenAI",color:"var(--bg-model-avatar)",svg:'<svg t="1771495569354" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2752" width="200" height="200"><path d="M565.265178 954.519092c-22.289934 0-48.400999-8.151747-67.952455-14.838727a103.425292 103.425292 0 0 1-26.875292-11.272338c-12.737105-7.769634-15.411897-8.342804-19.806198-24.773669 21.971506-5.158528 81.581157-41.905075 103.871091-55.342721 148.896757-89.159735 119.028246-10.444426 119.028246-364.981743 15.029784 3.566389 82.791182 32.415932 82.791182 57.316972 0 133.102747 20.570425 273.847757-52.604243 354.91943-22.799418 25.47421-91.834527 58.972796-138.388646 58.972796z m-433.061569-299.321966c258.626916 136.860193 184.369594 157.048504 357.721593 52.094759 44.579867-27.193719 90.433445-49.292596 132.593263-77.568969v101.896839c-95.528287 22.226248-272.319304 227.038896-419.050754 100.686815l-25.856323-25.155782c-37.319718-43.943012-45.344094-72.410442-45.344094-151.889977z m375.744596-19.105658c-19.933569-13.310275-79.479535-51.330533-101.896839-57.316972v-133.739602a1158.312326 1158.312326 0 0 0 101.896839-57.316973c43.943012 10.189684 70.690933 47.063603 114.633945 57.316973v127.371049c-17.831947 12.10025-95.846715 58.718054-114.633945 63.749211z m-426.693016-178.31947c0-63.685525-4.26693-90.306074 38.84817-145.776166 23.945757-30.88748 47.509402-39.612396 82.090641-57.953828v261.110652c44.134069 23.372588 83.873836 49.037854 129.345301 74.448379l131.765351 78.396881c-59.545966 15.921381-63.685525 61.32916-109.602788 33.753328-104.699003-62.730242-272.38299-129.345301-272.38299-243.91556z m866.123138 127.37105c0 79.543221-47.573087 161.188063-121.002497 178.31947v-165.582365c0-82.791182 9.743885-84.574377-48.910483-116.608196L565.265178 362.371082c15.79401-23.62733 22.608361-19.105657 48.146256-34.835982 41.714019-25.47421 39.039227-16.112438 117.053995 28.785857 94.190891 54.196382 216.849212 100.559444 216.849212 228.885777z m-541.326961-197.425127v-95.528287c43.751956-23.181531 90.688187-50.94842 133.357489-76.804743 82.154327-49.547338 95.528287-63.303412 185.006449-63.303412 48.464684 0 102.533695 36.746548 125.651541 65.405034 42.223503 52.22213 39.930824 92.662439 39.930824 151.125751-31.078536-16.494551-192.393971-121.002497-222.899337-121.002498s-229.650003 123.422547-261.110652 140.108155z m-50.94842 159.213812c-16.36718-10.95391-63.112355-39.99451-82.791183-44.579867 0-168.320842-33.880699-314.606493 67.952455-390.519639 56.043262-41.714019 113.169178-53.814269 181.376375-30.696423 25.47421 8.661231 35.536523 20.888852 56.36169 26.429493-11.781822 16.048752-80.68956 50.311565-102.278953 63.303412-154.564769 93.235608-120.620384 7.451206-120.620384 376.063024z m-292.953415 121.002498c0 169.148754 115.143429 280.853165 274.293556 273.847756 59.800708-2.674792 26.811606-7.705949 69.417222 25.47421 97.820966 76.741057 228.822091 73.747838 319.637649 1.018969a251.939936 251.939936 0 0 0 52.604244-55.661149c58.20857-85.274918-10.95391-45.598836 81.96327-83.619094 130.236898-53.241099 199.399378-217.358696 128.64476-355.428914-27.448461-53.559526-40.249252-28.849543-28.276373-104.699003 18.723544-118.582447-63.176041-230.032116-157.621674-269.771884-98.90362-41.586648-129.090559 12.737105-178.892639-37.574459A161.888604 161.888604 0 0 0 580.103905 28.913674C474.003821-27.766443 331.284559 1.528898 258.428319 93.681853c-81.326415 102.979494 9.489143 54.705866-92.407697 98.648878C15.149614 257.353652-33.251385 439.175825 41.579107 561.06992c56.807488 92.598753 20.570425 4.967471 20.570424 106.800625z" fill="#EFA474" p-id="2753"></path></svg>'},{match:/gemini/i,name:"Gemini",color:"var(--bg-model-avatar)",svg:'<svg t="1771495622863" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4556" width="200" height="200"><path d="M960 512.896A477.248 477.248 0 0 0 512.896 960h-1.792A477.184 477.184 0 0 0 64 512.896v-1.792A477.184 477.184 0 0 0 511.104 64h1.792A477.248 477.248 0 0 0 960 511.104z" fill="#448AFF" p-id="4557"></path></svg>'},{match:/qwen/i,name:"Qwen",color:"var(--bg-model-avatar)",svg:'<svg t="1771495640319" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5634" width="200" height="200"><path d="M537.782857 57.161143c16.749714 29.44 33.426286 58.953143 50.102857 88.502857a7.68 7.68 0 0 0 6.692572 3.913143h236.873143c7.424 0 13.750857 4.681143 19.017142 13.933714l62.061715 109.677714c8.082286 14.372571 10.24 20.370286 1.024 35.693715a2262.893714 2262.893714 0 0 0-32.438857 55.478857l-15.652572 28.086857c-4.534857 8.338286-9.508571 11.922286-1.718857 21.833143l113.152 197.851428c7.314286 12.8 4.754286 21.065143-1.828571 32.841143-18.651429 33.499429-37.632 66.742857-56.978286 99.84-6.765714 11.593143-14.994286 16.018286-29.001143 15.798857a1833.398857 1833.398857 0 0 0-99.291429 0.658286 4.242286 4.242286 0 0 0-3.437714 2.157714 24571.830857 24571.830857 0 0 1-115.419428 202.24c-7.204571 12.507429-16.201143 15.469714-30.939429 15.506286-42.532571 0.146286-85.430857 0.182857-128.731429 0.109714a22.930286 22.930286 0 0 1-19.821714-11.556571l-56.978286-99.108571a3.84 3.84 0 0 0-3.547428-2.121143h-218.331429a76.288 76.288 0 0 1-34.377143-3.913143l-68.388571-118.198857a23.149714 23.149714 0 0 1-0.073143-23.04l51.492572-90.441143a8.448 8.448 0 0 0 0-8.411429 23594.496 23594.496 0 0 1-80.018286-139.593143L47.542857 425.325714c-6.838857-13.202286-7.387429-21.138286 4.022857-41.179428 19.858286-34.669714 39.570286-69.302857 59.209143-103.936 5.632-9.984 12.946286-14.262857 24.905143-14.262857 36.827429-0.182857 73.654857-0.182857 110.445714-0.073143 1.901714 0 3.657143-1.024 4.571429-2.669715l119.734857-208.859428a20.845714 20.845714 0 0 1 17.993143-10.496c22.381714-0.036571 44.946286 0 67.547428-0.256l43.410286-0.987429c14.555429-0.109714 30.866286 1.389714 38.4 14.518857z m-146.432 17.188571a2.56 2.56 0 0 0-2.194286 1.28l-122.331428 213.942857a6.692571 6.692571 0 0 1-5.741714 3.364572H138.788571c-2.377143 0-2.962286 1.060571-1.755428 3.145143l247.917714 433.334857c1.060571 1.792 0.548571 2.633143-1.462857 2.669714l-119.222857 0.658286a9.289143 9.289143 0 0 0-8.557714 4.937143l-56.32 98.56c-1.865143 3.328-0.914286 5.046857 2.925714 5.046857l243.858286 0.365714c1.974857 0 3.401143 0.841143 4.425142 2.56l59.867429 104.704c1.974857 3.474286 3.913143 3.510857 5.924571 0l213.577143-373.76 33.426286-58.953143a2.340571 2.340571 0 0 1 4.096 0l60.745143 107.958857a5.193143 5.193143 0 0 0 4.571428 2.633143l117.906286-0.841143a1.718857 1.718857 0 0 0 1.462857-2.56l-123.721143-217.014857a4.608 4.608 0 0 1 0-4.827428l12.507429-21.613715 47.798857-84.370285c1.024-1.755429 0.512-2.633143-1.499428-2.633143H392.521143c-2.486857 0-3.108571-1.097143-1.828572-3.291429l61.184-106.861714a4.571429 4.571429 0 0 0 0-4.864l-58.258285-102.253714a2.56 2.56 0 0 0-2.267429-1.316572z m268.361143 342.198857c1.974857 0 2.486857 0.841143 1.462857 2.56l-35.474286 62.500572-111.542857 195.620571a2.377143 2.377143 0 0 1-2.121143 1.243429 2.486857 2.486857 0 0 1-2.121142-1.243429l-147.346286-257.353143c-0.841143-1.462857-0.402286-2.230857 1.206857-2.304l9.216-0.512 286.793143-0.512h-0.073143z" fill="#7D5DED" p-id="5635"></path></svg>'},{match:/kimi|moonshot/i,name:"Kimi",color:"var(--bg-model-avatar)",svg:'<svg t="1771495664798" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6649" width="200" height="200"><path d="M731.062857 590.262857v318.317714h-148.589714V443.977143a146.285714 146.285714 0 0 1-146.285714 146.285714l-214.491429-0.036571v318.354285H73.142857V165.814857h148.553143v275.858286h180.882286l119.771428-275.858286h167.753143l-67.84 156.269714a255.524571 255.524571 0 0 1-106.678857 119.588572h66.925714a148.553143 148.553143 0 0 1 148.516572 148.589714z m120.758857-473.965714a99.035429 99.035429 0 0 1 0 198.070857h-99.035428V215.332571a99.035429 99.035429 0 0 1 99.035428-99.035428z" fill="currentColor" p-id="6650"></path></svg>'},{match:/glm|chatglm/i,name:"GLM",color:"var(--bg-model-avatar)",svg:'<svg data-name="glm" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 217.2 200"> <defs> <style> .st0 { fill: currentColor; } </style> </defs> <path class="st0" d="M86.8,190.4H0L131.3,4.8h85.8L86.8,190.4h0ZM212.8,190h-107.9l14.9-21.6c2.3-3.3,6-5.2,9.9-5.2h83.1v26.8h0ZM99.4,26.3c-2.3,3.3-6,5.2-9.9,5.2H6.4V4.8h107.9l-14.9,21.6Z"/> </svg>'},{match:/minimax|abab/i,name:"MiniMax",color:"var(--bg-model-avatar)",svg:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M4 8l4-4 4 4 4-4 4 4v8l-4 4-4-4-4 4-4-4z" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/></svg>'},{match:/deepseek/i,name:"DeepSeek",color:"var(--bg-model-avatar)",svg:'<svg t="1771495947541" class="icon" viewBox="0 0 1391 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11539" width="200" height="200"><path d="M1326.70201318 112.02090779c-12.94676356-6.47485468-18.53640721 5.86654827-26.0997327 12.13814316-2.57756953 2.02376031-4.77807747 4.65435413-6.9785854 7.08168819-18.91788751 20.63528526-41.02017805 34.19182812-69.92725218 32.57311444-42.23384508-2.42733405-78.29772513 11.12773591-110.16384908 44.10589703-6.77679853-40.66668282-29.28560862-64.94444203-63.55255448-80.52327231-17.95608583-8.09209545-36.06388005-16.1856638-48.63358202-33.78825438-8.74900746-12.5431898-11.12773591-26.50330641-15.52727888-40.26016327-2.7823022-8.29535522-5.56460442-16.79249731-14.92044538-18.20942411-10.19244639-1.61871367-14.16337637 7.08168818-18.15934561 14.36516325-15.93232553 29.74073376-22.12880269 62.51710799-21.49692994 95.69705596 1.36684831 74.65672404 32.27117059 134.13819156 93.62469006 176.42358804 6.9800583 4.8546681 8.77551959 9.71080912 6.57501165 16.79102439-4.17271686 14.56695011-9.18056624 28.7303265-13.55506995 43.29727663-2.78377509 9.30723537-6.95501906 11.32952278-16.74241882 7.28347507-33.66158524-14.36516325-62.745407-35.60875491-88.46513227-61.30196806-43.62425973-43.09548975-83.0772755-90.64060097-132.26613965-127.86659667a581.67054343 581.67054343 0 0 0-35.07703915-24.48101901c-50.20074429-49.77065841 6.57501167-90.63912807 19.72650789-95.49526908 13.73181759-5.05792788 4.77955037-22.4572587-39.65480265-22.25547181s-85.07599655 15.3770434-136.87041526 35.60875491c-7.58541892 3.03416756-15.55379103 5.25971475-23.69596499 7.08168819-47.03990759-9.10544849-95.84876434-11.12773591-146.8596019-5.26118765-96.02551195 10.92594905-172.73103555 57.25739323-229.12678412 136.36373875-67.72674425 95.09022244-83.68558192 203.13015422-64.13582165 315.82149435 20.48504978 118.76262107 79.88992666 217.09027084 171.13736114 293.97106918 94.6350973 79.71317902 203.61031862 118.76262107 327.93607117 111.27735913 75.51542292-4.45256725 159.57953934-14.77020989 254.41642354-96.71040901 23.92426399 12.13961607 49.03715574 16.99575708 90.66564019 20.63675815 32.09295007 3.03416756 62.97223311-1.61871367 86.87145788-6.67664152 37.45429471-8.09209545 34.84874013-43.49906349 21.31870939-49.97244528-109.7838417-52.19946535-85.68283009-30.95587367-107.58333373-48.15194474 55.78891504-67.37324899 139.85303146-137.3770918 172.73103555-364.17669887 2.60408167-18.00616433 0.40357375-29.33568711 0-43.90263724-0.20325977-8.90218873 1.76894914-12.34287584 11.75960867-13.35328309 27.49014733-3.23742733 54.19671351-10.92594905 78.70277179-24.68280588 71.11440706-39.65480265 99.81822142-104.80250446 106.59649284-182.89844271 1.01188015-11.9363563-0.20178686-24.27775924-12.56970195-30.54935413M706.87018452 814.87993343c-106.36966673-85.37941333-157.98733782-113.5014334-179.30604722-112.28776638-19.92829476 1.21366703-16.33737217 24.48101902-11.96286844 39.65480264 4.5777635 14.97199677 10.57098089 25.2896394 18.94145384 38.44113563 5.76786417 8.70040186 9.76383341 21.64863831-5.78995762 31.35944742-34.26841876 21.64863831-93.82647692-7.28347506-96.60730623-8.69892897-69.3454579-41.67856295-127.33635378-96.710409-168.1797842-171.97249368-39.45154288-72.43117687-62.33888747-150.1220685-66.13306983-233.07267483-1.01188015-20.02992464 4.77955037-27.11161282 24.27923214-30.75408682a235.19659216 235.19659216 0 0 1 77.91771774-2.02228741c108.59668681 16.18713669 201.05631542 65.75453531 278.54394728 144.25552022 44.23256614 44.71125762 77.69089163 98.12439001 112.1861365 150.32385536 36.64567431 55.43394691 76.0986901 108.24024576 126.29943438 151.53604947 17.72778682 15.17378365 31.86465106 26.7065662 45.41972102 35.20370829-40.84343042 4.65435413-108.99878765 5.66476139-155.60860936-31.96628094m51.00936468-334.83953883c0-8.90218873 6.9815312-15.98387693 15.75557791-15.98387693q2.98408908 0.05155138 5.36134463 1.01188017a15.85720779 15.85720779 0 0 1 10.16740714 14.97199676 15.78061715 15.78061715 0 0 1-15.73053865 15.98387691 15.60386953 15.60386953 0 0 1-15.55379103-15.98387691m158.39238446 82.95060635c-10.1423679 4.24930749-20.30830215 7.89178146-30.09570191 8.29535522-15.12370514 0.81009328-31.66286419-5.46150162-40.61513142-13.15002332-13.96011661-11.93782919-23.92573689-18.61447073-28.09845373-39.45301577-1.79546129-8.90218873-0.81009328-22.65904557 0.78505403-30.54935414 3.59092258-16.99575708-0.40504665-27.92023321-12.13961606-37.8343021-9.55910075-8.09356835-21.72522894-10.31911553-35.07703915-10.31911552-4.98281013 0-9.55910075-2.22407429-12.94823645-4.04604774a13.27669246 13.27669246 0 0 1-5.76639128-18.61299783c1.39041466-2.8323807 8.16868608-9.71228202 9.7623605-10.92594905 18.13136058-10.52090241 39.04649623-7.08021529 58.36795748 0.81009328 17.93104659 7.48526194 31.46107731 21.24359167 51.01083757 40.6666828 19.92829476 23.46913885 23.51921733 29.94399353 34.84874013 47.54511123 8.97877936 13.75685685 17.14746545 27.92023321 22.71206987 44.10442409 3.41270206 10.11732865-0.98684091 18.41121097-12.74644958 23.46913885" fill="#4D6BFE" p-id="11540"></path></svg>'}],xs=new Map;function _t(a){if(!a)return null;const i=xs.get(a);if(i)return i;let e=null;for(const n of zr)if(n.match.test(a)){e={name:a.replace(/^claude-/,"").replace(/-\d{8,}$/,""),provider:n.name,color:n.color,svg:n.svg,svgAnimated:n.svgAnimated||null};break}return e||(e={name:a,provider:a,color:"var(--bg-model-avatar)",svg:null}),xs.set(a,e),e}const Ir={Claude:3,OpenAI:3,Gemini:5,DeepSeek:5,Qwen:5,GLM:10,Kimi:10,MiniMax:10},Pr=10;function Ls(a){const i=_t(a);return i&&Ir[i.provider]||Pr}function sn(a){return a==="user"?'<svg viewBox="0 0 24 24"><path d="M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z"/></svg>':a==="agent"?'<svg viewBox="0 0 24 24"><path d="M12 2a2 2 0 012 2c0 .74-.4 1.39-1 1.73V7h1a7 7 0 017 7h1a1 1 0 011 1v3a1 1 0 01-1 1h-1.17A7 7 0 0113 22h-2a7 7 0 01-6.83-3H3a1 1 0 01-1-1v-3a1 1 0 011-1h1a7 7 0 017-7h1V5.73c-.6-.34-1-.99-1-1.73a2 2 0 012-2zM9.5 13a1.5 1.5 0 100 3 1.5 1.5 0 000-3zm5 0a1.5 1.5 0 100 3 1.5 1.5 0 000-3z"/></svg>':a==="sub-search"||a==="sub-explore"?'<svg viewBox="0 0 1024 1024"><path d="M128.957606 76.608479v495.401496c0 20.428928-17.875312 38.304239-38.304239 38.304239S52.349127 592.438903 52.349127 572.009975V38.304239c0-20.428928 17.875312-38.304239 38.30424-38.304239h426.453865c20.428928 0 38.304239 17.875312 38.304239 38.304239s-17.875312 38.304239-38.304239 38.30424H128.957606z m127.680798 127.680798v495.401496c0 20.428928-17.875312 38.304239-38.304239 38.304239S180.029925 720.119701 180.029925 699.690773V165.985037c0-20.428928 17.875312-38.304239 38.30424-38.304239h426.453865c20.428928 0 38.304239 17.875312 38.304239 38.304239s-17.875312 38.304239-38.304239 38.30424H256.638404z m579.670823 291.112219v-150.663341H399.640898v515.830424h76.608479c0 38.304239 30.643392 68.947631 43.411471 89.376558h-145.55611c-33.197007 0-61.286783-28.089776-61.286783-63.840399V321.755611c0-35.750623 28.089776-63.840399 61.286783-63.840399h490.294264c33.197007 0 61.286783 28.089776 61.286784 63.840399V564.349127c-20.428928-22.982544-58.733167-56.179551-89.376559-68.947631zM486.46384 411.13217h255.361596c15.321696 0 25.53616 10.214464 25.53616 25.536159s-10.214464 25.53616-25.53616 25.53616H486.46384c-15.321696 0-25.53616-10.214464-25.536159-25.53616s10.214464-25.53616 25.536159-25.536159z m0 102.144638h102.144639c15.321696 0 25.53616 10.214464 25.536159 25.53616s-10.214464 25.53616-25.536159 25.536159h-102.144639c-15.321696 0-25.53616-10.214464-25.536159-25.536159s10.214464-25.53616 25.536159-25.53616z m503.062345 492.84788c-2.553616 2.553616-7.660848 10.214464-12.76808 10.214464-10.214464 10.214464-35.750623 10.214464-45.965088 0l-81.71571-71.501247c-28.089776 17.875312-63.840399 28.089776-99.591023 28.089776-102.144638 0-186.413965-84.269327-186.413965-186.413965s84.269327-186.413965 186.413965-186.413965 186.413965 84.269327 186.413965 186.413965c0 38.304239-10.214464 71.501247-30.643391 99.591022l81.715711 71.501247c12.76808 12.76808 12.76808 35.750623 2.553616 48.518703z m-240.039901-324.309227c-58.733167 0-104.698254 48.518703-104.698254 104.698255 0 58.733167 48.518703 104.698254 104.698254 104.698254s104.698254-48.518703 104.698255-104.698254c2.553616-58.733167-45.965087-104.698254-104.698255-104.698255z" fill="currentColor"/></svg>':a==="sub-plan"?'<svg viewBox="0 0 1024 1024"><path d="M674.507676 598.338391 287.079856 598.338391c-14.136975 0-25.638937 11.499915-25.638937 25.63689 0 14.137998 11.501962 25.640983 25.638937 25.640983l387.42782 0c14.137998 0 25.640983-11.501962 25.640983-25.640983C700.148659 609.838306 688.646698 598.338391 674.507676 598.338391zM794.746154 384.583029c-14.137998 0-25.640983 11.501962-25.640983 25.63996l0 494.299873c0 0.130983 0 0.280386-0.001023 0.433882-0.899486 0.279363-2.665713 0.644683-5.764284 0.644683L200.047664 905.601426c-4.312212 0-7.564279-2.971681-7.564279-6.913457L192.483384 191.851493c0-4.493338 0.974188-8.28878 1.811252-9.821693l373.337917 0c14.136975 0 25.63996-11.501962 25.63996-25.63996 0-14.136975-11.501962-25.638937-25.63996-25.638937l-374.069581 0c-30.336936 0-52.357462 25.696242-52.357462 61.099566l0 706.836477c0 32.086789 26.396183 58.19133 58.84113 58.19133l563.293223 0c34.119075 0 57.042157-21.041222 57.042157-52.356438L820.382021 410.224012C820.383044 396.086014 808.883129 384.583029 794.746154 384.583029zM674.507676 745.295394 287.079856 745.295394c-14.136975 0-25.638937 11.499915-25.638937 25.63689 0 14.137998 11.501962 25.640983 25.638937 25.640983l387.42782 0c14.137998 0 25.640983-11.501962 25.640983-25.640983C700.148659 756.795309 688.646698 745.295394 674.507676 745.295394zM879.595634 157.107177c-3.77293-14.409175-12.871145-28.250414-24.964578-37.975916l-43.827181-35.240619c-12.880355-10.352789-29.27679-16.290011-44.986587-16.290011-16.876366 0-31.594579 6.747681-41.439808 18.995633l-19.624966 24.381293c-6.380314 7.968485-7.987928 17.577331-5.222955 26.916023l-114.241904 142.063553-2.486634 3.090385-22.812565 85.303828c-9.749038 30.859845 4.449335 48.075949 13.806447 55.608505 6.783497 5.450129 14.468526 8.728802 22.851451 9.754155 0.984421 0.246617 2.125407 0.488117 3.440355 0.632403 1.003863 0.110517 2.053776 0.167822 3.118014 0.167822l0.014326 0c4.588505 0 10.047844-0.9967 17.180288-3.13541l2.877537-1.065262 83.402525-41.897226 119.874181-149.07934c0.440022 0.017396 0.880043 0.032746 1.320065 0.032746 9.218966 0 17.411555-3.862981 23.077601-10.892071l19.562545-24.342408C880.924909 191.1976 884.15037 174.495196 879.595634 157.107177zM674.469813 348.564697l-56.738235 28.537963c-2.958378 0.579191-5.734608 1.684362-8.277524 3.296069-0.313132 0.198521-0.615007 0.385786-0.905626 0.562818 0.12382-0.318248 0.25378-0.639566 0.39295-0.971118 0.99977-2.437515 1.588171-5.022387 1.753947-7.702426l17.732873-66.078974 105.73209-131.488707 48.647977 39.113833L674.469813 348.564697zM831.385633 172.919305l-7.679913 9.550517-68.139913-54.779627 7.687076-9.56382c0.291642-0.132006 1.144056-0.38374 2.604314-0.38374 4.28356 0 9.735735 2.071172 13.570063 5.15644l43.832298 35.245735c3.493567 2.805906 6.421246 7.018857 7.642051 10.993378C831.497173 171.081447 831.492056 172.446537 831.385633 172.919305zM487.474932 291.067168l-200.394053 0c-14.136975 0-25.638937 11.501962-25.638937 25.63996 0 14.136975 11.501962 25.637913 25.638937 25.637913l200.394053 0c14.137998 0 25.63996-11.500938 25.63996-25.637913C513.114892 302.56913 501.611907 291.067168 487.474932 291.067168zM674.507676 438.023148 287.079856 438.023148c-14.136975 0-25.638937 11.500938-25.638937 25.638937s11.501962 25.638937 25.638937 25.638937l387.42782 0c14.137998 0 25.640983-11.501962 25.640983-25.638937S688.646698 438.023148 674.507676 438.023148z" fill="currentColor"/></svg>':a==="teammate"?'<svg viewBox="0 0 24 24"><path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z" fill="currentColor"/></svg>':'<svg viewBox="0 0 1024 1024"><path d="M810.666667 384l53.333333-117.333333L981.333333 213.333333l-117.333333-53.333333L810.666667 42.666667l-53.333334 117.333333L640 213.333333l117.333333 53.333334L810.666667 384zM810.666667 640l-53.333334 117.333333L640 810.666667l117.333333 53.333333L810.666667 981.333333l53.333333-117.333333L981.333333 810.666667l-117.333333-53.333334L810.666667 640zM490.666667 405.333333L384 170.666667 277.333333 405.333333 42.666667 512l234.666666 106.666667L384 853.333333l106.666667-234.666666L725.333333 512l-234.666666-106.666667z m-64.426667 148.906667L384 647.253333l-42.24-93.013333L248.746667 512l93.013333-42.24L384 376.746667l42.24 93.013333 93.013333 42.24-93.013333 42.24z" fill="currentColor"/></svg>'}function Mr(a){return a==null||a===0?"0":a>=1e6?(a/1e6).toFixed(1)+"M":a>=1e3?(a/1e3).toFixed(1)+"K":String(a)}function Ot(a){if(Array.isArray(a))return a.map(Ot);if(a&&typeof a=="object"){const i={};for(const e of Object.keys(a))e.startsWith("_")||(i[e]=Ot(a[e]));return i}return a}function Ay(a){var e,n,s;const i={};for(const r of a){const o=(n=(e=r.response)==null?void 0:e.body)==null?void 0:n.usage;if(!o)continue;const l=((s=r.body)==null?void 0:s.model)||"unknown";i[l]||(i[l]={input:0,output:0,cacheCreation:0,cacheRead:0});const c=i[l];c.input+=o.input_tokens||0,c.output+=o.output_tokens||0,c.cacheCreation+=o.cache_creation_input_tokens||0,c.cacheRead+=o.cache_read_input_tokens||0}return i}function Ny(a){var n,s,r;const i={ttl:{count:0,cacheCreate:0},system_change:{count:0,cacheCreate:0},tools_change:{count:0,cacheCreate:0},model_change:{count:0,cacheCreate:0},msg_truncated:{count:0,cacheCreate:0},msg_modified:{count:0,cacheCreate:0},key_change:{count:0,cacheCreate:0}},e=Rr(a);for(const[o,l]of e){const c=((r=(s=(n=a[o].response)==null?void 0:n.body)==null?void 0:s.usage)==null?void 0:r.cache_creation_input_tokens)||0,d=l.reasons||[l.reason];for(const p of d)i[p]&&(i[p].count++,i[p].cacheCreate+=c)}return i}function Ry(a){var e,n;const i={};for(const s of a){const r=(n=(e=s.response)==null?void 0:e.body)==null?void 0:n.content;if(Array.isArray(r))for(const o of r)o.type==="tool_use"&&o.name&&(i[o.name]=(i[o.name]||0)+1)}return Object.entries(i).sort((s,r)=>r[1]-s[1])}function jy(a){var e;const i={};for(const n of a){const s=(e=n.body)==null?void 0:e.messages;if(Array.isArray(s))for(const r of s){if(r.role!=="user")continue;const o=r.content;if(Array.isArray(o))for(const l of o){if(l.type!=="text"||!$n(l.text))continue;const c=l.text.match(/^#\s+(.+)$/m),d=c?c[1]:"Skill";i[d]=(i[d]||0)+1}}}return Object.entries(i).sort((n,s)=>s[1]-n[1])}function ws(a){return typeof a!="string"?!1:a.includes("<system-reminder>")&&a.includes("# claudeMd")}function Ss(a){return typeof a!="string"?!1:a.includes("<system-reminder>")&&a.includes("skills are available")}function zy(a){const i=a==null?void 0:a.messages;if(!Array.isArray(i))return!1;for(const e of i){const n=e==null?void 0:e.content;if(typeof n=="string"){if(ws(n))return!0}else if(Array.isArray(n)){for(const s of n)if(s.type==="text"&&ws(s.text))return!0}}return!1}function Iy(a){const i=a==null?void 0:a.messages;if(!Array.isArray(i))return!1;for(const e of i){const n=e==null?void 0:e.content;if(typeof n=="string"){if(Ss(n))return!0}else if(Array.isArray(n)){for(const s of n)if(s.type==="text"&&Ss(s.text))return!0}}return!1}function Py(a){return a?a.replace(/^claude-/,"").replace(/-\d{8,}$/,""):null}function an(a){var e,n,s;if(!a)return!1;const i=a.url||"";return!(a.isHeartbeat||a.isCountTokens||/\/api\/eval\/sdk-/.test(i)||/\/messages\/count_tokens/.test(i)||a.inProgress===!0||a.response&&a.response.status===0||((e=a.body)==null?void 0:e.max_tokens)===1&&!((n=a.body)!=null&&n.system)&&(!((s=a.body)!=null&&s.tools)||a.body.tools.length===0))}function Sn(a){return a.filter(an)}function My(a,i){for(let e=i-1;e>=0;e--)if(Fe(a[e])&&a[e].timestamp)return a[e].timestamp;return null}function Br(a){var r,o,l,c;if(!Array.isArray(a)||a.length===0)return null;let i=null;if(a.length===1)i=a[0];else{let d=null,p=null;for(let g=a.length-1;g>=0;g--)if(Fe(a[g])&&(d||(d=a[g]),(o=(r=a[g].response)==null?void 0:r.body)!=null&&o.usage)){p=a[g];break}i=p||d}if(!i||!i.body)return null;const e=i.body,n=(c=(l=i.response)==null?void 0:l.body)==null?void 0:c.usage,s={system:[],messages:[],tools:[],cacheCreateTokens:(n==null?void 0:n.cache_creation_input_tokens)||0,cacheReadTokens:(n==null?void 0:n.cache_read_input_tokens)||0};if(Array.isArray(e.system)){let d=-1;for(let p=e.system.length-1;p>=0;p--)if(e.system[p].cache_control){d=p;break}if(d>=0)for(let p=0;p<=d;p++){const g=e.system[p];g.type==="text"&&g.text&&s.system.push(g.text)}}if(Array.isArray(e.messages)){let d=-1;for(let p=e.messages.length-1;p>=0;p--){const g=e.messages[p].content;if(Array.isArray(g)){for(const h of g)if(h.cache_control){d=p;break}if(d>=0)break}}if(d<0&&s.cacheReadTokens>0&&e.messages.length>0&&(d=e.messages.length-1),d>=0)for(let p=0;p<=d;p++){const g=e.messages[p],h=g.content;if(typeof h=="string")s.messages.push(`[${g.role}] ${h}`);else if(Array.isArray(h)){for(const m of h)if(m.type==="text"&&m.text)s.messages.push(`[${g.role}] ${m.text}`);else if(m.type==="tool_use"){const u=m.input?JSON.stringify(m.input):"",f=u.length>200?u.substring(0,200)+"...":u;s.messages.push(`[${g.role}] ${m.name}(${f})`)}else if(m.type==="tool_result"){const u=aa(m);u&&s.messages.push(`[tool_result: ${m.tool_use_id}] ${u}`)}}}}if(Array.isArray(e.tools)&&e.tools.length>0&&s.system.length>0)for(const d of e.tools)s.tools.push(`${d.name}: ${d.description||""}`);return s}const Or="ccv_entryCache",nt="entries",as="cache",is="ccv_cacheMeta",Dr=2,ia=10080*60*1e3;let ut=null,pt=null;function St(){return ut?Promise.resolve(ut):pt||(pt=new Promise((a,i)=>{const e=indexedDB.open(Or,Dr);e.onupgradeneeded=()=>{const n=e.result;n.objectStoreNames.contains(nt)||n.createObjectStore(nt),n.objectStoreNames.contains("sessions")||n.createObjectStore("sessions"),n.objectStoreNames.contains("session_index")||n.createObjectStore("session_index")},e.onsuccess=()=>{ut=e.result,ut.onclose=()=>{ut=null},pt=null,a(ut)},e.onerror=()=>{pt=null,i(e.error)}}),pt)}let Ts=0;function Fr(a,i){try{const e=i[i.length-1],n=(e==null?void 0:e.timestamp)||null;n&&localStorage.setItem(is,JSON.stringify({projectName:a,lastTs:n,count:i.length}))}catch{}}function Wr(){try{localStorage.removeItem(is)}catch{}}function Cs(){try{const a=localStorage.getItem(is);if(!a)return null;const i=JSON.parse(a);return i!=null&&i.lastTs&&(i==null?void 0:i.count)>0&&(i!=null&&i.projectName)?i:null}catch{return null}}async function Xe(a,i){if(!a||!Array.isArray(i)||i.length===0)return;const e=++Ts;try{const n=await St();return e!==Ts?void 0:(Fr(a,i),new Promise(s=>{const r=n.transaction(nt,"readwrite");r.objectStore(nt).put({projectName:a,entries:i,ts:Date.now()},as),r.oncomplete=()=>s(),r.onerror=()=>s()}))}catch{}}async function Ur(a){try{const i=await St();return new Promise(e=>{const s=i.transaction(nt,"readonly").objectStore(nt).get(as);s.onsuccess=()=>{const r=s.result;!r||r.projectName!==a||!Array.isArray(r.entries)||r.entries.length===0?e(null):r.ts&&Date.now()-r.ts>ia?(Gn(),e(null)):e(r.entries)},s.onerror=()=>e(null)})}catch{return null}}async function Gn(){Wr();try{const a=await St();return new Promise(i=>{const e=a.transaction(nt,"readwrite");e.objectStore(nt).delete(as),e.oncomplete=()=>i(),e.onerror=()=>i()})}catch{}}async function Vt(a,i,e){if(!(!a||e==null))try{const n=await St(),s=`${a}:${i}`;return new Promise(r=>{const o=n.transaction("sessions","readwrite");o.objectStore("sessions").put({entries:e,ts:Date.now()},s),o.oncomplete=()=>r(),o.onerror=()=>r()})}catch{}}async function $r(a,i){try{const e=await St(),n=`${a}:${i}`;return new Promise(s=>{const o=e.transaction("sessions","readonly").objectStore("sessions").get(n);o.onsuccess=()=>{const l=o.result;!l||!Array.isArray(l.entries)||l.entries.length===0||l.ts&&Date.now()-l.ts>ia?s(null):s(l.entries)},o.onerror=()=>s(null)})}catch{return null}}async function qt(a,i){if(!(!a||!Array.isArray(i)))try{const e=await St();return new Promise(n=>{const s=e.transaction("session_index","readwrite");s.objectStore("session_index").put({index:i,ts:Date.now()},a),s.oncomplete=()=>n(),s.onerror=()=>n()})}catch{}}const Ge=8;function Kt(a,i){const e=new Map;for(const r of a){const o=r._sessionId;if(o==null)continue;const l=r.timestamp||null;let c=e.get(o);c||(c={firstTs:l,lastTs:l,entryCount:0},e.set(o,c)),c.entryCount++,l&&((!c.firstTs||l<c.firstTs)&&(c.firstTs=l),(!c.lastTs||l>c.lastTs)&&(c.lastTs=l))}const n=Array.from(e.keys()).sort(),s=[];for(let r=0;r<i.length;r++){const o=i[r],l=n[r]||(o==null?void 0:o.entryTimestamp)||null,c=l?e.get(l)||{firstTs:null,lastTs:null,entryCount:0}:{firstTs:null,lastTs:null,entryCount:0};let d=0,p="",g=null;if(o&&(d=o.messages?o.messages.length:0,g=o.userId||null,o.messages)){for(const h of o.messages)if(h.role==="user"){const m=Hr(h);if(m){p=m.slice(0,80);break}}}s.push({sessionId:l,firstTs:c.firstTs,lastTs:c.lastTs||(o==null?void 0:o.entryTimestamp)||null,entryCount:c.entryCount,msgCount:d,preview:p,userId:g})}return s}function Hr(a){if(!a)return"";if(typeof a.content=="string")return a.content;if(Array.isArray(a.content)){for(const i of a.content)if(i.type==="text"&&i.text)return i.text}return""}function Tt(a,i,e,n,s=new Set){if(e.length<=n)return{hotEntries:a,allSessions:i,coldGroups:new Map};const o=new Set(s);let l=n-o.size;for(let g=e.length-1;g>=0&&l>0;g--){const h=e[g].sessionId;o.has(h)||(o.add(h),l--)}const c=[],d=new Map;for(const g of a)if(o.has(g._sessionId))c.push(g);else{let h=d.get(g._sessionId);h||(h=[],d.set(g._sessionId,h)),h.push(g)}const p=i.map((g,h)=>{const m=e[h],u=m==null?void 0:m.sessionId;return u&&!o.has(u)?{_cold:!0,sessionId:u,preview:m.preview,msgCount:m.msgCount,firstTs:m.firstTs,lastTs:m.lastTs,userId:m.userId,messages:null,response:null,entryTimestamp:m.lastTs}:g});return{hotEntries:c,allSessions:p,coldGroups:d}}function Tn(a,i){if(!a||a.length===0)return i||[];if(!i||i.length===0)return a;const e=new Set(i.map(s=>s.sessionId)),n=[];for(const s of a)e.has(s.sessionId)||n.push(s);for(const s of i)n.push(s);return n.sort((s,r)=>s.sessionId===r.sessionId?0:s.sessionId==null?-1:r.sessionId==null?1:s.sessionId<r.sessionId?-1:1),n}function Gr(a,i){var p;const e=i.body.messages,n=i.response,s=((p=i.body.metadata)==null?void 0:p.user_id)||null,r=i.timestamp||null;if(a.length===0)return[{userId:s,messages:e,response:n,entryTimestamp:r}];const o=a[a.length-1],l=o.messages?o.messages.length:0,c=l>0&&e.length<l*.5&&l-e.length>4,d=s!==null&&s===o.userId;if(c&&e.length<=4&&l>4)return a;if(d||s===o.userId&&!c){const g=l,h=e.length;if(h>g){o.messages||(o.messages=[]);for(let m=g;m<h;m++)e[m]._timestamp||(e[m]._timestamp=r),o.messages.push(e[m])}else if(h<g){for(let m=0;m<e.length;m++)e[m]._timestamp||(e[m]._timestamp=r);o.messages=e}return o.response=n,o.entryTimestamp=r,[...a]}else return[...a,{userId:s,messages:e,response:n,entryTimestamp:r}]}function un(a){var e;if(!a._deltaFormat||a._isCheckpoint)return!0;const i=(e=a.body)==null?void 0:e.messages;return!!(Array.isArray(i)&&a._totalMessageCount===i.length)}function Vn(a){return a._deltaFormat&&a.mainAgent}function Ct(a){var n,s;let i=[];const e=[];for(let r=0;r<a.length;r++){const o=a[r];if(o.inProgress)continue;if(!Vn(o)){o.mainAgent&&Array.isArray((n=o.body)==null?void 0:n.messages)&&(i=[...o.body.messages]);continue}const l=(s=o.body)==null?void 0:s.messages;Array.isArray(l)&&(un(o)?i=[...l]:(i=[...i,...l],o.body.messages=i,o._totalMessageCount&&i.length!==o._totalMessageCount&&e.push(r)))}return e.length>0&&Vr(a,e),a}function Vr(a,i){var e;for(const n of i){const s=a[n],r=s._totalMessageCount;if(r)for(let o=n+1;o<a.length;o++){const l=a[o];if(!l.mainAgent||!Array.isArray((e=l.body)==null?void 0:e.messages))continue;const c=l.body.messages,d=l._totalMessageCount||c.length;if((!l._deltaFormat||un(l))&&d>=r){s.body.messages=c.slice(0,r);break}}}}function qr(){let a=[];return{reconstruct(i){var n,s,r;if(i.inProgress){if(Vn(i)&&!un(i)){const o=(n=i.body)==null?void 0:n.messages;Array.isArray(o)&&(i.body.messages=[...a,...o])}return i}if(!Vn(i))return i.mainAgent&&Array.isArray((s=i.body)==null?void 0:s.messages)&&(a=[...i.body.messages]),i;const e=(r=i.body)==null?void 0:r.messages;return Array.isArray(e)&&(un(i)?a=[...e]:(a=[...a,...e],i.body.messages=a)),i},reset(){a=[]}}}let Et=null,rn=null,Es=!1,Cn=null,qn=new Set;const Kr={theme:"dark",darkMode:!0,themeVariables:{darkMode:!0,background:"#0d1117",primaryColor:"#1a3a5c",primaryTextColor:"#c9d1d9",primaryBorderColor:"#30363d",lineColor:"#58a6ff",secondaryColor:"#161b22",tertiaryColor:"#0d1117",nodeTextColor:"#c9d1d9",edgeLabelBackground:"#0d1117"}},Zr={theme:"default",darkMode:!1,themeVariables:{darkMode:!1,background:"#FFFFFF",primaryColor:"#dce8f5",primaryTextColor:"#1a1a1a",primaryBorderColor:"#E0E0E0",lineColor:"#0969DA",secondaryColor:"#F0F0F0",tertiaryColor:"#F5F5F5",nodeTextColor:"#1a1a1a",edgeLabelBackground:"#FFFFFF"}};function ra(){return document.documentElement.getAttribute("data-theme")==="light"?Zr:Kr}function Jr(){return Et||(Et=es(()=>import("./mermaid.core-BCXcdmGC.js").then(a=>a.bB),__vite__mapDeps([0,1,2,3,4,5])).then(a=>{const i=a.default,e=ra();return i.initialize({startOnLoad:!1,securityLevel:"strict",flowchart:{useMaxWidth:!0},...e}),rn=i,i}).catch(()=>(Et=null,null)),Et)}async function Yr(a){if(!a)return;const i=a.querySelectorAll("code.language-mermaid");if(i.length===0)return;const e=await Jr();if(e)for(const n of i){const s=n.parentElement;if(!s||s.dataset.mermaidRendered)continue;s.dataset.mermaidRendered="1";const r=n.textContent;try{const o="mmd-"+Math.random().toString(36).slice(2,9),{svg:l}=await e.render(o,r),c=document.createElement("div");c.className="mermaid-diagram",c.dataset.mermaidSrc=r,c.innerHTML=_n.sanitize(l,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["style","foreignObject"]}),s.replaceWith(c)}catch{}}}function Qr(){Cn||(Cn=requestAnimationFrame(()=>{Cn=null;const a=qn;qn=new Set;for(const i of a)i.isConnected&&Yr(i)}))}function Xr(){if(Es||typeof document>"u")return;Es=!0;const a=new MutationObserver(e=>{var n;for(const s of e)for(const r of s.addedNodes)if(r.nodeType===1&&((n=r.querySelector)!=null&&n.call(r,"code.language-mermaid"))){qn.add(r),Qr();return}}),i=()=>a.observe(document.body,{childList:!0,subtree:!0});document.body?i():document.addEventListener("DOMContentLoaded",i)}async function eo(){if(!rn)return;const a=ra();rn.initialize({startOnLoad:!1,securityLevel:"strict",flowchart:{useMaxWidth:!0},...a});const i=document.querySelectorAll(".mermaid-diagram[data-mermaid-src]");for(const e of i){const n=e.dataset.mermaidSrc;try{const s="mmd-"+Math.random().toString(36).slice(2,9),{svg:r}=await rn.render(s,n);e.innerHTML=_n.sanitize(r,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["style","foreignObject"]})}catch{}}}const to="_layout_7lwtf_1",no="_header_7lwtf_6",so="_content_7lwtf_14",ao="_mainContainer_7lwtf_19",io="_leftPanel_7lwtf_24",ro="_leftPanelHeader_7lwtf_36",oo="_leftPanelCount_7lwtf_47",lo="_leftPanelBody_7lwtf_53",co="_rightPanel_7lwtf_58",uo="_modalActions_7lwtf_64",po="_spinCenter_7lwtf_68",mo="_emptyCenter_7lwtf_73",ho="_logListContainer_7lwtf_83",go="_loadingOverlay_7lwtf_131",fo="_dragOverlay_7lwtf_144",_o="_dragOverlayContent_7lwtf_158",bo="_dragIcon_7lwtf_167",ko="_loadingText_7lwtf_171",vo="_mobileLoadingOverlay_7lwtf_177",yo="_mobileLoadingSpinner_7lwtf_189",xo="_mobileLoadingLabel_7lwtf_202",Lo="_footer_7lwtf_208",wo="_footerRight_7lwtf_219",So="_footerLink_7lwtf_232",To="_footerIcon_7lwtf_244",Co="_footerSep_7lwtf_249",Eo="_footerVersion_7lwtf_254",Ao="_footerVersionNew_7lwtf_264",No="_newBadge_7lwtf_274",Ro="_guideContainer_7lwtf_286",jo="_guideContent_7lwtf_294",zo="_guideTitle_7lwtf_299",Io="_guideStep_7lwtf_306",Po="_guideStepNum_7lwtf_312",Mo="_guideStepBody_7lwtf_327",Bo="_guideText_7lwtf_332",Oo="_guideCode_7lwtf_339",Do="_mobileChatOverlay_7lwtf_352",Fo="_mobileChatOverlayVisible_7lwtf_364",Wo="_mobileNavBtn_7lwtf_368",Uo="_mobileChatInner_7lwtf_373",$o="_mobileGitDiffOverlay_7lwtf_392",Ho="_mobileGitDiffOverlayVisible_7lwtf_404",Go="_mobileGitDiffInner_7lwtf_408",Vo="_mobileFileExplorerOverlay_7lwtf_428",qo="_mobileFileExplorerOverlayVisible_7lwtf_440",Ko="_mobileFileExplorerInner_7lwtf_444",Zo="_mobileMenuBtn_7lwtf_474",Jo="_mobileMenuOverlay_7lwtf_491",Yo="_mobileMenuDropdown_7lwtf_497",Qo="_mobileMenuItem_7lwtf_511",Xo="_mobileStatsOverlay_7lwtf_529",el="_mobileStatsOverlayVisible_7lwtf_541",tl="_mobileStatsInner_7lwtf_545",nl="_mobileLogMgmtOverlay_7lwtf_552",sl="_mobileLogMgmtOverlayVisible_7lwtf_564",al="_mobileLogMgmtHeader_7lwtf_568",il="_mobileLogMgmtTitle_7lwtf_577",rl="_mobileLogMgmtClose_7lwtf_583",ol="_mobileLogMgmtActions_7lwtf_598",ll="_mobileLogMgmtBody_7lwtf_606",cl="_mobileSettingsOverlay_7lwtf_613",dl="_mobileSettingsOverlayVisible_7lwtf_625",ul="_mobilePromptOverlay_7lwtf_629",pl="_mobilePromptOverlayVisible_7lwtf_641",ml="_mobilePromptBody_7lwtf_645",hl="_mobilePromptList_7lwtf_653",gl="_mobilePromptItem_7lwtf_659",fl="_mobilePromptTimestamp_7lwtf_664",_l="_mobilePromptCard_7lwtf_671",bl="_mobilePromptPreText_7lwtf_679",kl="_tableTimestampCell_7lwtf_689",vl="_tablePreviewText_7lwtf_693",yl="_tablePreviewTextClickable_7lwtf_702",xl="_tableTag_7lwtf_712",Ll="_tableActionsCell_7lwtf_718",wl="_mobileCLIRoot_7lwtf_724",Sl="_mobileCLIHeader_7lwtf_733",Tl="_mobileCLIHeaderLeft_7lwtf_744",Cl="_mobileCLIStatusLabel_7lwtf_752",El="_mobileCtxTag_7lwtf_758",Al="_mobileCtxTagFill_7lwtf_777",Nl="_mobileCtxTagContent_7lwtf_787",Rl="_mobileCLIHeaderRight_7lwtf_795",jl="_mobileCLIBody_7lwtf_801",zl="_mobileSettingsBody_7lwtf_810",Il="_mobileSettingsSectionTitle_7lwtf_814",Pl="_mobileSettingsRow_7lwtf_821",Ml="_mobileSettingsLabel_7lwtf_829",Bl="_mobilePromptEmpty_7lwtf_835",Ol="_mobilePromptHeader_7lwtf_842",Dl="_mobilePromptCount_7lwtf_850",Fl="_chatViewWrapper_7lwtf_856",Wl="_resumeFooterRight_7lwtf_862",Ul="_resumeFooterLeft_7lwtf_867",$l="_resumeCheckboxOpacity_7lwtf_871",Hl="_btnMarginLeft_7lwtf_875",Gl="_btnMarginRight_7lwtf_879",Vl="_modalTitleInline_7lwtf_884",ql="_previewPopover_7lwtf_891",Kl="_previewItem_7lwtf_897",Zl="_previewText_7lwtf_909",Ze={layout:to,header:no,content:so,mainContainer:ao,leftPanel:io,leftPanelHeader:ro,leftPanelCount:oo,leftPanelBody:lo,rightPanel:co,modalActions:uo,spinCenter:po,emptyCenter:mo,logListContainer:ho,loadingOverlay:go,dragOverlay:fo,dragOverlayContent:_o,dragIcon:bo,loadingText:ko,mobileLoadingOverlay:vo,mobileLoadingSpinner:yo,mobileLoadingLabel:xo,footer:Lo,footerRight:wo,footerLink:So,footerIcon:To,footerSep:Co,footerVersion:Eo,footerVersionNew:Ao,newBadge:No,guideContainer:Ro,guideContent:jo,guideTitle:zo,guideStep:Io,guideStepNum:Po,guideStepBody:Mo,guideText:Bo,guideCode:Oo,mobileChatOverlay:Do,mobileChatOverlayVisible:Fo,mobileNavBtn:Wo,mobileChatInner:Uo,mobileGitDiffOverlay:$o,mobileGitDiffOverlayVisible:Ho,mobileGitDiffInner:Go,mobileFileExplorerOverlay:Vo,mobileFileExplorerOverlayVisible:qo,mobileFileExplorerInner:Ko,mobileMenuBtn:Zo,mobileMenuOverlay:Jo,mobileMenuDropdown:Yo,mobileMenuItem:Qo,mobileStatsOverlay:Xo,mobileStatsOverlayVisible:el,mobileStatsInner:tl,mobileLogMgmtOverlay:nl,mobileLogMgmtOverlayVisible:sl,mobileLogMgmtHeader:al,mobileLogMgmtTitle:il,mobileLogMgmtClose:rl,mobileLogMgmtActions:ol,mobileLogMgmtBody:ll,mobileSettingsOverlay:cl,mobileSettingsOverlayVisible:dl,mobilePromptOverlay:ul,mobilePromptOverlayVisible:pl,mobilePromptBody:ml,mobilePromptList:hl,mobilePromptItem:gl,mobilePromptTimestamp:fl,mobilePromptCard:_l,mobilePromptPreText:bl,tableTimestampCell:kl,tablePreviewText:vl,tablePreviewTextClickable:yl,tableTag:xl,tableActionsCell:Ll,mobileCLIRoot:wl,mobileCLIHeader:Sl,mobileCLIHeaderLeft:Tl,mobileCLIStatusLabel:Cl,mobileCtxTag:El,mobileCtxTagFill:Al,mobileCtxTagContent:Nl,mobileCLIHeaderRight:Rl,mobileCLIBody:jl,mobileSettingsBody:zl,mobileSettingsSectionTitle:Il,mobileSettingsRow:Pl,mobileSettingsLabel:Ml,mobilePromptEmpty:Bl,mobilePromptHeader:Ol,mobilePromptCount:Dl,chatViewWrapper:Fl,resumeFooterRight:Wl,resumeFooterLeft:Ul,resumeCheckboxOpacity:$l,btnMarginLeft:Hl,btnMarginRight:Gl,modalTitleInline:Vl,previewPopover:ql,previewItem:Kl,previewText:Zl},As=oe&&!ye?30:100;class By extends me.Component{constructor(e){super(e);q(this,"_resetSSETimeout",()=>{this._sseTimeoutTimer&&clearTimeout(this._sseTimeoutTimer),this._sseReconnectCount=0,this._sseTimeoutTimer=setTimeout(()=>{console.warn("SSE heartbeat timeout, reconnecting..."),this._reconnectSSE()},45e3)});q(this,"_teardownTransientLiveState",()=>{this._pendingEntries=[],this._flushRafId&&(cancelAnimationFrame(this._flushRafId),this._flushRafId=null),this._streamingOffTimer&&(clearTimeout(this._streamingOffTimer),this._streamingOffTimer=null),this._loadingCountRafId&&(cancelAnimationFrame(this._loadingCountRafId),this._loadingCountRafId=null),this._chunkedEntries=[],this._chunkedTotal=0,this._isIncremental=!1,this._sseSlimmer=null,this._sseReconstructor=null});q(this,"_flushPendingEntries",()=>{this._flushRafId=null;const e=this._pendingEntries;this._pendingEntries=[],e.length!==0&&this.setState(n=>{var p,g,h,m,u;const s=[...n.requests];let r=n.cacheExpireAt,o=n.cacheType,l=n.mainAgentSessions,c=!1;this._sseSlimmer||(this._sseSlimmer=Er(Fe)),this._sseReconstructor||(this._sseReconstructor=qr());for(const f of e){const _=this._sseReconstructor.reconstruct(f),v=`${_.timestamp}|${_.url}`,x=this._requestIndexMap.get(v);if(x!==void 0)s[x]=_,this._sseSlimmer&&this._sseSlimmer.onDedup(x);else{const k=s.length;this._sseSlimmer&&this._sseSlimmer.processEntry(_,s,k),this._requestIndexMap.set(v,k),s.push(_)}if(Fe(_)&&!_.inProgress&&((g=(p=_.response)==null?void 0:p.body)!=null&&g.usage)){const k=Br([_]);k&&(k.system.length>0||k.messages.length>0||k.tools.length>0)&&(this._lastKvCacheContent=k)}if(!_.inProgress&&Fe(_)&&n.streamingLatest&&n.streamingLatest.timestamp===_.timestamp&&(c=!0),Fe(_)){const k=(m=(h=_.response)==null?void 0:h.body)==null?void 0:m.usage;if(k!=null&&k.cache_creation){const C=k.cache_creation,P=_.timestamp?new Date(_.timestamp).getTime():Date.now();let j=null,I=null;if(C.ephemeral_1h_input_tokens>0?(j=P+3600*1e3,I="1h"):C.ephemeral_5m_input_tokens>0&&(j=P+300*1e3,I="5m"),j&&j>Date.now()){r=j;const T=(k.cache_read_input_tokens||0)+(k.cache_creation_input_tokens||0);o=T>0?Mr(T):I,localStorage.setItem("ccv_cacheExpireAt",String(r)),localStorage.setItem("ccv_cacheType",o)}}}if(Fe(_)&&_.body&&Array.isArray(_.body.messages)&&!_._slimmed){const k=_.timestamp||new Date().toISOString(),C=l.length>0?l[l.length-1]:null,P=(C==null?void 0:C.messages)||[],j=_.body.messages,I=P.length,T=((u=_.body.metadata)==null?void 0:u.user_id)||null,F=!(T!==null&&(C==null?void 0:C.userId)===T)&&I>0&&j.length<I*.5&&I-j.length>4;if(I>4&&j.length<=4&&j.length<I*.5)continue;F?this._currentSessionId=k:this._currentSessionId===null&&(this._currentSessionId=k);for(let S=0;S<j.length;S++)!F&&S<I&&P[S]._timestamp?j[S]._timestamp=P[S]._timestamp:j[S]._timestamp||(j[S]._timestamp=k);l=this.mergeMainAgentSessions(l,_)}_._sessionId=this._currentSessionId}let d=n.selectedIndex;return l.length>As&&(l=l.slice(-As)),d===null&&s.length>0&&(this._autoSelectTimer&&clearTimeout(this._autoSelectTimer),this._autoSelectTimer=setTimeout(()=>{this.setState(f=>{if(f.selectedIndex===null&&f.requests.length>0){const _=f.showAll?f.requests:Sn(f.requests);return _.length>0?{selectedIndex:_.length-1}:null}return null})},200)),{requests:s,cacheExpireAt:r,cacheType:o,mainAgentSessions:l,...c&&{streamingLatest:null}}},()=>{oe&&this.state.projectName&&(this._cacheSaveTimer&&clearTimeout(this._cacheSaveTimer),this._cacheSaveTimer=setTimeout(()=>{this.state.projectName&&this.state.sessionIndex.length===0&&Xe(this.state.projectName,this.state.requests)},5e3),this.state.mainAgentSessions.length>Ge+2&&(this._evictionTimer||(this._evictionTimer=setTimeout(()=>{this._evictionTimer=null,this._evictColdSessions()},1e4))))})});q(this,"handleSelectRequest",e=>{this.setState({selectedIndex:e,scrollCenter:!1})});q(this,"handleScrollDone",()=>{this.setState({scrollCenter:!1})});q(this,"handleScrollTsDone",()=>{this.setState({chatScrollToTs:null})});q(this,"handleWorkspaceLaunch",({projectName:e})=>{this._isLocalLog=!1,this._localLogFile=null,this.setState({workspaceMode:!1,projectName:e,viewMode:"chat",cliMode:!0,terminalVisible:!1})});q(this,"handleReturnToWorkspaces",()=>{fetch(K("/api/workspaces/stop"),{method:"POST"}).then(()=>{this._teardownTransientLiveState(),this._rebuildRequestIndex([]),this.setState({workspaceMode:!0,requests:[],mainAgentSessions:[],projectName:"",selectedIndex:null,streamingLatest:null})}).catch(()=>{})});q(this,"handleProxyProfileChange",e=>{fetch(K("/api/proxy-profiles"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).then(n=>n.json()).then(()=>{this.setState({proxyProfiles:e.profiles,activeProxyId:e.active})}).catch(()=>{})});q(this,"handleLangChange",()=>{const e=cn();this.setState({lang:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lang:e})}).catch(()=>{})});q(this,"handleCollapseToolResultsChange",e=>{this.setState({collapseToolResults:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({collapseToolResults:e})}).catch(()=>{})});q(this,"handleExpandThinkingChange",e=>{this.setState({expandThinking:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expandThinking:e})}).catch(()=>{})});q(this,"handleExpandDiffChange",e=>{this.setState({expandDiff:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({expandDiff:e})}).catch(()=>{})});q(this,"handleAutoApproveChange",e=>{this.setState({autoApproveSeconds:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({autoApproveSeconds:e})}).catch(()=>{})});q(this,"handleThemeColorChange",e=>{this.setState({themeColor:e}),document.documentElement.setAttribute("data-theme",e==="light"?"light":"dark"),eo(),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({themeColor:e})}).catch(()=>{}),window.dispatchEvent(new CustomEvent("ccv-focus-terminal"))});q(this,"handleLogDirChange",e=>{if(!e||typeof e!="string")return;const n=e.trim();n&&(this.setState({logDir:n}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({logDir:n})}).then(s=>s.json()).then(s=>{s.logDir&&this.setState({logDir:s.logDir})}).catch(()=>{}))});q(this,"handleShowFullToolContentChange",e=>{this.setState({showFullToolContent:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({showFullToolContent:e})}).catch(()=>{})});q(this,"handleFilterIrrelevantChange",e=>{this.setState(n=>{const s=!e,r=s?n.requests:Sn(n.requests);return{showAll:s,selectedIndex:r.length>0?r.length-1:null}}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filterIrrelevant:e})}).catch(()=>{})});q(this,"handleImportLocalLogs",()=>{this.setState({importModalVisible:!0,localLogsLoading:!0}),fetch(K("/api/local-logs")).then(e=>e.json()).then(e=>{const{_currentProject:n,...s}=e;this.setState({localLogs:s,currentProject:n||"",localLogsLoading:!1})}).catch(()=>{this.setState({localLogs:{},localLogsLoading:!1})})});q(this,"handleCloseImportModal",()=>{this.setState({importModalVisible:!1,selectedLogs:new Set})});q(this,"handleRefreshStats",()=>{this.setState({refreshingStats:!0}),fetch(K("/api/refresh-stats"),{method:"POST"}).then(e=>e.json()).then(e=>{if(!e.ok)throw new Error(e.error||"refresh failed");return fetch(K("/api/local-logs"))}).then(e=>e.json()).then(e=>{const{_currentProject:n,...s}=e;this.setState({localLogs:s,refreshingStats:!1}),ce.success(b("ui.refreshStatsSuccess"))}).catch(()=>{this.setState({refreshingStats:!1}),ce.error(b("ui.refreshStatsFailed"))})});q(this,"handleToggleLogSelect",(e,n)=>{this.setState(s=>{const r=new Set(s.selectedLogs);return n?r.add(e):r.delete(e),{selectedLogs:r}})});q(this,"handleMergeLogs",()=>{const{selectedLogs:e,localLogs:n,currentProject:s}=this.state;if(e.size<2)return;const r=n[s];if(!r)return;const o=[];if(r.forEach((d,p)=>{e.has(d.file)&&o.push(p)}),o.sort((d,p)=>d-p),e.has(r[0].file)){ce.warning(b("ui.mergeLatestNotAllowed"));return}for(let d=1;d<o.length;d++)if(o[d]-o[d-1]!==1){ce.warning(b("ui.mergeNotConsecutive"));return}if(o.reduce((d,p)=>d+r[p].size,0)>500*1024*1024){ce.warning(b("ui.mergeTooLarge"));return}const c=o.map(d=>r[d].file).reverse();fetch(K("/api/merge-logs"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:c})}).then(d=>d.json()).then(d=>{d.ok?(ce.success(b("ui.mergeSuccess")),this.setState({selectedLogs:new Set}),this.handleImportLocalLogs()):ce.error(d.error||"Merge failed")}).catch(()=>ce.error("Merge failed"))});q(this,"handleDeleteLogs",()=>{const{selectedLogs:e}=this.state;e.size!==0&&Pe.confirm({title:b("ui.deleteLogs"),content:b("ui.deleteLogsConfirm",{count:e.size}),okText:b("ui.deleteLogs"),okButtonProps:{danger:!0},cancelText:b("ui.cancel"),onOk:()=>{const n=[...e];fetch(K("/api/delete-logs"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:n})}).then(s=>s.json()).then(s=>{if(s.results){const r=s.results.filter(l=>l.ok).length,o=s.results.filter(l=>l.error).length;r>0&&ce.success(b("ui.deleteSuccess",{count:r})),o>0&&ce.error(b("ui.deleteFailed",{count:o})),this.setState({selectedLogs:new Set}),this.handleImportLocalLogs()}}).catch(()=>ce.error("Delete failed"))}})});q(this,"handleOpenLogFile",async e=>{let n=`${window.location.protocol}//${window.location.host}`,s=new URLSearchParams(window.location.search).get("token");if(!s)try{const o=await fetch(K("/api/local-url"));if(o.ok){const l=await o.json();l.url&&(n=l.url.split("?")[0],s=new URL(l.url).searchParams.get("token"))}}catch{}const r=s?`&token=${encodeURIComponent(s)}`:"";window.open(`${n}?logfile=${encodeURIComponent(e)}${r}`,"_blank"),this.setState({importModalVisible:!1})});q(this,"handleDownloadLogFile",e=>{const n=K(`/api/download-log?file=${encodeURIComponent(e)}`),s=document.createElement("a");s.href=n,s.download="",document.body.appendChild(s),s.click(),document.body.removeChild(s)});q(this,"handleResumeChoice",e=>{this.state.resumeRememberChoice&&(this.setState({resumeAutoChoice:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resumeAutoChoice:e})}).catch(()=>{})),fetch(K("/api/resume-choice"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({choice:e})}).catch(n=>console.error("resume-choice failed:",n))});q(this,"handleResumeAutoChoiceToggle",e=>{const n=e?"continue":null;this.setState({resumeAutoChoice:n}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resumeAutoChoice:n})}).catch(()=>{})});q(this,"handleResumeAutoChoiceChange",e=>{this.setState({resumeAutoChoice:e}),fetch(K("/api/preferences"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({resumeAutoChoice:e})}).catch(()=>{})});q(this,"_finishLocalLoad",(e,n)=>{if(e.length===0){ce.error(b("ui.noLogs")),this.setState({fileLoading:!1,fileLoadingCount:0});return}this.animateLoadingCount(e.length,()=>{this._batchSlim(e);const{mainAgentSessions:s,filtered:r}=this._processEntries(e);this._isLocalLog=!0,this._localLogFile=n.length===1?n[0]:`${n.length} files`,this.eventSource&&(this.eventSource.close(),this.eventSource=null),this._streamingOffTimer&&(clearTimeout(this._streamingOffTimer),this._streamingOffTimer=null),this.setState({requests:e,selectedIndex:r.length>0?r.length-1:null,mainAgentSessions:s,importModalVisible:!1,fileLoading:!1,fileLoadingCount:0})})});const n=parseInt(localStorage.getItem("ccv_cacheExpireAt"),10)||null,s=localStorage.getItem("ccv_cacheType")||null,r=Date.now(),o=n&&n>r?n:null,l=o?s:null;this.state={requests:[],selectedIndex:null,viewMode:"raw",cacheExpireAt:o,cacheType:l,mainAgentSessions:[],importModalVisible:!1,localLogs:{},localLogsLoading:!1,refreshingStats:!1,showAll:!1,lang:cn(),userProfile:null,projectName:"",resumeModalVisible:!1,resumeFileName:"",resumeRememberChoice:!1,resumeAutoChoice:null,autoApproveSeconds:0,collapseToolResults:!0,expandThinking:!0,expandDiff:!1,logDir:"",showFullToolContent:!1,showThinkingSummaries:!1,themeColor:"dark",claudeMissing:!1,updateModalVisible:!1,fileLoading:!1,fileLoadingCount:0,isDragging:!1,selectedLogs:new Set,githubStars:null,cliMode:!1,sdkMode:!1,workspaceMode:!1,serverCachedContent:null,updateInfo:null,pendingUploadPaths:[],contextWindow:null,isStreaming:!1,streamingLatest:null,hasMoreHistory:!1,loadingMore:!1,sessionIndex:[],loadingSessionId:null,proxyProfiles:[],activeProxyId:"max",defaultConfig:null},this.eventSource=null,this._currentSessionId=null,this._autoSelectTimer=null,this._chunkedEntries=[],this._chunkedTotal=0,this.mainContainerRef=me.createRef(),this._layoutRef=me.createRef(),this._requestIndexMap=new Map,this._pendingEntries=[],this._flushRafId=null,this._cacheLossMap=new Map,this._cacheLossProcessedCount=0,this._cacheLossLastMainAgent=null,this._cacheLossShowAll=void 0,this._lastKvCacheContent=null,this._sseSlimmer=null,this._sseReconstructor=null}_batchSlim(e){const n=Cr(Fe);for(let s=0;s<e.length;s++)n.process(e[s],e,s);n.finalize(e)}_rebuildRequestIndex(e){this._requestIndexMap.clear();for(let n=0;n<e.length;n++){const s=e[n];this._requestIndexMap.set(`${s.timestamp}|${s.url}`,n)}this._cacheLossProcessedCount=0,this._cacheLossLastMainAgent=null,this._cacheLossMap=new Map,this._lastKvCacheContent=null,this._sseSlimmer=null,this._sseReconstructor=null}_processEntries(e){var c;let n=[],s=null,r=[];const o=[];this._requestIndexMap.clear(),this._cacheLossProcessedCount=0,this._cacheLossLastMainAgent=null,this._cacheLossMap=new Map,this._lastKvCacheContent=null,this._sseSlimmer=null,this._sseReconstructor=null;let l=null;for(let d=0;d<e.length;d++){const p=e[d];if(this._requestIndexMap.set(`${p.timestamp}|${p.url}`,d),an(p)&&o.push(p),Fe(p)&&p.body&&Array.isArray(p.body.messages)){const g=p.body.messages,h=p._messageCount||g.length,m=((c=p.body.metadata)==null?void 0:c.user_id)||null,u=p.timestamp||new Date().toISOString(),f=n.length,_=f>0&&(h<f*.5&&f-h>4||s&&m&&m!==s),v=_&&h<=4&&f>4&&h<f*.5;_&&!v?(l=u,n=[]):l===null&&(l=u);for(let x=n.length;x<h;x++)n.push(u);if(g.length>0)for(let x=0;x<g.length;x++)g[x]._timestamp=n[x];s=m,p._slimmed||(r=this.mergeMainAgentSessions(r,p))}p._sessionId=l}return this._currentSessionId=l,{mainAgentSessions:r,filtered:o}}componentDidMount(){fetch(K("/api/claude-settings")).then(s=>s.json()).then(s=>{s.showThinkingSummaries&&this.setState({showThinkingSummaries:!0}),s.claudeAvailable===!1&&this.setState({claudeMissing:!0})}).catch(()=>{}),this._prefsReady=fetch(K("/api/preferences")).then(s=>s.json()).then(s=>{typeof s.claudeConfigDir=="string"&&_r(s.claudeConfigDir),s.lang&&(ea(s.lang),this.setState({lang:s.lang})),s.collapseToolResults!==void 0&&this.setState({collapseToolResults:!!s.collapseToolResults}),s.expandThinking!==void 0&&this.setState({expandThinking:!!s.expandThinking}),s.expandDiff!==void 0&&this.setState({expandDiff:!!s.expandDiff}),s.showFullToolContent!==void 0&&this.setState({showFullToolContent:!!s.showFullToolContent}),s.resumeAutoChoice&&this.setState({resumeAutoChoice:s.resumeAutoChoice}),typeof s.autoApproveSeconds=="number"&&this.setState({autoApproveSeconds:s.autoApproveSeconds}),s.themeColor&&(this.setState({themeColor:s.themeColor}),document.documentElement.setAttribute("data-theme",s.themeColor==="light"?"light":"dark"));const r=s.filterIrrelevant!==void 0?!!s.filterIrrelevant:!0;this.setState({showAll:!r}),s.logDir&&this.setState({logDir:s.logDir});const o=new URLSearchParams(window.location.search).get("theme");return(o==="light"||o==="dark")&&(this.setState({themeColor:o}),document.documentElement.setAttribute("data-theme",o)),s}).catch(()=>({})),fetch(K("/api/user-profile")).then(s=>s.json()).then(s=>this.setState({userProfile:s})).catch(()=>{}),fetch(K("/api/proxy-profiles")).then(s=>s.json()).then(s=>{if(!s.profiles)return;let r=s.active||"max";const o=s.defaultConfig;if(r==="max"&&(o!=null&&o.origin)){const l=s.profiles.find(c=>{if(c.id==="max"||!c.baseURL)return!1;try{if(new URL(c.baseURL).origin!==o.origin)return!1}catch{return!1}if(o.apiKey&&c.apiKey){const d=o.apiKey.slice(-4),p=c.apiKey.slice(-4);if(d!==p)return!1}return!(o.model&&c.activeModel&&o.model!==c.activeModel)});l&&(r=l.id,this.handleProxyProfileChange({active:l.id,profiles:s.profiles}))}this.setState({proxyProfiles:s.profiles,activeProxyId:r,defaultConfig:o||null})}).catch(()=>{});const n=new URLSearchParams(window.location.search).get("logfile");fetch(K("/api/project-name")).then(s=>s.json()).then(s=>{const r=s.projectName||"";this.setState({projectName:r}),r&&(document.title=r),oe&&r&&!n&&this.state.requests.length===0&&Ur(r).then(o=>{if(o&&this.state.requests.length===0){this._batchSlim(o);const{mainAgentSessions:l,filtered:c}=this._processEntries(o);if(l.length>Ge){const d=Kt(o,l),p=o.map(u=>u._slimmed?Ye(u,o):u),{hotEntries:g,allSessions:h}=Tt(p,l,d,Ge);this._sseSlimmer=null,this._sseReconstructor=null;const m=g.filter(u=>an(u));this._oldestTs=g.length>0?g[0].timestamp:null,this.setState({requests:g,selectedIndex:m.length>0?m.length-1:null,mainAgentSessions:h,sessionIndex:d,hasMoreHistory:!!this._oldestTs,fileLoading:!1})}else this._oldestTs=o.length>0?o[0].timestamp:null,this.setState({requests:o,selectedIndex:c.length>0?c.length-1:null,mainAgentSessions:l,hasMoreHistory:!!this._oldestTs,fileLoading:!1})}})}).catch(()=>{}),fetch("https://api.github.com/repos/weiesky/cc-viewer").then(s=>s.json()).then(s=>{s.stargazers_count!=null&&this.setState({githubStars:s.stargazers_count})}).catch(()=>{}),fetch(K("/api/cli-mode")).then(s=>s.json()).then(s=>{s.workspaceMode?this.setState({cliMode:!0,workspaceMode:!0,isWorkspaceServer:!0}):s.cliMode&&this.setState({cliMode:!0,sdkMode:!!s.sdkMode,viewMode:"chat"})}).catch(()=>{}),n?this.loadLocalLogFile(n):this.initSSE()}componentWillUnmount(){this.eventSource&&this.eventSource.close(),this._localLogES&&(this._localLogES.close(),this._localLogES=null),this._autoSelectTimer&&clearTimeout(this._autoSelectTimer),this._loadingCountTimer&&cancelAnimationFrame(this._loadingCountTimer),this._loadingCountRafId&&cancelAnimationFrame(this._loadingCountRafId),this._cacheSaveTimer&&clearTimeout(this._cacheSaveTimer),this._evictionTimer&&clearTimeout(this._evictionTimer),this._sseTimeoutTimer&&clearTimeout(this._sseTimeoutTimer),this._sseReconnectTimer&&clearTimeout(this._sseReconnectTimer),this._streamingOffTimer&&clearTimeout(this._streamingOffTimer),this._streamingRaf&&(cancelAnimationFrame(this._streamingRaf),this._streamingRaf=null),this._pendingStreamingLatest=null}_reconnectSSE(){if(this.state.streamingLatest&&this.setState({streamingLatest:null}),this._sseReconnectCount>=10){console.error("SSE reconnect limit reached");return}if(this._sseReconnectCount=(this._sseReconnectCount||0)+1,this.eventSource&&(this.eventSource.close(),this.eventSource=null),this._chunkedEntries&&this._chunkedEntries.length>0&&oe)try{const e=Ct([...this._chunkedEntries]);if(Array.isArray(e)&&e.length>0){this._batchSlim(e);const{mainAgentSessions:n}=this._processEntries(e);if(this.setState({requests:e,mainAgentSessions:n}),this.state.projectName){const s=Cs(),r=s&&s.projectName===this.state.projectName?s.count:0;e.length>=r&&Xe(this.state.projectName,e)}}}catch(e){console.warn("Failed to save partial entries on reconnect:",e)}this._teardownTransientLiveState(),this.setState({isStreaming:!1}),this._sseReconnectTimer&&clearTimeout(this._sseReconnectTimer),this._sseReconnectTimer=setTimeout(()=>{this.initSSE()},2e3)}animateLoadingCount(e,n){this._loadingCountTimer&&(cancelAnimationFrame(this._loadingCountTimer),this._loadingCountTimer=null);const s=Math.min(800,Math.max(300,e*.5)),r=performance.now(),o=l=>{const c=Math.min((l-r)/s,1),d=Math.round(c*e);this.setState({fileLoadingCount:d}),c<1?this._loadingCountTimer=requestAnimationFrame(o):(this._loadingCountTimer=null,n())};this._loadingCountTimer=requestAnimationFrame(o)}async loadMoreHistory(){if(!(!this.state.hasMoreHistory||this._loadingMore)){this._loadingMore=!0,this.setState({loadingMore:!0});try{const n=await(await fetch(K(`/api/entries/page?before=${encodeURIComponent(this._oldestTs)}&limit=100`))).json();if(Array.isArray(n.entries)&&n.entries.length>0){const r=[...Ct(n.entries),...this.state.requests];this._batchSlim(r);const{mainAgentSessions:o}=this._processEntries(r);if(this._oldestTs=n.oldestTimestamp,oe&&o.length>Ge){const l=Kt(r,o),c=Tn(this.state.sessionIndex,l),d=r.map(u=>u._slimmed?Ye(u,r):u),{hotEntries:p,allSessions:g,coldGroups:h}=Tt(d,o,c,Ge);this._sseSlimmer=null,this._sseReconstructor=null;const m=this.state.projectName;if(m){for(const[u,f]of h)Vt(m,u,f);qt(m,c),Xe(m,r)}this.setState({requests:p,mainAgentSessions:g,sessionIndex:c,hasMoreHistory:!!n.hasMore,loadingMore:!1})}else this.setState({requests:r,mainAgentSessions:o,hasMoreHistory:!!n.hasMore,loadingMore:!1}),oe&&this.state.projectName&&Xe(this.state.projectName,r)}else this.setState({hasMoreHistory:!1,loadingMore:!1})}catch(e){console.error("loadMoreHistory failed:",e),this.setState({loadingMore:!1})}this._loadingMore=!1}}initSSE(){try{let e="/events",n=!1;if(oe){const s=Cs();s&&s.lastTs&&s.count>0&&(e=`/events?since=${encodeURIComponent(s.lastTs)}&cc=${s.count}&project=${encodeURIComponent(s.projectName||"")}`,n=!0)}!n&&oe&&(e="/events?limit=200"),n||this.setState({fileLoading:!0,fileLoadingCount:0}),this.eventSource=new EventSource(K(e)),this.eventSource.onmessage=s=>{this._resetSSETimeout(),this.handleEventMessage(s)},this.eventSource.onopen=()=>{this._resetSSETimeout()},this.eventSource.addEventListener("stream-progress",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);if(this.state.requests.find(l=>l&&l.timestamp===r.timestamp&&!l.inProgress)||(this._pendingStreamingLatest={timestamp:r.timestamp,url:r.url,content:r.content||[],model:r.model,updatedAt:Date.now()},this._streamingRaf))return;this._streamingRaf=requestAnimationFrame(()=>{this._streamingRaf=null;const l=this._pendingStreamingLatest;this._pendingStreamingLatest=null,l&&me.startTransition(()=>{this.setState({streamingLatest:l})})})}catch{}}),this.eventSource.addEventListener("resume_prompt",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);(this._prefsReady||Promise.resolve({})).then(o=>{o!=null&&o.resumeAutoChoice?fetch(K("/api/resume-choice"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({choice:o.resumeAutoChoice})}).catch(l=>console.error("resume-choice failed:",l)):this.setState({resumeModalVisible:!0,resumeFileName:r.recentFileName||""})})}catch{}}),this.eventSource.addEventListener("resume_resolved",()=>{this._resetSSETimeout(),this.setState({resumeModalVisible:!1,resumeFileName:"",resumeRememberChoice:!1})}),this.eventSource.addEventListener("update_completed",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this.setState({updateInfo:{type:"completed",version:r.version}})}catch{}}),this.eventSource.addEventListener("update_major_available",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this.setState({updateInfo:{type:"major",version:r.version}})}catch{}}),this.eventSource.addEventListener("load_start",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this._chunkedEntries=[],this._chunkedTotal=r.total||0,this._isIncremental=!!r.incremental,this._hasMoreHistory=!!r.hasMore,this._oldestTs=r.oldestTs||null,this._isIncremental||this.setState({fileLoading:!0,fileLoadingCount:0})}catch{}}),this.eventSource.addEventListener("load_chunk",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);Array.isArray(r)&&(this._chunkedEntries.push(...r),!this._isIncremental&&!this._loadingCountRafId&&(this._loadingCountRafId=requestAnimationFrame(()=>{this._loadingCountRafId=null,this.setState({fileLoadingCount:this._chunkedEntries.length})})))}catch{}}),this.eventSource.addEventListener("load_end",()=>{this._resetSSETimeout(),this._loadingCountRafId&&(cancelAnimationFrame(this._loadingCountRafId),this._loadingCountRafId=null);const s=this._chunkedEntries;this._chunkedEntries=[],this._chunkedTotal=0;const r=this._isIncremental;this._isIncremental=!1;let o;if(r&&oe&&this.state.requests.length>0){if(s.length===0){this.setState({fileLoading:!1,fileLoadingCount:0});return}const c=(p,g)=>p.timestamp&&p.url?`${p.timestamp}|${p.url}`:`__nokey_c${g}`,d=new Map;this.state.requests.forEach((p,g)=>d.set(c(p,g),p)),s.forEach((p,g)=>d.set(p.timestamp&&p.url?`${p.timestamp}|${p.url}`:`__nokey_d${g}`,p)),o=Array.from(d.values())}else o=s;const l=Array.isArray(o)?Ct(o):o;if(Array.isArray(l)&&l.length>0){this._batchSlim(l);const{mainAgentSessions:c,filtered:d}=this._processEntries(l);if(oe&&c.length>Ge){const p=Kt(l,c),g=r?Tn(this.state.sessionIndex,p):p,h=l.map(k=>k._slimmed?Ye(k,l):k),{hotEntries:m,allSessions:u,coldGroups:f}=Tt(h,c,g,Ge);this._sseSlimmer=null,this._sseReconstructor=null;const _=this.state.projectName;if(_){for(const[k,C]of f)Vt(_,k,C);qt(_,g),Xe(_,l)}const v=m.filter(k=>an(k)),x={requests:m,selectedIndex:v.length>0?v.length-1:null,mainAgentSessions:u,sessionIndex:g,fileLoading:!1,fileLoadingCount:0};r||(x.hasMoreHistory=!!this._hasMoreHistory),this.setState(x)}else{const p={requests:l,selectedIndex:d.length>0?d.length-1:null,mainAgentSessions:c,fileLoading:!1,fileLoadingCount:0};r||(p.hasMoreHistory=!!this._hasMoreHistory),this.setState(p),oe&&this.state.projectName&&Xe(this.state.projectName,l)}}else this.setState({fileLoading:!1,fileLoadingCount:0})}),this.eventSource.addEventListener("full_reload",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);if(Array.isArray(r)){r.length>0&&this._batchSlim(r);const{mainAgentSessions:o,filtered:l}=r.length>0?this._processEntries(r):{mainAgentSessions:[],filtered:[]};r.length>0?this.animateLoadingCount(r.length,()=>{this.setState({requests:r,selectedIndex:l.length>0?l.length-1:null,mainAgentSessions:o,fileLoading:!1,fileLoadingCount:0,serverCachedContent:null}),oe&&this.state.projectName&&Xe(this.state.projectName,r)}):(this.setState({requests:r,selectedIndex:null,mainAgentSessions:o,fileLoading:!1,fileLoadingCount:0,serverCachedContent:null}),oe&&Gn())}else this.setState({fileLoading:!1,fileLoadingCount:0})}catch{this.setState({fileLoading:!1,fileLoadingCount:0})}}),this.eventSource.addEventListener("workspace_started",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this._loadingCountTimer&&(cancelAnimationFrame(this._loadingCountTimer),this._loadingCountTimer=null),this._rebuildRequestIndex([]),r.projectName&&(document.title=`${r.projectName} - CC Viewer`),this.setState({workspaceMode:!1,projectName:r.projectName||"",viewMode:"chat",cliMode:!0,requests:[],mainAgentSessions:[],selectedIndex:null,streamingLatest:null}),oe&&Gn()}catch{}}),this.eventSource.addEventListener("workspace_stopped",()=>{this._resetSSETimeout(),this._teardownTransientLiveState(),this._rebuildRequestIndex([]),this.setState({workspaceMode:!0,requests:[],mainAgentSessions:[],projectName:"",selectedIndex:null,streamingLatest:null})}),this.eventSource.addEventListener("context_window",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);this.setState({contextWindow:r})}catch{}}),this.eventSource.addEventListener("kv_cache_content",s=>{var r,o,l;this._resetSSETimeout();try{const c=JSON.parse(s.data);c&&(((r=c.system)==null?void 0:r.length)>0||((o=c.messages)==null?void 0:o.length)>0||((l=c.tools)==null?void 0:l.length)>0)&&this.setState({serverCachedContent:c})}catch(c){console.error("Failed to parse kv_cache_content:",c)}}),this.eventSource.addEventListener("proxy_profile",s=>{this._resetSSETimeout();try{const r=JSON.parse(s.data);r.active&&this.setState({activeProxyId:r.active}),r.profile&&fetch(K("/api/proxy-profiles")).then(o=>o.json()).then(o=>{o.profiles&&this.setState({proxyProfiles:o.profiles,activeProxyId:o.active||"max"})}).catch(()=>{})}catch{}}),this.eventSource.addEventListener("ping",()=>{this._resetSSETimeout()}),this.eventSource.addEventListener("streaming_status",s=>{this._resetSSETimeout();try{JSON.parse(s.data).active?(clearTimeout(this._streamingOffTimer),this.setState({isStreaming:!0})):(clearTimeout(this._streamingOffTimer),this._streamingOffTimer=setTimeout(()=>{this.setState({isStreaming:!1})},2e3))}catch(r){console.error("Failed to parse streaming_status:",r)}}),this.eventSource.onerror=()=>{console.error("SSE连接错误")}}catch(e){console.error("EventSource初始化失败:",e),this.setState({fileLoading:!1,fileLoadingCount:0})}}loadLocalLogFile(e){this._isLocalLog=!0,this._localLogFile=e,this.setState({fileLoading:!0,fileLoadingCount:0,serverCachedContent:null}),this._localLogES&&(this._localLogES.close(),this._localLogES=null);const n=[],s=new EventSource(K(`/api/local-log?file=${encodeURIComponent(e)}`));this._localLogES=s,s.addEventListener("load_start",r=>{try{const o=JSON.parse(r.data);this.setState({fileLoadingCount:0})}catch{}}),s.addEventListener("load_chunk",r=>{try{const o=JSON.parse(r.data);if(Array.isArray(o)){for(const l of o)n.push(l);this.setState({fileLoadingCount:n.length})}}catch{}}),s.addEventListener("load_end",()=>{s.close();const r=Ct(n);if(this._batchSlim(r),Array.isArray(r)&&r.length>0){const{mainAgentSessions:o,filtered:l}=this._processEntries(r);this.setState({requests:r,selectedIndex:l.length>0?l.length-1:null,mainAgentSessions:o,fileLoading:!1,fileLoadingCount:0,serverCachedContent:null})}else this.setState({fileLoading:!1,fileLoadingCount:0,serverCachedContent:null})}),s.onerror=()=>{s.close(),console.error("加载日志文件 SSE 连接错误"),this.setState({fileLoading:!1,fileLoadingCount:0})}}handleEventMessage(e){try{const n=JSON.parse(e.data);this._pendingEntries.push(n),this._flushRafId||(this._flushRafId=requestAnimationFrame(this._flushPendingEntries))}catch(n){console.error("处理事件消息失败:",n)}}async loadSession(e){if(this._loadingSessionId==null){this._loadingSessionId=e,this.setState({loadingSessionId:e});try{let n=await $r(this.state.projectName,e);if(!n||n.length===0){const s=(this.state.sessionIndex||[]).find(r=>r.sessionId===e);s&&s.lastTs&&(n=(await(await fetch(K(`/api/entries/page?before=${encodeURIComponent(s.lastTs)}&limit=200`))).json()).entries||[])}if(n&&n.length>0){const r=[...Ct(n),...this.state.requests];this._batchSlim(r);const{mainAgentSessions:o}=this._processEntries(r),l=Kt(r,o),c=Tn(this.state.sessionIndex,l),d=r.map(u=>u._slimmed?Ye(u,r):u),{hotEntries:p,allSessions:g,coldGroups:h}=Tt(d,o,c,Ge,new Set([e]));this._sseSlimmer=null,this._sseReconstructor=null;const m=this.state.projectName;if(m){for(const[u,f]of h)Vt(m,u,f);qt(m,c),Xe(m,r)}this.setState({requests:p,mainAgentSessions:g,sessionIndex:c,loadingSessionId:null})}else this.setState({loadingSessionId:null})}catch(n){console.error("loadSession failed:",n),this.setState({loadingSessionId:null})}this._loadingSessionId=null}}_evictColdSessions(){const{requests:e,mainAgentSessions:n,projectName:s}=this.state;if(!oe||n.length<=Ge)return;const r=e.map(p=>p._slimmed?Ye(p,e):p),{hotEntries:o,allSessions:l,coldGroups:c}=Tt(r,n,this.state.sessionIndex,Ge);this._sseSlimmer=null,this._sseReconstructor=null;const d=this.state.sessionIndex;if(s){for(const[p,g]of c)Vt(s,p,g);qt(s,d)}this.setState({requests:o,mainAgentSessions:l,sessionIndex:d})}mergeMainAgentSessions(e,n){return Gr(e,n)}renderLogTable(e,n){const s=[{title:"",dataIndex:"file",key:"check",width:40,fixed:n?"left":!1,render:r=>t.jsx(Qn,{checked:this.state.selectedLogs.has(r)||!1,onClick:o=>o.stopPropagation(),onChange:o=>{o.stopPropagation(),this.handleToggleLogSelect(r,o.target.checked)}})},{title:b("ui.logTime"),dataIndex:"timestamp",key:"time",width:n?150:180,render:r=>t.jsx("span",{className:Ze.tableTimestampCell,children:this.formatTimestamp(r,n)})},{title:b("ui.logPreview"),dataIndex:"preview",key:"preview",width:n?150:void 0,ellipsis:!0,render:r=>{if(!Array.isArray(r)||r.length===0)return"—";const o=r[0],l=o.length<=30&&r.length>1?`${o} | ${r[1]}`:o;return r.length<=1?t.jsx("span",{className:Ze.tablePreviewText,children:l}):t.jsx(Ke,{trigger:n?"click":"hover",placement:n?"bottomLeft":"leftTop",autoAdjustOverflow:{adjustX:!1,adjustY:!0},overlayInnerStyle:{background:"var(--bg-elevated)",border:"1px solid var(--border-hover)",borderRadius:8,padding:0,maxHeight:400,overflowY:"auto"},content:t.jsx("div",{className:Ze.previewPopover,children:r.map((c,d)=>t.jsx("div",{className:Ze.previewItem,children:t.jsx("pre",{className:Ze.previewText,children:c})},d))}),children:t.jsx("span",{className:Ze.tablePreviewTextClickable,style:{textDecoration:n?"underline dotted #666":"none"},children:l})})}},...n?[]:[{title:b("ui.logTurns"),dataIndex:"turns",key:"turns",width:80,render:r=>t.jsx(On,{className:Ze.tableTag,children:r||0})}],{title:b("ui.logSize"),dataIndex:"size",key:"size",width:90,render:r=>t.jsx(On,{className:Ze.tableTag,children:this.formatSize(r)})},{title:b("ui.logActions"),key:"actions",width:n?160:180,render:(r,o)=>t.jsxs("span",{className:Ze.tableActionsCell,children:[t.jsx(Le,{size:"small",type:"primary",onClick:l=>{l.stopPropagation(),this.handleOpenLogFile(o.file)},children:b("ui.openLog")}),t.jsx(Le,{size:"small",icon:t.jsx(Dn,{}),onClick:l=>{l.stopPropagation(),this.handleDownloadLogFile(o.file)},children:b("ui.downloadLog")})]})}];return t.jsx(Ua,{size:"small",dataSource:e,columns:s,rowKey:"file",pagination:!1,scroll:n?{x:"max-content",y:"calc(100vh - 160px)"}:{y:400},onRow:r=>({onClick:()=>{const o=!this.state.selectedLogs.has(r.file);this.handleToggleLogSelect(r.file,o)},style:{cursor:"pointer"}})})}formatTimestamp(e,n){return!e||e.length<15?e:n?`${e.slice(4,6)}-${e.slice(6,8)} ${e.slice(9,11)}:${e.slice(11,13)}:${e.slice(13,15)}`:`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)} ${e.slice(9,11)}:${e.slice(11,13)}:${e.slice(13,15)}`}formatSize(e){return e<1024?e+" B":e<1024*1024?(e/1024).toFixed(1)+" KB":(e/(1024*1024)).toFixed(1)+" MB"}renderPrepare(){const{requests:e,selectedIndex:n,showAll:s,fileLoading:r,fileLoadingCount:o,mainAgentSessions:l,viewMode:c}=this.state;(this._filteredSource!==e||this._filteredShowAll!==s)&&(this._filteredSource=e,this._filteredShowAll=s,this._filteredRequests=s?e:Sn(e));const d=this._filteredRequests;this._cacheLossShowAll!==s&&(this._cacheLossShowAll=s,this._cacheLossMap=new Map,this._cacheLossLastMainAgent=null,this._cacheLossProcessedCount=0),d.length<this._cacheLossProcessedCount&&(this._cacheLossMap=new Map,this._cacheLossLastMainAgent=null,this._cacheLossProcessedCount=0),d.length>this._cacheLossProcessedCount&&(this._cacheLossLastMainAgent=sa(this._cacheLossMap,d,this._cacheLossProcessedCount,this._cacheLossLastMainAgent),this._cacheLossProcessedCount=d.length);const p=n!==null?d[n]:null;return{filteredRequests:d,selectedRequest:p,fileLoading:r,fileLoadingCount:o,mainAgentSessions:l,viewMode:c}}renderWorkspaceMode(){return t.jsx($a,{theme:this.themeConfig,children:t.jsx(mr,{onLaunch:this.handleWorkspaceLaunch})})}get themeConfig(){return this.state.themeColor==="light"?{algorithm:ds.defaultAlgorithm,token:{colorPrimary:"#0969DA",colorBgContainer:"#FFFFFF",colorBgLayout:"#FAFAFA",colorBgElevated:"#FFFFFF",colorBorder:"#E0E0E0",controlOutline:"transparent",controlOutlineWidth:0}}:{algorithm:ds.darkAlgorithm,token:{colorPrimary:"#1668dc",colorBgContainer:"#111",colorBgLayout:"#0a0a0a",colorBgElevated:"#1e1e1e",colorBorder:"#2a2a2a",controlOutline:"transparent",controlOutlineWidth:0}}}}function Jl(a){return a()}Xr();const At=new Map,Yl=1024;function Qe(a){if(!a)return"";const i=At.get(a);if(i!==void 0)return i;let e;try{e=Jl(()=>_n.sanitize(ii.parse(a,{breaks:!0})))}catch{e=Hn(a)}return At.size>=Yl&&At.delete(At.keys().next().value),At.set(a,e),e}function Ql(a){if(!a)return["",""];if((a.match(/^```/gm)||[]).length%2===1)return["",a];if(/^\[[^\]]+\]:\s/m.test(a))return["",a];const e=a.lastIndexOf(`
|
|
346
346
|
|
|
347
347
|
`);if(e<0)return["",a];const n=a.lastIndexOf(`
|
|
348
348
|
`,e-1)+1,s=a.slice(n,e),r=a.indexOf(`
|