@acedatacloud/nexior 3.315.3 → 3.316.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/dist/assets/{ApiCodeButton-99X128_M.js → ApiCodeButton-DcH6BAE7.js} +1 -1
  2. package/dist/assets/{Artifacts-DW4SGLyl.js → Artifacts-CkV3hMHK.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-29g0KlAS.js → AskUserQuestionCard-D3rI-QY5.js} +2 -2
  4. package/dist/assets/{Auth-D9W-plDo.js → Auth-D5ttxrl9.js} +1 -1
  5. package/dist/assets/{Bare-LiWAs1B-.js → Bare-wr0mr_0d.js} +1 -1
  6. package/dist/assets/{BotPlaceholder-D9aa7OKZ.js → BotPlaceholder-DGfOk-D2.js} +1 -1
  7. package/dist/assets/{BottomFooter-DYn1L0fZ.js → BottomFooter-QdgSgPxS.js} +1 -1
  8. package/dist/assets/{Callback-CHkfXE5T.js → Callback-DftQlfn6.js} +1 -1
  9. package/dist/assets/{CodeSnippet-oN2JZ-a4.js → CodeSnippet-fb97l3Vo.js} +1 -1
  10. package/dist/assets/{Console-H11GKRgu.js → Console-mXRljxDO.js} +1 -1
  11. package/dist/assets/{Consumption-DX1ZwYQU.js → Consumption-DA2DWIIE.js} +1 -1
  12. package/dist/assets/{Conversation-DhJyeSww.js → Conversation-CbVWYZdD.js} +1 -1
  13. package/dist/assets/Conversation-DY1cHSD0.js +1 -0
  14. package/dist/assets/{CopyToClipboard-B6xAtf3G.js → CopyToClipboard-DoJ6mRHT.js} +1 -1
  15. package/dist/assets/Detail-BgoExBtt.js +2 -0
  16. package/dist/assets/Extra-Gqv9Q3fy.js +1 -0
  17. package/dist/assets/{FilePreview-8Nit-92V.js → FilePreview-CTM10HL6.js} +1 -1
  18. package/dist/assets/{Hailuo-CCUsZ1Y3.js → Hailuo-C8j5SJ5a.js} +1 -1
  19. package/dist/assets/{History-D_PV1NTW.js → History-DGgiNnLB.js} +1 -1
  20. package/dist/assets/{ImagePreview-Z216rpLJ.js → ImagePreview-BGqnZWZy.js} +1 -1
  21. package/dist/assets/{ImageWrapper-BJk19GoX.js → ImageWrapper-B1E1UtyY.js} +1 -1
  22. package/dist/assets/{Index-BeFYDdpc.js → Index-B34L6Di_.js} +1 -1
  23. package/dist/assets/Index-B4dTjIzn.js +1 -0
  24. package/dist/assets/{Index-cE9OtD-7.js → Index-B9FF0gP8.js} +1 -1
  25. package/dist/assets/{Index-CfTh2y1x.js → Index-BA59aIr0.js} +1 -1
  26. package/dist/assets/{Index-T4avBxtH.js → Index-BEX3fn1F.js} +1 -1
  27. package/dist/assets/Index-BG0f7VaL.js +1 -0
  28. package/dist/assets/Index-BQ5uA9Lc.js +1 -0
  29. package/dist/assets/{Index-MUKbcwCH.js → Index-BRFeiZVa.js} +1 -1
  30. package/dist/assets/{Index-qHGY3d3c.js → Index-Ba7kMDd7.js} +1 -1
  31. package/dist/assets/Index-BfhqbpEB.js +1 -0
  32. package/dist/assets/Index-Bz1GXzVN.js +1 -0
  33. package/dist/assets/{Index-DpYmCB5s.js → Index-BzWJzcgS.js} +1 -1
  34. package/dist/assets/{Index-uO6rDDln.js → Index-C2YpGz2Z.js} +1 -1
  35. package/dist/assets/{Index-CF654bFW.js → Index-C7ZtuDLN.js} +2 -2
  36. package/dist/assets/{Index-DNbEC-5i.js → Index-CmC1K5N8.js} +1 -1
  37. package/dist/assets/{Index-fD_lMx46.js → Index-CvKVGRP3.js} +1 -1
  38. package/dist/assets/{Index-DYglfSjL.js → Index-CwvWjtJ7.js} +1 -1
  39. package/dist/assets/{Index-BQQ39AzI.js → Index-D2VGX1G4.js} +1 -1
  40. package/dist/assets/Index-DlKIb9Ur.js +1 -0
  41. package/dist/assets/{Index-J3qQ4k5R.js → Index-DlmiC-oU.js} +1 -1
  42. package/dist/assets/{Index-Ccn992kN.js → Index-PKlxFxrc.js} +1 -1
  43. package/dist/assets/{Index-Duuyl6Tp.js → Index-UU9NgHKp.js} +1 -1
  44. package/dist/assets/{Index-BTyvPO-O.js → Index-cOC-TD4X.js} +1 -1
  45. package/dist/assets/{Index-fUNTOo5t.js → Index-eKHjkPCA.js} +1 -1
  46. package/dist/assets/Index-jDKjyqTX.js +1 -0
  47. package/dist/assets/Index-lspaNeLD.js +1 -0
  48. package/dist/assets/Index-nA92eW7K.js +1 -0
  49. package/dist/assets/{Index-BHwAxPqw.js → Index-rMH9NrSC.js} +1 -1
  50. package/dist/assets/{Invitees-CCkdk1qy.js → Invitees-gx2EhHx0.js} +1 -1
  51. package/dist/assets/List-41f42o1z.js +1 -0
  52. package/dist/assets/List-BEVS39nc.js +1 -0
  53. package/dist/assets/List-C_3cadf1.js +1 -0
  54. package/dist/assets/LocalTools-DihJ6OeA.js +5 -0
  55. package/dist/assets/LocalTools-Djobb3_g.css +1 -0
  56. package/dist/assets/{LocalTools-CCNJOxGt.js → LocalTools-dVmgGspz.js} +1 -1
  57. package/dist/assets/{Main-bDT4nVv8.js → Main-DMP7zfT-.js} +1 -1
  58. package/dist/assets/Message-BP51Mr8i.js +3 -0
  59. package/dist/assets/Model-CRxz86wX.js +1 -0
  60. package/dist/assets/{Navigator-BrNbZSeC.js → Navigator-BInmr0mk.js} +2 -2
  61. package/dist/assets/{NoTasks-Dj6Ly9GW.js → NoTasks-BnCmnrhm.js} +1 -1
  62. package/dist/assets/{NotFound-8A8u3mAm.js → NotFound-DPoUGjEA.js} +1 -1
  63. package/dist/assets/{Pagination-veaAAqsF.js → Pagination-CWKgOhun.js} +1 -1
  64. package/dist/assets/Pay-DX8ERrkj.js +1 -0
  65. package/dist/assets/{Player-BmEADfvE.js → Player-DS5KLjvE.js} +1 -1
  66. package/dist/assets/{PromptTextarea-BKejbdxq.js → PromptTextarea-CYZ37K25.js} +1 -1
  67. package/dist/assets/{RealtimeCall-BWtzIimR.js → RealtimeCall-DU16tVRW.js} +1 -1
  68. package/dist/assets/{ScheduledTasks-BUkdn18y.js → ScheduledTasks-DuwKOzVd.js} +2 -2
  69. package/dist/assets/Status-H1eLCQyI.js +1 -0
  70. package/dist/assets/Subscribe-CY6SREJ5.js +1 -0
  71. package/dist/assets/{TabSwitcher-DpeRj631.js → TabSwitcher-BK2BS0HX.js} +1 -1
  72. package/dist/assets/Tts-8R-9JWCj.js +1 -0
  73. package/dist/assets/{VideoPlayer-BXuQMTQe.js → VideoPlayer-Bsm81nly.js} +1 -1
  74. package/dist/assets/{alert-DvsfPYK5.js → alert-B1G1Qd-1.js} +1 -1
  75. package/dist/assets/avatar-BXr0X51e.js +1 -0
  76. package/dist/assets/{basic-CKsOyzaJ.js → basic-Bs3G2ZM5.js} +1 -1
  77. package/dist/assets/{chat-BonfbYFa.js → chat-CTG3AkBx.js} +1 -1
  78. package/dist/assets/codingBridge-Ckd93QWw.js +2 -0
  79. package/dist/assets/codingBridgeNotify-CnwLwoT5.js +2 -0
  80. package/dist/assets/{collapse-DfhpNoew.js → collapse-CfngIev4.js} +1 -1
  81. package/dist/assets/{common-BXCo4JJ8.js → common-2uO80kTX.js} +1 -1
  82. package/dist/assets/{common-C_eMW8PT.js → common-BAd4SGqQ.js} +1 -1
  83. package/dist/assets/{common-BK8ajY2I.js → common-BMQrvtkw.js} +1 -1
  84. package/dist/assets/{common-xZZzCAOn.js → common-BMjrVq-i.js} +1 -1
  85. package/dist/assets/{common-Cg6fCFRD.js → common-BROri1E1.js} +1 -1
  86. package/dist/assets/{common-C8CvSt-U.js → common-Bd5k0WlH.js} +1 -1
  87. package/dist/assets/{common-D-_XzpJe.js → common-BdQPmi57.js} +1 -1
  88. package/dist/assets/{common-ATdpiQhJ.js → common-BjlXESrk.js} +1 -1
  89. package/dist/assets/{common-BJVKSB7F.js → common-CJNaY-Db.js} +1 -1
  90. package/dist/assets/{common-Y2rMV8Ru.js → common-CaTo7LOC.js} +1 -1
  91. package/dist/assets/{common-soKCyY9T.js → common-Cj4oWNMf.js} +1 -1
  92. package/dist/assets/{common-k1p8L9Al.js → common-CzcgI1sU.js} +1 -1
  93. package/dist/assets/{common-CMG9YQg9.js → common-D9o7agfK.js} +1 -1
  94. package/dist/assets/{common-CbfBy9ms.js → common-DEIuu7BA.js} +1 -1
  95. package/dist/assets/{common-D5MLNLXX.js → common-DRmLPDXj.js} +1 -1
  96. package/dist/assets/{common-DPw0Ra5d.js → common-K2wP0P3p.js} +1 -1
  97. package/dist/assets/{common-C47eGVKt.js → common-MrXJ3R4n.js} +1 -1
  98. package/dist/assets/{common-BH_l6M6_.js → common-ohCMgYLR.js} +1 -1
  99. package/dist/assets/{constants-CIzfgEjU.js → constants-DsrifDHk.js} +1 -1
  100. package/dist/assets/{createTaskActions-bUFfp1C_.js → createTaskActions-BsWgKZLJ.js} +1 -1
  101. package/dist/assets/date-picker-DkrxIleU.js +1 -0
  102. package/dist/assets/{digitalhuman-CfNFraY8.js → digitalhuman-8DVdQAej.js} +1 -1
  103. package/dist/assets/{drawer-CZrXLXia.js → drawer-5MaRvlOw.js} +1 -1
  104. package/dist/assets/{dropdown-DteRGNjB.js → dropdown-C7DzAKi1.js} +1 -1
  105. package/dist/assets/{dropdown-S1phdJ4e.js → dropdown-Dh_phxoa.js} +1 -1
  106. package/dist/assets/esm-BC7kEwv0.js +1 -0
  107. package/dist/assets/{esm-Ctyfyb_x.js → esm-BqjgQzLH.js} +1 -1
  108. package/dist/assets/{esm-856Xpqi8.js → esm-BxSiy4nV.js} +1 -1
  109. package/dist/assets/{esm-DFTnsNuz.js → esm-CnqSfmjS.js} +3 -3
  110. package/dist/assets/{esm-1RiH4rPB.js → esm-bUokUbw1.js} +1 -1
  111. package/dist/assets/{esm-CUna8rIJ.js → esm-lG-_8Hil.js} +2 -2
  112. package/dist/assets/{esm-D7mAcB5O.js → esm-uaOvNQEp.js} +2 -2
  113. package/dist/assets/{fish-Cst6vIsv.js → fish-C-mo-1YZ.js} +1 -1
  114. package/dist/assets/{flux-woezV8N0.js → flux-OjaN7mse.js} +1 -1
  115. package/dist/assets/{grokvideo-BAt_37M2.js → grokvideo-U25XbNjd.js} +1 -1
  116. package/dist/assets/{hailuo-4NepQkX2.js → hailuo-BkqHTQyL.js} +1 -1
  117. package/dist/assets/{headshots-CqKR97EQ.js → headshots-DjPFPrp4.js} +1 -1
  118. package/dist/assets/image-tBQ7XaNU.js +1 -0
  119. package/dist/assets/index-CrvSJdHx.js +570 -0
  120. package/dist/assets/{index.browser.esm-B7ORbgxl.js → index.browser.esm-DZpyblSu.js} +1 -1
  121. package/dist/assets/{index.es-CXt_78ap.js → index.es-DYk00Y_j.js} +1 -1
  122. package/dist/assets/{input-number-DVkirvvV.js → input-number-CzOXEohd.js} +1 -1
  123. package/dist/assets/{kling-CK8c2H02.js → kling-PJavBMGM.js} +1 -1
  124. package/dist/assets/{luma-D5zf7ZMT.js → luma-BoOQuTRN.js} +1 -1
  125. package/dist/assets/{maestro-Cq5ptQh-.js → maestro-BMWVX9DP.js} +1 -1
  126. package/dist/assets/{midjourney-CVm4YqZW.js → midjourney-Dw96heOU.js} +1 -1
  127. package/dist/assets/{nanobanana-C6krmSRT.js → nanobanana-s7uBPVkL.js} +1 -1
  128. package/dist/assets/{openaiimage-DyO4WrBL.js → openaiimage-A0WDeX-k.js} +1 -1
  129. package/dist/assets/{pagination-BjJ755QR.js → pagination-B1NojfTM.js} +2 -2
  130. package/dist/assets/{pika-CRE5rXVL.js → pika-CSZDvBv4.js} +1 -1
  131. package/dist/assets/{pixverse-gXiGlR0t.js → pixverse-DQ0QLzKH.js} +1 -1
  132. package/dist/assets/{popover-fkrPVRg4.js → popover-Kx35zv5U.js} +1 -1
  133. package/dist/assets/{producer-pYx30Vgj.js → producer-DINbZtih.js} +1 -1
  134. package/dist/assets/{qrart-BLkSTxgf.js → qrart-SuekLnA2.js} +1 -1
  135. package/dist/assets/{realtime-ChI5EjVJ.js → realtime-BhvQboOx.js} +1 -1
  136. package/dist/assets/{row-CyML2LNi.js → row-CdK4wRrA.js} +1 -1
  137. package/dist/assets/{seedance-Vsbt1f5y.js → seedance-B8Bvbigk.js} +1 -1
  138. package/dist/assets/{seedream-DcNGtGre.js → seedream-LR-k-uXi.js} +1 -1
  139. package/dist/assets/{select-CRisKiTc.js → select-FL-lX1_B.js} +1 -1
  140. package/dist/assets/{serp-a4GWcQQs.js → serp-BUi5ukwy.js} +1 -1
  141. package/dist/assets/{slider-BimFnAfq.js → slider-Bq-g50sw.js} +1 -1
  142. package/dist/assets/solana-wallets-BVVEnXqI.js +2 -0
  143. package/dist/assets/{solana-wallets-vue-liUzzEGb.js → solana-wallets-vue-CYPtDjtn.js} +1 -1
  144. package/dist/assets/{sora-DSB9by1S.js → sora-DI2yp5Mj.js} +1 -1
  145. package/dist/assets/{suno-DsIUlPx9.js → suno-CsH-ha15.js} +1 -1
  146. package/dist/assets/{switch-D_iriFq2.js → switch-CfOtTgJ3.js} +1 -1
  147. package/dist/assets/{table-DDNGb7fh.js → table-C__dcaAf.js} +1 -1
  148. package/dist/assets/{tabs-DM3avita.js → tabs-BfuCLyY5.js} +1 -1
  149. package/dist/assets/{time-picker-BpGpi7nE.js → time-picker-B6CbD6Su.js} +1 -1
  150. package/dist/assets/{tooltip--YByBfb-.js → tooltip-BR9wIIHv.js} +1 -1
  151. package/dist/assets/{upload-e-ie04XI.js → upload-D5vK-W8L.js} +1 -1
  152. package/dist/assets/{veo-BKts2ugU.js → veo-Br7VpO5Q.js} +1 -1
  153. package/dist/assets/{wan-DZ_hM8vx.js → wan-rF8_Qy_f.js} +1 -1
  154. package/dist/assets/{web-BEdZSigw.js → web-Bzy4BEaB.js} +1 -1
  155. package/dist/assets/{web-CqXs03Ki.js → web-MneMnGRd.js} +1 -1
  156. package/dist/assets/{web-F638RK2R.js → web-SU1ZdcG6.js} +1 -1
  157. package/dist/assets/{web-CIPTbLQ4.js → web-US9KKdUc.js} +1 -1
  158. package/dist/assets/{web-etI_8jSc.js → web-vZ_bD3Za.js} +1 -1
  159. package/dist/assets/{webextrator-Dhpmi0sZ.js → webextrator-CJFnenLJ.js} +1 -1
  160. package/dist/index.html +2 -4
  161. package/package.json +1 -1
  162. package/dist/assets/Conversation-CBqTWRVt.js +0 -1
  163. package/dist/assets/Detail-CQisrAII.js +0 -2
  164. package/dist/assets/Extra-Bu4Q3HFM.js +0 -1
  165. package/dist/assets/Index-B2Y-UxE8.js +0 -1
  166. package/dist/assets/Index-BuwXK3Hv.js +0 -1
  167. package/dist/assets/Index-C9vXjM4T.js +0 -1
  168. package/dist/assets/Index-CKsZsQs6.js +0 -1
  169. package/dist/assets/Index-CrGIGgc0.js +0 -1
  170. package/dist/assets/Index-DSz4tEVt.js +0 -1
  171. package/dist/assets/Index-Du0tzLbR.js +0 -1
  172. package/dist/assets/Index-eOpLJhtb.js +0 -1
  173. package/dist/assets/Index-wyNsGc5k.js +0 -1
  174. package/dist/assets/List-D2T9R_8o.js +0 -1
  175. package/dist/assets/List-DdkudXFR.js +0 -1
  176. package/dist/assets/List-xIMoVyRF.js +0 -1
  177. package/dist/assets/LocalTools-BFxubxLK.css +0 -1
  178. package/dist/assets/LocalTools-r6hEu7tp.js +0 -5
  179. package/dist/assets/Message-1xPyjoNR.js +0 -3
  180. package/dist/assets/Model-CLybXLSm.js +0 -1
  181. package/dist/assets/Pay-B5yoOiIN.js +0 -1
  182. package/dist/assets/Status-Beqo0me3.js +0 -1
  183. package/dist/assets/Subscribe-D1UIXqot.js +0 -1
  184. package/dist/assets/Tts-jZbTrGKa.js +0 -1
  185. package/dist/assets/avatar-DWkPNBFY.js +0 -1
  186. package/dist/assets/codingBridge-Xww4M2hh.js +0 -2
  187. package/dist/assets/codingBridgeNotify-BoSlSEE0.js +0 -2
  188. package/dist/assets/date-picker-YI299wzT.js +0 -1
  189. package/dist/assets/esm-CtxMhXEk.js +0 -1
  190. package/dist/assets/image-CgX-bCDU.js +0 -1
  191. package/dist/assets/index-gMMpa4Qq.js +0 -570
  192. package/dist/assets/solana-wallets-RyGqW5ww.js +0 -2
  193. package/dist/assets/surface-B5ZXUAsd.js +0 -1
  194. package/dist/assets/surface-D249_eDG.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as ee,T as m,V as h,_ as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as te,j as ne,k as re,l as ie,m as ae,n as oe,o as w,p as T,r as E,s as D,t as O,ta as k,u as A,v as j,w as M,x as N,y as P,z as F}from"./constants-DsrifDHk.js";import{$n as I,Lr as L,Wr as R,an as z,qr as B}from"./index-CrvSJdHx.js";import{a as se,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-CnwLwoT5.js";var G=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,K=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},q=(e,t)=>{if(!K())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},ce=class{ws;token;handlers;reconnectDelay=o;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${k}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=o,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let n;try{n=JSON.parse(e.data)}catch{return}let r=n?.payload??{};switch(q(`recv`,n),n?.type){case t:this.handlers.onEvent?.(r,n?.from_node);break;case p:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case F:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case S:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,h)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:G(),ts:Date.now(),type:e,...t};q(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(C,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(T,{})}resume(e){this.sendEnvelope(ae,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},J,Y=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,X=(e,t,n)=>({id:Y(),session_id:e,kind:t,ts:Date.now(),...n}),Z=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},le=e=>{let t=Z(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
2
+ `)},ue=(e,t)=>{H({title:`Approval needed`,body:`Claude wants to use ${t.tool||`a tool`}. Tap to review.`,data:t},t=>{t.node_id&&e(`selectNode`,t.node_id)})},Q=(t,o,p,h,_)=>{let y=h?.event,b=h?.session_id,x=h?.trace_id,S=h?.seq;if(typeof S==`number`&&b){let e=p.lastSeq[b];if(e!==void 0&&S<=e)return;t(`setLastSeq`,{session_id:b,seq:S})}switch(b&&x&&t(`updateSession`,{session_id:b,trace_id:x}),y){case ne:t(`upsertSession`,{session_id:b,node_id:_,status:`running`,cwd:h.cwd,model:h.model,...h.effort===void 0?{}:{effort:h.effort},...h.permission_mode===void 0?{}:{permission_mode:h.permission_mode},trace_id:x});break;case r:{let e=h.sdk_session_id;b&&e&&e!==b&&t(`renameSession`,{from:b,to:e});break}case f:{let e=h.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:b,stream_id:e,text:h.text??``}):t(`appendEvent`,X(b,`text`,{text:h.text??``,stream_id:e,streaming:!0,trace_id:x}));break}case u:{let e=h.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:b,stream_id:e,text:h.text}):t(`appendEvent`,X(b,`text`,{text:h.text,trace_id:x}));break}case a:t(`appendEvent`,X(b,`thinking`,{text:h.text,trace_id:x}));break;case c:t(`appendEvent`,X(b,`tool_use`,{tool:h.tool,tool_use_id:h.tool_use_id,input:h.input,trace_id:x}));break;case s:t(`appendEvent`,X(b,`tool_result`,{tool_use_id:h.tool_use_id,content:h.content,is_error:h.is_error,trace_id:x}));break;case ee:t(`addPermission`,{request_id:h.request_id,session_id:b,node_id:_,tool:h.tool,input:h.input,title:h.title,display_name:h.display_name,description:h.description}),ue(o,{node_id:_,session_id:b,request_id:h.request_id,tool:h.display_name||h.title||h.tool});break;case N:for(let e of h.requests??[])t(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:_,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case n:t(`removePermission`,h.request_id);break;case re:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,X(b,`result`,{subtype:h.subtype,is_error:h.is_error,text:h.result,cost_usd:h.cost_usd,cut_uuid:h.cut_uuid,sdk_session_id:h.sdk_session_id,trace_id:x})),t(`updateSession`,{session_id:b,status:`idle`,cost_usd:h.cost_usd});break;case d:t(`appendEvent`,X(b,`notice`,{text:h.text,subtype:h.code,command:h.command,level:h.level}));break;case i:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,X(b,`error`,{text:h.message,trace_id:x})),t(`updateSession`,{session_id:b,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case m:t(`finalizeAllStreams`,{session_id:b}),t(`updateSession`,{session_id:b,status:`closed`});break;case e:t(`rewindToCut`,{session_id:b,cut_uuid:h.cut_uuid}),h.prompt&&t(`appendEvent`,X(b,`prompt`,{text:h.prompt,trace_id:x})),t(`updateSession`,{session_id:b,status:`running`});break;case l:o(`resyncSession`,b);break;case M:for(let e of h.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:_,status:e.status??`running`,started:!0,cwd:e.cwd,model:e.model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}});break;case v:if(_){t(`setHistory`,{node_id:_,sessions:h.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:L.Success});let e=p.historyRef;e&&e.node_id===_&&!p.currentSessionId&&o(`reattachSession`,e)}break;case P:de(t,p,h,_),t(`updateStatus`,{key:`getHistoryDetail`,value:L.Success});break;case j:t(`setDirectory`,{path:h.path,parent:h.parent??null,sep:h.sep??`/`,entries:h.entries??[],truncated:h.truncated,error:h.error});break;case g:_&&t(`setCapabilities`,{node_id:_,capabilities:{providers:h.providers??[]}});break;default:break}},de=(e,t,n,r)=>{let i=n?.session_id,a=fe(n?.provider);if(!i||!r)return;let o=a===`claude`||a===`codex`||a===`copilot`,s=t.sessions[i],c=!!s&&(s.started===!0||s.status===`running`||s.status===`starting`),l=t.lastComposer?.[r]??{};e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:n.model??s?.model??l.model,effort:n.effort??s?.effort??l.effort,permission_mode:n.permission_mode??s?.permission_mode??l.permissionMode,provider:a,started:!!c,readonly:!o&&!c});let u=t.events[i]?.length??0,d=(n.events??[]).length,f=s?.status===`running`||s?.status===`starting`;c&&u>0&&(f||u>=d)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:Y(),session_id:i,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,r),e(`setCurrentSession`,i),e(`setHistoryRef`,{node_id:r,provider:a,session_id:i})},fe=e=>e===`codex`||e===`copilot`?e:`claude`,$={namespaced:!0,state:I,mutations:{resetAll:e=>{Object.assign(e,I())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id));for(let t of e.nodes)t.status=n.has(t.node_id)?`online`:`offline`;for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]||(e.events[t.session_id]=[])},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},renameSession:(e,t)=>{let{from:n,to:r}=t;if(n===r||!e.sessions[n])return;e.sessions[r]={...e.sessions[r],...e.sessions[n],session_id:r},delete e.sessions[n];let i=e.events[n];i&&(i.length||!e.events[r]?.length)&&(e.events[r]=i),delete e.events[n],delete e.lastSeq[n],e.lastSeq[r]=0;for(let t of e.permissions)t.session_id===n&&(t.session_id=r);e.currentSessionId===n&&(e.currentSessionId=r),e.historyRef?.session_id===n&&(e.historyRef={...e.historyRef,session_id:r})},appendEvent:(e,t)=>{e.events[t.session_id]||(e.events[t.session_id]=[]),e.events[t.session_id].push(t)},truncateEventsBefore:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.findIndex(e=>e.id===t.event_id);r>=0&&(e.events[t.session_id]=n.slice(0,r))},rewindToCut:(e,t)=>{let n=e.events[t.session_id];if(!n)return;if(!t.cut_uuid){e.events[t.session_id]=[];return}let r=n.findIndex(e=>e.kind===`result`&&e.cut_uuid===t.cut_uuid);r>=0&&(e.events[t.session_id]=n.slice(0,r+1))},setLastSeq:(e,t)=>{let n=e.lastSeq[t.session_id]??0;t.seq>n&&(e.lastSeq[t.session_id]=t.seq)},appendDelta:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(r.text=(r.text??``)+(t.text??``))},finalizeStream:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(typeof t.text==`string`&&(r.text=t.text),r.streaming=!1)},finalizeAllStreams:(e,t)=>{let n=e.events[t.session_id];if(n)for(let e of n)e.streaming&&=!1},setEvents:(e,t)=>{e.events[t.session_id]=t.events},setHistory:(e,t)=>{e.history[t.node_id]=t.sessions},setHistoryRef:(e,t)=>{e.historyRef=t},setDirectory:(e,t)=>{e.directory=t,e.directoryLoading=!1},setDirectoryLoading:(e,t)=>{e.directoryLoading=t},setLastComposer:(e,t)=>{e.lastComposer={...e.lastComposer,[t.node_id]:{...e.lastComposer[t.node_id],...t.prefs}}},setCapabilities:(e,t)=>{e.capabilities[t.node_id]=t.capabilities},addPermission:(e,t)=>{e.permissions.some(e=>e.request_id===t.request_id)||e.permissions.push(t)},removePermission:(e,t)=>{e.permissions=e.permissions.filter(e=>e.request_id!==t)},removeNodeData:(e,t)=>{delete e.history[t],delete e.capabilities[t],e.historyRef?.node_id===t&&(e.historyRef=void 0);for(let n of Object.values(e.sessions))n.node_id===t&&(delete e.sessions[n.session_id],delete e.events[n.session_id],delete e.lastSeq[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},getApplications:async()=>{},setApplication:async()=>{},getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:L.Request});try{let{data:t}=await z.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:L.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:L.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:L.Request});try{let{data:n}=await z.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:L.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:L.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:L.Request});try{await z.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:L.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:L.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(J?.isOpen||(J?.close(),e(`setConnection`,`connecting`),J=new ce(i,{onOpen:()=>{e(`setConnection`,`connected`);let r={...n.lastSeq};Object.keys(r).length&&J?.resume(r),n.currentNodeId&&(t(`getHistory`,n.currentNodeId),t(`getCapabilities`,n.currentNodeId),t(`requestSessions`,n.currentNodeId),t(`requestPendingPermissions`,n.currentNodeId))},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>Q(e,t,n,r,i),onNodesSnapshot:t=>{e(`mergeNodeSnapshot`,t)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&(t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r))},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),J.connect()))},disconnect:({commit:e})=>{J?.close(),J=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r)},requestSessions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:D})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:_})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(B()){let t=await W(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await z.savePushSubscription({kind:R()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await V();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await z.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await se(e.vapid_public_key);t&&await z.savePushSubscription({kind:`webpush`,subscription:t,ua:navigator.userAgent},{token:n})}}catch(e){console.warn(`[codingBridge] web push setup skipped`,e)}return`enabled`},disableNotifications:async({rootState:e})=>{let t=e.token?.access;if(B()||!t)return;let n=await U();if(n)try{await z.deletePushSubscription({endpoint:n},{token:t})}catch(e){console.warn(`[codingBridge] failed to deregister web push`,e)}},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim(),a=n.images?.length?n.images:void 0,o=n.attachments?.length?n.attachments:void 0;if(!r||!J||!i&&!a&&!o)return;let s=Y(),c=t.currentSessionId,l=c?t.sessions[c]:void 0;if(!l||!l.started){let t=l?.provider||n.provider||`claude`;l?(c=l.session_id,e(`updateSession`,{session_id:c,status:`starting`,trace_id:s,...n.cwd?{cwd:n.cwd}:{},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}})):(c=Y(),e(`upsertSession`,{session_id:c,node_id:r,status:`starting`,cwd:n.cwd,model:n.model,effort:n.effort,permission_mode:n.permissionMode,provider:t,trace_id:s}),e(`setCurrentSession`,c),e(`setHistoryRef`,{node_id:r,provider:t,session_id:c})),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),J.sendToNode(r,{action:x,session_id:c,trace_id:s,prompt:i,cwd:n.cwd||l?.cwd||void 0,model:n.model||l?.model||void 0,permission_mode:n.permissionMode||`bypassPermissions`,provider:t,effort:n.effort||void 0,images:a,attachments:o,resume_session_id:l?.session_id||void 0})}else e(`updateSession`,{session_id:c,trace_id:s}),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,status:`running`,model:n.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),J.sendToNode(r,{action:b,session_id:c,trace_id:s,prompt:i,model:n.model??``,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode},images:a,attachments:o})},editPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=t.currentSessionId,a=n.prompt?.trim();if(!r||!i||!J||!a)return;let o=t.sessions[i],s=t.events[i]??[],c=s.findIndex(e=>e.id===n.eventId);if(!o||c<0)return;let l;for(let e=c-1;e>=0;e--)if(s[e].kind===`result`&&s[e].cut_uuid){l=s[e].cut_uuid;break}let u=n.images?.length?n.images:void 0,d=n.attachments?.length?n.attachments:void 0,f=Y();e(`truncateEventsBefore`,{session_id:i,event_id:n.eventId}),e(`updateSession`,{session_id:i,status:`running`,trace_id:f,model:n.model||o.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),e(`appendEvent`,X(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),J.sendToNode(r,{action:ie,session_id:i,trace_id:f,cut_uuid:l,prompt:a,model:n.model||o.model||void 0,permission_mode:n.permissionMode||void 0,effort:n.effort||void 0,images:u,attachments:d,restore_code:!!n.restoreCode})},retryLastPrompt:({commit:e,dispatch:t,state:n})=>{let r=n.currentSessionId;if(!r)return;let i=n.sessions[r],a=[...n.events[r]??[]].reverse().find(e=>e.kind===`prompt`);!i||!a||(e(`updateSession`,{session_id:r,started:!1}),t(`sendPrompt`,{prompt:a.text??``,cwd:i.cwd,model:i.model,provider:i.provider,images:a.images,attachments:a.attachments}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!J||J.sendToNode(n,{action:A,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&J&&J.sendToNode(i,{action:y,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:w,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},answerQuestion:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:w,request_id:n.request_id,decision:`allow`,answer:Z(n.output),answer_text:le(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!J||(e(`updateStatus`,{key:`getHistory`,value:L.Request}),J.sendToNode(r,{action:te,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!J||(e(`updateStatus`,{key:`getHistoryDetail`,value:L.Request}),J.sendToNode(t.node_id,{action:E,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:L.Success}),12e3))},reattachSession:({state:e,commit:t,dispatch:n},r)=>{!r?.node_id||!r?.session_id||(t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id),J?.resume({[r.session_id]:e.lastSeq[r.session_id]??0}))},resyncSession:({state:e,dispatch:t},n)=>{let r=e.sessions[n];r?.node_id&&t(`getHistoryDetail`,{node_id:r.node_id,session_id:n,provider:r.provider??`claude`})},browseDir:({commit:e,state:t},n)=>{let r=t.currentNodeId;!r||!J||(e(`setDirectoryLoading`,!0),J.sendToNode(r,{action:oe,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:O})}}};export{$ as codingBridge,$ as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-lG-_8Hil.js","assets/index-CrvSJdHx.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/constants-DsrifDHk.js","assets/vendor-chart-BJCvKk8-.js","assets/vendor-axios-Ck2ffRoh.js","assets/use-deprecated-B-NFNg3W.js","assets/install-CmiepWqE.js","assets/en-CpRrS3Ur.js","assets/runtime-B1Eal4u3.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/event-BGnHezxC.js","assets/use-aria-QsRrwtXj.js","assets/aria-8oQuUBWy.js","assets/scroll-CgpW_lTC.js","assets/vnode-BKrYEsqE.js","assets/vendor-vue-router-WDnlh53U.js","assets/index-DN-gMJyR.css","assets/esm-BC7kEwv0.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-zJ_50EbN.js";import{qr as t}from"./index-CrvSJdHx.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-lG-_8Hil.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-BC7kEwv0.js`);return{PushNotifications:e}},__vite__mapDeps([20,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
@@ -1 +1 @@
1
- import{A as e,Bt as t,D as n,E as r,F as i,N as a,O as o,Ot as s,P as c,Pt as l,Q as u,Vt as d,Wt as f,Z as p,b as m,bt as h,ct as g,dt as _,et as v,rt as y,ut as b,v as x,y as S,z as C,zt as w}from"./vendor-chart-BJCvKk8-.js";import{a as T,c as E,i as D,t as O}from"./install-CmiepWqE.js";import{i as k,n as A,r as j,s as M}from"./runtime-B1Eal4u3.js";import{Ct as N,_ as P,l as ee,m as F,nt as I,wt as L}from"./use-deprecated-B-NFNg3W.js";import{t as R}from"./castArray-B2xuZZNf.js";import{r as z,t as B}from"./event-BGnHezxC.js";import{t as V}from"./collapse-transition-C9jp2nDh.js";import{pi as H}from"./index-gMMpa4Qq.js";var U=e=>M(e)||t(e)||l(e),W=A({accordion:Boolean,modelValue:{type:j([Array,String,Number]),default:()=>H([])},expandIconPosition:{type:j([String]),default:`right`},beforeCollapse:{type:j(Function)}}),G={[z]:U,[B]:U},K=Symbol(`collapseContextKey`),q=`ElCollapse`,J=(e,t)=>{let n=h(R(e.modelValue)),r=r=>{n.value=r;let i=e.accordion?n.value[0]:n.value;t(z,i),t(B,i)},i=t=>{if(e.accordion)r([n.value[0]===t?``:t]);else{let e=[...n.value],i=e.indexOf(t);i>-1?e.splice(i,1):e.push(t),r(e)}};return g(()=>e.modelValue,()=>n.value=R(e.modelValue),{deep:!0}),u(K,{activeNames:n,handleItemClick:async t=>{let{beforeCollapse:n}=e;if(!n){i(t);return}let r=n(t);[w(r),k(r)].includes(!0)||L(q,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),w(r)?r.then(e=>{e!==!1&&i(t)}).catch(e=>{N(q,`some error occurred: ${e}`)}):r&&i(t)}}),{activeNames:n,setActiveNames:r}},Y=e=>{let t=E(`collapse`);return{rootKls:r(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},X=T(i({...i({name:`ElCollapse`}),props:W,emits:G,setup(t,{expose:n,emit:r}){let i=t,{activeNames:a,setActiveNames:o}=J(i,r),{rootKls:c}=Y(i);return n({activeNames:a,setActiveNames:o}),(t,n)=>(p(),e(`div`,{class:d(s(c))},[v(t.$slots,`default`)],2))}}),[[`__file`,`collapse.vue`]]),Z=A({title:{type:String,default:``},name:{type:j([String,Number]),default:void 0},icon:{type:F,default:P},disabled:Boolean}),Q=e=>{let t=C(K),{namespace:n}=E(`collapse`),i=h(!1),a=h(!1),o=ee(),c=r(()=>o.current++),l=r(()=>e.name??`${n.value}-id-${o.prefix}-${s(c)}`);return{focusing:i,id:c,isActive:r(()=>t?.activeNames.value.includes(s(l))),handleFocus:()=>{setTimeout(()=>{a.value?a.value=!1:i.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(s(l)),i.value=!1,a.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(s(l)))}}},te=(e,{focusing:t,isActive:n,id:i})=>{let a=E(`collapse`),o=r(()=>[a.b(`item`),a.is(`active`,s(n)),a.is(`disabled`,e.disabled)]),c=r(()=>[a.be(`item`,`header`),a.is(`active`,s(n)),{focusing:s(t)&&!e.disabled}]),l=r(()=>[a.be(`item`,`arrow`),a.is(`active`,s(n))]);return{itemTitleKls:r(()=>[a.be(`item`,`title`)]),arrowKls:l,headKls:c,rootKls:o,itemWrapperKls:r(()=>a.be(`item`,`wrap`)),itemContentKls:r(()=>a.be(`item`,`content`)),scopedContentId:r(()=>a.b(`content-${s(i)}`)),scopedHeadId:r(()=>a.b(`head-${s(i)}`))}},$=T(i({...i({name:`ElCollapseItem`}),props:Z,setup(t,{expose:r}){let i=t,{focusing:l,id:u,isActive:h,handleFocus:g,handleHeaderClick:C,handleEnterClick:w}=Q(i),{arrowKls:T,headKls:E,rootKls:D,itemTitleKls:O,itemWrapperKls:k,itemContentKls:A,scopedContentId:j,scopedHeadId:M}=te(i,{focusing:l,isActive:h,id:u});return r({isActive:h}),(t,r)=>(p(),e(`div`,{class:d(s(D))},[n(`div`,{id:s(M),class:d(s(E)),"aria-expanded":s(h),"aria-controls":s(j),"aria-describedby":s(j),tabindex:t.disabled?-1:0,role:`button`,onClick:s(C),onKeydown:S(m(s(w),[`stop`]),[`space`,`enter`]),onFocus:s(g),onBlur:e=>l.value=!1},[n(`span`,{class:d(s(O))},[v(t.$slots,`title`,{isActive:s(h)},()=>[a(f(t.title),1)])],2),v(t.$slots,`icon`,{isActive:s(h)},()=>[c(s(I),{class:d(s(T))},{default:b(()=>[(p(),o(y(t.icon)))]),_:1},8,[`class`])])],42,[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`onClick`,`onKeydown`,`onFocus`,`onBlur`]),c(s(V),null,{default:b(()=>[_(n(`div`,{id:s(j),role:`region`,class:d(s(k)),"aria-hidden":!s(h),"aria-labelledby":s(M)},[n(`div`,{class:d(s(A))},[v(t.$slots,`default`)],2)],10,[`id`,`aria-hidden`,`aria-labelledby`]),[[x,s(h)]])]),_:3})],2))}}),[[`__file`,`collapse-item.vue`]]),ne=O(X,{CollapseItem:$}),re=D($);export{re as n,ne as t};
1
+ import{A as e,Bt as t,D as n,E as r,F as i,N as a,O as o,Ot as s,P as c,Pt as l,Q as u,Vt as d,Wt as f,Z as p,b as m,bt as h,ct as g,dt as _,et as v,rt as y,ut as b,v as x,y as S,z as C,zt as w}from"./vendor-chart-BJCvKk8-.js";import{a as T,c as E,i as D,t as O}from"./install-CmiepWqE.js";import{i as k,n as A,r as j,s as M}from"./runtime-B1Eal4u3.js";import{Ct as N,_ as P,l as ee,m as F,nt as I,wt as L}from"./use-deprecated-B-NFNg3W.js";import{t as R}from"./castArray-B2xuZZNf.js";import{r as z,t as B}from"./event-BGnHezxC.js";import{t as V}from"./collapse-transition-C9jp2nDh.js";import{Si as H}from"./index-CrvSJdHx.js";var U=e=>M(e)||t(e)||l(e),W=A({accordion:Boolean,modelValue:{type:j([Array,String,Number]),default:()=>H([])},expandIconPosition:{type:j([String]),default:`right`},beforeCollapse:{type:j(Function)}}),G={[z]:U,[B]:U},K=Symbol(`collapseContextKey`),q=`ElCollapse`,J=(e,t)=>{let n=h(R(e.modelValue)),r=r=>{n.value=r;let i=e.accordion?n.value[0]:n.value;t(z,i),t(B,i)},i=t=>{if(e.accordion)r([n.value[0]===t?``:t]);else{let e=[...n.value],i=e.indexOf(t);i>-1?e.splice(i,1):e.push(t),r(e)}};return g(()=>e.modelValue,()=>n.value=R(e.modelValue),{deep:!0}),u(K,{activeNames:n,handleItemClick:async t=>{let{beforeCollapse:n}=e;if(!n){i(t);return}let r=n(t);[w(r),k(r)].includes(!0)||L(q,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),w(r)?r.then(e=>{e!==!1&&i(t)}).catch(e=>{N(q,`some error occurred: ${e}`)}):r&&i(t)}}),{activeNames:n,setActiveNames:r}},Y=e=>{let t=E(`collapse`);return{rootKls:r(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},X=T(i({...i({name:`ElCollapse`}),props:W,emits:G,setup(t,{expose:n,emit:r}){let i=t,{activeNames:a,setActiveNames:o}=J(i,r),{rootKls:c}=Y(i);return n({activeNames:a,setActiveNames:o}),(t,n)=>(p(),e(`div`,{class:d(s(c))},[v(t.$slots,`default`)],2))}}),[[`__file`,`collapse.vue`]]),Z=A({title:{type:String,default:``},name:{type:j([String,Number]),default:void 0},icon:{type:F,default:P},disabled:Boolean}),Q=e=>{let t=C(K),{namespace:n}=E(`collapse`),i=h(!1),a=h(!1),o=ee(),c=r(()=>o.current++),l=r(()=>e.name??`${n.value}-id-${o.prefix}-${s(c)}`);return{focusing:i,id:c,isActive:r(()=>t?.activeNames.value.includes(s(l))),handleFocus:()=>{setTimeout(()=>{a.value?a.value=!1:i.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(s(l)),i.value=!1,a.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(s(l)))}}},te=(e,{focusing:t,isActive:n,id:i})=>{let a=E(`collapse`),o=r(()=>[a.b(`item`),a.is(`active`,s(n)),a.is(`disabled`,e.disabled)]),c=r(()=>[a.be(`item`,`header`),a.is(`active`,s(n)),{focusing:s(t)&&!e.disabled}]),l=r(()=>[a.be(`item`,`arrow`),a.is(`active`,s(n))]);return{itemTitleKls:r(()=>[a.be(`item`,`title`)]),arrowKls:l,headKls:c,rootKls:o,itemWrapperKls:r(()=>a.be(`item`,`wrap`)),itemContentKls:r(()=>a.be(`item`,`content`)),scopedContentId:r(()=>a.b(`content-${s(i)}`)),scopedHeadId:r(()=>a.b(`head-${s(i)}`))}},$=T(i({...i({name:`ElCollapseItem`}),props:Z,setup(t,{expose:r}){let i=t,{focusing:l,id:u,isActive:h,handleFocus:g,handleHeaderClick:C,handleEnterClick:w}=Q(i),{arrowKls:T,headKls:E,rootKls:D,itemTitleKls:O,itemWrapperKls:k,itemContentKls:A,scopedContentId:j,scopedHeadId:M}=te(i,{focusing:l,isActive:h,id:u});return r({isActive:h}),(t,r)=>(p(),e(`div`,{class:d(s(D))},[n(`div`,{id:s(M),class:d(s(E)),"aria-expanded":s(h),"aria-controls":s(j),"aria-describedby":s(j),tabindex:t.disabled?-1:0,role:`button`,onClick:s(C),onKeydown:S(m(s(w),[`stop`]),[`space`,`enter`]),onFocus:s(g),onBlur:e=>l.value=!1},[n(`span`,{class:d(s(O))},[v(t.$slots,`title`,{isActive:s(h)},()=>[a(f(t.title),1)])],2),v(t.$slots,`icon`,{isActive:s(h)},()=>[c(s(I),{class:d(s(T))},{default:b(()=>[(p(),o(y(t.icon)))]),_:1},8,[`class`])])],42,[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`onClick`,`onKeydown`,`onFocus`,`onBlur`]),c(s(V),null,{default:b(()=>[_(n(`div`,{id:s(j),role:`region`,class:d(s(k)),"aria-hidden":!s(h),"aria-labelledby":s(M)},[n(`div`,{class:d(s(A))},[v(t.$slots,`default`)],2)],10,[`id`,`aria-hidden`,`aria-labelledby`]),[[x,s(h)]])]),_:3})],2))}}),[[`__file`,`collapse-item.vue`]]),ne=O(X,{CollapseItem:$}),re=D($);export{re as n,ne as t};
@@ -1 +1 @@
1
- var e={"button.setup":{message:`設定`,description:`按鈕中的文本,用於進行設定`},"button.start":{message:`開始`,description:`按鈕文本,用於開始某些操作`},"button.copy":{message:`複製`,description:`按鈕中的文本,用於複製某項內容`},"button.copied":{message:`已複製`,description:`按鈕文本,用於表示內容已複製`},"button.restart":{message:`重新生成`,description:`按鈕文本,用於設定某些內容`},"button.preview":{message:`預覽`,description:`按鈕文本,用於通過URL打開預覽某個文件`},"button.seeRawImage":{message:`查看原圖`,description:`按鈕文本,用於查看原始圖片`},"button.seeRawVideo":{message:`查看視頻`,description:`按鈕文本,用於查看原始視頻`},"button.edit":{message:`編輯`,description:`按鈕中的文本,用於編輯內容`},"button.login":{message:`登入`,description:`按鈕中的文本,用於登入`},"button.logout":{message:`登出`,description:`按鈕中的文本,用於登出`},"button.new":{message:`新建`,description:`按鈕中的文本,用於創建新項`},"button.delete":{message:`刪除`,description:`按鈕中的文本,用於刪除內容`},"button.deletePermanently":{message:`永久刪除帳號`,description:`Final red delete button at the bottom of the delete confirmation dialog`},"button.confirm":{message:`確認`,description:`按鈕中的文本,用於確認某項操作`},"button.cancel":{message:`取消`,description:`按鈕中的文本,用於取消某項操作`},"button.close":{message:`關閉`,description:`按鈕中的文本,用於關閉對話框或面板`},"button.expand":{message:`展開`,description:`按鈕提示文本,用於打開提示詞輸入框的全屏編輯器`},"button.alert":{message:`警告`,description:`按鈕中的文本,用於發出警報`},"button.info":{message:`資訊`,description:`按鈕中的文本,用於顯示資訊`},"button.publish":{message:`發布`,description:`按鈕中的文本,用於發布內容`},"button.watch":{message:`查看`,description:`按鈕中的文本,用於觀看某項內容`},"button.verify":{message:`實名認證`,description:`按鈕中的文本,讓用戶進行實名認證`},"button.profile":{message:`個人資料`,description:`按鈕中的文本,用於顯示個人資料`},"button.console":{message:`控制台`,description:`按鈕中的文本,用於顯示控制台頁面,以控制網頁中某項內容`},"button.learn":{message:`學習`,description:`按鈕中的文本,用於讓用戶學習某項內容`},"button.buy":{message:`購買`,description:`按鈕中的文本,用於讓用戶購買某項內容`},"button.try":{message:`測試`,description:`按鈕中的文本,用於讓用戶嘗試某項內容`},"button.startForFree":{message:`免費開始`,description:`按鈕中的文本,用於讓用戶免費開始`},"button.download":{message:`下載`,description:`按鈕中的文本,用於下載文件(如音頻、視頻、圖片)`},"button.downloadAndroid":{message:`下載 Android`,description:`按鈕中的文本,用於下載 Android 安裝包`},"button.downloadIos":{message:`下載 iOS 安裝包`,description:`按鈕中的文本,用於下載 iOS 安裝包文件`},"button.downloadWindows":{message:`下載 Windows 版`,description:`Text in button for downloading the Windows desktop installer`},"button.downloadMac":{message:`下載 macOS 版`,description:`Text in button for downloading the macOS desktop installer`},"button.installIos":{message:`安裝 iOS`,description:`按鈕中的文本,用於安裝 iOS 應用`},"button.apply":{message:`申請`,description:`按鈕中的文本,用於讓用戶申請API服務`},"button.refresh":{message:`刷新`,description:`按鈕中的文本,用於刷新頁面`},"button.pay":{message:`支付`,description:`按鈕中的文本,用於讓用戶支付服務費用`},"button.repay":{message:`繼續支付`,description:`按鈕中的文本,用於讓用戶繼續支付服務費用`},"button.applied":{message:`已申請`,description:`按鈕中的文本,用於顯示用戶已申請該服務`},"button.acquire":{message:`獲取`,description:`按鈕中的文本,用於讓用戶獲取API服務的令牌或密鑰`},"button.fillExample":{message:`填寫示例`,description:`按鈕中的文本,用於讓用戶填寫示例數據`},"button.buyMore":{message:`充值`,description:`按鈕中的文本,用於讓用戶充值。英文必須翻譯為“Top Up”,中文為“充值”。`},"button.update":{message:`更新`,description:`按鈕中的文本,用於更新內容`},"button.view":{message:`查看`,description:`按鈕中的文本,用於查看某項內容`},"button.create":{message:`創建`,description:`按鈕中的文本,用於創建某項內容`},"button.referralEarnings":{message:`推薦收入`,description:`按鈕中的文本,用於顯示推薦收入,意味著用戶可以通過邀請他人使用該服務來賺錢`},"button.finish":{message:`完成`,description:`按钮中的文本,用于完成某项操作`},"entity.id":{message:`ID`,description:`用于显示实体的唯一标识符`},"entity.type":{message:`類型`,description:`用于显示实体的类型`},"entity.website":{message:`Ace Data Cloud`,description:`网站名称,无需翻译,保持为'Ace Data Cloud'`},"entity.copyright":{message:`版權`,description:`显示版权的文本`},"entity.platform":{message:`平台`,description:`指示这是API服务平台的文本`},"entity.title":{message:`標題`,description:`实体的标题`},"entity.icon":{message:`圖示`,description:`实体的图标`},"entity.status":{message:`狀態`,description:`实体的状态`},"status.loading":{message:`載入中...`,description:`内容加载时显示的状态文案`},"error.appleSignInFailed":{message:`透過 Apple 登入失敗,請重試或使用其他登入方式。`,description:`Error toast shown when native Apple sign-in fails for a reason other than user cancellation`},"error.loginLinkExpired":{message:`登入連結已失效,請重新登入。`,description:`桌面客戶端 OAuth 回呼因 state 驗證失敗/過期被丟棄時顯示的錯誤提示。`},"entity.operation":{message:`操作`,description:`实体的操作`},"entity.description":{message:`描述`,description:`实体的描述`},"entity.createdAt":{message:`創建於`,description:`实体创建的时间`},"entity.updatedAt":{message:`更新於`,description:`实体更新的时间`},"entity.order":{message:`訂單`,description:`实体的订单,订单包含金钱、服务信息,用户需要为其支付`},"message.noTasks":{message:`沒有歷史任務,請開始新的任務吧~`,description:`没有任务时的消息`},"message.guestTasks":{message:`登入後即可發起任務,並在這裡查看你的作品。`,description:`Prompt shown in the task list area for not-logged-in guests`},"message.usedAmount":{message:`已使用金額`,description:`用于显示服务已使用的金额`},"message.mobileAppDescription":{message:`在手機上直接使用 AceData,當前提供 Android APK 下載安裝,iOS 安裝包完成簽名後開放下載。`,description:`移动应用下载页的说明文案`},"message.mobileAndroidHint":{message:`適用於 Android 手機和平板,掃碼即可下載最新 APK。`,description:`Android 下载卡片说明`},"message.mobileAndroidPending":{message:`Android 安裝包暫未就緒,請稍後再試。`,description:`Android 安装包暂未可用时的提示`},"message.mobileAvailableNow":{message:`Android 已開放下載`,description:`用于显示 Android 已可下载的状态`},"message.mobileSecureDelivery":{message:`安全 CDN 分發`,description:`用于强调下载链接通过 CDN 交付`},"message.mobileDirectInstall":{message:`直接 APK 安裝`,description:`用于描述 Android 端为直接 APK 安装方式`},"message.mobileLatestRelease":{message:`當前公開版本`,description:`用于说明当前展示的是最新公开版本`},"message.mobileSharedAccount":{message:`與網頁端共用帳號和額度`,description:`用于说明移动端与网页端共用账号`},"message.mobileIosHint":{message:`適用於 iPhone 和 iPad,可直接在線安裝;如果系統攔截,也可以先下載 IPA 再分發。`,description:`iOS 下载卡片说明`},"message.mobileIosPending":{message:`iOS 安裝包暫未開放下載,正在補齊 Apple 證書和描述文件後提供。`,description:`iOS 安装包暂未可用时的提示`},"message.mobileComingSoon":{message:`即將推出`,description:`Short status label shown on a platform card (e.g. iOS) while its build is being prepared`},"message.mobileNowOnAppStore":{message:`已上架 App Store`,description:`Status label shown on the iOS card when the app is live on the App Store`},"message.desktopWindowsHint":{message:`適用於 Windows 10 及以上版本(64 位元)。下載安裝程式後按兩下即可安裝。`,description:`Windows desktop download card description`},"message.desktopMacHint":{message:`適用於 macOS 11 及以上版本。請依你的機型選擇 —— Apple 晶片(M 系列)或 Intel。`,description:`macOS desktop download card description`},"message.desktopUnsignedNote":{message:`桌面版目前為未簽署的 Beta 版本。Windows 在 SmartScreen 提示中選擇「更多資訊 → 仍要執行」;macOS 請按右鍵點選應用程式並選擇「打開」以略過 Gatekeeper。`,description:`Note explaining the desktop builds are unsigned betas and how to open them`},"button.getOnGooglePlay":{message:`在 Google Play 取得`,description:`Button label that opens the app's Google Play Store listing`},"button.getOnAppStore":{message:`在 App Store 下載`,description:`Button label that opens the app's Apple App Store listing`},"message.mobileApkFallback":{message:`無法存取 Google Play?可直接下載 APK 安裝檔。`,description:`Shown next to a secondary button offering a direct APK download for users who cannot access Google Play`},"message.mobilePlayStoreHint":{message:`掃碼前往 Google Play`,description:`Hint under the QR code explaining that scanning it opens the Google Play listing`},"message.mobileAppStoreHint":{message:`掃碼前往 App Store`,description:`Hint under the QR code explaining that scanning it opens the App Store listing`},"message.mobileInstallNote":{message:`iOS 首次安裝企業或 Ad Hoc 包時,系統可能要求先在“設定 > 通用 > VPN 與設備管理”中信任證書。`,description:`移动应用安装提示`},"title.mobileApp":{message:`移動端下載`,description:`移动应用下载页标题`},"title.mobileFastAccess":{message:`更快觸達,不繞應用商店`,description:`下载页优势卡片标题,强调快速安装`},"title.mobileTrustedRelease":{message:`版本集中管理,分發更穩`,description:`下载页优势卡片标题,强调版本和分发稳定性`},"title.mobileUnifiedExperience":{message:`移動端與網頁端體驗保持一致`,description:`下载页优势卡片标题,强调统一体验`},"nav.mobileApp":{message:`移動端`,description:`导航中的移动应用下载入口`},"message.mobileFastAccess":{message:`用戶可以在手機掃碼直接安裝,也可以在桌面端先下載 APK 再分發給團隊成員,適合需要快速試用和內測的場景。`,description:`下载页优势说明,强调快速接入`},"message.mobileTrustedRelease":{message:`下載入口集中在同一頁面,版本號、平台狀態和安裝方式一眼可見,減少因為鏈路分散造成的溝通成本。`,description:`下载页优势说明,强调统一分发`},"message.mobileUnifiedExperience":{message:`登錄後的帳號體系、額度和服務入口與 Web 保持一致,方便用戶在桌面端和移動端之間無縫切換。`,description:`下载页优势说明,强调统一账号体验`},"message.remainingAmount":{message:`剩餘金額`,description:`用于显示服务剩余的金额`},"message.copied":{message:`已複製`,description:`顯示內容已成功複製的消息`},"message.restart":{message:`重新生成`,description:`用于显示内容已成功复制的消息`},"message.confirmDelete":{message:`您確定要刪除嗎?`,description:`確認用戶要刪除某項內容的消息`},"message.expiredAt":{message:`過期時間`,description:`用於顯示服務的過期時間`},"message.alert":{message:`警告`,description:`警告用戶的消息`},"message.deleteAccountConfirm":{message:`此操作將永久刪除您的帳號及所有相關資料,且無法復原。確定要繼續嗎?`,description:`Confirmation message shown before permanently deleting the user account`},"message.deleteAccountSuccess":{message:`您的帳號已刪除。`,description:`Message shown after the user account is successfully deleted`},"message.deleteAccountFailed":{message:`刪除帳號失敗,請稍後再試。`,description:`Message shown when account deletion fails`},"message.deleteAccountWarning":{message:`此操作不可逆!您的帳號及其所有資料將被永久刪除,無法找回。`,description:`Red warning banner at the top of the delete confirmation dialog`},"message.deleteAccountConsequences":{message:`將永久刪除:個人資料、餘額與點數、應用與訂閱、API 金鑰及第三方登入綁定。`,description:`Explains what data will be removed in the delete confirmation dialog`},"message.deleteAccountTypePrompt":{message:`請輸入您的使用者名稱以確認刪除:`,description:`Instructs the user to type their username to confirm; the username is shown separately below`},"message.deleteAccountPlaceholder":{message:`在此輸入您的使用者名稱`,description:`Placeholder for the username confirmation input`},"message.info":{message:`提示`,description:`顯示信息的消息`},"message.free":{message:`免費`,description:`顯示該服務是免費的消息,意味著用戶無需支付`},"message.startPrice":{message:`起始`,description:`顯示服務的最低價格的消息`},"message.joinDiscord":{message:`加入Discord`,description:`讓用戶加入Discord頻道的消息`},"message.addWeChat":{message:`添加微信`,description:`讓用戶添加微信賬戶的消息`},"message.serviceTech":{message:`技術支持`,description:`顯示技術支持的消息`},"message.businessCooperation":{message:`數據 & 商業合作`,description:`顯示商業合作的消息`},"message.noData":{message:`沒有數據`,description:`顯示表或列表中沒有數據的消息`},"nav.home":{message:`首頁`,description:`網站導航欄中的文本,用於顯示首頁`},"nav.content":{message:`內容`,description:`網站導航欄中的文本,用於顯示內容頁面`},"nav.category":{message:`類別`,description:`網站導航欄中的文本,用於顯示類別頁面`},"nav.service":{message:`所有服務`,description:`網站導航欄中的文本,用於顯示服務頁面`},"nav.profile":{message:`我`,description:`網站導航欄中的文本,用於顯示個人資料頁面`},"nav.products":{message:`產品`,description:`網站導航欄中的文本,用於顯示產品頁面`},"nav.referral":{message:`創收聯盟`,description:`網站導航欄中的文本,用於顯示推薦頁面`},"nav.apiPlatform":{message:`API 平台`,description:`網站導航欄中的文本,用於顯示API平台頁面`},"nav.document":{message:`開發文檔`,description:`網站導航欄中的文本,用於顯示文檔頁面`},"nav.console":{message:`控制台`,description:`網站導航欄中的文本,用於顯示控制台頁面`},"nav.chatgpt":{message:`ChatGPT`,description:`網站導航欄中的文本,用於顯示ChatGPT頁面,請不要翻譯此字段,必須保持為'ChatGPT'`},"nav.deepseek":{message:`DeepSeek`,description:`網站導航欄中的文本,用於顯示DeepSeek頁面,請不要翻譯此字段,必須保持為'DeepSeek'`},"nav.grok":{message:`Grok`,description:`網站導航欄中的文本,用於顯示Grok頁面,請不要翻譯此字段,必須保持為'Grok'`},"nav.chat":{message:`Chat`,description:`網站導航欄中的文本,用於顯示聊天頁面,請不要翻譯此字段,必須保持為'Chat'`},"nav.veo":{message:`Veo`,description:`網站導航欄中的文本,用於顯示聊天頁面,請不要翻譯此字段,必須保持為'Veo'`},"nav.sora":{message:`Sora`,description:`網站導航欄中的文本,用於顯示聊天頁面,請不要翻譯此字段,必須保持為'Sora'`},"nav.midjourney":{message:`Midjourney`,description:`網站導航欄中的文本,用於顯示中途之旅頁面,請不要翻譯此字段,必須保持為'Midjourney'`},"nav.qrart":{message:`QRArt`,description:`網站導航欄中的文本,用於顯示二維藝術頁面,請不要翻譯此字段,必須保持為'QRArt'`},"nav.suno":{message:`Suno`,description:`網站導航欄中的文本,用於顯示Suno頁面,請不要翻譯此字段,必須保持為'Suno'`},"nav.pixverse":{message:`Pixverse`,description:`網站導航欄中的文本,用於顯示Pixverse頁面,請不要翻譯此字段,必須保持為'Pixverse'`},"nav.flux":{message:`Flux`,description:`網站導航欄中的文本,用於顯示Flux頁面,請不要翻譯此字段,必須保持為'Flux'`},"nav.nanobanana":{message:`Nano Banana`,description:`網站導航欄中的文本,用於顯示Nano Banana頁面,請不要翻譯此字段,必須保持為'Nano Banana'`},"nav.openaiimage":{message:`OpenAI Image`,description:`網站導航欄中的文本,用於顯示OpenAI Image頁面,請不要翻譯此字段,必須保持為'OpenAI Image'`},"nav.seedream":{message:`SeeDream`,description:`網站導航欄中的文本,用於顯示SeeDream頁面,請不要翻譯此字段,必須保持為'SeeDream'`},"nav.seedance":{message:`SeeDance`,description:`網站導航欄中的文本,用於顯示SeeDance頁面,請不要翻譯此字段,必須保持為'SeeDance'`},"nav.grokvideo":{message:`Grok Video`,description:`Text in the website navigation bar to display the Grok Imagine video page`},"nav.luma":{message:`Luma`,description:`網站導航欄中的文本,用於顯示Luma頁面,請不要翻譯此字段,必須保持為'Luma'`},"nav.pika":{message:`Pika`,description:`網站導航欄中的文本,用於顯示Pika頁面,請不要翻譯此字段,必須保持為'Pika'`},"nav.kling":{message:`Kling`,description:`網站導航欄中的文本,用於顯示Kling頁面,請不要翻譯此字段,必須保持為'Kling'`},"nav.hailuo":{message:`Hailuo`,description:`網站導航欄中的文本,用於顯示Hailuo頁面,請不要翻譯此字段,必須保持為'Hailuo'`},"nav.wan":{message:`Wan`,description:`網站導航欄中的文本,用於顯示Wan頁面,請不要翻譯此字段,必須保持為'Wan'`},"nav.producer":{message:`Producer`,description:`網站導航欄中的文本,用於顯示Producer頁面,請不要翻譯此字段,必須保持為'Producer'`},"nav.fish":{message:`Fish Audio`,description:`網站導航欄中的文本,用於顯示Fish Audio頁面,請不要翻譯此字段,必須保持為'Fish Audio'`},"nav.kimi":{message:`Kimi`,description:`網站導航欄中的文本,用於顯示Kimi頁面,請不要翻譯此字段,必須保持為'Kimi'`},"nav.serp":{message:`SERP`,description:`網站導航欄中的文本,用於顯示SERP頁面,請不要翻譯此字段,必須保持為'SERP'`},"nav.codingBridge":{message:`Coding Bridge`,description:`Text in the website navigation bar to display the Coding Bridge page, must remain as 'Coding Bridge'`},"nav.webextrator":{message:`WebExtrator`,description:`Text in the website navigation bar to display the WebExtrator page, must remain as 'WebExtrator'`},"nav.image":{message:`圖片`,description:`網站導航欄中的文本,用於顯示圖片頁面`},"nav.music":{message:`音樂`,description:`網站導航欄中的文本,用於顯示音樂頁面`},"nav.video":{message:`視頻`,description:`網站導航欄中的文本,用於顯示視頻頁面`},"nav.distribution":{message:`推薦收益`,description:`網站導航欄中的文本,用於顯示推薦收益頁面`},"nav.connections":{message:`連接`,description:`跳轉到 auth.acedata.cloud 連接管理頁的菜單項`},"nav.logOut":{message:`登出`,description:`網站導航欄中的文本,用於登出`},"nav.deleteAccount":{message:`刪除帳號`,description:`Menu item to permanently delete the current user account`},"nav.site":{message:`站點配置`,description:`網站導航欄中的文本,用於顯示站點配置頁面`},"nav.subsite":{message:`我的分站`,description:`側邊欄“我的分站”入口,僅在站點開啟 features.subsite 時顯示`},"nav.setting":{message:`設定`,description:`網站導航欄中的文本,用於顯示設定頁面`},"nav.headshots":{message:`AI證件照`,description:`網站導航欄中的文本,用於顯示站點配置頁面`},"nav.more":{message:`更多`,description:`網站導航欄中的文本,用於展開更多服務`},"nav.locale":{message:`語言設定`,description:`網站導航欄中的文本,用於更改語言`},"nav.support":{message:`客服支持`,description:`網站導航欄中的文本,用於顯示聯繫頁面`},"nav.darkMode":{message:`深色模式`,description:`網站導航欄中的文本,用於切換到深色主題`},"title.alert":{message:`警告`,description:`警告消息的標題`},"title.placeholderOfSelect":{message:`請選擇`,description:`選擇輸入的佔位符`},"title.placeholderOfInput":{message:`請填寫`,description:`輸入的佔位符`},"title.allApplications":{message:`所有申請`,description:`顯示所有申請的頁面標題`},"title.allOrders":{message:`所有訂單`,description:`顯示所有訂單的頁面標題`},"title.orderInfo":{message:`訂單信息`,description:`顯示訂單信息的頁面標題`},"title.buyMore":{message:`充值`,description:`頁面標題,用於充值。英文必須翻譯為“Top Up”,中文為“充值”。`},"title.distribution":{message:`推薦收益`,description:`顯示推薦收入的頁面標題,意味著用戶可以通過邀請他人使用該服務來賺錢`},"title.site":{message:`站點配置`,description:`顯示站點配置的頁面標題`},"title.distributionHistory":{message:`推薦歷史`,description:`顯示推薦歷史的頁面標題`},"title.invitee":{message:`邀請人`,description:`顯示邀請人的頁面標題`},"title.allUsages":{message:`使用歷史`,description:`顯示API服務所有使用的頁面標題`},"title.allCredentials":{message:`密鑰`,description:`顯示所有憑證的頁面標題,憑證用於訪問API`},"about.title1":{message:`聯絡我們`,description:`顯示聯絡資訊的部分標題`},"about.title2":{message:`資源`,description:`顯示連結的部分標題`},"about.title3":{message:`連結`,description:`顯示支持信息的部分標題`},"about.address":{message:`美國特拉華州紐瓦克大陸路131號305室,郵遞區號19713`,description:`公司的地址`},"about.email":{message:`office@acedata.cloud`,description:`公司的電子郵件`},"about.link1":{message:`服務`,description:`指向文檔頁面的連結`},"about.link2":{message:`開發文檔`,description:`指向服務頁面的連結`},"about.link3":{message:`控制台`,description:`指向控制台頁面的連結`},"about.link4":{message:`個人資料`,description:`指向個人資料頁面的連結`},"about.link5":{message:`UI平台`,description:`指向中心頁面的連結`},"about.link6":{message:`推薦收益`,description:`指向推薦收入頁面的連結`},"about.link7":{message:`支持`,description:`指向支持頁面的連結`},"about.link8":{message:`服務條款`,description:`指向服務條款頁面的連結`},"about.link9":{message:`隱私政策`,description:`指向隱私政策頁面的連結`},"theme.light":{message:`淺色`,description:`淺色主題的名稱`},"theme.dark":{message:`深色`,description:`深色主題的名稱`},"theme.system":{message:`系統`,description:`系統主題的名稱,表示根據系統設置自動切換主題`},"settings.general":{message:`通用設置`,description:`設置頁面中的通用設置部分的標題`},"settings.language":{message:`語言`,description:`設置頁面中的語言設置部分的標題`},"settings.theme":{message:`主題`,description:`設置頁面中的主題設置部分的標題`},"settings.seo":{message:`SEO設置`,description:`設置頁面中的SEO設置部分的標題`},"settings.site":{message:`站點設置`,description:`設置頁面中的站點設置部分的標題`},"settings.distribution":{message:`分發設置`,description:`設置頁面中的分發設置部分的標題`},"settings.function":{message:`功能設置`,description:`設置頁面中的功能設置部分的標題`},"settings.auth":{message:`登入方式`,description:`設定頁面側邊欄的『登入方式』標籤標題——配置本站允許使用的登入方式及預設登入方式,僅站點管理員可見`},"settings.apiKey":{message:`API金鑰`,description:`設置頁面側邊欄的 API 金鑰標籤——用戶自帶(BYOK)的上游服務商 API 金鑰管理`},"settings.memory":{message:`記憶`,description:`設定彈窗側邊欄的「記憶」標籤,使用者在此查看和管理助手記住的關於自己的資訊`},"settings.memoryIntro":{message:`助手會記住你在對話中提到的有用資訊,從而在不同對話裡給出更貼合你的個性化回覆。你擁有完全的控制權——可以查看已保存的內容,並刪除不希望它記住的部分。`,description:`記憶設定標籤頁頂部的介紹文字`},"settings.memoryNeedsChat":{message:`請先開始一次對話以啟用記憶功能。`,description:`當聊天應用/令牌尚未加載時,在記憶設定標籤頁顯示`},"settings.memoryStored":{message:`已保存的記憶`,description:`已儲存記憶條目列表上方的分區標題`},"settings.memoryEmpty":{message:`暫無保存的記憶。隨著你的使用,助手會在這裡記住持久的偏好和資訊。`,description:`使用者沒有任何已儲存記憶時顯示的空狀態`},"settings.memoryForget":{message:`忘記`,description:`記憶條目行上刪除該單條記憶的按鈕`},"settings.memoryClearAll":{message:`清空全部`,description:`一次性刪除所有已儲存記憶的按鈕`},"settings.memoryClearConfirm":{message:`這將永久刪除助手記住的關於你的所有資訊,且無法撤銷。`,description:`清空全部記憶前的確認彈窗內容`},"settings.memoryError":{message:`操作失敗,請重試。`,description:`記憶刪除/清空操作失敗時顯示的錯誤提示`},"field.operations":{message:`操作`,description:`通用列標題:表格行的操作按鈕列(編輯、刪除等)`},"nav.gemini":{message:`Gemini`,description:`網站導航欄中的文本,用於顯示 Gemini 頁面,必須保持為 'Gemini'`},"nav.claude":{message:`Claude`,description:`網站導航欄中的文本,用於顯示 Claude 頁面,必須保持為 'Claude'`},"button.detail":{message:`查看詳情`,description:``},"button.testEnv":{message:`測試環境`,description:`按鈕中的文本,用於切換到測試環境`},"button.upload":{message:`上傳`,description:`按鈕中的文本,用於上傳文件或內容`},"message.cnbeian":{message:`中國區備案`,description:`中國區備案的說明信息`},"message.copyFailed":{message:`複製失敗`,description:`顯示內容複製失敗的消息`},"nav.tryNow":{message:`快速體驗`,description:`網站導航欄中的文本,用於讓用戶嘗試服務`},"title.coin":{message:`加密貨幣`,description:`顯示加密貨幣的頁面標題`},"title.distributionRank":{message:`推薦排行`,description:`顯示推薦排行的頁面標題`},"title.distributionPlatformRank":{message:`平台排行`,description:`顯示平台排行的頁面標題`},"customers.name1":{message:`馬克·杜`,description:`客戶的姓名`},"customers.job1":{message:`軟體工程師`,description:`客戶的職業`},"customers.comment1":{message:`Ace Data Cloud 為我們的團隊提供了很好的服務,幫助我們提高了生產力。非常喜歡!`,description:`客戶的評價`},"customers.name2":{message:`雅各布·威廉姆斯`,description:`客戶的姓名`},"customers.job2":{message:`產品經理`,description:`客戶的職業`},"customers.comment2":{message:`Ace Data Cloud 是一個很好的集成平台,服務質量優秀。`,description:`客戶的評價`},"customers.name3":{message:`拉里·亨利`,description:`客戶的姓名`},"customers.job3":{message:`設計師`,description:`客戶的職業`},"customers.comment3":{message:`我喜歡 Ace Data Cloud 的服務,使用方便,價格合理,希望能越來越好!`,description:`客戶的評價`},"nav.github":{message:`GitHub`,description:`GitHub倉庫連結`},"settings.github":{message:`源碼`,description:`在GitHub上查看源碼的連結`},"settings.about":{message:`關於`,description:`設定頁面中的關於部分的標題`},"settings.localTools":{message:`本機工具`,description:`Desktop-only settings tab for managing local tool folders, permissions and grants.`},"settings.localToolsDesktopOnly":{message:`僅在桌面應用程式中可用。`,description:`Shown when the Local Tools tab is opened on web/mobile.`},"settings.localToolsFoldersTitle":{message:`已授權資料夾`,description:`Heading for the list of folders the AI may read/write locally.`},"settings.localToolsFoldersHint":{message:`AI 可在本機讀寫的資料夾。工具於本機執行;未經你同意,任何內容都不會離開你的裝置。`,description:`Help text under the authorized-folders heading.`},"settings.localToolsComputerUseTitle":{message:`電腦操作(實驗性)`,description:`Heading for the opt-in Computer Use (screen + mouse/keyboard control) toggle.`},"settings.localToolsComputerUseHint":{message:`讓 AI 看到你的螢幕並控制本機的滑鼠和鍵盤。預設關閉,按需開啟。macOS 上需在下方授予「螢幕錄製」和「輔助使用」權限。每個操作仍會請求你的確認。`,description:`Help text under the Computer Use toggle.`},"settings.localToolsPreauthorizeAll":`預先允許所有電腦操作`,"settings.localToolsPreauthorizeHint":`一次性允許截圖、點擊、輸入、按鍵等所有電腦操作,並觸發所需的系統權限。`,"settings.localToolsCuActionsTitle":`逐項允許操作`,"settings.localToolsCuActionsHint":`只開啟你願意讓 AI 免確認執行的操作,其餘仍會逐次詢問。每一項都可在此撤銷。`,"settings.localToolsCuScreenshot":`截圖`,"settings.localToolsCuClick":`點擊`,"settings.localToolsCuMove":`移動指標`,"settings.localToolsCuType":`輸入文字`,"settings.localToolsCuKey":`按鍵`,"settings.localToolsCuScroll":`捲動`,"settings.localToolsBuiltinTitle":`內建工具`,"settings.localToolsBuiltinHint":`開啟某個工具後,AI 呼叫它將不再逐次詢問。Shell 可執行本機任意命令——請謹慎開啟;檔案工具仍限制在你已授權的資料夾內。`,"settings.localToolsBuiltinRisky":`完全存取`,"settings.localToolsAddFolder":{message:`新增資料夾`,description:`Button to pick a folder to authorize.`},"settings.localToolsRemove":{message:`移除`,description:`Button to remove an authorized folder.`},"settings.localToolsNoFolders":{message:`尚未授權任何資料夾。`,description:`Empty state for the authorized-folders list.`},"settings.localToolsSave":{message:`儲存`,description:`Save the authorized folders.`},"settings.localToolsMcpTitle":{message:`MCP servers`,description:`Section title for local MCP server configuration in Local Tools settings.`},"settings.localToolsMcpHint":{message:`Connect local MCP servers over stdio. Their tools become available to the AI, gated by the same per-call confirmation. Changes take effect immediately.`,description:`Explains what local MCP servers do and that changes apply without a restart.`},"settings.localToolsMcpAdd":{message:`Add server`,description:`Button to add a new local MCP server row.`},"settings.localToolsMcpName":{message:`Name`,description:`Label for the MCP server name/id field.`},"settings.localToolsMcpCommand":{message:`Command`,description:`Label for the MCP server launch command field.`},"settings.localToolsMcpArgs":{message:`Arguments`,description:`Label for the MCP server command arguments field.`},"settings.localToolsMcpArgsHint":{message:`One argument per line.`,description:`Placeholder/hint for the MCP arguments textarea.`},"settings.localToolsMcpEnv":{message:`Environment`,description:`Label for the MCP server environment variables field.`},"settings.localToolsMcpEnvHint":{message:`One KEY=VALUE per line.`,description:`Placeholder/hint for the MCP environment variables textarea.`},"settings.localToolsMcpNoServers":{message:`No MCP servers configured.`,description:`Empty state shown when no MCP servers are configured.`},"settings.localToolsMcpNamePlaceholder":{message:`e.g. filesystem`,description:`Placeholder for the MCP server name input.`},"settings.localToolsMcpCommandPlaceholder":{message:`e.g. npx`,description:`Placeholder for the MCP server command input.`},"settings.localToolsMcpNameRequired":{message:`Each server needs a name and a command.`,description:`Validation error when a server row is missing a name or command.`},"settings.localToolsMcpDuplicateName":{message:`Server names must be unique.`,description:`Validation error when two servers share the same name.`},"settings.localToolsMcpNameInvalid":{message:`Name may only contain letters, numbers, hyphens and underscores.`,description:`Validation error when a server name contains invalid characters.`},"settings.localToolsMcpEnabled":{message:`On`,description:`Toggle label to enable/disable a local MCP server.`},"settings.localToolsMcpReconnect":{message:`Test / Reconnect`,description:`Button to re-spawn one MCP server and refresh its status.`},"settings.localToolsMcpConnecting":{message:`Connecting…`,description:`Badge while an MCP server is being (re)connected.`},"settings.localToolsMcpNotSaved":{message:`Not saved yet`,description:`Badge for an MCP server row that hasn't been saved/connected yet.`},"settings.localToolsMcpConnected":{message:`Connected · {n} tools`,description:`Badge when an MCP server connected; {n} is the tool count.`},"settings.localToolsMcpDisabled":{message:`Disabled`,description:`Badge when an MCP server is turned off.`},"settings.localToolsMcpFailed":{message:`Failed to connect`,description:`Badge when an MCP server failed to start; the reason is shown below.`},"settings.localToolsMcpPlatformHint":{message:`Tip: use a command on your PATH such as npx or uvx (e.g. npx -y {'@'}modelcontextprotocol/server-filesystem ~/Documents). On Windows, npx/node resolve automatically. If a server shows "spawn … ENOENT", set the command to a full path.`,description:`Cross-platform hint for configuring the MCP launch command.`},"settings.localToolsSaved":{message:`已儲存`,description:`Transient confirmation after saving local-tool folders.`},"settings.localToolsActiveTools":{message:`可用工具`,description:`Label before the list of currently available local tools.`},"settings.localToolsGrantsTitle":{message:`永久允許的操作`,description:`Heading for the persistent consent grants list.`},"settings.localToolsGrantsHint":{message:`你選擇「永久允許」的工具呼叫,將不再詢問直接執行。撤銷任一項可重新開啟確認提示。`,description:`Help text under the always-allowed actions heading.`},"settings.localToolsRevoke":{message:`撤銷`,description:`Button to revoke a single always-allow grant.`},"settings.localToolsRevokeAll":{message:`全部撤銷`,description:`Button to revoke every always-allow grant.`},"settings.localToolsNoGrants":{message:`尚無永久允許的操作。每次執行本機工具前都會先徵求你的同意。`,description:`Empty state for the always-allowed actions list.`},"settings.localToolsPermsTitle":{message:`系統權限`,description:`Heading for the macOS system-permission section.`},"settings.localToolsPermsHint":{message:`選用。上方的資料夾存取不需要這些權限——只授予特定工作真正需要的。`,description:`Help text under the system-permissions heading.`},"settings.localToolsPermFullDisk":{message:`完整磁碟存取權`,description:`macOS Full Disk Access permission row.`},"settings.localToolsPermScreen":{message:`螢幕錄製`,description:`macOS Screen Recording permission row.`},"settings.localToolsPermAccessibility":{message:`輔助使用`,description:`macOS Accessibility permission row.`},"settings.localToolsGranted":{message:`已授權`,description:`Status tag when a system permission is granted.`},"settings.localToolsNotGranted":{message:`未授權`,description:`Status tag when a system permission is not granted.`},"settings.localToolsOpen":{message:`開啟…`,description:`Button to open the relevant macOS System Settings pane.`},"settings.subsites":{message:`我的分站`,description:`設定彈窗中分站管理 tab 的標題。僅在 official 主站可見,分站不顯示。`},"settings.adminOnlyHint":{message:`此栏目仅站点管理员可见,普通用户无法访问。`,description:`在站点设置 / SEO 设置 / 分发设置 / 功能设置 等仅管理员可见的设置 tab 顶部展示的提示語。`},"settings.officialOnlyHint":{message:`此栏目仅主站可见,分站不会显示。`,description:`在『我的分站』tab 顶部展示的提示語,說明該入口只在 official 主站出現。`},"settings.customDomain":{message:`自訂網域`,description:`Title for the custom-domain management tab in the settings popup. Visible only on subsites (non-main-official hosts) for site admins.`},"settings.buildNow":{message:`一鍵搭建`,description:`關於頁面中『一鍵搭建分站』按鈕的文本,僅 official 主站顯示`},"settings.poweredBy":{message:`開源專案`,description:`關於頁面中展示本站基於哪個開源專案搭建的標題`},"settings.poweredByTip":{message:`本站基於 Nexior 開源專案搭建,程式碼完全開源。`,description:`關於頁面中展示本站基於哪個開源專案的說明`},"settings.apiService":{message:`API 服務`,description:`關於頁面中展示API服務提供方的標題`},"settings.apiServiceTip":{message:`本站 API 服務由 Ace Data Cloud 提供。`,description:`關於頁面中展示API服務提供方的說明`},"settings.buildYourOwn":{message:`搭建同款`,description:`關於頁面中提示用戶可以搭建同款站點的標題`},"settings.buildYourOwnTip":{message:`想搭建同樣的 AI 站點?聯繫我們獲取部署支持。`,description:`關於頁面中搭建同款的說明`},"settings.contactUs":{message:`聯繫客服`,description:`聯繫客服按鈕的文本`},"message.viewOnGithub":{message:`在 GitHub 上查看`,description:`在GitHub上查看專案的連結文本`},"title.notFound":{message:`頁面走失了`,description:`404 頁面的標題`},"message.notFound":{message:`你訪問的頁面不存在,可能連結已經更換或被移除。回首頁繼續探索 AceData 的 AI 服務吧。`,description:`404 頁面的副標題描述`},"message.notFoundEyebrow":{message:`出錯了`,description:`404 頁面頂部小標籤文本`},"message.notFoundPath":{message:`請求路徑`,description:`404 頁面展示當前請求路徑的標籤`},"button.backToHome":{message:`返回首頁`,description:`按鈕文本,用於跳轉回首頁`},"button.goBack":{message:`返回上一頁`,description:`按鈕文本,用於返回瀏覽歷史的上一頁`},"title.apiCode":{message:`API code for this request`,description:`Title of the dialog that shows the equivalent API code (curl / Python / Node) that would reproduce a result generated inside the product`},"message.viewCodeHint":{message:`Show API code for this request`,description:`Tooltip text on the View Code button shown alongside result-card action buttons (U1/U2/Download/Extend/...). Clicking the button opens a dialog with curl / Python / Node snippets that reproduce the same generation via the public API.`},"button.viewCode":{message:`View code`,description:`Button text that opens a dialog with the equivalent API code (curl / Python / Node) for the current result, similar to the OpenAI Playground 'View code' affordance`},"button.getApiKey":{message:`Get an API key`,description:`Link text in the API code dialog footer that opens the platform console page where users can create an API key`},"button.apiPlatform":{message:`API Platform`,description:`API code dialog footer button label. Clicking opens https://platform.acedata.cloud/ in a new tab so users can manage their API keys, balance and usage.`},"message.apiCodeIntro":{message:`Run this from your own code to produce the same result. Replace <YOUR_API_KEY> with a key from your platform console.`,description:`Helper text shown above the code tabs in the API code dialog, explaining how to use the snippet`},"tab.apiRequest":{message:`請求`,description:`API 代碼對話框中請求片段的標籤(重現當前結果的代碼)。`},"tab.apiResponse":{message:`響應`,description:`API 代碼對話框中在點擊運行後返回的實時響應的標籤。`},"button.apiRun":{message:`再次運行`,description:`API 代碼對話框中的按鈕,使用用戶的 API 金鑰實時重新運行請求。結果已存在,因此點擊後會再次運行,並且會計費。`},"button.apiRunning":{message:`運行中…`,description:`當實時請求正在進行時,API 代碼對話框中的運行按鈕標籤。`},"button.apiRunConfirm":{message:`確認運行`,description:`對話框中的確認按鈕標籤,警告運行此操作會消耗額外的積分。`},"button.viewDocs":{message:`查看文檔`,description:`API 代碼對話框底部的按鈕,打開平台上相應的 API 文檔頁面。`},"message.apiClickRun":{message:`點擊「再次運行」即可使用你的 API Key 實時執行本次請求。`,description:`API 代碼對話框響應標籤的空狀態,在用戶運行請求之前顯示。`},"message.apiRunConfirmTitle":{message:`確認運行`,description:`在從 API 代碼對話框重新運行請求之前顯示的確認對話框標題。`},"message.apiRunConfirmDesc":{message:`本次運行會用你的 API Key 真實調用接口並額外消耗積分,確認繼續嗎?`,description:`確認對話框的主體,警告重新運行請求是一個真實的、可計費的 API 調用。`},"message.apiRunConfirmSkip":{message:`不再提示`,description:`在運行確認對話框中的復選框,勾選後將在後續運行中抑制警告。`},"message.apiRunTaskCreated":{message:`任務已創建,關閉此窗口即可在下方查看最新結果。`,description:`在 API 代碼對話框中,當運行返回任務 ID 後顯示的成功橫幅,提示新任務已經出現在對話框後面的列表中。`},"button.apiViewLatest":{message:`關閉並查看`,description:`在 API 代碼對話框成功橫幅中的按鈕,關閉對話框以便用戶可以查看下方新創建的任務列表。`},"message.uploadInProgress":{message:`參考檔案仍在上傳,請稍候再生成。`,description:`Toast shown when the user clicks the Generate button while one or more reference uploads are still in flight. Asks them to wait for uploads to complete before retrying.`},"appUpgrade.title":{message:`Update required`,description:`Title of the native-app version gate modal shown at startup when the installed build is older than what the backend supports.`},"appUpgrade.blockMessage":{message:`This version is no longer supported. Please update from the app store to continue.`,description:`Body text of the hard-block upgrade modal shown when the installed version is below min_supported. The modal has no dismiss affordance — the only button opens the app store.`},"appUpgrade.softMessage":{message:`A newer version is available. Update from the app store for the best experience.`,description:`Body text of the soft upgrade prompt shown when the installed version is below latest but above min_supported. The user can dismiss and keep using the app.`},"appUpgrade.openStore":{message:`Update now`,description:`Primary button on the upgrade modal — opens the App Store / Play Store URL in the system browser.`},"appUpgrade.later":{message:`Later`,description:`Secondary button on the soft upgrade prompt — dismisses the modal and lets the user keep using the current version. Only shown for non-forced upgrades.`},"nav.maestro":{message:`Maestro`,description:`導航欄中 Maestro 文章轉視頻頁面的文字,保持為 'Maestro'`},"nav.digitalhuman":{message:`數字人`,description:`Text in the website navigation bar for the Digital Human talking-head page`},"settings.localToolsAndroidPermHint":{message:`Enable the accessibility service so the assistant can see and control your screen. You can pre-authorize individual actions below.`,description:`Hint for the Android Computer Use accessibility permission section in Settings.`},"settings.cuConsentTitle":{message:`Allow action?`,description:`Title of the on-demand consent dialog shown when the assistant requests a screen action.`},"settings.cuConsentMessage":{message:`The assistant wants to run "{action}" on your phone. Allow it?`,description:`Body of the on-demand consent dialog; {action} is the computer.* action name.`},"settings.cuConsentAllow":{message:`Allow once`,description:`Allow button of the on-demand consent dialog.`},"settings.cuConsentAlways":{message:`Always allow`,description:`Always-allow button of the on-demand consent dialog; persists a grant so this action never prompts again.`},"settings.cuConsentDeny":{message:`Deny`,description:`Deny button of the on-demand consent dialog.`}};export{e as default};
1
+ var e={"button.setup":{message:`設定`,description:`按鈕中的文本,用於進行設定`},"button.start":{message:`開始`,description:`按鈕文本,用於開始某些操作`},"button.copy":{message:`複製`,description:`按鈕中的文本,用於複製某項內容`},"button.copied":{message:`已複製`,description:`按鈕文本,用於表示內容已複製`},"button.restart":{message:`重新生成`,description:`按鈕文本,用於設定某些內容`},"button.preview":{message:`預覽`,description:`按鈕文本,用於通過URL打開預覽某個文件`},"button.seeRawImage":{message:`查看原圖`,description:`按鈕文本,用於查看原始圖片`},"button.seeRawVideo":{message:`查看視頻`,description:`按鈕文本,用於查看原始視頻`},"button.edit":{message:`編輯`,description:`按鈕中的文本,用於編輯內容`},"button.login":{message:`登入`,description:`按鈕中的文本,用於登入`},"button.logout":{message:`登出`,description:`按鈕中的文本,用於登出`},"button.new":{message:`新建`,description:`按鈕中的文本,用於創建新項`},"button.delete":{message:`刪除`,description:`按鈕中的文本,用於刪除內容`},"button.deletePermanently":{message:`永久刪除帳號`,description:`Final red delete button at the bottom of the delete confirmation dialog`},"button.confirm":{message:`確認`,description:`按鈕中的文本,用於確認某項操作`},"button.cancel":{message:`取消`,description:`按鈕中的文本,用於取消某項操作`},"button.close":{message:`關閉`,description:`按鈕中的文本,用於關閉對話框或面板`},"button.expand":{message:`展開`,description:`按鈕提示文本,用於打開提示詞輸入框的全屏編輯器`},"button.alert":{message:`警告`,description:`按鈕中的文本,用於發出警報`},"button.info":{message:`資訊`,description:`按鈕中的文本,用於顯示資訊`},"button.publish":{message:`發布`,description:`按鈕中的文本,用於發布內容`},"button.watch":{message:`查看`,description:`按鈕中的文本,用於觀看某項內容`},"button.verify":{message:`實名認證`,description:`按鈕中的文本,讓用戶進行實名認證`},"button.profile":{message:`個人資料`,description:`按鈕中的文本,用於顯示個人資料`},"button.console":{message:`控制台`,description:`按鈕中的文本,用於顯示控制台頁面,以控制網頁中某項內容`},"button.learn":{message:`學習`,description:`按鈕中的文本,用於讓用戶學習某項內容`},"button.buy":{message:`購買`,description:`按鈕中的文本,用於讓用戶購買某項內容`},"button.try":{message:`測試`,description:`按鈕中的文本,用於讓用戶嘗試某項內容`},"button.startForFree":{message:`免費開始`,description:`按鈕中的文本,用於讓用戶免費開始`},"button.download":{message:`下載`,description:`按鈕中的文本,用於下載文件(如音頻、視頻、圖片)`},"button.downloadAndroid":{message:`下載 Android`,description:`按鈕中的文本,用於下載 Android 安裝包`},"button.downloadIos":{message:`下載 iOS 安裝包`,description:`按鈕中的文本,用於下載 iOS 安裝包文件`},"button.downloadWindows":{message:`下載 Windows 版`,description:`Text in button for downloading the Windows desktop installer`},"button.downloadMac":{message:`下載 macOS 版`,description:`Text in button for downloading the macOS desktop installer`},"button.installIos":{message:`安裝 iOS`,description:`按鈕中的文本,用於安裝 iOS 應用`},"button.apply":{message:`申請`,description:`按鈕中的文本,用於讓用戶申請API服務`},"button.refresh":{message:`刷新`,description:`按鈕中的文本,用於刷新頁面`},"button.pay":{message:`支付`,description:`按鈕中的文本,用於讓用戶支付服務費用`},"button.repay":{message:`繼續支付`,description:`按鈕中的文本,用於讓用戶繼續支付服務費用`},"button.applied":{message:`已申請`,description:`按鈕中的文本,用於顯示用戶已申請該服務`},"button.acquire":{message:`獲取`,description:`按鈕中的文本,用於讓用戶獲取API服務的令牌或密鑰`},"button.fillExample":{message:`填寫示例`,description:`按鈕中的文本,用於讓用戶填寫示例數據`},"button.buyMore":{message:`充值`,description:`按鈕中的文本,用於讓用戶充值。英文必須翻譯為“Top Up”,中文為“充值”。`},"button.update":{message:`更新`,description:`按鈕中的文本,用於更新內容`},"button.view":{message:`查看`,description:`按鈕中的文本,用於查看某項內容`},"button.create":{message:`創建`,description:`按鈕中的文本,用於創建某項內容`},"button.referralEarnings":{message:`推薦收入`,description:`按鈕中的文本,用於顯示推薦收入,意味著用戶可以通過邀請他人使用該服務來賺錢`},"button.finish":{message:`完成`,description:`按钮中的文本,用于完成某项操作`},"entity.id":{message:`ID`,description:`用于显示实体的唯一标识符`},"entity.type":{message:`類型`,description:`用于显示实体的类型`},"entity.website":{message:`Ace Data Cloud`,description:`网站名称,无需翻译,保持为'Ace Data Cloud'`},"entity.copyright":{message:`版權`,description:`显示版权的文本`},"entity.platform":{message:`平台`,description:`指示这是API服务平台的文本`},"entity.title":{message:`標題`,description:`实体的标题`},"entity.icon":{message:`圖示`,description:`实体的图标`},"entity.status":{message:`狀態`,description:`实体的状态`},"status.loading":{message:`載入中...`,description:`内容加载时显示的状态文案`},"error.appleSignInFailed":{message:`透過 Apple 登入失敗,請重試或使用其他登入方式。`,description:`Error toast shown when native Apple sign-in fails for a reason other than user cancellation`},"error.loginLinkExpired":{message:`登入連結已失效,請重新登入。`,description:`桌面客戶端 OAuth 回呼因 state 驗證失敗/過期被丟棄時顯示的錯誤提示。`},"entity.operation":{message:`操作`,description:`实体的操作`},"entity.description":{message:`描述`,description:`实体的描述`},"entity.createdAt":{message:`創建於`,description:`实体创建的时间`},"entity.updatedAt":{message:`更新於`,description:`实体更新的时间`},"entity.order":{message:`訂單`,description:`实体的订单,订单包含金钱、服务信息,用户需要为其支付`},"message.noTasks":{message:`沒有歷史任務,請開始新的任務吧~`,description:`没有任务时的消息`},"message.guestTasks":{message:`登入後即可發起任務,並在這裡查看你的作品。`,description:`Prompt shown in the task list area for not-logged-in guests`},"message.usedAmount":{message:`已使用金額`,description:`用于显示服务已使用的金额`},"message.mobileAppDescription":{message:`在手機上直接使用 AceData,當前提供 Android APK 下載安裝,iOS 安裝包完成簽名後開放下載。`,description:`移动应用下载页的说明文案`},"message.mobileAndroidHint":{message:`適用於 Android 手機和平板,掃碼即可下載最新 APK。`,description:`Android 下载卡片说明`},"message.mobileAndroidPending":{message:`Android 安裝包暫未就緒,請稍後再試。`,description:`Android 安装包暂未可用时的提示`},"message.mobileAvailableNow":{message:`Android 已開放下載`,description:`用于显示 Android 已可下载的状态`},"message.mobileSecureDelivery":{message:`安全 CDN 分發`,description:`用于强调下载链接通过 CDN 交付`},"message.mobileDirectInstall":{message:`直接 APK 安裝`,description:`用于描述 Android 端为直接 APK 安装方式`},"message.mobileLatestRelease":{message:`當前公開版本`,description:`用于说明当前展示的是最新公开版本`},"message.mobileSharedAccount":{message:`與網頁端共用帳號和額度`,description:`用于说明移动端与网页端共用账号`},"message.mobileIosHint":{message:`適用於 iPhone 和 iPad,可直接在線安裝;如果系統攔截,也可以先下載 IPA 再分發。`,description:`iOS 下载卡片说明`},"message.mobileIosPending":{message:`iOS 安裝包暫未開放下載,正在補齊 Apple 證書和描述文件後提供。`,description:`iOS 安装包暂未可用时的提示`},"message.mobileComingSoon":{message:`即將推出`,description:`Short status label shown on a platform card (e.g. iOS) while its build is being prepared`},"message.mobileNowOnAppStore":{message:`已上架 App Store`,description:`Status label shown on the iOS card when the app is live on the App Store`},"message.desktopWindowsHint":{message:`適用於 Windows 10 及以上版本(64 位元)。下載安裝程式後按兩下即可安裝。`,description:`Windows desktop download card description`},"message.desktopMacHint":{message:`適用於 macOS 11 及以上版本。請依你的機型選擇 —— Apple 晶片(M 系列)或 Intel。`,description:`macOS desktop download card description`},"message.desktopUnsignedNote":{message:`桌面版目前為未簽署的 Beta 版本。Windows 在 SmartScreen 提示中選擇「更多資訊 → 仍要執行」;macOS 請按右鍵點選應用程式並選擇「打開」以略過 Gatekeeper。`,description:`Note explaining the desktop builds are unsigned betas and how to open them`},"button.getOnGooglePlay":{message:`在 Google Play 取得`,description:`Button label that opens the app's Google Play Store listing`},"button.getOnAppStore":{message:`在 App Store 下載`,description:`Button label that opens the app's Apple App Store listing`},"message.mobileApkFallback":{message:`無法存取 Google Play?可直接下載 APK 安裝檔。`,description:`Shown next to a secondary button offering a direct APK download for users who cannot access Google Play`},"message.mobilePlayStoreHint":{message:`掃碼前往 Google Play`,description:`Hint under the QR code explaining that scanning it opens the Google Play listing`},"message.mobileAppStoreHint":{message:`掃碼前往 App Store`,description:`Hint under the QR code explaining that scanning it opens the App Store listing`},"message.mobileInstallNote":{message:`iOS 首次安裝企業或 Ad Hoc 包時,系統可能要求先在“設定 > 通用 > VPN 與設備管理”中信任證書。`,description:`移动应用安装提示`},"title.mobileApp":{message:`移動端下載`,description:`移动应用下载页标题`},"title.mobileFastAccess":{message:`更快觸達,不繞應用商店`,description:`下载页优势卡片标题,强调快速安装`},"title.mobileTrustedRelease":{message:`版本集中管理,分發更穩`,description:`下载页优势卡片标题,强调版本和分发稳定性`},"title.mobileUnifiedExperience":{message:`移動端與網頁端體驗保持一致`,description:`下载页优势卡片标题,强调统一体验`},"nav.mobileApp":{message:`移動端`,description:`导航中的移动应用下载入口`},"message.mobileFastAccess":{message:`用戶可以在手機掃碼直接安裝,也可以在桌面端先下載 APK 再分發給團隊成員,適合需要快速試用和內測的場景。`,description:`下载页优势说明,强调快速接入`},"message.mobileTrustedRelease":{message:`下載入口集中在同一頁面,版本號、平台狀態和安裝方式一眼可見,減少因為鏈路分散造成的溝通成本。`,description:`下载页优势说明,强调统一分发`},"message.mobileUnifiedExperience":{message:`登錄後的帳號體系、額度和服務入口與 Web 保持一致,方便用戶在桌面端和移動端之間無縫切換。`,description:`下载页优势说明,强调统一账号体验`},"message.remainingAmount":{message:`剩餘金額`,description:`用于显示服务剩余的金额`},"message.copied":{message:`已複製`,description:`顯示內容已成功複製的消息`},"message.restart":{message:`重新生成`,description:`用于显示内容已成功复制的消息`},"message.confirmDelete":{message:`您確定要刪除嗎?`,description:`確認用戶要刪除某項內容的消息`},"message.expiredAt":{message:`過期時間`,description:`用於顯示服務的過期時間`},"message.alert":{message:`警告`,description:`警告用戶的消息`},"message.deleteAccountConfirm":{message:`此操作將永久刪除您的帳號及所有相關資料,且無法復原。確定要繼續嗎?`,description:`Confirmation message shown before permanently deleting the user account`},"message.deleteAccountSuccess":{message:`您的帳號已刪除。`,description:`Message shown after the user account is successfully deleted`},"message.deleteAccountFailed":{message:`刪除帳號失敗,請稍後再試。`,description:`Message shown when account deletion fails`},"message.deleteAccountWarning":{message:`此操作不可逆!您的帳號及其所有資料將被永久刪除,無法找回。`,description:`Red warning banner at the top of the delete confirmation dialog`},"message.deleteAccountConsequences":{message:`將永久刪除:個人資料、餘額與點數、應用與訂閱、API 金鑰及第三方登入綁定。`,description:`Explains what data will be removed in the delete confirmation dialog`},"message.deleteAccountTypePrompt":{message:`請輸入您的使用者名稱以確認刪除:`,description:`Instructs the user to type their username to confirm; the username is shown separately below`},"message.deleteAccountPlaceholder":{message:`在此輸入您的使用者名稱`,description:`Placeholder for the username confirmation input`},"message.info":{message:`提示`,description:`顯示信息的消息`},"message.free":{message:`免費`,description:`顯示該服務是免費的消息,意味著用戶無需支付`},"message.startPrice":{message:`起始`,description:`顯示服務的最低價格的消息`},"message.joinDiscord":{message:`加入Discord`,description:`讓用戶加入Discord頻道的消息`},"message.addWeChat":{message:`添加微信`,description:`讓用戶添加微信賬戶的消息`},"message.serviceTech":{message:`技術支持`,description:`顯示技術支持的消息`},"message.businessCooperation":{message:`數據 & 商業合作`,description:`顯示商業合作的消息`},"message.noData":{message:`沒有數據`,description:`顯示表或列表中沒有數據的消息`},"nav.home":{message:`首頁`,description:`網站導航欄中的文本,用於顯示首頁`},"nav.content":{message:`內容`,description:`網站導航欄中的文本,用於顯示內容頁面`},"nav.category":{message:`類別`,description:`網站導航欄中的文本,用於顯示類別頁面`},"nav.service":{message:`所有服務`,description:`網站導航欄中的文本,用於顯示服務頁面`},"nav.profile":{message:`我`,description:`網站導航欄中的文本,用於顯示個人資料頁面`},"nav.products":{message:`產品`,description:`網站導航欄中的文本,用於顯示產品頁面`},"nav.referral":{message:`創收聯盟`,description:`網站導航欄中的文本,用於顯示推薦頁面`},"nav.apiPlatform":{message:`API 平台`,description:`網站導航欄中的文本,用於顯示API平台頁面`},"nav.document":{message:`開發文檔`,description:`網站導航欄中的文本,用於顯示文檔頁面`},"nav.console":{message:`控制台`,description:`網站導航欄中的文本,用於顯示控制台頁面`},"nav.chatgpt":{message:`ChatGPT`,description:`網站導航欄中的文本,用於顯示ChatGPT頁面,請不要翻譯此字段,必須保持為'ChatGPT'`},"nav.deepseek":{message:`DeepSeek`,description:`網站導航欄中的文本,用於顯示DeepSeek頁面,請不要翻譯此字段,必須保持為'DeepSeek'`},"nav.grok":{message:`Grok`,description:`網站導航欄中的文本,用於顯示Grok頁面,請不要翻譯此字段,必須保持為'Grok'`},"nav.chat":{message:`Chat`,description:`網站導航欄中的文本,用於顯示聊天頁面,請不要翻譯此字段,必須保持為'Chat'`},"nav.veo":{message:`Veo`,description:`網站導航欄中的文本,用於顯示聊天頁面,請不要翻譯此字段,必須保持為'Veo'`},"nav.sora":{message:`Sora`,description:`網站導航欄中的文本,用於顯示聊天頁面,請不要翻譯此字段,必須保持為'Sora'`},"nav.midjourney":{message:`Midjourney`,description:`網站導航欄中的文本,用於顯示中途之旅頁面,請不要翻譯此字段,必須保持為'Midjourney'`},"nav.qrart":{message:`QRArt`,description:`網站導航欄中的文本,用於顯示二維藝術頁面,請不要翻譯此字段,必須保持為'QRArt'`},"nav.suno":{message:`Suno`,description:`網站導航欄中的文本,用於顯示Suno頁面,請不要翻譯此字段,必須保持為'Suno'`},"nav.pixverse":{message:`Pixverse`,description:`網站導航欄中的文本,用於顯示Pixverse頁面,請不要翻譯此字段,必須保持為'Pixverse'`},"nav.flux":{message:`Flux`,description:`網站導航欄中的文本,用於顯示Flux頁面,請不要翻譯此字段,必須保持為'Flux'`},"nav.nanobanana":{message:`Nano Banana`,description:`網站導航欄中的文本,用於顯示Nano Banana頁面,請不要翻譯此字段,必須保持為'Nano Banana'`},"nav.openaiimage":{message:`OpenAI Image`,description:`網站導航欄中的文本,用於顯示OpenAI Image頁面,請不要翻譯此字段,必須保持為'OpenAI Image'`},"nav.seedream":{message:`SeeDream`,description:`網站導航欄中的文本,用於顯示SeeDream頁面,請不要翻譯此字段,必須保持為'SeeDream'`},"nav.seedance":{message:`SeeDance`,description:`網站導航欄中的文本,用於顯示SeeDance頁面,請不要翻譯此字段,必須保持為'SeeDance'`},"nav.grokvideo":{message:`Grok Video`,description:`Text in the website navigation bar to display the Grok Imagine video page`},"nav.luma":{message:`Luma`,description:`網站導航欄中的文本,用於顯示Luma頁面,請不要翻譯此字段,必須保持為'Luma'`},"nav.pika":{message:`Pika`,description:`網站導航欄中的文本,用於顯示Pika頁面,請不要翻譯此字段,必須保持為'Pika'`},"nav.kling":{message:`Kling`,description:`網站導航欄中的文本,用於顯示Kling頁面,請不要翻譯此字段,必須保持為'Kling'`},"nav.hailuo":{message:`Hailuo`,description:`網站導航欄中的文本,用於顯示Hailuo頁面,請不要翻譯此字段,必須保持為'Hailuo'`},"nav.wan":{message:`Wan`,description:`網站導航欄中的文本,用於顯示Wan頁面,請不要翻譯此字段,必須保持為'Wan'`},"nav.producer":{message:`Producer`,description:`網站導航欄中的文本,用於顯示Producer頁面,請不要翻譯此字段,必須保持為'Producer'`},"nav.fish":{message:`Fish Audio`,description:`網站導航欄中的文本,用於顯示Fish Audio頁面,請不要翻譯此字段,必須保持為'Fish Audio'`},"nav.kimi":{message:`Kimi`,description:`網站導航欄中的文本,用於顯示Kimi頁面,請不要翻譯此字段,必須保持為'Kimi'`},"nav.serp":{message:`SERP`,description:`網站導航欄中的文本,用於顯示SERP頁面,請不要翻譯此字段,必須保持為'SERP'`},"nav.codingBridge":{message:`Coding Bridge`,description:`Text in the website navigation bar to display the Coding Bridge page, must remain as 'Coding Bridge'`},"nav.webextrator":{message:`WebExtrator`,description:`Text in the website navigation bar to display the WebExtrator page, must remain as 'WebExtrator'`},"nav.image":{message:`圖片`,description:`網站導航欄中的文本,用於顯示圖片頁面`},"nav.music":{message:`音樂`,description:`網站導航欄中的文本,用於顯示音樂頁面`},"nav.video":{message:`視頻`,description:`網站導航欄中的文本,用於顯示視頻頁面`},"nav.distribution":{message:`推薦收益`,description:`網站導航欄中的文本,用於顯示推薦收益頁面`},"nav.connections":{message:`連接`,description:`跳轉到 auth.acedata.cloud 連接管理頁的菜單項`},"nav.logOut":{message:`登出`,description:`網站導航欄中的文本,用於登出`},"nav.deleteAccount":{message:`刪除帳號`,description:`Menu item to permanently delete the current user account`},"nav.site":{message:`站點配置`,description:`網站導航欄中的文本,用於顯示站點配置頁面`},"nav.subsite":{message:`我的分站`,description:`側邊欄“我的分站”入口,僅在站點開啟 features.subsite 時顯示`},"nav.setting":{message:`設定`,description:`網站導航欄中的文本,用於顯示設定頁面`},"nav.headshots":{message:`AI證件照`,description:`網站導航欄中的文本,用於顯示站點配置頁面`},"nav.more":{message:`更多`,description:`網站導航欄中的文本,用於展開更多服務`},"nav.locale":{message:`語言設定`,description:`網站導航欄中的文本,用於更改語言`},"nav.support":{message:`客服支持`,description:`網站導航欄中的文本,用於顯示聯繫頁面`},"nav.darkMode":{message:`深色模式`,description:`網站導航欄中的文本,用於切換到深色主題`},"title.alert":{message:`警告`,description:`警告消息的標題`},"title.placeholderOfSelect":{message:`請選擇`,description:`選擇輸入的佔位符`},"title.placeholderOfInput":{message:`請填寫`,description:`輸入的佔位符`},"title.allApplications":{message:`所有申請`,description:`顯示所有申請的頁面標題`},"title.allOrders":{message:`所有訂單`,description:`顯示所有訂單的頁面標題`},"title.orderInfo":{message:`訂單信息`,description:`顯示訂單信息的頁面標題`},"title.buyMore":{message:`充值`,description:`頁面標題,用於充值。英文必須翻譯為“Top Up”,中文為“充值”。`},"title.distribution":{message:`推薦收益`,description:`顯示推薦收入的頁面標題,意味著用戶可以通過邀請他人使用該服務來賺錢`},"title.site":{message:`站點配置`,description:`顯示站點配置的頁面標題`},"title.distributionHistory":{message:`推薦歷史`,description:`顯示推薦歷史的頁面標題`},"title.invitee":{message:`邀請人`,description:`顯示邀請人的頁面標題`},"title.allUsages":{message:`使用歷史`,description:`顯示API服務所有使用的頁面標題`},"title.allCredentials":{message:`密鑰`,description:`顯示所有憑證的頁面標題,憑證用於訪問API`},"about.title1":{message:`聯絡我們`,description:`顯示聯絡資訊的部分標題`},"about.title2":{message:`資源`,description:`顯示連結的部分標題`},"about.title3":{message:`連結`,description:`顯示支持信息的部分標題`},"about.address":{message:`美國特拉華州紐瓦克大陸路131號305室,郵遞區號19713`,description:`公司的地址`},"about.email":{message:`office@acedata.cloud`,description:`公司的電子郵件`},"about.link1":{message:`服務`,description:`指向文檔頁面的連結`},"about.link2":{message:`開發文檔`,description:`指向服務頁面的連結`},"about.link3":{message:`控制台`,description:`指向控制台頁面的連結`},"about.link4":{message:`個人資料`,description:`指向個人資料頁面的連結`},"about.link5":{message:`UI平台`,description:`指向中心頁面的連結`},"about.link6":{message:`推薦收益`,description:`指向推薦收入頁面的連結`},"about.link7":{message:`支持`,description:`指向支持頁面的連結`},"about.link8":{message:`服務條款`,description:`指向服務條款頁面的連結`},"about.link9":{message:`隱私政策`,description:`指向隱私政策頁面的連結`},"theme.light":{message:`淺色`,description:`淺色主題的名稱`},"theme.dark":{message:`深色`,description:`深色主題的名稱`},"theme.system":{message:`系統`,description:`系統主題的名稱,表示根據系統設置自動切換主題`},"settings.general":{message:`通用設置`,description:`設置頁面中的通用設置部分的標題`},"settings.language":{message:`語言`,description:`設置頁面中的語言設置部分的標題`},"settings.theme":{message:`主題`,description:`設置頁面中的主題設置部分的標題`},"settings.seo":{message:`SEO設置`,description:`設置頁面中的SEO設置部分的標題`},"settings.site":{message:`站點設置`,description:`設置頁面中的站點設置部分的標題`},"settings.distribution":{message:`分發設置`,description:`設置頁面中的分發設置部分的標題`},"settings.function":{message:`功能設置`,description:`設置頁面中的功能設置部分的標題`},"settings.auth":{message:`登入方式`,description:`設定頁面側邊欄的『登入方式』標籤標題——配置本站允許使用的登入方式及預設登入方式,僅站點管理員可見`},"settings.apiKey":{message:`API金鑰`,description:`設置頁面側邊欄的 API 金鑰標籤——用戶自帶(BYOK)的上游服務商 API 金鑰管理`},"settings.memory":{message:`記憶`,description:`設定彈窗側邊欄的「記憶」標籤,使用者在此查看和管理助手記住的關於自己的資訊`},"settings.memoryIntro":{message:`助手會記住你在對話中提到的有用資訊,從而在不同對話裡給出更貼合你的個性化回覆。你擁有完全的控制權——可以查看已保存的內容,並刪除不希望它記住的部分。`,description:`記憶設定標籤頁頂部的介紹文字`},"settings.memoryNeedsChat":{message:`請先開始一次對話以啟用記憶功能。`,description:`當聊天應用/令牌尚未加載時,在記憶設定標籤頁顯示`},"settings.memoryStored":{message:`已保存的記憶`,description:`已儲存記憶條目列表上方的分區標題`},"settings.memoryEmpty":{message:`暫無保存的記憶。隨著你的使用,助手會在這裡記住持久的偏好和資訊。`,description:`使用者沒有任何已儲存記憶時顯示的空狀態`},"settings.memoryForget":{message:`忘記`,description:`記憶條目行上刪除該單條記憶的按鈕`},"settings.memoryClearAll":{message:`清空全部`,description:`一次性刪除所有已儲存記憶的按鈕`},"settings.memoryClearConfirm":{message:`這將永久刪除助手記住的關於你的所有資訊,且無法撤銷。`,description:`清空全部記憶前的確認彈窗內容`},"settings.memoryError":{message:`操作失敗,請重試。`,description:`記憶刪除/清空操作失敗時顯示的錯誤提示`},"field.operations":{message:`操作`,description:`通用列標題:表格行的操作按鈕列(編輯、刪除等)`},"nav.gemini":{message:`Gemini`,description:`網站導航欄中的文本,用於顯示 Gemini 頁面,必須保持為 'Gemini'`},"nav.claude":{message:`Claude`,description:`網站導航欄中的文本,用於顯示 Claude 頁面,必須保持為 'Claude'`},"button.detail":{message:`查看詳情`,description:``},"button.testEnv":{message:`測試環境`,description:`按鈕中的文本,用於切換到測試環境`},"button.upload":{message:`上傳`,description:`按鈕中的文本,用於上傳文件或內容`},"message.cnbeian":{message:`中國區備案`,description:`中國區備案的說明信息`},"message.copyFailed":{message:`複製失敗`,description:`顯示內容複製失敗的消息`},"nav.tryNow":{message:`快速體驗`,description:`網站導航欄中的文本,用於讓用戶嘗試服務`},"title.coin":{message:`加密貨幣`,description:`顯示加密貨幣的頁面標題`},"title.distributionRank":{message:`推薦排行`,description:`顯示推薦排行的頁面標題`},"title.distributionPlatformRank":{message:`平台排行`,description:`顯示平台排行的頁面標題`},"customers.name1":{message:`馬克·杜`,description:`客戶的姓名`},"customers.job1":{message:`軟體工程師`,description:`客戶的職業`},"customers.comment1":{message:`Ace Data Cloud 為我們的團隊提供了很好的服務,幫助我們提高了生產力。非常喜歡!`,description:`客戶的評價`},"customers.name2":{message:`雅各布·威廉姆斯`,description:`客戶的姓名`},"customers.job2":{message:`產品經理`,description:`客戶的職業`},"customers.comment2":{message:`Ace Data Cloud 是一個很好的集成平台,服務質量優秀。`,description:`客戶的評價`},"customers.name3":{message:`拉里·亨利`,description:`客戶的姓名`},"customers.job3":{message:`設計師`,description:`客戶的職業`},"customers.comment3":{message:`我喜歡 Ace Data Cloud 的服務,使用方便,價格合理,希望能越來越好!`,description:`客戶的評價`},"nav.github":{message:`GitHub`,description:`GitHub倉庫連結`},"settings.github":{message:`源碼`,description:`在GitHub上查看源碼的連結`},"settings.about":{message:`關於`,description:`設定頁面中的關於部分的標題`},"settings.localTools":{message:`本機工具`,description:`Desktop-only settings tab for managing local tool folders, permissions and grants.`},"settings.localToolsDesktopOnly":{message:`僅在桌面應用程式中可用。`,description:`Shown when the Local Tools tab is opened on web/mobile.`},"settings.localToolsFoldersTitle":{message:`已授權資料夾`,description:`Heading for the list of folders the AI may read/write locally.`},"settings.localToolsFoldersHint":{message:`AI 可在本機讀寫的資料夾。工具於本機執行;未經你同意,任何內容都不會離開你的裝置。`,description:`Help text under the authorized-folders heading.`},"settings.localToolsComputerUseTitle":{message:`電腦操作(實驗性)`,description:`Heading for the opt-in Computer Use (screen + mouse/keyboard control) toggle.`},"settings.localToolsComputerUseHint":{message:`讓 AI 看到你的螢幕並控制本機的滑鼠和鍵盤。預設關閉,按需開啟。macOS 上需在下方授予「螢幕錄製」和「輔助使用」權限。每個操作仍會請求你的確認。`,description:`Help text under the Computer Use toggle.`},"settings.localToolsAndroidSkillsTitle":{message:`手機自動化技能`,description:`安裝通過電腦操作驅動手機應用的技能的 Android 專用部分的標題。`},"settings.localToolsAndroidSkillsHint":{message:`安裝能讓助手操作本機 App 的技能。它們透過「電腦操作」運行,請先在上方授予無障礙權限並開啟電腦操作。每步動作仍遵循你的電腦操作確認設定。`,description:`在手機自動化技能標題下的幫助文字。`},"settings.localToolsAndroidSkillsXhsName":{message:`小紅書私信自動回覆`,description:`小紅書(RED)私信自動回覆技能的顯示名稱。`},"settings.localToolsAndroidSkillsXhsDesc":{message:`讀取小紅書 App 裡的新私信並起草回覆,發送前會先請你確認。`,description:`小紅書私信技能的一行描述。`},"settings.localToolsAndroidSkillsInstall":{message:`安裝`,description:`安裝技能到用戶帳戶的按鈕。`},"settings.localToolsAndroidSkillsInstalled":{message:`已安裝`,description:`當技能已經安裝時顯示的標籤。`},"settings.localToolsAndroidSkillsLoading":{message:`正在加載可用技能……`,description:`在獲取技能目錄時的佔位符。`},"settings.localToolsAndroidSkillsUnavailable":{message:`暫無可安裝的手機技能。`,description:`當未找到可安裝的手機技能時的空狀態。`},"settings.localToolsAndroidSkillsNeedComputerUse":{message:`安裝前請先授予無障礙權限並在上方開啟電腦操作。`,description:`當安裝按鈕因缺少前置條件而被禁用時顯示的提示。`},"settings.localToolsAndroidSkillsNextTurn":{message:`已安裝,將在你下次對話時生效。`,description:`成功安裝後顯示的確認信息。`},"settings.localToolsAndroidSkillsInstallFailed":{message:`安裝失敗,請重試。`,description:`當安裝請求失敗時顯示的錯誤信息。`},"settings.localToolsAndroidSkillsLoadFailed":{message:`加載可用技能失敗,請重試。`,description:`當獲取技能目錄失敗時顯示的錯誤信息。`},"settings.localToolsPreauthorizeAll":`預先允許所有電腦操作`,"settings.localToolsPreauthorizeHint":`一次性允許截圖、點擊、輸入、按鍵等所有電腦操作,並觸發所需的系統權限。`,"settings.localToolsCuActionsTitle":`逐項允許操作`,"settings.localToolsCuActionsHint":`只開啟你願意讓 AI 免確認執行的操作,其餘仍會逐次詢問。每一項都可在此撤銷。`,"settings.localToolsCuScreenshot":`截圖`,"settings.localToolsCuClick":`點擊`,"settings.localToolsCuMove":`移動指標`,"settings.localToolsCuType":`輸入文字`,"settings.localToolsCuKey":`按鍵`,"settings.localToolsCuScroll":`捲動`,"settings.localToolsBuiltinTitle":`內建工具`,"settings.localToolsBuiltinHint":`開啟某個工具後,AI 呼叫它將不再逐次詢問。Shell 可執行本機任意命令——請謹慎開啟;檔案工具仍限制在你已授權的資料夾內。`,"settings.localToolsBuiltinRisky":`完全存取`,"settings.localToolsAddFolder":{message:`新增資料夾`,description:`Button to pick a folder to authorize.`},"settings.localToolsRemove":{message:`移除`,description:`Button to remove an authorized folder.`},"settings.localToolsNoFolders":{message:`尚未授權任何資料夾。`,description:`Empty state for the authorized-folders list.`},"settings.localToolsSave":{message:`儲存`,description:`Save the authorized folders.`},"settings.localToolsMcpTitle":{message:`MCP servers`,description:`Section title for local MCP server configuration in Local Tools settings.`},"settings.localToolsMcpHint":{message:`Connect local MCP servers over stdio. Their tools become available to the AI, gated by the same per-call confirmation. Changes take effect immediately.`,description:`Explains what local MCP servers do and that changes apply without a restart.`},"settings.localToolsMcpAdd":{message:`Add server`,description:`Button to add a new local MCP server row.`},"settings.localToolsMcpName":{message:`Name`,description:`Label for the MCP server name/id field.`},"settings.localToolsMcpCommand":{message:`Command`,description:`Label for the MCP server launch command field.`},"settings.localToolsMcpArgs":{message:`Arguments`,description:`Label for the MCP server command arguments field.`},"settings.localToolsMcpArgsHint":{message:`One argument per line.`,description:`Placeholder/hint for the MCP arguments textarea.`},"settings.localToolsMcpEnv":{message:`Environment`,description:`Label for the MCP server environment variables field.`},"settings.localToolsMcpEnvHint":{message:`One KEY=VALUE per line.`,description:`Placeholder/hint for the MCP environment variables textarea.`},"settings.localToolsMcpNoServers":{message:`No MCP servers configured.`,description:`Empty state shown when no MCP servers are configured.`},"settings.localToolsMcpNamePlaceholder":{message:`e.g. filesystem`,description:`Placeholder for the MCP server name input.`},"settings.localToolsMcpCommandPlaceholder":{message:`e.g. npx`,description:`Placeholder for the MCP server command input.`},"settings.localToolsMcpNameRequired":{message:`Each server needs a name and a command.`,description:`Validation error when a server row is missing a name or command.`},"settings.localToolsMcpDuplicateName":{message:`Server names must be unique.`,description:`Validation error when two servers share the same name.`},"settings.localToolsMcpNameInvalid":{message:`Name may only contain letters, numbers, hyphens and underscores.`,description:`Validation error when a server name contains invalid characters.`},"settings.localToolsMcpEnabled":{message:`On`,description:`Toggle label to enable/disable a local MCP server.`},"settings.localToolsMcpReconnect":{message:`Test / Reconnect`,description:`Button to re-spawn one MCP server and refresh its status.`},"settings.localToolsMcpConnecting":{message:`Connecting…`,description:`Badge while an MCP server is being (re)connected.`},"settings.localToolsMcpNotSaved":{message:`Not saved yet`,description:`Badge for an MCP server row that hasn't been saved/connected yet.`},"settings.localToolsMcpConnected":{message:`Connected · {n} tools`,description:`Badge when an MCP server connected; {n} is the tool count.`},"settings.localToolsMcpDisabled":{message:`Disabled`,description:`Badge when an MCP server is turned off.`},"settings.localToolsMcpFailed":{message:`Failed to connect`,description:`Badge when an MCP server failed to start; the reason is shown below.`},"settings.localToolsMcpPlatformHint":{message:`Tip: use a command on your PATH such as npx or uvx (e.g. npx -y {'@'}modelcontextprotocol/server-filesystem ~/Documents). On Windows, npx/node resolve automatically. If a server shows "spawn … ENOENT", set the command to a full path.`,description:`Cross-platform hint for configuring the MCP launch command.`},"settings.localToolsSaved":{message:`已儲存`,description:`Transient confirmation after saving local-tool folders.`},"settings.localToolsActiveTools":{message:`可用工具`,description:`Label before the list of currently available local tools.`},"settings.localToolsGrantsTitle":{message:`永久允許的操作`,description:`Heading for the persistent consent grants list.`},"settings.localToolsGrantsHint":{message:`你選擇「永久允許」的工具呼叫,將不再詢問直接執行。撤銷任一項可重新開啟確認提示。`,description:`Help text under the always-allowed actions heading.`},"settings.localToolsRevoke":{message:`撤銷`,description:`Button to revoke a single always-allow grant.`},"settings.localToolsRevokeAll":{message:`全部撤銷`,description:`Button to revoke every always-allow grant.`},"settings.localToolsNoGrants":{message:`尚無永久允許的操作。每次執行本機工具前都會先徵求你的同意。`,description:`Empty state for the always-allowed actions list.`},"settings.localToolsPermsTitle":{message:`系統權限`,description:`Heading for the macOS system-permission section.`},"settings.localToolsPermsHint":{message:`選用。上方的資料夾存取不需要這些權限——只授予特定工作真正需要的。`,description:`Help text under the system-permissions heading.`},"settings.localToolsPermFullDisk":{message:`完整磁碟存取權`,description:`macOS Full Disk Access permission row.`},"settings.localToolsPermScreen":{message:`螢幕錄製`,description:`macOS Screen Recording permission row.`},"settings.localToolsPermAccessibility":{message:`輔助使用`,description:`macOS Accessibility permission row.`},"settings.localToolsGranted":{message:`已授權`,description:`Status tag when a system permission is granted.`},"settings.localToolsNotGranted":{message:`未授權`,description:`Status tag when a system permission is not granted.`},"settings.localToolsOpen":{message:`開啟…`,description:`Button to open the relevant macOS System Settings pane.`},"settings.subsites":{message:`我的分站`,description:`設定彈窗中分站管理 tab 的標題。僅在 official 主站可見,分站不顯示。`},"settings.adminOnlyHint":{message:`此栏目仅站点管理员可见,普通用户无法访问。`,description:`在站点设置 / SEO 设置 / 分发设置 / 功能设置 等仅管理员可见的设置 tab 顶部展示的提示語。`},"settings.officialOnlyHint":{message:`此栏目仅主站可见,分站不会显示。`,description:`在『我的分站』tab 顶部展示的提示語,說明該入口只在 official 主站出現。`},"settings.customDomain":{message:`自訂網域`,description:`Title for the custom-domain management tab in the settings popup. Visible only on subsites (non-main-official hosts) for site admins.`},"settings.buildNow":{message:`一鍵搭建`,description:`關於頁面中『一鍵搭建分站』按鈕的文本,僅 official 主站顯示`},"settings.poweredBy":{message:`開源專案`,description:`關於頁面中展示本站基於哪個開源專案搭建的標題`},"settings.poweredByTip":{message:`本站基於 Nexior 開源專案搭建,程式碼完全開源。`,description:`關於頁面中展示本站基於哪個開源專案的說明`},"settings.apiService":{message:`API 服務`,description:`關於頁面中展示API服務提供方的標題`},"settings.apiServiceTip":{message:`本站 API 服務由 Ace Data Cloud 提供。`,description:`關於頁面中展示API服務提供方的說明`},"settings.buildYourOwn":{message:`搭建同款`,description:`關於頁面中提示用戶可以搭建同款站點的標題`},"settings.buildYourOwnTip":{message:`想搭建同樣的 AI 站點?聯繫我們獲取部署支持。`,description:`關於頁面中搭建同款的說明`},"settings.contactUs":{message:`聯繫客服`,description:`聯繫客服按鈕的文本`},"message.viewOnGithub":{message:`在 GitHub 上查看`,description:`在GitHub上查看專案的連結文本`},"title.notFound":{message:`頁面走失了`,description:`404 頁面的標題`},"message.notFound":{message:`你訪問的頁面不存在,可能連結已經更換或被移除。回首頁繼續探索 AceData 的 AI 服務吧。`,description:`404 頁面的副標題描述`},"message.notFoundEyebrow":{message:`出錯了`,description:`404 頁面頂部小標籤文本`},"message.notFoundPath":{message:`請求路徑`,description:`404 頁面展示當前請求路徑的標籤`},"button.backToHome":{message:`返回首頁`,description:`按鈕文本,用於跳轉回首頁`},"button.goBack":{message:`返回上一頁`,description:`按鈕文本,用於返回瀏覽歷史的上一頁`},"title.apiCode":{message:`API code for this request`,description:`Title of the dialog that shows the equivalent API code (curl / Python / Node) that would reproduce a result generated inside the product`},"message.viewCodeHint":{message:`Show API code for this request`,description:`Tooltip text on the View Code button shown alongside result-card action buttons (U1/U2/Download/Extend/...). Clicking the button opens a dialog with curl / Python / Node snippets that reproduce the same generation via the public API.`},"button.viewCode":{message:`View code`,description:`Button text that opens a dialog with the equivalent API code (curl / Python / Node) for the current result, similar to the OpenAI Playground 'View code' affordance`},"button.getApiKey":{message:`Get an API key`,description:`Link text in the API code dialog footer that opens the platform console page where users can create an API key`},"button.apiPlatform":{message:`API Platform`,description:`API code dialog footer button label. Clicking opens https://platform.acedata.cloud/ in a new tab so users can manage their API keys, balance and usage.`},"message.apiCodeIntro":{message:`Run this from your own code to produce the same result. Replace <YOUR_API_KEY> with a key from your platform console.`,description:`Helper text shown above the code tabs in the API code dialog, explaining how to use the snippet`},"tab.apiRequest":{message:`請求`,description:`API 代碼對話框中請求片段的標籤(重現當前結果的代碼)。`},"tab.apiResponse":{message:`響應`,description:`API 代碼對話框中在點擊運行後返回的實時響應的標籤。`},"button.apiRun":{message:`再次運行`,description:`API 代碼對話框中的按鈕,使用用戶的 API 金鑰實時重新運行請求。結果已存在,因此點擊後會再次運行,並且會計費。`},"button.apiRunning":{message:`運行中…`,description:`當實時請求正在進行時,API 代碼對話框中的運行按鈕標籤。`},"button.apiRunConfirm":{message:`確認運行`,description:`對話框中的確認按鈕標籤,警告運行此操作會消耗額外的積分。`},"button.viewDocs":{message:`查看文檔`,description:`API 代碼對話框底部的按鈕,打開平台上相應的 API 文檔頁面。`},"message.apiClickRun":{message:`點擊「再次運行」即可使用你的 API Key 實時執行本次請求。`,description:`API 代碼對話框響應標籤的空狀態,在用戶運行請求之前顯示。`},"message.apiRunConfirmTitle":{message:`確認運行`,description:`在從 API 代碼對話框重新運行請求之前顯示的確認對話框標題。`},"message.apiRunConfirmDesc":{message:`本次運行會用你的 API Key 真實調用接口並額外消耗積分,確認繼續嗎?`,description:`確認對話框的主體,警告重新運行請求是一個真實的、可計費的 API 調用。`},"message.apiRunConfirmSkip":{message:`不再提示`,description:`在運行確認對話框中的復選框,勾選後將在後續運行中抑制警告。`},"message.apiRunTaskCreated":{message:`任務已創建,關閉此窗口即可在下方查看最新結果。`,description:`在 API 代碼對話框中,當運行返回任務 ID 後顯示的成功橫幅,提示新任務已經出現在對話框後面的列表中。`},"button.apiViewLatest":{message:`關閉並查看`,description:`在 API 代碼對話框成功橫幅中的按鈕,關閉對話框以便用戶可以查看下方新創建的任務列表。`},"message.uploadInProgress":{message:`參考檔案仍在上傳,請稍候再生成。`,description:`Toast shown when the user clicks the Generate button while one or more reference uploads are still in flight. Asks them to wait for uploads to complete before retrying.`},"appUpgrade.title":{message:`Update required`,description:`Title of the native-app version gate modal shown at startup when the installed build is older than what the backend supports.`},"appUpgrade.blockMessage":{message:`This version is no longer supported. Please update from the app store to continue.`,description:`Body text of the hard-block upgrade modal shown when the installed version is below min_supported. The modal has no dismiss affordance — the only button opens the app store.`},"appUpgrade.softMessage":{message:`A newer version is available. Update from the app store for the best experience.`,description:`Body text of the soft upgrade prompt shown when the installed version is below latest but above min_supported. The user can dismiss and keep using the app.`},"appUpgrade.openStore":{message:`Update now`,description:`Primary button on the upgrade modal — opens the App Store / Play Store URL in the system browser.`},"appUpgrade.later":{message:`Later`,description:`Secondary button on the soft upgrade prompt — dismisses the modal and lets the user keep using the current version. Only shown for non-forced upgrades.`},"nav.maestro":{message:`Maestro`,description:`導航欄中 Maestro 文章轉視頻頁面的文字,保持為 'Maestro'`},"nav.digitalhuman":{message:`數字人`,description:`Text in the website navigation bar for the Digital Human talking-head page`},"settings.localToolsAndroidPermHint":{message:`Enable the accessibility service so the assistant can see and control your screen. You can pre-authorize individual actions below.`,description:`Hint for the Android Computer Use accessibility permission section in Settings.`},"settings.cuConsentTitle":{message:`Allow action?`,description:`Title of the on-demand consent dialog shown when the assistant requests a screen action.`},"settings.cuConsentMessage":{message:`The assistant wants to run "{action}" on your phone. Allow it?`,description:`Body of the on-demand consent dialog; {action} is the computer.* action name.`},"settings.cuConsentAllow":{message:`Allow once`,description:`Allow button of the on-demand consent dialog.`},"settings.cuConsentAlways":{message:`Always allow`,description:`Always-allow button of the on-demand consent dialog; persists a grant so this action never prompts again.`},"settings.cuConsentDeny":{message:`Deny`,description:`Deny button of the on-demand consent dialog.`}};export{e as default};
@@ -1 +1 @@
1
- var e={"button.setup":{message:`Configurar`,description:`Texto no botão para realizar configurações`},"button.start":{message:`Iniciar`,description:`Texto no botão para iniciar alguma operação`},"button.copy":{message:`Copiar`,description:`Texto no botão para copiar algum conteúdo`},"button.copied":{message:`Copiado`,description:`Texto no botão para indicar que o conteúdo foi copiado`},"button.restart":{message:`Regerar`,description:`Texto no botão para regenerar algum conteúdo`},"button.preview":{message:`Pré-visualizar`,description:`Texto no botão para abrir a pré-visualização de um arquivo via URL`},"button.seeRawImage":{message:`Ver Imagem Original`,description:`Texto no botão para ver a imagem original`},"button.seeRawVideo":{message:`Ver Vídeo`,description:`Texto no botão para ver o vídeo original`},"button.edit":{message:`Editar`,description:`Texto no botão para editar conteúdo`},"button.login":{message:`Entrar`,description:`Texto no botão para fazer login`},"button.logout":{message:`Sair`,description:`Texto no botão para fazer logout`},"button.new":{message:`Novo`,description:`Texto no botão para criar um novo item`},"button.delete":{message:`Excluir`,description:`Texto no botão para excluir conteúdo`},"button.deletePermanently":{message:`Excluir conta permanentemente`,description:`Final red delete button at the bottom of the delete confirmation dialog`},"button.confirm":{message:`Confirmar`,description:`Texto no botão para confirmar uma operação`},"button.cancel":{message:`Cancelar`,description:`Texto no botão para cancelar uma operação`},"button.close":{message:`Fechar`,description:`Texto no botão para fechar uma caixa de diálogo ou painel`},"button.expand":{message:`Expandir`,description:`Texto do botão que indica a ação de abrir o editor em tela cheia para a entrada de sugestões.`},"button.alert":{message:`Alerta`,description:`Texto no botão para emitir um alerta`},"button.info":{message:`Informação`,description:`Texto no botão para exibir informações`},"button.publish":{message:`Publicar`,description:`Texto no botão para publicar conteúdo`},"button.watch":{message:`Assistir`,description:`Texto no botão para assistir a algum conteúdo`},"button.verify":{message:`Verificação de Identidade`,description:`Texto no botão para permitir que o usuário faça a verificação de identidade`},"button.profile":{message:`Perfil`,description:`Texto no botão para exibir o perfil do usuário`},"button.console":{message:`Console`,description:`Texto no botão para exibir a página do console para controlar algum conteúdo na web`},"button.learn":{message:`Aprender`,description:`Texto no botão para permitir que o usuário aprenda algo`},"button.buy":{message:`Comprar`,description:`Texto no botão para permitir que o usuário compre algo`},"button.try":{message:`Experimentar`,description:`Texto no botão para permitir que o usuário experimente algo`},"button.startForFree":{message:`Começar Grátis`,description:`Texto no botão para permitir que o usuário comece gratuitamente`},"button.download":{message:`Baixar`,description:`Texto no botão para baixar arquivos (como áudio, vídeo, imagem)`},"button.downloadAndroid":{message:`Baixar Android`,description:`Texto no botão para baixar o pacote de instalação do Android`},"button.downloadIos":{message:`Baixar iOS`,description:`Texto no botão para baixar o arquivo de instalação do iOS`},"button.downloadWindows":{message:`Baixar para Windows`,description:`Text in button for downloading the Windows desktop installer`},"button.downloadMac":{message:`Baixar para macOS`,description:`Text in button for downloading the macOS desktop installer`},"button.installIos":{message:`Instalar iOS`,description:`Texto no botão para instalar o aplicativo iOS`},"button.apply":{message:`Solicitar`,description:`Texto no botão para permitir que o usuário solicite o serviço de API`},"button.refresh":{message:`Atualizar`,description:`Texto no botão para atualizar a página`},"button.pay":{message:`Pagar`,description:`Texto no botão para permitir que o usuário pague a taxa de serviço`},"button.repay":{message:`Continuar Pagamento`,description:`Texto no botão para permitir que o usuário continue o pagamento da taxa de serviço`},"button.applied":{message:`Solicitado`,description:`Texto no botão para indicar que o usuário já solicitou o serviço`},"button.acquire":{message:`Obter`,description:`Texto no botão para permitir que o usuário obtenha o token ou chave do serviço de API`},"button.fillExample":{message:`Preencher Exemplo`,description:`Texto no botão para permitir que o usuário preencha dados de exemplo`},"button.buyMore":{message:`Recarregar`,description:`Texto no botão para permitir que o usuário recarregue. O inglês deve ser traduzido como 'Top Up', o chinês como '充值'.`},"button.update":{message:`Atualizar`,description:`Texto no botão para atualizar conteúdo`},"button.view":{message:`Ver`,description:`Texto no botão para ver algum conteúdo`},"button.create":{message:`Criar`,description:`Texto no botão para criar algum conteúdo`},"button.referralEarnings":{message:`Renda de Referência`,description:`Texto no botão que exibe a renda de referência, indicando que o usuário pode ganhar dinheiro convidando outras pessoas a usar o serviço`},"button.finish":{message:`Concluir`,description:`Texto no botão para finalizar uma operação`},"entity.id":{message:`ID`,description:`Identificador único para exibir a entidade`},"entity.type":{message:`Tipo`,description:`Tipo da entidade`},"entity.website":{message:`Ace Data Cloud`,description:`Nome do site, não precisa ser traduzido, mantenha como 'Ace Data Cloud'`},"entity.copyright":{message:`Copyright`,description:`Texto que exibe o copyright`},"entity.platform":{message:`Plataforma`,description:`Texto que indica que este é um serviço de plataforma API`},"entity.title":{message:`Título`,description:`Título da entidade`},"entity.icon":{message:`Ícone`,description:`Ícone da entidade`},"entity.status":{message:`Status`,description:`Status da entidade`},"status.loading":{message:`Carregando...`,description:`Texto de status exibido enquanto o conteúdo está sendo carregado`},"error.appleSignInFailed":{message:`Falha ao iniciar sessão com a Apple. Tente novamente ou utilize outro método de início de sessão.`,description:`Error toast shown when native Apple sign-in fails for a reason other than user cancellation`},"error.loginLinkExpired":{message:`Login link expired. Please sign in again.`,description:`Shown on the desktop client when an OAuth callback is dropped (state mismatch or expired).`},"entity.operation":{message:`Operação`,description:`Operação da entidade`},"entity.description":{message:`Descrição`,description:`Descrição da entidade`},"entity.createdAt":{message:`Criado em`,description:`Data de criação da entidade`},"entity.updatedAt":{message:`Atualizado em`,description:`Data de atualização da entidade`},"entity.order":{message:`Pedido`,description:`Pedido da entidade, que inclui informações financeiras e de serviço, que o usuário precisa pagar`},"message.noTasks":{message:`Nenhuma tarefa histórica, comece uma nova tarefa~`,description:`Mensagem exibida quando não há tarefas`},"message.guestTasks":{message:`Faça login para iniciar uma tarefa e ver suas criações aqui.`,description:`Prompt shown in the task list area for not-logged-in guests`},"message.usedAmount":{message:`Valor utilizado`,description:`Usado para exibir o valor já utilizado do serviço`},"message.mobileAppDescription":{message:`Use o AceData diretamente no celular, atualmente disponível para download do APK Android, pacote de instalação iOS será disponibilizado após a assinatura.`,description:`Texto explicativo na página de download do aplicativo móvel`},"message.mobileAndroidHint":{message:`Compatível com celulares e tablets Android, escaneie para baixar e instalar o APK mais recente.`,description:`Descrição do cartão de download Android`},"message.mobileAndroidPending":{message:`Pacote de instalação Android ainda não está pronto, por favor, tente novamente mais tarde.`,description:`Mensagem quando o pacote de instalação Android não está disponível`},"message.mobileAvailableNow":{message:`Android disponível para download`,description:`Usado para exibir o status de que o Android está disponível para download`},"message.mobileSecureDelivery":{message:`Distribuição segura via CDN`,description:`Usado para enfatizar que o link de download é entregue via CDN`},"message.mobileDirectInstall":{message:`Instalação direta do APK`,description:`Usado para descrever que a instalação no Android é feita diretamente via APK`},"message.mobileLatestRelease":{message:`Versão pública atual`,description:`Usado para indicar que a versão exibida é a mais recente disponível`},"message.mobileSharedAccount":{message:`Conta e créditos compartilhados com a versão web`,description:`Usado para indicar que a versão móvel compartilha a conta com a versão web`},"message.mobileIosHint":{message:`Compatível com iPhone e iPad, pode ser instalado online; se o sistema bloquear, você pode baixar o IPA e depois distribuir.`,description:`Descrição do cartão de download iOS`},"message.mobileIosPending":{message:`Pacote de instalação iOS ainda não disponível para download, será disponibilizado após a finalização do certificado e do perfil da Apple.`,description:`Mensagem quando o pacote de instalação iOS não está disponível`},"message.mobileComingSoon":{message:`Em breve`,description:`Short status label shown on a platform card (e.g. iOS) while its build is being prepared`},"message.mobileNowOnAppStore":{message:`Now on the App Store`,description:`Status label shown on the iOS card when the app is live on the App Store`},"message.desktopWindowsHint":{message:`Para Windows 10 e posterior (64 bits). Baixe o instalador e clique duas vezes para instalar.`,description:`Windows desktop download card description`},"message.desktopMacHint":{message:`Para macOS 11 e posterior. Escolha a versão que corresponde ao seu Mac — Apple Silicon (série M) ou Intel.`,description:`macOS desktop download card description`},"message.desktopUnsignedNote":{message:`Os aplicativos de desktop são versões beta não assinadas. No Windows, escolha «Mais informações → Executar assim mesmo» no aviso do SmartScreen; no macOS, clique com o botão direito no app e escolha «Abrir» para ignorar o Gatekeeper.`,description:`Note explaining the desktop builds are unsigned betas and how to open them`},"button.getOnGooglePlay":{message:`Disponível no Google Play`,description:`Button label that opens the app's Google Play Store listing`},"button.getOnAppStore":{message:`Get it on the App Store`,description:`Button label that opens the app's Apple App Store listing`},"message.mobileApkFallback":{message:`Sem acesso ao Google Play? Baixe o APK diretamente.`,description:`Shown next to a secondary button offering a direct APK download for users who cannot access Google Play`},"message.mobilePlayStoreHint":{message:`Escaneie para abrir o Google Play`,description:`Hint under the QR code explaining that scanning it opens the Google Play listing`},"message.mobileAppStoreHint":{message:`Scan to open the App Store`,description:`Hint under the QR code explaining that scanning it opens the App Store listing`},"message.mobileInstallNote":{message:`Ao instalar pela primeira vez um pacote corporativo ou Ad Hoc no iOS, o sistema pode solicitar que você confie no certificado em 'Ajustes > Geral > VPN e Gerenciamento de Dispositivos'.`,description:`Dica de instalação do aplicativo móvel`},"title.mobileApp":{message:`Download do Móvel`,description:`Título da página de download do aplicativo móvel`},"title.mobileFastAccess":{message:`Acesso mais rápido, sem passar pela loja de aplicativos`,description:`Título do cartão de vantagens na página de download, enfatizando a instalação rápida`},"title.mobileTrustedRelease":{message:`Gerenciamento centralizado de versões, distribuição mais estável`,description:`Título do cartão de vantagens na página de download, enfatizando a estabilidade de versões e distribuição`},"title.mobileUnifiedExperience":{message:`Experiência móvel e web consistente`,description:`Título do cartão de vantagens na página de download, enfatizando a experiência unificada`},"nav.mobileApp":{message:`Aplicativo Móvel`,description:`Entrada de download do aplicativo móvel na navegação`},"message.mobileFastAccess":{message:`Os usuários podem escanear para instalar diretamente no celular ou baixar o APK no desktop e depois distribuir para os membros da equipe, ideal para testes rápidos e cenários de beta.`,description:`Descrição de vantagens na página de download, enfatizando o acesso rápido`},"message.mobileTrustedRelease":{message:`Os links de download estão centralizados em uma única página, com número da versão, status da plataforma e método de instalação visíveis, reduzindo os custos de comunicação causados pela dispersão de links.`,description:`Descrição de vantagens na página de download, enfatizando a distribuição unificada`},"message.mobileUnifiedExperience":{message:`O sistema de contas, créditos e entradas de serviço após o login é consistente com a versão web, facilitando a troca sem costura entre desktop e móvel.`,description:`Descrição de vantagens na página de download, enfatizando a experiência de conta unificada`},"message.remainingAmount":{message:`Valor restante`,description:`Usado para exibir o valor restante do serviço`},"message.copied":{message:`Copiado com sucesso`,description:`Mensagem que indica que o conteúdo foi copiado com sucesso`},"message.restart":{message:`Regerar`,description:`Mensagem para mostrar que o conteúdo foi copiado com sucesso`},"message.confirmDelete":{message:`Você tem certeza que deseja excluir?`,description:`Mensagem para confirmar que o usuário deseja excluir um item`},"message.expiredAt":{message:`Data de expiração`,description:`Mensagem para mostrar a data de expiração do serviço`},"message.alert":{message:`Atenção`,description:`Mensagem para alertar o usuário`},"message.deleteAccountConfirm":{message:`Isto irá eliminar permanentemente a sua conta e todos os dados associados. Esta ação não pode ser desfeita. Tem a certeza de que deseja continuar?`,description:`Confirmation message shown before permanently deleting the user account`},"message.deleteAccountSuccess":{message:`A sua conta foi eliminada.`,description:`Message shown after the user account is successfully deleted`},"message.deleteAccountFailed":{message:`Falha ao eliminar a sua conta. Tente novamente mais tarde.`,description:`Message shown when account deletion fails`},"message.deleteAccountWarning":{message:`Esta ação é irreversível! Sua conta e todos os seus dados serão excluídos permanentemente e não poderão ser recuperados.`,description:`Red warning banner at the top of the delete confirmation dialog`},"message.deleteAccountConsequences":{message:`Excluídos permanentemente: perfil, saldo e créditos, aplicativos e assinaturas, chaves de API e vínculos de login de terceiros.`,description:`Explains what data will be removed in the delete confirmation dialog`},"message.deleteAccountTypePrompt":{message:`Digite seu nome de usuário para confirmar a exclusão:`,description:`Instructs the user to type their username to confirm; the username is shown separately below`},"message.deleteAccountPlaceholder":{message:`Digite seu nome de usuário aqui`,description:`Placeholder for the username confirmation input`},"message.info":{message:`Informação`,description:`Mensagem para exibir informações`},"message.free":{message:`Gratuito`,description:`Mensagem para mostrar que o serviço é gratuito, ou seja, o usuário não precisa pagar`},"message.startPrice":{message:`A partir de`,description:`Mensagem para mostrar o preço mínimo do serviço`},"message.joinDiscord":{message:`Entrar no Discord`,description:`Mensagem para convidar o usuário a entrar no canal do Discord`},"message.addWeChat":{message:`Adicionar WeChat`,description:`Mensagem para convidar o usuário a adicionar uma conta do WeChat`},"message.serviceTech":{message:`Suporte Técnico`,description:`Mensagem para mostrar suporte técnico`},"message.businessCooperation":{message:`Cooperação de Dados & Negócios`,description:`Mensagem para mostrar cooperação comercial`},"message.noData":{message:`Sem dados`,description:`Mensagem para mostrar que não há dados na tabela ou lista`},"nav.home":{message:`Início`,description:`Texto na barra de navegação do site para mostrar a página inicial`},"nav.content":{message:`Conteúdo`,description:`Texto na barra de navegação do site para mostrar a página de conteúdo`},"nav.category":{message:`Categoria`,description:`Texto na barra de navegação do site para mostrar a página de categorias`},"nav.service":{message:`Todos os Serviços`,description:`Texto na barra de navegação do site para mostrar a página de serviços`},"nav.profile":{message:`Meu Perfil`,description:`Texto na barra de navegação do site para mostrar a página de perfil`},"nav.products":{message:`Produtos`,description:`Texto na barra de navegação do site para mostrar a página de produtos`},"nav.referral":{message:`Programa de Indicação`,description:`Texto na barra de navegação do site para mostrar a página de indicações`},"nav.apiPlatform":{message:`Plataforma API`,description:`Texto na barra de navegação do site para mostrar a página da plataforma API`},"nav.document":{message:`Documentação de Desenvolvimento`,description:`Texto na barra de navegação do site para mostrar a página de documentação`},"nav.console":{message:`Console`,description:`Texto na barra de navegação do site para mostrar a página do console`},"nav.chatgpt":{message:`ChatGPT`,description:`Texto na barra de navegação do site para mostrar a página do ChatGPT, não deve ser traduzido, deve permanecer como 'ChatGPT'`},"nav.deepseek":{message:`DeepSeek`,description:`Texto na barra de navegação do site para mostrar a página do DeepSeek, não deve ser traduzido, deve permanecer como 'DeepSeek'`},"nav.grok":{message:`Grok`,description:`Texto na barra de navegação do site para mostrar a página do Grok, não deve ser traduzido, deve permanecer como 'Grok'`},"nav.chat":{message:`Chat`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Chat'`},"nav.veo":{message:`Veo`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Veo'`},"nav.sora":{message:`Sora`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Sora'`},"nav.midjourney":{message:`Midjourney`,description:`Texto na barra de navegação do site para mostrar a página do Midjourney, não deve ser traduzido, deve permanecer como 'Midjourney'`},"nav.qrart":{message:`QRArt`,description:`Texto na barra de navegação do site para mostrar a página de arte 2D, não deve ser traduzido, deve permanecer como 'QRArt'`},"nav.suno":{message:`Suno`,description:`Texto na barra de navegação do site para mostrar a página do Suno, não deve ser traduzido, deve permanecer como 'Suno'`},"nav.pixverse":{message:`Pixverse`,description:`Texto na barra de navegação do site para mostrar a página do Pixverse, não deve ser traduzido, deve permanecer como 'Pixverse'`},"nav.flux":{message:`Flux`,description:`Texto na barra de navegação do site para mostrar a página do Flux, não deve ser traduzido, deve permanecer como 'Flux'`},"nav.nanobanana":{message:`Nano Banana`,description:`Texto na barra de navegação do site para mostrar a página do Nano Banana, não deve ser traduzido, deve permanecer como 'Nano Banana'`},"nav.openaiimage":{message:`OpenAI Image`,description:`Texto na barra de navegação do site para mostrar a página do OpenAI Image, não deve ser traduzido, deve permanecer como 'OpenAI Image'`},"nav.seedream":{message:`SeeDream`,description:`Texto na barra de navegação do site, usado para exibir a página SeeDream, não deve ser traduzido, deve permanecer como 'SeeDream'`},"nav.seedance":{message:`SeeDance`,description:`Texto na barra de navegação do site para exibir a página SeeDance, não deve ser traduzido, deve permanecer como 'SeeDance'`},"nav.grokvideo":{message:`Grok Video`,description:`Text in the website navigation bar to display the Grok Imagine video page`},"nav.luma":{message:`Luma`,description:`Texto na barra de navegação do site para exibir a página Luma, não deve ser traduzido, deve permanecer como 'Luma'`},"nav.pika":{message:`Pika`,description:`Texto na barra de navegação do site para exibir a página Pika, não deve ser traduzido, deve permanecer como 'Pika'`},"nav.kling":{message:`Kling`,description:`Texto na barra de navegação do site para exibir a página Kling, não deve ser traduzido, deve permanecer como 'Kling'`},"nav.hailuo":{message:`Hailuo`,description:`Texto na barra de navegação do site para exibir a página Hailuo, não deve ser traduzido, deve permanecer como 'Hailuo'`},"nav.wan":{message:`Wan`,description:`Texto na barra de navegação do site para exibir a página Wan, não deve ser traduzido, deve permanecer como 'Wan'`},"nav.producer":{message:`Producer`,description:`Texto na barra de navegação do site para exibir a página Producer, não deve ser traduzido, deve permanecer como 'Producer'`},"nav.fish":{message:`Fish Audio`,description:`Texto na barra de navegação do site que exibe a página Fish Audio, por favor, não traduza este campo, deve permanecer como 'Fish Audio'`},"nav.kimi":{message:`Kimi`,description:`Texto na barra de navegação do site para exibir a página Kimi, não deve ser traduzido, deve permanecer como 'Kimi'`},"nav.serp":{message:`SERP`,description:`Texto na barra de navegação do site para exibir a página SERP, não deve ser traduzido, deve permanecer como 'SERP'`},"nav.codingBridge":{message:`Coding Bridge`,description:`Text in the website navigation bar to display the Coding Bridge page, must remain as 'Coding Bridge'`},"nav.webextrator":{message:`WebExtrator`,description:`Text in the website navigation bar to display the WebExtrator page, must remain as 'WebExtrator'`},"nav.image":{message:`Imagem`,description:`Texto na barra de navegação do site para exibir a página de imagens`},"nav.music":{message:`Música`,description:`Texto na barra de navegação do site para exibir a página de música`},"nav.video":{message:`Vídeo`,description:`Texto na barra de navegação do site para exibir a página de vídeo`},"nav.distribution":{message:`Rendimentos de Recomendação`,description:`Texto na barra de navegação do site para exibir a página de rendimentos de recomendação`},"nav.connections":{message:`Conexões`,description:`Item de menu que leva à página de gerenciamento de conexões em auth.acedata.cloud`},"nav.logOut":{message:`Sair`,description:`Texto na barra de navegação do site para sair da conta`},"nav.deleteAccount":{message:`Excluir conta`,description:`Menu item to permanently delete the current user account`},"nav.site":{message:`Configuração do Site`,description:`Texto na barra de navegação do site para exibir a página de configuração do site`},"nav.subsite":{message:`Meu Subsite`,description:`Entrada 'Meu Subsite' na barra lateral, exibida apenas quando a funcionalidade features.subsite está ativada`},"nav.setting":{message:`Configurações`,description:`Texto na barra de navegação do site para exibir a página de configurações`},"nav.headshots":{message:`Foto de Identidade AI`,description:`Texto na barra de navegação do site para exibir a página de configuração do site`},"nav.more":{message:`Mais`,description:`Texto na barra de navegação do site para expandir mais serviços`},"nav.locale":{message:`Configurações de Idioma`,description:`Texto na barra de navegação do site para alterar o idioma`},"nav.support":{message:`Suporte ao Cliente`,description:`Texto na barra de navegação do site para exibir a página de contato`},"nav.darkMode":{message:`Modo Escuro`,description:`Texto na barra de navegação do site para alternar para o tema escuro`},"title.alert":{message:`Aviso`,description:`Título da mensagem de aviso`},"title.placeholderOfSelect":{message:`Por favor, selecione`,description:`Placeholder para entrada de seleção`},"title.placeholderOfInput":{message:`Por favor, preencha`,description:`Placeholder para entrada de texto`},"title.allApplications":{message:`Todas as Aplicações`,description:`Título da página que exibe todas as aplicações`},"title.allOrders":{message:`Todos os Pedidos`,description:`Título da página que exibe todos os pedidos`},"title.orderInfo":{message:`Informações do Pedido`,description:`Título da página que exibe informações do pedido`},"title.buyMore":{message:`Recarregar`,description:`Título da página para recarregar. Deve ser traduzido como 'Recarregar'.`},"title.distribution":{message:`Rendimentos de Recomendação`,description:`Título da página que exibe rendimentos de recomendação, indicando que o usuário pode ganhar dinheiro convidando outros a usar o serviço`},"title.site":{message:`Configuração do Site`,description:`Título da página que exibe a configuração do site`},"title.distributionHistory":{message:`Histórico de Recomendações`,description:`Título da página que exibe o histórico de recomendações`},"title.invitee":{message:`Convidado`,description:`Título da página que exibe informações sobre o convidado`},"title.allUsages":{message:`Histórico de Uso`,description:`Título da página que exibe todos os usos do serviço API`},"title.allCredentials":{message:`Credenciais`,description:`Título da página que exibe todas as credenciais, usadas para acessar a API`},"about.title1":{message:`Contato`,description:`Título da seção que exibe informações de contato`},"about.title2":{message:`Recursos`,description:`Título da seção que exibe links`},"about.title3":{message:`Links`,description:`Título da seção que exibe informações de suporte`},"about.address":{message:`131 Continental Dr, Suite 305, Newark, DE 19713, EUA`,description:`Endereço da empresa`},"about.email":{message:`office@acedata.cloud`,description:`E-mail da empresa`},"about.link1":{message:`Serviços`,description:`Link para a página de documentação`},"about.link2":{message:`Documentação do Desenvolvedor`,description:`Link para a página de serviços`},"about.link3":{message:`Console`,description:`Link para a página do console`},"about.link4":{message:`Perfil`,description:`Link para a página de perfil`},"about.link5":{message:`Plataforma UI`,description:`Link para a página central`},"about.link6":{message:`Rendimentos de Referência`,description:`Link para a página de rendimentos de referência`},"about.link7":{message:`Suporte`,description:`Link para a página de suporte`},"about.link8":{message:`Termos de Serviço`,description:`Link para a página de termos de serviço`},"about.link9":{message:`Política de Privacidade`,description:`Link para a página de política de privacidade`},"theme.light":{message:`Claro`,description:`Nome do tema claro`},"theme.dark":{message:`Escuro`,description:`Nome do tema escuro`},"theme.system":{message:`Sistema`,description:`Nome do tema do sistema, indicando a troca automática de tema com base nas configurações do sistema`},"settings.general":{message:`Configurações Gerais`,description:`Título da seção de configurações gerais na página de configurações`},"settings.language":{message:`Idioma`,description:`Título da seção de configurações de idioma na página de configurações`},"settings.theme":{message:`Tema`,description:`Título da seção de configurações de tema na página de configurações`},"settings.seo":{message:`Configurações de SEO`,description:`Título da seção de configurações de SEO na página de configurações`},"settings.site":{message:`Configurações do Site`,description:`Título da seção de configurações do site na página de configurações`},"settings.distribution":{message:`Configurações de Distribuição`,description:`Título da seção de configurações de distribuição na página de configurações`},"settings.function":{message:`Configurações de Funcionalidade`,description:`Título da seção de configurações de funcionalidade na página de configurações`},"settings.auth":{message:`Método de Login`,description:`Título da aba 'Método de Login' na barra lateral da página de configurações — configura os métodos de login permitidos e o método de login padrão do site, visível apenas para administradores do site.`},"settings.apiKey":{message:`Chave da API`,description:`Rótulo da Chave da API na barra lateral da página de configurações - gerenciamento da Chave da API do provedor de serviços upstream (BYOK)`},"settings.memory":{message:`Memória`,description:`Configura o rótulo 'Memória' na barra lateral da janela de configurações, onde o usuário pode visualizar e gerenciar as informações que o assistente lembra sobre si.`},"settings.memoryIntro":{message:`O assistente lembrará informações úteis que você menciona nas conversas, proporcionando respostas mais personalizadas em diferentes diálogos. Você tem controle total — pode visualizar o conteúdo salvo e excluir partes que não deseja que ele lembre.`,description:`Texto de introdução no topo da aba de configurações de memória.`},"settings.memoryNeedsChat":{message:`Por favor, inicie uma conversa para ativar a funcionalidade de memória.`,description:`Exibido na aba de configurações de memória quando o aplicativo de chat/token ainda não foi carregado.`},"settings.memoryStored":{message:`Memórias salvas`,description:`Título da seção acima da lista de itens de memória armazenados.`},"settings.memoryEmpty":{message:`Nenhuma memória salva até o momento. À medida que você utiliza, o assistente lembrará de preferências e informações duradouras aqui.`,description:`Estado vazio exibido quando o usuário não tem memórias armazenadas.`},"settings.memoryForget":{message:`Esquecer`,description:`Botão para excluir uma única memória na linha do item de memória.`},"settings.memoryClearAll":{message:`Limpar tudo`,description:`Botão para excluir todas as memórias armazenadas de uma só vez.`},"settings.memoryClearConfirm":{message:`Isso irá excluir permanentemente todas as informações que o assistente lembra sobre você e não pode ser desfeito.`,description:`Conteúdo da janela de confirmação antes de limpar todas as memórias.`},"settings.memoryError":{message:`A operação falhou, por favor, tente novamente.`,description:`Mensagem de erro exibida quando a operação de exclusão/limpeza de memória falha.`},"field.operations":{message:`Operações`,description:`Título da coluna genérica: coluna de botões de operação da linha da tabela (editar, excluir, etc.)`},"nav.gemini":{message:`Gemini`,description:`Texto na barra de navegação do site para exibir a página Gemini, deve permanecer como 'Gemini'`},"nav.claude":{message:`Claude`,description:`Texto na barra de navegação do site para exibir a página Claude, deve permanecer como 'Claude'`},"button.detail":{message:`Ver Detalhes`,description:``},"button.testEnv":{message:`Ambiente de Teste`,description:`Texto no botão para alternar para o ambiente de teste`},"button.upload":{message:`Enviar`,description:`Texto no botão para enviar arquivos ou conteúdo`},"message.cnbeian":{message:`Registro na China`,description:`Informação de registro na China`},"message.copyFailed":{message:`Falha ao Copiar`,description:`Mensagem exibida quando a cópia do conteúdo falha`},"nav.tryNow":{message:`Experimente Agora`,description:`Texto na barra de navegação do site para permitir que os usuários experimentem o serviço`},"title.coin":{message:`Criptomoeda`,description:`Título da página que exibe criptomoedas`},"title.distributionRank":{message:`Ranking de Referências`,description:`Título da página que exibe o ranking de referências`},"title.distributionPlatformRank":{message:`Ranking de Plataformas`,description:`Título da página que exibe o ranking de plataformas`},"customers.name1":{message:`Mark Du`,description:`Nome do cliente`},"customers.job1":{message:`Engenheiro de Software`,description:`Profissão do cliente`},"customers.comment1":{message:`A Ace Data Cloud forneceu um ótimo serviço para nossa equipe, ajudando-nos a aumentar a produtividade. Adoramos!`,description:`Avaliação do cliente`},"customers.name2":{message:`Jacob Williams`,description:`Nome do cliente`},"customers.job2":{message:`Gerente de Produto`,description:`Profissão do cliente`},"customers.comment2":{message:`A Ace Data Cloud é uma ótima plataforma de integração, com qualidade de serviço excepcional.`,description:`Avaliação do cliente`},"customers.name3":{message:`Larry Henry`,description:`Nome do cliente`},"customers.job3":{message:`Designer`,description:`Profissão do cliente`},"customers.comment3":{message:`Adoro os serviços da Ace Data Cloud, são fáceis de usar e com preços justos. Espero que melhorem cada vez mais!`,description:`Avaliação do cliente`},"nav.github":{message:`GitHub`,description:`Link para o repositório do GitHub`},"settings.github":{message:`Código Fonte`,description:`Link para ver o código fonte no GitHub`},"settings.about":{message:`Sobre`,description:`Título da seção sobre na página de configurações`},"settings.localTools":{message:`Ferramentas locais`,description:`Desktop-only settings tab for managing local tool folders, permissions and grants.`},"settings.localToolsDesktopOnly":{message:`Disponível apenas no aplicativo de desktop.`,description:`Shown when the Local Tools tab is opened on web/mobile.`},"settings.localToolsFoldersTitle":{message:`Pastas autorizadas`,description:`Heading for the list of folders the AI may read/write locally.`},"settings.localToolsFoldersHint":{message:`Pastas que a IA pode ler e gravar nesta máquina. As ferramentas são executadas localmente; nada sai do seu dispositivo sem o seu consentimento.`,description:`Help text under the authorized-folders heading.`},"settings.localToolsComputerUseTitle":{message:`Computer Use (experimental)`,description:`Heading for the opt-in Computer Use (screen + mouse/keyboard control) toggle.`},"settings.localToolsComputerUseHint":{message:`Let the AI see your screen and control the mouse and keyboard on this computer. Off by default — turn it on only when you need it. On macOS, grant Screen Recording and Accessibility permissions below. Each action still asks for your confirmation.`,description:`Help text under the Computer Use toggle.`},"settings.localToolsPreauthorizeAll":`Pré-aprovar todas as ações do computador`,"settings.localToolsPreauthorizeHint":`Permite de uma vez captura de tela, clique, digitação, teclas e todas as ações, e solicita as permissões do sistema necessárias.`,"settings.localToolsCuActionsTitle":`Permitir ações individuais`,"settings.localToolsCuActionsHint":`Ative apenas as ações que você aceita que a IA execute sem perguntar toda vez. Cada uma continua revogável aqui.`,"settings.localToolsCuScreenshot":`Captura de tela`,"settings.localToolsCuClick":`Clique`,"settings.localToolsCuMove":`Mover o ponteiro`,"settings.localToolsCuType":`Digitar texto`,"settings.localToolsCuKey":`Pressionar teclas`,"settings.localToolsCuScroll":`Rolagem`,"settings.localToolsBuiltinTitle":`Ferramentas integradas`,"settings.localToolsBuiltinHint":`Ative uma ferramenta para a IA executá-la sem perguntar. O Shell pode executar qualquer comando nesta máquina — ative apenas se confiar. As ferramentas de arquivo continuam limitadas às suas pastas autorizadas.`,"settings.localToolsBuiltinRisky":`Acesso total`,"settings.localToolsAddFolder":{message:`Adicionar pasta`,description:`Button to pick a folder to authorize.`},"settings.localToolsRemove":{message:`Remover`,description:`Button to remove an authorized folder.`},"settings.localToolsNoFolders":{message:`Nenhuma pasta autorizada ainda.`,description:`Empty state for the authorized-folders list.`},"settings.localToolsSave":{message:`Salvar`,description:`Save the authorized folders.`},"settings.localToolsMcpTitle":{message:`MCP servers`,description:`Section title for local MCP server configuration in Local Tools settings.`},"settings.localToolsMcpHint":{message:`Connect local MCP servers over stdio. Their tools become available to the AI, gated by the same per-call confirmation. Changes take effect immediately.`,description:`Explains what local MCP servers do and that changes apply without a restart.`},"settings.localToolsMcpAdd":{message:`Add server`,description:`Button to add a new local MCP server row.`},"settings.localToolsMcpName":{message:`Name`,description:`Label for the MCP server name/id field.`},"settings.localToolsMcpCommand":{message:`Command`,description:`Label for the MCP server launch command field.`},"settings.localToolsMcpArgs":{message:`Arguments`,description:`Label for the MCP server command arguments field.`},"settings.localToolsMcpArgsHint":{message:`One argument per line.`,description:`Placeholder/hint for the MCP arguments textarea.`},"settings.localToolsMcpEnv":{message:`Environment`,description:`Label for the MCP server environment variables field.`},"settings.localToolsMcpEnvHint":{message:`One KEY=VALUE per line.`,description:`Placeholder/hint for the MCP environment variables textarea.`},"settings.localToolsMcpNoServers":{message:`No MCP servers configured.`,description:`Empty state shown when no MCP servers are configured.`},"settings.localToolsMcpNamePlaceholder":{message:`e.g. filesystem`,description:`Placeholder for the MCP server name input.`},"settings.localToolsMcpCommandPlaceholder":{message:`e.g. npx`,description:`Placeholder for the MCP server command input.`},"settings.localToolsMcpNameRequired":{message:`Each server needs a name and a command.`,description:`Validation error when a server row is missing a name or command.`},"settings.localToolsMcpDuplicateName":{message:`Server names must be unique.`,description:`Validation error when two servers share the same name.`},"settings.localToolsMcpNameInvalid":{message:`Name may only contain letters, numbers, hyphens and underscores.`,description:`Validation error when a server name contains invalid characters.`},"settings.localToolsMcpEnabled":{message:`On`,description:`Toggle label to enable/disable a local MCP server.`},"settings.localToolsMcpReconnect":{message:`Test / Reconnect`,description:`Button to re-spawn one MCP server and refresh its status.`},"settings.localToolsMcpConnecting":{message:`Connecting…`,description:`Badge while an MCP server is being (re)connected.`},"settings.localToolsMcpNotSaved":{message:`Not saved yet`,description:`Badge for an MCP server row that hasn't been saved/connected yet.`},"settings.localToolsMcpConnected":{message:`Connected · {n} tools`,description:`Badge when an MCP server connected; {n} is the tool count.`},"settings.localToolsMcpDisabled":{message:`Disabled`,description:`Badge when an MCP server is turned off.`},"settings.localToolsMcpFailed":{message:`Failed to connect`,description:`Badge when an MCP server failed to start; the reason is shown below.`},"settings.localToolsMcpPlatformHint":{message:`Tip: use a command on your PATH such as npx or uvx (e.g. npx -y {'@'}modelcontextprotocol/server-filesystem ~/Documents). On Windows, npx/node resolve automatically. If a server shows "spawn … ENOENT", set the command to a full path.`,description:`Cross-platform hint for configuring the MCP launch command.`},"settings.localToolsSaved":{message:`Salvo`,description:`Transient confirmation after saving local-tool folders.`},"settings.localToolsActiveTools":{message:`Ferramentas ativas`,description:`Label before the list of currently available local tools.`},"settings.localToolsGrantsTitle":{message:`Ações sempre permitidas`,description:`Heading for the persistent consent grants list.`},"settings.localToolsGrantsHint":{message:`Chamadas de ferramentas que você optou por sempre permitir. Elas são executadas sem perguntar novamente. Revogue qualquer uma para reativar a confirmação.`,description:`Help text under the always-allowed actions heading.`},"settings.localToolsRevoke":{message:`Revogar`,description:`Button to revoke a single always-allow grant.`},"settings.localToolsRevokeAll":{message:`Revogar tudo`,description:`Button to revoke every always-allow grant.`},"settings.localToolsNoGrants":{message:`Nenhuma ação sempre permitida. Você será perguntado antes de cada ferramenta local.`,description:`Empty state for the always-allowed actions list.`},"settings.localToolsPermsTitle":{message:`Permissões do sistema`,description:`Heading for the macOS system-permission section.`},"settings.localToolsPermsHint":{message:`Opcional. O acesso às pastas acima não precisa de nenhuma — conceda apenas o que uma tarefa específica exigir.`,description:`Help text under the system-permissions heading.`},"settings.localToolsPermFullDisk":{message:`Acesso total ao disco`,description:`macOS Full Disk Access permission row.`},"settings.localToolsPermScreen":{message:`Gravação de tela`,description:`macOS Screen Recording permission row.`},"settings.localToolsPermAccessibility":{message:`Acessibilidade`,description:`macOS Accessibility permission row.`},"settings.localToolsGranted":{message:`Concedido`,description:`Status tag when a system permission is granted.`},"settings.localToolsNotGranted":{message:`Não concedido`,description:`Status tag when a system permission is not granted.`},"settings.localToolsOpen":{message:`Abrir…`,description:`Button to open the relevant macOS System Settings pane.`},"settings.subsites":{message:`Meus Subsites`,description:`Título da aba de gerenciamento de subsites na janela de configurações. Visível apenas no site oficial, subsites não são exibidos.`},"settings.adminOnlyHint":{message:`Esta seção é visível apenas para administradores do site, usuários comuns não podem acessar.`,description:`Mensagem exibida no topo das configurações do site / configurações de SEO / configurações de distribuição / configurações de funcionalidades, indicando que apenas administradores podem ver essas configurações.`},"settings.officialOnlyHint":{message:`Esta seção é visível apenas no site principal, não será exibida nas subestações.`,description:`Mensagem exibida no topo da aba 'Minhas Subestações', informando que este acesso aparece apenas no site oficial principal.`},"settings.customDomain":{message:`Domínio personalizado`,description:`Title for the custom-domain management tab in the settings popup. Visible only on subsites (non-main-official hosts) for site admins.`},"settings.buildNow":{message:`Construir Agora`,description:`Texto do botão 'Construir Subsite' na página sobre, visível apenas no site oficial`},"settings.poweredBy":{message:`Projeto Open Source`,description:`Título que mostra em qual projeto open source o site é baseado na página sobre`},"settings.poweredByTip":{message:`Este site é baseado no projeto open source Nexior, com código totalmente aberto.`,description:`Descrição que mostra em qual projeto open source o site é baseado na página sobre`},"settings.apiService":{message:`Serviço API`,description:`Título que mostra o provedor do serviço API na página sobre`},"settings.apiServiceTip":{message:`O serviço API deste site é fornecido pela Ace Data Cloud.`,description:`Descrição que mostra o provedor do serviço API na página sobre`},"settings.buildYourOwn":{message:`Construa o Seu`,description:`Título que informa ao usuário que ele pode construir um site semelhante na página sobre`},"settings.buildYourOwnTip":{message:`Quer construir um site de IA semelhante? Entre em contato para obter suporte de implantação.`,description:`Descrição sobre como construir um site semelhante na página sobre`},"settings.contactUs":{message:`Fale Conosco`,description:`Texto do botão para entrar em contato com o suporte`},"message.viewOnGithub":{message:`Ver no GitHub`,description:`Texto do link para visualizar o projeto no GitHub`},"title.notFound":{message:`Página Não Encontrada`,description:`Título da página 404`},"message.notFound":{message:`A página que você acessou não existe, o link pode ter sido alterado ou removido. Volte para a página inicial e continue explorando os serviços de IA da AceData.`,description:`Descrição da página 404`},"message.notFoundEyebrow":{message:`Ocorreu um Erro`,description:`Texto da pequena etiqueta no topo da página 404`},"message.notFoundPath":{message:`Caminho da Solicitação`,description:`Etiqueta que exibe o caminho da solicitação atual na página 404`},"button.backToHome":{message:`Voltar para a Página Inicial`,description:`Texto do botão para retornar à página inicial`},"button.goBack":{message:`Voltar à Página Anterior`,description:`Texto do botão para voltar à página anterior no histórico de navegação`},"title.apiCode":{message:`API code for this request`,description:`Title of the dialog that shows the equivalent API code (curl / Python / Node) that would reproduce a result generated inside the product`},"message.viewCodeHint":{message:`Show API code for this request`,description:`Tooltip text on the View Code button shown alongside result-card action buttons (U1/U2/Download/Extend/...). Clicking the button opens a dialog with curl / Python / Node snippets that reproduce the same generation via the public API.`},"button.viewCode":{message:`View code`,description:`Button text that opens a dialog with the equivalent API code (curl / Python / Node) for the current result, similar to the OpenAI Playground 'View code' affordance`},"button.getApiKey":{message:`Get an API key`,description:`Link text in the API code dialog footer that opens the platform console page where users can create an API key`},"button.apiPlatform":{message:`API Platform`,description:`API code dialog footer button label. Clicking opens https://platform.acedata.cloud/ in a new tab so users can manage their API keys, balance and usage.`},"message.apiCodeIntro":{message:`Run this from your own code to produce the same result. Replace <YOUR_API_KEY> with a key from your platform console.`,description:`Helper text shown above the code tabs in the API code dialog, explaining how to use the snippet`},"tab.apiRequest":{message:`Solicitação`,description:`Rótulo da aba do diálogo de código da API para o trecho de solicitação (o código que reproduz o resultado atual).`},"tab.apiResponse":{message:`Resposta`,description:`Rótulo da aba do diálogo de código da API para a resposta ao vivo retornada após clicar em Executar.`},"button.apiRun":{message:`Executar novamente`,description:`Botão do diálogo de código da API que executa novamente a solicitação ao vivo contra a API usando a chave do usuário. O resultado já existe, então clicar executa novamente, e é cobrado.`},"button.apiRunning":{message:`Executando…`,description:`Rótulo do botão Executar no diálogo de código da API enquanto a solicitação ao vivo está em andamento.`},"button.apiRunConfirm":{message:`Confirmar execução`,description:`Rótulo do botão de confirmação no diálogo que avisa que a execução aqui consome créditos extras.`},"button.viewDocs":{message:`Ver documentação`,description:`Botão no rodapé do diálogo de código da API que abre a página de documentação da API correspondente na plataforma.`},"message.apiClickRun":{message:`Clique em 'Executar novamente' para usar sua chave da API e executar esta solicitação em tempo real.`,description:`Estado vazio da aba de Resposta do diálogo de código da API, exibido antes que o usuário execute a solicitação.`},"message.apiRunConfirmTitle":{message:`Confirmar execução`,description:`Título do diálogo de confirmação exibido antes de reexecutar uma solicitação do diálogo de código da API.`},"message.apiRunConfirmDesc":{message:`Esta execução usará sua chave da API para chamar o endpoint de forma real e consumirá créditos adicionais. Você confirma que deseja continuar?`,description:`Corpo do diálogo de confirmação avisando que a reexecução da solicitação é uma chamada real da API que gera cobrança.`},"message.apiRunConfirmSkip":{message:`Não avisar novamente`,description:`Caixa de seleção no diálogo de confirmação de execução que, quando marcada, suprime o aviso em execuções subsequentes.`},"message.apiRunTaskCreated":{message:`Tarefa criada, feche esta janela para ver os resultados mais recentes abaixo.`,description:`Banner de sucesso exibido no diálogo de código da API após uma execução retornar um ID de tarefa, indicando que a nova tarefa já aparece na lista atrás do diálogo.`},"button.apiViewLatest":{message:`Fechar e Ver`,description:`Botão no banner de sucesso do diálogo de código da API que fecha o diálogo para que o usuário possa ver a nova tarefa criada na lista abaixo.`},"message.uploadInProgress":{message:`Os envios de referência ainda estão em andamento — aguarde um momento.`,description:`Toast shown when the user clicks the Generate button while one or more reference uploads are still in flight. Asks them to wait for uploads to complete before retrying.`},"appUpgrade.title":{message:`Update required`,description:`Title of the native-app version gate modal shown at startup when the installed build is older than what the backend supports.`},"appUpgrade.blockMessage":{message:`This version is no longer supported. Please update from the app store to continue.`,description:`Body text of the hard-block upgrade modal shown when the installed version is below min_supported. The modal has no dismiss affordance — the only button opens the app store.`},"appUpgrade.softMessage":{message:`A newer version is available. Update from the app store for the best experience.`,description:`Body text of the soft upgrade prompt shown when the installed version is below latest but above min_supported. The user can dismiss and keep using the app.`},"appUpgrade.openStore":{message:`Update now`,description:`Primary button on the upgrade modal — opens the App Store / Play Store URL in the system browser.`},"appUpgrade.later":{message:`Later`,description:`Secondary button on the soft upgrade prompt — dismisses the modal and lets the user keep using the current version. Only shown for non-forced upgrades.`},"nav.maestro":{message:`Maestro`,description:`Texto da página de conversão de artigos em vídeos do Maestro na barra de navegação, mantenha como 'Maestro'`},"nav.digitalhuman":{message:`Digital Human`,description:`Text in the website navigation bar for the Digital Human talking-head page`},"settings.localToolsAndroidPermHint":{message:`Enable the accessibility service so the assistant can see and control your screen. You can pre-authorize individual actions below.`,description:`Hint for the Android Computer Use accessibility permission section in Settings.`},"settings.cuConsentTitle":{message:`Allow action?`,description:`Title of the on-demand consent dialog shown when the assistant requests a screen action.`},"settings.cuConsentMessage":{message:`The assistant wants to run "{action}" on your phone. Allow it?`,description:`Body of the on-demand consent dialog; {action} is the computer.* action name.`},"settings.cuConsentAllow":{message:`Allow once`,description:`Allow button of the on-demand consent dialog.`},"settings.cuConsentAlways":{message:`Always allow`,description:`Always-allow button of the on-demand consent dialog; persists a grant so this action never prompts again.`},"settings.cuConsentDeny":{message:`Deny`,description:`Deny button of the on-demand consent dialog.`}};export{e as default};
1
+ var e={"button.setup":{message:`Configurar`,description:`Texto no botão para realizar configurações`},"button.start":{message:`Iniciar`,description:`Texto no botão para iniciar alguma operação`},"button.copy":{message:`Copiar`,description:`Texto no botão para copiar algum conteúdo`},"button.copied":{message:`Copiado`,description:`Texto no botão para indicar que o conteúdo foi copiado`},"button.restart":{message:`Regerar`,description:`Texto no botão para regenerar algum conteúdo`},"button.preview":{message:`Pré-visualizar`,description:`Texto no botão para abrir a pré-visualização de um arquivo via URL`},"button.seeRawImage":{message:`Ver Imagem Original`,description:`Texto no botão para ver a imagem original`},"button.seeRawVideo":{message:`Ver Vídeo`,description:`Texto no botão para ver o vídeo original`},"button.edit":{message:`Editar`,description:`Texto no botão para editar conteúdo`},"button.login":{message:`Entrar`,description:`Texto no botão para fazer login`},"button.logout":{message:`Sair`,description:`Texto no botão para fazer logout`},"button.new":{message:`Novo`,description:`Texto no botão para criar um novo item`},"button.delete":{message:`Excluir`,description:`Texto no botão para excluir conteúdo`},"button.deletePermanently":{message:`Excluir conta permanentemente`,description:`Final red delete button at the bottom of the delete confirmation dialog`},"button.confirm":{message:`Confirmar`,description:`Texto no botão para confirmar uma operação`},"button.cancel":{message:`Cancelar`,description:`Texto no botão para cancelar uma operação`},"button.close":{message:`Fechar`,description:`Texto no botão para fechar uma caixa de diálogo ou painel`},"button.expand":{message:`Expandir`,description:`Texto do botão que indica a ação de abrir o editor em tela cheia para a entrada de sugestões.`},"button.alert":{message:`Alerta`,description:`Texto no botão para emitir um alerta`},"button.info":{message:`Informação`,description:`Texto no botão para exibir informações`},"button.publish":{message:`Publicar`,description:`Texto no botão para publicar conteúdo`},"button.watch":{message:`Assistir`,description:`Texto no botão para assistir a algum conteúdo`},"button.verify":{message:`Verificação de Identidade`,description:`Texto no botão para permitir que o usuário faça a verificação de identidade`},"button.profile":{message:`Perfil`,description:`Texto no botão para exibir o perfil do usuário`},"button.console":{message:`Console`,description:`Texto no botão para exibir a página do console para controlar algum conteúdo na web`},"button.learn":{message:`Aprender`,description:`Texto no botão para permitir que o usuário aprenda algo`},"button.buy":{message:`Comprar`,description:`Texto no botão para permitir que o usuário compre algo`},"button.try":{message:`Experimentar`,description:`Texto no botão para permitir que o usuário experimente algo`},"button.startForFree":{message:`Começar Grátis`,description:`Texto no botão para permitir que o usuário comece gratuitamente`},"button.download":{message:`Baixar`,description:`Texto no botão para baixar arquivos (como áudio, vídeo, imagem)`},"button.downloadAndroid":{message:`Baixar Android`,description:`Texto no botão para baixar o pacote de instalação do Android`},"button.downloadIos":{message:`Baixar iOS`,description:`Texto no botão para baixar o arquivo de instalação do iOS`},"button.downloadWindows":{message:`Baixar para Windows`,description:`Text in button for downloading the Windows desktop installer`},"button.downloadMac":{message:`Baixar para macOS`,description:`Text in button for downloading the macOS desktop installer`},"button.installIos":{message:`Instalar iOS`,description:`Texto no botão para instalar o aplicativo iOS`},"button.apply":{message:`Solicitar`,description:`Texto no botão para permitir que o usuário solicite o serviço de API`},"button.refresh":{message:`Atualizar`,description:`Texto no botão para atualizar a página`},"button.pay":{message:`Pagar`,description:`Texto no botão para permitir que o usuário pague a taxa de serviço`},"button.repay":{message:`Continuar Pagamento`,description:`Texto no botão para permitir que o usuário continue o pagamento da taxa de serviço`},"button.applied":{message:`Solicitado`,description:`Texto no botão para indicar que o usuário já solicitou o serviço`},"button.acquire":{message:`Obter`,description:`Texto no botão para permitir que o usuário obtenha o token ou chave do serviço de API`},"button.fillExample":{message:`Preencher Exemplo`,description:`Texto no botão para permitir que o usuário preencha dados de exemplo`},"button.buyMore":{message:`Recarregar`,description:`Texto no botão para permitir que o usuário recarregue. O inglês deve ser traduzido como 'Top Up', o chinês como '充值'.`},"button.update":{message:`Atualizar`,description:`Texto no botão para atualizar conteúdo`},"button.view":{message:`Ver`,description:`Texto no botão para ver algum conteúdo`},"button.create":{message:`Criar`,description:`Texto no botão para criar algum conteúdo`},"button.referralEarnings":{message:`Renda de Referência`,description:`Texto no botão que exibe a renda de referência, indicando que o usuário pode ganhar dinheiro convidando outras pessoas a usar o serviço`},"button.finish":{message:`Concluir`,description:`Texto no botão para finalizar uma operação`},"entity.id":{message:`ID`,description:`Identificador único para exibir a entidade`},"entity.type":{message:`Tipo`,description:`Tipo da entidade`},"entity.website":{message:`Ace Data Cloud`,description:`Nome do site, não precisa ser traduzido, mantenha como 'Ace Data Cloud'`},"entity.copyright":{message:`Copyright`,description:`Texto que exibe o copyright`},"entity.platform":{message:`Plataforma`,description:`Texto que indica que este é um serviço de plataforma API`},"entity.title":{message:`Título`,description:`Título da entidade`},"entity.icon":{message:`Ícone`,description:`Ícone da entidade`},"entity.status":{message:`Status`,description:`Status da entidade`},"status.loading":{message:`Carregando...`,description:`Texto de status exibido enquanto o conteúdo está sendo carregado`},"error.appleSignInFailed":{message:`Falha ao iniciar sessão com a Apple. Tente novamente ou utilize outro método de início de sessão.`,description:`Error toast shown when native Apple sign-in fails for a reason other than user cancellation`},"error.loginLinkExpired":{message:`Login link expired. Please sign in again.`,description:`Shown on the desktop client when an OAuth callback is dropped (state mismatch or expired).`},"entity.operation":{message:`Operação`,description:`Operação da entidade`},"entity.description":{message:`Descrição`,description:`Descrição da entidade`},"entity.createdAt":{message:`Criado em`,description:`Data de criação da entidade`},"entity.updatedAt":{message:`Atualizado em`,description:`Data de atualização da entidade`},"entity.order":{message:`Pedido`,description:`Pedido da entidade, que inclui informações financeiras e de serviço, que o usuário precisa pagar`},"message.noTasks":{message:`Nenhuma tarefa histórica, comece uma nova tarefa~`,description:`Mensagem exibida quando não há tarefas`},"message.guestTasks":{message:`Faça login para iniciar uma tarefa e ver suas criações aqui.`,description:`Prompt shown in the task list area for not-logged-in guests`},"message.usedAmount":{message:`Valor utilizado`,description:`Usado para exibir o valor já utilizado do serviço`},"message.mobileAppDescription":{message:`Use o AceData diretamente no celular, atualmente disponível para download do APK Android, pacote de instalação iOS será disponibilizado após a assinatura.`,description:`Texto explicativo na página de download do aplicativo móvel`},"message.mobileAndroidHint":{message:`Compatível com celulares e tablets Android, escaneie para baixar e instalar o APK mais recente.`,description:`Descrição do cartão de download Android`},"message.mobileAndroidPending":{message:`Pacote de instalação Android ainda não está pronto, por favor, tente novamente mais tarde.`,description:`Mensagem quando o pacote de instalação Android não está disponível`},"message.mobileAvailableNow":{message:`Android disponível para download`,description:`Usado para exibir o status de que o Android está disponível para download`},"message.mobileSecureDelivery":{message:`Distribuição segura via CDN`,description:`Usado para enfatizar que o link de download é entregue via CDN`},"message.mobileDirectInstall":{message:`Instalação direta do APK`,description:`Usado para descrever que a instalação no Android é feita diretamente via APK`},"message.mobileLatestRelease":{message:`Versão pública atual`,description:`Usado para indicar que a versão exibida é a mais recente disponível`},"message.mobileSharedAccount":{message:`Conta e créditos compartilhados com a versão web`,description:`Usado para indicar que a versão móvel compartilha a conta com a versão web`},"message.mobileIosHint":{message:`Compatível com iPhone e iPad, pode ser instalado online; se o sistema bloquear, você pode baixar o IPA e depois distribuir.`,description:`Descrição do cartão de download iOS`},"message.mobileIosPending":{message:`Pacote de instalação iOS ainda não disponível para download, será disponibilizado após a finalização do certificado e do perfil da Apple.`,description:`Mensagem quando o pacote de instalação iOS não está disponível`},"message.mobileComingSoon":{message:`Em breve`,description:`Short status label shown on a platform card (e.g. iOS) while its build is being prepared`},"message.mobileNowOnAppStore":{message:`Now on the App Store`,description:`Status label shown on the iOS card when the app is live on the App Store`},"message.desktopWindowsHint":{message:`Para Windows 10 e posterior (64 bits). Baixe o instalador e clique duas vezes para instalar.`,description:`Windows desktop download card description`},"message.desktopMacHint":{message:`Para macOS 11 e posterior. Escolha a versão que corresponde ao seu Mac — Apple Silicon (série M) ou Intel.`,description:`macOS desktop download card description`},"message.desktopUnsignedNote":{message:`Os aplicativos de desktop são versões beta não assinadas. No Windows, escolha «Mais informações → Executar assim mesmo» no aviso do SmartScreen; no macOS, clique com o botão direito no app e escolha «Abrir» para ignorar o Gatekeeper.`,description:`Note explaining the desktop builds are unsigned betas and how to open them`},"button.getOnGooglePlay":{message:`Disponível no Google Play`,description:`Button label that opens the app's Google Play Store listing`},"button.getOnAppStore":{message:`Get it on the App Store`,description:`Button label that opens the app's Apple App Store listing`},"message.mobileApkFallback":{message:`Sem acesso ao Google Play? Baixe o APK diretamente.`,description:`Shown next to a secondary button offering a direct APK download for users who cannot access Google Play`},"message.mobilePlayStoreHint":{message:`Escaneie para abrir o Google Play`,description:`Hint under the QR code explaining that scanning it opens the Google Play listing`},"message.mobileAppStoreHint":{message:`Scan to open the App Store`,description:`Hint under the QR code explaining that scanning it opens the App Store listing`},"message.mobileInstallNote":{message:`Ao instalar pela primeira vez um pacote corporativo ou Ad Hoc no iOS, o sistema pode solicitar que você confie no certificado em 'Ajustes > Geral > VPN e Gerenciamento de Dispositivos'.`,description:`Dica de instalação do aplicativo móvel`},"title.mobileApp":{message:`Download do Móvel`,description:`Título da página de download do aplicativo móvel`},"title.mobileFastAccess":{message:`Acesso mais rápido, sem passar pela loja de aplicativos`,description:`Título do cartão de vantagens na página de download, enfatizando a instalação rápida`},"title.mobileTrustedRelease":{message:`Gerenciamento centralizado de versões, distribuição mais estável`,description:`Título do cartão de vantagens na página de download, enfatizando a estabilidade de versões e distribuição`},"title.mobileUnifiedExperience":{message:`Experiência móvel e web consistente`,description:`Título do cartão de vantagens na página de download, enfatizando a experiência unificada`},"nav.mobileApp":{message:`Aplicativo Móvel`,description:`Entrada de download do aplicativo móvel na navegação`},"message.mobileFastAccess":{message:`Os usuários podem escanear para instalar diretamente no celular ou baixar o APK no desktop e depois distribuir para os membros da equipe, ideal para testes rápidos e cenários de beta.`,description:`Descrição de vantagens na página de download, enfatizando o acesso rápido`},"message.mobileTrustedRelease":{message:`Os links de download estão centralizados em uma única página, com número da versão, status da plataforma e método de instalação visíveis, reduzindo os custos de comunicação causados pela dispersão de links.`,description:`Descrição de vantagens na página de download, enfatizando a distribuição unificada`},"message.mobileUnifiedExperience":{message:`O sistema de contas, créditos e entradas de serviço após o login é consistente com a versão web, facilitando a troca sem costura entre desktop e móvel.`,description:`Descrição de vantagens na página de download, enfatizando a experiência de conta unificada`},"message.remainingAmount":{message:`Valor restante`,description:`Usado para exibir o valor restante do serviço`},"message.copied":{message:`Copiado com sucesso`,description:`Mensagem que indica que o conteúdo foi copiado com sucesso`},"message.restart":{message:`Regerar`,description:`Mensagem para mostrar que o conteúdo foi copiado com sucesso`},"message.confirmDelete":{message:`Você tem certeza que deseja excluir?`,description:`Mensagem para confirmar que o usuário deseja excluir um item`},"message.expiredAt":{message:`Data de expiração`,description:`Mensagem para mostrar a data de expiração do serviço`},"message.alert":{message:`Atenção`,description:`Mensagem para alertar o usuário`},"message.deleteAccountConfirm":{message:`Isto irá eliminar permanentemente a sua conta e todos os dados associados. Esta ação não pode ser desfeita. Tem a certeza de que deseja continuar?`,description:`Confirmation message shown before permanently deleting the user account`},"message.deleteAccountSuccess":{message:`A sua conta foi eliminada.`,description:`Message shown after the user account is successfully deleted`},"message.deleteAccountFailed":{message:`Falha ao eliminar a sua conta. Tente novamente mais tarde.`,description:`Message shown when account deletion fails`},"message.deleteAccountWarning":{message:`Esta ação é irreversível! Sua conta e todos os seus dados serão excluídos permanentemente e não poderão ser recuperados.`,description:`Red warning banner at the top of the delete confirmation dialog`},"message.deleteAccountConsequences":{message:`Excluídos permanentemente: perfil, saldo e créditos, aplicativos e assinaturas, chaves de API e vínculos de login de terceiros.`,description:`Explains what data will be removed in the delete confirmation dialog`},"message.deleteAccountTypePrompt":{message:`Digite seu nome de usuário para confirmar a exclusão:`,description:`Instructs the user to type their username to confirm; the username is shown separately below`},"message.deleteAccountPlaceholder":{message:`Digite seu nome de usuário aqui`,description:`Placeholder for the username confirmation input`},"message.info":{message:`Informação`,description:`Mensagem para exibir informações`},"message.free":{message:`Gratuito`,description:`Mensagem para mostrar que o serviço é gratuito, ou seja, o usuário não precisa pagar`},"message.startPrice":{message:`A partir de`,description:`Mensagem para mostrar o preço mínimo do serviço`},"message.joinDiscord":{message:`Entrar no Discord`,description:`Mensagem para convidar o usuário a entrar no canal do Discord`},"message.addWeChat":{message:`Adicionar WeChat`,description:`Mensagem para convidar o usuário a adicionar uma conta do WeChat`},"message.serviceTech":{message:`Suporte Técnico`,description:`Mensagem para mostrar suporte técnico`},"message.businessCooperation":{message:`Cooperação de Dados & Negócios`,description:`Mensagem para mostrar cooperação comercial`},"message.noData":{message:`Sem dados`,description:`Mensagem para mostrar que não há dados na tabela ou lista`},"nav.home":{message:`Início`,description:`Texto na barra de navegação do site para mostrar a página inicial`},"nav.content":{message:`Conteúdo`,description:`Texto na barra de navegação do site para mostrar a página de conteúdo`},"nav.category":{message:`Categoria`,description:`Texto na barra de navegação do site para mostrar a página de categorias`},"nav.service":{message:`Todos os Serviços`,description:`Texto na barra de navegação do site para mostrar a página de serviços`},"nav.profile":{message:`Meu Perfil`,description:`Texto na barra de navegação do site para mostrar a página de perfil`},"nav.products":{message:`Produtos`,description:`Texto na barra de navegação do site para mostrar a página de produtos`},"nav.referral":{message:`Programa de Indicação`,description:`Texto na barra de navegação do site para mostrar a página de indicações`},"nav.apiPlatform":{message:`Plataforma API`,description:`Texto na barra de navegação do site para mostrar a página da plataforma API`},"nav.document":{message:`Documentação de Desenvolvimento`,description:`Texto na barra de navegação do site para mostrar a página de documentação`},"nav.console":{message:`Console`,description:`Texto na barra de navegação do site para mostrar a página do console`},"nav.chatgpt":{message:`ChatGPT`,description:`Texto na barra de navegação do site para mostrar a página do ChatGPT, não deve ser traduzido, deve permanecer como 'ChatGPT'`},"nav.deepseek":{message:`DeepSeek`,description:`Texto na barra de navegação do site para mostrar a página do DeepSeek, não deve ser traduzido, deve permanecer como 'DeepSeek'`},"nav.grok":{message:`Grok`,description:`Texto na barra de navegação do site para mostrar a página do Grok, não deve ser traduzido, deve permanecer como 'Grok'`},"nav.chat":{message:`Chat`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Chat'`},"nav.veo":{message:`Veo`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Veo'`},"nav.sora":{message:`Sora`,description:`Texto na barra de navegação do site para mostrar a página de chat, não deve ser traduzido, deve permanecer como 'Sora'`},"nav.midjourney":{message:`Midjourney`,description:`Texto na barra de navegação do site para mostrar a página do Midjourney, não deve ser traduzido, deve permanecer como 'Midjourney'`},"nav.qrart":{message:`QRArt`,description:`Texto na barra de navegação do site para mostrar a página de arte 2D, não deve ser traduzido, deve permanecer como 'QRArt'`},"nav.suno":{message:`Suno`,description:`Texto na barra de navegação do site para mostrar a página do Suno, não deve ser traduzido, deve permanecer como 'Suno'`},"nav.pixverse":{message:`Pixverse`,description:`Texto na barra de navegação do site para mostrar a página do Pixverse, não deve ser traduzido, deve permanecer como 'Pixverse'`},"nav.flux":{message:`Flux`,description:`Texto na barra de navegação do site para mostrar a página do Flux, não deve ser traduzido, deve permanecer como 'Flux'`},"nav.nanobanana":{message:`Nano Banana`,description:`Texto na barra de navegação do site para mostrar a página do Nano Banana, não deve ser traduzido, deve permanecer como 'Nano Banana'`},"nav.openaiimage":{message:`OpenAI Image`,description:`Texto na barra de navegação do site para mostrar a página do OpenAI Image, não deve ser traduzido, deve permanecer como 'OpenAI Image'`},"nav.seedream":{message:`SeeDream`,description:`Texto na barra de navegação do site, usado para exibir a página SeeDream, não deve ser traduzido, deve permanecer como 'SeeDream'`},"nav.seedance":{message:`SeeDance`,description:`Texto na barra de navegação do site para exibir a página SeeDance, não deve ser traduzido, deve permanecer como 'SeeDance'`},"nav.grokvideo":{message:`Grok Video`,description:`Text in the website navigation bar to display the Grok Imagine video page`},"nav.luma":{message:`Luma`,description:`Texto na barra de navegação do site para exibir a página Luma, não deve ser traduzido, deve permanecer como 'Luma'`},"nav.pika":{message:`Pika`,description:`Texto na barra de navegação do site para exibir a página Pika, não deve ser traduzido, deve permanecer como 'Pika'`},"nav.kling":{message:`Kling`,description:`Texto na barra de navegação do site para exibir a página Kling, não deve ser traduzido, deve permanecer como 'Kling'`},"nav.hailuo":{message:`Hailuo`,description:`Texto na barra de navegação do site para exibir a página Hailuo, não deve ser traduzido, deve permanecer como 'Hailuo'`},"nav.wan":{message:`Wan`,description:`Texto na barra de navegação do site para exibir a página Wan, não deve ser traduzido, deve permanecer como 'Wan'`},"nav.producer":{message:`Producer`,description:`Texto na barra de navegação do site para exibir a página Producer, não deve ser traduzido, deve permanecer como 'Producer'`},"nav.fish":{message:`Fish Audio`,description:`Texto na barra de navegação do site que exibe a página Fish Audio, por favor, não traduza este campo, deve permanecer como 'Fish Audio'`},"nav.kimi":{message:`Kimi`,description:`Texto na barra de navegação do site para exibir a página Kimi, não deve ser traduzido, deve permanecer como 'Kimi'`},"nav.serp":{message:`SERP`,description:`Texto na barra de navegação do site para exibir a página SERP, não deve ser traduzido, deve permanecer como 'SERP'`},"nav.codingBridge":{message:`Coding Bridge`,description:`Text in the website navigation bar to display the Coding Bridge page, must remain as 'Coding Bridge'`},"nav.webextrator":{message:`WebExtrator`,description:`Text in the website navigation bar to display the WebExtrator page, must remain as 'WebExtrator'`},"nav.image":{message:`Imagem`,description:`Texto na barra de navegação do site para exibir a página de imagens`},"nav.music":{message:`Música`,description:`Texto na barra de navegação do site para exibir a página de música`},"nav.video":{message:`Vídeo`,description:`Texto na barra de navegação do site para exibir a página de vídeo`},"nav.distribution":{message:`Rendimentos de Recomendação`,description:`Texto na barra de navegação do site para exibir a página de rendimentos de recomendação`},"nav.connections":{message:`Conexões`,description:`Item de menu que leva à página de gerenciamento de conexões em auth.acedata.cloud`},"nav.logOut":{message:`Sair`,description:`Texto na barra de navegação do site para sair da conta`},"nav.deleteAccount":{message:`Excluir conta`,description:`Menu item to permanently delete the current user account`},"nav.site":{message:`Configuração do Site`,description:`Texto na barra de navegação do site para exibir a página de configuração do site`},"nav.subsite":{message:`Meu Subsite`,description:`Entrada 'Meu Subsite' na barra lateral, exibida apenas quando a funcionalidade features.subsite está ativada`},"nav.setting":{message:`Configurações`,description:`Texto na barra de navegação do site para exibir a página de configurações`},"nav.headshots":{message:`Foto de Identidade AI`,description:`Texto na barra de navegação do site para exibir a página de configuração do site`},"nav.more":{message:`Mais`,description:`Texto na barra de navegação do site para expandir mais serviços`},"nav.locale":{message:`Configurações de Idioma`,description:`Texto na barra de navegação do site para alterar o idioma`},"nav.support":{message:`Suporte ao Cliente`,description:`Texto na barra de navegação do site para exibir a página de contato`},"nav.darkMode":{message:`Modo Escuro`,description:`Texto na barra de navegação do site para alternar para o tema escuro`},"title.alert":{message:`Aviso`,description:`Título da mensagem de aviso`},"title.placeholderOfSelect":{message:`Por favor, selecione`,description:`Placeholder para entrada de seleção`},"title.placeholderOfInput":{message:`Por favor, preencha`,description:`Placeholder para entrada de texto`},"title.allApplications":{message:`Todas as Aplicações`,description:`Título da página que exibe todas as aplicações`},"title.allOrders":{message:`Todos os Pedidos`,description:`Título da página que exibe todos os pedidos`},"title.orderInfo":{message:`Informações do Pedido`,description:`Título da página que exibe informações do pedido`},"title.buyMore":{message:`Recarregar`,description:`Título da página para recarregar. Deve ser traduzido como 'Recarregar'.`},"title.distribution":{message:`Rendimentos de Recomendação`,description:`Título da página que exibe rendimentos de recomendação, indicando que o usuário pode ganhar dinheiro convidando outros a usar o serviço`},"title.site":{message:`Configuração do Site`,description:`Título da página que exibe a configuração do site`},"title.distributionHistory":{message:`Histórico de Recomendações`,description:`Título da página que exibe o histórico de recomendações`},"title.invitee":{message:`Convidado`,description:`Título da página que exibe informações sobre o convidado`},"title.allUsages":{message:`Histórico de Uso`,description:`Título da página que exibe todos os usos do serviço API`},"title.allCredentials":{message:`Credenciais`,description:`Título da página que exibe todas as credenciais, usadas para acessar a API`},"about.title1":{message:`Contato`,description:`Título da seção que exibe informações de contato`},"about.title2":{message:`Recursos`,description:`Título da seção que exibe links`},"about.title3":{message:`Links`,description:`Título da seção que exibe informações de suporte`},"about.address":{message:`131 Continental Dr, Suite 305, Newark, DE 19713, EUA`,description:`Endereço da empresa`},"about.email":{message:`office@acedata.cloud`,description:`E-mail da empresa`},"about.link1":{message:`Serviços`,description:`Link para a página de documentação`},"about.link2":{message:`Documentação do Desenvolvedor`,description:`Link para a página de serviços`},"about.link3":{message:`Console`,description:`Link para a página do console`},"about.link4":{message:`Perfil`,description:`Link para a página de perfil`},"about.link5":{message:`Plataforma UI`,description:`Link para a página central`},"about.link6":{message:`Rendimentos de Referência`,description:`Link para a página de rendimentos de referência`},"about.link7":{message:`Suporte`,description:`Link para a página de suporte`},"about.link8":{message:`Termos de Serviço`,description:`Link para a página de termos de serviço`},"about.link9":{message:`Política de Privacidade`,description:`Link para a página de política de privacidade`},"theme.light":{message:`Claro`,description:`Nome do tema claro`},"theme.dark":{message:`Escuro`,description:`Nome do tema escuro`},"theme.system":{message:`Sistema`,description:`Nome do tema do sistema, indicando a troca automática de tema com base nas configurações do sistema`},"settings.general":{message:`Configurações Gerais`,description:`Título da seção de configurações gerais na página de configurações`},"settings.language":{message:`Idioma`,description:`Título da seção de configurações de idioma na página de configurações`},"settings.theme":{message:`Tema`,description:`Título da seção de configurações de tema na página de configurações`},"settings.seo":{message:`Configurações de SEO`,description:`Título da seção de configurações de SEO na página de configurações`},"settings.site":{message:`Configurações do Site`,description:`Título da seção de configurações do site na página de configurações`},"settings.distribution":{message:`Configurações de Distribuição`,description:`Título da seção de configurações de distribuição na página de configurações`},"settings.function":{message:`Configurações de Funcionalidade`,description:`Título da seção de configurações de funcionalidade na página de configurações`},"settings.auth":{message:`Método de Login`,description:`Título da aba 'Método de Login' na barra lateral da página de configurações — configura os métodos de login permitidos e o método de login padrão do site, visível apenas para administradores do site.`},"settings.apiKey":{message:`Chave da API`,description:`Rótulo da Chave da API na barra lateral da página de configurações - gerenciamento da Chave da API do provedor de serviços upstream (BYOK)`},"settings.memory":{message:`Memória`,description:`Configura o rótulo 'Memória' na barra lateral da janela de configurações, onde o usuário pode visualizar e gerenciar as informações que o assistente lembra sobre si.`},"settings.memoryIntro":{message:`O assistente lembrará informações úteis que você menciona nas conversas, proporcionando respostas mais personalizadas em diferentes diálogos. Você tem controle total — pode visualizar o conteúdo salvo e excluir partes que não deseja que ele lembre.`,description:`Texto de introdução no topo da aba de configurações de memória.`},"settings.memoryNeedsChat":{message:`Por favor, inicie uma conversa para ativar a funcionalidade de memória.`,description:`Exibido na aba de configurações de memória quando o aplicativo de chat/token ainda não foi carregado.`},"settings.memoryStored":{message:`Memórias salvas`,description:`Título da seção acima da lista de itens de memória armazenados.`},"settings.memoryEmpty":{message:`Nenhuma memória salva até o momento. À medida que você utiliza, o assistente lembrará de preferências e informações duradouras aqui.`,description:`Estado vazio exibido quando o usuário não tem memórias armazenadas.`},"settings.memoryForget":{message:`Esquecer`,description:`Botão para excluir uma única memória na linha do item de memória.`},"settings.memoryClearAll":{message:`Limpar tudo`,description:`Botão para excluir todas as memórias armazenadas de uma só vez.`},"settings.memoryClearConfirm":{message:`Isso irá excluir permanentemente todas as informações que o assistente lembra sobre você e não pode ser desfeito.`,description:`Conteúdo da janela de confirmação antes de limpar todas as memórias.`},"settings.memoryError":{message:`A operação falhou, por favor, tente novamente.`,description:`Mensagem de erro exibida quando a operação de exclusão/limpeza de memória falha.`},"field.operations":{message:`Operações`,description:`Título da coluna genérica: coluna de botões de operação da linha da tabela (editar, excluir, etc.)`},"nav.gemini":{message:`Gemini`,description:`Texto na barra de navegação do site para exibir a página Gemini, deve permanecer como 'Gemini'`},"nav.claude":{message:`Claude`,description:`Texto na barra de navegação do site para exibir a página Claude, deve permanecer como 'Claude'`},"button.detail":{message:`Ver Detalhes`,description:``},"button.testEnv":{message:`Ambiente de Teste`,description:`Texto no botão para alternar para o ambiente de teste`},"button.upload":{message:`Enviar`,description:`Texto no botão para enviar arquivos ou conteúdo`},"message.cnbeian":{message:`Registro na China`,description:`Informação de registro na China`},"message.copyFailed":{message:`Falha ao Copiar`,description:`Mensagem exibida quando a cópia do conteúdo falha`},"nav.tryNow":{message:`Experimente Agora`,description:`Texto na barra de navegação do site para permitir que os usuários experimentem o serviço`},"title.coin":{message:`Criptomoeda`,description:`Título da página que exibe criptomoedas`},"title.distributionRank":{message:`Ranking de Referências`,description:`Título da página que exibe o ranking de referências`},"title.distributionPlatformRank":{message:`Ranking de Plataformas`,description:`Título da página que exibe o ranking de plataformas`},"customers.name1":{message:`Mark Du`,description:`Nome do cliente`},"customers.job1":{message:`Engenheiro de Software`,description:`Profissão do cliente`},"customers.comment1":{message:`A Ace Data Cloud forneceu um ótimo serviço para nossa equipe, ajudando-nos a aumentar a produtividade. Adoramos!`,description:`Avaliação do cliente`},"customers.name2":{message:`Jacob Williams`,description:`Nome do cliente`},"customers.job2":{message:`Gerente de Produto`,description:`Profissão do cliente`},"customers.comment2":{message:`A Ace Data Cloud é uma ótima plataforma de integração, com qualidade de serviço excepcional.`,description:`Avaliação do cliente`},"customers.name3":{message:`Larry Henry`,description:`Nome do cliente`},"customers.job3":{message:`Designer`,description:`Profissão do cliente`},"customers.comment3":{message:`Adoro os serviços da Ace Data Cloud, são fáceis de usar e com preços justos. Espero que melhorem cada vez mais!`,description:`Avaliação do cliente`},"nav.github":{message:`GitHub`,description:`Link para o repositório do GitHub`},"settings.github":{message:`Código Fonte`,description:`Link para ver o código fonte no GitHub`},"settings.about":{message:`Sobre`,description:`Título da seção sobre na página de configurações`},"settings.localTools":{message:`Ferramentas locais`,description:`Desktop-only settings tab for managing local tool folders, permissions and grants.`},"settings.localToolsDesktopOnly":{message:`Disponível apenas no aplicativo de desktop.`,description:`Shown when the Local Tools tab is opened on web/mobile.`},"settings.localToolsFoldersTitle":{message:`Pastas autorizadas`,description:`Heading for the list of folders the AI may read/write locally.`},"settings.localToolsFoldersHint":{message:`Pastas que a IA pode ler e gravar nesta máquina. As ferramentas são executadas localmente; nada sai do seu dispositivo sem o seu consentimento.`,description:`Help text under the authorized-folders heading.`},"settings.localToolsComputerUseTitle":{message:`Computer Use (experimental)`,description:`Heading for the opt-in Computer Use (screen + mouse/keyboard control) toggle.`},"settings.localToolsComputerUseHint":{message:`Let the AI see your screen and control the mouse and keyboard on this computer. Off by default — turn it on only when you need it. On macOS, grant Screen Recording and Accessibility permissions below. Each action still asks for your confirmation.`,description:`Help text under the Computer Use toggle.`},"settings.localToolsAndroidSkillsTitle":{message:`Habilidades de Automação do Telefone`,description:`Título para a seção exclusiva do Android que instala habilidades que controlam aplicativos no telefone via Operação do Computador.`},"settings.localToolsAndroidSkillsHint":{message:`Instale habilidades que permitem ao assistente operar aplicativos nativos. Elas funcionam através da 'Operação do Computador', então, primeiro, conceda permissões de acessibilidade acima e ative a operação do computador. Cada ação ainda seguirá suas configurações de confirmação de operação do computador.`,description:`Texto de ajuda sob o título de habilidades de automação do telefone.`},"settings.localToolsAndroidSkillsXhsName":{message:`Resposta Automática de Mensagens Diretas do Xiaohongshu`,description:`Nome exibido da habilidade de resposta automática de mensagens diretas do Xiaohongshu (RED).`},"settings.localToolsAndroidSkillsXhsDesc":{message:`Leia novas mensagens diretas no App Xiaohongshu e redija respostas, que serão confirmadas antes do envio.`,description:`Descrição em uma linha da habilidade de DM do Xiaohongshu.`},"settings.localToolsAndroidSkillsInstall":{message:`Instalar`,description:`Botão que instala a habilidade na conta do usuário.`},"settings.localToolsAndroidSkillsInstalled":{message:`Instalado`,description:`Etiqueta exibida quando a habilidade já está instalada.`},"settings.localToolsAndroidSkillsLoading":{message:`Carregando habilidades disponíveis...`,description:`Placeholder enquanto o diretório de habilidades está sendo buscado.`},"settings.localToolsAndroidSkillsUnavailable":{message:`Nenhuma habilidade de telefone disponível para instalação.`,description:`Estado vazio quando nenhuma habilidade de telefone instalável é encontrada.`},"settings.localToolsAndroidSkillsNeedComputerUse":{message:`Antes de instalar, conceda permissões de acessibilidade e ative a operação do computador acima.`,description:`Dica exibida quando o botão de instalação está desativado devido à falta de pré-requisitos.`},"settings.localToolsAndroidSkillsNextTurn":{message:`Instalado, estará ativo na sua próxima conversa.`,description:`Confirmação exibida após uma instalação bem-sucedida.`},"settings.localToolsAndroidSkillsInstallFailed":{message:`Instalação falhou, por favor, tente novamente.`,description:`Erro exibido quando a solicitação de instalação falha.`},"settings.localToolsAndroidSkillsLoadFailed":{message:`Falha ao carregar habilidades disponíveis, por favor, tente novamente.`,description:`Erro exibido quando a busca pelo diretório de habilidades falha.`},"settings.localToolsPreauthorizeAll":`Pré-aprovar todas as ações do computador`,"settings.localToolsPreauthorizeHint":`Permite de uma vez captura de tela, clique, digitação, teclas e todas as ações, e solicita as permissões do sistema necessárias.`,"settings.localToolsCuActionsTitle":`Permitir ações individuais`,"settings.localToolsCuActionsHint":`Ative apenas as ações que você aceita que a IA execute sem perguntar toda vez. Cada uma continua revogável aqui.`,"settings.localToolsCuScreenshot":`Captura de tela`,"settings.localToolsCuClick":`Clique`,"settings.localToolsCuMove":`Mover o ponteiro`,"settings.localToolsCuType":`Digitar texto`,"settings.localToolsCuKey":`Pressionar teclas`,"settings.localToolsCuScroll":`Rolagem`,"settings.localToolsBuiltinTitle":`Ferramentas integradas`,"settings.localToolsBuiltinHint":`Ative uma ferramenta para a IA executá-la sem perguntar. O Shell pode executar qualquer comando nesta máquina — ative apenas se confiar. As ferramentas de arquivo continuam limitadas às suas pastas autorizadas.`,"settings.localToolsBuiltinRisky":`Acesso total`,"settings.localToolsAddFolder":{message:`Adicionar pasta`,description:`Button to pick a folder to authorize.`},"settings.localToolsRemove":{message:`Remover`,description:`Button to remove an authorized folder.`},"settings.localToolsNoFolders":{message:`Nenhuma pasta autorizada ainda.`,description:`Empty state for the authorized-folders list.`},"settings.localToolsSave":{message:`Salvar`,description:`Save the authorized folders.`},"settings.localToolsMcpTitle":{message:`MCP servers`,description:`Section title for local MCP server configuration in Local Tools settings.`},"settings.localToolsMcpHint":{message:`Connect local MCP servers over stdio. Their tools become available to the AI, gated by the same per-call confirmation. Changes take effect immediately.`,description:`Explains what local MCP servers do and that changes apply without a restart.`},"settings.localToolsMcpAdd":{message:`Add server`,description:`Button to add a new local MCP server row.`},"settings.localToolsMcpName":{message:`Name`,description:`Label for the MCP server name/id field.`},"settings.localToolsMcpCommand":{message:`Command`,description:`Label for the MCP server launch command field.`},"settings.localToolsMcpArgs":{message:`Arguments`,description:`Label for the MCP server command arguments field.`},"settings.localToolsMcpArgsHint":{message:`One argument per line.`,description:`Placeholder/hint for the MCP arguments textarea.`},"settings.localToolsMcpEnv":{message:`Environment`,description:`Label for the MCP server environment variables field.`},"settings.localToolsMcpEnvHint":{message:`One KEY=VALUE per line.`,description:`Placeholder/hint for the MCP environment variables textarea.`},"settings.localToolsMcpNoServers":{message:`No MCP servers configured.`,description:`Empty state shown when no MCP servers are configured.`},"settings.localToolsMcpNamePlaceholder":{message:`e.g. filesystem`,description:`Placeholder for the MCP server name input.`},"settings.localToolsMcpCommandPlaceholder":{message:`e.g. npx`,description:`Placeholder for the MCP server command input.`},"settings.localToolsMcpNameRequired":{message:`Each server needs a name and a command.`,description:`Validation error when a server row is missing a name or command.`},"settings.localToolsMcpDuplicateName":{message:`Server names must be unique.`,description:`Validation error when two servers share the same name.`},"settings.localToolsMcpNameInvalid":{message:`Name may only contain letters, numbers, hyphens and underscores.`,description:`Validation error when a server name contains invalid characters.`},"settings.localToolsMcpEnabled":{message:`On`,description:`Toggle label to enable/disable a local MCP server.`},"settings.localToolsMcpReconnect":{message:`Test / Reconnect`,description:`Button to re-spawn one MCP server and refresh its status.`},"settings.localToolsMcpConnecting":{message:`Connecting…`,description:`Badge while an MCP server is being (re)connected.`},"settings.localToolsMcpNotSaved":{message:`Not saved yet`,description:`Badge for an MCP server row that hasn't been saved/connected yet.`},"settings.localToolsMcpConnected":{message:`Connected · {n} tools`,description:`Badge when an MCP server connected; {n} is the tool count.`},"settings.localToolsMcpDisabled":{message:`Disabled`,description:`Badge when an MCP server is turned off.`},"settings.localToolsMcpFailed":{message:`Failed to connect`,description:`Badge when an MCP server failed to start; the reason is shown below.`},"settings.localToolsMcpPlatformHint":{message:`Tip: use a command on your PATH such as npx or uvx (e.g. npx -y {'@'}modelcontextprotocol/server-filesystem ~/Documents). On Windows, npx/node resolve automatically. If a server shows "spawn … ENOENT", set the command to a full path.`,description:`Cross-platform hint for configuring the MCP launch command.`},"settings.localToolsSaved":{message:`Salvo`,description:`Transient confirmation after saving local-tool folders.`},"settings.localToolsActiveTools":{message:`Ferramentas ativas`,description:`Label before the list of currently available local tools.`},"settings.localToolsGrantsTitle":{message:`Ações sempre permitidas`,description:`Heading for the persistent consent grants list.`},"settings.localToolsGrantsHint":{message:`Chamadas de ferramentas que você optou por sempre permitir. Elas são executadas sem perguntar novamente. Revogue qualquer uma para reativar a confirmação.`,description:`Help text under the always-allowed actions heading.`},"settings.localToolsRevoke":{message:`Revogar`,description:`Button to revoke a single always-allow grant.`},"settings.localToolsRevokeAll":{message:`Revogar tudo`,description:`Button to revoke every always-allow grant.`},"settings.localToolsNoGrants":{message:`Nenhuma ação sempre permitida. Você será perguntado antes de cada ferramenta local.`,description:`Empty state for the always-allowed actions list.`},"settings.localToolsPermsTitle":{message:`Permissões do sistema`,description:`Heading for the macOS system-permission section.`},"settings.localToolsPermsHint":{message:`Opcional. O acesso às pastas acima não precisa de nenhuma — conceda apenas o que uma tarefa específica exigir.`,description:`Help text under the system-permissions heading.`},"settings.localToolsPermFullDisk":{message:`Acesso total ao disco`,description:`macOS Full Disk Access permission row.`},"settings.localToolsPermScreen":{message:`Gravação de tela`,description:`macOS Screen Recording permission row.`},"settings.localToolsPermAccessibility":{message:`Acessibilidade`,description:`macOS Accessibility permission row.`},"settings.localToolsGranted":{message:`Concedido`,description:`Status tag when a system permission is granted.`},"settings.localToolsNotGranted":{message:`Não concedido`,description:`Status tag when a system permission is not granted.`},"settings.localToolsOpen":{message:`Abrir…`,description:`Button to open the relevant macOS System Settings pane.`},"settings.subsites":{message:`Meus Subsites`,description:`Título da aba de gerenciamento de subsites na janela de configurações. Visível apenas no site oficial, subsites não são exibidos.`},"settings.adminOnlyHint":{message:`Esta seção é visível apenas para administradores do site, usuários comuns não podem acessar.`,description:`Mensagem exibida no topo das configurações do site / configurações de SEO / configurações de distribuição / configurações de funcionalidades, indicando que apenas administradores podem ver essas configurações.`},"settings.officialOnlyHint":{message:`Esta seção é visível apenas no site principal, não será exibida nas subestações.`,description:`Mensagem exibida no topo da aba 'Minhas Subestações', informando que este acesso aparece apenas no site oficial principal.`},"settings.customDomain":{message:`Domínio personalizado`,description:`Title for the custom-domain management tab in the settings popup. Visible only on subsites (non-main-official hosts) for site admins.`},"settings.buildNow":{message:`Construir Agora`,description:`Texto do botão 'Construir Subsite' na página sobre, visível apenas no site oficial`},"settings.poweredBy":{message:`Projeto Open Source`,description:`Título que mostra em qual projeto open source o site é baseado na página sobre`},"settings.poweredByTip":{message:`Este site é baseado no projeto open source Nexior, com código totalmente aberto.`,description:`Descrição que mostra em qual projeto open source o site é baseado na página sobre`},"settings.apiService":{message:`Serviço API`,description:`Título que mostra o provedor do serviço API na página sobre`},"settings.apiServiceTip":{message:`O serviço API deste site é fornecido pela Ace Data Cloud.`,description:`Descrição que mostra o provedor do serviço API na página sobre`},"settings.buildYourOwn":{message:`Construa o Seu`,description:`Título que informa ao usuário que ele pode construir um site semelhante na página sobre`},"settings.buildYourOwnTip":{message:`Quer construir um site de IA semelhante? Entre em contato para obter suporte de implantação.`,description:`Descrição sobre como construir um site semelhante na página sobre`},"settings.contactUs":{message:`Fale Conosco`,description:`Texto do botão para entrar em contato com o suporte`},"message.viewOnGithub":{message:`Ver no GitHub`,description:`Texto do link para visualizar o projeto no GitHub`},"title.notFound":{message:`Página Não Encontrada`,description:`Título da página 404`},"message.notFound":{message:`A página que você acessou não existe, o link pode ter sido alterado ou removido. Volte para a página inicial e continue explorando os serviços de IA da AceData.`,description:`Descrição da página 404`},"message.notFoundEyebrow":{message:`Ocorreu um Erro`,description:`Texto da pequena etiqueta no topo da página 404`},"message.notFoundPath":{message:`Caminho da Solicitação`,description:`Etiqueta que exibe o caminho da solicitação atual na página 404`},"button.backToHome":{message:`Voltar para a Página Inicial`,description:`Texto do botão para retornar à página inicial`},"button.goBack":{message:`Voltar à Página Anterior`,description:`Texto do botão para voltar à página anterior no histórico de navegação`},"title.apiCode":{message:`API code for this request`,description:`Title of the dialog that shows the equivalent API code (curl / Python / Node) that would reproduce a result generated inside the product`},"message.viewCodeHint":{message:`Show API code for this request`,description:`Tooltip text on the View Code button shown alongside result-card action buttons (U1/U2/Download/Extend/...). Clicking the button opens a dialog with curl / Python / Node snippets that reproduce the same generation via the public API.`},"button.viewCode":{message:`View code`,description:`Button text that opens a dialog with the equivalent API code (curl / Python / Node) for the current result, similar to the OpenAI Playground 'View code' affordance`},"button.getApiKey":{message:`Get an API key`,description:`Link text in the API code dialog footer that opens the platform console page where users can create an API key`},"button.apiPlatform":{message:`API Platform`,description:`API code dialog footer button label. Clicking opens https://platform.acedata.cloud/ in a new tab so users can manage their API keys, balance and usage.`},"message.apiCodeIntro":{message:`Run this from your own code to produce the same result. Replace <YOUR_API_KEY> with a key from your platform console.`,description:`Helper text shown above the code tabs in the API code dialog, explaining how to use the snippet`},"tab.apiRequest":{message:`Solicitação`,description:`Rótulo da aba do diálogo de código da API para o trecho de solicitação (o código que reproduz o resultado atual).`},"tab.apiResponse":{message:`Resposta`,description:`Rótulo da aba do diálogo de código da API para a resposta ao vivo retornada após clicar em Executar.`},"button.apiRun":{message:`Executar novamente`,description:`Botão do diálogo de código da API que executa novamente a solicitação ao vivo contra a API usando a chave do usuário. O resultado já existe, então clicar executa novamente, e é cobrado.`},"button.apiRunning":{message:`Executando…`,description:`Rótulo do botão Executar no diálogo de código da API enquanto a solicitação ao vivo está em andamento.`},"button.apiRunConfirm":{message:`Confirmar execução`,description:`Rótulo do botão de confirmação no diálogo que avisa que a execução aqui consome créditos extras.`},"button.viewDocs":{message:`Ver documentação`,description:`Botão no rodapé do diálogo de código da API que abre a página de documentação da API correspondente na plataforma.`},"message.apiClickRun":{message:`Clique em 'Executar novamente' para usar sua chave da API e executar esta solicitação em tempo real.`,description:`Estado vazio da aba de Resposta do diálogo de código da API, exibido antes que o usuário execute a solicitação.`},"message.apiRunConfirmTitle":{message:`Confirmar execução`,description:`Título do diálogo de confirmação exibido antes de reexecutar uma solicitação do diálogo de código da API.`},"message.apiRunConfirmDesc":{message:`Esta execução usará sua chave da API para chamar o endpoint de forma real e consumirá créditos adicionais. Você confirma que deseja continuar?`,description:`Corpo do diálogo de confirmação avisando que a reexecução da solicitação é uma chamada real da API que gera cobrança.`},"message.apiRunConfirmSkip":{message:`Não avisar novamente`,description:`Caixa de seleção no diálogo de confirmação de execução que, quando marcada, suprime o aviso em execuções subsequentes.`},"message.apiRunTaskCreated":{message:`Tarefa criada, feche esta janela para ver os resultados mais recentes abaixo.`,description:`Banner de sucesso exibido no diálogo de código da API após uma execução retornar um ID de tarefa, indicando que a nova tarefa já aparece na lista atrás do diálogo.`},"button.apiViewLatest":{message:`Fechar e Ver`,description:`Botão no banner de sucesso do diálogo de código da API que fecha o diálogo para que o usuário possa ver a nova tarefa criada na lista abaixo.`},"message.uploadInProgress":{message:`Os envios de referência ainda estão em andamento — aguarde um momento.`,description:`Toast shown when the user clicks the Generate button while one or more reference uploads are still in flight. Asks them to wait for uploads to complete before retrying.`},"appUpgrade.title":{message:`Update required`,description:`Title of the native-app version gate modal shown at startup when the installed build is older than what the backend supports.`},"appUpgrade.blockMessage":{message:`This version is no longer supported. Please update from the app store to continue.`,description:`Body text of the hard-block upgrade modal shown when the installed version is below min_supported. The modal has no dismiss affordance — the only button opens the app store.`},"appUpgrade.softMessage":{message:`A newer version is available. Update from the app store for the best experience.`,description:`Body text of the soft upgrade prompt shown when the installed version is below latest but above min_supported. The user can dismiss and keep using the app.`},"appUpgrade.openStore":{message:`Update now`,description:`Primary button on the upgrade modal — opens the App Store / Play Store URL in the system browser.`},"appUpgrade.later":{message:`Later`,description:`Secondary button on the soft upgrade prompt — dismisses the modal and lets the user keep using the current version. Only shown for non-forced upgrades.`},"nav.maestro":{message:`Maestro`,description:`Texto da página de conversão de artigos em vídeos do Maestro na barra de navegação, mantenha como 'Maestro'`},"nav.digitalhuman":{message:`Digital Human`,description:`Text in the website navigation bar for the Digital Human talking-head page`},"settings.localToolsAndroidPermHint":{message:`Enable the accessibility service so the assistant can see and control your screen. You can pre-authorize individual actions below.`,description:`Hint for the Android Computer Use accessibility permission section in Settings.`},"settings.cuConsentTitle":{message:`Allow action?`,description:`Title of the on-demand consent dialog shown when the assistant requests a screen action.`},"settings.cuConsentMessage":{message:`The assistant wants to run "{action}" on your phone. Allow it?`,description:`Body of the on-demand consent dialog; {action} is the computer.* action name.`},"settings.cuConsentAllow":{message:`Allow once`,description:`Allow button of the on-demand consent dialog.`},"settings.cuConsentAlways":{message:`Always allow`,description:`Always-allow button of the on-demand consent dialog; persists a grant so this action never prompts again.`},"settings.cuConsentDeny":{message:`Deny`,description:`Deny button of the on-demand consent dialog.`}};export{e as default};