hermes-web-ui 0.6.30-beta.2 → 0.6.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/js/AppSidebar-B8eJvJ5L.js +1 -0
- package/dist/client/assets/js/{ChannelsView-DMyeoPl6.js → ChannelsView-rBs9Ylzp.js} +1 -1
- package/dist/client/assets/js/{ChatPanel-YZZNE2mg.js → ChatPanel-BjHQvYcw.js} +1 -1
- package/dist/client/assets/js/{ChatView-BSWI-pr1.js → ChatView-xEwjnXLo.js} +1 -1
- package/dist/client/assets/js/{CodingAgentsView-DGweBEVs.js → CodingAgentsView-DcVwegsz.js} +1 -1
- package/dist/client/assets/js/{DefaultCredentialPrompt-DwS2g874.js → DefaultCredentialPrompt-sFeH1odX.js} +1 -1
- package/dist/client/assets/js/{DesktopPetView-C2QyaxNu.js → DesktopPetView-DKYjal2v.js} +1 -1
- package/dist/client/assets/js/{DesktopTitleBar-CMvwjOsN.js → DesktopTitleBar-YzhbwcwX.js} +1 -1
- package/dist/client/assets/js/{DevicesView-3VMSlXCt.js → DevicesView-CnAjn0fI.js} +1 -1
- package/dist/client/assets/js/{FileEditor-Dkxlmokr.js → FileEditor-C_tmKjxI.js} +3 -3
- package/dist/client/assets/js/{FileRenameModal-o3oS6tv2.js → FileRenameModal-BlqJ8jgZ.js} +2 -2
- package/dist/client/assets/js/{FilesView-BlJtiYU7.js → FilesView-Dy8G_exi.js} +1 -1
- package/dist/client/assets/js/{FolderPicker-DYQaj8Cc.js → FolderPicker-DEUyd_JU.js} +1 -1
- package/dist/client/assets/js/{GlobalAgentView-CGRn1ucS.js → GlobalAgentView-C0NgWvKP.js} +1 -1
- package/dist/client/assets/js/{GroupChatView-GXbwwUn9.js → GroupChatView-Mr8SR7nA.js} +2 -2
- package/dist/client/assets/js/{HistoryMessageList-B1UsdtzR.js → HistoryMessageList--MuOQ24m.js} +1 -1
- package/dist/client/assets/js/{HistoryView-DukXpB7A.js → HistoryView-Boy6KWxz.js} +1 -1
- package/dist/client/assets/js/{JobsView-C2IfX4Oo.js → JobsView-5Jun6EjM.js} +2 -2
- package/dist/client/assets/js/{JourneyView-UX14Uvsk.js → JourneyView-DAU7N8iU.js} +1 -1
- package/dist/client/assets/js/{KanbanView-BFLDXNmq.js → KanbanView-CQOeRquP.js} +1 -1
- package/dist/client/assets/js/{LoginView-BMnZx434.js → LoginView-DTdp1xsa.js} +1 -1
- package/dist/client/assets/js/{LogsView-CFxOjMBB.js → LogsView-Dr6gD_kA.js} +1 -1
- package/dist/client/assets/js/{MarkdownRenderer-RUGb4sbQ.js → MarkdownRenderer-DpSiF5gl.js} +3 -3
- package/dist/client/assets/js/{McpManagerView-D46nhm85.js → McpManagerView-BzGj5qqQ.js} +1 -1
- package/dist/client/assets/js/{MemoryView-CGvbW1Yq.js → MemoryView-2gPDgre_.js} +2 -2
- package/dist/client/assets/js/{MessageItem-rIbgU0g3.js → MessageItem-D91t-tiL.js} +2 -2
- package/dist/client/assets/js/{MessageList-7o_1_iPw.js → MessageList-KgA7oDKg.js} +1 -1
- package/dist/client/assets/js/{ModelsView-Cdl5HVlO.js → ModelsView-GVgHBsyL.js} +1 -1
- package/dist/client/assets/js/{OutlinePanel-BmsAdxB0.js → OutlinePanel-DD6XxWAu.js} +1 -1
- package/dist/client/assets/js/{PageSidebarFooter-fp9dcg3s.js → PageSidebarFooter-DFaGG_bk.js} +1 -1
- package/dist/client/assets/js/{PerformanceView-asJG1CAC.js → PerformanceView-YI2ecC28.js} +1 -1
- package/dist/client/assets/js/{PetdexView-CgsImZ2C.js → PetdexView-Bt4e1TDL.js} +1 -1
- package/dist/client/assets/js/{PluginsView-CiiHUv8H.js → PluginsView-BZHzh6V0.js} +1 -1
- package/dist/client/assets/js/{ProfileAvatar-CeGhJamd.js → ProfileAvatar-Du1XMoe0.js} +1 -1
- package/dist/client/assets/js/{ProfilesView-CPcFsEMn.js → ProfilesView-C02GlAXO.js} +1 -1
- package/dist/client/assets/js/{ProviderConfigurationPrompt-CCXQ_nqY.js → ProviderConfigurationPrompt-DbD_q_xl.js} +1 -1
- package/dist/client/assets/js/{SessionSearchModal-Chmtohb_.js → SessionSearchModal-CRoerPzU.js} +1 -1
- package/dist/client/assets/js/{SettingRow-CxdhcC5J.js → SettingRow-CZ1bK2YG.js} +1 -1
- package/dist/client/assets/js/{SettingsCircuitBadge-DmwONg4K.js → SettingsCircuitBadge-2VINGRjT.js} +1 -1
- package/dist/client/assets/js/{SettingsView-Bd02BnM7.js → SettingsView-C63TriKv.js} +1 -1
- package/dist/client/assets/js/{SkillsUsageView-Cvk_dctX.js → SkillsUsageView-DufR6RDh.js} +1 -1
- package/dist/client/assets/js/{SkillsView-BrS15WHY.js → SkillsView-LzeD-ReE.js} +2 -2
- package/dist/client/assets/js/{TerminalView-Betjhhzm.js → TerminalView-j3wokVwS.js} +1 -1
- package/dist/client/assets/js/{UsageView-gENmuPca.js → UsageView-BVdos-wH.js} +1 -1
- package/dist/client/assets/js/{VersionPreviewView-D4wMkRdU.js → VersionPreviewView-D46YOdsc.js} +1 -1
- package/dist/client/assets/js/{WebPet-C-F5hsmU.js → WebPet-PrNf1KLw.js} +1 -1
- package/dist/client/assets/js/{WorkflowView-DCQycw5y.js → WorkflowView-BWG_o4Lg.js} +1 -1
- package/dist/client/assets/js/{abap-Bpce3YCc.js → abap-B5rRrPlH.js} +1 -1
- package/dist/client/assets/js/{apex-BZWMlx8R.js → apex-kxpOZZnW.js} +1 -1
- package/dist/client/assets/js/architecture-7EHR7CIX-BsCtaKPb.js +1 -0
- package/dist/client/assets/js/{architectureDiagram-3BPJPVTR-DgYZW-VJ.js → architectureDiagram-3BPJPVTR-CGR0-xeM.js} +1 -1
- package/dist/client/assets/js/{auth-DAz8TLhP.js → auth-QlZVq-Mb.js} +1 -1
- package/dist/client/assets/js/{azcli-CU70G-wD.js → azcli-BinA5kBH.js} +1 -1
- package/dist/client/assets/js/{bat-_PVMPuXp.js → bat-Cr0qo7tY.js} +1 -1
- package/dist/client/assets/js/{bicep-B1C-nHUL.js → bicep-B4C1_29j.js} +1 -1
- package/dist/client/assets/js/{blockDiagram-GPEHLZMM-D9eCcYUu.js → blockDiagram-GPEHLZMM-DMRT9qE7.js} +1 -1
- package/dist/client/assets/js/{c4Diagram-AAUBKEIU-Cc2j_5Hk.js → c4Diagram-AAUBKEIU-BS013lHX.js} +1 -1
- package/dist/client/assets/js/{cameligo-BRxFWUB9.js → cameligo-DQKQuDHg.js} +1 -1
- package/dist/client/assets/js/{chat-DASgRGiI.js → chat-BHkNRr2D.js} +1 -1
- package/dist/client/assets/js/{chat-input-height-xMpE0zfj.js → chat-input-height-C9XyOGPU.js} +1 -1
- package/dist/client/assets/js/{chat-timestamp-B4kSmeEg.js → chat-timestamp-sj8rR29x.js} +1 -1
- package/dist/client/assets/js/{chunk-2J33WTMH-CIWIJ3Vy.js → chunk-2J33WTMH-BuvstStb.js} +1 -1
- package/dist/client/assets/js/{chunk-3OPIFGDE-D8rNjXTj.js → chunk-3OPIFGDE-DFuFb6Dn.js} +1 -1
- package/dist/client/assets/js/{chunk-4BX2VUAB-Be1NT72j.js → chunk-4BX2VUAB-C8f7FKlW.js} +1 -1
- package/dist/client/assets/js/{chunk-55IACEB6-D9jngYNS.js → chunk-55IACEB6-DoNUYELD.js} +1 -1
- package/dist/client/assets/js/{chunk-5ZQYHXKU-DsBTFfjP.js → chunk-5ZQYHXKU-D0RIlhMr.js} +1 -1
- package/dist/client/assets/js/{chunk-727SXJPM-B4ElG_Of.js → chunk-727SXJPM-Dcg9rcP1.js} +1 -1
- package/dist/client/assets/js/{chunk-AQP2D5EJ-DqmSdc2v.js → chunk-AQP2D5EJ-BrEs3845.js} +1 -1
- package/dist/client/assets/js/{chunk-BSJP7CBP-Dwbw_lcd.js → chunk-BSJP7CBP-2t71L2nD.js} +1 -1
- package/dist/client/assets/js/{chunk-CSCIHK7Q-D0eX0NV1.js → chunk-CSCIHK7Q-jw9fZDC9.js} +3 -3
- package/dist/client/assets/js/{chunk-FMBD7UC4-Ifok5gk4.js → chunk-FMBD7UC4-CC_5MTtl.js} +1 -1
- package/dist/client/assets/js/{chunk-KSCS5N6A-D6b_0Rnx.js → chunk-KSCS5N6A-Ctj260fA.js} +1 -1
- package/dist/client/assets/js/{chunk-L5ZTLDWV-eR6nltId.js → chunk-L5ZTLDWV-CF8sc4Ay.js} +1 -1
- package/dist/client/assets/js/{chunk-LZXEDZCA-h6nPcsB6.js → chunk-LZXEDZCA-BsmuMR5Z.js} +2 -2
- package/dist/client/assets/js/{chunk-ND2GUHAM-vGFiX1jf.js → chunk-ND2GUHAM-CvXXD5FC.js} +1 -1
- package/dist/client/assets/js/{chunk-NZK2D7GU-BQcgYAVF.js → chunk-NZK2D7GU-BQeu8oaR.js} +1 -1
- package/dist/client/assets/js/{chunk-O5CBEL6O-DqGyu-Fq.js → chunk-O5CBEL6O-D9XUSNoV.js} +1 -1
- package/dist/client/assets/js/{chunk-QZHKN3VN-Bf_cn5Px.js → chunk-QZHKN3VN-qz6ukpCd.js} +1 -1
- package/dist/client/assets/js/{chunk-WU5MYG2G-3I1ZwKkc.js → chunk-WU5MYG2G-Cv_QOL8q.js} +1 -1
- package/dist/client/assets/js/{chunk-XPW4576I-DDUD-9JS.js → chunk-XPW4576I-BQK5_1lO.js} +1 -1
- package/dist/client/assets/js/classDiagram-4FO5ZUOK-DudE54ap.js +1 -0
- package/dist/client/assets/js/classDiagram-v2-Q7XG4LA2-7vuaSqRj.js +1 -0
- package/dist/client/assets/js/{clipboard-DbIDy3AT.js → clipboard-DYlTCW_e.js} +1 -1
- package/dist/client/assets/js/{clojure-Dcj6e71m.js → clojure-CdqoJung.js} +1 -1
- package/dist/client/assets/js/{coding-agents-CaDRq0na.js → coding-agents-6iW0O8m3.js} +1 -1
- package/dist/client/assets/js/{codingAgentProviders-D561caSN.js → codingAgentProviders-CcodfSH-.js} +1 -1
- package/dist/client/assets/js/{coffee-CbYrIyIn.js → coffee-BWTAEena.js} +1 -1
- package/dist/client/assets/js/{completion-notification-DsOPieYQ.js → completion-notification-BAmmQT0D.js} +1 -1
- package/dist/client/assets/js/{cose-bilkent-S5V4N54A-DMeSp3o-.js → cose-bilkent-S5V4N54A-DRKeHjkL.js} +1 -1
- package/dist/client/assets/js/{cpp-C285XCcy.js → cpp-BVlDwaOY.js} +1 -1
- package/dist/client/assets/js/{csharp-AOA29tQw.js → csharp-BJ8TvX5x.js} +1 -1
- package/dist/client/assets/js/{csp-BH3dEG6O.js → csp-C4M5VPIw.js} +1 -1
- package/dist/client/assets/js/{css-B57baUKb.js → css-I3bSR4aB.js} +1 -1
- package/dist/client/assets/js/{cssMode-BL-figOg.js → cssMode-D4KFuV7w.js} +1 -1
- package/dist/client/assets/js/{cypher-WtS-OVKo.js → cypher-CRdq7Gis.js} +1 -1
- package/dist/client/assets/js/{cytoscape.esm-D5tsfvvu.js → cytoscape.esm-DkgBNPTq.js} +1 -1
- package/dist/client/assets/js/{dagre-BM42HDAG-ZT4Tyhdh.js → dagre-BM42HDAG-CaadqbBP.js} +1 -1
- package/dist/client/assets/js/{dagre-B9R_qlQx.js → dagre-C8VfHmP4.js} +1 -1
- package/dist/client/assets/js/{dart-DF9gqEcq.js → dart-dwyDElLm.js} +1 -1
- package/dist/client/assets/js/{de-EFWp16Qh.js → de--4CNgQuL.js} +1 -1
- package/dist/client/assets/js/{defineProperty-DuJZezkY.js → defineProperty-BDo2HL0q.js} +1 -1
- package/dist/client/assets/js/{diagram-2AECGRRQ-xaP4EEEl.js → diagram-2AECGRRQ-Cun81Ans.js} +1 -1
- package/dist/client/assets/js/{diagram-5GNKFQAL-DIyCvoeX.js → diagram-5GNKFQAL-CQzVKYOI.js} +1 -1
- package/dist/client/assets/js/{diagram-KO2AKTUF-DUgBO_lP.js → diagram-KO2AKTUF-BPfQv40Z.js} +1 -1
- package/dist/client/assets/js/{diagram-LMA3HP47-7BPLQ2mh.js → diagram-LMA3HP47-D8TC5VV0.js} +1 -1
- package/dist/client/assets/js/{diagram-OG6HWLK6-Bf3loU_i.js → diagram-OG6HWLK6-CRHwtHSe.js} +1 -1
- package/dist/client/assets/js/{dist-B5dYmTWx.js → dist-CfFdo9r8.js} +1 -1
- package/dist/client/assets/js/{dockerfile-Czh5hcPx.js → dockerfile-CILemvfU.js} +1 -1
- package/dist/client/assets/js/{download-D8EaUX1d.js → download-48rHoTgx.js} +1 -1
- package/dist/client/assets/js/{ecl-CX15-2F3.js → ecl-Ealz99xU.js} +1 -1
- package/dist/client/assets/js/{elixir-DAeHVhZ1.js → elixir-shrM9Xh9.js} +1 -1
- package/dist/client/assets/js/{en-Be915fg0.js → en-CJJ1jL_Y.js} +1 -1
- package/dist/client/assets/js/{erDiagram-TEJ5UH35-Cohr37bj.js → erDiagram-TEJ5UH35-BPm-r9Hg.js} +1 -1
- package/dist/client/assets/js/{es-CifdmPsf.js → es-DzGYbRQj.js} +1 -1
- package/dist/client/assets/js/{esm-BnjT8clq.js → esm-BMJNKLtg.js} +1 -1
- package/dist/client/assets/js/eventmodeling-FCH6USID-C3kT7Z0E.js +1 -0
- package/dist/client/assets/js/{files-DaoyoU6g.js → files-hTAbTvaX.js} +1 -1
- package/dist/client/assets/js/{flow9-DbPITgDY.js → flow9-BcjKeG3-.js} +1 -1
- package/dist/client/assets/js/{flowDiagram-I6XJVG4X-B264a192.js → flowDiagram-I6XJVG4X-_BaH5aHT.js} +1 -1
- package/dist/client/assets/js/{fr-cOjPUfRx.js → fr-DcCzCkCs.js} +1 -1
- package/dist/client/assets/js/{freemarker2-DOLmB9KN.js → freemarker2-BNKS-Izq.js} +1 -1
- package/dist/client/assets/js/{fsharp-B-Yt6zK9.js → fsharp-CkihMS6p.js} +1 -1
- package/dist/client/assets/js/{ganttDiagram-6RSMTGT7-Ci7dhsnY.js → ganttDiagram-6RSMTGT7-Cbdw-Bcw.js} +1 -1
- package/dist/client/assets/js/gitGraph-WXDBUCRP-6wOXvHzD.js +1 -0
- package/dist/client/assets/js/{gitGraphDiagram-PVQCEYII-BlLk9eYS.js → gitGraphDiagram-PVQCEYII-B-bpVVPE.js} +1 -1
- package/dist/client/assets/js/{go-BOK2cgny.js → go-T3wwW6GT.js} +1 -1
- package/dist/client/assets/js/{graphlib-D2Mw_i7z.js → graphlib-zy-xgTNe.js} +1 -1
- package/dist/client/assets/js/{graphql-lNO0dhfX.js → graphql-efIwdE3z.js} +1 -1
- package/dist/client/assets/js/{handlebars-CVZmi01T.js → handlebars-I50ARPXc.js} +1 -1
- package/dist/client/assets/js/{hcl-DzR879Fw.js → hcl-1nBprOUg.js} +1 -1
- package/dist/client/assets/js/{highlight-Dj4_XEnA.js → highlight-CEOB4aIv.js} +1 -1
- package/dist/client/assets/js/{html-PlnnXcHR.js → html-Dj-ePZ46.js} +1 -1
- package/dist/client/assets/js/{htmlMode-Fmdr8cyl.js → htmlMode-CaN3hz4S.js} +1 -1
- package/dist/client/assets/js/{http-error-DN0Q0NIV.js → http-error-DzA5OQEf.js} +1 -1
- package/dist/client/assets/js/{index-B41wzfl2.js → index-RJQqJC6n.js} +4 -4
- package/dist/client/assets/js/info-J43DQDTF-BIWBwu_u.js +1 -0
- package/dist/client/assets/js/{infoDiagram-5YYISTIA-NDi7uRio.js → infoDiagram-5YYISTIA-BNXSec0Z.js} +1 -1
- package/dist/client/assets/js/{ini-DrTE-Qjw.js → ini-3Ot_KNDr.js} +1 -1
- package/dist/client/assets/js/{ishikawaDiagram-YF4QCWOH-Bqr4yRKd.js → ishikawaDiagram-YF4QCWOH-g75yRzDd.js} +1 -1
- package/dist/client/assets/js/{ja-24otYQMe.js → ja-CQvWYnv9.js} +1 -1
- package/dist/client/assets/js/{java-M1cOm-yu.js → java-BnfIG6C2.js} +1 -1
- package/dist/client/assets/js/{javascript-BNXq8PNf.js → javascript-CsnYKLbf.js} +1 -1
- package/dist/client/assets/js/{journeyDiagram-JHISSGLW-BEtti5_h.js → journeyDiagram-JHISSGLW-Pz71rJgC.js} +1 -1
- package/dist/client/assets/js/{jsonMode-1QUqmLF3.js → jsonMode-C075GWTu.js} +1 -1
- package/dist/client/assets/js/{julia-dLq8Su3c.js → julia-BZ-d031P.js} +1 -1
- package/dist/client/assets/js/{kanban-definition-UN3LZRKU-B0OINhQN.js → kanban-definition-UN3LZRKU-CM65a4ke.js} +1 -1
- package/dist/client/assets/js/{katex-RcNO5wwe.js → katex-CdfrrN4N.js} +1 -1
- package/dist/client/assets/js/{ko-BAFhhHmu.js → ko-CJGntapN.js} +1 -1
- package/dist/client/assets/js/{kotlin-u5eqp-HC.js → kotlin-Bvrb8ISQ.js} +1 -1
- package/dist/client/assets/js/{less-Bmv3Gp2t.js → less-BmSBm_Oo.js} +1 -1
- package/dist/client/assets/js/{lexon-D4tsg7Zx.js → lexon-DuK8nBv2.js} +1 -1
- package/dist/client/assets/js/{liquid-Bk2yC9hm.js → liquid-BWAc_45a.js} +1 -1
- package/dist/client/assets/js/{lspLanguageFeatures-D43hcBWA.js → lspLanguageFeatures-BiQVZMg4.js} +1 -1
- package/dist/client/assets/js/{lua-p9IseoQp.js → lua-CyRtU9wL.js} +1 -1
- package/dist/client/assets/js/{m3-CP_UPhUb.js → m3-Ew9Azayo.js} +1 -1
- package/dist/client/assets/js/{markdown-EMkhjbsA.js → markdown-DTnF9Yaz.js} +1 -1
- package/dist/client/assets/js/{mdx-CTIqsEU_.js → mdx-B5cGu-wW.js} +1 -1
- package/dist/client/assets/js/{mermaid-parser.core-Ct7VvVNd.js → mermaid-parser.core-H0g6x_iH.js} +3 -3
- package/dist/client/assets/js/{mermaid.core-bZP2CdTT.js → mermaid.core-Diknpn0Z.js} +3 -3
- package/dist/client/assets/js/{mindmap-definition-RKZ34NQL-HwEZyOHT.js → mindmap-definition-RKZ34NQL-CaunhL_H.js} +1 -1
- package/dist/client/assets/js/{mips-CkjAOBJ1.js → mips-Dxi7_29p.js} +1 -1
- package/dist/client/assets/js/{models-IOA_Ybyo.js → models-C1Vzhn4J.js} +1 -1
- package/dist/client/assets/js/{msdax-D3cfIob3.js → msdax-B6Bgb3AK.js} +1 -1
- package/dist/client/assets/js/{mysql-4uHNth4i.js → mysql-BL2x9OzM.js} +1 -1
- package/dist/client/assets/js/{objective-c-CJlpUpN6.js → objective-c-BrRFV0XK.js} +1 -1
- package/dist/client/assets/js/packet-YPE3B663-DQbqBYnW.js +1 -0
- package/dist/client/assets/js/{pascal-CQPmydYD.js → pascal-WA4C_PKB.js} +1 -1
- package/dist/client/assets/js/{pascaligo-BpcHvwdj.js → pascaligo-CJbWHnUY.js} +1 -1
- package/dist/client/assets/js/{perl-CPq40M_6.js → perl-BI9Huzvv.js} +1 -1
- package/dist/client/assets/js/{pets-C2oDgwB5.js → pets-B_-nzG9F.js} +1 -1
- package/dist/client/assets/js/{pgsql-CSQ1ge3t.js → pgsql-CzbvRnWT.js} +1 -1
- package/dist/client/assets/js/{php-DK0RYdED.js → php-CXAgA_El.js} +1 -1
- package/dist/client/assets/js/pie-LRSECV5Y-CIUK74nZ.js +1 -0
- package/dist/client/assets/js/{pieDiagram-4H26LBE5-BmAWShfi.js → pieDiagram-4H26LBE5-CCUnlpIr.js} +1 -1
- package/dist/client/assets/js/{pla-DWm3Ssta.js → pla-C0RuKVEY.js} +1 -1
- package/dist/client/assets/js/{postiats-D6U5CAH_.js → postiats-DrGBuYen.js} +1 -1
- package/dist/client/assets/js/{powerquery-luT1PmkC.js → powerquery-C2Rk0MWx.js} +1 -1
- package/dist/client/assets/js/{powershell-DqsTi5Tp.js → powershell-Co9Oecz_.js} +1 -1
- package/dist/client/assets/js/{profiles-DDKFPE0r.js → profiles-BtECgqqD.js} +1 -1
- package/dist/client/assets/js/{protobuf-xWgh_gwl.js → protobuf-BYEreCAs.js} +1 -1
- package/dist/client/assets/js/{pt-DPgTOGuO.js → pt-BLQB3VhC.js} +1 -1
- package/dist/client/assets/js/{pug-d0a6hBgd.js → pug-DYMxpfbA.js} +1 -1
- package/dist/client/assets/js/{python-SkkpZGKb.js → python-D14JG4Tf.js} +1 -1
- package/dist/client/assets/js/{qsharp-B4xC_SYh.js → qsharp-eGQdTxCC.js} +1 -1
- package/dist/client/assets/js/{quadrantDiagram-W4KKPZXB-DRn55Dz7.js → quadrantDiagram-W4KKPZXB-Do1jBZkB.js} +1 -1
- package/dist/client/assets/js/{r-qamn5sfb.js → r-BpBEd0qf.js} +1 -1
- package/dist/client/assets/js/radar-GUYGQ44K-DamlzFJn.js +1 -0
- package/dist/client/assets/js/{razor-DR9b_EzP.js → razor-DAKZoZ5s.js} +1 -1
- package/dist/client/assets/js/{redis-C46kUKug.js → redis-CecBwldA.js} +1 -1
- package/dist/client/assets/js/{redshift-DI_dWPgP.js → redshift-DxeKWFdZ.js} +1 -1
- package/dist/client/assets/js/{requirementDiagram-4Y6WPE33-Do_KEl0k.js → requirementDiagram-4Y6WPE33-Ccn1EcY0.js} +1 -1
- package/dist/client/assets/js/{restructuredtext-oYQfsBYX.js → restructuredtext-BBhjK4w8.js} +1 -1
- package/dist/client/assets/js/{rough.esm-BjtdUJeF.js → rough.esm-DKpVfK-g.js} +1 -1
- package/dist/client/assets/js/{ru-BGBuhe8j.js → ru-BXep69sk.js} +1 -1
- package/dist/client/assets/js/{ruby-Da1TZ4HB.js → ruby-9YJv-z0v.js} +1 -1
- package/dist/client/assets/js/{rust-GT6xUobW.js → rust-BihIDWCY.js} +1 -1
- package/dist/client/assets/js/{sankeyDiagram-5OEKKPKP-BRnR4W8h.js → sankeyDiagram-5OEKKPKP-BZF9SKVm.js} +1 -1
- package/dist/client/assets/js/{sb-D4kxpCPJ.js → sb-DSz7OJbn.js} +1 -1
- package/dist/client/assets/js/{scala-CY3U_fvs.js → scala-DrL9oxhs.js} +1 -1
- package/dist/client/assets/js/{scheme-DzdFAWU_.js → scheme-Bc0QxXW_.js} +1 -1
- package/dist/client/assets/js/{scss-CTwgV3JD.js → scss-BTsIuYyg.js} +1 -1
- package/dist/client/assets/js/{sequenceDiagram-3UESZ5HK-CoemgPYx.js → sequenceDiagram-3UESZ5HK-BplvirR_.js} +1 -1
- package/dist/client/assets/js/{session-browser-prefs-D3fgv9Yr.js → session-browser-prefs-DnMXaw-N.js} +1 -1
- package/dist/client/assets/js/{sessions-BeO9QOJY.js → sessions-wVroPs5k.js} +1 -1
- package/dist/client/assets/js/{settings-DM3CNjqC.js → settings-Bzod_9RQ.js} +1 -1
- package/dist/client/assets/js/{shell-CUF2wd73.js → shell-DG7-xFwe.js} +1 -1
- package/dist/client/assets/js/{skills-3O8WlKlI.js → skills-CQr0eeFF.js} +1 -1
- package/dist/client/assets/js/{solidity-C3RnBLh_.js → solidity-COxKdecX.js} +1 -1
- package/dist/client/assets/js/{sophia-BA8mP4aY.js → sophia-DtFj5ZDz.js} +1 -1
- package/dist/client/assets/js/{sparql-DcwhST_l.js → sparql-B1TD00SE.js} +1 -1
- package/dist/client/assets/js/{sql-CjGghxho.js → sql-b7qwDUco.js} +1 -1
- package/dist/client/assets/js/{src-Cz8NyTG1.js → src-Ra8Cw6Gr.js} +1 -1
- package/dist/client/assets/js/{st-B8Q32toW.js → st-BtSqB0Hh.js} +1 -1
- package/dist/client/assets/js/{stateDiagram-AJRCARHV-I4DYKB3q.js → stateDiagram-AJRCARHV-DhJkFuW8.js} +1 -1
- package/dist/client/assets/js/stateDiagram-v2-BHNVJYJU-CqTRINz_.js +1 -0
- package/dist/client/assets/js/{swift-Br8oKRCi.js → swift-T2X4Cn4t.js} +1 -1
- package/dist/client/assets/js/{systemverilog-DIL7pkd5.js → systemverilog-DeuLbp4J.js} +1 -1
- package/dist/client/assets/js/{tcl-C7A4eFCv.js → tcl-ZVjhRcKc.js} +1 -1
- package/dist/client/assets/js/{timeline-definition-PNZ67QCA-BnfftsIx.js → timeline-definition-PNZ67QCA-BFAfAvjz.js} +1 -1
- package/dist/client/assets/js/treeView-BLDUP644-H8OPaX_2.js +1 -0
- package/dist/client/assets/js/treemap-LRROVOQU-BhsUhAW8.js +1 -0
- package/dist/client/assets/js/{tsMode-BmS5yGbl.js → tsMode-BK8igQe0.js} +1 -1
- package/dist/client/assets/js/{ttsHelpers-DpzPhrib.js → ttsHelpers-CUglUfpM.js} +1 -1
- package/dist/client/assets/js/{twig-CxeEoeDi.js → twig-B2I_zOb5.js} +1 -1
- package/dist/client/assets/js/{typescript-BPw3e1LN.js → typescript-DqxcEPol.js} +1 -1
- package/dist/client/assets/js/{typespec-dQqbgDyW.js → typespec-DYubob7r.js} +1 -1
- package/dist/client/assets/js/{useSttSettings-Dd2zPJU6.js → useSttSettings-BAz3MWB_.js} +1 -1
- package/dist/client/assets/js/{vb-DpmkDtUb.js → vb-DulIu0AM.js} +1 -1
- package/dist/client/assets/js/{vennDiagram-CIIHVFJN-Bu76Q1QQ.js → vennDiagram-CIIHVFJN-BTMh4zH0.js} +1 -1
- package/dist/client/assets/js/wardley-L42UT6IY-w2cdSduy.js +1 -0
- package/dist/client/assets/js/{wardleyDiagram-YWT4CUSO-BQ7KDw3c.js → wardleyDiagram-YWT4CUSO-CjApV8-0.js} +1 -1
- package/dist/client/assets/js/{wgsl-BzEo-Lwp.js → wgsl-DiXzOVd2.js} +1 -1
- package/dist/client/assets/js/{xml-CNMAb3tW.js → xml-DtDrXyok.js} +1 -1
- package/dist/client/assets/js/{xterm-B-CU1LD3.js → xterm-CdfgdkPC.js} +1 -1
- package/dist/client/assets/js/{xychartDiagram-2RQKCTM6-B1x6n3B3.js → xychartDiagram-2RQKCTM6-DuaP4Pnm.js} +1 -1
- package/dist/client/assets/js/{yaml-DpwMHYi6.js → yaml-9_m3OBnv.js} +1 -1
- package/dist/client/assets/js/{zh-TW-BJY5MjsC.js → zh-TW-CLhifuOg.js} +1 -1
- package/dist/client/assets/js/{zh-CoPU4mYG.js → zh-gGY9f4WM.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/index.js +3 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/openapi.json +1 -1
- package/package.json +1 -1
- package/dist/client/assets/js/AppSidebar-BHfH59vK.js +0 -1
- package/dist/client/assets/js/architecture-7EHR7CIX-CCBUg0GR.js +0 -1
- package/dist/client/assets/js/classDiagram-4FO5ZUOK-Dr5SR3PA.js +0 -1
- package/dist/client/assets/js/classDiagram-v2-Q7XG4LA2-BeYcryNa.js +0 -1
- package/dist/client/assets/js/eventmodeling-FCH6USID-Cd6TFrci.js +0 -1
- package/dist/client/assets/js/gitGraph-WXDBUCRP-CG4qC9Jw.js +0 -1
- package/dist/client/assets/js/info-J43DQDTF-CFtOWOWw.js +0 -1
- package/dist/client/assets/js/packet-YPE3B663-C0Vs_oOB.js +0 -1
- package/dist/client/assets/js/pie-LRSECV5Y-CAscu7sk.js +0 -1
- package/dist/client/assets/js/radar-GUYGQ44K-CfxS0DQE.js +0 -1
- package/dist/client/assets/js/stateDiagram-v2-BHNVJYJU-BHJGHZeG.js +0 -1
- package/dist/client/assets/js/treeView-BLDUP644-wNgfMdO5.js +0 -1
- package/dist/client/assets/js/treemap-LRROVOQU-Dy2LkAdg.js +0 -1
- package/dist/client/assets/js/wardley-L42UT6IY-BGLmswxh.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={login:{title:"Hermes Studio",description:"Insira seu nome de usuario e senha para continuar.",placeholder:"Token de acesso",submit:"Entrar",tokenRequired:"Por favor, insira seu token de acesso",invalidToken:"Token invalido",connectionFailed:"Nao foi possivel conectar ao servidor",passwordLogin:"Senha",tokenLogin:"Token",usernamePlaceholder:"Nome de usuario",passwordPlaceholder:"Senha",defaultCredentialsHint:"Nome de usuario padrao: admin. Senha padrao: 123456.",credentialsRequired:"Por favor, insira nome de usuario e senha",invalidCredentials:"Nome de usuario ou senha incorretos",tooManyAttempts:"Muitas tentativas falhadas, por favor tente novamente mais tarde",lockResetHint:"Se este for seu servidor, limpe o bloqueio de login com:",defaultLoginResetHint:"Para redefinir a senha admin padrao, execute:",desktopLockResetHint:"Too many failed login attempts. Open the system tray menu and choose Reset Login to reset the password.",sessionExpired:"Login expirado. Entre novamente.",accessDenied:"Voce nao tem permissao para acessar este recurso.",passwordMismatch:"As senhas nao conferem",passwordTooShort:"A senha deve ter pelo menos 6 caracteres",setupSuccess:"Login por senha configurado com sucesso",passwordChanged:"Senha alterada com sucesso",passwordRemoved:"Login por senha removido",setupPassword:"Configurar login por senha",changePassword:"Alterar senha",changeUsername:"Alterar nome de usuario",removePasswordLogin:"Remover",username:"Nome de usuario",currentPassword:"Senha atual",newPassword:"Nova senha",confirmPassword:"Confirmar senha",newUsername:"Novo nome de usuario",usernameChanged:"Nome de usuario alterado com sucesso",usernameTooShort:"O nome de usuario deve ter pelo menos 2 caracteres",setupDescription:"Gerencie o nome de usuario e a senha usados para entrar.",removeConfirm:"Login por senha e obrigatorio para contas de usuario.",passwordLoginNotConfigured:"Login por senha nao configurado",passwordLoginConfigured:"Conta atual: {username}",defaultCredentialTitle:"Altere a conta e senha padrao",defaultCredentialMessage:"A conta atual ainda usa o nome de usuario ou a senha padrao. Para evitar acesso nao autorizado, altere o nome de usuario e a senha da conta atual o quanto antes.",defaultCredentialAction:"Alterar agora",defaultCredentialLater:"Lembrar depois"},users:{title:"Gerenciamento de contas",description:"Crie usuarios, atribua funcoes e controle quais perfis administradores comuns podem acessar.",create:"Criar usuario",edit:"Editar usuario",username:"Nome de usuario",role:"Funcao",statusLabel:"Status",profiles:"Perfis acessiveis",profilesPlaceholder:"Selecione perfis acessiveis",allProfiles:"Todos os perfis",noProfiles:"Nenhum perfil atribuido",lastLogin:"Ultimo login",newPasswordOptional:"Nova senha (deixe em branco para manter)",loadFailed:"Falha ao carregar usuarios",deleteConfirm:"Excluir este usuario?",enable:"Ativar",disable:"Desativar",roles:{superAdmin:"Super admin",admin:"Admin"},status:{active:"Ativo",disabled:"Desativado"}},common:{loading:"Carregando...",cancel:"Cancelar",retry:"Tentar novamente",reset:"Redefinir",delete:"Excluir",edit:"Editar",save:"Salvar",saved:"Salvo",update:"Atualizar",create:"Criar",saveFailed:"Falha ao salvar",deleteFailed:"Falha ao excluir",ok:"OK",copied:"Copiado",copy:"Copiar",noData:"Sem dados",fetch:"Buscar",add:"Adicionar",enable:"Ativar",disable:"Desativar",configured:"Configurado",notConfigured:"Nao configurado",confirm:"Confirmar",expand:"Expandir",collapse:"Recolher",stop:"Parar",start:"Iniciar",expired:"Expirado"},mcp:{title:"Servidores MCP",loadFailed:"Falha ao carregar servidores MCP",reloadAll:"Recarregar todos",refresh:"Atualizar",total:"Total",connected:"Conectado",disconnected:"Desconectado",tools:"ferramentas",tool:"Ferramentas",searchPlaceholder:"Pesquisar servidores...",addServer:"+ Adicionar servidor",zeroTools:"0 ferramentas",loading:"Carregando...",empty:"Nenhum servidor MCP configurado",reloaded:"{server} recarregado",reloadedAll:"Todos os servidores MCP recarregados",reloadFailed:"Falha ao recarregar",serverAdded:'Servidor "{name}" adicionado',addFailed:"Falha ao adicionar servidor",serverUpdated:'Servidor "{name}" atualizado',updateFailed:"Falha ao atualizar servidor",saveFailed:"Falha ao salvar",serverRemoved:'"{name}" removido',enabled:"Habilitado: {name}",disabled:"Desabilitado: {name}",connectedStatus:"Conectado",disconnectedStatus:"Desconectado",disabledStatus:"Desativado",toolList:"Lista de ferramentas",count:" ",more:"mais",removeFailed:"Falha ao remover servidor",testOk:"Teste OK — {count} ferramentas disponiveis",testEmpty:"O teste nao retornou ferramentas",testFailed:"Falha no teste",edit:"Editar",test:"Testar",reload:"Recarregar",remove:"Remover",confirmRemove:'Remover servidor "{name}"?',cancel:"Cancelar",add:"Adicionar",save:"Salvar",addTitle:"Adicionar servidor MCP",editTitle:"Editar servidor MCP",invalidJson:"JSON inválido",invalidYaml:"Formato YAML inválido",invalidConfig:"Configuração inválida",invalidServerConfig:"Configuração do servidor inválida",missingCommandOrUrl:"Deve conter command ou url",manageTools:"Gerenciar ferramentas",toolsVisibilityTitle:"Gerenciamento de visibilidade de ferramentas",fetchTools:"Obter lista de ferramentas",fetchToolsFailed:"Falha ao obter lista de ferramentas",toolsMode:"Modo:",toolsModeAll:"Todas",toolsModeInclude:"Incluir",toolsModeExclude:"Excluir",toolsListHeader:"Nome da ferramenta",toolsEmpty:"Nenhuma ferramenta disponível, obtenha a lista de ferramentas primeiro",toolsSummaryAll:"{count} ferramentas no total, todas habilitadas",toolsSummaryInclude:"{total} ferramentas no total, {count} selecionadas",toolsSummaryExclude:"{total} ferramentas no total, {count} excluídas",toolsVisibilitySaved:"Visibilidade das ferramentas salva",toolsSelectAll:"Selecionar tudo",toolsClearSelection:"Limpar seleção",toolsExcludeAll:"Excluir tudo",toolsClearExcluded:"Limpar exclusões"},sidebar:{chat:"Chat",backToChat:"Voltar",search:"Pesquisar",apiRelay:"API Relay",history:"Historico",jobs:"Tarefas agendadas",models:"Modelos",profiles:"Perfis",plugins:"Plugins",mcp:"MCP",petdex:"Pets",skills:"Habilidades",memory:"Memoria",logs:"Logs",usage:"Uso",performance:"Desempenho",journey:"Jornada",skillsUsage:"Uso de habilidades",channels:"Canais",terminal:"Terminal",singleChat:"Chat",globalAgent:"Global Agent",files:"Arquivos",devices:"Dispositivos",groupChat:"Chat em grupo",groupConversation:"Conversa",groupConversationShort:"Conv.",groupAgent:"Agente",groupAgentShort:"Ag.",groupSystem:"Sistema",groupSystemShort:"Sist",groupMonitoring:"Monitoramento",groupMonitoringShort:"Mon.",settings:"Configuracoes",connected:"Conectado",disconnected:"Desconectado",updateTip:'Execute "hermes-web-ui update" no terminal para atualizar',updateVersion:"Atualizar para v{version}",reloadClientVersion:"Recarregar para v{version}",updating:"Atualizando...",updateSuccess:"Atualizacao concluida. Atualize a pagina em breve. Se nao iniciar apos algum tempo, inicie manualmente.",updateFailed:"Falha na atualizacao",logout:"Sair",nodeVersionWarning:"Node.js v{version} detectado. Atualize para a versao 23 ou posterior.",changelog:"Registro de alteracoes",noChangelog:"Nenhum registro disponivel",versionManagement:"Gerenciamento de versões",updateAvailableLabel:"(Nova versão)",dockerUpdateTitle:"Atualização Docker",dockerUpdateGuide:"No ambiente Docker, obtenha a imagem mais recente e recrie o contêiner:",dockerUpdateNote:"Seus dados serão preservados após a recriação do contêiner.",kanban:"Kanban",workflow:"Workflow",groupTools:"Ferramentas",groupToolsShort:"Ferr.",codingAgents:"Agentes de código",versionPreview:"Prévia de versão",groupPlatform:"Plataforma",gateways:"Gateways",expand:"Expandir menu",collapse:"Recolher menu"},runtimeVersions:{title:"Gerenciamento de versões",runtimeTitle:"Hermes Runtime",webUiTitle:"Web UI",platform:"Plataforma",currentWebUi:"Web UI atual",activeVersion:"Versão ativa",active:"Ativa",installed:"Instalada",download:"Baixar",downloadGithub:"Baixar do GitHub",downloadCf:"Baixar do Cloudflare",github:"GitHub",cf:"Cloudflare",useVersion:"Usar na próxima reinicialização",deleteVersion:"Excluir",deleteRuntimeConfirm:"Excluir Hermes Runtime {version}?",deleteWebUiConfirm:"Excluir Web UI {version}?",deleteRuntimeSuccess:"Runtime excluído",deleteWebUiSuccess:"Web UI excluído",refresh:"Atualizar",noVersions:"Nenhuma versão disponível",remoteLoadFailed:"Falha ao carregar versões remotas",downloadTasks:"Tarefas de download",downloadStarted:"Download iniciado",activateSuccess:"Seleção de versão salva. Reinicie o Hermes Studio para usá-la.",jobStatus:{queued:"Na fila",running:"Em execução",completed:"Concluída",failed:"Falhou"},jobStageStatus:{queued:"Na fila",resolve:"Resolvendo",download:"Baixando",verify:"Verificando",extract:"Extraindo",install:"Instalando",completed:"Concluída",failed:"Falhou"},jobStage:{queued:"Na fila",download:"Baixando",resolveRuntime:"Resolvendo pacote Runtime",verifyRuntime:"Verificando arquivo Runtime",extractRuntime:"Extraindo arquivo Runtime",installRuntime:"Instalando Runtime",resolveWebUi:"Resolvendo pacote Web UI",verifyWebUi:"Verificando arquivo Web UI",extractWebUi:"Extraindo arquivo Web UI",installWebUi:"Instalando Web UI",completed:"Concluída",failed:"Falhou"}},mcuDevices:{title:"Little Box",subtitle:"View device link status",name:"Name",nameOptional:"Name is optional",deviceCode:"Device code",deviceCodePlaceholder:"Enter device code",deviceCodeRequired:"Enter device code",channel:"Channel",official:"Official",unofficial:"Unofficial",createdAt:"Added at",lanStatus:"LAN",remoteStatus:"Remoto",connected:"Conectado",disconnected:"Desconectado",remoteConnect:"Conectar remoto",remoteConnected:"Remoto conectado",remoteConnectFailed:"Falha ao conectar remoto",remoteDisconnect:"Desconectar",remoteDisconnected:"Remoto desconectado",remoteDisconnectFailed:"Falha ao desconectar remoto",actions:"Actions",add:"Add",addTitle:"Add MCU device",added:"MCU device added",addFailed:"Failed to add MCU device",purchase:"Buy",edit:"Edit",editNameTitle:"Edit name",nameUpdated:"Name updated",nameUpdateFailed:"Failed to update name",delete:"Delete",deleteTitle:"Delete MCU device",deleteConfirm:'Delete "{name}"?',deleted:"MCU device deleted",deleteFailed:"Failed to delete MCU device",loadFailed:"Failed to load MCU devices",close:"Close"},devices:{title:"Dispositivos",count:"{count} dispositivos",lastScanned:"Última varredura: {time}",refresh:"Atualizar",empty:"Nenhum dispositivo encontrado",computer:"Computador",endpointLabel:"Ponto de acesso",statusLabel:"Estado",online:"Online",offline:"Offline",address:"Endereço",os:"Sistema operacional",agentVersion:"Agent",webUiVersion:"Web UI",responseMs:"Latência",lastSeen:"Visto por último",open:"Abrir",never:"Nunca",unknown:"Desconhecido",loadFailed:"Falha ao carregar dispositivos",scanFailed:"Falha ao escanear dispositivos",updateFailed:"Falha ao atualizar dispositivo",duplicateRequest:"Já existe uma solicitação de pareamento pendente",manualPairing:"Pair by URL",copyPairingLink:"Copy pairing link",manualUrlPlaceholder:"https://device.example.com",manualUrlRequired:"Enter a device URL",manualRequestSent:"Pairing request sent",manualRequestFailed:"Failed to request remote pairing",pairingLinkCopied:"Pairing link copied",pairingLinkCopyFailed:"Failed to copy pairing link",pairingCodeTitle:"Enter pairing code",pairingCodePlaceholder:"Pairing code",pairingCodeRequired:"Enter the pairing code",submitPairingRequest:"Submit request",processed:"Processado",unprocessed:"Não processado",deleteHistory:"Excluir registro",deleteHistoryConfirm:"Excluir este registro de solicitação e revogar o acesso de conexão deste dispositivo?",requests:"Solicitações",requestsWithCount:"Solicitações ({count})",noRequests:"Nenhuma solicitação",requestPairing:"Solicitar pareamento",paired:"Pareado",approve:"Aprovar",reject:"Rejeitar",block:"Bloquear",unblock:"Desbloquear",inboundStatus:{none:"Pode solicitar",pending:"Pendente",approved:"Aprovado",rejected:"Rejeitado",blocked:"Bloqueado"},outboundStatus:{none:"Não pareado",pending:"Solicitado",approved:"Pareado",rejected:"Rejeitado",blocked:"Bloqueado"},endpoint:{web:"Web",desktop:"Aplicativo desktop",custom:"Personalizado"}},performance:{title:"Desempenho",subtitle:"Monitore recursos do sistema, Bridge Broker, Workers e sessões ativas",refresh:"Atualizar",autoRefreshOn:"Atualização automática",autoRefreshOff:"Atualização manual",loadFailed:"Falha ao carregar métricas de desempenho",systemCpu:"CPU do sistema",systemMemory:"Memória do sistema",activeSessions:"Sessões ativas",runningSessions:"Em execução {count}",workers:"Workers",totalWorkerMemory:"Memória total de Worker",processes:"Processos",uptime:"Tempo ativo",running:"Em execução",stopped:"Parado",workerMemory:"Memória de Worker",lastUpdated:"Atualizado",profile:"Profile",memory:"Memória",sessions:"Sessões",runningActiveSessions:"Em execução / Ativas",lastUsed:"Último uso",status:"Status",noWorkers:"Nenhum Worker",sessionsByProfile:"Sessões por Profile",noActiveSessions:"Nenhuma sessão ativa"},journey:{title:"Jornada de aprendizado",play:"Reproduzir jornada",pause:"Pausar jornada",refresh:"Atualizar",categorySelection:"Seleção de categorias",nodeKinds:"Tipos de nó",description:"Descrição",canvasInstructions:"Use as setas para pré-visualizar nós, Enter para abrir detalhes e Escape para limpar a seleção.",loadFailed:"Falha ao carregar a jornada",nodes:"Nos",edges:"Conexoes",skills:"Habilidades",memories:"Memorias",clusters:"Grupos",profile:"Profile",source:"Origem",learnedSkills:"Habilidades aprendidas",memorySkillEdges:"Links de memoria",allKinds:"Todos os tipos",allCategories:"Todas as categorias",searchPlaceholder:"Buscar nos",noClusters:"Sem grupos",noNodes:"Sem nos de jornada",noCategory:"Sem categoria",category:"Categoria",useCount:"Usos",createdBy:"Criado por",timestamp:"Hora",pinned:"Fixado"},drawer:{terminal:"Terminal",files:"Espaço de trabalho"},realtimeVoice:{title:"Voz em tempo real",mode:"Modo de voz",open:"Abrir voz em tempo real",back:"Voltar ao chat",connected:"Conexão de voz pronta",turnMode:"Prévia em tempo real · por turnos",browserStt:"Navegador",browserTts:"Navegador",untitledSession:"Conversa sem título",sessionMissing:"A conversa não está disponível.",networkUnavailableNoFallback:"O reconhecimento de voz do navegador está offline e não há um STT alternativo utilizável configurado.",liveTranscript:"Transcrição ao vivo",transcriptPlaceholder:"Toque no núcleo de voz e comece a falar",recentTurns:"Turnos recentes",you:"Você",mute:"Silenciar saída",unmute:"Ativar som",finishTurn:"Concluir turno",speak:"Começar a falar",end:"Encerrar",status:{idle:"Pronto",paused:"Microfone desligado",listening:"Ouvindo",processing:"Transcrevendo",thinking:"{agent} está pensando",speaking:"{agent} está falando",error:"Conexão de voz interrompida"},hint:{idle:"Toque no centro para iniciar um turno de voz",paused:"Ligue o microfone quando estiver pronto",listening:"Faça uma pausa para enviar ou toque para concluir",listeningManual:"Gravando. Toque novamente no centro para parar e transcrever",processing:"Convertendo sua voz em texto",thinking:"Sua mensagem foi enviada à conversa atual",speaking:"Você pode interromper a qualquer momento",error:"Toque no centro para tentar novamente"}},chat:{contextRemaining:"restante",contextClickToEdit:"Clique para editar o tamanho do contexto",contextEditTitle:"Editar tamanho do contexto",contextEditDesc:"Definir o limite de tamanho do contexto para o modelo atual (em tokens)",contextEditPlaceholder:"Digite o tamanho do contexto",contextEditHint:"Valores comuns: 256k (Hermes padrão), 128k (GPT-4), 32k (GPT-3.5)",contextEditSave:"Salvar",contextEditCancel:"Cancelar",contextEditInvalid:"Por favor, insira um tamanho de contexto válido",contextEditSuccess:"Tamanho do contexto atualizado",contextEditFailed:"Falha na atualização",emptyState:"Inicie uma conversa com o Hermes Agent",emptyStateAgent:"Inicie uma conversa com {agent}",viewOlderInHistory:"Ver mensagens anteriores no historico",scrollToBottom:"Rolar ate o fim",outlineTitle:"Esboço da conversa",outlineEmpty:"Nenhum conteúdo da conversa",outlineUserQuestion:"Pergunta do usuário",inputPlaceholder:"Digite uma mensagem... (Enter para enviar, Shift+Enter para nova linha)",inputHeightResizeHint:"Arraste para ajustar a altura da caixa de chat e clique duas vezes para redefinir.",slashCommandArgs:{message:"<mensagem>",title:"<titulo>",text:"<texto>"},slashCommands:{usage:"Calcular o uso da sessão atual",status:"Mostrar status da sessão e fila",abort:"Parar a execução ativa do Bridge",queue:"Enfileirar uma mensagem após a execução ativa",learn:"Aprender uma skill reutilizável a partir de fontes descritas",plan:"Escrever um plano de implementação em Markdown",goal:"Set a standing goal that continues across turns",goalStatus:"Show the active goal status",goalPause:"Pause the active goal loop",goalResume:"Resume the paused goal loop",goalDone:"Complete and clear the active goal",goalClear:"Clear the active goal",subgoal:"Add a criterion to the active goal",clear:"Limpar a visualização atual",clearHistory:"Excluir o histórico de mensagens salvo desta sessão",title:"Renomear esta sessão",compress:"Executar compressão de contexto quando ocioso",steer:"Enviar texto de orientação para a execução ativa do Bridge",destroy:"Liberar o Bridge Agent desta sessão",reloadMcp:"Recarregar servidores MCP",reloadSkills:"Recarregar comandos de skills"},attachFiles:"Anexar arquivos",reasoningEffort:{tooltip:"Esforço de raciocínio",defaultLabel:"Padrão",options:{default:"Padrão (config.yaml)",none:"Nenhum",minimal:"Mínimo",low:"Baixo",medium:"Médio",high:"Alto",max:"Max",xhigh:"Ultra"}},showToolCalls:"Mostrar chamadas de ferramentas",hideToolCalls:"Ocultar chamadas de ferramentas",messageQueue:"Fila de mensagens",removeQueuedMessage:"Remover mensagem da fila",stop:"Parar",send:"Enviar",contextUsed:"Contexto utilizado:",sessions:"Sessoes",webUiSessions:"Sessões",allProfiles:"Todos os perfis",profileMissingModelsTip:'O perfil "{profile}" não tem provider ou modelo disponível para esta sessão',sessionScopeHint:"O chat mostra apenas sessões da Web UI/API Server. Sessões de CLI, Telegram, Discord, Cron e outros canais são somente leitura no Histórico.",openHistory:"Abrir histórico",hermesHistory:"Histórico Hermes",historyScopeHint:"Sessões do histórico Hermes do perfil atual, somente leitura, agrupadas por origem.",noSessions:"Sem sessoes",newChat:"Novo chat",agent:"Agent",approvalKicker:"Permissão do terminal",approvalTitle:"Revisar comando antes de executar",approvalAgree:"Concordar",approvalAllowOnce:"Permitir uma vez",approvalAllowSession:"Permitir sessão",approvalAlways:"Sempre",approvalDeny:"Negar",clarifyKicker:"Agente precisa de esclarecimento",clarifyTitle:"O agente tem uma pergunta para você",clarifyPlaceholder:"Digite sua resposta...",clarifySubmit:"Responder",clarifyDismiss:"Descartar",deleteSession:"Excluir esta sessao?",toggleBatchMode:"Seleção em lote",selectAll:"Selecionar tudo",confirmBatchDelete:"Excluir {count} sessões selecionadas?",batchDeleteSuccess:"{count} sessões excluídas",batchDeletePartial:"{failed} sessões falharam ao excluir",batchDeleteFailed:"Falha na exclusão em lote",importToWebUi:"Importar para Web UI",importSessionSuccess:"Sessão importada para Web UI",importSessionAlreadyExists:"A sessão já existe no Web UI",importSessionFailed:"Falha ao importar sessão",sessionDeleted:"Sessao excluida",rename:"Renomear",archiveSession:"Arquivar",unarchiveSession:"Desarquivar",pin:"Fixar",unpin:"Desafixar",pinned:"Fixadas",chatMode:"Modo de chat",liveMode:"Ao vivo",liveSessions:"Sessões ao vivo",recentBadge:"Recente",linkedSessions:"{count} vinculadas",noVisibleMessages:"Nenhuma mensagem visível para humanos.",monitorRoleUser:"Usuário",monitorRoleAssistant:"Assistente",copySessionLink:"Copiar link da sessão",openSessionInNewTab:"Abrir em nova aba",sessionLinkCopied:"Session link copied",copySessionId:"Copiar ID da sessão",export:"Exportar",editConfig:"Editar configuração",exportFull:"Exportação completa (JSON)",exportCompressed:"Exportação comprimida (TXT)",exportCompressing:"Comprimindo contexto, aguarde...",exportSuccess:"Sessão exportada",exportFailed:"Falha ao exportar",renamed:"Renomeado",renameFailed:"Falha ao renomear",sessionArchived:"Sessão arquivada",archiveSessionFailed:"Falha ao arquivar sessão",sessionUnarchived:"Sessão desarquivada",unarchiveSessionFailed:"Falha ao desarquivar sessão",renameSession:"Renomear sessao",sessionNotFound:"Sessao nao encontrada",enterNewTitle:"Digite um novo titulo",other:"Outro",runFailed:"Falha na execucao",error:"Erro",tool:"Ferramenta",arguments:"Argumentos",result:"Resultado",workspaceChanges:"Alterações do workspace",changedFiles:"{files} arquivos alterados",diffUnavailable:"Diff indisponível",binaryFileDiffUnavailable:"Diff indisponível para arquivos binários",truncated:"... (truncado)",unchangedLines:"{count} linhas inalteradas",executionDuration:"Tempo de execução",thinkingLabel:"Raciocínio",thinkingInProgress:"Pensando",thinkingShow:"Mostrar raciocínio",thinkingHide:"Ocultar raciocínio",thinkingDuration:"Observado {duration}",thinkingChars:"{count} caracteres",copyBubble:"Copiar mensagem",copiedBubble:"Mensagem copiada",copyFailed:"Falha ao copiar",playSpeech:"Reproduzir voz",pauseSpeech:"Pausar",resumeSpeech:"Retomar",stopSpeech:"Parar",speechNotSupported:"Reprodução de voz não suportada neste navegador",searchEnterHint:"Enter para abrir · Esc para fechar",searchHint:"Cmd/Ctrl+K",searchScope:"Escopo da busca: apenas banco local de sessões da Web UI; sessões históricas Hermes somente leitura não são incluídas.",searchFailed:"Falha ao pesquisar sessões",searchNoSnippet:"Nenhum resumo disponível",searchNoResults:"Nenhuma sessão corresponde à busca",searchRecent:"Sessão recente",searchEmpty:"Sessões recentes",searchPlaceholder:"Pesquisar sessões...",searchSubtitle:"Pesquisar por título ou conteúdo da mensagem",searchTitle:"Pesquisar sessões",stopGateway:"Parar gateway",start:"Iniciar",workspaceSetFailed:"Falha ao definir workspace",workspaceSet:"Workspace definido",workspacePlaceholder:"Digite o caminho do projeto, ex. /home/user/project",folderPickerEmpty:"(Vazio)",folderPickerNoFolders:"Nenhuma pasta de workspace",folderPickerSelected:"Selecionado:",workspaceDefault:"Padrão",workspaceDefaultTooltip:"Esta área de trabalho está definida como padrão e será preenchida automaticamente em novos chats",workspacePin:"Definir como área de trabalho padrão",workspaceUnpin:"Remover área de trabalho padrão",workspaceRecent:"Recente",defaultWorkspace:"Área de trabalho padrão",more:"Mais",workspace:"Área de trabalho",setWorkspaceTitle:"Definir workspace da sessão",setWorkspace:"Definir workspace",modelSetFailed:"Falha ao definir modelo",modelSet:"Modelo definido",modelSwitching:"Alterando o modelo...",setModelTitle:"Definir modelo da sessão",standardModels:"Modelos padrão",moaPresets:"Combinações MoA",noMoaPresets:"Nenhuma combinação MoA disponível",modelType:"Tipo de modelo",setModel:"Definir modelo",newCliChat:"Novo CLI",cliEmptyState:"Iniciar chat CLI",autoPlaySpeech:"Reproduzir voz automaticamente",voiceInput:{startCapture:"Iniciar entrada por voz",stopCaptureAndInsert:"Parar entrada por voz e inserir a transcricao",cancelCapture:"Cancelar entrada por voz",statusLabel:"Status: {status}",transcriptLabel:"Transcricao: {text}",errorLabel:"Erro: {error}",recentEvents:"Eventos recentes",status:{idle:"Ocioso",capturing:"Ouvindo",transcribing:"Transcrevendo",sending:"Inserindo na entrada",error:"Erro"},browserSpeechUnsupported:"O reconhecimento de voz do navegador nao e suportado neste navegador.",browserSpeechFailed:"O reconhecimento de voz do navegador falhou.",browserSpeechFailedWithReason:"O reconhecimento de voz do navegador falhou: {error}.",microphoneUnsupported:"A captura do microfone nao e suportada neste navegador.",microphoneRecordingFailed:"A gravacao do microfone falhou."}},jobs:{title:"Tarefas agendadas",createJob:"Criar tarefa",editJob:"Editar tarefa",noJobs:"Nenhuma tarefa agendada ainda. Crie uma para comecar.",sortBy:"Ordenar",sortByName:"Por nome",sortByTime:"Por data",sortByNameHint:"Ordenar por nome",sortByTimeHint:"Ordenar por data",sortAsc:"Ascendente",sortDesc:"Descendente",name:"Nome",namePlaceholder:"Nome da tarefa",schedule:"Agendamento (expressao Cron)",schedulePlaceholder:"ex. 0 9 * * *",quickPresets:"Presets rapidos",selectPreset:"Selecionar um preset...",presetEveryMinute:"Cada minuto",presetEvery5Min:"A cada 5 minutos",presetEveryHour:"Cada hora",presetEveryDay:"Todos os dias as 00:00",presetEveryDay9:"Todos os dias as 09:00",presetEveryMonday:"Toda segunda as 09:00",presetEveryMonth:"Dia 1 de cada mes as 09:00",prompt:"Prompt",promptPlaceholder:"O prompt a executar",skills:"Skills",skillsPlaceholder:"Selecionar skills...",provider:"Provider",model:"Model",defaultProvider:"Default provider",defaultModel:"Default model",deliverTarget:"Destino de entrega",origin:"Origem",local:"Local",repeatCount:"Contagem de repeticoes (opcional)",modelPlaceholder:"Modelo padrao",repeatPlaceholder:"Deixar vazio para infinito",jobCreated:"Tarefa criada",jobUpdated:"Tarefa atualizada",nameRequired:"O nome e obrigatorio",scheduleRequired:"O agendamento e obrigatorio",loadFailed:"Falha ao carregar a tarefa",jobPaused:"Tarefa pausada",jobResumed:"Tarefa retomada",jobTriggered:"Job acionado",modelUpdated:"Modelo atualizado",jobDeleted:"Tarefa excluida",status:{running:"Em execucao",paused:"Pausada",disabled:"Desativada",scheduled:"Agendada"},info:{model:"Modelo",provider:"Provider",schedule:"Agendamento",lastRun:"Ultima execucao",nextRun:"Proxima execucao",deliver:"Entrega",repeat:"Repeticao"},action:{pause:"Pausar",pauseJob:"Pausar tarefa",resume:"Retomar",resumeJob:"Retomar tarefa",runNow:"Executar agora",triggerImmediately:"Acionar imediatamente"},runHistory:{title:"Histórico",runs:"execuções",noRuns:"Nenhum histórico encontrado."}},skills:{title:"Habilidades",targetFilter:"Runtime",targets:{hermes:"Hermes",claude:"Claude",codex:"Codex"},searchPlaceholder:"Buscar habilidades...",noMatch:"Nenhuma habilidade corresponde a sua busca",noSkills:"Nenhuma habilidade encontrada",backTo:"Voltar para",attachedFiles:"Arquivos anexados",loadFailed:"Falha ao carregar a habilidade",fileLoadFailed:"Falha ao carregar o arquivo",modified:"Modificado pelo usuário",archived:"Arquivado",pinned:"Fixado",pin:"Fixar habilidade",unpin:"Desfixar habilidade",pinFailed:"Falha ao alterar estado de fixacao",edit:"Editar",saving:"Salvando...",editorLabel:"Editor de skill",saveSuccess:"Habilidade salva",saveFailed:"Falha ao salvar habilidade",toggleFailed:"Falha ao ativar/desativar a habilidade",source:{builtin:"Integrado",hub:"Hub",local:"Local",external:"Externo"},delete:"Excluir",deleteConfirm:'Excluir a habilidade "{name}"? Esta ação não pode ser desfeita.',deleteSuccess:"Habilidade excluída",deleteFailed:"Falha ao excluir",import:"Importar",importTitle:"Importar habilidade",importModeZip:"Zip",importModeFolder:"Pasta",importHintZip:"Envie um .zip contendo um diretório com SKILL.md",importHintFolder:"Selecione uma pasta local (deve conter SKILL.md)",importTargetCategory:"Categoria alvo (opcional)",importTargetCategoryPlaceholder:"Vazio para colocar em misc",importSelectFile:"Escolher arquivo .zip",importSelectFolder:"Escolher pasta",importInvalidFile:"Apenas arquivos .zip são suportados",importFileCount:"arquivos",importNoSelection:"Selecione um arquivo ou pasta primeiro",importSuccess:"Habilidade importada",importFailed:"Falha ao importar",path:{local:"Local",external:"Externo"},externalDirs:{manage:"Diretórios externos",title:"Gerenciar diretórios externos",hint:"Gerencia config.skills.external_dirs. Suporta ~ e $VAR; caminhos inexistentes ficam em cinza.",add:"Adicionar diretório",placeholder:"/path/to/skills ou ~/my-skills",empty:"Nenhum diretório externo",missing:"Caminho não encontrado",notDir:"Não é um diretório",saveSuccess:"Diretórios externos salvos",saveFailed:"Falha ao salvar",loadFailed:"Falha ao carregar diretórios externos",removeRow:"Remover"},pathCopied:"Caminho copiado",pathCopyFailed:"Falha ao copiar o caminho",reloadHint:"Sessões ativas: execute /reload-skills; novas sessões carregam automaticamente.",writeApprovalButton:"Pendentes {count}",writeApprovalTitle:"Escritas pendentes de revisao",writeApprovalDescription:"Aprove ou rejeite escritas de memoria e skills preparadas pelo Hermes Agent.",writeApprovalRefresh:"Atualizar",writeApprovalEmpty:"Nenhuma escrita pendente.",writeApprovalUnsupported:"Esta versao do Hermes Agent nao suporta revisao de escritas. Atualize o Hermes Agent para usar este recurso.",writeApprovalMemory:"Memoria",writeApprovalSkills:"Skills",writeApprovalViewDiff:"Revisar",writeApprovalHideDiff:"Ocultar",writeApprovalNoDiff:"Nenhuma diferenca disponivel.",writeApprovalLoadFailed:"Falha ao carregar escritas pendentes",writeApprovalDiffFailed:"Falha ao carregar detalhes da escrita",writeApprovalActionFailed:"Falha ao resolver escrita pendente",writeApprovalApproved:"Escrita aprovada",writeApprovalRejected:"Escrita rejeitada",writeApprovalApprove:"Aprovar",writeApprovalReject:"Rejeitar",writeApprovalPendingMemoryWrite:"Escrita de memoria pendente",writeApprovalCurrentFile:"Arquivo atual {file}",writeApprovalProposedFile:"Arquivo proposto {file}",writeApprovalDiffSection:"Diferenca",writeApprovalPatchOldStringMissing:"O old_string do patch nao foi encontrado no arquivo atual {file}; aprovar nao alterara o arquivo.",writeApprovalRequestedOldString:"old_string solicitado",writeApprovalCurrentReadFailed:"O arquivo atual {file} nao pode ser lido como texto UTF-8.",writeApprovalDeleteSkill:"Esta aprovacao exclui o skill {skill}.",writeApprovalRemoveFile:"Esta aprovacao remove {file} do skill {skill}."},plugins:{title:"Plugins",refresh:"Atualizar",notice:"Inventário dos manifests de plugins Hermes detectáveis. Os metadados de descoberta são lidos sem carregar código de plugin. Plugins de usuário standalone podem ser ativados ou desativados aqui; mudanças entram em vigor em novas sessões Hermes.",loadFailed:"Falha ao carregar plugins",updateFailed:"Falha ao atualizar plugin",enableSuccess:"{name} ativado",disableSuccess:"{name} desativado",commandCopied:"Comando copiado",searchPlaceholder:"Buscar key, nome, descrição, caminho...",source:"Origem",kind:"Tipo",statusTitle:"Status",configStatus:"config: {status}",notAvailable:"n/a",copyCommand:"Copiar comando",managedElsewhere:"gerenciado em outro lugar",noMatch:"Nenhum plugin corresponde aos filtros atuais",enabled:"ativado",disabled:"desativado",summary:{total:"Total",active:"Ativado / auto",inactive:"Inativo",disabled:"Desativado",providerManaged:"Gerenciado por provider"},status:{enabled:"Ativado","auto-active":"Autoativo",inactive:"Inativo",disabled:"Desativado","provider-managed":"Gerenciado por provider"},statusLabel:{enabled:"Ativado por configuração","auto-active":"Autoativo",inactive:"Inativo",disabled:"Desativado","provider-managed":"Gerenciado por provider"},configStatuses:{enabled:"ativado",disabled:"desativado","not-enabled":"não ativado",auto:"auto","provider-managed":"gerenciado por provider"},table:{plugin:"Plugin",status:"Status",source:"Origem",kind:"Tipo",capabilities:"Capacidades",path:"Caminho / entrypoint",manage:"Gerenciar"},capabilities:{tools:"{count} ferramentas",hooks:"{count} hooks",env:"{count} env"},metadata:{agentRoot:"Raiz do agente",python:"Python",scanCwd:"Verificar cwd",projectPlugins:"Plugins do projeto"}},petdex:{title:"Petdex Pets",subtitle:"Browse the public petdex catalog used by Hermes desktop pets.",refresh:"Refresh",adopt:"Adopt",active:"Active",adopted:"Adopted {name}",adoptFailed:"Failed to adopt pet",loadFailed:"Failed to load petdex catalog",searchPlaceholder:"Search by name, slug, author, or kind",kindFilter:"Kind",spritesheet:"Spritesheet",submittedBy:"By {name}",empty:"No pets match the current filters.",showMore:"Show {count} more",summary:{total:"Catalog total",visible:"Matching",kinds:"Kinds",generatedAt:"Generated at"}},memory:{title:"Memoria",refresh:"Atualizar",loadFailed:"Falha ao carregar a memoria",myNotes:"Minhas notas",noNotes:"Nenhuma nota ainda.",notesPlaceholder:"Escreva suas notas...",userProfile:"Perfil do usuario",noProfile:"Nenhum perfil ainda.",profilePlaceholder:"Escreva seu perfil...",soul:"Alma",noSoul:"Nenhuma configuracao de alma ainda.",soulPlaceholder:"Escreva a configuracao da alma..."},models:{title:"Modelos",addProvider:"Adicionar provedor",noProviderPromptTitle:"Nenhum provedor de modelos configurado",noProviderPromptMessage:'O perfil atual "{profile}" nao tem nenhum provedor de modelos configurado. Deseja abrir as configuracoes de modelos?',noProviderPromptLater:"Agora nao",noProviderPromptAction:"Ir para configuracoes",refreshModelCache:"Atualizar cache de modelos",refreshModelCacheLoading:"Atualizando cache de modelos...",refreshModelCacheSuccess:"Cache de modelos atualizado",refreshModelCacheFailed:"Falha ao atualizar cache de modelos",providerType:"Tipo de provedor",preset:"Predefinição",custom:"Personalizado",selectProvider:"Selecionar provedor",chooseProvider:"Escolha um provedor...",name:"Nome",autoGeneratedName:"Gerado automaticamente pela URL base",baseUrl:"URL base",region:"Região",regionIntl:"Internacional",regionCn:"China Continental",baseUrlPlaceholder:"ex. https://api.example.com/v1",apiKey:"Chave API",apiKeyPlaceholder:"sk-...",defaultModel:"Modelo padrao",selectOrInput:"Selecionar ou digitar um modelo...",selectModel:"Selecionar um modelo...",providerAdded:"Provedor adicionado",providerDeleted:"Provedor excluido",providerCredentialsCleared:"Credenciais do provedor limpas",clearProviderCredentials:"Limpar credenciais",clearCredentialsConfirm:'Limpar as credenciais salvas de "{name}"? Este provedor integrado continuara listado e podera ser usado novamente apos configurar credenciais.',disableProvider:"Desativar provedor",disableProviderConfirm:'Desativar o provedor integrado "{name}"? Ele continuara integrado e podera ser reativado depois.',providerDisabled:"Provedor desativado",defaultProviderUpdated:"Provedor padrao atualizado",defaultProviderUpdateFailed:"Falha ao atualizar o provedor padrao",defaultModelUpdated:"Modelo padrao atualizado",defaultModelUpdateFailed:"Falha ao atualizar o modelo padrao",deleteProvider:"Excluir provedor",deleteConfirm:'Tem certeza de que deseja excluir "{name}"?',codexLoginTitle:"Login do OpenAI Codex",codexWaiting:"Digite este código na página de autorização para fazer login:",codexCopyCode:"Código copiado",codexOpenLink:"Abrir página de autorização",codexApproved:"Login bem-sucedido",codexExpired:"A autorização expirou. Por favor, tente novamente.",nousLoginTitle:"Login do Nous Portal",nousWaiting:"Insira este código na página de autorização:",nousCopyCode:"Código copiado",nousOpenLink:"Abrir página de autorização",nousApproved:"Login bem-sucedido",nousDenied:"Autorização negada",nousExpired:"Autorização expirada",copilotLoginTitle:"Login do GitHub Copilot",copilotWaiting:"Abra o GitHub e insira o código do dispositivo abaixo para autorizar. A janela fechará automaticamente após a aprovação.",copilotCopyCode:"Código copiado",copilotOpenLink:"Abrir a página de autorização do GitHub",copilotApproved:"Login bem-sucedido!",copilotDenied:"Autorização negada.",copilotExpired:"O link de autorização expirou. Tente novamente.",copilotAddDetectedTitle:"GitHub Copilot detectado",copilotAddDetected:"Foi detectado um token OAuth do GitHub Copilot nesta máquina. Clique em Adicionar para ativar o Copilot no Hermes.",copilotAddSourceEnv:"Origem: ~/.hermes/.env (COPILOT_GITHUB_TOKEN)",copilotAddSourceGhCli:"Origem: gh CLI (gh auth token)",copilotAddSourceAppsJson:"Origem: extensão Copilot do VS Code (apps.json)",copilotDeleteHintEnv:"Isto irá limpar o COPILOT_GITHUB_TOKEN em ~/.hermes/.env. Outras ferramentas não são afetadas.",copilotDeleteHintGhCli:"O Copilot ficará oculto no Hermes. Sua sessão no gh CLI não é afetada — `gh auth status` continuará indicando que está conectado.",copilotDeleteHintAppsJson:"O Copilot ficará oculto no Hermes. A extensão Copilot do VS Code continuará conectada.",customBadge:"PERSONALIZADO",previewBadge:"PRÉVIA",disabledBadge:"INDISPONÍVEL",disabledTooltip:"Este modelo não está disponível para sua conta.",customModelPlaceholder:"ID de modelo não listado",customModelHint:"Para modelos compatíveis com o provedor que a API não retorna; não é uma renomeação de exibição. Enter para carregar.",noProviders:"Nenhum provedor encontrado. Adicione um provedor personalizado para comecar.",clearVisibleModels:"Limpar seleção",generalTitle:"Modelos gerais",combinationTitle:"Conjuntos de modelos",combinationSubtitle:"Configure presets MoA: modelos de referencia fornecem perspectivas primeiro, depois um modelo agregador produz a resposta final e as chamadas de ferramentas.",combinationPreset:"Preset",combinationName:"Nome",combinationAddModel:"Adicionar conjunto de modelos",combinationEditModel:"Editar conjunto de modelos",combinationNewPreset:"Novo preset",combinationPresetPlaceholder:"ex.: review",combinationAddPreset:"Adicionar preset",combinationSetDefault:"Definir como padrao",combinationEnabled:"Ativar referencias",combinationReferenceModels:"Modelos de referencia",combinationReferenceModel:"Modelo de referencia",combinationAddReference:"Adicionar modelo de referencia",combinationAggregator:"Modelo agregador",combinationReferenceTemperature:"Temperatura das referencias",combinationAggregatorTemperature:"Temperatura do agregador",combinationMaxTokens:"Maximo de tokens",combinationNotSet:"Nao definido",combinationSaved:"Conjunto de modelos salvo",combinationLoadFailed:"Falha ao carregar conjunto de modelos",combinationSaveFailed:"Falha ao salvar conjunto de modelos",combinationPresetExists:"O preset ja existe",combinationNameRequired:"Informe um nome para o conjunto de modelos",combinationNameInvalid:"O nome so pode conter letras, numeros, sublinhados, hifens e pontos",combinationReferenceRequired:"Adicione pelo menos um modelo de referencia",combinationAggregatorRequired:"Selecione um modelo agregador",auxiliaryTitle:"Modelos auxiliares",auxiliarySubtitle:"Substituições de modelo para tarefas auxiliares como compressão, visão, aprovações, MCP e manutenção em segundo plano.",auxiliaryRefresh:"Atualizar",auxiliaryTask:"Tarefa",auxiliaryTimeout:"Tempo limite",auxiliaryDownloadTimeout:"Tempo limite de download",auxiliaryActions:"Ações",auxiliaryDefault:"Padrão",auxiliaryCustomEndpoint:"Endpoint personalizado",auxiliaryProviderAuto:"Automático",auxiliaryProviderMain:"Modelo principal",auxiliaryProviderPlaceholder:"auto, main ou chave do provedor",auxiliaryDownloadShort:"download",auxiliaryExtraBody:"JSON do corpo extra",auxiliaryClear:"Redefinir",auxiliarySaved:"Modelos auxiliares salvos",auxiliaryLoadFailed:"Falha ao carregar modelos auxiliares",auxiliarySaveFailed:"Falha ao salvar modelos auxiliares",auxiliaryInvalidExtraBody:"O corpo extra deve ser um objeto JSON",auxiliaryTaskCompression:"Compressão",auxiliaryTaskVision:"Visão",auxiliaryTaskWebExtract:"Extração web",auxiliaryTaskSkillsHub:"Hub de habilidades",auxiliaryTaskApproval:"Aprovação",auxiliaryTaskMcp:"MCP",auxiliaryTaskTitleGeneration:"Geração de título",auxiliaryTaskTriageSpecifier:"Especificador de triagem",auxiliaryTaskKanbanDecomposer:"Decomposição Kanban",auxiliaryTaskProfileDescriber:"Descrição de perfil",auxiliaryTaskCurator:"Curador",auxiliaryTaskSessionSearch:"Busca de sessões",auxiliaryTaskFlushMemories:"Gravar memórias",currentDefault:"Padrão atual",defaultShort:"Padrão",setDefaultProvider:"Definir como provedor padrao",setDefault:"Definir como padrao",builtIn:"Integrado",customType:"Personalizado",provider:"Provedor",contextLength:"Tamanho do contexto",contextLengthPlaceholder:"ex: 256000 (opcional)",apiMode:"Modo da API",local:"Local ({host})",selectProviderRequired:"Por favor, selecione um provedor",baseUrlRequired:"A URL base e obrigatoria",apiKeyRequired:"A chave API e obrigatoria",modelRequired:"O modelo padrao e obrigatorio",enterBaseUrl:"Por favor, insira a URL base primeiro",unexpectedFormat:"Formato de resposta inesperado",foundModels:"{count} modelos encontrados",fetchFailed:"Falha ao buscar os modelos",xaiWaiting:"Conclua a autorização na página xAI aberta. A janela será fechada automaticamente após a aprovação.",xaiOpenLink:"Abrir página de autorização xAI",xaiLoginTitle:"Login OAuth xAI Grok",xaiExpired:"O link de autorização expirou. Tente novamente.",xaiCopyLink:"Copiar link de autorização",xaiApproved:"Login concluído!",anthropicLoginTitle:"Login OAuth Claude",anthropicWaiting:"Conclua a autorização no Claude e cole aqui o código retornado.",anthropicOpenLink:"Abrir página de autorização Claude",anthropicCopyLink:"Copiar link de autorização",anthropicCodePlaceholder:"Cole o código de autorização...",anthropicSubmitCode:"Enviar código",anthropicApproved:"Login concluído!",anthropicExpired:"A autorização expirou. Tente novamente.",visibilitySelectOne:"Mantenha pelo menos um modelo visível",visibilitySaved:"Modelos visíveis salvos",visibilitySaveFailed:"Falha ao salvar modelos visíveis",visibilityHint:"Afeta apenas o seletor de modelos e a página de modelos da Web UI. A configuração provider/model da Hermes CLI não é alterada; as chamadas ainda usam o ID original do modelo.",showAllModels:"Mostrar todos os modelos",searchPlaceholder:"Pesquisar modelos...",noResults:"Sem resultados",noModels:"Sem modelos",removeCustomModel:"Remover este modelo não listado",refresh:"Atualizar lista de modelos (recarregar config.yaml)",more:"mais",models:"Lista de modelos",manageVisibleModelsFor:"Gerenciar modelos visíveis de {name}",manageVisibleModels:"Gerenciar modelos visíveis",getApiKey:"Obter API Key",count:"modelos",aliasUseOriginal:"Restaurar ID original",aliasTitleFor:"Nome exibido de {model}",aliasTitle:"Nome exibido do modelo",aliasSaveFailed:"Falha ao salvar nome exibido",aliasPlaceholder:"Deixe vazio para usar o ID original do modelo",aliasManageFor:"Nomes exibidos de {provider}",aliasManage:"Nomes exibidos",aliasHint:"Altera apenas o nome exibido na Web UI. O Hermes ainda recebe o ID original do modelo.",aliasEdit:"Renomear",aliasCanonical:"ID original: {model}"},profiles:{title:"Perfis",create:"Criar perfil",import:"Importar",export:"Exportar",rename:"Renomear",delete:"Excluir",switchTo:"Trocar Hermes Profile",switchConfirm:"Isto executara `hermes profile use {name}` e alterara o active profile do Hermes CLI. Continuar?",switchSuccess:'Hermes active profile alterado para "{name}"',switchFailed:"Falha ao trocar Hermes Profile. O gateway pode precisar de reinicio manual.",createSuccess:'Perfil "{name}" criado',createFailed:"Falha ao criar o perfil",renameSuccess:"Perfil renomeado",renameFailed:"Falha ao renomear o perfil",deleteConfirm:'Tem certeza de que deseja excluir o perfil "{name}"?',deleteSuccess:"Perfil excluido",deleteFailed:"Falha ao excluir o perfil",exportSuccess:"Perfil exportado",exportFailed:"Falha ao exportar o perfil",importSuccess:"Perfil importado",importFailed:"Falha ao importar o perfil",importSelectFile:"Selecionar arquivo de arquivo",importInvalidFile:"Por favor, selecione um arquivo valido (.tar.gz, .tgz, .gz, .zip)",name:"Nome do perfil",namePlaceholder:"Apenas letras, numeros e hifens",nameValidation:"O nome do perfil só pode conter letras minúsculas, números, sublinhados e hifens",newName:"Novo nome",newNamePlaceholder:"Digite um novo nome",cloneFromCurrent:"Clonar do perfil atual",cloneCleanupNotice:"Ao clonar, as credenciais exclusivas de plataforma (Weixin / Telegram / Slack, etc.) são automaticamente ignoradas para evitar conflitos com o perfil de origem",cloneStrippedCredentials:"{count} credencial(is) exclusiva(s) removida(s): {list}",cloneDisabledPlatforms:"{count} plataforma(s) desabilitada(s): {list}",cloneStrippedConfigCredentials:"{count} credencial(is) incorporada(s) removida(s) do config.yaml: {list}",archivePath:"Caminho do arquivo",archivePathPlaceholder:"Caminho do servidor para o arquivo",importName:"Nome do perfil (opcional)",importNamePlaceholder:"Deixe vazio para usar o nome do arquivo",active:"Ativo",model:"Modelo",gateway:"Gateway",alias:"Alias",provider:"Provedor",path:"Caminho",skills:"Habilidades",hasEnv:"Tem .env",hasSoulMd:"Tem soul.md",noProfiles:"Nenhum perfil encontrado. Crie um para comecar.",avatar:{title:"Avatar personalizado",customize:"Personalizar avatar",upload:"Enviar imagem",random:"Gerar aleatório",reset:"Restaurar padrão",hint:"PNG, JPEG ou WebP, máximo 1 MB",invalidType:"Escolha uma imagem PNG, JPEG ou WebP",tooLarge:"A imagem do avatar não pode exceder 1 MB",saveSuccess:"Avatar salvo",saveFailed:"Falha ao salvar avatar",resetSuccess:"Avatar padrão restaurado",resetFailed:"Falha ao restaurar avatar padrão"},runtime:{activeProfile:"Atual: {name}",bridgeWorker:"Status do Bridge",gateway:"Gateway",active:"Ativo",activeTag:"Atual",idle:"Ocioso",checking:"Verificando",running:"Em execução",stopped:"Parado",restartGateway:"Reiniciar gateway",restartProfile:"Reiniciar perfil",switchProfile:"Trocar perfil frontend",gatewayRestarted:"Gateway reiniciado: {name}",gatewayRestartFailed:"Falha ao reiniciar gateway",profileRestarted:"Perfil reiniciado: {name}",profileRestartFailed:"Falha ao reiniciar perfil"}},logs:{title:"Logs",all:"Todos",searchPlaceholder:"Buscar...",refresh:"Atualizar",noEntries:"Nenhuma entrada de log"},settings:{title:"Configuracoes",saved:"Salvo",saveFailed:"Falha ao salvar",tabs:{display:"Exibicao",account:"Conta atual",users:"Gerenciamento de contas",agent:"Agente",proxy:"Proxy",memory:"Memoria",compression:"Compressao",session:"Sessao",privacy:"Privacidade",apiServer:"Servidor API",models:"Modelos",voice:"Voz"},display:{streaming:"Respostas em streaming",streamingHint:"Mostrar respostas da IA em tempo real",compact:"Modo compacto",compactHint:"Reduzir espacamento entre mensagens",showReasoning:"Mostrar raciocinio",showReasoningHint:"Mostrar processo de pensamento do modelo",showCost:"Mostrar custo",showCostHint:"Mostrar uso de tokens nas respostas",inlineDiffs:"Diffs em linha",inlineDiffsHint:"Mostrar alteracoes de codigo em linha",bellOnComplete:"Som de conclusao",bellOnCompleteHint:"Tocar som quando a IA terminar",notifyOnComplete:"Notificacao de conclusao",notifyOnCompleteHint:"Mostrar notificacao do sistema quando a IA terminar",notifyOnCompleteMacHint:"No macOS, permita notificacoes do navegador nos Ajustes do Sistema.",notifyOnCompleteDenied:"Permissao de notificacao negada",notifyOnCompleteInsecure:"Notificacoes do navegador exigem HTTPS ou localhost",notifyOnCompleteUnsupported:"Este navegador nao suporta notificacoes",notifyOnCompleteTest:"Notificacoes ativadas.",notifyOnCompleteTestButton:"Testar",notifyOnCompleteTesting:"Enviando notificacao de teste...",notifyOnCompleteTestSent:"Notificacao de teste enviada",notifyOnCompleteTestFailed:"Falha ao enviar notificacao de teste",busyInputMode:"Modo de entrada ocupada",busyInputModeHint:"Permitir entrada enquanto a IA processa",theme:"Tema",themeHint:"Escolha claro, escuro ou seguir a preferencia do sistema",themeLight:"Claro",themeDark:"Escuro",themeSystem:"Sistema",chatInputHeight:"Altura da entrada do chat",chatInputHeightHint:"Altura padrão da entrada do chat no desktop, em pixels. No celular permanece automática."},agent:{maxTurns:"Maximo de turnos",maxTurnsHint:"Maximo de rodadas de interacao por conversa",gatewayTimeout:"Timeout do gateway",gatewayTimeoutHint:"Timeout da requisicao em segundos",restartDrainTimeout:"Timeout de drenagem ao reiniciar",restartDrainTimeoutHint:"Timeout de drenagem antes de reiniciar em segundos",toolEnforcement:"Obrigatoriedade de ferramentas",toolEnforcementHint:"Controlar o modo de execucao de chamadas de ferramentas",auto:"Automatico",always:"Sempre",never:"Nunca"},gatewayAutoStart:{title:"Inicialização automática do gateway",description:"Controla quais gateways de perfis Hermes locais a Web UI inicia durante a inicialização. Isto é salvo na configuração da Web UI, não no config.yaml do perfil.",enabled:"Iniciar gateways automaticamente",enabledHint:"Quando desativado, nenhum gateway de perfil será iniciado automaticamente.",management:"Gateway unificado",managementHint:"Requer Hermes Agent 0.17.0 ou superior. Quando ativado, a Web UI grava multiplex_profiles para o gateway default servir todos os perfis; outros perfis nao podem configurar entradas de mensagens separadas como Feishu, Weixin ou QQBot. Ao desativar, remove essa configuração.",managementAuto:"Automático",managementPerProfile:"Um gateway por perfil",managementUnified:"Gateway default unificado",mode:"Política de perfis",modeHint:"Inicie todos os perfis descobertos ou apenas a lista incluída explicitamente.",modeAll:"Todos os perfis descobertos",modeInclude:"Apenas perfis incluídos",include:"Perfis incluídos",includeHint:"Nomes de perfil separados por vírgula. No modo de inclusão, uma lista vazia não inicia nenhum.",exclude:"Perfis excluídos",excludeHint:"Nomes de perfil separados por vírgula a ignorar depois da política include/all.",profileListPlaceholder:"default, reviewer"},proxy:{title:"Proxy do gateway",description:"Define variáveis de ambiente de proxy para o gateway do perfil selecionado. As alterações reiniciam o gateway para que as plataformas de mensagens usem a nova configuração de rede.",httpsProxy:"HTTPS_PROXY",httpsProxyHint:"Proxy para requisições HTTPS. Normalmente é o valor principal.",httpProxy:"HTTP_PROXY",httpProxyHint:"Proxy para requisições HTTP simples.",allProxy:"ALL_PROXY",allProxyHint:"Proxy de fallback quando não há proxy específico do protocolo.",noProxy:"NO_PROXY",noProxyHint:"Hosts ou domínios separados por vírgula que devem ignorar o proxy.",save:"Salvar configurações de proxy"},memory:{enabled:"Ativar memoria",enabledHint:"Permitir que a IA lembre do contexto da conversa",userProfile:"Perfil do usuario",userProfileHint:"Permitir que a IA lembre das preferencias do usuario",charLimit:"Limite de caracteres da memoria",charLimitHint:"Maximo de caracteres para MEMORY.md",userCharLimit:"Limite de caracteres do perfil do usuario",userCharLimitHint:"Maximo de caracteres para USER.md"},compression:{enabled:"Ativar compressao",enabledHint:"Comprimir automaticamente historico longo antes de exceder o contexto do modelo",threshold:"Limiar de compressao",thresholdHint:"Iniciar compressao quando tokens estimados excederem esta proporcao do contexto",targetRatio:"Proporcao alvo",targetRatioHint:"Tamanho alvo do historico apos compressao como proporcao do contexto",protectLastN:"Proteger mensagens recentes",protectLastNHint:"Manter sem compressao esta quantidade de mensagens recentes",protectFirstN:"Proteger primeiras mensagens",protectFirstNHint:"Manter sem compressao esta quantidade de mensagens iniciais"},session:{mode:"Modo de reinicializacao",modeHint:"Condicao de acionamento para reinicializacao de sessao",modeBoth:"Inatividade + Agendado",modeIdle:"Somente inatividade",modeDaily:"Somente agendado",modeNone:"Nunca (apenas manual)",idleMinutes:"Timeout de inatividade",idleMinutesHint:"Tempo de espera antes da reinicializacao automatica (minutos)",atHour:"Horario de reinicializacao agendada",humanOnly:"Mostrar apenas sessões humanas",humanOnlyHint:"Oculta por padrão o ruído de subagentes e do monitor de sessões",liveMonitorHumanOnly:"Monitor ao vivo: mostrar apenas sessões humanas",liveMonitorHumanOnlyHint:"Oculta por padrão o ruído de subagentes e do monitor de sessões no monitor ao vivo",atHourHint:"Reiniciar sessao neste horario diariamente",requireAuth:"Autorizacao da sessao",requireAuthHint:"Exigir autorizacao para operacoes da sessao",memoryWriteApproval:"Revisar escritas de memoria",memoryWriteApprovalHint:"Colocar escritas de memoria do Hermes Agent em aprovacao antes de salvar.",skillsWriteApproval:"Revisar escritas de skills",skillsWriteApprovalHint:"Colocar alteracoes de skills do Hermes Agent em aprovacao antes de salvar.",writeApprovalTitle:"Escritas pendentes de revisao",writeApprovalDescription:"Aprove ou rejeite escritas de memoria e skills preparadas pelo Hermes Agent.",writeApprovalRefresh:"Atualizar",writeApprovalEmpty:"Nenhuma escrita pendente.",writeApprovalMemory:"Memoria",writeApprovalSkills:"Skills",writeApprovalViewDiff:"Revisar",writeApprovalHideDiff:"Ocultar",writeApprovalNoDiff:"Nenhuma diferenca disponivel.",writeApprovalLoadFailed:"Falha ao carregar escritas pendentes",writeApprovalDiffFailed:"Falha ao carregar detalhes da escrita",writeApprovalActionFailed:"Falha ao resolver escrita pendente",writeApprovalApproved:"Escrita aprovada",writeApprovalRejected:"Escrita rejeitada",writeApprovalApprove:"Aprovar",writeApprovalReject:"Rejeitar",writeApprovalPendingMemoryWrite:"Escrita de memoria pendente",writeApprovalCurrentFile:"Arquivo atual {file}",writeApprovalProposedFile:"Arquivo proposto {file}",writeApprovalDiffSection:"Diferenca",writeApprovalPatchOldStringMissing:"O old_string do patch nao foi encontrado no arquivo atual {file}; aprovar nao alterara o arquivo.",writeApprovalRequestedOldString:"old_string solicitado",writeApprovalCurrentReadFailed:"O arquivo atual {file} nao pode ser lido como texto UTF-8.",writeApprovalDeleteSkill:"Esta aprovacao exclui o skill {skill}.",writeApprovalRemoveFile:"Esta aprovacao remove {file} do skill {skill}."},privacy:{redactPii:"Ocultar dados pessoais",redactPiiHint:"Detectar e ocultar automaticamente informacoes sensiveis (senhas, chaves, etc.)"},apiServer:{enable:"Ativar",enableHint:"Ativar servidor API",host:"Host",hostHint:"Endereco de escuta",port:"Porta",portHint:"Porta de escuta",key:"Chave",keyHint:"Chave de acesso API",cors:"Origens CORS",corsHint:"Fontes cross-origin permitidas"},voice:{activeTtsApi:"API TTS ativa",activeSttApi:"API STT ativa",ttsProvidersTitle:"Provedores TTS",ttsProvidersDescription:"Gerencie integracoes de texto para fala usadas para reproduzir respostas do assistente e pre-visualizacoes de voz.",sttProvidersTitle:"Provedores STT",sttProvidersDescription:"Gerencie integracoes de fala para texto usadas pelo microfone e pelo fluxo de entrada por voz.",noneSelected:"Nenhum selecionado",keyStored:"Armazenada",keyMissing:"Ausente",customApi:"API",localBuiltin:"Local integrado",ttsCardHint:"Provedor de sintese de fala",sttCardHint:"Provedor de transcricao de fala",setActive:"Definir como ativo",testAction:"Testar",connect:"Conectar",presetEdgeTtsLabel:"Edge TTS",presetEdgeTtsDescription:"Vozes em nuvem gratuitas e de alta qualidade do Microsoft Edge.",presetOpenaiTtsLabel:"OpenAI TTS",presetMimoTtsLabel:"MiMo TTS",presetDoubaoTtsLabel:"Volcengine Doubao TTS",presetCustomTtsLabel:"TTS personalizado",presetBrowserSttLabel:"STT do navegador",presetBrowserSttDescription:"API nativa de reconhecimento de fala do navegador.",presetOpenaiWhisperLabel:"OpenAI Whisper",presetGroqSttLabel:"Groq STT",presetDoubaoSttLabel:"Volcengine Doubao STT",presetCustomSttLabel:"STT personalizado",apiCompatibility:"Compatibilidade da API",openaiCompatible:"Compatível com OpenAI",manualCustomEndpoint:"Endpoint personalizado manual",connectionStep:"Conexão",discoveryManualHint:"Endpoint personalizado manual selecionado. A descoberta de modelos não está disponível; informe o nome do modelo manualmente.",discoveryCredentialHint:"Informe Base URL e API key, depois conecte para buscar os modelos disponíveis.",discoveryNoAutoProbeHint:"Nenhuma requisição é enviada durante a digitação. Use Connect quando as credenciais estiverem prontas.",apiKeyConnectPlaceholder:"Cole a API key para conectar; chaves armazenadas nunca são exibidas",connectFetchModels:"Conectar e buscar modelos",modelRecommendedSuffix:"recomendado",modelConnectManualHint:"Conecte para preencher automaticamente ou informe manualmente.",modelRequiredConnectManual:"O modelo é obrigatório. Conecte para preencher automaticamente ou informe manualmente.",apiKeyRequired:"A API key é obrigatória.",apiKeyRequiredForDiscovery:"A API key é obrigatória para buscar modelos.",baseUrlRequired:"Base URL é obrigatória.",baseUrlHttpsRequired:"Use http:// ou https://.",baseUrlInvalid:"Informe uma Base URL válida, incluindo https://.",discoveryFailedManualFallback:"Não foi possível buscar modelos. Você ainda pode informar o nome do modelo manualmente.",completeRequiredProviderFields:"Complete os campos obrigatórios do provider antes de salvar.",fetchingModels:"Buscando modelos...",recommendedModel:"Recomendado: {model}.",useRecommendedModel:"Usar este.",modelsDiscovered:"{count} modelos encontrados. O modelo recomendado é selecionado quando o campo está vazio.",remove:"Remover",testSuccess:"Teste concluido",testTextRequired:"Digite texto antes de testar.",keyMissingForTest:"Adicione uma chave de API antes de testar este provedor.",testing:"Testando...",transcribing:"Transcrevendo...",browserSttTestHint:"O STT do navegador e testado pelo microfone do chat.",sttEmptyAudio:"Nenhum audio foi capturado. Tente novamente.",sttTestSuccess:"Transcricao concluida",sttRecordingHint:"Gravando... clique em Parar para transcrever.",keepStoredKeyPlaceholder:"Deixe em branco para manter a chave armazenada",apiKeyPlaceholder:"Insira a chave de API",lastTest:"Ultimo teste",notTested:"—",recording:"Gravando",testFailedShort:"Falhou",testFailedSummary:"O teste falhou. Verifique as configuracoes do provedor e tente novamente.",showDetails:"Mostrar detalhes",hideDetails:"Ocultar detalhes",moreActions:"Mais",moreActionsFor:"Mais acoes para {provider}",addTtsApi:"Adicionar API TTS",addSttApi:"Adicionar API STT",active:"Ativo",builtin:"Integrado",connected:"Conectado",disconnected:"Desconectado",source:"Origem",model:"Modelo",voice:"Voz",doubaoVoiceHint:"Selecione uma voz Seed TTS 2.0; o campo de recurso e atualizado automaticamente.",apiKey:"Chave de API",confirmDeleteSecret:"Excluir a chave de API armazenada para esta API de voz?",ttsTitle:"Texto para fala",ttsSaved:"Configuracoes TTS salvas no servidor",ttsSaveFailed:"Falha ao salvar as configuracoes TTS",ttsTestSaved:"Audicao concluida; configuracoes TTS salvas no servidor",ttsTestSaving:"Salvando configuracoes TTS antes da audicao...",ttsMissingBaseUrl:"A Base URL e obrigatoria antes de testar. Insira um endpoint do provedor e teste novamente.",ttsMissingApiKey:"A chave de API e obrigatoria antes de testar. Cole a chave ou salve primeiro uma chave armazenada no servidor.",ttsCleared:"Chave TTS armazenada removida",ttsClearFailed:"Falha ao remover a chave TTS armazenada",storedBaseUrlsTitle:"Base URLs salvas",storedBaseUrlsHint:"Endpoints de voz salvos. Os campos acima só limpam o valor atual; exclua endpoints salvos aqui.",storedBaseUrlsEmpty:"Nenhuma Base URL de voz customizada está salva no servidor.",storedBaseUrlDelete:"Excluir URL",storedApiKeysTitle:"API keys salvas",storedApiKeysHint:"Lista mascarada das chaves de voz salvas no servidor. Só mostra uso e origem; a chave completa nunca aparece.",storedApiKeysEmpty:"Nenhuma API key de voz está salva no servidor.",storedKeyKindTts:"TTS",storedKeyKindStt:"STT",storedApiKeyMasked:"[stored]",storedApiKeyDelete:"Excluir key",baseUrlPresetClear:"Limpar URL",baseUrlPresetCleared:"URL base removida do campo.",baseUrlPresetDelete:"Excluir URL",baseUrlPresetDeleted:"URL base removida da lista salva.",baseUrlPresetDeleteFailed:"Falha ao remover a URL base salva.",ttsPendingSecret:"A nova chave sera salva",ttsStoredSecret:"O servidor tem uma chave armazenada: {value}",ttsClearKey:"Remover chave armazenada",sttTitle:"Fala para texto",sttProvider:"Provedor STT",sttProviderHint:"Escolha como a entrada de voz sera transcrita",sttProviderBrowser:"Navegador",sttProviderOpenai:"Compativel com OpenAI",sttProviderCustom:"Personalizado",sttBrowserHint:"Use o reconhecimento de fala integrado do navegador quando disponivel.",sttApiKey:"Chave de API",sttApiKeyHint:"Armazenada no servidor para provedores STT que exigem autenticacao.",sttStoredSecret:"Chave do servidor armazenada: {value}",sttPendingSecret:"Chave do servidor armazenada: sera atualizada ao salvar",sttClearKey:"Remover chave armazenada",sttModel:"Modelo",sttModelHint:"Modelo de fala para texto a usar.",sttLanguage:"Idioma",sttLanguageHint:"Dica de idioma opcional, como en ou zh.",sttPrompt:"Prompt",sttPromptHint:"Prompt opcional de transcricao.",sttAudioTranscode:"Transcodificação de áudio",sttAudioTranscodeNone:"Enviar áudio original",sttAudioTranscodeFfmpeg:"Converter para WAV com ffmpeg",sttBaseUrl:"Base URL",sttBaseUrlHint:"Endpoint personalizado de fala para texto compativel com OpenAI.",sttSave:"Salvar configuracoes STT",sttSaved:"Configuracoes STT salvas no servidor.",sttSaveFailed:"Falha ao salvar as configuracoes STT.",sttCleared:"Segredo STT armazenado removido do servidor.",sttClearFailed:"Falha ao remover o segredo STT armazenado.",sttActiveSaved:"Provedor STT ativo salvo no servidor.",sttSaveActive:"Salvar provedor STT ativo",sttEndpointHint:"Endpoint final de transcricao: {endpoint}",sttTestTitle:"Testar fala para texto",sttTestButton:"Testar API STT",sttTestStopButton:"Parar e transcrever",sttTestBackendOnly:"O teste da API STT esta disponivel para provedores compativeis com OpenAI e personalizados.",sttTestRecording:"Gravando amostra de teste... clique em Parar e transcrever ao terminar.",sttTestTranscribing:"Transcrevendo amostra de teste...",sttTestEmpty:"Nenhum audio foi capturado para o teste STT.",sttTestSucceeded:"Teste STT concluido com sucesso.",sttTestFailed:"Teste STT falhou: {error} — {hint}",sttFailureHintMissingConfig:"Verifique se o provedor foi salvo com Base URL/modelo e uma chave de API antes de testar.",sttFailureHintAuth:"Verifique a chave de API. Se uma chave ja estava armazenada, cole a chave atual novamente e salve antes de testar.",sttFailureHintForbidden:"A chave chegou ao provedor, mas nao tem permissao para este modelo STT ou conta. Verifique o acesso/faturamento do provedor.",sttFailureHintEndpointModel:"Verifique a Base URL e o modelo. Para Groq, use {endpoint} com whisper-large-v3-turbo ou outro modelo STT da Groq.",sttFailureHintModel:"Verifique se o modelo STT selecionado existe e esta habilitado para esta conta.",sttFailureHintQuota:"O provedor informa problema de cota, faturamento ou limite de taxa. Verifique a cota/faturamento ou tente mais tarde.",sttFailureHintNetworkCustom:"O servidor nao conseguiu acessar o endpoint STT personalizado. Verifique se {endpoint} e acessivel pelo servidor Web UI e compativel com OpenAI.",sttFailureHintNetwork:"O servidor Web UI nao conseguiu acessar o provedor STT. Verifique rede/proxy/firewall e tente novamente.",sttFailureHintAudio:"O audio gravado estava vazio ou foi rejeitado. Tente uma amostra curta e clara, permita acesso ao microfone ou tente no Chrome.",sttFailureHintGenericCustom:"Verifique chave de API, Base URL, modelo e o endpoint final {endpoint}.",sttFailureHintGeneric:"Verifique chave de API, modelo e acesso da conta do provedor, depois tente novamente.",sttTestRecordFailed:"Nao foi possivel iniciar a gravacao do microfone: {error}",sttTestTranscript:"Transcricao: {text}",ttsProvider:"Provedor TTS",ttsProviderHint:"Escolha o mecanismo de texto para fala para reproducao de mensagens",providerWebSpeech:"WebSpeech API (Navegador)",providerOpenai:"OpenAI TTS",providerCustom:"Endpoint personalizado (compativel com OpenAI)",providerEdge:"Edge TTS (Gratuito, sem chave API)",webspeechVoice:"Voz",webspeechVoiceHint:"Selecione uma voz do seu navegador ou SO",webspeechVoicePlaceholder:"Auto (voz padrao)",openaiKey:"Chave API",openaiKeyHint:"Sua chave API OpenAI com acesso TTS",openaiUrl:"URL base da API",openaiUrlHint:"ex. https://api.openai.com/v1/audio/speech",openaiModel:"Modelo",openaiModelHint:"tts-1 (mais rapido) / tts-1-hd (qualidade superior)",openaiVoice:"Voz",openaiVoiceHint:"Voz a ser usada para sintese",customHint:"Use qualquer API TTS compativel com OpenAI — funciona com GPT-SoVITS, CosyVoice, etc.",customUrl:"URL da API",customUrlHint:"URL base do seu servico TTS",customUrlPlaceholder:"Endereco configurado no adaptador local, ex. http://127.0.0.1:9880",customApiKey:"Chave API (opcional)",customApiKeyHint:"Alguns endpoints personalizados exigem autenticacao",customApiKeyPlaceholder:"Deixe em branco se nao for necessario",edgeHint:"Desenvolvido por Microsoft Edge TTS (node-edge-tts).",edgeUrl:"URL do adaptador",edgeUrlHint:"Endereco do adaptador Edge TTS, ex. http://127.0.0.1:9882",edgeUrlPlaceholder:"http://127.0.0.1:9882",edgeVoice:"Voz",edgeVoiceHint:"Selecione uma voz para sintese de fala",edgeRate:"Velocidade",edgeRateHint:"Ajustar velocidade da fala (0.5x ~ 2.0x)",edgePitch:"Tom",edgePitchHint:"Ajustar tom da fala (-20 ~ +20 Hz)",testTitle:"Teste de voz",testText:"Texto de teste",testTextPlaceholder:"Insira o texto para testar...",testTextDefault:"Ola, este e um teste de voz.",testButton:"Testar",testButtonPlaying:"Reproduzindo...",testFailed:"Teste falhou: {error}",providerMimo:"MiMo TTS",mimoHint:"Xiaomi MiMo TTS — vozes predefinidas, design de voz e clonagem de voz",mimoApiKey:"Chave API",mimoApiKeyHint:"Obtenha sua chave em platform.xiaomimimo.com",mimoApiKeyPlaceholder:"Chave API MiMo",mimoAuthMode:"Modo de autenticação",mimoAuthModeHint:"Formato de cabeçalho esperado pelo endpoint MiMo selecionado",mimoAuthModeBearer:"Token Bearer (Authorization)",mimoAuthModeApiKey:"Cabeçalho API key (api-key)",mimoAuthModeBoth:"Ambos os cabeçalhos",mimoBaseUrl:"URL base",mimoBaseUrlHint:"URL do endpoint da API MiMo",mimoModel:"Modelo",mimoModelHint:"Selecione o modelo de síntese de voz",mimoModelPreset:"Vozes predefinidas",mimoModelVoiceDesign:"Design de voz",mimoModelVoiceClone:"Clonagem de voz",mimoVoice:"Voz",mimoVoiceHint:"Selecione uma voz predefinida",mimoVoiceDesignPrompt:"Descrição da voz",mimoVoiceDesignPromptHint:"Descreva as características de voz desejadas",mimoVoiceDesignPromptPlaceholder:"Ex: Uma voz feminina quente e jovem, ligeiramente lenta, com tom magnético",mimoCloneAudio:"Enviar áudio",mimoCloneAudioHint:"Envie uma amostra de áudio para clonagem (mp3/wav, máx. 10 MB)",mimoCloneAudioUpload:"Escolher arquivo",mimoCloneAudioClear:"Limpar",mimoStylePrompt:"Prompt de estilo",mimoStylePromptHint:"Opcional — descreva o estilo de fala em linguagem natural",mimoStylePromptPlaceholder:"Ex: Tom brilhante e animado, ritmo rápido"},lockedIps:{title:"IPs bloqueadas",count:"{count} bloqueadas",empty:"Nenhuma IP bloqueada",unlock:"Desbloquear",unlockAll:"Desbloquear tudo",unlockAllConfirm:"Desbloquear todas as IPs?",unlocked:"IP desbloqueada",allUnlocked:"{count} IPs desbloqueadas",type:{password:"Password",token:"API token",pairing:"Device pairing"}},userAvatar:{title:"Avatar do usuário",upload:"Enviar imagem",random:"Gerar aleatório",reset:"Restaurar padrão",hint:"Suporta PNG, JPEG e WebP até 1 MB; compacta automaticamente para menos de 500 KB.",invalidType:"Escolha uma imagem PNG, JPEG ou WebP",tooLarge:"A imagem do avatar deve ter 1 MB ou menos",saveSuccess:"Avatar salvo",saveFailed:"Falha ao salvar avatar",resetSuccess:"Avatar restaurado",resetFailed:"Falha ao restaurar avatar"},models:{apiKey:"API Key",apiKeyPlaceholder:"Digite a API Key",noProviders:"Nenhum provedor configurado",save:"Salvar",saveFailed:"Falha ao salvar",saved:"Salvo"}},githubPreview:{title:"Prévia de versão",description:"Clona a tag do GitHub selecionada para o workspace de prévia do Web UI, instala dependências e executa com as portas de desenvolvimento.",refresh:"Atualizar",selectTag:"Selecione uma tag",prepare:"Preparar código",install:"Instalar dependências",start:"Iniciar prévia",stop:"Parar",note:"O código de prévia é armazenado no diretório de dados do Web UI. Produção permanece na porta 8648; a prévia usa frontend 8651 e backend 8650.",path:"Caminho da prévia",webuiHome:"Dados da prévia",currentTag:"Tag atual",repoReady:"Repositório pronto",dependencies:"Dependências instaladas",running:"Estado",notRunning:"Não em execução",open:"Abrir prévia",log:"Caminho do log de ações",logOutput:"Saída de logs",actionLog:"Log de ações",devLog:"Log do servidor dev",yes:"Sim",no:"Não",actionFailed:"Ação falhou",nodeEnvironmentMissing:"Node/npm não foi detectado. Instale o Node.js e tente novamente.",prepareSuccess:"Código de prévia pronto",installSuccess:"Dependências instaladas",startSuccess:"Prévia concluída",stopSuccess:"Prévia parada"},codingAgents:{title:"Agentes de código",notice:"Nem todos os provedores e modelos são compatíveis.",claudeDescription:"CLI da Anthropic para tarefas únicas em print mode e sessões interativas de código.",codexDescription:"CLI da OpenAI e fluxo de provedor openai-codex do Hermes para tarefas de repositório.",copyCommand:"Copiar",commandCopied:"Comando copiado",commandCopyFailed:"Falha ao copiar",refresh:"Atualizar",checking:"Verificando",installStatus:"Status da instalação",installed:"Instalado",notInstalled:"Não instalado",installRequired:"{agent} não está instalado. Instale antes de criar uma sessão.",installNow:"Instalar",installing:"Instalando",installSuccess:"Instalado",installFailed:"Falha na instalação",installFailedHermesHint:"A instalação falhou. Peça ao Hermes para instalar para você.",installFailureReason:"Motivo",nodeEnvironmentMissing:"Node/npm não foi detectado. Instale o Node.js e tente novamente.",deleteNow:"Excluir",deleting:"Excluindo",deleteSuccess:"Excluído",deleteFailed:"Falha ao excluir",configFiles:"Arquivos de configuração",profileScope:"Perfil",providerScope:"Provedor",providerPlaceholder:"ex.: custom:glm",modelScope:"Modelo",modelPlaceholder:"Selecionar modelo",launchModeScope:"Modo de inicialização",launchModeGlobal:"Configuração global",launchModeScoped:"Provedor e modelo",protocolScope:"Protocolo",protocolOpenAiChat:"OpenAI Chat Completions (/v1/chat/completions)",protocolOpenAiResponses:"OpenAI Responses (/v1/responses)",protocolAnthropicMessages:"Anthropic Messages (/v1/messages)",reloadConfig:"Recarregar configuração",configFileNotCreated:"Não criado",configLoadFailed:"Falha ao ler arquivo de configuração",loadFailed:"Falha ao inspecionar agentes de código",launch:"Iniciar",launchTitle:"Iniciar agente de código",nativeTerminal:"Terminal nativo",builtInTerminal:"Terminal integrado",launchPrepared:"Configuração de inicialização preparada",launchPrepareFailed:"Falha ao preparar configuração de inicialização",nativeLaunchStarted:"Terminal nativo aberto",nativeLaunchFailed:"Falha ao abrir terminal nativo",terminalTitle:"Terminal do agente de código",loadProvidersFailed:"Falha ao carregar provedores do perfil atual",selectProviderModel:"Selecione um provedor e modelo",launchConfigDir:"Diretório de configuração de inicialização",launchCommand:"Comando de inicialização",table:{tool:"Ferramenta",kind:"Etapa",command:"Comando",note:"Nota",action:"Ação"},kinds:{install:"Instalar",auth:"Autenticação",health:"Saúde",run:"Executar"},notes:{claudeInstall:"Instala a CLI Claude Code globalmente.",codexInstall:"Instala a CLI Codex globalmente.",claudeAuth:"Verifica o estado de login do Claude Code; execute claude uma vez se o login estiver ausente.",codexAuth:"Adiciona credenciais OAuth do OpenAI Codex gerenciadas pelo Hermes.",claudeHealth:"Verifica o atualizador e a saúde da CLI local.",codexHealth:"Confirma que a CLI Codex está disponível no PATH.",claudeRun:"Print mode é o caminho mais limpo para tarefas únicas orientadas por API.",codexRun:"Tarefas únicas do Codex devem ser executadas dentro de um repositório git."}},platform:{requireMention:"Exigir mencao {'@'}",requireMentionGroup:"Exigir mencao {'@'} em grupos para responder",requireMentionChannel:"Exigir mencao {'@'} em canais para responder",requireMentionRoom:"Exigir mencao {'@'} em salas para responder",reactions:"Reacoes",reactionsHint:"Reagir a mensagens com emoji",freeResponseChats:"Chats de resposta livre",freeResponseChatsHint:"IDs de chats que respondem sem mencao {'@'} (separados por virgula)",freeResponseChannels:"Canais de resposta livre",freeResponseChannelsHint:"IDs de canais que respondem sem mencao {'@'} (separados por virgula)",freeResponseRooms:"Salas de resposta livre",freeResponseRoomsHint:"IDs de salas que respondem sem mencao {'@'} (separados por virgula)",mentionPatterns:"Padroes de mencao personalizados",mentionPatternsHint:"Padroes de acionamento adicionais",autoThread:"Thread automatica",autoThreadHint:"Criar automaticamente threads de resposta apos mencao {'@'}",autoThreadHintRoom:"Criar automaticamente threads de resposta em salas",dmMentionThreads:"Threads de mencao em DM",dmMentionThreadsHint:"Usar respostas em thread para mencoes em DMs",allowBots:"Permitir mensagens de bots",allowBotsHint:"Responder a mensagens de outros bots",allowedChannels:"Canais permitidos",allowedChannelsHint:"Lista branca de IDs de canais (separados por virgula)",ignoredChannels:"Canais ignorados",ignoredChannelsHint:"Canais onde o bot nunca responde (separados por virgula)",noThreadChannels:"Canais sem thread",noThreadChannelsHint:"Canais onde o bot responde sem threads (separados por virgula)",exclusiveTokenWarning:"Esta plataforma usa bloqueio exclusivo de token. Cada perfil deve usar um token de identidade diferente para evitar conflitos com outros perfis.",botToken:"Token do bot",botTokenHint:"Token do bot do portal do desenvolvedor",proxyUrl:"URL do proxy",proxyUrlHint:"Proxy opcional da plataforma. Suporta http://, https:// e socks5://",accessToken:"Token de acesso",accessTokenHint:"Token de acesso Matrix",homeserver:"URL do homeserver",homeserverHint:"URL do homeserver Matrix",matrixUserId:"ID de usuario Matrix",matrixUserIdHint:"Obrigatorio com senha; opcional com token",matrixPassword:"Senha Matrix",matrixPasswordHint:"Alternativa ao token de acesso",appId:"ID do aplicativo",appIdHint:"ID do aplicativo Feishu",appSecret:"Segredo do aplicativo",appSecretHint:"Segredo do aplicativo Feishu",encryptKey:"Chave de criptografia",encryptKeyHint:"Chave de criptografia do Feishu",verificationToken:"Token de verificação",verificationTokenHint:"Token de verificação do Feishu",clientId:"ID do cliente",clientIdHint:"ID do cliente DingTalk",clientSecret:"Segredo do cliente",clientSecretHint:"Segredo do cliente DingTalk",cardTemplateId:"ID do modelo de cartão IA",cardTemplateIdHint:"ID do modelo de cartão IA do DingTalk; deixe vazio para desativar os cartões IA",botId:"ID do bot",botIdHint:"ID do bot WeCom",wecomSecretHint:"Segredo do bot WeCom",waEnabled:"Ativar WhatsApp",waEnabledHint:"Ativar WhatsApp via pareamento por codigo QR",weixinToken:"Token Weixin",weixinTokenHint:"Do login QR da CLI weixin (hermes weixin)",accountId:"ID da conta",accountIdHint:"ID da conta Weixin",qrLogin:"Login por QR",qrRelogin:"Reconectar",qrFetching:"Buscando codigo QR...",qrScanHint:"Escaneie com WeChat para fazer login",qrScanedHint:"Escaneado, por favor confirme no celular...",qqSandboxHint:"Ativar ambiente sandbox (para testes)",qqSandbox:"Modo sandbox",qqQrScanHint:"Escaneie o QR code com QQ ou abra o link no celular para concluir a vinculação",qqMarkdownHint:"Ativar mensagens em formato Markdown (alguns clientes podem não suportar)",qqMarkdown:"Suporte a Markdown",qqAppSecretHint:"App Secret do bot QQ Open Platform",qqAppSecret:"App Secret",qqAppIdHint:"App ID do bot QQ Open Platform",qqAppId:"App ID",allowedUsersHint:"Lista de permissões de IDs de usuário ou OpenID, separados por vírgula",allowedUsers:"Usuários permitidos",allowAllUsersHint:"Permite mensagens de qualquer usuário; desative para usar a lista de permissões",allowAllUsers:"Permitir todos os usuários"},language:{label:"Idioma",zh:"中文",en:"English",pt:"Portugues"},terminal:{sessions:"Sessoes",newTab:"Novo terminal",closeSession:"Fechar esta sessao?",sessionExited:"Encerrada",processExited:"Processo encerrado com codigo {code}",noSessions:"Nenhuma sessão de terminal",connectionFailed:"Falha ao conectar ao terminal",connectionError:"Erro de conexão",connectionClosed:"Conexão fechada"},usage:{title:"Estatisticas de uso",refresh:"Atualizar",totalTokens:"Total de tokens",inputTokens:"Entrada",outputTokens:"Saida",totalSessions:"Total de sessoes",avgPerDay:"~{n}/dia em media",estimatedCost:"Custo est.",cacheHitRate:"Taxa de acerto de cache",modelBreakdown:"Detalhamento por modelo",agentBreakdown:"Detalhamento por agente",agents:{hermes:"Hermes Agent",claudeCode:"Claude Code",codex:"Codex",ekkoAgent:"Ekko Agent",unknown:"Desconhecido"},dailyTrend:"Uso diario",date:"Data",tokens:"Tokens",cache:"Cache",cacheRead:"Leitura de cache",cacheWrite:"Escrita de cache",sessions:"Sessoes",cost:"Custo",noData:"Sem dados de uso"},skillsUsage:{title:"Uso de habilidades",subtitle:"Acompanhe carregamentos e edições de habilidades nas sessões Hermes",refresh:"Atualizar",periodSelector:"Período de uso de habilidades",periodLabel:"{days} d",summary:"Resumo",totalActions:"Ações",loads:"Carga",edits:"Ed.",distinctSkills:"Habs.",topSkills:"Top habs.",dailyTrend:"Tendência diária",periodSummary:"Últimos {days} dias",skill:"Hab.",share:"%",lastUsed:"Últ. uso",noData:"Nenhum dado de uso de habilidades",loadFailed:"Falha ao carregar o uso de habilidades",otherSkills:"Outras habs."},workflow:{actions:{importWorkflow:"Importar Workflow",exportWorkflow:"Exportar Workflow",imported:"Workflow importado",exported:"Workflow exportado",importFailed:"Falha ao importar o Workflow",exportFailed:"Falha ao exportar o Workflow"},stats:{nodes:"nós",edges:"conexões"},evidence:{ariaLabel:"Detalhes de execução do Workflow",title:"Detalhes de execução",count:"{count} itens",intro:"Mostra as decisões de caminho, as iterações de loop e os nós excepcionais desta execução.",empty:"Sem detalhes de execução",loadFailed:"Não foi possível carregar os detalhes de execução salvos",node:"Nó excepcional",edge:"Caminho",loop:"Loop",pathTitle:"{source} → {target}",loopPass:"Iteração {count} do loop",exceptionalNode:"Este nó não terminou normalmente.",technical:"Informações técnicas",recordId:"ID do registro",sequence:"Sequência",rawStatus:"Status original",rawRoute:"Rota",rawReason:"Motivo",iterationPath:"Caminho da iteração",statuses:{taken:"Usado",notTaken:"Não usado",evaluationFailed:"Falha na avaliação",timedOut:"Tempo esgotado",blocked:"Bloqueado"},routes:{success:"Continuou após sucesso",failure:"Continuou após falha",always:"Continuou independentemente do resultado"},reasons:{evaluationFailed:"Falha na avaliação do caminho",conditionNotMatched:"A condição não correspondeu",iterationLimitReached:"Limite máximo de iterações atingido",routeNotMatched:"A rota não correspondeu"},loopOutcomes:{continued:"Condição atendida; próxima iteração",iterationLimitReached:"Parou no máximo de iterações",conditionNotMatched:"Parou porque a condição não correspondeu",finished:"Loop concluído"}},edgeEditor:{title:"Editar conexão",guideIntro:"Uma conexão só é usada quando a rota e a condição opcional correspondem. Escolha “Somente rota” se não precisar verificar conteúdo.",route:"Rota",routes:{success:"Somente sucesso (success)",failure:"Somente falha (failure)",always:"Sempre (always)"},routeHelp:"Primeiro é verificado o resultado do nó de origem; se houver condição, ela também deve corresponder.",routeExample:"Exemplo: success para fluxo normal, failure para erros e always para limpeza.",conditionPath:"O que esta conexão deve verificar?",conditionPathPlaceholder:"Caminho avançado, por exemplo output",conditionPathOptions:{routeOnly:"Somente rota — sem condição",outputRecommended:"Texto da resposta com sucesso (output, recomendado)",output:"Texto da resposta com sucesso (output)",errorRecommended:"Texto do erro (error, recomendado)",error:"Texto do erro (error)",custom:"Caminho personalizado (avançado)"},conditionPathHelp:{success:"Para success, output é recomendado. Escolha “Somente rota” se não precisar verificar a resposta.",failure:"Para failure, error é recomendado. Escolha “Somente rota” se não precisar verificar o erro.",always:"Use output para sucesso ou error para falha; “Somente rota” ignora o conteúdo."},operator:"Operador",operators:{equals:"Igual (equals)",not_equals:"Diferente (not_equals)",contains:"Contém (contains)",not_contains:"Não contém (not_contains)",exists:"Existe (exists)",not_exists:"Não existe (not_exists)",greater_than:"Maior que (greater_than)",greater_than_or_equal:"Maior ou igual (greater_than_or_equal)",less_than:"Menor que (less_than)",less_than_or_equal:"Menor ou igual (less_than_or_equal)",in:"Está na lista (in)",not_in:"Não está na lista (not_in)"},operatorHelp:{equals:"Valor e tipo devem ser exatamente iguais.",not_equals:"O valor ou tipo é diferente.",contains:"O texto contém texto ou o array contém o item.",not_contains:"O texto ou array não contém o item.",exists:"Corresponde quando o caminho existe; não requer valor.",not_exists:"Corresponde quando o caminho não existe; não requer valor.",greater_than:"Ambos devem ser números JSON; o valor real é maior.",greater_than_or_equal:"Ambos devem ser números JSON; o valor real é maior ou igual.",less_than:"Ambos devem ser números JSON; o valor real é menor.",less_than_or_equal:"Ambos devem ser números JSON; o valor real é menor ou igual.",in:"Valor deve ser um array JSON que contenha o valor real.",not_in:"Valor deve ser um array JSON que não contenha o valor real."},value:"Valor",invalidConditionValue:"O valor da condição deve ser JSON válido",conditionValuePlaceholder:'JSON: "texto", 42, true, ["a"]',valueType:"Tipo do valor",valueTypes:{string:"Texto",number:"Número",boolean:"Booleano",null:"Nulo",array:"Array",object:"Objeto"},valueTypeHelp:"Escolha como o valor será interpretado e validado. O tipo é inferido do valor JSON salvo e não é armazenado separadamente.",conditionValuePlaceholders:{string:"Texto, por exemplo APPROVED",number:"Número, por exemplo 42",boolean:"true ou false",null:"null",array:'Array JSON, por exemplo ["a", 2]',object:`Objeto JSON, por exemplo {'{'}"status":"ready"{'}'}`},invalidValueTypes:{string:"O valor deve ser texto.",number:"O valor deve ser um número válido.",boolean:"O valor deve ser true ou false.",null:"O valor deve ser null.",array:"O valor deve ser um array válido.",object:"O valor deve ser um objeto válido."},valueHelp:"Insira um valor do tipo selecionado. Objetos e arrays usam JSON; textos são inseridos sem aspas JSON.",feedback:"Loop de feedback",feedbackHelp:"Marca esta conexão de retorno como loop limitado. Repete apenas enquanto rota e condição correspondem.",maxIterations:"Máximo de iterações",maxIterationsHelp:"Total de passagens do loop, de 1 a 100; o orçamento global também se aplica.",invalidIterations:"O máximo de iterações deve ser um inteiro entre 1 e 100",loopId:"Identidade do loop",loopIdPlaceholder:"Selecione automático ou digite um ID",loopIdAutomatic:"Automático (recomendado) · {id}",loopIdHelp:"Apenas identifica o loop no histórico e não muda quando ele executa. Mantenha automático salvo uso avançado.",invalidLoopId:"Formato de ID do loop inválido"},node:{approvalRequired:"Aprovação após o nó",join:"Estratégia de junção",joinAll:"Todas as rotas de entrada",joinAny:"Qualquer rota de entrada",joinAllHelp:"Executa apenas se todas as rotas de entrada forem tomadas; caso contrário, o nó é ignorado.",joinAnyHelp:"Executa uma vez na primeira rota tomada; só é ignorado quando nenhuma corresponde."},status:{pending_approval:"Aguardando aprovacao",approval_rejected:"Aprovacao rejeitada"}},changelog:{new_0_6_29_1:"Esta versão reúne os 14 PRs mesclados após 0.6.28: consistência visual, áudio MCU e hardware v2, diffs de workspace, análise de uso, atualizações Docker e clonagem de voz MiMo",new_0_6_29_2:"Cabeçalhos, superfícies escuras e raios seguem um único sistema visual, e a prévia ordena tags válidas por versão semântica (#2014, #2015)",new_0_6_29_3:"A página do produto ESP32 ganhou um redesign responsivo e o seletor do site agora inclui Hermes Agent 0.18.2 (#2020, #2042)",new_0_6_29_4:"O ESP32-C3 v1 usa IMA-ADPCM para reduzir o áudio de uplink a cerca de um quarto da banda, grava por até dois minutos e restaura o IP LAN no OLED após estados temporários (#2024, #2025)",new_0_6_29_5:"Diffs de workspace começam recolhidos e ignoram alterações de zero linhas, enquanto o fundo escuro padrão do compositor foi restaurado (#2032)",new_0_6_29_6:"A exportação tolera sinais de porcentagem inválidos em nomes; atualizações Docker mostram instruções de pull/recreate em vez de alterar npm dentro do contêiner (#2026, #2033)",new_0_6_29_7:"Resultados Bridge continuam armazenados por completo, mas no contexto do modelo são resumidos a 5.500 caracteres do início e fim (#2036)",new_0_6_29_8:"A análise unifica chamadas de Hermes Agent, Claude Code, Codex e Ekko Agent e adiciona uma visão de distribuição por agente (#2039)",new_0_6_29_9:"Um firmware ESP32-C3 v2 separado adiciona o novo mapa de pinos sem afetar v1; v2 usa volume padrão de 80%, ganho PCM de 1,5x e limitação suave (#2044, #2045)",new_0_6_29_10:"A clonagem de voz MiMo restaura o upload WAV/MP3 e envia a referência por audio.voice conforme exigido pela API atual (#2046)",new_0_6_28_1:"Esta versão cobre todos os PRs mesclados após a 0.6.27, incluindo gestão de MCU, diffs de workspace no Group Chat, correções do Coding Agent, aprovações de Workflow, filtro de diffs, seleção de modelo em jobs agendados e aviso desktop de nova versão",new_0_6_28_2:"MCU adiciona gestão de dispositivos, exige token API para eventos global-agent, atualiza o firmware ESP32-C3 e estabiliza o login do relay remoto",new_0_6_28_3:"Mudanças de workspace do Group Chat são persistidas como workspace diff runs para revisar a atividade do agent da sala após a sessão",new_0_6_28_4:"Coding Agents herdam servidores MCP externos com escopo, roteiam aborts de workflow agent corretamente e exportam best-effort sessões nativas Codex e Claude Code concluídas",new_0_6_28_5:"As sessões corrigem o drawer de arquivos workspace, removem embeds quebrados do histórico favorito e gravam metadados ended_at/end_reason para sessões bridge",new_0_6_28_6:"Nós de Workflow agora suportam approval gates após a conclusão e corrigem estados de aprovação em reexecuções",new_0_6_28_7:"Diffs de workspace filtram sidecars SQLite WAL/SHM e continuam escaneando além de arquivos inalterados para manter novos arquivos comuns visíveis",new_0_6_28_8:"Jobs agendados podem escolher e persistir provider/model sem passar flags de modelo não suportados para a CLI Hermes cron atual",new_0_6_28_9:"A gestão de versões desktop mostra um aviso localizado de nova versão no botão, e o manifest público inclui 0.6.28",new_0_6_27_1:"Esta versão cobre todos os PRs mesclados após a 0.6.26, incluindo fallback de inicialização do desktop, correções do runtime no Windows, relay remoto do MCU, workspaces no chat em grupo, ajustes do workspace padrão e filtro de diffs vazios",new_0_6_27_2:"A inicialização do desktop agora usa o Web UI incluído como fallback quando o diretório active Web UI está ausente ou incompleto, preservando o runtime fixado",new_0_6_27_3:"Os runtimes do desktop no Windows agora usam wrappers hermes.cmd relocáveis em vez de trampolines .exe frágeis para chamadas do Web UI server",new_0_6_27_4:"O tráfego do MCU remoto agora usa o relay Socket.IO /global-agent, com login e descoberta do ESP32-C3 mais estáveis, fila de reprodução de voz, persistência de credenciais Wi-Fi e firmware atualizado",new_0_6_27_5:"As salas de Group Chat agora podem ter um workspace validado que é passado para runs do group-agent, enquanto membros somente leitura não veem workspace, invite code nem controles de gerenciamento",new_0_6_27_6:"Os favoritos do workspace padrão agora ficam na linha de path selecionado do folder picker, com cobertura de locale concluída para os labels do workspace picker",new_0_6_27_7:"Os cards de diff do workspace agora ignoram mudanças de 0 byte sem patch nem delta de linhas, evitando cards de arquivo alterado +0/-0 sem significado",new_0_6_26_1:"Esta versão cobre os PRs mesclados após a 0.6.25, com foco no Ekko Agent, exibição de context do Coding Agent, Journey, baselines do chat em grupo, correções do desktop e tamanho do payload MCP",new_0_6_26_2:"O Ekko Agent agora está disponível no chat com tratamento de runtime context, browser tools, tool events mais estáveis e histórico de tool-result restaurado para cálculo de uso de context",new_0_6_26_3:"As sessões do Coding Agent agora mostram reasoning e configurações de context com mais clareza, persistem API mode, evitam uso incorreto do Codex app-server mode e impedem saltos no context usage após turnos de continuação",new_0_6_26_4:"O Journey ganhou uma visualização de learning graph com interações mais refinadas, enquanto o chat em grupo recebeu baseline coverage para a nova linha de recursos",new_0_6_26_5:"A confiabilidade do desktop melhorou com correções de login persistence e reset flow, fallback de porta dinâmica do Windows worker, tratamento de stdout/stderr EPIPE e empacotamento isolado do firmware ESP32-C3 v1",new_0_6_26_6:"O Hermes Studio MCP agora retorna por padrão um resumo compacto de available-models, com filtros e uma opção full-detail explícita para evitar excesso de dados no agent context",new_0_6_25_1:"Corrige falhas de execute_code com Hermes Agent 0.18.0 ao encaminhar o novo parametro has_host_access pelo wrapper de memoria de aprovacoes do Agent Bridge",new_0_6_24_1:"Esta versao cobre os PRs mesclados depois da 0.6.23 e melhora entrada de chat, visibilidade de workspaces, gestao de plugins, modelos padrao e revisao de diffs",new_0_6_24_2:"As entradas de chat individual e em grupo usam uma barra integrada, controles compactos de modelo, configuracoes agrupadas, uso de contexto mais claro, melhor mobile chrome e redimensionamento manual restaurado no chat individual",new_0_6_24_3:"Mudancas de workspace run aparecem como cards de diff persistentes com drawer lateral para ver diffs e editar arquivos, restaurados apos retomar a sessao e ajustados para mobile",new_0_6_24_4:"O seletor de pastas workspace navega melhor por drives e junctions no Windows e mostra pastas com ponto como .hermes, .config e .codex mantendo as verificacoes de WORKSPACE_BASE",new_0_6_24_5:"A pagina Plugins permite ativar ou desativar plugins de usuario gerenciaveis e reflete melhor o estado combinado da configuracao base do Hermes e do profile atual",new_0_6_24_6:"A pagina Models adiciona acoes de provider e modelo padrao; a deteccao de erros terminal bridge reduz falsos positivos, o runtime Hermes Agent vai para 0.18.0 e o manifest de versoes do site foi atualizado"}};export{e as default};
|
|
1
|
+
var e={login:{title:"Hermes Studio",description:"Insira seu nome de usuario e senha para continuar.",placeholder:"Token de acesso",submit:"Entrar",tokenRequired:"Por favor, insira seu token de acesso",invalidToken:"Token invalido",connectionFailed:"Nao foi possivel conectar ao servidor",passwordLogin:"Senha",tokenLogin:"Token",usernamePlaceholder:"Nome de usuario",passwordPlaceholder:"Senha",defaultCredentialsHint:"Nome de usuario padrao: admin. Senha padrao: 123456.",credentialsRequired:"Por favor, insira nome de usuario e senha",invalidCredentials:"Nome de usuario ou senha incorretos",tooManyAttempts:"Muitas tentativas falhadas, por favor tente novamente mais tarde",lockResetHint:"Se este for seu servidor, limpe o bloqueio de login com:",defaultLoginResetHint:"Para redefinir a senha admin padrao, execute:",desktopLockResetHint:"Too many failed login attempts. Open the system tray menu and choose Reset Login to reset the password.",sessionExpired:"Login expirado. Entre novamente.",accessDenied:"Voce nao tem permissao para acessar este recurso.",passwordMismatch:"As senhas nao conferem",passwordTooShort:"A senha deve ter pelo menos 6 caracteres",setupSuccess:"Login por senha configurado com sucesso",passwordChanged:"Senha alterada com sucesso",passwordRemoved:"Login por senha removido",setupPassword:"Configurar login por senha",changePassword:"Alterar senha",changeUsername:"Alterar nome de usuario",removePasswordLogin:"Remover",username:"Nome de usuario",currentPassword:"Senha atual",newPassword:"Nova senha",confirmPassword:"Confirmar senha",newUsername:"Novo nome de usuario",usernameChanged:"Nome de usuario alterado com sucesso",usernameTooShort:"O nome de usuario deve ter pelo menos 2 caracteres",setupDescription:"Gerencie o nome de usuario e a senha usados para entrar.",removeConfirm:"Login por senha e obrigatorio para contas de usuario.",passwordLoginNotConfigured:"Login por senha nao configurado",passwordLoginConfigured:"Conta atual: {username}",defaultCredentialTitle:"Altere a conta e senha padrao",defaultCredentialMessage:"A conta atual ainda usa o nome de usuario ou a senha padrao. Para evitar acesso nao autorizado, altere o nome de usuario e a senha da conta atual o quanto antes.",defaultCredentialAction:"Alterar agora",defaultCredentialLater:"Lembrar depois"},users:{title:"Gerenciamento de contas",description:"Crie usuarios, atribua funcoes e controle quais perfis administradores comuns podem acessar.",create:"Criar usuario",edit:"Editar usuario",username:"Nome de usuario",role:"Funcao",statusLabel:"Status",profiles:"Perfis acessiveis",profilesPlaceholder:"Selecione perfis acessiveis",allProfiles:"Todos os perfis",noProfiles:"Nenhum perfil atribuido",lastLogin:"Ultimo login",newPasswordOptional:"Nova senha (deixe em branco para manter)",loadFailed:"Falha ao carregar usuarios",deleteConfirm:"Excluir este usuario?",enable:"Ativar",disable:"Desativar",roles:{superAdmin:"Super admin",admin:"Admin"},status:{active:"Ativo",disabled:"Desativado"}},common:{loading:"Carregando...",cancel:"Cancelar",retry:"Tentar novamente",reset:"Redefinir",delete:"Excluir",edit:"Editar",save:"Salvar",saved:"Salvo",update:"Atualizar",create:"Criar",saveFailed:"Falha ao salvar",deleteFailed:"Falha ao excluir",ok:"OK",copied:"Copiado",copy:"Copiar",noData:"Sem dados",fetch:"Buscar",add:"Adicionar",enable:"Ativar",disable:"Desativar",configured:"Configurado",notConfigured:"Nao configurado",confirm:"Confirmar",expand:"Expandir",collapse:"Recolher",stop:"Parar",start:"Iniciar",expired:"Expirado"},mcp:{title:"Servidores MCP",loadFailed:"Falha ao carregar servidores MCP",reloadAll:"Recarregar todos",refresh:"Atualizar",total:"Total",connected:"Conectado",disconnected:"Desconectado",tools:"ferramentas",tool:"Ferramentas",searchPlaceholder:"Pesquisar servidores...",addServer:"+ Adicionar servidor",zeroTools:"0 ferramentas",loading:"Carregando...",empty:"Nenhum servidor MCP configurado",reloaded:"{server} recarregado",reloadedAll:"Todos os servidores MCP recarregados",reloadFailed:"Falha ao recarregar",serverAdded:'Servidor "{name}" adicionado',addFailed:"Falha ao adicionar servidor",serverUpdated:'Servidor "{name}" atualizado',updateFailed:"Falha ao atualizar servidor",saveFailed:"Falha ao salvar",serverRemoved:'"{name}" removido',enabled:"Habilitado: {name}",disabled:"Desabilitado: {name}",connectedStatus:"Conectado",disconnectedStatus:"Desconectado",disabledStatus:"Desativado",toolList:"Lista de ferramentas",count:" ",more:"mais",removeFailed:"Falha ao remover servidor",testOk:"Teste OK — {count} ferramentas disponiveis",testEmpty:"O teste nao retornou ferramentas",testFailed:"Falha no teste",edit:"Editar",test:"Testar",reload:"Recarregar",remove:"Remover",confirmRemove:'Remover servidor "{name}"?',cancel:"Cancelar",add:"Adicionar",save:"Salvar",addTitle:"Adicionar servidor MCP",editTitle:"Editar servidor MCP",invalidJson:"JSON inválido",invalidYaml:"Formato YAML inválido",invalidConfig:"Configuração inválida",invalidServerConfig:"Configuração do servidor inválida",missingCommandOrUrl:"Deve conter command ou url",manageTools:"Gerenciar ferramentas",toolsVisibilityTitle:"Gerenciamento de visibilidade de ferramentas",fetchTools:"Obter lista de ferramentas",fetchToolsFailed:"Falha ao obter lista de ferramentas",toolsMode:"Modo:",toolsModeAll:"Todas",toolsModeInclude:"Incluir",toolsModeExclude:"Excluir",toolsListHeader:"Nome da ferramenta",toolsEmpty:"Nenhuma ferramenta disponível, obtenha a lista de ferramentas primeiro",toolsSummaryAll:"{count} ferramentas no total, todas habilitadas",toolsSummaryInclude:"{total} ferramentas no total, {count} selecionadas",toolsSummaryExclude:"{total} ferramentas no total, {count} excluídas",toolsVisibilitySaved:"Visibilidade das ferramentas salva",toolsSelectAll:"Selecionar tudo",toolsClearSelection:"Limpar seleção",toolsExcludeAll:"Excluir tudo",toolsClearExcluded:"Limpar exclusões"},sidebar:{chat:"Chat",backToChat:"Voltar",search:"Pesquisar",apiRelay:"API Relay",history:"Historico",jobs:"Tarefas agendadas",models:"Modelos",profiles:"Perfis",plugins:"Plugins",mcp:"MCP",petdex:"Pets",skills:"Habilidades",memory:"Memoria",logs:"Logs",usage:"Uso",performance:"Desempenho",journey:"Jornada",skillsUsage:"Uso de habilidades",channels:"Canais",terminal:"Terminal",singleChat:"Chat",globalAgent:"Global Agent",files:"Arquivos",devices:"Dispositivos",groupChat:"Chat em grupo",groupConversation:"Conversa",groupConversationShort:"Conv.",groupAgent:"Agente",groupAgentShort:"Ag.",groupSystem:"Sistema",groupSystemShort:"Sist",groupMonitoring:"Monitoramento",groupMonitoringShort:"Mon.",settings:"Configuracoes",connected:"Conectado",disconnected:"Desconectado",updateTip:'Execute "hermes-web-ui update" no terminal para atualizar',updateVersion:"Atualizar para v{version}",reloadClientVersion:"Recarregar para v{version}",updating:"Atualizando...",updateSuccess:"Atualizacao concluida. Atualize a pagina em breve. Se nao iniciar apos algum tempo, inicie manualmente.",updateFailed:"Falha na atualizacao",logout:"Sair",nodeVersionWarning:"Node.js v{version} detectado. Atualize para a versao 23 ou posterior.",changelog:"Registro de alteracoes",noChangelog:"Nenhum registro disponivel",versionManagement:"Gerenciamento de versões",updateAvailableLabel:"(Nova versão)",dockerUpdateTitle:"Atualização Docker",dockerUpdateGuide:"No ambiente Docker, obtenha a imagem mais recente e recrie o contêiner:",dockerUpdateNote:"Seus dados serão preservados após a recriação do contêiner.",kanban:"Kanban",workflow:"Workflow",groupTools:"Ferramentas",groupToolsShort:"Ferr.",codingAgents:"Agentes de código",versionPreview:"Prévia de versão",groupPlatform:"Plataforma",gateways:"Gateways",expand:"Expandir menu",collapse:"Recolher menu"},runtimeVersions:{title:"Gerenciamento de versões",runtimeTitle:"Hermes Runtime",webUiTitle:"Web UI",platform:"Plataforma",currentWebUi:"Web UI atual",activeVersion:"Versão ativa",active:"Ativa",installed:"Instalada",download:"Baixar",downloadGithub:"Baixar do GitHub",downloadCf:"Baixar do Cloudflare",github:"GitHub",cf:"Cloudflare",useVersion:"Usar na próxima reinicialização",deleteVersion:"Excluir",deleteRuntimeConfirm:"Excluir Hermes Runtime {version}?",deleteWebUiConfirm:"Excluir Web UI {version}?",deleteRuntimeSuccess:"Runtime excluído",deleteWebUiSuccess:"Web UI excluído",refresh:"Atualizar",noVersions:"Nenhuma versão disponível",remoteLoadFailed:"Falha ao carregar versões remotas",downloadTasks:"Tarefas de download",downloadStarted:"Download iniciado",activateSuccess:"Seleção de versão salva. Reinicie o Hermes Studio para usá-la.",jobStatus:{queued:"Na fila",running:"Em execução",completed:"Concluída",failed:"Falhou"},jobStageStatus:{queued:"Na fila",resolve:"Resolvendo",download:"Baixando",verify:"Verificando",extract:"Extraindo",install:"Instalando",completed:"Concluída",failed:"Falhou"},jobStage:{queued:"Na fila",download:"Baixando",resolveRuntime:"Resolvendo pacote Runtime",verifyRuntime:"Verificando arquivo Runtime",extractRuntime:"Extraindo arquivo Runtime",installRuntime:"Instalando Runtime",resolveWebUi:"Resolvendo pacote Web UI",verifyWebUi:"Verificando arquivo Web UI",extractWebUi:"Extraindo arquivo Web UI",installWebUi:"Instalando Web UI",completed:"Concluída",failed:"Falhou"}},mcuDevices:{title:"Little Box",subtitle:"View device link status",name:"Name",nameOptional:"Name is optional",deviceCode:"Device code",deviceCodePlaceholder:"Enter device code",deviceCodeRequired:"Enter device code",channel:"Channel",official:"Official",unofficial:"Unofficial",createdAt:"Added at",lanStatus:"LAN",remoteStatus:"Remoto",connected:"Conectado",disconnected:"Desconectado",remoteConnect:"Conectar remoto",remoteConnected:"Remoto conectado",remoteConnectFailed:"Falha ao conectar remoto",remoteDisconnect:"Desconectar",remoteDisconnected:"Remoto desconectado",remoteDisconnectFailed:"Falha ao desconectar remoto",actions:"Actions",add:"Add",addTitle:"Add MCU device",added:"MCU device added",addFailed:"Failed to add MCU device",purchase:"Buy",edit:"Edit",editNameTitle:"Edit name",nameUpdated:"Name updated",nameUpdateFailed:"Failed to update name",delete:"Delete",deleteTitle:"Delete MCU device",deleteConfirm:'Delete "{name}"?',deleted:"MCU device deleted",deleteFailed:"Failed to delete MCU device",loadFailed:"Failed to load MCU devices",close:"Close"},devices:{title:"Dispositivos",count:"{count} dispositivos",lastScanned:"Última varredura: {time}",refresh:"Atualizar",empty:"Nenhum dispositivo encontrado",computer:"Computador",endpointLabel:"Ponto de acesso",statusLabel:"Estado",online:"Online",offline:"Offline",address:"Endereço",os:"Sistema operacional",agentVersion:"Agent",webUiVersion:"Web UI",responseMs:"Latência",lastSeen:"Visto por último",open:"Abrir",never:"Nunca",unknown:"Desconhecido",loadFailed:"Falha ao carregar dispositivos",scanFailed:"Falha ao escanear dispositivos",updateFailed:"Falha ao atualizar dispositivo",duplicateRequest:"Já existe uma solicitação de pareamento pendente",manualPairing:"Pair by URL",copyPairingLink:"Copy pairing link",manualUrlPlaceholder:"https://device.example.com",manualUrlRequired:"Enter a device URL",manualRequestSent:"Pairing request sent",manualRequestFailed:"Failed to request remote pairing",pairingLinkCopied:"Pairing link copied",pairingLinkCopyFailed:"Failed to copy pairing link",pairingCodeTitle:"Enter pairing code",pairingCodePlaceholder:"Pairing code",pairingCodeRequired:"Enter the pairing code",submitPairingRequest:"Submit request",processed:"Processado",unprocessed:"Não processado",deleteHistory:"Excluir registro",deleteHistoryConfirm:"Excluir este registro de solicitação e revogar o acesso de conexão deste dispositivo?",requests:"Solicitações",requestsWithCount:"Solicitações ({count})",noRequests:"Nenhuma solicitação",requestPairing:"Solicitar pareamento",paired:"Pareado",approve:"Aprovar",reject:"Rejeitar",block:"Bloquear",unblock:"Desbloquear",inboundStatus:{none:"Pode solicitar",pending:"Pendente",approved:"Aprovado",rejected:"Rejeitado",blocked:"Bloqueado"},outboundStatus:{none:"Não pareado",pending:"Solicitado",approved:"Pareado",rejected:"Rejeitado",blocked:"Bloqueado"},endpoint:{web:"Web",desktop:"Aplicativo desktop",custom:"Personalizado"}},performance:{title:"Desempenho",subtitle:"Monitore recursos do sistema, Bridge Broker, Workers e sessões ativas",refresh:"Atualizar",autoRefreshOn:"Atualização automática",autoRefreshOff:"Atualização manual",loadFailed:"Falha ao carregar métricas de desempenho",systemCpu:"CPU do sistema",systemMemory:"Memória do sistema",activeSessions:"Sessões ativas",runningSessions:"Em execução {count}",workers:"Workers",totalWorkerMemory:"Memória total de Worker",processes:"Processos",uptime:"Tempo ativo",running:"Em execução",stopped:"Parado",workerMemory:"Memória de Worker",lastUpdated:"Atualizado",profile:"Profile",memory:"Memória",sessions:"Sessões",runningActiveSessions:"Em execução / Ativas",lastUsed:"Último uso",status:"Status",noWorkers:"Nenhum Worker",sessionsByProfile:"Sessões por Profile",noActiveSessions:"Nenhuma sessão ativa"},journey:{title:"Jornada de aprendizado",play:"Reproduzir jornada",pause:"Pausar jornada",refresh:"Atualizar",categorySelection:"Seleção de categorias",nodeKinds:"Tipos de nó",description:"Descrição",canvasInstructions:"Use as setas para pré-visualizar nós, Enter para abrir detalhes e Escape para limpar a seleção.",loadFailed:"Falha ao carregar a jornada",nodes:"Nos",edges:"Conexoes",skills:"Habilidades",memories:"Memorias",clusters:"Grupos",profile:"Profile",source:"Origem",learnedSkills:"Habilidades aprendidas",memorySkillEdges:"Links de memoria",allKinds:"Todos os tipos",allCategories:"Todas as categorias",searchPlaceholder:"Buscar nos",noClusters:"Sem grupos",noNodes:"Sem nos de jornada",noCategory:"Sem categoria",category:"Categoria",useCount:"Usos",createdBy:"Criado por",timestamp:"Hora",pinned:"Fixado"},drawer:{terminal:"Terminal",files:"Espaço de trabalho"},realtimeVoice:{title:"Voz em tempo real",mode:"Modo de voz",open:"Abrir voz em tempo real",back:"Voltar ao chat",connected:"Conexão de voz pronta",turnMode:"Prévia em tempo real · por turnos",browserStt:"Navegador",browserTts:"Navegador",untitledSession:"Conversa sem título",sessionMissing:"A conversa não está disponível.",networkUnavailableNoFallback:"O reconhecimento de voz do navegador está offline e não há um STT alternativo utilizável configurado.",liveTranscript:"Transcrição ao vivo",transcriptPlaceholder:"Toque no núcleo de voz e comece a falar",recentTurns:"Turnos recentes",you:"Você",mute:"Silenciar saída",unmute:"Ativar som",finishTurn:"Concluir turno",speak:"Começar a falar",end:"Encerrar",status:{idle:"Pronto",paused:"Microfone desligado",listening:"Ouvindo",processing:"Transcrevendo",thinking:"{agent} está pensando",speaking:"{agent} está falando",error:"Conexão de voz interrompida"},hint:{idle:"Toque no centro para iniciar um turno de voz",paused:"Ligue o microfone quando estiver pronto",listening:"Faça uma pausa para enviar ou toque para concluir",listeningManual:"Gravando. Toque novamente no centro para parar e transcrever",processing:"Convertendo sua voz em texto",thinking:"Sua mensagem foi enviada à conversa atual",speaking:"Você pode interromper a qualquer momento",error:"Toque no centro para tentar novamente"}},chat:{contextRemaining:"restante",contextClickToEdit:"Clique para editar o tamanho do contexto",contextEditTitle:"Editar tamanho do contexto",contextEditDesc:"Definir o limite de tamanho do contexto para o modelo atual (em tokens)",contextEditPlaceholder:"Digite o tamanho do contexto",contextEditHint:"Valores comuns: 256k (Hermes padrão), 128k (GPT-4), 32k (GPT-3.5)",contextEditSave:"Salvar",contextEditCancel:"Cancelar",contextEditInvalid:"Por favor, insira um tamanho de contexto válido",contextEditSuccess:"Tamanho do contexto atualizado",contextEditFailed:"Falha na atualização",emptyState:"Inicie uma conversa com o Hermes Agent",emptyStateAgent:"Inicie uma conversa com {agent}",viewOlderInHistory:"Ver mensagens anteriores no historico",scrollToBottom:"Rolar ate o fim",outlineTitle:"Esboço da conversa",outlineEmpty:"Nenhum conteúdo da conversa",outlineUserQuestion:"Pergunta do usuário",inputPlaceholder:"Digite uma mensagem... (Enter para enviar, Shift+Enter para nova linha)",inputHeightResizeHint:"Arraste para ajustar a altura da caixa de chat e clique duas vezes para redefinir.",slashCommandArgs:{message:"<mensagem>",title:"<titulo>",text:"<texto>"},slashCommands:{usage:"Calcular o uso da sessão atual",status:"Mostrar status da sessão e fila",abort:"Parar a execução ativa do Bridge",queue:"Enfileirar uma mensagem após a execução ativa",learn:"Aprender uma skill reutilizável a partir de fontes descritas",plan:"Escrever um plano de implementação em Markdown",goal:"Set a standing goal that continues across turns",goalStatus:"Show the active goal status",goalPause:"Pause the active goal loop",goalResume:"Resume the paused goal loop",goalDone:"Complete and clear the active goal",goalClear:"Clear the active goal",subgoal:"Add a criterion to the active goal",clear:"Limpar a visualização atual",clearHistory:"Excluir o histórico de mensagens salvo desta sessão",title:"Renomear esta sessão",compress:"Executar compressão de contexto quando ocioso",steer:"Enviar texto de orientação para a execução ativa do Bridge",destroy:"Liberar o Bridge Agent desta sessão",reloadMcp:"Recarregar servidores MCP",reloadSkills:"Recarregar comandos de skills"},attachFiles:"Anexar arquivos",reasoningEffort:{tooltip:"Esforço de raciocínio",defaultLabel:"Padrão",options:{default:"Padrão (config.yaml)",none:"Nenhum",minimal:"Mínimo",low:"Baixo",medium:"Médio",high:"Alto",max:"Max",xhigh:"Ultra"}},showToolCalls:"Mostrar chamadas de ferramentas",hideToolCalls:"Ocultar chamadas de ferramentas",messageQueue:"Fila de mensagens",removeQueuedMessage:"Remover mensagem da fila",stop:"Parar",send:"Enviar",contextUsed:"Contexto utilizado:",sessions:"Sessoes",webUiSessions:"Sessões",allProfiles:"Todos os perfis",profileMissingModelsTip:'O perfil "{profile}" não tem provider ou modelo disponível para esta sessão',sessionScopeHint:"O chat mostra apenas sessões da Web UI/API Server. Sessões de CLI, Telegram, Discord, Cron e outros canais são somente leitura no Histórico.",openHistory:"Abrir histórico",hermesHistory:"Histórico Hermes",historyScopeHint:"Sessões do histórico Hermes do perfil atual, somente leitura, agrupadas por origem.",noSessions:"Sem sessoes",newChat:"Novo chat",agent:"Agent",approvalKicker:"Permissão do terminal",approvalTitle:"Revisar comando antes de executar",approvalAgree:"Concordar",approvalAllowOnce:"Permitir uma vez",approvalAllowSession:"Permitir sessão",approvalAlways:"Sempre",approvalDeny:"Negar",clarifyKicker:"Agente precisa de esclarecimento",clarifyTitle:"O agente tem uma pergunta para você",clarifyPlaceholder:"Digite sua resposta...",clarifySubmit:"Responder",clarifyDismiss:"Descartar",deleteSession:"Excluir esta sessao?",toggleBatchMode:"Seleção em lote",selectAll:"Selecionar tudo",confirmBatchDelete:"Excluir {count} sessões selecionadas?",batchDeleteSuccess:"{count} sessões excluídas",batchDeletePartial:"{failed} sessões falharam ao excluir",batchDeleteFailed:"Falha na exclusão em lote",importToWebUi:"Importar para Web UI",importSessionSuccess:"Sessão importada para Web UI",importSessionAlreadyExists:"A sessão já existe no Web UI",importSessionFailed:"Falha ao importar sessão",sessionDeleted:"Sessao excluida",rename:"Renomear",archiveSession:"Arquivar",unarchiveSession:"Desarquivar",pin:"Fixar",unpin:"Desafixar",pinned:"Fixadas",chatMode:"Modo de chat",liveMode:"Ao vivo",liveSessions:"Sessões ao vivo",recentBadge:"Recente",linkedSessions:"{count} vinculadas",noVisibleMessages:"Nenhuma mensagem visível para humanos.",monitorRoleUser:"Usuário",monitorRoleAssistant:"Assistente",copySessionLink:"Copiar link da sessão",openSessionInNewTab:"Abrir em nova aba",sessionLinkCopied:"Session link copied",copySessionId:"Copiar ID da sessão",export:"Exportar",editConfig:"Editar configuração",exportFull:"Exportação completa (JSON)",exportCompressed:"Exportação comprimida (TXT)",exportCompressing:"Comprimindo contexto, aguarde...",exportSuccess:"Sessão exportada",exportFailed:"Falha ao exportar",renamed:"Renomeado",renameFailed:"Falha ao renomear",sessionArchived:"Sessão arquivada",archiveSessionFailed:"Falha ao arquivar sessão",sessionUnarchived:"Sessão desarquivada",unarchiveSessionFailed:"Falha ao desarquivar sessão",renameSession:"Renomear sessao",sessionNotFound:"Sessao nao encontrada",enterNewTitle:"Digite um novo titulo",other:"Outro",runFailed:"Falha na execucao",error:"Erro",tool:"Ferramenta",arguments:"Argumentos",result:"Resultado",workspaceChanges:"Alterações do workspace",changedFiles:"{files} arquivos alterados",diffUnavailable:"Diff indisponível",binaryFileDiffUnavailable:"Diff indisponível para arquivos binários",truncated:"... (truncado)",unchangedLines:"{count} linhas inalteradas",executionDuration:"Tempo de execução",thinkingLabel:"Raciocínio",thinkingInProgress:"Pensando",thinkingShow:"Mostrar raciocínio",thinkingHide:"Ocultar raciocínio",thinkingDuration:"Observado {duration}",thinkingChars:"{count} caracteres",copyBubble:"Copiar mensagem",copiedBubble:"Mensagem copiada",copyFailed:"Falha ao copiar",playSpeech:"Reproduzir voz",pauseSpeech:"Pausar",resumeSpeech:"Retomar",stopSpeech:"Parar",speechNotSupported:"Reprodução de voz não suportada neste navegador",searchEnterHint:"Enter para abrir · Esc para fechar",searchHint:"Cmd/Ctrl+K",searchScope:"Escopo da busca: apenas banco local de sessões da Web UI; sessões históricas Hermes somente leitura não são incluídas.",searchFailed:"Falha ao pesquisar sessões",searchNoSnippet:"Nenhum resumo disponível",searchNoResults:"Nenhuma sessão corresponde à busca",searchRecent:"Sessão recente",searchEmpty:"Sessões recentes",searchPlaceholder:"Pesquisar sessões...",searchSubtitle:"Pesquisar por título ou conteúdo da mensagem",searchTitle:"Pesquisar sessões",stopGateway:"Parar gateway",start:"Iniciar",workspaceSetFailed:"Falha ao definir workspace",workspaceSet:"Workspace definido",workspacePlaceholder:"Digite o caminho do projeto, ex. /home/user/project",folderPickerEmpty:"(Vazio)",folderPickerNoFolders:"Nenhuma pasta de workspace",folderPickerSelected:"Selecionado:",workspaceDefault:"Padrão",workspaceDefaultTooltip:"Esta área de trabalho está definida como padrão e será preenchida automaticamente em novos chats",workspacePin:"Definir como área de trabalho padrão",workspaceUnpin:"Remover área de trabalho padrão",workspaceRecent:"Recente",defaultWorkspace:"Área de trabalho padrão",more:"Mais",workspace:"Área de trabalho",setWorkspaceTitle:"Definir workspace da sessão",setWorkspace:"Definir workspace",modelSetFailed:"Falha ao definir modelo",modelSet:"Modelo definido",modelSwitching:"Alterando o modelo...",setModelTitle:"Definir modelo da sessão",standardModels:"Modelos padrão",moaPresets:"Combinações MoA",noMoaPresets:"Nenhuma combinação MoA disponível",modelType:"Tipo de modelo",setModel:"Definir modelo",newCliChat:"Novo CLI",cliEmptyState:"Iniciar chat CLI",autoPlaySpeech:"Reproduzir voz automaticamente",voiceInput:{startCapture:"Iniciar entrada por voz",stopCaptureAndInsert:"Parar entrada por voz e inserir a transcricao",cancelCapture:"Cancelar entrada por voz",statusLabel:"Status: {status}",transcriptLabel:"Transcricao: {text}",errorLabel:"Erro: {error}",recentEvents:"Eventos recentes",status:{idle:"Ocioso",capturing:"Ouvindo",transcribing:"Transcrevendo",sending:"Inserindo na entrada",error:"Erro"},browserSpeechUnsupported:"O reconhecimento de voz do navegador nao e suportado neste navegador.",browserSpeechFailed:"O reconhecimento de voz do navegador falhou.",browserSpeechFailedWithReason:"O reconhecimento de voz do navegador falhou: {error}.",microphoneUnsupported:"A captura do microfone nao e suportada neste navegador.",microphoneRecordingFailed:"A gravacao do microfone falhou."}},jobs:{title:"Tarefas agendadas",createJob:"Criar tarefa",editJob:"Editar tarefa",noJobs:"Nenhuma tarefa agendada ainda. Crie uma para comecar.",sortBy:"Ordenar",sortByName:"Por nome",sortByTime:"Por data",sortByNameHint:"Ordenar por nome",sortByTimeHint:"Ordenar por data",sortAsc:"Ascendente",sortDesc:"Descendente",name:"Nome",namePlaceholder:"Nome da tarefa",schedule:"Agendamento (expressao Cron)",schedulePlaceholder:"ex. 0 9 * * *",quickPresets:"Presets rapidos",selectPreset:"Selecionar um preset...",presetEveryMinute:"Cada minuto",presetEvery5Min:"A cada 5 minutos",presetEveryHour:"Cada hora",presetEveryDay:"Todos os dias as 00:00",presetEveryDay9:"Todos os dias as 09:00",presetEveryMonday:"Toda segunda as 09:00",presetEveryMonth:"Dia 1 de cada mes as 09:00",prompt:"Prompt",promptPlaceholder:"O prompt a executar",skills:"Skills",skillsPlaceholder:"Selecionar skills...",provider:"Provider",model:"Model",defaultProvider:"Default provider",defaultModel:"Default model",deliverTarget:"Destino de entrega",origin:"Origem",local:"Local",repeatCount:"Contagem de repeticoes (opcional)",modelPlaceholder:"Modelo padrao",repeatPlaceholder:"Deixar vazio para infinito",jobCreated:"Tarefa criada",jobUpdated:"Tarefa atualizada",nameRequired:"O nome e obrigatorio",scheduleRequired:"O agendamento e obrigatorio",loadFailed:"Falha ao carregar a tarefa",jobPaused:"Tarefa pausada",jobResumed:"Tarefa retomada",jobTriggered:"Job acionado",modelUpdated:"Modelo atualizado",jobDeleted:"Tarefa excluida",status:{running:"Em execucao",paused:"Pausada",disabled:"Desativada",scheduled:"Agendada"},info:{model:"Modelo",provider:"Provider",schedule:"Agendamento",lastRun:"Ultima execucao",nextRun:"Proxima execucao",deliver:"Entrega",repeat:"Repeticao"},action:{pause:"Pausar",pauseJob:"Pausar tarefa",resume:"Retomar",resumeJob:"Retomar tarefa",runNow:"Executar agora",triggerImmediately:"Acionar imediatamente"},runHistory:{title:"Histórico",runs:"execuções",noRuns:"Nenhum histórico encontrado."}},skills:{title:"Habilidades",targetFilter:"Runtime",targets:{hermes:"Hermes",claude:"Claude",codex:"Codex"},searchPlaceholder:"Buscar habilidades...",noMatch:"Nenhuma habilidade corresponde a sua busca",noSkills:"Nenhuma habilidade encontrada",backTo:"Voltar para",attachedFiles:"Arquivos anexados",loadFailed:"Falha ao carregar a habilidade",fileLoadFailed:"Falha ao carregar o arquivo",modified:"Modificado pelo usuário",archived:"Arquivado",pinned:"Fixado",pin:"Fixar habilidade",unpin:"Desfixar habilidade",pinFailed:"Falha ao alterar estado de fixacao",edit:"Editar",saving:"Salvando...",editorLabel:"Editor de skill",saveSuccess:"Habilidade salva",saveFailed:"Falha ao salvar habilidade",toggleFailed:"Falha ao ativar/desativar a habilidade",source:{builtin:"Integrado",hub:"Hub",local:"Local",external:"Externo"},delete:"Excluir",deleteConfirm:'Excluir a habilidade "{name}"? Esta ação não pode ser desfeita.',deleteSuccess:"Habilidade excluída",deleteFailed:"Falha ao excluir",import:"Importar",importTitle:"Importar habilidade",importModeZip:"Zip",importModeFolder:"Pasta",importHintZip:"Envie um .zip contendo um diretório com SKILL.md",importHintFolder:"Selecione uma pasta local (deve conter SKILL.md)",importTargetCategory:"Categoria alvo (opcional)",importTargetCategoryPlaceholder:"Vazio para colocar em misc",importSelectFile:"Escolher arquivo .zip",importSelectFolder:"Escolher pasta",importInvalidFile:"Apenas arquivos .zip são suportados",importFileCount:"arquivos",importNoSelection:"Selecione um arquivo ou pasta primeiro",importSuccess:"Habilidade importada",importFailed:"Falha ao importar",path:{local:"Local",external:"Externo"},externalDirs:{manage:"Diretórios externos",title:"Gerenciar diretórios externos",hint:"Gerencia config.skills.external_dirs. Suporta ~ e $VAR; caminhos inexistentes ficam em cinza.",add:"Adicionar diretório",placeholder:"/path/to/skills ou ~/my-skills",empty:"Nenhum diretório externo",missing:"Caminho não encontrado",notDir:"Não é um diretório",saveSuccess:"Diretórios externos salvos",saveFailed:"Falha ao salvar",loadFailed:"Falha ao carregar diretórios externos",removeRow:"Remover"},pathCopied:"Caminho copiado",pathCopyFailed:"Falha ao copiar o caminho",reloadHint:"Sessões ativas: execute /reload-skills; novas sessões carregam automaticamente.",writeApprovalButton:"Pendentes {count}",writeApprovalTitle:"Escritas pendentes de revisao",writeApprovalDescription:"Aprove ou rejeite escritas de memoria e skills preparadas pelo Hermes Agent.",writeApprovalRefresh:"Atualizar",writeApprovalEmpty:"Nenhuma escrita pendente.",writeApprovalUnsupported:"Esta versao do Hermes Agent nao suporta revisao de escritas. Atualize o Hermes Agent para usar este recurso.",writeApprovalMemory:"Memoria",writeApprovalSkills:"Skills",writeApprovalViewDiff:"Revisar",writeApprovalHideDiff:"Ocultar",writeApprovalNoDiff:"Nenhuma diferenca disponivel.",writeApprovalLoadFailed:"Falha ao carregar escritas pendentes",writeApprovalDiffFailed:"Falha ao carregar detalhes da escrita",writeApprovalActionFailed:"Falha ao resolver escrita pendente",writeApprovalApproved:"Escrita aprovada",writeApprovalRejected:"Escrita rejeitada",writeApprovalApprove:"Aprovar",writeApprovalReject:"Rejeitar",writeApprovalPendingMemoryWrite:"Escrita de memoria pendente",writeApprovalCurrentFile:"Arquivo atual {file}",writeApprovalProposedFile:"Arquivo proposto {file}",writeApprovalDiffSection:"Diferenca",writeApprovalPatchOldStringMissing:"O old_string do patch nao foi encontrado no arquivo atual {file}; aprovar nao alterara o arquivo.",writeApprovalRequestedOldString:"old_string solicitado",writeApprovalCurrentReadFailed:"O arquivo atual {file} nao pode ser lido como texto UTF-8.",writeApprovalDeleteSkill:"Esta aprovacao exclui o skill {skill}.",writeApprovalRemoveFile:"Esta aprovacao remove {file} do skill {skill}."},plugins:{title:"Plugins",refresh:"Atualizar",notice:"Inventário dos manifests de plugins Hermes detectáveis. Os metadados de descoberta são lidos sem carregar código de plugin. Plugins de usuário standalone podem ser ativados ou desativados aqui; mudanças entram em vigor em novas sessões Hermes.",loadFailed:"Falha ao carregar plugins",updateFailed:"Falha ao atualizar plugin",enableSuccess:"{name} ativado",disableSuccess:"{name} desativado",commandCopied:"Comando copiado",searchPlaceholder:"Buscar key, nome, descrição, caminho...",source:"Origem",kind:"Tipo",statusTitle:"Status",configStatus:"config: {status}",notAvailable:"n/a",copyCommand:"Copiar comando",managedElsewhere:"gerenciado em outro lugar",noMatch:"Nenhum plugin corresponde aos filtros atuais",enabled:"ativado",disabled:"desativado",summary:{total:"Total",active:"Ativado / auto",inactive:"Inativo",disabled:"Desativado",providerManaged:"Gerenciado por provider"},status:{enabled:"Ativado","auto-active":"Autoativo",inactive:"Inativo",disabled:"Desativado","provider-managed":"Gerenciado por provider"},statusLabel:{enabled:"Ativado por configuração","auto-active":"Autoativo",inactive:"Inativo",disabled:"Desativado","provider-managed":"Gerenciado por provider"},configStatuses:{enabled:"ativado",disabled:"desativado","not-enabled":"não ativado",auto:"auto","provider-managed":"gerenciado por provider"},table:{plugin:"Plugin",status:"Status",source:"Origem",kind:"Tipo",capabilities:"Capacidades",path:"Caminho / entrypoint",manage:"Gerenciar"},capabilities:{tools:"{count} ferramentas",hooks:"{count} hooks",env:"{count} env"},metadata:{agentRoot:"Raiz do agente",python:"Python",scanCwd:"Verificar cwd",projectPlugins:"Plugins do projeto"}},petdex:{title:"Petdex Pets",subtitle:"Browse the public petdex catalog used by Hermes desktop pets.",refresh:"Refresh",adopt:"Adopt",active:"Active",adopted:"Adopted {name}",adoptFailed:"Failed to adopt pet",loadFailed:"Failed to load petdex catalog",searchPlaceholder:"Search by name, slug, author, or kind",kindFilter:"Kind",spritesheet:"Spritesheet",submittedBy:"By {name}",empty:"No pets match the current filters.",showMore:"Show {count} more",summary:{total:"Catalog total",visible:"Matching",kinds:"Kinds",generatedAt:"Generated at"}},memory:{title:"Memoria",refresh:"Atualizar",loadFailed:"Falha ao carregar a memoria",myNotes:"Minhas notas",noNotes:"Nenhuma nota ainda.",notesPlaceholder:"Escreva suas notas...",userProfile:"Perfil do usuario",noProfile:"Nenhum perfil ainda.",profilePlaceholder:"Escreva seu perfil...",soul:"Alma",noSoul:"Nenhuma configuracao de alma ainda.",soulPlaceholder:"Escreva a configuracao da alma..."},models:{title:"Modelos",addProvider:"Adicionar provedor",noProviderPromptTitle:"Nenhum provedor de modelos configurado",noProviderPromptMessage:'O perfil atual "{profile}" nao tem nenhum provedor de modelos configurado. Deseja abrir as configuracoes de modelos?',noProviderPromptLater:"Agora nao",noProviderPromptAction:"Ir para configuracoes",refreshModelCache:"Atualizar cache de modelos",refreshModelCacheLoading:"Atualizando cache de modelos...",refreshModelCacheSuccess:"Cache de modelos atualizado",refreshModelCacheFailed:"Falha ao atualizar cache de modelos",providerType:"Tipo de provedor",preset:"Predefinição",custom:"Personalizado",selectProvider:"Selecionar provedor",chooseProvider:"Escolha um provedor...",name:"Nome",autoGeneratedName:"Gerado automaticamente pela URL base",baseUrl:"URL base",region:"Região",regionIntl:"Internacional",regionCn:"China Continental",baseUrlPlaceholder:"ex. https://api.example.com/v1",apiKey:"Chave API",apiKeyPlaceholder:"sk-...",defaultModel:"Modelo padrao",selectOrInput:"Selecionar ou digitar um modelo...",selectModel:"Selecionar um modelo...",providerAdded:"Provedor adicionado",providerDeleted:"Provedor excluido",providerCredentialsCleared:"Credenciais do provedor limpas",clearProviderCredentials:"Limpar credenciais",clearCredentialsConfirm:'Limpar as credenciais salvas de "{name}"? Este provedor integrado continuara listado e podera ser usado novamente apos configurar credenciais.',disableProvider:"Desativar provedor",disableProviderConfirm:'Desativar o provedor integrado "{name}"? Ele continuara integrado e podera ser reativado depois.',providerDisabled:"Provedor desativado",defaultProviderUpdated:"Provedor padrao atualizado",defaultProviderUpdateFailed:"Falha ao atualizar o provedor padrao",defaultModelUpdated:"Modelo padrao atualizado",defaultModelUpdateFailed:"Falha ao atualizar o modelo padrao",deleteProvider:"Excluir provedor",deleteConfirm:'Tem certeza de que deseja excluir "{name}"?',codexLoginTitle:"Login do OpenAI Codex",codexWaiting:"Digite este código na página de autorização para fazer login:",codexCopyCode:"Código copiado",codexOpenLink:"Abrir página de autorização",codexApproved:"Login bem-sucedido",codexExpired:"A autorização expirou. Por favor, tente novamente.",nousLoginTitle:"Login do Nous Portal",nousWaiting:"Insira este código na página de autorização:",nousCopyCode:"Código copiado",nousOpenLink:"Abrir página de autorização",nousApproved:"Login bem-sucedido",nousDenied:"Autorização negada",nousExpired:"Autorização expirada",copilotLoginTitle:"Login do GitHub Copilot",copilotWaiting:"Abra o GitHub e insira o código do dispositivo abaixo para autorizar. A janela fechará automaticamente após a aprovação.",copilotCopyCode:"Código copiado",copilotOpenLink:"Abrir a página de autorização do GitHub",copilotApproved:"Login bem-sucedido!",copilotDenied:"Autorização negada.",copilotExpired:"O link de autorização expirou. Tente novamente.",copilotAddDetectedTitle:"GitHub Copilot detectado",copilotAddDetected:"Foi detectado um token OAuth do GitHub Copilot nesta máquina. Clique em Adicionar para ativar o Copilot no Hermes.",copilotAddSourceEnv:"Origem: ~/.hermes/.env (COPILOT_GITHUB_TOKEN)",copilotAddSourceGhCli:"Origem: gh CLI (gh auth token)",copilotAddSourceAppsJson:"Origem: extensão Copilot do VS Code (apps.json)",copilotDeleteHintEnv:"Isto irá limpar o COPILOT_GITHUB_TOKEN em ~/.hermes/.env. Outras ferramentas não são afetadas.",copilotDeleteHintGhCli:"O Copilot ficará oculto no Hermes. Sua sessão no gh CLI não é afetada — `gh auth status` continuará indicando que está conectado.",copilotDeleteHintAppsJson:"O Copilot ficará oculto no Hermes. A extensão Copilot do VS Code continuará conectada.",customBadge:"PERSONALIZADO",previewBadge:"PRÉVIA",disabledBadge:"INDISPONÍVEL",disabledTooltip:"Este modelo não está disponível para sua conta.",customModelPlaceholder:"ID de modelo não listado",customModelHint:"Para modelos compatíveis com o provedor que a API não retorna; não é uma renomeação de exibição. Enter para carregar.",noProviders:"Nenhum provedor encontrado. Adicione um provedor personalizado para comecar.",clearVisibleModels:"Limpar seleção",generalTitle:"Modelos gerais",combinationTitle:"Conjuntos de modelos",combinationSubtitle:"Configure presets MoA: modelos de referencia fornecem perspectivas primeiro, depois um modelo agregador produz a resposta final e as chamadas de ferramentas.",combinationPreset:"Preset",combinationName:"Nome",combinationAddModel:"Adicionar conjunto de modelos",combinationEditModel:"Editar conjunto de modelos",combinationNewPreset:"Novo preset",combinationPresetPlaceholder:"ex.: review",combinationAddPreset:"Adicionar preset",combinationSetDefault:"Definir como padrao",combinationEnabled:"Ativar referencias",combinationReferenceModels:"Modelos de referencia",combinationReferenceModel:"Modelo de referencia",combinationAddReference:"Adicionar modelo de referencia",combinationAggregator:"Modelo agregador",combinationReferenceTemperature:"Temperatura das referencias",combinationAggregatorTemperature:"Temperatura do agregador",combinationMaxTokens:"Maximo de tokens",combinationNotSet:"Nao definido",combinationSaved:"Conjunto de modelos salvo",combinationLoadFailed:"Falha ao carregar conjunto de modelos",combinationSaveFailed:"Falha ao salvar conjunto de modelos",combinationPresetExists:"O preset ja existe",combinationNameRequired:"Informe um nome para o conjunto de modelos",combinationNameInvalid:"O nome so pode conter letras, numeros, sublinhados, hifens e pontos",combinationReferenceRequired:"Adicione pelo menos um modelo de referencia",combinationAggregatorRequired:"Selecione um modelo agregador",auxiliaryTitle:"Modelos auxiliares",auxiliarySubtitle:"Substituições de modelo para tarefas auxiliares como compressão, visão, aprovações, MCP e manutenção em segundo plano.",auxiliaryRefresh:"Atualizar",auxiliaryTask:"Tarefa",auxiliaryTimeout:"Tempo limite",auxiliaryDownloadTimeout:"Tempo limite de download",auxiliaryActions:"Ações",auxiliaryDefault:"Padrão",auxiliaryCustomEndpoint:"Endpoint personalizado",auxiliaryProviderAuto:"Automático",auxiliaryProviderMain:"Modelo principal",auxiliaryProviderPlaceholder:"auto, main ou chave do provedor",auxiliaryDownloadShort:"download",auxiliaryExtraBody:"JSON do corpo extra",auxiliaryClear:"Redefinir",auxiliarySaved:"Modelos auxiliares salvos",auxiliaryLoadFailed:"Falha ao carregar modelos auxiliares",auxiliarySaveFailed:"Falha ao salvar modelos auxiliares",auxiliaryInvalidExtraBody:"O corpo extra deve ser um objeto JSON",auxiliaryTaskCompression:"Compressão",auxiliaryTaskVision:"Visão",auxiliaryTaskWebExtract:"Extração web",auxiliaryTaskSkillsHub:"Hub de habilidades",auxiliaryTaskApproval:"Aprovação",auxiliaryTaskMcp:"MCP",auxiliaryTaskTitleGeneration:"Geração de título",auxiliaryTaskTriageSpecifier:"Especificador de triagem",auxiliaryTaskKanbanDecomposer:"Decomposição Kanban",auxiliaryTaskProfileDescriber:"Descrição de perfil",auxiliaryTaskCurator:"Curador",auxiliaryTaskSessionSearch:"Busca de sessões",auxiliaryTaskFlushMemories:"Gravar memórias",currentDefault:"Padrão atual",defaultShort:"Padrão",setDefaultProvider:"Definir como provedor padrao",setDefault:"Definir como padrao",builtIn:"Integrado",customType:"Personalizado",provider:"Provedor",contextLength:"Tamanho do contexto",contextLengthPlaceholder:"ex: 256000 (opcional)",apiMode:"Modo da API",local:"Local ({host})",selectProviderRequired:"Por favor, selecione um provedor",baseUrlRequired:"A URL base e obrigatoria",apiKeyRequired:"A chave API e obrigatoria",modelRequired:"O modelo padrao e obrigatorio",enterBaseUrl:"Por favor, insira a URL base primeiro",unexpectedFormat:"Formato de resposta inesperado",foundModels:"{count} modelos encontrados",fetchFailed:"Falha ao buscar os modelos",xaiWaiting:"Conclua a autorização na página xAI aberta. A janela será fechada automaticamente após a aprovação.",xaiOpenLink:"Abrir página de autorização xAI",xaiLoginTitle:"Login OAuth xAI Grok",xaiExpired:"O link de autorização expirou. Tente novamente.",xaiCopyLink:"Copiar link de autorização",xaiApproved:"Login concluído!",anthropicLoginTitle:"Login OAuth Claude",anthropicWaiting:"Conclua a autorização no Claude e cole aqui o código retornado.",anthropicOpenLink:"Abrir página de autorização Claude",anthropicCopyLink:"Copiar link de autorização",anthropicCodePlaceholder:"Cole o código de autorização...",anthropicSubmitCode:"Enviar código",anthropicApproved:"Login concluído!",anthropicExpired:"A autorização expirou. Tente novamente.",visibilitySelectOne:"Mantenha pelo menos um modelo visível",visibilitySaved:"Modelos visíveis salvos",visibilitySaveFailed:"Falha ao salvar modelos visíveis",visibilityHint:"Afeta apenas o seletor de modelos e a página de modelos da Web UI. A configuração provider/model da Hermes CLI não é alterada; as chamadas ainda usam o ID original do modelo.",showAllModels:"Mostrar todos os modelos",searchPlaceholder:"Pesquisar modelos...",noResults:"Sem resultados",noModels:"Sem modelos",removeCustomModel:"Remover este modelo não listado",refresh:"Atualizar lista de modelos (recarregar config.yaml)",more:"mais",models:"Lista de modelos",manageVisibleModelsFor:"Gerenciar modelos visíveis de {name}",manageVisibleModels:"Gerenciar modelos visíveis",getApiKey:"Obter API Key",count:"modelos",aliasUseOriginal:"Restaurar ID original",aliasTitleFor:"Nome exibido de {model}",aliasTitle:"Nome exibido do modelo",aliasSaveFailed:"Falha ao salvar nome exibido",aliasPlaceholder:"Deixe vazio para usar o ID original do modelo",aliasManageFor:"Nomes exibidos de {provider}",aliasManage:"Nomes exibidos",aliasHint:"Altera apenas o nome exibido na Web UI. O Hermes ainda recebe o ID original do modelo.",aliasEdit:"Renomear",aliasCanonical:"ID original: {model}"},profiles:{title:"Perfis",create:"Criar perfil",import:"Importar",export:"Exportar",rename:"Renomear",delete:"Excluir",switchTo:"Trocar Hermes Profile",switchConfirm:"Isto executara `hermes profile use {name}` e alterara o active profile do Hermes CLI. Continuar?",switchSuccess:'Hermes active profile alterado para "{name}"',switchFailed:"Falha ao trocar Hermes Profile. O gateway pode precisar de reinicio manual.",createSuccess:'Perfil "{name}" criado',createFailed:"Falha ao criar o perfil",renameSuccess:"Perfil renomeado",renameFailed:"Falha ao renomear o perfil",deleteConfirm:'Tem certeza de que deseja excluir o perfil "{name}"?',deleteSuccess:"Perfil excluido",deleteFailed:"Falha ao excluir o perfil",exportSuccess:"Perfil exportado",exportFailed:"Falha ao exportar o perfil",importSuccess:"Perfil importado",importFailed:"Falha ao importar o perfil",importSelectFile:"Selecionar arquivo de arquivo",importInvalidFile:"Por favor, selecione um arquivo valido (.tar.gz, .tgz, .gz, .zip)",name:"Nome do perfil",namePlaceholder:"Apenas letras, numeros e hifens",nameValidation:"O nome do perfil só pode conter letras minúsculas, números, sublinhados e hifens",newName:"Novo nome",newNamePlaceholder:"Digite um novo nome",cloneFromCurrent:"Clonar do perfil atual",cloneCleanupNotice:"Ao clonar, as credenciais exclusivas de plataforma (Weixin / Telegram / Slack, etc.) são automaticamente ignoradas para evitar conflitos com o perfil de origem",cloneStrippedCredentials:"{count} credencial(is) exclusiva(s) removida(s): {list}",cloneDisabledPlatforms:"{count} plataforma(s) desabilitada(s): {list}",cloneStrippedConfigCredentials:"{count} credencial(is) incorporada(s) removida(s) do config.yaml: {list}",archivePath:"Caminho do arquivo",archivePathPlaceholder:"Caminho do servidor para o arquivo",importName:"Nome do perfil (opcional)",importNamePlaceholder:"Deixe vazio para usar o nome do arquivo",active:"Ativo",model:"Modelo",gateway:"Gateway",alias:"Alias",provider:"Provedor",path:"Caminho",skills:"Habilidades",hasEnv:"Tem .env",hasSoulMd:"Tem soul.md",noProfiles:"Nenhum perfil encontrado. Crie um para comecar.",avatar:{title:"Avatar personalizado",customize:"Personalizar avatar",upload:"Enviar imagem",random:"Gerar aleatório",reset:"Restaurar padrão",hint:"PNG, JPEG ou WebP, máximo 1 MB",invalidType:"Escolha uma imagem PNG, JPEG ou WebP",tooLarge:"A imagem do avatar não pode exceder 1 MB",saveSuccess:"Avatar salvo",saveFailed:"Falha ao salvar avatar",resetSuccess:"Avatar padrão restaurado",resetFailed:"Falha ao restaurar avatar padrão"},runtime:{activeProfile:"Atual: {name}",bridgeWorker:"Status do Bridge",gateway:"Gateway",active:"Ativo",activeTag:"Atual",idle:"Ocioso",checking:"Verificando",running:"Em execução",stopped:"Parado",restartGateway:"Reiniciar gateway",restartProfile:"Reiniciar perfil",switchProfile:"Trocar perfil frontend",gatewayRestarted:"Gateway reiniciado: {name}",gatewayRestartFailed:"Falha ao reiniciar gateway",profileRestarted:"Perfil reiniciado: {name}",profileRestartFailed:"Falha ao reiniciar perfil"}},logs:{title:"Logs",all:"Todos",searchPlaceholder:"Buscar...",refresh:"Atualizar",noEntries:"Nenhuma entrada de log"},settings:{title:"Configuracoes",saved:"Salvo",saveFailed:"Falha ao salvar",tabs:{display:"Exibicao",account:"Conta atual",users:"Gerenciamento de contas",agent:"Agente",proxy:"Proxy",memory:"Memoria",compression:"Compressao",session:"Sessao",privacy:"Privacidade",apiServer:"Servidor API",models:"Modelos",voice:"Voz"},display:{streaming:"Respostas em streaming",streamingHint:"Mostrar respostas da IA em tempo real",compact:"Modo compacto",compactHint:"Reduzir espacamento entre mensagens",showReasoning:"Mostrar raciocinio",showReasoningHint:"Mostrar processo de pensamento do modelo",showCost:"Mostrar custo",showCostHint:"Mostrar uso de tokens nas respostas",inlineDiffs:"Diffs em linha",inlineDiffsHint:"Mostrar alteracoes de codigo em linha",bellOnComplete:"Som de conclusao",bellOnCompleteHint:"Tocar som quando a IA terminar",notifyOnComplete:"Notificacao de conclusao",notifyOnCompleteHint:"Mostrar notificacao do sistema quando a IA terminar",notifyOnCompleteMacHint:"No macOS, permita notificacoes do navegador nos Ajustes do Sistema.",notifyOnCompleteDenied:"Permissao de notificacao negada",notifyOnCompleteInsecure:"Notificacoes do navegador exigem HTTPS ou localhost",notifyOnCompleteUnsupported:"Este navegador nao suporta notificacoes",notifyOnCompleteTest:"Notificacoes ativadas.",notifyOnCompleteTestButton:"Testar",notifyOnCompleteTesting:"Enviando notificacao de teste...",notifyOnCompleteTestSent:"Notificacao de teste enviada",notifyOnCompleteTestFailed:"Falha ao enviar notificacao de teste",busyInputMode:"Modo de entrada ocupada",busyInputModeHint:"Permitir entrada enquanto a IA processa",theme:"Tema",themeHint:"Escolha claro, escuro ou seguir a preferencia do sistema",themeLight:"Claro",themeDark:"Escuro",themeSystem:"Sistema",chatInputHeight:"Altura da entrada do chat",chatInputHeightHint:"Altura padrão da entrada do chat no desktop, em pixels. No celular permanece automática."},agent:{maxTurns:"Maximo de turnos",maxTurnsHint:"Maximo de rodadas de interacao por conversa",gatewayTimeout:"Timeout do gateway",gatewayTimeoutHint:"Timeout da requisicao em segundos",restartDrainTimeout:"Timeout de drenagem ao reiniciar",restartDrainTimeoutHint:"Timeout de drenagem antes de reiniciar em segundos",toolEnforcement:"Obrigatoriedade de ferramentas",toolEnforcementHint:"Controlar o modo de execucao de chamadas de ferramentas",auto:"Automatico",always:"Sempre",never:"Nunca"},gatewayAutoStart:{title:"Inicialização automática do gateway",description:"Controla quais gateways de perfis Hermes locais a Web UI inicia durante a inicialização. Isto é salvo na configuração da Web UI, não no config.yaml do perfil.",enabled:"Iniciar gateways automaticamente",enabledHint:"Quando desativado, nenhum gateway de perfil será iniciado automaticamente.",management:"Gateway unificado",managementHint:"Requer Hermes Agent 0.17.0 ou superior. Quando ativado, a Web UI grava multiplex_profiles para o gateway default servir todos os perfis; outros perfis nao podem configurar entradas de mensagens separadas como Feishu, Weixin ou QQBot. Ao desativar, remove essa configuração.",managementAuto:"Automático",managementPerProfile:"Um gateway por perfil",managementUnified:"Gateway default unificado",mode:"Política de perfis",modeHint:"Inicie todos os perfis descobertos ou apenas a lista incluída explicitamente.",modeAll:"Todos os perfis descobertos",modeInclude:"Apenas perfis incluídos",include:"Perfis incluídos",includeHint:"Nomes de perfil separados por vírgula. No modo de inclusão, uma lista vazia não inicia nenhum.",exclude:"Perfis excluídos",excludeHint:"Nomes de perfil separados por vírgula a ignorar depois da política include/all.",profileListPlaceholder:"default, reviewer"},proxy:{title:"Proxy do gateway",description:"Define variáveis de ambiente de proxy para o gateway do perfil selecionado. As alterações reiniciam o gateway para que as plataformas de mensagens usem a nova configuração de rede.",httpsProxy:"HTTPS_PROXY",httpsProxyHint:"Proxy para requisições HTTPS. Normalmente é o valor principal.",httpProxy:"HTTP_PROXY",httpProxyHint:"Proxy para requisições HTTP simples.",allProxy:"ALL_PROXY",allProxyHint:"Proxy de fallback quando não há proxy específico do protocolo.",noProxy:"NO_PROXY",noProxyHint:"Hosts ou domínios separados por vírgula que devem ignorar o proxy.",save:"Salvar configurações de proxy"},memory:{enabled:"Ativar memoria",enabledHint:"Permitir que a IA lembre do contexto da conversa",userProfile:"Perfil do usuario",userProfileHint:"Permitir que a IA lembre das preferencias do usuario",charLimit:"Limite de caracteres da memoria",charLimitHint:"Maximo de caracteres para MEMORY.md",userCharLimit:"Limite de caracteres do perfil do usuario",userCharLimitHint:"Maximo de caracteres para USER.md"},compression:{enabled:"Ativar compressao",enabledHint:"Comprimir automaticamente historico longo antes de exceder o contexto do modelo",threshold:"Limiar de compressao",thresholdHint:"Iniciar compressao quando tokens estimados excederem esta proporcao do contexto",targetRatio:"Proporcao alvo",targetRatioHint:"Tamanho alvo do historico apos compressao como proporcao do contexto",protectLastN:"Proteger mensagens recentes",protectLastNHint:"Manter sem compressao esta quantidade de mensagens recentes",protectFirstN:"Proteger primeiras mensagens",protectFirstNHint:"Manter sem compressao esta quantidade de mensagens iniciais"},session:{mode:"Modo de reinicializacao",modeHint:"Condicao de acionamento para reinicializacao de sessao",modeBoth:"Inatividade + Agendado",modeIdle:"Somente inatividade",modeDaily:"Somente agendado",modeNone:"Nunca (apenas manual)",idleMinutes:"Timeout de inatividade",idleMinutesHint:"Tempo de espera antes da reinicializacao automatica (minutos)",atHour:"Horario de reinicializacao agendada",humanOnly:"Mostrar apenas sessões humanas",humanOnlyHint:"Oculta por padrão o ruído de subagentes e do monitor de sessões",liveMonitorHumanOnly:"Monitor ao vivo: mostrar apenas sessões humanas",liveMonitorHumanOnlyHint:"Oculta por padrão o ruído de subagentes e do monitor de sessões no monitor ao vivo",atHourHint:"Reiniciar sessao neste horario diariamente",requireAuth:"Autorizacao da sessao",requireAuthHint:"Exigir autorizacao para operacoes da sessao",memoryWriteApproval:"Revisar escritas de memoria",memoryWriteApprovalHint:"Colocar escritas de memoria do Hermes Agent em aprovacao antes de salvar.",skillsWriteApproval:"Revisar escritas de skills",skillsWriteApprovalHint:"Colocar alteracoes de skills do Hermes Agent em aprovacao antes de salvar.",writeApprovalTitle:"Escritas pendentes de revisao",writeApprovalDescription:"Aprove ou rejeite escritas de memoria e skills preparadas pelo Hermes Agent.",writeApprovalRefresh:"Atualizar",writeApprovalEmpty:"Nenhuma escrita pendente.",writeApprovalMemory:"Memoria",writeApprovalSkills:"Skills",writeApprovalViewDiff:"Revisar",writeApprovalHideDiff:"Ocultar",writeApprovalNoDiff:"Nenhuma diferenca disponivel.",writeApprovalLoadFailed:"Falha ao carregar escritas pendentes",writeApprovalDiffFailed:"Falha ao carregar detalhes da escrita",writeApprovalActionFailed:"Falha ao resolver escrita pendente",writeApprovalApproved:"Escrita aprovada",writeApprovalRejected:"Escrita rejeitada",writeApprovalApprove:"Aprovar",writeApprovalReject:"Rejeitar",writeApprovalPendingMemoryWrite:"Escrita de memoria pendente",writeApprovalCurrentFile:"Arquivo atual {file}",writeApprovalProposedFile:"Arquivo proposto {file}",writeApprovalDiffSection:"Diferenca",writeApprovalPatchOldStringMissing:"O old_string do patch nao foi encontrado no arquivo atual {file}; aprovar nao alterara o arquivo.",writeApprovalRequestedOldString:"old_string solicitado",writeApprovalCurrentReadFailed:"O arquivo atual {file} nao pode ser lido como texto UTF-8.",writeApprovalDeleteSkill:"Esta aprovacao exclui o skill {skill}.",writeApprovalRemoveFile:"Esta aprovacao remove {file} do skill {skill}."},privacy:{redactPii:"Ocultar dados pessoais",redactPiiHint:"Detectar e ocultar automaticamente informacoes sensiveis (senhas, chaves, etc.)"},apiServer:{enable:"Ativar",enableHint:"Ativar servidor API",host:"Host",hostHint:"Endereco de escuta",port:"Porta",portHint:"Porta de escuta",key:"Chave",keyHint:"Chave de acesso API",cors:"Origens CORS",corsHint:"Fontes cross-origin permitidas"},voice:{activeTtsApi:"API TTS ativa",activeSttApi:"API STT ativa",ttsProvidersTitle:"Provedores TTS",ttsProvidersDescription:"Gerencie integracoes de texto para fala usadas para reproduzir respostas do assistente e pre-visualizacoes de voz.",sttProvidersTitle:"Provedores STT",sttProvidersDescription:"Gerencie integracoes de fala para texto usadas pelo microfone e pelo fluxo de entrada por voz.",noneSelected:"Nenhum selecionado",keyStored:"Armazenada",keyMissing:"Ausente",customApi:"API",localBuiltin:"Local integrado",ttsCardHint:"Provedor de sintese de fala",sttCardHint:"Provedor de transcricao de fala",setActive:"Definir como ativo",testAction:"Testar",connect:"Conectar",presetEdgeTtsLabel:"Edge TTS",presetEdgeTtsDescription:"Vozes em nuvem gratuitas e de alta qualidade do Microsoft Edge.",presetOpenaiTtsLabel:"OpenAI TTS",presetMimoTtsLabel:"MiMo TTS",presetDoubaoTtsLabel:"Volcengine Doubao TTS",presetCustomTtsLabel:"TTS personalizado",presetBrowserSttLabel:"STT do navegador",presetBrowserSttDescription:"API nativa de reconhecimento de fala do navegador.",presetOpenaiWhisperLabel:"OpenAI Whisper",presetGroqSttLabel:"Groq STT",presetDoubaoSttLabel:"Volcengine Doubao STT",presetCustomSttLabel:"STT personalizado",apiCompatibility:"Compatibilidade da API",openaiCompatible:"Compatível com OpenAI",manualCustomEndpoint:"Endpoint personalizado manual",connectionStep:"Conexão",discoveryManualHint:"Endpoint personalizado manual selecionado. A descoberta de modelos não está disponível; informe o nome do modelo manualmente.",discoveryCredentialHint:"Informe Base URL e API key, depois conecte para buscar os modelos disponíveis.",discoveryNoAutoProbeHint:"Nenhuma requisição é enviada durante a digitação. Use Connect quando as credenciais estiverem prontas.",apiKeyConnectPlaceholder:"Cole a API key para conectar; chaves armazenadas nunca são exibidas",connectFetchModels:"Conectar e buscar modelos",modelRecommendedSuffix:"recomendado",modelConnectManualHint:"Conecte para preencher automaticamente ou informe manualmente.",modelRequiredConnectManual:"O modelo é obrigatório. Conecte para preencher automaticamente ou informe manualmente.",apiKeyRequired:"A API key é obrigatória.",apiKeyRequiredForDiscovery:"A API key é obrigatória para buscar modelos.",baseUrlRequired:"Base URL é obrigatória.",baseUrlHttpsRequired:"Use http:// ou https://.",baseUrlInvalid:"Informe uma Base URL válida, incluindo https://.",discoveryFailedManualFallback:"Não foi possível buscar modelos. Você ainda pode informar o nome do modelo manualmente.",completeRequiredProviderFields:"Complete os campos obrigatórios do provider antes de salvar.",fetchingModels:"Buscando modelos...",recommendedModel:"Recomendado: {model}.",useRecommendedModel:"Usar este.",modelsDiscovered:"{count} modelos encontrados. O modelo recomendado é selecionado quando o campo está vazio.",remove:"Remover",testSuccess:"Teste concluido",testTextRequired:"Digite texto antes de testar.",keyMissingForTest:"Adicione uma chave de API antes de testar este provedor.",testing:"Testando...",transcribing:"Transcrevendo...",browserSttTestHint:"O STT do navegador e testado pelo microfone do chat.",sttEmptyAudio:"Nenhum audio foi capturado. Tente novamente.",sttTestSuccess:"Transcricao concluida",sttRecordingHint:"Gravando... clique em Parar para transcrever.",keepStoredKeyPlaceholder:"Deixe em branco para manter a chave armazenada",apiKeyPlaceholder:"Insira a chave de API",lastTest:"Ultimo teste",notTested:"—",recording:"Gravando",testFailedShort:"Falhou",testFailedSummary:"O teste falhou. Verifique as configuracoes do provedor e tente novamente.",showDetails:"Mostrar detalhes",hideDetails:"Ocultar detalhes",moreActions:"Mais",moreActionsFor:"Mais acoes para {provider}",addTtsApi:"Adicionar API TTS",addSttApi:"Adicionar API STT",active:"Ativo",builtin:"Integrado",connected:"Conectado",disconnected:"Desconectado",source:"Origem",model:"Modelo",voice:"Voz",doubaoVoiceHint:"Selecione uma voz Seed TTS 2.0; o campo de recurso e atualizado automaticamente.",apiKey:"Chave de API",confirmDeleteSecret:"Excluir a chave de API armazenada para esta API de voz?",ttsTitle:"Texto para fala",ttsSaved:"Configuracoes TTS salvas no servidor",ttsSaveFailed:"Falha ao salvar as configuracoes TTS",ttsTestSaved:"Audicao concluida; configuracoes TTS salvas no servidor",ttsTestSaving:"Salvando configuracoes TTS antes da audicao...",ttsMissingBaseUrl:"A Base URL e obrigatoria antes de testar. Insira um endpoint do provedor e teste novamente.",ttsMissingApiKey:"A chave de API e obrigatoria antes de testar. Cole a chave ou salve primeiro uma chave armazenada no servidor.",ttsCleared:"Chave TTS armazenada removida",ttsClearFailed:"Falha ao remover a chave TTS armazenada",storedBaseUrlsTitle:"Base URLs salvas",storedBaseUrlsHint:"Endpoints de voz salvos. Os campos acima só limpam o valor atual; exclua endpoints salvos aqui.",storedBaseUrlsEmpty:"Nenhuma Base URL de voz customizada está salva no servidor.",storedBaseUrlDelete:"Excluir URL",storedApiKeysTitle:"API keys salvas",storedApiKeysHint:"Lista mascarada das chaves de voz salvas no servidor. Só mostra uso e origem; a chave completa nunca aparece.",storedApiKeysEmpty:"Nenhuma API key de voz está salva no servidor.",storedKeyKindTts:"TTS",storedKeyKindStt:"STT",storedApiKeyMasked:"[stored]",storedApiKeyDelete:"Excluir key",baseUrlPresetClear:"Limpar URL",baseUrlPresetCleared:"URL base removida do campo.",baseUrlPresetDelete:"Excluir URL",baseUrlPresetDeleted:"URL base removida da lista salva.",baseUrlPresetDeleteFailed:"Falha ao remover a URL base salva.",ttsPendingSecret:"A nova chave sera salva",ttsStoredSecret:"O servidor tem uma chave armazenada: {value}",ttsClearKey:"Remover chave armazenada",sttTitle:"Fala para texto",sttProvider:"Provedor STT",sttProviderHint:"Escolha como a entrada de voz sera transcrita",sttProviderBrowser:"Navegador",sttProviderOpenai:"Compativel com OpenAI",sttProviderCustom:"Personalizado",sttBrowserHint:"Use o reconhecimento de fala integrado do navegador quando disponivel.",sttApiKey:"Chave de API",sttApiKeyHint:"Armazenada no servidor para provedores STT que exigem autenticacao.",sttStoredSecret:"Chave do servidor armazenada: {value}",sttPendingSecret:"Chave do servidor armazenada: sera atualizada ao salvar",sttClearKey:"Remover chave armazenada",sttModel:"Modelo",sttModelHint:"Modelo de fala para texto a usar.",sttLanguage:"Idioma",sttLanguageHint:"Dica de idioma opcional, como en ou zh.",sttPrompt:"Prompt",sttPromptHint:"Prompt opcional de transcricao.",sttAudioTranscode:"Transcodificação de áudio",sttAudioTranscodeNone:"Enviar áudio original",sttAudioTranscodeFfmpeg:"Converter para WAV com ffmpeg",sttBaseUrl:"Base URL",sttBaseUrlHint:"Endpoint personalizado de fala para texto compativel com OpenAI.",sttSave:"Salvar configuracoes STT",sttSaved:"Configuracoes STT salvas no servidor.",sttSaveFailed:"Falha ao salvar as configuracoes STT.",sttCleared:"Segredo STT armazenado removido do servidor.",sttClearFailed:"Falha ao remover o segredo STT armazenado.",sttActiveSaved:"Provedor STT ativo salvo no servidor.",sttSaveActive:"Salvar provedor STT ativo",sttEndpointHint:"Endpoint final de transcricao: {endpoint}",sttTestTitle:"Testar fala para texto",sttTestButton:"Testar API STT",sttTestStopButton:"Parar e transcrever",sttTestBackendOnly:"O teste da API STT esta disponivel para provedores compativeis com OpenAI e personalizados.",sttTestRecording:"Gravando amostra de teste... clique em Parar e transcrever ao terminar.",sttTestTranscribing:"Transcrevendo amostra de teste...",sttTestEmpty:"Nenhum audio foi capturado para o teste STT.",sttTestSucceeded:"Teste STT concluido com sucesso.",sttTestFailed:"Teste STT falhou: {error} — {hint}",sttFailureHintMissingConfig:"Verifique se o provedor foi salvo com Base URL/modelo e uma chave de API antes de testar.",sttFailureHintAuth:"Verifique a chave de API. Se uma chave ja estava armazenada, cole a chave atual novamente e salve antes de testar.",sttFailureHintForbidden:"A chave chegou ao provedor, mas nao tem permissao para este modelo STT ou conta. Verifique o acesso/faturamento do provedor.",sttFailureHintEndpointModel:"Verifique a Base URL e o modelo. Para Groq, use {endpoint} com whisper-large-v3-turbo ou outro modelo STT da Groq.",sttFailureHintModel:"Verifique se o modelo STT selecionado existe e esta habilitado para esta conta.",sttFailureHintQuota:"O provedor informa problema de cota, faturamento ou limite de taxa. Verifique a cota/faturamento ou tente mais tarde.",sttFailureHintNetworkCustom:"O servidor nao conseguiu acessar o endpoint STT personalizado. Verifique se {endpoint} e acessivel pelo servidor Web UI e compativel com OpenAI.",sttFailureHintNetwork:"O servidor Web UI nao conseguiu acessar o provedor STT. Verifique rede/proxy/firewall e tente novamente.",sttFailureHintAudio:"O audio gravado estava vazio ou foi rejeitado. Tente uma amostra curta e clara, permita acesso ao microfone ou tente no Chrome.",sttFailureHintGenericCustom:"Verifique chave de API, Base URL, modelo e o endpoint final {endpoint}.",sttFailureHintGeneric:"Verifique chave de API, modelo e acesso da conta do provedor, depois tente novamente.",sttTestRecordFailed:"Nao foi possivel iniciar a gravacao do microfone: {error}",sttTestTranscript:"Transcricao: {text}",ttsProvider:"Provedor TTS",ttsProviderHint:"Escolha o mecanismo de texto para fala para reproducao de mensagens",providerWebSpeech:"WebSpeech API (Navegador)",providerOpenai:"OpenAI TTS",providerCustom:"Endpoint personalizado (compativel com OpenAI)",providerEdge:"Edge TTS (Gratuito, sem chave API)",webspeechVoice:"Voz",webspeechVoiceHint:"Selecione uma voz do seu navegador ou SO",webspeechVoicePlaceholder:"Auto (voz padrao)",openaiKey:"Chave API",openaiKeyHint:"Sua chave API OpenAI com acesso TTS",openaiUrl:"URL base da API",openaiUrlHint:"ex. https://api.openai.com/v1/audio/speech",openaiModel:"Modelo",openaiModelHint:"tts-1 (mais rapido) / tts-1-hd (qualidade superior)",openaiVoice:"Voz",openaiVoiceHint:"Voz a ser usada para sintese",customHint:"Use qualquer API TTS compativel com OpenAI — funciona com GPT-SoVITS, CosyVoice, etc.",customUrl:"URL da API",customUrlHint:"URL base do seu servico TTS",customUrlPlaceholder:"Endereco configurado no adaptador local, ex. http://127.0.0.1:9880",customApiKey:"Chave API (opcional)",customApiKeyHint:"Alguns endpoints personalizados exigem autenticacao",customApiKeyPlaceholder:"Deixe em branco se nao for necessario",edgeHint:"Desenvolvido por Microsoft Edge TTS (node-edge-tts).",edgeUrl:"URL do adaptador",edgeUrlHint:"Endereco do adaptador Edge TTS, ex. http://127.0.0.1:9882",edgeUrlPlaceholder:"http://127.0.0.1:9882",edgeVoice:"Voz",edgeVoiceHint:"Selecione uma voz para sintese de fala",edgeRate:"Velocidade",edgeRateHint:"Ajustar velocidade da fala (0.5x ~ 2.0x)",edgePitch:"Tom",edgePitchHint:"Ajustar tom da fala (-20 ~ +20 Hz)",testTitle:"Teste de voz",testText:"Texto de teste",testTextPlaceholder:"Insira o texto para testar...",testTextDefault:"Ola, este e um teste de voz.",testButton:"Testar",testButtonPlaying:"Reproduzindo...",testFailed:"Teste falhou: {error}",providerMimo:"MiMo TTS",mimoHint:"Xiaomi MiMo TTS — vozes predefinidas, design de voz e clonagem de voz",mimoApiKey:"Chave API",mimoApiKeyHint:"Obtenha sua chave em platform.xiaomimimo.com",mimoApiKeyPlaceholder:"Chave API MiMo",mimoAuthMode:"Modo de autenticação",mimoAuthModeHint:"Formato de cabeçalho esperado pelo endpoint MiMo selecionado",mimoAuthModeBearer:"Token Bearer (Authorization)",mimoAuthModeApiKey:"Cabeçalho API key (api-key)",mimoAuthModeBoth:"Ambos os cabeçalhos",mimoBaseUrl:"URL base",mimoBaseUrlHint:"URL do endpoint da API MiMo",mimoModel:"Modelo",mimoModelHint:"Selecione o modelo de síntese de voz",mimoModelPreset:"Vozes predefinidas",mimoModelVoiceDesign:"Design de voz",mimoModelVoiceClone:"Clonagem de voz",mimoVoice:"Voz",mimoVoiceHint:"Selecione uma voz predefinida",mimoVoiceDesignPrompt:"Descrição da voz",mimoVoiceDesignPromptHint:"Descreva as características de voz desejadas",mimoVoiceDesignPromptPlaceholder:"Ex: Uma voz feminina quente e jovem, ligeiramente lenta, com tom magnético",mimoCloneAudio:"Enviar áudio",mimoCloneAudioHint:"Envie uma amostra de áudio para clonagem (mp3/wav, máx. 10 MB)",mimoCloneAudioUpload:"Escolher arquivo",mimoCloneAudioClear:"Limpar",mimoStylePrompt:"Prompt de estilo",mimoStylePromptHint:"Opcional — descreva o estilo de fala em linguagem natural",mimoStylePromptPlaceholder:"Ex: Tom brilhante e animado, ritmo rápido"},lockedIps:{title:"IPs bloqueadas",count:"{count} bloqueadas",empty:"Nenhuma IP bloqueada",unlock:"Desbloquear",unlockAll:"Desbloquear tudo",unlockAllConfirm:"Desbloquear todas as IPs?",unlocked:"IP desbloqueada",allUnlocked:"{count} IPs desbloqueadas",type:{password:"Password",token:"API token",pairing:"Device pairing"}},userAvatar:{title:"Avatar do usuário",upload:"Enviar imagem",random:"Gerar aleatório",reset:"Restaurar padrão",hint:"Suporta PNG, JPEG e WebP até 1 MB; compacta automaticamente para menos de 500 KB.",invalidType:"Escolha uma imagem PNG, JPEG ou WebP",tooLarge:"A imagem do avatar deve ter 1 MB ou menos",saveSuccess:"Avatar salvo",saveFailed:"Falha ao salvar avatar",resetSuccess:"Avatar restaurado",resetFailed:"Falha ao restaurar avatar"},models:{apiKey:"API Key",apiKeyPlaceholder:"Digite a API Key",noProviders:"Nenhum provedor configurado",save:"Salvar",saveFailed:"Falha ao salvar",saved:"Salvo"}},githubPreview:{title:"Prévia de versão",description:"Clona a tag do GitHub selecionada para o workspace de prévia do Web UI, instala dependências e executa com as portas de desenvolvimento.",refresh:"Atualizar",selectTag:"Selecione uma tag",prepare:"Preparar código",install:"Instalar dependências",start:"Iniciar prévia",stop:"Parar",note:"O código de prévia é armazenado no diretório de dados do Web UI. Produção permanece na porta 8648; a prévia usa frontend 8651 e backend 8650.",path:"Caminho da prévia",webuiHome:"Dados da prévia",currentTag:"Tag atual",repoReady:"Repositório pronto",dependencies:"Dependências instaladas",running:"Estado",notRunning:"Não em execução",open:"Abrir prévia",log:"Caminho do log de ações",logOutput:"Saída de logs",actionLog:"Log de ações",devLog:"Log do servidor dev",yes:"Sim",no:"Não",actionFailed:"Ação falhou",nodeEnvironmentMissing:"Node/npm não foi detectado. Instale o Node.js e tente novamente.",prepareSuccess:"Código de prévia pronto",installSuccess:"Dependências instaladas",startSuccess:"Prévia concluída",stopSuccess:"Prévia parada"},codingAgents:{title:"Agentes de código",notice:"Nem todos os provedores e modelos são compatíveis.",claudeDescription:"CLI da Anthropic para tarefas únicas em print mode e sessões interativas de código.",codexDescription:"CLI da OpenAI e fluxo de provedor openai-codex do Hermes para tarefas de repositório.",copyCommand:"Copiar",commandCopied:"Comando copiado",commandCopyFailed:"Falha ao copiar",refresh:"Atualizar",checking:"Verificando",installStatus:"Status da instalação",installed:"Instalado",notInstalled:"Não instalado",installRequired:"{agent} não está instalado. Instale antes de criar uma sessão.",installNow:"Instalar",installing:"Instalando",installSuccess:"Instalado",installFailed:"Falha na instalação",installFailedHermesHint:"A instalação falhou. Peça ao Hermes para instalar para você.",installFailureReason:"Motivo",nodeEnvironmentMissing:"Node/npm não foi detectado. Instale o Node.js e tente novamente.",deleteNow:"Excluir",deleting:"Excluindo",deleteSuccess:"Excluído",deleteFailed:"Falha ao excluir",configFiles:"Arquivos de configuração",profileScope:"Perfil",providerScope:"Provedor",providerPlaceholder:"ex.: custom:glm",modelScope:"Modelo",modelPlaceholder:"Selecionar modelo",launchModeScope:"Modo de inicialização",launchModeGlobal:"Configuração global",launchModeScoped:"Provedor e modelo",protocolScope:"Protocolo",protocolOpenAiChat:"OpenAI Chat Completions (/v1/chat/completions)",protocolOpenAiResponses:"OpenAI Responses (/v1/responses)",protocolAnthropicMessages:"Anthropic Messages (/v1/messages)",reloadConfig:"Recarregar configuração",configFileNotCreated:"Não criado",configLoadFailed:"Falha ao ler arquivo de configuração",loadFailed:"Falha ao inspecionar agentes de código",launch:"Iniciar",launchTitle:"Iniciar agente de código",nativeTerminal:"Terminal nativo",builtInTerminal:"Terminal integrado",launchPrepared:"Configuração de inicialização preparada",launchPrepareFailed:"Falha ao preparar configuração de inicialização",nativeLaunchStarted:"Terminal nativo aberto",nativeLaunchFailed:"Falha ao abrir terminal nativo",terminalTitle:"Terminal do agente de código",loadProvidersFailed:"Falha ao carregar provedores do perfil atual",selectProviderModel:"Selecione um provedor e modelo",launchConfigDir:"Diretório de configuração de inicialização",launchCommand:"Comando de inicialização",table:{tool:"Ferramenta",kind:"Etapa",command:"Comando",note:"Nota",action:"Ação"},kinds:{install:"Instalar",auth:"Autenticação",health:"Saúde",run:"Executar"},notes:{claudeInstall:"Instala a CLI Claude Code globalmente.",codexInstall:"Instala a CLI Codex globalmente.",claudeAuth:"Verifica o estado de login do Claude Code; execute claude uma vez se o login estiver ausente.",codexAuth:"Adiciona credenciais OAuth do OpenAI Codex gerenciadas pelo Hermes.",claudeHealth:"Verifica o atualizador e a saúde da CLI local.",codexHealth:"Confirma que a CLI Codex está disponível no PATH.",claudeRun:"Print mode é o caminho mais limpo para tarefas únicas orientadas por API.",codexRun:"Tarefas únicas do Codex devem ser executadas dentro de um repositório git."}},platform:{requireMention:"Exigir mencao {'@'}",requireMentionGroup:"Exigir mencao {'@'} em grupos para responder",requireMentionChannel:"Exigir mencao {'@'} em canais para responder",requireMentionRoom:"Exigir mencao {'@'} em salas para responder",reactions:"Reacoes",reactionsHint:"Reagir a mensagens com emoji",freeResponseChats:"Chats de resposta livre",freeResponseChatsHint:"IDs de chats que respondem sem mencao {'@'} (separados por virgula)",freeResponseChannels:"Canais de resposta livre",freeResponseChannelsHint:"IDs de canais que respondem sem mencao {'@'} (separados por virgula)",freeResponseRooms:"Salas de resposta livre",freeResponseRoomsHint:"IDs de salas que respondem sem mencao {'@'} (separados por virgula)",mentionPatterns:"Padroes de mencao personalizados",mentionPatternsHint:"Padroes de acionamento adicionais",autoThread:"Thread automatica",autoThreadHint:"Criar automaticamente threads de resposta apos mencao {'@'}",autoThreadHintRoom:"Criar automaticamente threads de resposta em salas",dmMentionThreads:"Threads de mencao em DM",dmMentionThreadsHint:"Usar respostas em thread para mencoes em DMs",allowBots:"Permitir mensagens de bots",allowBotsHint:"Responder a mensagens de outros bots",allowedChannels:"Canais permitidos",allowedChannelsHint:"Lista branca de IDs de canais (separados por virgula)",ignoredChannels:"Canais ignorados",ignoredChannelsHint:"Canais onde o bot nunca responde (separados por virgula)",noThreadChannels:"Canais sem thread",noThreadChannelsHint:"Canais onde o bot responde sem threads (separados por virgula)",exclusiveTokenWarning:"Esta plataforma usa bloqueio exclusivo de token. Cada perfil deve usar um token de identidade diferente para evitar conflitos com outros perfis.",botToken:"Token do bot",botTokenHint:"Token do bot do portal do desenvolvedor",proxyUrl:"URL do proxy",proxyUrlHint:"Proxy opcional da plataforma. Suporta http://, https:// e socks5://",accessToken:"Token de acesso",accessTokenHint:"Token de acesso Matrix",homeserver:"URL do homeserver",homeserverHint:"URL do homeserver Matrix",matrixUserId:"ID de usuario Matrix",matrixUserIdHint:"Obrigatorio com senha; opcional com token",matrixPassword:"Senha Matrix",matrixPasswordHint:"Alternativa ao token de acesso",appId:"ID do aplicativo",appIdHint:"ID do aplicativo Feishu",appSecret:"Segredo do aplicativo",appSecretHint:"Segredo do aplicativo Feishu",encryptKey:"Chave de criptografia",encryptKeyHint:"Chave de criptografia do Feishu",verificationToken:"Token de verificação",verificationTokenHint:"Token de verificação do Feishu",clientId:"ID do cliente",clientIdHint:"ID do cliente DingTalk",clientSecret:"Segredo do cliente",clientSecretHint:"Segredo do cliente DingTalk",cardTemplateId:"ID do modelo de cartão IA",cardTemplateIdHint:"ID do modelo de cartão IA do DingTalk; deixe vazio para desativar os cartões IA",botId:"ID do bot",botIdHint:"ID do bot WeCom",wecomSecretHint:"Segredo do bot WeCom",waEnabled:"Ativar WhatsApp",waEnabledHint:"Ativar WhatsApp via pareamento por codigo QR",weixinToken:"Token Weixin",weixinTokenHint:"Do login QR da CLI weixin (hermes weixin)",accountId:"ID da conta",accountIdHint:"ID da conta Weixin",qrLogin:"Login por QR",qrRelogin:"Reconectar",qrFetching:"Buscando codigo QR...",qrScanHint:"Escaneie com WeChat para fazer login",qrScanedHint:"Escaneado, por favor confirme no celular...",qqSandboxHint:"Ativar ambiente sandbox (para testes)",qqSandbox:"Modo sandbox",qqQrScanHint:"Escaneie o QR code com QQ ou abra o link no celular para concluir a vinculação",qqMarkdownHint:"Ativar mensagens em formato Markdown (alguns clientes podem não suportar)",qqMarkdown:"Suporte a Markdown",qqAppSecretHint:"App Secret do bot QQ Open Platform",qqAppSecret:"App Secret",qqAppIdHint:"App ID do bot QQ Open Platform",qqAppId:"App ID",allowedUsersHint:"Lista de permissões de IDs de usuário ou OpenID, separados por vírgula",allowedUsers:"Usuários permitidos",allowAllUsersHint:"Permite mensagens de qualquer usuário; desative para usar a lista de permissões",allowAllUsers:"Permitir todos os usuários"},language:{label:"Idioma",zh:"中文",en:"English",pt:"Portugues"},terminal:{sessions:"Sessoes",newTab:"Novo terminal",closeSession:"Fechar esta sessao?",sessionExited:"Encerrada",processExited:"Processo encerrado com codigo {code}",noSessions:"Nenhuma sessão de terminal",connectionFailed:"Falha ao conectar ao terminal",connectionError:"Erro de conexão",connectionClosed:"Conexão fechada"},usage:{title:"Estatisticas de uso",refresh:"Atualizar",totalTokens:"Total de tokens",inputTokens:"Entrada",outputTokens:"Saida",totalSessions:"Total de sessoes",avgPerDay:"~{n}/dia em media",estimatedCost:"Custo est.",cacheHitRate:"Taxa de acerto de cache",modelBreakdown:"Detalhamento por modelo",agentBreakdown:"Detalhamento por agente",agents:{hermes:"Hermes Agent",claudeCode:"Claude Code",codex:"Codex",ekkoAgent:"Ekko Agent",unknown:"Desconhecido"},dailyTrend:"Uso diario",date:"Data",tokens:"Tokens",cache:"Cache",cacheRead:"Leitura de cache",cacheWrite:"Escrita de cache",sessions:"Sessoes",cost:"Custo",noData:"Sem dados de uso"},skillsUsage:{title:"Uso de habilidades",subtitle:"Acompanhe carregamentos e edições de habilidades nas sessões Hermes",refresh:"Atualizar",periodSelector:"Período de uso de habilidades",periodLabel:"{days} d",summary:"Resumo",totalActions:"Ações",loads:"Carga",edits:"Ed.",distinctSkills:"Habs.",topSkills:"Top habs.",dailyTrend:"Tendência diária",periodSummary:"Últimos {days} dias",skill:"Hab.",share:"%",lastUsed:"Últ. uso",noData:"Nenhum dado de uso de habilidades",loadFailed:"Falha ao carregar o uso de habilidades",otherSkills:"Outras habs."},workflow:{actions:{importWorkflow:"Importar Workflow",exportWorkflow:"Exportar Workflow",imported:"Workflow importado",exported:"Workflow exportado",importFailed:"Falha ao importar o Workflow",exportFailed:"Falha ao exportar o Workflow"},stats:{nodes:"nós",edges:"conexões"},evidence:{ariaLabel:"Detalhes de execução do Workflow",title:"Detalhes de execução",count:"{count} itens",intro:"Mostra as decisões de caminho, as iterações de loop e os nós excepcionais desta execução.",empty:"Sem detalhes de execução",loadFailed:"Não foi possível carregar os detalhes de execução salvos",node:"Nó excepcional",edge:"Caminho",loop:"Loop",pathTitle:"{source} → {target}",loopPass:"Iteração {count} do loop",exceptionalNode:"Este nó não terminou normalmente.",technical:"Informações técnicas",recordId:"ID do registro",sequence:"Sequência",rawStatus:"Status original",rawRoute:"Rota",rawReason:"Motivo",iterationPath:"Caminho da iteração",statuses:{taken:"Usado",notTaken:"Não usado",evaluationFailed:"Falha na avaliação",timedOut:"Tempo esgotado",blocked:"Bloqueado"},routes:{success:"Continuou após sucesso",failure:"Continuou após falha",always:"Continuou independentemente do resultado"},reasons:{evaluationFailed:"Falha na avaliação do caminho",conditionNotMatched:"A condição não correspondeu",iterationLimitReached:"Limite máximo de iterações atingido",routeNotMatched:"A rota não correspondeu"},loopOutcomes:{continued:"Condição atendida; próxima iteração",iterationLimitReached:"Parou no máximo de iterações",conditionNotMatched:"Parou porque a condição não correspondeu",finished:"Loop concluído"}},edgeEditor:{title:"Editar conexão",guideIntro:"Uma conexão só é usada quando a rota e a condição opcional correspondem. Escolha “Somente rota” se não precisar verificar conteúdo.",route:"Rota",routes:{success:"Somente sucesso (success)",failure:"Somente falha (failure)",always:"Sempre (always)"},routeHelp:"Primeiro é verificado o resultado do nó de origem; se houver condição, ela também deve corresponder.",routeExample:"Exemplo: success para fluxo normal, failure para erros e always para limpeza.",conditionPath:"O que esta conexão deve verificar?",conditionPathPlaceholder:"Caminho avançado, por exemplo output",conditionPathOptions:{routeOnly:"Somente rota — sem condição",outputRecommended:"Texto da resposta com sucesso (output, recomendado)",output:"Texto da resposta com sucesso (output)",errorRecommended:"Texto do erro (error, recomendado)",error:"Texto do erro (error)",custom:"Caminho personalizado (avançado)"},conditionPathHelp:{success:"Para success, output é recomendado. Escolha “Somente rota” se não precisar verificar a resposta.",failure:"Para failure, error é recomendado. Escolha “Somente rota” se não precisar verificar o erro.",always:"Use output para sucesso ou error para falha; “Somente rota” ignora o conteúdo."},operator:"Operador",operators:{equals:"Igual (equals)",not_equals:"Diferente (not_equals)",contains:"Contém (contains)",not_contains:"Não contém (not_contains)",exists:"Existe (exists)",not_exists:"Não existe (not_exists)",greater_than:"Maior que (greater_than)",greater_than_or_equal:"Maior ou igual (greater_than_or_equal)",less_than:"Menor que (less_than)",less_than_or_equal:"Menor ou igual (less_than_or_equal)",in:"Está na lista (in)",not_in:"Não está na lista (not_in)"},operatorHelp:{equals:"Valor e tipo devem ser exatamente iguais.",not_equals:"O valor ou tipo é diferente.",contains:"O texto contém texto ou o array contém o item.",not_contains:"O texto ou array não contém o item.",exists:"Corresponde quando o caminho existe; não requer valor.",not_exists:"Corresponde quando o caminho não existe; não requer valor.",greater_than:"Ambos devem ser números JSON; o valor real é maior.",greater_than_or_equal:"Ambos devem ser números JSON; o valor real é maior ou igual.",less_than:"Ambos devem ser números JSON; o valor real é menor.",less_than_or_equal:"Ambos devem ser números JSON; o valor real é menor ou igual.",in:"Valor deve ser um array JSON que contenha o valor real.",not_in:"Valor deve ser um array JSON que não contenha o valor real."},value:"Valor",invalidConditionValue:"O valor da condição deve ser JSON válido",conditionValuePlaceholder:'JSON: "texto", 42, true, ["a"]',valueType:"Tipo do valor",valueTypes:{string:"Texto",number:"Número",boolean:"Booleano",null:"Nulo",array:"Array",object:"Objeto"},valueTypeHelp:"Escolha como o valor será interpretado e validado. O tipo é inferido do valor JSON salvo e não é armazenado separadamente.",conditionValuePlaceholders:{string:"Texto, por exemplo APPROVED",number:"Número, por exemplo 42",boolean:"true ou false",null:"null",array:'Array JSON, por exemplo ["a", 2]',object:`Objeto JSON, por exemplo {'{'}"status":"ready"{'}'}`},invalidValueTypes:{string:"O valor deve ser texto.",number:"O valor deve ser um número válido.",boolean:"O valor deve ser true ou false.",null:"O valor deve ser null.",array:"O valor deve ser um array válido.",object:"O valor deve ser um objeto válido."},valueHelp:"Insira um valor do tipo selecionado. Objetos e arrays usam JSON; textos são inseridos sem aspas JSON.",feedback:"Loop de feedback",feedbackHelp:"Marca esta conexão de retorno como loop limitado. Repete apenas enquanto rota e condição correspondem.",maxIterations:"Máximo de iterações",maxIterationsHelp:"Total de passagens do loop, de 1 a 100; o orçamento global também se aplica.",invalidIterations:"O máximo de iterações deve ser um inteiro entre 1 e 100",loopId:"Identidade do loop",loopIdPlaceholder:"Selecione automático ou digite um ID",loopIdAutomatic:"Automático (recomendado) · {id}",loopIdHelp:"Apenas identifica o loop no histórico e não muda quando ele executa. Mantenha automático salvo uso avançado.",invalidLoopId:"Formato de ID do loop inválido"},node:{approvalRequired:"Aprovação após o nó",join:"Estratégia de junção",joinAll:"Todas as rotas de entrada",joinAny:"Qualquer rota de entrada",joinAllHelp:"Executa apenas se todas as rotas de entrada forem tomadas; caso contrário, o nó é ignorado.",joinAnyHelp:"Executa uma vez na primeira rota tomada; só é ignorado quando nenhuma corresponde."},status:{pending_approval:"Aguardando aprovacao",approval_rejected:"Aprovacao rejeitada"}},changelog:{new_0_6_30_1:"Esta versão reúne os 21 PRs mesclados após a 0.6.29: orquestração de Workflow, sessões MoA, voz em tempo real, memória durável, confiabilidade de providers, configuração MCU e melhorias no Windows",new_0_6_30_2:"Workflow Orchestration v2 adiciona rotas condicionais de sucesso, falha e execução permanente, saltos reais, junções all/any, loops de feedback limitados, evidências, prazos e importações portáveis (#2073)",new_0_6_30_3:"Presets MoA ativados agora podem ser escolhidos ao criar ou trocar sessões de chat Hermes, com nome, padrão, janela de contexto e comportamento de runtime corretos (#2078)",new_0_6_30_4:"A primeira tela carrega muito menos JavaScript ao adiar Markdown, Mermaid, Monaco, idiomas inativos e overlays opcionais (#2068)",new_0_6_30_5:"Chats individuais agora oferecem modo de voz em tempo real em tela cheia, com transcrição ao vivo, reprodução em fila, atividade de ferramentas e controles de interrupção (#2063)",new_0_6_30_6:"A voz em tempo real está mais confiável no desktop e no celular, recupera-se do silêncio, evita gravar o assistente, usa o fallback STT ativo e mantém aprovações visíveis (#2064, #2067)",new_0_6_30_7:"O Ekko Agent ganha memória durável por escopo, inclui provider e modelo ativos no contexto de runtime e trata com mais segurança o banco de memória em produção (#2057, #2060, #2071)",new_0_6_30_8:"Profiles sem provider configurado agora recebem uma orientação direta que abre o formulário de configuração (#2070)",new_0_6_30_9:"Os catálogos de modelos dos providers foram alinhados ao Hermes Agent, e a descoberta ao vivo tem prioridade sem caches antigos ocultarem atualizações (#2051)",new_0_6_30_10:"Aliases de providers personalizados permanecem estáveis nos chats carregados, evitando reconstruções desnecessárias do cliente e perda de headers (#2054)",new_0_6_30_11:"A troca de modelo agora mostra um progresso bloqueante, e a troca de conversa repete o fade sem remontar rascunhos ou anexos (#2056, #2069)",new_0_6_30_12:"A exploração do grafo Journey adiciona seleção múltipla de categorias, formas distintas para Skill e Memory, previews e melhores controles por teclado e toque (#2055)",new_0_6_30_13:"Downloads Markdown preservam a extensão, a transcrição móvel recebe controles explícitos de início e parada, e o streaming Scoped Codex deixa de duplicar a resposta final (#2058, #2066)",new_0_6_30_14:"A configuração e a confiabilidade do MCU melhoram com códigos de dispositivo visíveis, seleção automática do microfone, desconexão sincronizada e descoberta TLS limitada (#2049, #2059, #2062)",new_0_6_30_15:"Chats no Windows não exibem mais janelas do console Git ao capturar alterações do workspace em diretórios Git ou comuns (#2080)",new_0_6_29_1:"Esta versão reúne os 14 PRs mesclados após 0.6.28: consistência visual, áudio MCU e hardware v2, diffs de workspace, análise de uso, atualizações Docker e clonagem de voz MiMo",new_0_6_29_2:"Cabeçalhos, superfícies escuras e raios seguem um único sistema visual, e a prévia ordena tags válidas por versão semântica (#2014, #2015)",new_0_6_29_3:"A página do produto ESP32 ganhou um redesign responsivo e o seletor do site agora inclui Hermes Agent 0.18.2 (#2020, #2042)",new_0_6_29_4:"O ESP32-C3 v1 usa IMA-ADPCM para reduzir o áudio de uplink a cerca de um quarto da banda, grava por até dois minutos e restaura o IP LAN no OLED após estados temporários (#2024, #2025)",new_0_6_29_5:"Diffs de workspace começam recolhidos e ignoram alterações de zero linhas, enquanto o fundo escuro padrão do compositor foi restaurado (#2032)",new_0_6_29_6:"A exportação tolera sinais de porcentagem inválidos em nomes; atualizações Docker mostram instruções de pull/recreate em vez de alterar npm dentro do contêiner (#2026, #2033)",new_0_6_29_7:"Resultados Bridge continuam armazenados por completo, mas no contexto do modelo são resumidos a 5.500 caracteres do início e fim (#2036)",new_0_6_29_8:"A análise unifica chamadas de Hermes Agent, Claude Code, Codex e Ekko Agent e adiciona uma visão de distribuição por agente (#2039)",new_0_6_29_9:"Um firmware ESP32-C3 v2 separado adiciona o novo mapa de pinos sem afetar v1; v2 usa volume padrão de 80%, ganho PCM de 1,5x e limitação suave (#2044, #2045)",new_0_6_29_10:"A clonagem de voz MiMo restaura o upload WAV/MP3 e envia a referência por audio.voice conforme exigido pela API atual (#2046)",new_0_6_28_1:"Esta versão cobre todos os PRs mesclados após a 0.6.27, incluindo gestão de MCU, diffs de workspace no Group Chat, correções do Coding Agent, aprovações de Workflow, filtro de diffs, seleção de modelo em jobs agendados e aviso desktop de nova versão",new_0_6_28_2:"MCU adiciona gestão de dispositivos, exige token API para eventos global-agent, atualiza o firmware ESP32-C3 e estabiliza o login do relay remoto",new_0_6_28_3:"Mudanças de workspace do Group Chat são persistidas como workspace diff runs para revisar a atividade do agent da sala após a sessão",new_0_6_28_4:"Coding Agents herdam servidores MCP externos com escopo, roteiam aborts de workflow agent corretamente e exportam best-effort sessões nativas Codex e Claude Code concluídas",new_0_6_28_5:"As sessões corrigem o drawer de arquivos workspace, removem embeds quebrados do histórico favorito e gravam metadados ended_at/end_reason para sessões bridge",new_0_6_28_6:"Nós de Workflow agora suportam approval gates após a conclusão e corrigem estados de aprovação em reexecuções",new_0_6_28_7:"Diffs de workspace filtram sidecars SQLite WAL/SHM e continuam escaneando além de arquivos inalterados para manter novos arquivos comuns visíveis",new_0_6_28_8:"Jobs agendados podem escolher e persistir provider/model sem passar flags de modelo não suportados para a CLI Hermes cron atual",new_0_6_28_9:"A gestão de versões desktop mostra um aviso localizado de nova versão no botão, e o manifest público inclui 0.6.28",new_0_6_27_1:"Esta versão cobre todos os PRs mesclados após a 0.6.26, incluindo fallback de inicialização do desktop, correções do runtime no Windows, relay remoto do MCU, workspaces no chat em grupo, ajustes do workspace padrão e filtro de diffs vazios",new_0_6_27_2:"A inicialização do desktop agora usa o Web UI incluído como fallback quando o diretório active Web UI está ausente ou incompleto, preservando o runtime fixado",new_0_6_27_3:"Os runtimes do desktop no Windows agora usam wrappers hermes.cmd relocáveis em vez de trampolines .exe frágeis para chamadas do Web UI server",new_0_6_27_4:"O tráfego do MCU remoto agora usa o relay Socket.IO /global-agent, com login e descoberta do ESP32-C3 mais estáveis, fila de reprodução de voz, persistência de credenciais Wi-Fi e firmware atualizado",new_0_6_27_5:"As salas de Group Chat agora podem ter um workspace validado que é passado para runs do group-agent, enquanto membros somente leitura não veem workspace, invite code nem controles de gerenciamento",new_0_6_27_6:"Os favoritos do workspace padrão agora ficam na linha de path selecionado do folder picker, com cobertura de locale concluída para os labels do workspace picker",new_0_6_27_7:"Os cards de diff do workspace agora ignoram mudanças de 0 byte sem patch nem delta de linhas, evitando cards de arquivo alterado +0/-0 sem significado",new_0_6_26_1:"Esta versão cobre os PRs mesclados após a 0.6.25, com foco no Ekko Agent, exibição de context do Coding Agent, Journey, baselines do chat em grupo, correções do desktop e tamanho do payload MCP",new_0_6_26_2:"O Ekko Agent agora está disponível no chat com tratamento de runtime context, browser tools, tool events mais estáveis e histórico de tool-result restaurado para cálculo de uso de context",new_0_6_26_3:"As sessões do Coding Agent agora mostram reasoning e configurações de context com mais clareza, persistem API mode, evitam uso incorreto do Codex app-server mode e impedem saltos no context usage após turnos de continuação",new_0_6_26_4:"O Journey ganhou uma visualização de learning graph com interações mais refinadas, enquanto o chat em grupo recebeu baseline coverage para a nova linha de recursos",new_0_6_26_5:"A confiabilidade do desktop melhorou com correções de login persistence e reset flow, fallback de porta dinâmica do Windows worker, tratamento de stdout/stderr EPIPE e empacotamento isolado do firmware ESP32-C3 v1",new_0_6_26_6:"O Hermes Studio MCP agora retorna por padrão um resumo compacto de available-models, com filtros e uma opção full-detail explícita para evitar excesso de dados no agent context",new_0_6_25_1:"Corrige falhas de execute_code com Hermes Agent 0.18.0 ao encaminhar o novo parametro has_host_access pelo wrapper de memoria de aprovacoes do Agent Bridge",new_0_6_24_1:"Esta versao cobre os PRs mesclados depois da 0.6.23 e melhora entrada de chat, visibilidade de workspaces, gestao de plugins, modelos padrao e revisao de diffs",new_0_6_24_2:"As entradas de chat individual e em grupo usam uma barra integrada, controles compactos de modelo, configuracoes agrupadas, uso de contexto mais claro, melhor mobile chrome e redimensionamento manual restaurado no chat individual",new_0_6_24_3:"Mudancas de workspace run aparecem como cards de diff persistentes com drawer lateral para ver diffs e editar arquivos, restaurados apos retomar a sessao e ajustados para mobile",new_0_6_24_4:"O seletor de pastas workspace navega melhor por drives e junctions no Windows e mostra pastas com ponto como .hermes, .config e .codex mantendo as verificacoes de WORKSPACE_BASE",new_0_6_24_5:"A pagina Plugins permite ativar ou desativar plugins de usuario gerenciaveis e reflete melhor o estado combinado da configuracao base do Hermes e do profile atual",new_0_6_24_6:"A pagina Models adiciona acoes de provider e modelo padrao; a deteccao de erros terminal bridge reduz falsos positivos, o runtime Hermes Agent vai para 0.18.0 e o manifest de versoes do site foi atualizado"}};export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aa as e}from"./index-
|
|
1
|
+
import{aa as e}from"./index-RJQqJC6n.js";var t,n,o=e((()=>{t={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:!0}},n={defaultToken:"",tokenPostfix:".pug",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["append","block","case","default","doctype","each","else","extends","for","if","in","include","mixin","typeof","unless","var","when"],tags:["a","abbr","acronym","address","area","article","aside","audio","b","base","basefont","bdi","bdo","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","keygen","kbd","label","li","link","map","mark","menu","meta","meter","nav","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","tracks","tt","u","ul","video","wbr"],symbols:/[\+\-\*\%\&\|\!\=\/\.\,\:]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)([a-zA-Z_-][\w-]*)/,{cases:{"$2@tags":{cases:{"@eos":["","tag"],"@default":["",{token:"tag",next:"@tag.$1"}]}},"$2@keywords":["",{token:"keyword.$2"}],"@default":["",""]}}],[/^(\s*)(#[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.id"],"@default":["",{token:"tag.id",next:"@tag.$1"}]}}],[/^(\s*)(\.[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.class"],"@default":["",{token:"tag.class",next:"@tag.$1"}]}}],[/^(\s*)(\|.*)$/,""],{include:"@whitespace"},[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],tag:[[/(\.)(\s*$)/,[{token:"delimiter",next:"@blockText.$S2."},""]],[/\s+/,{token:"",next:"@simpleText"}],[/#[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.id",next:"@pop"},"@default":"tag.id"}}],[/\.[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.class",next:"@pop"},"@default":"tag.class"}}],[/\(/,{token:"delimiter.parenthesis",next:"@attributeList"}]],simpleText:[[/[^#]+$/,{token:"",next:"@popall"}],[/[^#]+/,{token:""}],[/(#{)([^}]*)(})/,{cases:{"@eos":["interpolation.delimiter","interpolation",{token:"interpolation.delimiter",next:"@popall"}],"@default":["interpolation.delimiter","interpolation","interpolation.delimiter"]}}],[/#$/,{token:"",next:"@popall"}],[/#/,""]],attributeList:[[/\s+/,""],[/(\w+)(\s*=\s*)("|')/,["attribute.name","delimiter",{token:"attribute.value",next:"@value.$3"}]],[/\w+/,"attribute.name"],[/,/,{cases:{"@eos":{token:"attribute.delimiter",next:"@popall"},"@default":"attribute.delimiter"}}],[/\)$/,{token:"delimiter.parenthesis",next:"@popall"}],[/\)/,{token:"delimiter.parenthesis",next:"@pop"}]],whitespace:[[/^(\s*)(\/\/.*)$/,{token:"comment",next:"@blockText.$1.comment"}],[/[ \t\r\n]+/,""],[/<!--/,{token:"comment",next:"@comment"}]],blockText:[[/^\s+.*$/,{cases:{"($S2\\s+.*$)":{token:"$S3"},"@default":{token:"@rematch",next:"@popall"}}}],[/./,{token:"@rematch",next:"@popall"}]],comment:[[/[^<\-]+/,"comment.content"],[/-->/,{token:"comment",next:"@pop"}],[/<!--/,"comment.content.invalid"],[/[<\-]/,"comment.content"]],string:[[/[^\\"'#]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,{cases:{"@eos":{token:"string.escape",next:"@popall"},"@default":"string.escape"}}],[/\\./,{cases:{"@eos":{token:"string.escape.invalid",next:"@popall"},"@default":"string.escape.invalid"}}],[/(#{)([^}]*)(})/,["interpolation.delimiter","interpolation","interpolation.delimiter"]],[/#/,"string"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":{token:"string"}}}]],value:[[/[^\\"']+/,{cases:{"@eos":{token:"attribute.value",next:"@popall"},"@default":"attribute.value"}}],[/\\./,{cases:{"@eos":{token:"attribute.value",next:"@popall"},"@default":"attribute.value"}}],[/["']/,{cases:{"$#==$S2":{token:"attribute.value",next:"@pop"},"@default":{token:"attribute.value"}}}]]}}}));o();export{t as conf,n as language};
|