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:"Geben Sie Benutzername und Passwort ein, um fortzufahren.",placeholder:"Zugangs-Token",submit:"Anmelden",tokenRequired:"Bitte geben Sie Ihren Zugangs-Token ein",invalidToken:"Ungultiger Token",connectionFailed:"Verbindung zum Server nicht moglich",passwordLogin:"Passwort",tokenLogin:"Token",usernamePlaceholder:"Benutzername",passwordPlaceholder:"Passwort",defaultCredentialsHint:"Standard-Benutzername: admin. Standard-Passwort: 123456.",credentialsRequired:"Bitte Benutzername und Passwort eingeben",invalidCredentials:"Ungultiger Benutzername oder Passwort",tooManyAttempts:"Zu viele fehlgeschlagene Versuche, bitte versuchen Sie es spater erneut",lockResetHint:"Wenn dies Ihr Server ist, heben Sie die Login-Sperre auf mit:",defaultLoginResetHint:"Um das Standard-Admin-Passwort zuruckzusetzen, fuhren Sie aus:",desktopLockResetHint:"Too many failed login attempts. Open the system tray menu and choose Reset Login to reset the password.",sessionExpired:"Die Anmeldung ist abgelaufen. Bitte melden Sie sich erneut an.",accessDenied:"Sie haben keine Berechtigung fur diese Ressource.",passwordMismatch:"Passworter stimmen nicht uberein",passwordTooShort:"Passwort muss mindestens 6 Zeichen lang sein",setupSuccess:"Passwort-Login erfolgreich konfiguriert",passwordChanged:"Passwort erfolgreich geandert",passwordRemoved:"Passwort-Login entfernt",setupPassword:"Passwort-Login einrichten",changePassword:"Passwort andern",changeUsername:"Benutzername andern",removePasswordLogin:"Entfernen",username:"Benutzername",currentPassword:"Aktuelles Passwort",newPassword:"Neues Passwort",confirmPassword:"Passwort bestatigen",newUsername:"Neuer Benutzername",usernameChanged:"Benutzername erfolgreich geandert",usernameTooShort:"Benutzername muss mindestens 2 Zeichen lang sein",setupDescription:"Verwalten Sie Benutzername und Passwort fur die Anmeldung.",removeConfirm:"Passwort-Login ist fur Benutzerkonten erforderlich.",passwordLoginNotConfigured:"Passwort-Login ist nicht konfiguriert",passwordLoginConfigured:"Aktuelles Konto: {username}",defaultCredentialTitle:"Standardkonto und Passwort andern",defaultCredentialMessage:"Das aktuelle Konto verwendet noch den Standard-Benutzernamen oder das Standard-Passwort. Um unbefugten Zugriff zu vermeiden, andern Sie Benutzername und Passwort des aktuellen Kontos so bald wie moglich.",defaultCredentialAction:"Jetzt andern",defaultCredentialLater:"Spater erinnern"},users:{title:"Kontoverwaltung",description:"Benutzer erstellen, Rollen zuweisen und steuern, auf welche Profile normale Administratoren zugreifen koennen.",create:"Benutzer erstellen",edit:"Benutzer bearbeiten",username:"Benutzername",role:"Rolle",statusLabel:"Status",profiles:"Zugreifbare Profile",profilesPlaceholder:"Zugreifbare Profile auswaehlen",allProfiles:"Alle Profile",noProfiles:"Keine Profile zugewiesen",lastLogin:"Letzte Anmeldung",newPasswordOptional:"Neues Passwort (leer lassen zum Beibehalten)",loadFailed:"Benutzer konnten nicht geladen werden",deleteConfirm:"Diesen Benutzer loeschen?",enable:"Aktivieren",disable:"Deaktivieren",roles:{superAdmin:"Super Admin",admin:"Admin"},status:{active:"Aktiv",disabled:"Deaktiviert"}},common:{loading:"Laden...",cancel:"Abbrechen",retry:"Erneutern",reset:"Zurücksetzen",delete:"Loschen",edit:"Bearbeiten",save:"Speichern",saved:"Gespeichert",update:"Aktualisieren",create:"Erstellen",saveFailed:"Speichern fehlgeschlagen",deleteFailed:"Loschen fehlgeschlagen",ok:"OK",copied:"Kopiert",copy:"Kopieren",noData:"Keine Daten",fetch:"Abrufen",add:"Hinzufugen",enable:"Aktivieren",disable:"Deaktivieren",configured:"Konfiguriert",notConfigured:"Nicht konfiguriert",confirm:"Bestatigen",expand:"Aufklappen",collapse:"Zuklappen",stop:"Stoppen",start:"Starten",expired:"Abgelaufen"},mcp:{title:"MCP-Server",loadFailed:"MCP-Server konnten nicht geladen werden",reloadAll:"Alle neu laden",refresh:"Aktualisieren",total:"Gesamt",connected:"Verbunden",disconnected:"Getrennt",tools:"werkzeuge",tool:"Werkzeuge",searchPlaceholder:"Server suchen...",addServer:"+ Server hinzufuegen",zeroTools:"0 Werkzeuge",loading:"Wird geladen...",empty:"Keine MCP-Server konfiguriert",reloaded:"{server} neu geladen",reloadedAll:"Alle MCP-Server neu geladen",reloadFailed:"Neuladen fehlgeschlagen",serverAdded:'Server "{name}" hinzugefuegt',addFailed:"Server konnte nicht hinzugefuegt werden",serverUpdated:'Server "{name}" aktualisiert',updateFailed:"Server konnte nicht aktualisiert werden",saveFailed:"Speichern fehlgeschlagen",serverRemoved:'"{name}" entfernt',enabled:"Aktiviert: {name}",disabled:"Deaktiviert: {name}",connectedStatus:"Verbunden",disconnectedStatus:"Getrennt",disabledStatus:"Deaktiviert",toolList:"Werkzeugliste",count:" ",more:"mehr",removeFailed:"Server konnte nicht entfernt werden",testOk:"Test OK — {count} Werkzeuge verfuegbar",testEmpty:"Test lieferte keine Werkzeuge",testFailed:"Test fehlgeschlagen",edit:"Bearbeiten",test:"Testen",reload:"Neu laden",remove:"Entfernen",confirmRemove:'Server "{name}" entfernen?',cancel:"Abbrechen",add:"Hinzufuegen",save:"Speichern",addTitle:"MCP-Server hinzufuegen",editTitle:"MCP-Server bearbeiten",invalidJson:"Ungültiges JSON",invalidYaml:"Ungültiges YAML-Format",invalidConfig:"Ungültige Konfiguration",invalidServerConfig:"Ungültige Serverkonfiguration",missingCommandOrUrl:"Muss command oder url enthalten",manageTools:"Tools verwalten",toolsVisibilityTitle:"Tools-Sichtbarkeit verwalten",fetchTools:"Tools-Liste abrufen",fetchToolsFailed:"Tools-Liste konnte nicht abgerufen werden",toolsMode:"Modus:",toolsModeAll:"Alle",toolsModeInclude:"Einschließen",toolsModeExclude:"Ausschließen",toolsListHeader:"Tool-Name",toolsEmpty:"Keine Tools verfügbar, bitte zuerst die Tools-Liste abrufen",toolsSummaryAll:"{count} Tools insgesamt, alle aktiviert",toolsSummaryInclude:"{total} Tools insgesamt, {count} ausgewählt",toolsSummaryExclude:"{total} Tools insgesamt, {count} ausgeschlossen",toolsVisibilitySaved:"Tools-Sichtbarkeit gespeichert",toolsSelectAll:"Alle auswählen",toolsClearSelection:"Auswahl löschen",toolsExcludeAll:"Alle ausschließen",toolsClearExcluded:"Ausschlüsse löschen"},sidebar:{chat:"Chat",backToChat:"Zuruck",search:"Suche",apiRelay:"API-Relay",history:"Verlauf",jobs:"Geplante Aufgaben",models:"Modelle",profiles:"Profile",plugins:"Plugins",mcp:"MCP",petdex:"Pets",skills:"Fahigkeiten",memory:"Gedachtnis",logs:"Protokolle",usage:"Nutzung",performance:"Leistung",journey:"Lernverlauf",skillsUsage:"Skill-Nutzung",channels:"Kanale",terminal:"Konsole",singleChat:"Chat",globalAgent:"Global Agent",files:"Dateien",devices:"Gerate",groupChat:"Gruppenchat",groupConversation:"Konversation",groupConversationShort:"Konv",groupAgent:"Agent",groupAgentShort:"Agent",groupSystem:"System",groupSystemShort:"Sys",groupMonitoring:"Überwachung",groupMonitoringShort:"Überw.",settings:"Einstellungen",connected:"Verbunden",disconnected:"Getrennt",updateTip:'Fuhren Sie "hermes-web-ui update" im Terminal aus, um zu aktualisieren',updateVersion:"Aktualisieren auf v{version}",reloadClientVersion:"Für v{version} neu laden",updating:"Aktualisierung...",updateSuccess:"Aktualisierung erfolgreich. Bitte aktualisieren Sie die Seite in Kurze. Wenn der Dienst langere Zeit nicht startet, starten Sie ihn manuell.",updateFailed:"Aktualisierung fehlgeschlagen",logout:"Abmelden",nodeVersionWarning:"Node.js v{version} erkannt. Bitte aktualisieren Sie auf Version 23 oder neuer.",changelog:"Anderungsprotokoll",noChangelog:"Kein Anderungsprotokoll verfugbar",versionManagement:"Versionsverwaltung",updateAvailableLabel:"(Neue Version)",dockerUpdateTitle:"Docker-Update",dockerUpdateGuide:"In der Docker-Umgebung bitte das neueste Image pullen und den Container neu erstellen:",dockerUpdateNote:"Ihre Daten bleiben nach dem Neuerstellen des Containers erhalten.",kanban:"Kanban",workflow:"Workflow",groupTools:"Werkzeuge",groupToolsShort:"Tools",codingAgents:"Coding Agents",versionPreview:"Versionsvorschau",groupPlatform:"Plattform",gateways:"Gateways",expand:"Menü ausklappen",collapse:"Menü einklappen"},runtimeVersions:{title:"Versionsverwaltung",runtimeTitle:"Hermes Runtime",webUiTitle:"Web UI",platform:"Plattform",currentWebUi:"Aktuelles Web UI",activeVersion:"Aktive Version",active:"Aktiv",installed:"Installiert",download:"Herunterladen",downloadGithub:"Von GitHub herunterladen",downloadCf:"Von Cloudflare herunterladen",github:"GitHub",cf:"Cloudflare",useVersion:"Beim nächsten Neustart verwenden",deleteVersion:"Löschen",deleteRuntimeConfirm:"Hermes Runtime {version} löschen?",deleteWebUiConfirm:"Web UI {version} löschen?",deleteRuntimeSuccess:"Runtime gelöscht",deleteWebUiSuccess:"Web UI gelöscht",refresh:"Aktualisieren",noVersions:"Keine Versionen verfügbar",remoteLoadFailed:"Remote-Versionen konnten nicht geladen werden",downloadTasks:"Download-Aufgaben",downloadStarted:"Download gestartet",activateSuccess:"Versionsauswahl gespeichert. Starten Sie Hermes Studio neu, um sie zu verwenden.",jobStatus:{queued:"In Warteschlange",running:"Läuft",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},jobStageStatus:{queued:"In Warteschlange",resolve:"Wird aufgelöst",download:"Wird heruntergeladen",verify:"Wird geprüft",extract:"Wird entpackt",install:"Wird installiert",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},jobStage:{queued:"In Warteschlange",download:"Wird heruntergeladen",resolveRuntime:"Runtime-Paket wird aufgelöst",verifyRuntime:"Runtime-Archiv wird geprüft",extractRuntime:"Runtime-Archiv wird entpackt",installRuntime:"Runtime wird installiert",resolveWebUi:"Web-UI-Paket wird aufgelöst",verifyWebUi:"Web-UI-Archiv wird geprüft",extractWebUi:"Web-UI-Archiv wird entpackt",installWebUi:"Web UI wird installiert",completed:"Abgeschlossen",failed:"Fehlgeschlagen"}},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:"Remote",connected:"Verbunden",disconnected:"Getrennt",remoteConnect:"Remote verbinden",remoteConnected:"Remote verbunden",remoteConnectFailed:"Remote-Verbindung fehlgeschlagen",remoteDisconnect:"Trennen",remoteDisconnected:"Remote getrennt",remoteDisconnectFailed:"Remote-Trennung fehlgeschlagen",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:"Geräte",count:"{count} Geräte",lastScanned:"Zuletzt gescannt: {time}",refresh:"Aktualisieren",empty:"Keine Geräte gefunden",computer:"Rechner",endpointLabel:"Endpunkt",statusLabel:"Zustand",online:"Online",offline:"Offline",address:"Adresse",os:"Betriebssystem",agentVersion:"Agent",webUiVersion:"Web UI",responseMs:"Latenz",lastSeen:"Zuletzt gesehen",open:"Öffnen",never:"Nie",unknown:"Unbekannt",loadFailed:"Geräte konnten nicht geladen werden",scanFailed:"Gerätescan fehlgeschlagen",updateFailed:"Gerät konnte nicht aktualisiert werden",duplicateRequest:"Es gibt bereits eine ausstehende Kopplungsanfrage",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:"Verarbeitet",unprocessed:"Unverarbeitet",deleteHistory:"Eintrag löschen",deleteHistoryConfirm:"Diesen Anfrageeintrag löschen und den Verbindungszugriff dieses Geräts widerrufen?",requests:"Anfragen",requestsWithCount:"Anfragen ({count})",noRequests:"Keine Anfragen",requestPairing:"Kopplung anfragen",paired:"Gekoppelt",approve:"Genehmigen",reject:"Ablehnen",block:"Blockieren",unblock:"Blockierung aufheben",inboundStatus:{none:"Anfrage erlaubt",pending:"Ausstehend",approved:"Genehmigt",rejected:"Abgelehnt",blocked:"Blockiert"},outboundStatus:{none:"Nicht gekoppelt",pending:"Angefragt",approved:"Gekoppelt",rejected:"Abgelehnt",blocked:"Blockiert"},endpoint:{web:"Web",desktop:"Desktop-App",custom:"Benutzerdefiniert"}},performance:{title:"Leistung",subtitle:"Systemressourcen, Bridge Broker, Workers und aktive Sitzungen überwachen",refresh:"Aktualisieren",autoRefreshOn:"Automatisch aktualisieren",autoRefreshOff:"Manuell aktualisieren",loadFailed:"Leistungsdaten konnten nicht geladen werden",systemCpu:"System-CPU",systemMemory:"Systemspeicher",activeSessions:"Aktive Sitzungen",runningSessions:"Laufend {count}",workers:"Workers",totalWorkerMemory:"Worker-Gesamtspeicher",processes:"Prozesse",uptime:"Laufzeit",running:"Läuft",stopped:"Gestoppt",workerMemory:"Worker-Speicher",lastUpdated:"Aktualisiert",profile:"Profile",memory:"Speicher",sessions:"Sitzungen",runningActiveSessions:"Laufend / Aktiv",lastUsed:"Zuletzt verwendet",status:"Status",noWorkers:"Keine Workers",sessionsByProfile:"Sitzungen nach Profile",noActiveSessions:"Keine aktiven Sitzungen"},journey:{title:"Lernverlauf",play:"Lernverlauf abspielen",pause:"Lernverlauf pausieren",refresh:"Aktualisieren",categorySelection:"Kategorieauswahl",nodeKinds:"Knotentypen",description:"Beschreibung",canvasInstructions:"Mit den Pfeiltasten Knoten anzeigen, mit Enter Details öffnen und mit Escape die Auswahl löschen.",loadFailed:"Lernverlauf konnte nicht geladen werden",nodes:"Knoten",edges:"Verbindungen",skills:"Skills",memories:"Erinnerungen",clusters:"Cluster",profile:"Profile",source:"Quelle",learnedSkills:"Gelernte Skills",memorySkillEdges:"Erinnerungslinks",allKinds:"Alle Typen",allCategories:"Alle Kategorien",searchPlaceholder:"Knoten suchen",noClusters:"Keine Cluster",noNodes:"Keine Lernverlauf-Knoten",noCategory:"Nicht kategorisiert",category:"Kategorie",useCount:"Nutzung",createdBy:"Erstellt von",timestamp:"Zeit",pinned:"Angeheftet"},drawer:{terminal:"Konsole",files:"Arbeitsbereich"},realtimeVoice:{title:"Echtzeit-Sprache",mode:"Sprachmodus",open:"Echtzeit-Sprache öffnen",back:"Zurück zum Chat",connected:"Sprachverbindung bereit",turnMode:"Echtzeit-Vorschau · rundenbasiert",browserStt:"Browser",browserTts:"Browser",untitledSession:"Unbenannte Unterhaltung",sessionMissing:"Die Unterhaltung ist nicht verfügbar.",networkUnavailableNoFallback:"Die Browser-Spracherkennung ist offline und es ist kein nutzbares Ersatz-STT konfiguriert.",liveTranscript:"Live-Transkript",transcriptPlaceholder:"Sprachkern antippen und zu sprechen beginnen",recentTurns:"Letzte Beiträge",you:"Du",mute:"Ausgabe stummschalten",unmute:"Ton einschalten",finishTurn:"Beitrag beenden",speak:"Sprechen beginnen",end:"Beenden",status:{idle:"Bereit",paused:"Mikrofon aus",listening:"Hört zu",processing:"Transkribiert",thinking:"{agent} denkt nach",speaking:"{agent} spricht",error:"Sprachverbindung unterbrochen"},hint:{idle:"Mitte antippen, um einen Sprachbeitrag zu starten",paused:"Schalte das Mikrofon ein, wenn du bereit bist",listening:"Zum Senden kurz pausieren oder zum Beenden tippen",listeningManual:"Aufnahme läuft. Erneut in die Mitte tippen, um zu stoppen und zu transkribieren",processing:"Deine Sprache wird in Text umgewandelt",thinking:"Deine Nachricht wurde an die Unterhaltung gesendet",speaking:"Du kannst jederzeit unterbrechen",error:"Mitte antippen, um es erneut zu versuchen"}},chat:{contextRemaining:"übrig",contextClickToEdit:"Klicken zum Bearbeiten der Kontextlänge",contextEditTitle:"Kontextlänge bearbeiten",contextEditDesc:"Kontextlängenlimit für aktuelles Modell festlegen (in Tokens)",contextEditPlaceholder:"Kontextlänge eingeben",contextEditHint:"Häufige Werte: 256k (Hermes-Standard), 128k (GPT-4), 32k (GPT-3.5)",contextEditSave:"Speichern",contextEditCancel:"Abbrechen",contextEditInvalid:"Bitte geben Sie eine gültige Kontextlänge ein",contextEditSuccess:"Kontextlänge aktualisiert",contextEditFailed:"Aktualisierung fehlgeschlagen",emptyState:"Starten Sie eine Konversation mit Hermes Agent",emptyStateAgent:"Starten Sie eine Konversation mit {agent}",viewOlderInHistory:"Fruehere Nachrichten im Verlauf ansehen",scrollToBottom:"Nach unten scrollen",outlineTitle:"Konversationsübersicht",outlineEmpty:"Kein Konversationsinhalt",outlineUserQuestion:"Benutzerfrage",inputPlaceholder:"Nachricht eingeben... (Enter zum Senden, Shift+Enter fur neue Zeile)",inputHeightResizeHint:"Zum Andern der Chat-Eingabehohe ziehen, zum Zurucksetzen doppelklicken.",slashCommandArgs:{message:"<Nachricht>",title:"<Titel>",text:"<Text>"},slashCommands:{usage:"Nutzung der aktuellen Sitzung berechnen",status:"Sitzungsstatus und Warteschlange anzeigen",abort:"Aktiven Bridge-Lauf stoppen",queue:"Nachricht hinter dem aktiven Lauf einreihen",learn:"Wiederverwendbaren Skill aus beschriebenen Quellen lernen",plan:"Markdown-Implementierungsplan schreiben",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:"Aktuelle Anzeige leeren",clearHistory:"Gespeicherten Nachrichtenverlauf dieser Sitzung löschen",title:"Diese Sitzung umbenennen",compress:"Kontextkomprimierung im Leerlauf ausführen",steer:"Steuertext an den aktiven Bridge-Lauf senden",destroy:"Bridge-Agent für diese Sitzung freigeben",reloadMcp:"MCP-Server neu laden",reloadSkills:"Skill-Befehle neu laden"},attachFiles:"Dateien anhangen",reasoningEffort:{tooltip:"Denkaufwand",defaultLabel:"Standard",options:{default:"Standard (config.yaml)",none:"Keiner",minimal:"Minimal",low:"Niedrig",medium:"Mittel",high:"Hoch",max:"Max",xhigh:"Sehr hoch"}},showToolCalls:"Tool-Aufrufe anzeigen",hideToolCalls:"Tool-Aufrufe ausblenden",messageQueue:"Nachrichtenwarteschlange",removeQueuedMessage:"Nachricht aus Warteschlange entfernen",stop:"Stopp",send:"Senden",contextUsed:"Kontext verwendet:",sessions:"Sitzungen",webUiSessions:"Sitzungen",allProfiles:"Alle Profile",profileMissingModelsTip:'Profil "{profile}" hat keinen verfuegbaren Provider oder kein Modell fuer diese Sitzung',sessionScopeHint:"Chat zeigt nur Web-UI/API-Server-Sitzungen. CLI-, Telegram-, Discord-, Cron- und andere Kanal-Sitzungen sind schreibgeschützt im Verlauf.",openHistory:"Verlauf öffnen",hermesHistory:"Hermes-Verlauf",historyScopeHint:"Schreibgeschützte Hermes-Verlaufssitzungen des aktuellen Profils, nach Quelle gruppiert.",noSessions:"Keine Sitzungen",newChat:"Neuer Chat",agent:"Agent",approvalKicker:"Terminal-Berechtigung",approvalTitle:"Befehl vor dem Ausführen prüfen",approvalAgree:"Zustimmen",approvalAllowOnce:"Einmal erlauben",approvalAllowSession:"Sitzung erlauben",approvalAlways:"Immer",approvalDeny:"Ablehnen",clarifyKicker:"Agent benötigt Klärung",clarifyTitle:"Der Agent hat eine Frage an Sie",clarifyPlaceholder:"Geben Sie Ihre Antwort ein...",clarifySubmit:"Antworten",clarifyDismiss:"Schließen",deleteSession:"Diese Sitzung loschen?",toggleBatchMode:"Batch-Auswahl",selectAll:"Alle auswählen",confirmBatchDelete:"{count} ausgewählte Sitzungen löschen?",batchDeleteSuccess:"{count} Sitzungen gelöscht",batchDeletePartial:"{failed} Sitzungen konnten nicht gelöscht werden",batchDeleteFailed:"Batch-Löschung fehlgeschlagen",importToWebUi:"In Web UI importieren",importSessionSuccess:"Sitzung in Web UI importiert",importSessionAlreadyExists:"Sitzung existiert bereits in Web UI",importSessionFailed:"Sitzung konnte nicht importiert werden",sessionDeleted:"Sitzung geloscht",rename:"Umbenennen",archiveSession:"Archivieren",unarchiveSession:"Aus Archiv holen",pin:"Anheften",unpin:"Lösen",pinned:"Angeheftet",chatMode:"Chatmodus",liveMode:"Live-Modus",liveSessions:"Live-Sitzungen",recentBadge:"Kürzlich",linkedSessions:"{count} verknüpft",noVisibleMessages:"Keine für Menschen sichtbaren Nachrichten.",monitorRoleUser:"Benutzer",monitorRoleAssistant:"Assistent",copySessionLink:"Sitzungslink kopieren",openSessionInNewTab:"In neuem Tab öffnen",sessionLinkCopied:"Session link copied",copySessionId:"Sitzungs-ID kopieren",export:"Exportieren",editConfig:"Konfiguration bearbeiten",exportFull:"Vollständiger Export (JSON)",exportCompressed:"Komprimierter Export (TXT)",exportCompressing:"Komprimiere Kontext, bitte warten...",exportSuccess:"Sitzung exportiert",exportFailed:"Export fehlgeschlagen",renamed:"Umbenannt",renameFailed:"Umbenennung fehlgeschlagen",sessionArchived:"Sitzung archiviert",archiveSessionFailed:"Sitzung konnte nicht archiviert werden",sessionUnarchived:"Sitzung aus Archiv geholt",unarchiveSessionFailed:"Sitzung konnte nicht aus dem Archiv geholt werden",renameSession:"Sitzung umbenennen",sessionNotFound:"Sitzung nicht gefunden",enterNewTitle:"Neuen Titel eingeben",other:"Sonstige",runFailed:"Ausfuhrung fehlgeschlagen",error:"Fehler",tool:"Werkzeug",arguments:"Argumente",result:"Ergebnis",workspaceChanges:"Workspace-Änderungen",changedFiles:"{files} Dateien geändert",diffUnavailable:"Diff nicht verfügbar",binaryFileDiffUnavailable:"Diff für Binärdateien nicht verfügbar",truncated:"... (abgeschnitten)",unchangedLines:"{count} unveränderte Zeilen",executionDuration:"Ausführungszeit",thinkingLabel:"Denkprozess",thinkingInProgress:"Denkt",thinkingShow:"Denkprozess anzeigen",thinkingHide:"Denkprozess ausblenden",thinkingDuration:"Beobachtet {duration}",thinkingChars:"{count} Zeichen",copyBubble:"Nachricht kopieren",copiedBubble:"Nachricht kopiert",copyFailed:"Kopieren fehlgeschlagen",playSpeech:"Sprache abspielen",pauseSpeech:"Pausieren",resumeSpeech:"Fortsetzen",stopSpeech:"Stoppen",speechNotSupported:"Sprachwiedergabe in diesem Browser nicht unterstützt",searchEnterHint:"Enter zum Öffnen · Esc zum Schließen",searchHint:"Cmd/Ctrl+K",searchScope:"Suchbereich: nur lokale Web-UI-Sitzungsdatenbank; schreibgeschützte Hermes-Verlaufssitzungen sind nicht enthalten.",searchFailed:"Sitzungssuche fehlgeschlagen",searchNoSnippet:"Keine Vorschau verfügbar",searchNoResults:"Keine passenden Sitzungen",searchRecent:"Letzte Sitzung",searchEmpty:"Letzte Sitzungen",searchPlaceholder:"Sitzungen suchen...",searchSubtitle:"Nach Titel oder Nachrichteninhalt suchen",searchTitle:"Sitzungen suchen",stopGateway:"Gateway stoppen",start:"Starten",workspaceSetFailed:"Workspace konnte nicht festgelegt werden",workspaceSet:"Workspace festgelegt",workspacePlaceholder:"Projektpfad eingeben, z. B. /home/user/project",folderPickerEmpty:"(Leer)",folderPickerNoFolders:"Keine Workspace-Ordner",folderPickerSelected:"Ausgewählt:",workspaceDefault:"Standard",workspaceDefaultTooltip:"Dieser Arbeitsbereich ist als Standard festgelegt und wird bei neuen Chats automatisch eingetragen",workspacePin:"Als Standardarbeitsbereich festlegen",workspaceUnpin:"Standardarbeitsbereich entfernen",workspaceRecent:"Zuletzt verwendet",defaultWorkspace:"Standardarbeitsbereich",more:"Mehr",workspace:"Arbeitsbereich",setWorkspaceTitle:"Sitzungs-Workspace festlegen",setWorkspace:"Workspace festlegen",modelSetFailed:"Modell konnte nicht festgelegt werden",modelSet:"Modell festgelegt",modelSwitching:"Modell wird gewechselt...",setModelTitle:"Sitzungsmodell festlegen",standardModels:"Standardmodelle",moaPresets:"MoA-Kombinationen",noMoaPresets:"Keine MoA-Kombinationen verfügbar",modelType:"Modelltyp",setModel:"Modell festlegen",newCliChat:"Neue CLI",cliEmptyState:"CLI-Chat starten",autoPlaySpeech:"Sprache automatisch abspielen",voiceInput:{startCapture:"Sprachaufnahme starten",stopCaptureAndInsert:"Sprachaufnahme stoppen und Transkript in die Eingabe einfuegen",cancelCapture:"Spracheingabe abbrechen",statusLabel:"Status: {status}",transcriptLabel:"Transkript: {text}",errorLabel:"Fehler: {error}",recentEvents:"Letzte Ereignisse",status:{idle:"Bereit",capturing:"Hoert zu",transcribing:"Transkribiert",sending:"Wird in die Eingabe eingefuegt",error:"Fehler"},browserSpeechUnsupported:"Browser-Spracherkennung wird in diesem Browser nicht unterstuetzt.",browserSpeechFailed:"Browser-Spracherkennung fehlgeschlagen.",browserSpeechFailedWithReason:"Browser-Spracherkennung fehlgeschlagen: {error}.",microphoneUnsupported:"Mikrofonaufnahme wird in diesem Browser nicht unterstuetzt.",microphoneRecordingFailed:"Mikrofonaufnahme fehlgeschlagen."}},jobs:{title:"Geplante Aufgaben",createJob:"Aufgabe erstellen",editJob:"Aufgabe bearbeiten",noJobs:"Noch keine geplanten Aufgaben. Erstellen Sie eine, um zu beginnen.",sortBy:"Sortieren",sortByName:"Nach Name",sortByTime:"Nach Datum",sortByNameHint:"Nach Name sortieren",sortByTimeHint:"Nach Datum sortieren",sortAsc:"Aufsteigend",sortDesc:"Absteigend",name:"Name",namePlaceholder:"Aufgabenname",schedule:"Zeitplan (Cron-Ausdruck)",schedulePlaceholder:"z. B. 0 9 * * *",quickPresets:"Schnellvorgaben",selectPreset:"Vorgabe auswahlen...",presetEveryMinute:"Jede Minute",presetEvery5Min:"Alle 5 Minuten",presetEveryHour:"Jede Stunde",presetEveryDay:"Jeden Tag um 00:00",presetEveryDay9:"Jeden Tag um 09:00",presetEveryMonday:"Jeden Montag um 09:00",presetEveryMonth:"Am 1. jedes Monats um 09:00",prompt:"Eingabeaufforderung",promptPlaceholder:"Der auszufuhrende Prompt",skills:"Skills",skillsPlaceholder:"Skills auswählen...",provider:"Provider",model:"Model",defaultProvider:"Default provider",defaultModel:"Default model",deliverTarget:"Zustellziel",origin:"Herkunft",local:"Lokal",repeatCount:"Wiederholungsanzahl (optional)",modelPlaceholder:"Standardmodell",repeatPlaceholder:"Leer lassen fur unendlich",jobCreated:"Aufgabe erstellt",jobUpdated:"Aufgabe aktualisiert",nameRequired:"Name ist erforderlich",scheduleRequired:"Zeitplan ist erforderlich",loadFailed:"Laden der Aufgabe fehlgeschlagen",jobPaused:"Aufgabe pausiert",jobResumed:"Aufgabe fortgesetzt",jobTriggered:"Job ausgelost",modelUpdated:"Modell aktualisiert",jobDeleted:"Aufgabe geloscht",status:{running:"Lauft",paused:"Pausiert",disabled:"Deaktiviert",scheduled:"Geplant"},info:{model:"Modell",provider:"Provider",schedule:"Zeitplan",lastRun:"Letzte Ausfuhrung",nextRun:"Nachste Ausfuhrung",deliver:"Zustellung",repeat:"Wiederholung"},action:{pause:"Pausieren",pauseJob:"Aufgabe pausieren",resume:"Fortsetzen",resumeJob:"Aufgabe fortsetzen",runNow:"Jetzt ausfuhren",triggerImmediately:"Sofort auslösen"},runHistory:{title:"Verlauf",runs:"Läufe",noRuns:"Kein Verlauf gefunden."}},skills:{title:"Fahigkeiten",targetFilter:"Runtime",targets:{hermes:"Hermes",claude:"Claude",codex:"Codex"},searchPlaceholder:"Fahigkeiten suchen...",noMatch:"Keine Fahigkeiten entsprechen Ihrer Suche",noSkills:"Keine Fahigkeiten gefunden",backTo:"Zuruck zu",attachedFiles:"Angehange Dateien",loadFailed:"Laden der Fahigkeit fehlgeschlagen",fileLoadFailed:"Laden der Datei fehlgeschlagen",modified:"Benutzerbearbeitet",archived:"Archiviert",pinned:"Angeheftet",pin:"Fahigkeit anheften",unpin:"Anheften aufheben",pinFailed:"Anheft-Status konnte nicht geandert werden",edit:"Bearbeiten",saving:"Speichern...",editorLabel:"Skill-Editor",saveSuccess:"Skill gespeichert",saveFailed:"Skill konnte nicht gespeichert werden",toggleFailed:"Aktivieren/Deaktivieren der Fahigkeit fehlgeschlagen",source:{builtin:"Integriert",hub:"Hub",local:"Lokal",external:"Extern"},delete:"Löschen",deleteConfirm:'Skill "{name}" löschen? Dies kann nicht rückgängig gemacht werden.',deleteSuccess:"Skill gelöscht",deleteFailed:"Löschen fehlgeschlagen",import:"Importieren",importTitle:"Skill importieren",importModeZip:"Zip",importModeFolder:"Ordner",importHintZip:"Lade ein .zip-Archiv mit einem Verzeichnis hoch, das SKILL.md enthält",importHintFolder:"Wähle einen lokalen Skill-Ordner (muss SKILL.md enthalten)",importTargetCategory:"Zielkategorie (optional)",importTargetCategoryPlaceholder:"Leer lassen, um unter misc abzulegen",importSelectFile:".zip-Datei wählen",importSelectFolder:"Ordner wählen",importInvalidFile:"Nur .zip-Archive werden unterstützt",importFileCount:"Dateien",importNoSelection:"Bitte zuerst Datei oder Ordner wählen",importSuccess:"Skill importiert",importFailed:"Import fehlgeschlagen",path:{local:"Lokal",external:"Extern"},externalDirs:{manage:"Externe Verzeichnisse",title:"Externe Skill-Verzeichnisse verwalten",hint:"Verwaltet config.skills.external_dirs. Unterstützt ~ und $VAR; fehlende Pfade werden ausgegraut.",add:"Verzeichnis hinzufügen",placeholder:"/path/to/skills oder ~/my-skills",empty:"Keine externen Verzeichnisse",missing:"Pfad nicht gefunden",notDir:"Kein Verzeichnis",saveSuccess:"Externe Verzeichnisse gespeichert",saveFailed:"Speichern fehlgeschlagen",loadFailed:"Externe Verzeichnisse konnten nicht geladen werden",removeRow:"Entfernen"},pathCopied:"Pfad kopiert",pathCopyFailed:"Pfad konnte nicht kopiert werden",reloadHint:"Aktive Sitzungen: /reload-skills ausführen; neue Sitzungen laden automatisch.",writeApprovalButton:"Ausstehend {count}",writeApprovalTitle:"Ausstehende Schreibfreigaben",writeApprovalDescription:"Freigeben oder ablehnen, was Hermes Agent fuer Speicher und Skills vorgemerkt hat.",writeApprovalRefresh:"Aktualisieren",writeApprovalEmpty:"Keine ausstehenden Schreibvorgaenge.",writeApprovalUnsupported:"Diese Hermes-Agent-Version unterstuetzt keine Schreibfreigaben. Aktualisiere Hermes Agent, um diese Funktion zu nutzen.",writeApprovalMemory:"Speicher",writeApprovalSkills:"Skills",writeApprovalViewDiff:"Pruefen",writeApprovalHideDiff:"Ausblenden",writeApprovalNoDiff:"Keine Unterschiede verfuegbar.",writeApprovalLoadFailed:"Ausstehende Schreibvorgaenge konnten nicht geladen werden",writeApprovalDiffFailed:"Schreibdetails konnten nicht geladen werden",writeApprovalActionFailed:"Ausstehender Schreibvorgang konnte nicht bearbeitet werden",writeApprovalApproved:"Schreibvorgang freigegeben",writeApprovalRejected:"Schreibvorgang abgelehnt",writeApprovalApprove:"Freigeben",writeApprovalReject:"Ablehnen",writeApprovalPendingMemoryWrite:"Ausstehender Speichereintrag",writeApprovalCurrentFile:"Aktuelle Datei {file}",writeApprovalProposedFile:"Vorgeschlagene Datei {file}",writeApprovalDiffSection:"Diff",writeApprovalPatchOldStringMissing:"Der old_string des Patches wurde in der aktuellen Datei {file} nicht gefunden; eine Freigabe aendert die Datei nicht.",writeApprovalRequestedOldString:"Angefragter old_string",writeApprovalCurrentReadFailed:"Die aktuelle Datei {file} konnte nicht als UTF-8-Text gelesen werden.",writeApprovalDeleteSkill:"Diese Freigabe loescht den Skill {skill}.",writeApprovalRemoveFile:"Diese Freigabe entfernt {file} aus dem Skill {skill}."},plugins:{title:"Plugins",refresh:"Aktualisieren",notice:"Inventar erkennbarer Hermes-Plugin-Manifeste. Discovery-Metadaten werden gelesen, ohne Plugin-Code zu laden. Standalone-Benutzerplugins können hier aktiviert oder deaktiviert werden; Änderungen gelten für neue Hermes-Sitzungen.",loadFailed:"Plugins konnten nicht geladen werden",updateFailed:"Plugin konnte nicht aktualisiert werden",enableSuccess:"{name} aktiviert",disableSuccess:"{name} deaktiviert",commandCopied:"Befehl kopiert",searchPlaceholder:"Key, Name, Beschreibung, Pfad suchen...",source:"Quelle",kind:"Typ",statusTitle:"Status",configStatus:"config: {status}",notAvailable:"n/a",copyCommand:"Befehl kopieren",managedElsewhere:"anderweitig verwaltet",noMatch:"Keine Plugins passen zu den aktuellen Filtern",enabled:"aktiviert",disabled:"deaktiviert",summary:{total:"Gesamt",active:"Aktiviert / auto",inactive:"Inaktiv",disabled:"Deaktiviert",providerManaged:"Provider-verwaltet"},status:{enabled:"Aktiviert","auto-active":"Auto-aktiv",inactive:"Inaktiv",disabled:"Deaktiviert","provider-managed":"Provider-verwaltet"},statusLabel:{enabled:"Per Konfiguration aktiviert","auto-active":"Auto-aktiv",inactive:"Inaktiv",disabled:"Deaktiviert","provider-managed":"Provider-verwaltet"},configStatuses:{enabled:"aktiviert",disabled:"deaktiviert","not-enabled":"nicht aktiviert",auto:"auto","provider-managed":"provider-verwaltet"},table:{plugin:"Plugin",status:"Status",source:"Quelle",kind:"Typ",capabilities:"Fähigkeiten",path:"Pfad / Entry Point",manage:"Verwalten"},capabilities:{tools:"{count} Tools",hooks:"{count} Hooks",env:"{count} env"},metadata:{agentRoot:"Agent-Stammverzeichnis",python:"Python",scanCwd:"Arbeitsverzeichnis scannen",projectPlugins:"Projekt-Plugins"}},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:"Gedachtnis",refresh:"Aktualisieren",loadFailed:"Laden des Gedachtnisses fehlgeschlagen",myNotes:"Meine Notizen",noNotes:"Noch keine Notizen.",notesPlaceholder:"Notizen schreiben...",userProfile:"Benutzerprofil",noProfile:"Noch kein Profil.",profilePlaceholder:"Profil schreiben...",soul:"Seele",noSoul:"Noch keine Seelenkonfiguration.",soulPlaceholder:"Seelenkonfiguration schreiben..."},models:{title:"Modelle",addProvider:"Anbieter hinzufugen",noProviderPromptTitle:"Kein Modellanbieter konfiguriert",noProviderPromptMessage:'Im aktuellen Profil "{profile}" ist kein Modellanbieter konfiguriert. Mochten Sie jetzt die Modelleinstellungen offnen?',noProviderPromptLater:"Nicht jetzt",noProviderPromptAction:"Zu den Einstellungen",refreshModelCache:"Modellcache aktualisieren",refreshModelCacheLoading:"Modellcache wird aktualisiert...",refreshModelCacheSuccess:"Modellcache aktualisiert",refreshModelCacheFailed:"Modellcache konnte nicht aktualisiert werden",providerType:"Anbietertyp",preset:"Vorgabe",custom:"Benutzerdefiniert",selectProvider:"Anbieter auswahlen",chooseProvider:"Anbieter wahlen...",name:"Name",autoGeneratedName:"Automatisch aus Basis-URL generiert",baseUrl:"Basis-URL",region:"Region",regionIntl:"International",regionCn:"Festlandchina",baseUrlPlaceholder:"z. B. https://api.example.com/v1",apiKey:"API-Schlussel",apiKeyPlaceholder:"sk-...",defaultModel:"Standardmodell",selectOrInput:"Modell auswählen oder eingeben...",selectModel:"Modell auswahlen...",providerAdded:"Anbieter hinzugefugt",providerDeleted:"Anbieter geloscht",providerCredentialsCleared:"Anbieter-Zugangsdaten geloscht",clearProviderCredentials:"Zugangsdaten loschen",clearCredentialsConfirm:"Gespeicherte Zugangsdaten fur „{name}“ loschen? Dieser integrierte Anbieter bleibt in der Liste und kann nach erneuter Konfiguration wieder genutzt werden.",disableProvider:"Anbieter deaktivieren",disableProviderConfirm:"Integrierten Anbieter „{name}“ deaktivieren? Der Anbieter bleibt integriert und kann spater wieder aktiviert werden.",providerDisabled:"Anbieter deaktiviert",defaultProviderUpdated:"Standardanbieter aktualisiert",defaultProviderUpdateFailed:"Standardanbieter konnte nicht aktualisiert werden",defaultModelUpdated:"Standardmodell aktualisiert",defaultModelUpdateFailed:"Standardmodell konnte nicht aktualisiert werden",deleteProvider:"Anbieter loschen",deleteConfirm:'Mochten Sie "{name}" wirklich loschen?',codexLoginTitle:"OpenAI Codex Anmeldung",codexWaiting:"Geben Sie diesen Code auf der Autorisierungsseite ein, um sich anzumelden:",codexCopyCode:"Code kopiert",codexOpenLink:"Autorisierungsseite öffnen",codexApproved:"Anmeldung erfolgreich",codexExpired:"Die Autorisierung ist abgelaufen. Bitte versuchen Sie es erneut.",nousLoginTitle:"Nous-Portal-Anmeldung",nousWaiting:"Geben Sie diesen Code auf der Autorisierungsseite ein:",nousCopyCode:"Code kopiert",nousOpenLink:"Autorisierungsseite öffnen",nousApproved:"Login erfolgreich",nousDenied:"Autorisierung wurde abgelehnt",nousExpired:"Autorisierung abgelaufen",copilotLoginTitle:"GitHub Copilot Anmeldung",copilotWaiting:"Öffnen Sie GitHub und geben Sie den unten angezeigten Gerätecode ein. Das Fenster schließt sich automatisch nach Genehmigung.",copilotCopyCode:"Code kopiert",copilotOpenLink:"GitHub-Autorisierungsseite öffnen",copilotApproved:"Anmeldung erfolgreich!",copilotDenied:"Autorisierung abgelehnt.",copilotExpired:"Der Autorisierungslink ist abgelaufen. Bitte erneut versuchen.",copilotAddDetectedTitle:"GitHub Copilot erkannt",copilotAddDetected:'Auf diesem Rechner wurde ein GitHub Copilot OAuth-Token erkannt. Klicken Sie auf „Hinzufügen", um Copilot in Hermes zu aktivieren.',copilotAddSourceEnv:"Quelle: ~/.hermes/.env (COPILOT_GITHUB_TOKEN)",copilotAddSourceGhCli:"Quelle: gh CLI (gh auth token)",copilotAddSourceAppsJson:"Quelle: VS Code Copilot-Erweiterung (apps.json)",copilotDeleteHintEnv:"Dies löscht COPILOT_GITHUB_TOKEN in ~/.hermes/.env. Andere Tools sind nicht betroffen.",copilotDeleteHintGhCli:"Copilot wird aus Hermes ausgeblendet. Ihre gh CLI-Anmeldung bleibt erhalten — `gh auth status` zeigt weiterhin als angemeldet.",copilotDeleteHintAppsJson:"Copilot wird aus Hermes ausgeblendet. Ihre VS Code Copilot-Erweiterung bleibt angemeldet.",customBadge:"BENUTZERDEF.",previewBadge:"VORSCHAU",disabledBadge:"NICHT VERFÜGBAR",disabledTooltip:"Dieses Modell ist für Ihr Konto derzeit nicht verfügbar.",customModelPlaceholder:"Nicht gelistete Modell-ID",customModelHint:"Für vom Provider unterstützte Modelle, die die API nicht zurückgibt; keine Anzeige-Umbenennung. Enter zum Laden.",noProviders:"Keine Anbieter gefunden. Fugen Sie einen benutzerdefinierten Anbieter hinzu, um zu beginnen.",clearVisibleModels:"Auswahl löschen",generalTitle:"Allgemeine Modelle",combinationTitle:"Modell-Ensembles",combinationSubtitle:"MoA-Presets konfigurieren: Referenzmodelle liefern zuerst Perspektiven, danach erstellt ein Aggregatormodell die finale Antwort und Tool-Aufrufe.",combinationPreset:"Preset",combinationName:"Name",combinationAddModel:"Modell-Ensemble hinzufügen",combinationEditModel:"Modell-Ensemble bearbeiten",combinationNewPreset:"Neues Preset",combinationPresetPlaceholder:"z. B. review",combinationAddPreset:"Preset hinzufügen",combinationSetDefault:"Als Standard festlegen",combinationEnabled:"Referenzen aktivieren",combinationReferenceModels:"Referenzmodelle",combinationReferenceModel:"Referenzmodell",combinationAddReference:"Referenzmodell hinzufügen",combinationAggregator:"Aggregatormodell",combinationReferenceTemperature:"Referenztemperatur",combinationAggregatorTemperature:"Aggregatortemperatur",combinationMaxTokens:"Max. Tokens",combinationNotSet:"Nicht festgelegt",combinationSaved:"Modell-Ensemble gespeichert",combinationLoadFailed:"Modell-Ensemble konnte nicht geladen werden",combinationSaveFailed:"Modell-Ensemble konnte nicht gespeichert werden",combinationPresetExists:"Preset existiert bereits",combinationNameRequired:"Namen für das Modell-Ensemble eingeben",combinationNameInvalid:"Der Name darf nur Buchstaben, Zahlen, Unterstriche, Bindestriche und Punkte enthalten",combinationReferenceRequired:"Mindestens ein Referenzmodell hinzufügen",combinationAggregatorRequired:"Aggregatormodell auswählen",auxiliaryTitle:"Hilfsmodelle",auxiliarySubtitle:"Modellüberschreibungen für Nebenaufgaben wie Komprimierung, Vision, Genehmigungen, MCP und Hintergrundwartung.",auxiliaryRefresh:"Aktualisieren",auxiliaryTask:"Aufgabe",auxiliaryTimeout:"Zeitlimit",auxiliaryDownloadTimeout:"Download-Zeitlimit",auxiliaryActions:"Aktionen",auxiliaryDefault:"Standard",auxiliaryCustomEndpoint:"Benutzerdefinierter Endpunkt",auxiliaryProviderAuto:"Automatisch",auxiliaryProviderMain:"Hauptmodell",auxiliaryProviderPlaceholder:"auto, main oder Provider-Key",auxiliaryDownloadShort:"Download",auxiliaryExtraBody:"Extra-Body-JSON",auxiliaryClear:"Zurücksetzen",auxiliarySaved:"Hilfsmodelle gespeichert",auxiliaryLoadFailed:"Hilfsmodelle konnten nicht geladen werden",auxiliarySaveFailed:"Hilfsmodelle konnten nicht gespeichert werden",auxiliaryInvalidExtraBody:"Extra Body muss ein JSON-Objekt sein",auxiliaryTaskCompression:"Komprimierung",auxiliaryTaskVision:"Vision",auxiliaryTaskWebExtract:"Web-Extraktion",auxiliaryTaskSkillsHub:"Skill-Hub",auxiliaryTaskApproval:"Genehmigung",auxiliaryTaskMcp:"MCP",auxiliaryTaskTitleGeneration:"Titelgenerierung",auxiliaryTaskTriageSpecifier:"Triage-Spezifizierung",auxiliaryTaskKanbanDecomposer:"Kanban-Zerlegung",auxiliaryTaskProfileDescriber:"Profilbeschreibung",auxiliaryTaskCurator:"Kurator",auxiliaryTaskSessionSearch:"Sitzungssuche",auxiliaryTaskFlushMemories:"Erinnerungen schreiben",currentDefault:"Aktueller Standard",defaultShort:"Standard",setDefaultProvider:"Als Standardanbieter festlegen",setDefault:"Als Standard festlegen",builtIn:"Integriert",customType:"Benutzerdefiniert",provider:"Anbieter",contextLength:"Kontextlange",contextLengthPlaceholder:"z.B. 256000 (optional)",apiMode:"API-Modus",local:"Lokal ({host})",selectProviderRequired:"Bitte wahlen Sie einen Anbieter",baseUrlRequired:"Basis-URL ist erforderlich",apiKeyRequired:"API-Schlussel ist erforderlich",modelRequired:"Standardmodell ist erforderlich",enterBaseUrl:"Bitte geben Sie zuerst die Basis-URL ein",unexpectedFormat:"Unerwartetes Antwortformat",foundModels:"{count} Modelle gefunden",fetchFailed:"Abrufen der Modelle fehlgeschlagen",xaiWaiting:"Schließen Sie die Autorisierung auf der geöffneten xAI-Seite ab. Das Fenster schließt sich nach der Freigabe automatisch.",xaiOpenLink:"xAI-Autorisierungsseite öffnen",xaiLoginTitle:"xAI Grok OAuth-Anmeldung",xaiExpired:"Der Autorisierungslink ist abgelaufen. Bitte erneut versuchen.",xaiCopyLink:"Autorisierungslink kopieren",xaiApproved:"Anmeldung erfolgreich!",anthropicLoginTitle:"Claude OAuth-Anmeldung",anthropicWaiting:"Schließen Sie die Autorisierung auf der Claude-Seite ab und fügen Sie den zurückgegebenen Code hier ein.",anthropicOpenLink:"Claude-Autorisierungsseite öffnen",anthropicCopyLink:"Autorisierungslink kopieren",anthropicCodePlaceholder:"Autorisierungscode einfügen...",anthropicSubmitCode:"Code senden",anthropicApproved:"Anmeldung erfolgreich!",anthropicExpired:"Die Autorisierung ist abgelaufen. Bitte erneut versuchen.",visibilitySelectOne:"Mindestens ein sichtbares Modell behalten",visibilitySaved:"Sichtbare Modelle gespeichert",visibilitySaveFailed:"Sichtbare Modelle konnten nicht gespeichert werden",visibilityHint:"Wirkt sich nur auf Modellauswahl und Modellseite der Web UI aus. Die provider/model-Konfiguration der Hermes CLI wird nicht geändert; Aufrufe verwenden weiterhin die ursprüngliche Modell-ID.",showAllModels:"Alle Modelle anzeigen",searchPlaceholder:"Modelle suchen...",noResults:"Keine Ergebnisse",noModels:"Keine Modelle",removeCustomModel:"Dieses nicht gelistete Modell entfernen",refresh:"Modellliste aktualisieren (config.yaml neu laden)",more:"weitere",models:"Modellliste",manageVisibleModelsFor:"Sichtbare Modelle für {name} verwalten",manageVisibleModels:"Sichtbare Modelle verwalten",getApiKey:"API Key abrufen",count:"Modelle",aliasUseOriginal:"Ursprüngliche ID wiederherstellen",aliasTitleFor:"Anzeigename für {model}",aliasTitle:"Modell-Anzeigename",aliasSaveFailed:"Anzeigename konnte nicht gespeichert werden",aliasPlaceholder:"Leer lassen, um die ursprüngliche Modell-ID zu verwenden",aliasManageFor:"Anzeigenamen für {provider}",aliasManage:"Anzeigenamen",aliasHint:"Ändert nur den Anzeigenamen in der Web UI. Hermes erhält weiterhin die ursprüngliche Modell-ID.",aliasEdit:"Umbenennen",aliasCanonical:"Original-ID: {model}"},profiles:{title:"Profile",create:"Profil erstellen",import:"Importieren",export:"Exportieren",rename:"Umbenennen",delete:"Loschen",switchTo:"Hermes Profile wechseln",switchConfirm:"Dies fuehrt `hermes profile use {name}` aus und aendert das aktive Hermes CLI Profile. Fortfahren?",switchSuccess:'Aktives Hermes Profile ist jetzt "{name}"',switchFailed:"Hermes Profile konnte nicht gewechselt werden. Das Gateway muss eventuell manuell neu gestartet werden.",createSuccess:'Profil "{name}" erstellt',createFailed:"Erstellen des Profils fehlgeschlagen",renameSuccess:"Profil umbenannt",renameFailed:"Umbenennung des Profils fehlgeschlagen",deleteConfirm:'Mochten Sie das Profil "{name}" wirklich loschen?',deleteSuccess:"Profil geloscht",deleteFailed:"Loschen des Profils fehlgeschlagen",exportSuccess:"Profil exportiert",exportFailed:"Exportieren des Profils fehlgeschlagen",importSuccess:"Profil importiert",importFailed:"Importieren des Profils fehlgeschlagen",importSelectFile:"Archivdatei auswahlen",importInvalidFile:"Bitte wahlen Sie ein gultiges Archiv (.tar.gz, .tgz, .gz, .zip)",name:"Profilname",namePlaceholder:"Nur Buchstaben, Zahlen und Bindestriche",nameValidation:"Profilname darf nur Kleinbuchstaben, Zahlen, Unterstriche und Bindestriche enthalten",newName:"Neuer Name",newNamePlaceholder:"Neuen Namen eingeben",cloneFromCurrent:"Aus aktuellem Profil klonen",cloneCleanupNotice:"Beim Klonen werden exklusive Plattform-Anmeldeinformationen (Weixin / Telegram / Slack usw.) automatisch übersprungen, um Konflikte mit dem Quellprofil zu vermeiden",cloneStrippedCredentials:"{count} exklusive Anmeldeinformation(en) entfernt: {list}",cloneDisabledPlatforms:"{count} Plattform(en) deaktiviert: {list}",cloneStrippedConfigCredentials:"{count} eingebettete Anmeldeinformation(en) aus config.yaml entfernt: {list}",archivePath:"Archivpfad",archivePathPlaceholder:"Serverpfad zur Archivdatei",importName:"Profilname (optional)",importNamePlaceholder:"Leer lassen, um den Archivnamen zu verwenden",active:"Aktiv",model:"Modell",gateway:"Gateway",alias:"Alias",provider:"Anbieter",path:"Pfad",skills:"Fahigkeiten",hasEnv:"Hat .env",hasSoulMd:"Hat soul.md",noProfiles:"Keine Profile gefunden. Erstellen Sie eines, um zu beginnen.",avatar:{title:"Eigenes Avatar",customize:"Avatar anpassen",upload:"Bild hochladen",random:"Zufällig erzeugen",reset:"Standard wiederherstellen",hint:"PNG, JPEG oder WebP, maximal 1 MB",invalidType:"Bitte ein PNG-, JPEG- oder WebP-Bild wählen",tooLarge:"Das Avatar-Bild darf höchstens 1 MB groß sein",saveSuccess:"Avatar gespeichert",saveFailed:"Avatar konnte nicht gespeichert werden",resetSuccess:"Standard-Avatar wiederhergestellt",resetFailed:"Standard-Avatar konnte nicht wiederhergestellt werden"},runtime:{activeProfile:"Aktuell: {name}",bridgeWorker:"Bridge-Status",gateway:"Gateway",active:"Aktiv",activeTag:"Aktuell",idle:"Leerlauf",checking:"Prüfung läuft",running:"Läuft",stopped:"Gestoppt",restartGateway:"Gateway neu starten",restartProfile:"Profil neu starten",switchProfile:"Frontend-Profil wechseln",gatewayRestarted:"Gateway neu gestartet: {name}",gatewayRestartFailed:"Gateway-Neustart fehlgeschlagen",profileRestarted:"Profil neu gestartet: {name}",profileRestartFailed:"Profil-Neustart fehlgeschlagen"}},logs:{title:"Protokolle",all:"Alle",searchPlaceholder:"Suchen...",refresh:"Aktualisieren",noEntries:"Keine Protokolleintrage"},settings:{title:"Einstellungen",saved:"Gespeichert",saveFailed:"Speichern fehlgeschlagen",tabs:{display:"Anzeige",account:"Aktuelles Konto",users:"Kontoverwaltung",agent:"Agent",proxy:"Proxy",memory:"Gedachtnis",compression:"Komprimierung",session:"Sitzung",privacy:"Datenschutz",apiServer:"API-Server",models:"Modelle",voice:"Sprache"},display:{streaming:"Streaming-Antworten",streamingHint:"KI-Antworten in Echtzeit anzeigen",compact:"Kompaktmodus",compactHint:"Nachrichtenabstand reduzieren",showReasoning:"Schlussfolgerung anzeigen",showReasoningHint:"Denkprozess des Modells anzeigen",showCost:"Kosten anzeigen",showCostHint:"Token-Nutzung in Antworten anzeigen",inlineDiffs:"Inline-Diffs",inlineDiffsHint:"Codeanderungen inline anzeigen",bellOnComplete:"Abschluss-Signalton",bellOnCompleteHint:"Ton abspielen, wenn die KI fertig ist",notifyOnComplete:"Abschluss-Benachrichtigung",notifyOnCompleteHint:"Systembenachrichtigung anzeigen, wenn die KI fertig ist",notifyOnCompleteMacHint:"Unter macOS Browserbenachrichtigungen in den Systemeinstellungen erlauben.",notifyOnCompleteDenied:"Benachrichtigungsberechtigung wurde verweigert",notifyOnCompleteInsecure:"Browserbenachrichtigungen erfordern HTTPS oder localhost",notifyOnCompleteUnsupported:"Dieser Browser unterstuetzt keine Benachrichtigungen",notifyOnCompleteTest:"Benachrichtigungen aktiviert.",notifyOnCompleteTestButton:"Test",notifyOnCompleteTesting:"Sende Testbenachrichtigung...",notifyOnCompleteTestSent:"Testbenachrichtigung gesendet",notifyOnCompleteTestFailed:"Testbenachrichtigung konnte nicht gesendet werden",busyInputMode:"Eingabemodus bei Beschaftigung",busyInputModeHint:"Eingabe erlauben, wahrend die KI verarbeitet",theme:"Design",themeHint:"Hell, Dunkel oder Systemeinstellung verwenden",themeLight:"Hell",themeDark:"Dunkel",themeSystem:"System",chatInputHeight:"Chat-Eingabehöhe",chatInputHeightHint:"Standardhöhe der Chat-Eingabe auf dem Desktop in Pixeln. Mobil bleibt die Höhe automatisch."},agent:{maxTurns:"Maximale Runden",maxTurnsHint:"Maximale Interaktionsrunden pro Konversation",gatewayTimeout:"Gateway-Timeout",gatewayTimeoutHint:"Anfrage-Timeout in Sekunden",restartDrainTimeout:"Neustart-Drain-Timeout",restartDrainTimeoutHint:"Drain-Timeout vor Neustart in Sekunden",toolEnforcement:"Werkzeuferzwingung",toolEnforcementHint:"Ausfuhrungsmodus fur Werkzeugaufrufe steuern",auto:"Automatisch",always:"Immer",never:"Nie"},gatewayAutoStart:{title:"Gateway-Autostart",description:"Legt fest, welche lokalen Hermes-Profile-Gateways die Web UI beim Start startet. Diese Einstellung wird in der Web-UI-Konfiguration gespeichert, nicht in der profile config.yaml.",enabled:"Gateways automatisch starten",enabledHint:"Wenn deaktiviert, startet die Web UI beim Start kein Profile-Gateway automatisch.",management:"Vereinheitlichtes Gateway",managementHint:"Erfordert Hermes Agent 0.17.0 oder neuer. Wenn aktiviert, schreibt die Web UI multiplex_profiles, damit das default gateway alle Profile bedient; andere Profile konnen keine separaten Feishu-, Weixin-, QQBot- oder ahnlichen Messaging-Einstiegspunkte konfigurieren. Beim Deaktivieren wird diese Einstellung entfernt.",managementAuto:"Automatisch",managementPerProfile:"Ein Gateway pro Profil",managementUnified:"Vereinheitlichtes default gateway",mode:"Profilrichtlinie",modeHint:"Alle gefundenen Profile starten oder nur die explizite Einschlussliste.",modeAll:"Alle gefundenen Profile",modeInclude:"Nur eingeschlossene Profile",include:"Eingeschlossene Profile",includeHint:"Kommagetrennte Profilnamen. Im Einschlussmodus startet eine leere Liste keine Profile.",exclude:"Ausgeschlossene Profile",excludeHint:"Kommagetrennte Profilnamen, die nach der Einschluss-/Alle-Richtlinie übersprungen werden.",profileListPlaceholder:"default, reviewer"},proxy:{title:"Gateway-Proxy",description:"Proxy-Umgebungsvariablen fur das ausgewahlte Profil-Gateway festlegen. Anderungen starten das Gateway neu, damit Messaging-Plattformen die neuen Netzwerkeinstellungen verwenden.",httpsProxy:"HTTPS_PROXY",httpsProxyHint:"Proxy fur HTTPS-Anfragen. Meist der wichtigste Wert.",httpProxy:"HTTP_PROXY",httpProxyHint:"Proxy fur normale HTTP-Anfragen.",allProxy:"ALL_PROXY",allProxyHint:"Fallback-Proxy, wenn kein protokollspezifischer Proxy gesetzt ist.",noProxy:"NO_PROXY",noProxyHint:"Kommagetrennte Hosts oder Domains, die den Proxy umgehen.",save:"Proxy-Einstellungen speichern"},memory:{enabled:"Gedachtnis aktivieren",enabledHint:"KI erlauben, den Konversationskontext zu merken",userProfile:"Benutzerprofil",userProfileHint:"KI erlauben, Benutzereinstellungen zu merken",charLimit:"Zeichenlimit fur Gedachtnis",charLimitHint:"Maximale Zeichen fur MEMORY.md",userCharLimit:"Zeichenlimit fur Benutzerprofil",userCharLimitHint:"Maximale Zeichen fur USER.md"},compression:{enabled:"Komprimierung aktivieren",enabledHint:"Langen Chatverlauf automatisch komprimieren, bevor der Modellkontext uberschritten wird",threshold:"Komprimierungsschwelle",thresholdHint:"Komprimierung starten, wenn geschatzte Token dieses Kontextverhaltnis uberschreiten",targetRatio:"Zielverhaltnis",targetRatioHint:"Zielgroße des Verlaufs nach der Komprimierung als Kontextverhaltnis",protectLastN:"Neueste Nachrichten schutzen",protectLastNHint:"So viele neueste Nachrichten unkomprimiert lassen",protectFirstN:"Erste Nachrichten schutzen",protectFirstNHint:"So viele erste Nachrichten unkomprimiert lassen"},session:{mode:"Zurucksetzungsmodus",modeHint:"Ausloser fur Sitzungszurucksetzung",modeBoth:"Inaktivitat + Geplant",modeIdle:"Nur Inaktivitat",modeDaily:"Nur Geplant",modeNone:"Nie (nur manuell)",idleMinutes:"Inaktivitats-Timeout",idleMinutesHint:"Wartezeit vor automatischer Zurucksetzung (Minuten)",atHour:"Geplante Zurucksetzungszeit",humanOnly:"Nur menschliche Sitzungen anzeigen",humanOnlyHint:"Unteragenten- und Sitzungsmonitor-Rauschen standardmäßig ausblenden",liveMonitorHumanOnly:"Live-Monitor: nur menschliche Sitzungen anzeigen",liveMonitorHumanOnlyHint:"Im Live-Monitor Unteragenten- und Sitzungsmonitor-Rauschen standardmäßig ausblenden",atHourHint:"Sitzung taglich zu dieser Stunde zurucksetzen",requireAuth:"Sitzungsautorisierung",requireAuthHint:"Erfordert Autorisierung für Sitzungsvorgänge",memoryWriteApproval:"Speicherschreibungen pruefen",memoryWriteApprovalHint:"Hermes-Agent-Speicherschreibungen vor dem Speichern zur Freigabe vormerken.",skillsWriteApproval:"Skill-Schreibungen pruefen",skillsWriteApprovalHint:"Hermes-Agent-Skill-Aenderungen vor dem Speichern zur Freigabe vormerken.",writeApprovalTitle:"Ausstehende Schreibfreigaben",writeApprovalDescription:"Freigeben oder ablehnen, was Hermes Agent fuer Speicher und Skills vorgemerkt hat.",writeApprovalRefresh:"Aktualisieren",writeApprovalEmpty:"Keine ausstehenden Schreibvorgaenge.",writeApprovalMemory:"Speicher",writeApprovalSkills:"Skills",writeApprovalViewDiff:"Pruefen",writeApprovalHideDiff:"Ausblenden",writeApprovalNoDiff:"Keine Unterschiede verfuegbar.",writeApprovalLoadFailed:"Ausstehende Schreibvorgaenge konnten nicht geladen werden",writeApprovalDiffFailed:"Schreibdetails konnten nicht geladen werden",writeApprovalActionFailed:"Ausstehender Schreibvorgang konnte nicht bearbeitet werden",writeApprovalApproved:"Schreibvorgang freigegeben",writeApprovalRejected:"Schreibvorgang abgelehnt",writeApprovalApprove:"Freigeben",writeApprovalReject:"Ablehnen",writeApprovalPendingMemoryWrite:"Ausstehender Speichereintrag",writeApprovalCurrentFile:"Aktuelle Datei {file}",writeApprovalProposedFile:"Vorgeschlagene Datei {file}",writeApprovalDiffSection:"Diff",writeApprovalPatchOldStringMissing:"Der old_string des Patches wurde in der aktuellen Datei {file} nicht gefunden; eine Freigabe aendert die Datei nicht.",writeApprovalRequestedOldString:"Angefragter old_string",writeApprovalCurrentReadFailed:"Die aktuelle Datei {file} konnte nicht als UTF-8-Text gelesen werden.",writeApprovalDeleteSkill:"Diese Freigabe loescht den Skill {skill}.",writeApprovalRemoveFile:"Diese Freigabe entfernt {file} aus dem Skill {skill}."},privacy:{redactPii:"Personliche Daten maskieren",redactPiiHint:"Sensible Informationen automatisch erkennen und ausblenden (Passworter, Schlussel usw.)"},apiServer:{enable:"Aktivieren",enableHint:"API-Server aktivieren",host:"Host",hostHint:"Listen-Adresse",port:"Port",portHint:"Listen-Port",key:"Schlussel",keyHint:"API-Zugangsschlussel",cors:"CORS-Ursprunge",corsHint:"Erlaubte Cross-Origin-Quellen"},voice:{activeTtsApi:"Aktive TTS-API",activeSttApi:"Aktive STT-API",ttsProvidersTitle:"TTS-Anbieter",ttsProvidersDescription:"Verwalte Text-zu-Sprache-Integrationen fuer die Wiedergabe von Assistentenantworten und Sprachvorschauen.",sttProvidersTitle:"STT-Anbieter",sttProvidersDescription:"Verwalte Sprache-zu-Text-Integrationen fuer Mikrofon und Spracheingabe.",noneSelected:"Nichts ausgewaehlt",keyStored:"Gespeichert",keyMissing:"Fehlt",customApi:"API",localBuiltin:"Lokal integriert",ttsCardHint:"Sprachsynthese-Anbieter",sttCardHint:"Transkriptionsanbieter",setActive:"Aktiv setzen",testAction:"Testen",connect:"Verbinden",presetEdgeTtsLabel:"Edge TTS",presetEdgeTtsDescription:"Kostenlose hochwertige Cloud-Stimmen von Microsoft Edge.",presetOpenaiTtsLabel:"OpenAI TTS",presetMimoTtsLabel:"MiMo TTS",presetDoubaoTtsLabel:"Volcengine Doubao TTS",presetCustomTtsLabel:"Benutzerdefiniertes TTS",presetBrowserSttLabel:"Browser-STT",presetBrowserSttDescription:"Native Spracherkennungs-API des Browsers.",presetOpenaiWhisperLabel:"OpenAI Whisper",presetGroqSttLabel:"Groq STT",presetDoubaoSttLabel:"Volcengine Doubao STT",presetCustomSttLabel:"Benutzerdefiniertes STT",apiCompatibility:"API-Kompatibilitaet",openaiCompatible:"OpenAI-kompatibel",manualCustomEndpoint:"Manueller benutzerdefinierter Endpoint",connectionStep:"Verbindung",discoveryManualHint:"Manueller benutzerdefinierter Endpoint ausgewaehlt. Modell-Erkennung ist nicht verfuegbar; gib den Modellnamen manuell ein.",discoveryCredentialHint:"Gib Base URL und API-Key ein und verbinde dann, um verfuegbare Modelle abzurufen.",discoveryNoAutoProbeHint:"Beim Tippen werden keine Anfragen gesendet. Nutze Connect, wenn die Zugangsdaten bereit sind.",apiKeyConnectPlaceholder:"API-Key zum Verbinden einfuegen; gespeicherte Keys werden nie angezeigt",connectFetchModels:"Verbinden & Modelle abrufen",modelRecommendedSuffix:"empfohlen",modelConnectManualHint:"Zum automatischen Ausfuellen verbinden oder manuell eingeben.",modelRequiredConnectManual:"Modell ist erforderlich. Verbinde zum automatischen Ausfuellen oder gib es manuell ein.",apiKeyRequired:"API-Key ist erforderlich.",apiKeyRequiredForDiscovery:"API-Key ist erforderlich, um Modelle abzurufen.",baseUrlRequired:"Base URL ist erforderlich.",baseUrlHttpsRequired:"Bitte verwende http:// oder https://.",baseUrlInvalid:"Gib eine gueltige Base URL mit https:// ein.",discoveryFailedManualFallback:"Modelle konnten nicht abgerufen werden. Du kannst den Modellnamen weiterhin manuell eingeben.",completeRequiredProviderFields:"Fuellen Sie die erforderlichen Provider-Felder vor dem Speichern aus.",fetchingModels:"Modelle werden abgerufen...",recommendedModel:"Empfohlen: {model}.",useRecommendedModel:"Dieses verwenden.",modelsDiscovered:"{count} Modelle gefunden. Das empfohlene Modell wird ausgewaehlt, wenn das Feld leer ist.",remove:"Entfernen",testSuccess:"Test abgeschlossen",testTextRequired:"Gib vor dem Testen Text ein.",keyMissingForTest:"Fuege vor dem Testen dieses Anbieters einen API-Key hinzu.",testing:"Test laeuft...",transcribing:"Transkription laeuft...",browserSttTestHint:"Browser-STT wird ueber das Chat-Mikrofon getestet.",sttEmptyAudio:"Es wurde kein Audio aufgenommen. Versuche es erneut.",sttTestSuccess:"Transkription abgeschlossen",sttRecordingHint:"Aufnahme laeuft... klicke auf Stoppen, um zu transkribieren.",keepStoredKeyPlaceholder:"Leer lassen, um den gespeicherten Key zu behalten",apiKeyPlaceholder:"API-Key eingeben",lastTest:"Letzter Test",notTested:"—",recording:"Aufnahme",testFailedShort:"Fehlgeschlagen",testFailedSummary:"Test fehlgeschlagen. Pruefe die Anbieter-Einstellungen und versuche es erneut.",showDetails:"Details anzeigen",hideDetails:"Details ausblenden",moreActions:"Mehr",moreActionsFor:"Weitere Aktionen fuer {provider}",addTtsApi:"TTS-API hinzufuegen",addSttApi:"STT-API hinzufuegen",active:"Aktiv",builtin:"Integriert",connected:"Verbunden",disconnected:"Getrennt",source:"Quelle",model:"Modell",voice:"Stimme",doubaoVoiceHint:"Seed TTS 2.0 Stimme auswaehlen; das Resource-Feld wird automatisch angepasst.",apiKey:"API-Key",confirmDeleteSecret:"Gespeicherten API-Key fuer diese Sprach-API loeschen?",ttsTitle:"Text-zu-Sprache",ttsSaved:"TTS-Einstellungen auf dem Server gespeichert",ttsSaveFailed:"TTS-Einstellungen konnten nicht gespeichert werden",ttsTestSaved:"Anhoeren erfolgreich; TTS-Einstellungen auf dem Server gespeichert",ttsTestSaving:"TTS-Einstellungen werden vor dem Anhoeren gespeichert...",ttsMissingBaseUrl:"Base URL ist vor dem Testen erforderlich. Gib einen Anbieter-Endpunkt ein und teste erneut.",ttsMissingApiKey:"API-Key ist vor dem Testen erforderlich. Fuege den Key ein oder speichere zuerst einen serverseitig gespeicherten Key.",ttsCleared:"Gespeicherter TTS-Key geloescht",ttsClearFailed:"Gespeicherter TTS-Key konnte nicht geloescht werden",storedBaseUrlsTitle:"Gespeicherte Base URLs",storedBaseUrlsHint:"Gespeicherte Voice-Provider-Endpoints. Die Felder oben löschen nur den aktuellen Wert; gespeicherte URLs hier löschen.",storedBaseUrlsEmpty:"Keine benutzerdefinierten Voice Base URLs auf dem Server gespeichert.",storedBaseUrlDelete:"URL löschen",storedApiKeysTitle:"Gespeicherte API keys",storedApiKeysHint:"Maskierte Liste der serverseitig gespeicherten Voice-API-Keys. Es werden nur Nutzung und Quelle angezeigt; der vollständige key nie.",storedApiKeysEmpty:"Keine Voice-API keys auf dem Server gespeichert.",storedKeyKindTts:"TTS",storedKeyKindStt:"STT",storedApiKeyMasked:"[stored]",storedApiKeyDelete:"Key löschen",baseUrlPresetClear:"URL löschen",baseUrlPresetCleared:"Base-URL aus dem Feld gelöscht.",baseUrlPresetDelete:"URL löschen",baseUrlPresetDeleted:"Base-URL aus der gespeicherten Liste entfernt.",baseUrlPresetDeleteFailed:"Gespeicherte Base-URL konnte nicht entfernt werden.",ttsPendingSecret:"Neuer Key wird gespeichert",ttsStoredSecret:"Server hat einen Key gespeichert: {value}",ttsClearKey:"Gespeicherten Key loeschen",sttTitle:"Sprache-zu-Text",sttProvider:"STT-Anbieter",sttProviderHint:"Waehle, wie Spracheingaben transkribiert werden",sttProviderBrowser:"Browser",sttProviderOpenai:"OpenAI-kompatibel",sttProviderCustom:"Benutzerdefiniert",sttBrowserHint:"Verwende die integrierte Browser-Spracherkennung, wenn verfuegbar.",sttApiKey:"API-Key",sttApiKeyHint:"Serverseitig fuer STT-Anbieter gespeichert, die Authentifizierung benoetigen.",sttStoredSecret:"Gespeicherter Server-Key: {value}",sttPendingSecret:"Gespeicherter Server-Key: wird beim Speichern aktualisiert",sttClearKey:"Gespeicherten Key loeschen",sttModel:"Modell",sttModelHint:"Zu verwendendes Sprache-zu-Text-Modell.",sttLanguage:"Sprache",sttLanguageHint:"Optionaler Sprachhinweis wie en oder zh.",sttPrompt:"Prompt",sttPromptHint:"Optionaler Transkriptions-Prompt.",sttAudioTranscode:"Audio-Transkodierung",sttAudioTranscodeNone:"Originalaudio senden",sttAudioTranscodeFfmpeg:"Mit ffmpeg in WAV konvertieren",sttBaseUrl:"Base URL",sttBaseUrlHint:"Benutzerdefinierter OpenAI-kompatibler Sprache-zu-Text-Endpunkt.",sttSave:"STT-Einstellungen speichern",sttSaved:"STT-Einstellungen auf dem Server gespeichert.",sttSaveFailed:"STT-Einstellungen konnten nicht gespeichert werden.",sttCleared:"Gespeichertes STT-Secret vom Server geloescht.",sttClearFailed:"Gespeichertes STT-Secret konnte nicht geloescht werden.",sttActiveSaved:"Aktiver STT-Anbieter auf dem Server gespeichert.",sttSaveActive:"Aktiven STT-Anbieter speichern",sttEndpointHint:"Finaler Transkriptions-Endpunkt: {endpoint}",sttTestTitle:"Sprache-zu-Text testen",sttTestButton:"STT-API testen",sttTestStopButton:"Stoppen und transkribieren",sttTestBackendOnly:"Der STT-API-Test ist fuer OpenAI-kompatible und benutzerdefinierte Anbieter verfuegbar.",sttTestRecording:"Testaufnahme laeuft... klicke danach auf Stoppen und transkribieren.",sttTestTranscribing:"Testaufnahme wird transkribiert...",sttTestEmpty:"Fuer den STT-Test wurde kein Audio aufgenommen.",sttTestSucceeded:"STT-Test erfolgreich.",sttTestFailed:"STT-Test fehlgeschlagen: {error} — {hint}",sttFailureHintMissingConfig:"Pruefe, ob der Anbieter vor dem Test mit Base URL/Modell und API-Key gespeichert wurde.",sttFailureHintAuth:"Pruefe den API-Key. Wenn bereits ein Key gespeichert war, fuege den aktuellen Key erneut ein und speichere vor dem Test.",sttFailureHintForbidden:"Der Key hat den Anbieter erreicht, hat aber keine Berechtigung fuer dieses STT-Modell oder Konto. Pruefe Zugriff/Abrechnung beim Anbieter.",sttFailureHintEndpointModel:"Pruefe Base URL und Modell. Fuer Groq verwende {endpoint} mit whisper-large-v3-turbo oder einem anderen Groq-STT-Modell.",sttFailureHintModel:"Pruefe, ob das ausgewaehlte STT-Modell existiert und fuer dieses Konto aktiviert ist.",sttFailureHintQuota:"Der Anbieter meldet Probleme mit Kontingent, Abrechnung oder Rate Limit. Pruefe Kontingent/Abrechnung oder versuche es spaeter erneut.",sttFailureHintNetworkCustom:"Der Server konnte den benutzerdefinierten STT-Endpunkt nicht erreichen. Pruefe, ob {endpoint} vom Web-UI-Server aus erreichbar und OpenAI-kompatibel ist.",sttFailureHintNetwork:"Der Web-UI-Server konnte den STT-Anbieter nicht erreichen. Pruefe Netzwerk/Proxy/Firewall und versuche es erneut.",sttFailureHintAudio:"Das aufgenommene Audio war leer oder wurde abgelehnt. Versuche eine kurze, klare Aufnahme, erlaube Mikrofonzugriff oder nutze Chrome.",sttFailureHintGenericCustom:"Pruefe API-Key, Base URL, Modell und den finalen Endpunkt {endpoint}.",sttFailureHintGeneric:"Pruefe API-Key, Modell und Anbieter-Kontozugriff und versuche es erneut.",sttTestRecordFailed:"Mikrofonaufnahme konnte nicht gestartet werden: {error}",sttTestTranscript:"Transkript: {text}",ttsProvider:"TTS-Anbieter",ttsProviderHint:"Waehlen Sie die Sprachsynthese-Engine fuer die Nachrichtenwiedergabe",providerWebSpeech:"WebSpeech API (Browser)",providerOpenai:"OpenAI TTS",providerCustom:"Benutzerdefinierter Endpunkt (OpenAI-kompatibel)",providerEdge:"Edge TTS (Kostenlos, kein API-Key erforderlich)",webspeechVoice:"Stimme",webspeechVoiceHint:"Waehlen Sie eine Stimme aus Ihrem Browser oder Betriebssystem",webspeechVoicePlaceholder:"Auto (Standardstimme)",openaiKey:"API-Key",openaiKeyHint:"Ihr OpenAI API-Key mit TTS-Zugriff",openaiUrl:"API-Basis-URL",openaiUrlHint:"z.B. https://api.openai.com/v1/audio/speech",openaiModel:"Modell",openaiModelHint:"tts-1 (schneller) / tts-1-hd (hoehere Qualitaet)",openaiVoice:"Stimme",openaiVoiceHint:"Stimme fuer die Synthese",customHint:"Jede OpenAI-kompatible TTS-API verwenden — funktioniert mit GPT-SoVITS, CosyVoice, usw.",customUrl:"API-URL",customUrlHint:"Basis-URL Ihres TTS-Dienstes",customUrlPlaceholder:"Die im lokalen Adapter konfigurierte Adresse, z.B. http://127.0.0.1:9880",customApiKey:"API-Key (optional)",customApiKeyHint:"Einige benutzerdefinierte Endpunkte erfordern Authentifizierung",customApiKeyPlaceholder:"Leer lassen wenn nicht benoetigt",edgeHint:"Angetrieben von Microsoft Edge TTS (node-edge-tts).",edgeUrl:"Adapter-URL",edgeUrlHint:"Adresse des Edge TTS-Adapters, z.B. http://127.0.0.1:9882",edgeUrlPlaceholder:"http://127.0.0.1:9882",edgeVoice:"Stimme",edgeVoiceHint:"Waehlen Sie eine Stimme fuer die Sprachsynthese",edgeRate:"Geschwindigkeit",edgeRateHint:"Sprachgeschwindigkeit anpassen (0,5x ~ 2,0x)",edgePitch:"Tonhöhe",edgePitchHint:"Tonhöhe anpassen (-20 ~ +20 Hz)",testTitle:"Sprachtest",testText:"Testtext",testTextPlaceholder:"Text zum Testen eingeben...",testTextDefault:"Hallo, dies ist ein Sprachtest.",testButton:"Testen",testButtonPlaying:"Wiedergabe...",testFailed:"Test fehlgeschlagen: {error}",providerMimo:"MiMo TTS",mimoHint:"Xiaomi MiMo TTS — unterstützt Voreingestellte Stimmen, Stimmdesign und Stimmklonung",mimoApiKey:"API-Schluessel",mimoApiKeyHint:"Holen Sie sich Ihren Schluessel auf platform.xiaomimimo.com",mimoApiKeyPlaceholder:"MiMo API-Schluessel",mimoAuthMode:"Authentifizierungsmodus",mimoAuthModeHint:"Header-Format, das der ausgewählte MiMo-Endpunkt erwartet",mimoAuthModeBearer:"Bearer-Token (Authorization)",mimoAuthModeApiKey:"API-key-Header (api-key)",mimoAuthModeBoth:"Beide Header",mimoBaseUrl:"Basis-URL",mimoBaseUrlHint:"MiMo API-Endpunkt-URL",mimoModel:"Modell",mimoModelHint:"Sprachsynthesemodell auswählen",mimoModelPreset:"Voreingestellte Stimmen",mimoModelVoiceDesign:"Stimmdesign",mimoModelVoiceClone:"Stimmklonung",mimoVoice:"Stimme",mimoVoiceHint:"Voreingestellte Stimme auswählen",mimoVoiceDesignPrompt:"Stimmbeschreibung",mimoVoiceDesignPromptHint:"Beschreiben Sie die gewünschten Stimmmerkmale",mimoVoiceDesignPromptPlaceholder:"Z.B.: Eine warme junge Frauenstimme, etwas langsam, mit magnetischem Ton",mimoCloneAudio:"Audio hochladen",mimoCloneAudioHint:"Audio-Beispiel für Stimmklonung hochladen (mp3/wav, max. 10 MB)",mimoCloneAudioUpload:"Datei auswählen",mimoCloneAudioClear:"Löschen",mimoStylePrompt:"Stil-Eingabe",mimoStylePromptHint:"Optional — beschreiben Sie den Sprechstil in natürlicher Sprache",mimoStylePromptPlaceholder:"Z.B.: Heller, lebhafter Ton, schnelles Tempo"},lockedIps:{title:"Gesperrte IPs",count:"{count} gesperrt",empty:"Keine gesperrten IPs",unlock:"Entsperren",unlockAll:"Alle entsperren",unlockAllConfirm:"Alle gesperrten IPs entsperren?",unlocked:"IP entsperrt",allUnlocked:"{count} IPs entsperrt",type:{password:"Password",token:"API token",pairing:"Device pairing"}},userAvatar:{title:"Benutzeravatar",upload:"Bild hochladen",random:"Zufällig generieren",reset:"Auf Standard zurücksetzen",hint:"Unterstützt PNG, JPEG und WebP bis 1 MB; wird automatisch auf unter 500 KB komprimiert.",invalidType:"Bitte wählen Sie ein PNG-, JPEG- oder WebP-Bild aus",tooLarge:"Das Avatarbild darf höchstens 1 MB groß sein",saveSuccess:"Avatar gespeichert",saveFailed:"Avatar konnte nicht gespeichert werden",resetSuccess:"Avatar wurde zurückgesetzt",resetFailed:"Avatar konnte nicht zurückgesetzt werden"},models:{apiKey:"API Key",apiKeyPlaceholder:"API Key eingeben",noProviders:"Keine Provider konfiguriert",save:"Speichern",saveFailed:"Speichern fehlgeschlagen",saved:"Gespeichert"}},githubPreview:{title:"Versionsvorschau",description:"Klont den ausgewählten GitHub-Tag in den Web-UI-Vorschaubereich, installiert Abhängigkeiten und startet ihn mit den Entwicklungsports.",refresh:"Aktualisieren",selectTag:"Tag auswählen",prepare:"Code vorbereiten",install:"Abhängigkeiten installieren",start:"Vorschau starten",stop:"Stoppen",note:"Der Vorschaucode wird im Web-UI-Datenverzeichnis gespeichert. Produktion bleibt auf Port 8648; die Vorschau nutzt Frontend 8651 und Backend 8650.",path:"Vorschaupfad",webuiHome:"Vorschau-Datenverzeichnis",currentTag:"Aktueller Tag",repoReady:"Repository bereit",dependencies:"Abhängigkeiten installiert",running:"Status",notRunning:"Nicht gestartet",open:"Vorschau öffnen",log:"Pfad zum Aktionslog",logOutput:"Logausgabe",actionLog:"Aktionslog",devLog:"Dev-Server-Log",yes:"Ja",no:"Nein",actionFailed:"Aktion fehlgeschlagen",nodeEnvironmentMissing:"Node/npm wurde nicht erkannt. Bitte installiere Node.js und versuche es erneut.",prepareSuccess:"Vorschaucode ist bereit",installSuccess:"Abhängigkeiten installiert",startSuccess:"Vorschau abgeschlossen",stopSuccess:"Vorschau gestoppt"},codingAgents:{title:"Coding Agents",notice:"Nicht alle Anbieter und Modelle sind kompatibel.",claudeDescription:"Anthropic CLI fur einmalige Print-Mode-Aufgaben und interaktive Coding-Sitzungen.",codexDescription:"OpenAI CLI und Hermes openai-codex Anbieter-Flow fur Repository-Aufgaben.",copyCommand:"Kopieren",commandCopied:"Befehl kopiert",commandCopyFailed:"Kopieren fehlgeschlagen",refresh:"Aktualisieren",checking:"Prufen",installStatus:"Installationsstatus",installed:"Installiert",notInstalled:"Nicht installiert",installRequired:"{agent} ist nicht installiert. Installiere es, bevor du eine Sitzung erstellst.",installNow:"Installieren",installing:"Installiere",installSuccess:"Installiert",installFailed:"Installation fehlgeschlagen",installFailedHermesHint:"Installation fehlgeschlagen. Bitte Hermes, es fur dich zu installieren.",installFailureReason:"Grund",nodeEnvironmentMissing:"Node/npm wurde nicht erkannt. Bitte installiere Node.js und versuche es erneut.",deleteNow:"Loschen",deleting:"Losche",deleteSuccess:"Gelöscht",deleteFailed:"Loschen fehlgeschlagen",configFiles:"Konfigurationsdateien",profileScope:"Profil",providerScope:"Anbieter",providerPlaceholder:"z. B. custom:glm",modelScope:"Modell",modelPlaceholder:"Modell auswahlen",launchModeScope:"Startmodus",launchModeGlobal:"Globale Konfiguration",launchModeScoped:"Anbieter und Modell",protocolScope:"Protokoll",protocolOpenAiChat:"OpenAI Chat Completions (/v1/chat/completions)",protocolOpenAiResponses:"OpenAI Responses (/v1/responses)",protocolAnthropicMessages:"Anthropic Messages (/v1/messages)",reloadConfig:"Konfiguration neu laden",configFileNotCreated:"Nicht erstellt",configLoadFailed:"Konfigurationsdatei konnte nicht gelesen werden",loadFailed:"Coding Agents konnten nicht gepruft werden",launch:"Starten",launchTitle:"Coding Agent starten",nativeTerminal:"Natives Terminal",builtInTerminal:"Integriertes Terminal",launchPrepared:"Startkonfiguration vorbereitet",launchPrepareFailed:"Startkonfiguration konnte nicht vorbereitet werden",nativeLaunchStarted:"Natives Terminal geoffnet",nativeLaunchFailed:"Natives Terminal konnte nicht geoffnet werden",terminalTitle:"Coding-Agent-Terminal",loadProvidersFailed:"Anbieter fur das aktuelle Profil konnten nicht geladen werden",selectProviderModel:"Anbieter und Modell auswahlen",launchConfigDir:"Start-Konfigurationsordner",launchCommand:"Startbefehl",table:{tool:"Tool",kind:"Schritt",command:"Befehl",note:"Hinweis",action:"Aktion"},kinds:{install:"Installation",auth:"Auth",health:"Status",run:"Ausfuhren"},notes:{claudeInstall:"Installiert die Claude Code CLI global.",codexInstall:"Installiert die Codex CLI global.",claudeAuth:"Prüft den Claude Code Login-Status; bei fehlendem Login einmal claude ausfuhren.",codexAuth:"Fugt Hermes-verwaltete OpenAI Codex OAuth-Zugangsdaten hinzu.",claudeHealth:"Prüft Updater und lokale CLI-Gesundheit.",codexHealth:"Bestatigt, dass die Codex CLI im PATH verfugbar ist.",claudeRun:"Print mode ist der sauberste Weg fur API-gesteuerte Einmalaufgaben.",codexRun:"Codex-Einmalaufgaben mussen in einem Git-Repository laufen."}},platform:{requireMention:"Erwahnung {'@'} erfordern",requireMentionGroup:"Erwahnung {'@'} in Gruppen erfordern zum Antworten",requireMentionChannel:"Erwahnung {'@'} in Kanalen erfordern zum Antworten",requireMentionRoom:"Erwahnung {'@'} in Raumen erfordern zum Antworten",reactions:"Reaktionen",reactionsHint:"Auf Nachrichten mit Emoji reagieren",freeResponseChats:"Frei antwortende Chats",freeResponseChatsHint:"Chat-IDs, die ohne {'@'}Erwahnung antworten (komma-getrennt)",freeResponseChannels:"Frei antwortende Kanale",freeResponseChannelsHint:"Kanal-IDs, die ohne {'@'}Erwahnung antworten (komma-getrennt)",freeResponseRooms:"Frei antwortende Raume",freeResponseRoomsHint:"Raum-IDs, die ohne {'@'}Erwahnung antworten (komma-getrennt)",mentionPatterns:"Benutzerdefinierte Erwahnungsmuster",mentionPatternsHint:"Zusatzliche Auslosermuster",autoThread:"Auto-Thread",autoThreadHint:"Automatisch Antwort-Threads nach {'@'}Erwahnung erstellen",autoThreadHintRoom:"Automatisch Antwort-Threads in Raumen erstellen",dmMentionThreads:"DM-Erwahnungs-Threads",dmMentionThreadsHint:"Thread-Antworten fur Erwahnungen in DMs verwenden",allowBots:"Bot-Nachrichten erlauben",allowBotsHint:"Auf Nachrichten von anderen Bots antworten",allowedChannels:"Erlaubte Kanale",allowedChannelsHint:"Whitelist der Kanal-IDs (komma-getrennt)",ignoredChannels:"Ignorierte Kanale",ignoredChannelsHint:"Kanale, in denen der Bot nie antwortet (komma-getrennt)",noThreadChannels:"Thread-lose Kanale",noThreadChannelsHint:"Kanale, in denen der Bot ohne Threads antwortet (komma-getrennt)",exclusiveTokenWarning:"Diese Plattform verwendet einen exklusiven Token-Lock. Jedes Profil muss einen anderen Identitäts-Token verwenden, um Konflikte mit anderen Profilen zu vermeiden.",botToken:"Bot-Token",botTokenHint:"Bot-Token vom Entwicklerportal",proxyUrl:"Proxy-URL",proxyUrlHint:"Optionaler plattformspezifischer Proxy. Unterstutzt http://, https:// und socks5://",accessToken:"Zugangs-Token",accessTokenHint:"Matrix-Zugangs-Token",homeserver:"Homeserver-URL",homeserverHint:"Matrix-Homeserver-URL",matrixUserId:"Matrix-Benutzer-ID",matrixUserIdHint:"Pflicht bei Passwort-Login, optional mit Zugangs-Token",matrixPassword:"Matrix-Passwort",matrixPasswordHint:"Alternative zum Zugangs-Token",appId:"App-ID",appIdHint:"Feishu App-ID",appSecret:"App-Geheimnis",appSecretHint:"Feishu App-Geheimnis",encryptKey:"Verschlüsselungsschlüssel",encryptKeyHint:"Feishu-Verschlüsselungsschlüssel",verificationToken:"Verifizierungs-Token",verificationTokenHint:"Feishu-Verifizierungs-Token",clientId:"Client-ID",clientIdHint:"DingTalk Client-ID",clientSecret:"Client-Geheimnis",clientSecretHint:"DingTalk Client-Geheimnis",cardTemplateId:"KI-Karten-Vorlagen-ID",cardTemplateIdHint:"DingTalk KI-Karten-Vorlagen-ID; leer lassen, um KI-Karten zu deaktivieren",botId:"Bot-ID",botIdHint:"WeCom Bot-ID",wecomSecretHint:"WeCom Bot-Geheimnis",waEnabled:"WhatsApp aktivieren",waEnabledHint:"WhatsApp uber QR-Code-Kopplung aktivieren",weixinToken:"Weixin-Token",weixinTokenHint:"Von Weixin-CLI QR-Anmeldung (hermes weixin)",accountId:"Konto-ID",accountIdHint:"Weixin-Konto-ID",qrLogin:"QR-Anmeldung",qrRelogin:"Erneut anmelden",qrFetching:"QR-Code wird abgerufen...",qrScanHint:"Mit WeChat scannen zum Anmelden",qrScanedHint:"Gescannt, bitte auf dem Gerat bestatigen...",qqSandboxHint:"Sandbox-Umgebung aktivieren (für Tests)",qqSandbox:"Sandbox-Modus",qqQrScanHint:"QR-Code oben mit QQ scannen oder Link auf dem Telefon öffnen, um die Bindung abzuschließen",qqMarkdownHint:"Markdown-formatierte Nachrichten aktivieren (einige Clients unterstützen dies möglicherweise nicht)",qqMarkdown:"Markdown-Unterstützung",qqAppSecretHint:"App Secret des QQ Open Platform Bots",qqAppSecret:"App-Geheimnis",qqAppIdHint:"App-ID des QQ Open Platform Bots",qqAppId:"App-ID",allowedUsersHint:"Whitelist für Benutzer-IDs oder OpenIDs, durch Kommas getrennt",allowedUsers:"Erlaubte Benutzer",allowAllUsersHint:"Nachrichten von beliebigen Benutzern erlauben; deaktiviert lassen, um die Allowlist zu verwenden",allowAllUsers:"Alle Benutzer erlauben"},language:{label:"Sprache",zh:"中文",en:"English",de:"Deutsch"},terminal:{sessions:"Sitzungen",newTab:"Neues Terminal",closeSession:"Diese Sitzung schliessen?",sessionExited:"Beendet",processExited:"Prozess beendet mit Code {code}",noSessions:"Keine Terminal-Sitzungen",connectionFailed:"Terminaldienstverbindung fehlgeschlagen",connectionClosed:"Terminalverbindung geschlossen",connectionError:"Terminalverbindungsfehler"},usage:{title:"Nutzungsstatistiken",refresh:"Aktualisieren",totalTokens:"Gesamt-Tokens",inputTokens:"Eingabe",outputTokens:"Ausgabe",totalSessions:"Gesamt-Sitzungen",avgPerDay:"~{n}/Tag Durchschn.",estimatedCost:"Gesch. Kosten",cacheHitRate:"Cache-Trefferquote",modelBreakdown:"Modellaufschluesselung",agentBreakdown:"Agent-Aufschluesselung",agents:{hermes:"Hermes Agent",claudeCode:"Claude Code",codex:"Codex",ekkoAgent:"Ekko Agent",unknown:"Unbekannt"},dailyTrend:"Tagliche Nutzung",date:"Datum",tokens:"Tokens",cache:"Cache",cacheRead:"Cache gelesen",cacheWrite:"Cache geschrieben",sessions:"Sitzungen",cost:"Kosten",noData:"Keine Nutzungsdaten"},skillsUsage:{title:"Skill-Nutzung",subtitle:"Skill-Ladevorgänge und -Bearbeitungen aus Hermes-Sitzungen verfolgen",refresh:"Aktualisieren",periodSelector:"Zeitraum der Skill-Nutzung",periodLabel:"{days} T",summary:"Zusammenfassung",totalActions:"Aktionen",loads:"Laden",edits:"Änd.",distinctSkills:"Skillzahl",topSkills:"Top-Skills",dailyTrend:"Trend",periodSummary:"Letzte {days} Tage",skill:"Fähigkeit",share:"%",lastUsed:"Zuletzt",noData:"Keine Skill-Nutzungsdaten",loadFailed:"Skill-Nutzung konnte nicht geladen werden",otherSkills:"Andere Skills"},workflow:{actions:{importWorkflow:"Workflow importieren",exportWorkflow:"Workflow exportieren",imported:"Workflow importiert",exported:"Workflow exportiert",importFailed:"Workflow-Import fehlgeschlagen",exportFailed:"Workflow-Export fehlgeschlagen"},stats:{nodes:"Knoten",edges:"Verbindungen"},evidence:{ariaLabel:"Workflow-Ausführungsdetails",title:"Ausführungsdetails",count:"{count} Einträge",intro:"Zeigt Pfadentscheidungen, Schleifendurchläufe und außergewöhnliche Knoten dieses Laufs.",empty:"Keine Ausführungsdetails",loadFailed:"Gespeicherte Ausführungsdetails konnten nicht geladen werden",node:"Außergewöhnlicher Knoten",edge:"Pfad",loop:"Schleife",pathTitle:"{source} → {target}",loopPass:"Schleifendurchlauf {count}",exceptionalNode:"Dieser Knoten wurde nicht normal abgeschlossen.",technical:"Technische Informationen",recordId:"Datensatz-ID",sequence:"Reihenfolge",rawStatus:"Rohstatus",rawRoute:"Route",rawReason:"Grund",iterationPath:"Iterationspfad",statuses:{taken:"Verwendet",notTaken:"Nicht verwendet",evaluationFailed:"Auswertung fehlgeschlagen",timedOut:"Zeitüberschreitung",blocked:"Blockiert"},routes:{success:"Nach Erfolg fortgesetzt",failure:"Nach Fehler fortgesetzt",always:"Unabhängig vom Ergebnis fortgesetzt"},reasons:{evaluationFailed:"Routenauswertung fehlgeschlagen",conditionNotMatched:"Bedingung traf nicht zu",iterationLimitReached:"Maximale Durchlaufzahl erreicht",routeNotMatched:"Route traf nicht zu"},loopOutcomes:{continued:"Bedingung erfüllt; nächster Durchlauf",iterationLimitReached:"Bei maximaler Durchlaufzahl beendet",conditionNotMatched:"Wegen nicht erfüllter Bedingung beendet",finished:"Schleife beendet"}},edgeEditor:{title:"Verbindung bearbeiten",guideIntro:"Eine Verbindung wird nur verwendet, wenn Route und optionale Bedingung passen. Ohne Inhaltsprüfung wählen Sie „Nur Route“.",route:"Route",routes:{success:"Nur bei Erfolg (success)",failure:"Nur bei Fehler (failure)",always:"Immer (always)"},routeHelp:"Zuerst wird das Ergebnis des Quellknotens geprüft; eine vorhandene Bedingung muss zusätzlich passen.",routeExample:"Beispiel: success für den Normalfall, failure für Fehlerbehandlung, always für Aufräumarbeiten.",conditionPath:"Was soll diese Verbindung prüfen?",conditionPathPlaceholder:"Erweiterter Pfad, z. B. output",conditionPathOptions:{routeOnly:"Nur Route — keine Inhaltsprüfung",outputRecommended:"Erfolgreicher Antworttext (output, empfohlen)",output:"Erfolgreicher Antworttext (output)",errorRecommended:"Fehlertext (error, empfohlen)",error:"Fehlertext (error)",custom:"Eigener Pfad (erweitert)"},conditionPathHelp:{success:"Für success wird output empfohlen. Wählen Sie „Nur Route“, wenn der Antwortinhalt egal ist.",failure:"Für failure wird error empfohlen. Wählen Sie „Nur Route“, wenn der Fehlertext egal ist.",always:"Für erfolgreiche Antworten output, für Fehler error; „Nur Route“ überspringt die Inhaltsprüfung."},operator:"Operator",operators:{equals:"Gleich (equals)",not_equals:"Ungleich (not_equals)",contains:"Enthält (contains)",not_contains:"Enthält nicht (not_contains)",exists:"Existiert (exists)",not_exists:"Existiert nicht (not_exists)",greater_than:"Größer als (greater_than)",greater_than_or_equal:"Größer oder gleich (greater_than_or_equal)",less_than:"Kleiner als (less_than)",less_than_or_equal:"Kleiner oder gleich (less_than_or_equal)",in:"In Liste (in)",not_in:"Nicht in Liste (not_in)"},operatorHelp:{equals:"Wert und Typ müssen exakt gleich sein.",not_equals:"Wert oder Typ sind verschieden.",contains:"Text enthält Text oder ein Array enthält den Eintrag.",not_contains:"Text oder Array enthält den Eintrag nicht.",exists:"Passt, wenn der Pfad existiert; kein Wert nötig.",not_exists:"Passt, wenn der Pfad fehlt; kein Wert nötig.",greater_than:"Beide Seiten müssen JSON-Zahlen sein; Istwert ist größer.",greater_than_or_equal:"Beide Seiten müssen JSON-Zahlen sein; Istwert ist größer oder gleich.",less_than:"Beide Seiten müssen JSON-Zahlen sein; Istwert ist kleiner.",less_than_or_equal:"Beide Seiten müssen JSON-Zahlen sein; Istwert ist kleiner oder gleich.",in:"Wert muss ein JSON-Array sein, das den Istwert enthält.",not_in:"Wert muss ein JSON-Array sein, das den Istwert nicht enthält."},value:"Wert",invalidConditionValue:"Der Bedingungswert muss gültiges JSON sein",conditionValuePlaceholder:'JSON: "Text", 42, true, ["a"]',valueType:"Werttyp",valueTypes:{string:"Zeichenfolge",number:"Zahl",boolean:"Boolescher Wert",null:"Null",array:"Array",object:"Objekt"},valueTypeHelp:"Legt fest, wie der Wert gelesen und geprüft wird. Der Typ wird aus dem gespeicherten JSON-Wert abgeleitet und nicht separat gespeichert.",conditionValuePlaceholders:{string:"Text, z. B. APPROVED",number:"Zahl, z. B. 42",boolean:"true oder false",null:"null",array:'JSON-Array, z. B. ["a", 2]',object:`JSON-Objekt, z. B. {'{'}"status":"ready"{'}'}`},invalidValueTypes:{string:"Der Wert muss Text sein.",number:"Der Wert muss eine gültige Zahl sein.",boolean:"Der Wert muss true oder false sein.",null:"Der Wert muss null sein.",array:"Der Wert muss ein gültiges Array sein.",object:"Der Wert muss ein gültiges Objekt sein."},valueHelp:"Einen Wert des gewählten Typs eingeben. Objekte und Arrays verwenden JSON; Zeichenfolgen werden ohne JSON-Anführungszeichen eingegeben.",feedback:"Feedback-Schleife",feedbackHelp:"Kennzeichnet diese Rückverbindung als begrenzte Schleife. Sie läuft nur weiter, wenn Route und Bedingung passen.",maxIterations:"Maximale Iterationen",maxIterationsHelp:"Gesamtzahl der Schleifendurchläufe von 1 bis 100; zusätzlich gilt das globale Ausführungsbudget.",invalidIterations:"Maximale Iterationen müssen eine ganze Zahl zwischen 1 und 100 sein",loopId:"Schleifenkennung",loopIdPlaceholder:"Automatisch wählen oder eigene ID eingeben",loopIdAutomatic:"Automatisch (empfohlen) · {id}",loopIdHelp:"Dient nur zur Kennzeichnung im Ausführungsverlauf und ändert nicht, wann die Schleife läuft. Normalerweise automatisch lassen.",invalidLoopId:"Ungültiges Format der Schleifen-ID"},node:{approvalRequired:"Freigabe nach Lauf",join:"Zusammenführung",joinAll:"Alle eingehenden Routen",joinAny:"Beliebige eingehende Route",joinAllHelp:"Wird nur ausgeführt, wenn alle eingehenden Routen genommen werden; sonst übersprungen.",joinAnyHelp:"Wird bei der ersten genommenen Route einmal ausgeführt; nur übersprungen, wenn keine passt."},status:{pending_approval:"Wartet auf Freigabe",approval_rejected:"Freigabe abgelehnt"}},changelog:{new_0_6_29_1:"Diese Version umfasst alle 14 nach 0.6.28 zusammengeführten PRs: einheitliche Oberflächen, MCU-Audio und v2-Hardware, Workspace-Diffs, Nutzungsanalyse, Docker-Updates und MiMo-Stimmklonen",new_0_6_29_2:"Gemeinsame Seitenköpfe, dunkle Flächen und Radien folgen nun einem visuellen System; die Versionsvorschau sortiert gültige Tags semantisch (#2014, #2015)",new_0_6_29_3:"Die ESP32-Produktseite wurde responsiv überarbeitet und der Website-Versionswähler enthält jetzt Hermes Agent 0.18.2 (#2020, #2042)",new_0_6_29_4:"ESP32-C3 v1 nutzt für Uplink-Audio IMA-ADPCM mit etwa einem Viertel der Bandbreite und zwei Minuten Aufnahmelimit; das OLED kehrt nach Statusmeldungen zur LAN-IP zurück (#2024, #2025)",new_0_6_29_5:"Workspace-Diffs sind standardmäßig eingeklappt und filtern Änderungen mit null Zeilen; der normale dunkle Chat-Eingabehintergrund ist wiederhergestellt (#2032)",new_0_6_29_6:"Session-Exporte tolerieren fehlerhafte Prozentzeichen in Dateinamen; Docker-Upgrades zeigen Pull-/Recreate-Hinweise statt npm im Container zu verändern (#2026, #2033)",new_0_6_29_7:"Bridge-Tool-Ergebnisse bleiben vollständig gespeichert, werden im Modellkontext aber auf eine 5.500-Zeichen-Kopf-/Endzusammenfassung begrenzt (#2036)",new_0_6_29_8:"Die Nutzungsanalyse vereint Modellaufrufe von Hermes Agent, Claude Code, Codex und Ekko Agent und ergänzt eine Agent-Verteilung (#2039)",new_0_6_29_9:"Ein separates ESP32-C3-v2-Firmwareziel ergänzt die neue Pinbelegung ohne v1 zu ändern; v2 startet bei 80 % Lautstärke mit 1,5-facher PCM-Verstärkung und Soft-Limiting (#2044, #2045)",new_0_6_29_10:"MiMo-Stimmklonen unterstützt wieder WAV/MP3-Referenzuploads und sendet das Audio gemäß aktueller API über audio.voice (#2046)",new_0_6_28_1:"Diese Version umfasst alle nach 0.6.27 gemergten PRs, darunter MCU-Verwaltung, Gruppenchat-Workspace-Diffs, Coding-Agent-Fixes, Workflow-Freigaben, Workspace-Diff-Filter, Modellwahl fuer geplante Jobs und Desktop-Versionshinweise",new_0_6_28_2:"MCU erhaelt Device Management, verlangt API-Token-Autorisierung fuer global-agent Events, aktualisiert die ESP32-C3-Firmware und stabilisiert den Remote-Relay-Login",new_0_6_28_3:"Gruppenchat-Workspace-Aenderungen werden als Workspace-Diff-Runs gespeichert, damit room-level Agent-Aktivitaet nach Sitzungsende pruefbar bleibt",new_0_6_28_4:"Coding Agents erben scoped external MCP servers, routen Workflow-Agent-Abbrueche korrekt und exportieren abgeschlossene Codex- und Claude-Code-Native-Sessions best-effort",new_0_6_28_5:"Session-Polish behebt den Workspace File Drawer, entfernt defekte Starred-History-Embeds und speichert ended_at/end_reason-Metadaten fuer Bridge-Sessions",new_0_6_28_6:"Workflow Nodes unterstuetzen Approval Gates nach Node-Abschluss, und Approval-Zustaende fuer erneute Ausfuehrungen wurden korrigiert",new_0_6_28_7:"Workspace-Diffs filtern SQLite WAL/SHM-Sidecars und scannen ueber unveraenderte Dateien hinaus, damit neu erstellte normale Dateien sichtbar bleiben",new_0_6_28_8:"Geplante Jobs koennen provider/model auswaehlen und speichern, ohne nicht unterstuetzte Model-Flags an die aktuelle Hermes cron CLI zu uebergeben",new_0_6_28_9:"Die Desktop-Versionsverwaltung zeigt bei verfuegbaren Updates einen lokalisierten Hinweis am Button, und das oeffentliche Versionsmanifest enthaelt 0.6.28",new_0_6_27_1:"Diese Version umfasst alle nach 0.6.26 gemergten PRs, einschliesslich Desktop-Start-Fallback, Windows-Runtime-Fixes, Remote-MCU-Relay, Gruppenchat-Workspaces, Feinschliff am Standard-Workspace und Filterung leerer Diffs",new_0_6_27_2:"Der Desktop-Start faellt jetzt auf die gebuendelte Web UI zurueck, wenn das aktive Web-UI-Verzeichnis fehlt oder unvollstaendig ist, und behaelt dabei die gepinnte Runtime bei",new_0_6_27_3:"Windows-Desktop-Runtimes verwenden fuer Web-UI-Server-Aufrufe jetzt verschiebbare hermes.cmd-Wrapper statt anfaelliger .exe-Trampolines",new_0_6_27_4:"Remote-MCU-Traffic nutzt jetzt das Socket.IO /global-agent Relay, mit stabilerem ESP32-C3-Login, Discovery, Voice-Playback-Queueing, Wi-Fi-Credential-Persistenz und aktualisierter Firmware",new_0_6_27_5:"Gruppenchat-Raeume koennen jetzt einen validierten Workspace besitzen, der an group-agent Runs uebergeben wird; Nur-Lese-Mitglieder sehen Workspace, Invite Code und Verwaltungssteuerung nicht",new_0_6_27_6:"Favoriten fuer den Standard-Workspace sitzen jetzt in der Zeile des ausgewaehlten Pfads im Folder Picker, inklusive vollstaendiger Locale-Abdeckung fuer Workspace-Picker-Labels",new_0_6_27_7:"Workspace-Diff-Karten ueberspringen jetzt 0-Byte-Aenderungen ohne Patch oder Zeilendelta und vermeiden damit bedeutungslose +0/-0 Changed-File-Karten",new_0_6_26_1:"Diese Version umfasst die nach 0.6.25 gemergten PRs mit Fokus auf Ekko Agent, Context-Anzeige des Coding Agent, Journey, Gruppenchat-Baselines, Desktop-Fixes und MCP-Payload-Groesse",new_0_6_26_2:"Ekko Agent ist jetzt im Chat verfuegbar, mit Runtime-Context-Handling, Browser-Tools, stabileren Tool-Events und wiederhergestellter Tool-Result-History fuer Context-Usage-Berechnung",new_0_6_26_3:"Coding-Agent-Sessions zeigen Reasoning- und Context-Einstellungen klarer, persistieren API Mode, vermeiden Codex app-server mode misuse und verhindern Spruenge der Context Usage nach Follow-up-Turns",new_0_6_26_4:"Journey hat eine Learning-Graph-Ansicht mit verfeinerten Graph-Interaktionen erhalten, waehrend der Gruppenchat Baseline-Coverage fuer die neue Feature-Linie bekam",new_0_6_26_5:"Die Desktop-Zuverlaessigkeit wurde verbessert: Login-Persistenz und Reset-Flow, dynamischer Port-Fallback fuer Windows Worker, stdout/stderr-EPIPE-Handling und isoliertes ESP32-C3-v1-Firmware-Packaging",new_0_6_26_6:"Hermes Studio MCP liefert available-models standardmaessig als kompakte Zusammenfassung, mit Filtern und expliziter Full-Detail-Option, um agent context nicht mit Modelldaten zu ueberladen",new_0_6_25_1:"Behebt execute_code-Fehler mit Hermes Agent 0.18.0, indem der neue Parameter has_host_access durch den Agent-Bridge-Approval-Memory-Wrapper weitergereicht wird",new_0_6_24_1:"Diese Version umfasst die nach 0.6.23 gemergten PRs und verbessert Chat-Eingabe, Workspace-Sichtbarkeit, Plugin-Verwaltung, Standardmodelle und Workspace-Diff-Ansicht",new_0_6_24_2:"Einzel- und Gruppenchat-Eingaben nutzen eine integrierte Toolbar, kompakte Modellsteuerung, gebuendelte Eingabeeinstellungen, klarere Context-Nutzung, stabileres Mobile Chrome und wiederhergestelltes manuelles Resize im Einzelchat",new_0_6_24_3:"Workspace-Run-Aenderungen erscheinen als dauerhafte Chat-Diff-Karten mit rechter Diff-/Editor-Schublade, werden nach Session Resume wiederhergestellt und sind fuer mobile Ansicht angepasst",new_0_6_24_4:"Der Workspace-Ordnerauswahler durchsucht Windows-Laufwerke und Junctions zuverlaessiger und zeigt Dot-Ordner wie .hermes, .config und .codex an, waehrend WORKSPACE_BASE-Pruefungen erhalten bleiben",new_0_6_24_5:"Die Plugins-Seite kann verwaltbare Benutzer-Plugins aktivieren oder deaktivieren und zeigt den kombinierten Status aus Hermes-Basiskonfiguration und aktuellem Profile genauer an",new_0_6_24_6:"Die Models-Seite erhaelt Aktionen fuer Standard-Provider und Standardmodell; Bridge-Terminalfehler erzeugen weniger Fehlalarme, das Hermes-Agent-Runtime-Paket wechselt auf 0.18.0 und das Website-Versionsmanifest wurde aktualisiert"}};export{e as default};
|
|
1
|
+
var e={login:{title:"Hermes Studio",description:"Geben Sie Benutzername und Passwort ein, um fortzufahren.",placeholder:"Zugangs-Token",submit:"Anmelden",tokenRequired:"Bitte geben Sie Ihren Zugangs-Token ein",invalidToken:"Ungultiger Token",connectionFailed:"Verbindung zum Server nicht moglich",passwordLogin:"Passwort",tokenLogin:"Token",usernamePlaceholder:"Benutzername",passwordPlaceholder:"Passwort",defaultCredentialsHint:"Standard-Benutzername: admin. Standard-Passwort: 123456.",credentialsRequired:"Bitte Benutzername und Passwort eingeben",invalidCredentials:"Ungultiger Benutzername oder Passwort",tooManyAttempts:"Zu viele fehlgeschlagene Versuche, bitte versuchen Sie es spater erneut",lockResetHint:"Wenn dies Ihr Server ist, heben Sie die Login-Sperre auf mit:",defaultLoginResetHint:"Um das Standard-Admin-Passwort zuruckzusetzen, fuhren Sie aus:",desktopLockResetHint:"Too many failed login attempts. Open the system tray menu and choose Reset Login to reset the password.",sessionExpired:"Die Anmeldung ist abgelaufen. Bitte melden Sie sich erneut an.",accessDenied:"Sie haben keine Berechtigung fur diese Ressource.",passwordMismatch:"Passworter stimmen nicht uberein",passwordTooShort:"Passwort muss mindestens 6 Zeichen lang sein",setupSuccess:"Passwort-Login erfolgreich konfiguriert",passwordChanged:"Passwort erfolgreich geandert",passwordRemoved:"Passwort-Login entfernt",setupPassword:"Passwort-Login einrichten",changePassword:"Passwort andern",changeUsername:"Benutzername andern",removePasswordLogin:"Entfernen",username:"Benutzername",currentPassword:"Aktuelles Passwort",newPassword:"Neues Passwort",confirmPassword:"Passwort bestatigen",newUsername:"Neuer Benutzername",usernameChanged:"Benutzername erfolgreich geandert",usernameTooShort:"Benutzername muss mindestens 2 Zeichen lang sein",setupDescription:"Verwalten Sie Benutzername und Passwort fur die Anmeldung.",removeConfirm:"Passwort-Login ist fur Benutzerkonten erforderlich.",passwordLoginNotConfigured:"Passwort-Login ist nicht konfiguriert",passwordLoginConfigured:"Aktuelles Konto: {username}",defaultCredentialTitle:"Standardkonto und Passwort andern",defaultCredentialMessage:"Das aktuelle Konto verwendet noch den Standard-Benutzernamen oder das Standard-Passwort. Um unbefugten Zugriff zu vermeiden, andern Sie Benutzername und Passwort des aktuellen Kontos so bald wie moglich.",defaultCredentialAction:"Jetzt andern",defaultCredentialLater:"Spater erinnern"},users:{title:"Kontoverwaltung",description:"Benutzer erstellen, Rollen zuweisen und steuern, auf welche Profile normale Administratoren zugreifen koennen.",create:"Benutzer erstellen",edit:"Benutzer bearbeiten",username:"Benutzername",role:"Rolle",statusLabel:"Status",profiles:"Zugreifbare Profile",profilesPlaceholder:"Zugreifbare Profile auswaehlen",allProfiles:"Alle Profile",noProfiles:"Keine Profile zugewiesen",lastLogin:"Letzte Anmeldung",newPasswordOptional:"Neues Passwort (leer lassen zum Beibehalten)",loadFailed:"Benutzer konnten nicht geladen werden",deleteConfirm:"Diesen Benutzer loeschen?",enable:"Aktivieren",disable:"Deaktivieren",roles:{superAdmin:"Super Admin",admin:"Admin"},status:{active:"Aktiv",disabled:"Deaktiviert"}},common:{loading:"Laden...",cancel:"Abbrechen",retry:"Erneutern",reset:"Zurücksetzen",delete:"Loschen",edit:"Bearbeiten",save:"Speichern",saved:"Gespeichert",update:"Aktualisieren",create:"Erstellen",saveFailed:"Speichern fehlgeschlagen",deleteFailed:"Loschen fehlgeschlagen",ok:"OK",copied:"Kopiert",copy:"Kopieren",noData:"Keine Daten",fetch:"Abrufen",add:"Hinzufugen",enable:"Aktivieren",disable:"Deaktivieren",configured:"Konfiguriert",notConfigured:"Nicht konfiguriert",confirm:"Bestatigen",expand:"Aufklappen",collapse:"Zuklappen",stop:"Stoppen",start:"Starten",expired:"Abgelaufen"},mcp:{title:"MCP-Server",loadFailed:"MCP-Server konnten nicht geladen werden",reloadAll:"Alle neu laden",refresh:"Aktualisieren",total:"Gesamt",connected:"Verbunden",disconnected:"Getrennt",tools:"werkzeuge",tool:"Werkzeuge",searchPlaceholder:"Server suchen...",addServer:"+ Server hinzufuegen",zeroTools:"0 Werkzeuge",loading:"Wird geladen...",empty:"Keine MCP-Server konfiguriert",reloaded:"{server} neu geladen",reloadedAll:"Alle MCP-Server neu geladen",reloadFailed:"Neuladen fehlgeschlagen",serverAdded:'Server "{name}" hinzugefuegt',addFailed:"Server konnte nicht hinzugefuegt werden",serverUpdated:'Server "{name}" aktualisiert',updateFailed:"Server konnte nicht aktualisiert werden",saveFailed:"Speichern fehlgeschlagen",serverRemoved:'"{name}" entfernt',enabled:"Aktiviert: {name}",disabled:"Deaktiviert: {name}",connectedStatus:"Verbunden",disconnectedStatus:"Getrennt",disabledStatus:"Deaktiviert",toolList:"Werkzeugliste",count:" ",more:"mehr",removeFailed:"Server konnte nicht entfernt werden",testOk:"Test OK — {count} Werkzeuge verfuegbar",testEmpty:"Test lieferte keine Werkzeuge",testFailed:"Test fehlgeschlagen",edit:"Bearbeiten",test:"Testen",reload:"Neu laden",remove:"Entfernen",confirmRemove:'Server "{name}" entfernen?',cancel:"Abbrechen",add:"Hinzufuegen",save:"Speichern",addTitle:"MCP-Server hinzufuegen",editTitle:"MCP-Server bearbeiten",invalidJson:"Ungültiges JSON",invalidYaml:"Ungültiges YAML-Format",invalidConfig:"Ungültige Konfiguration",invalidServerConfig:"Ungültige Serverkonfiguration",missingCommandOrUrl:"Muss command oder url enthalten",manageTools:"Tools verwalten",toolsVisibilityTitle:"Tools-Sichtbarkeit verwalten",fetchTools:"Tools-Liste abrufen",fetchToolsFailed:"Tools-Liste konnte nicht abgerufen werden",toolsMode:"Modus:",toolsModeAll:"Alle",toolsModeInclude:"Einschließen",toolsModeExclude:"Ausschließen",toolsListHeader:"Tool-Name",toolsEmpty:"Keine Tools verfügbar, bitte zuerst die Tools-Liste abrufen",toolsSummaryAll:"{count} Tools insgesamt, alle aktiviert",toolsSummaryInclude:"{total} Tools insgesamt, {count} ausgewählt",toolsSummaryExclude:"{total} Tools insgesamt, {count} ausgeschlossen",toolsVisibilitySaved:"Tools-Sichtbarkeit gespeichert",toolsSelectAll:"Alle auswählen",toolsClearSelection:"Auswahl löschen",toolsExcludeAll:"Alle ausschließen",toolsClearExcluded:"Ausschlüsse löschen"},sidebar:{chat:"Chat",backToChat:"Zuruck",search:"Suche",apiRelay:"API-Relay",history:"Verlauf",jobs:"Geplante Aufgaben",models:"Modelle",profiles:"Profile",plugins:"Plugins",mcp:"MCP",petdex:"Pets",skills:"Fahigkeiten",memory:"Gedachtnis",logs:"Protokolle",usage:"Nutzung",performance:"Leistung",journey:"Lernverlauf",skillsUsage:"Skill-Nutzung",channels:"Kanale",terminal:"Konsole",singleChat:"Chat",globalAgent:"Global Agent",files:"Dateien",devices:"Gerate",groupChat:"Gruppenchat",groupConversation:"Konversation",groupConversationShort:"Konv",groupAgent:"Agent",groupAgentShort:"Agent",groupSystem:"System",groupSystemShort:"Sys",groupMonitoring:"Überwachung",groupMonitoringShort:"Überw.",settings:"Einstellungen",connected:"Verbunden",disconnected:"Getrennt",updateTip:'Fuhren Sie "hermes-web-ui update" im Terminal aus, um zu aktualisieren',updateVersion:"Aktualisieren auf v{version}",reloadClientVersion:"Für v{version} neu laden",updating:"Aktualisierung...",updateSuccess:"Aktualisierung erfolgreich. Bitte aktualisieren Sie die Seite in Kurze. Wenn der Dienst langere Zeit nicht startet, starten Sie ihn manuell.",updateFailed:"Aktualisierung fehlgeschlagen",logout:"Abmelden",nodeVersionWarning:"Node.js v{version} erkannt. Bitte aktualisieren Sie auf Version 23 oder neuer.",changelog:"Anderungsprotokoll",noChangelog:"Kein Anderungsprotokoll verfugbar",versionManagement:"Versionsverwaltung",updateAvailableLabel:"(Neue Version)",dockerUpdateTitle:"Docker-Update",dockerUpdateGuide:"In der Docker-Umgebung bitte das neueste Image pullen und den Container neu erstellen:",dockerUpdateNote:"Ihre Daten bleiben nach dem Neuerstellen des Containers erhalten.",kanban:"Kanban",workflow:"Workflow",groupTools:"Werkzeuge",groupToolsShort:"Tools",codingAgents:"Coding Agents",versionPreview:"Versionsvorschau",groupPlatform:"Plattform",gateways:"Gateways",expand:"Menü ausklappen",collapse:"Menü einklappen"},runtimeVersions:{title:"Versionsverwaltung",runtimeTitle:"Hermes Runtime",webUiTitle:"Web UI",platform:"Plattform",currentWebUi:"Aktuelles Web UI",activeVersion:"Aktive Version",active:"Aktiv",installed:"Installiert",download:"Herunterladen",downloadGithub:"Von GitHub herunterladen",downloadCf:"Von Cloudflare herunterladen",github:"GitHub",cf:"Cloudflare",useVersion:"Beim nächsten Neustart verwenden",deleteVersion:"Löschen",deleteRuntimeConfirm:"Hermes Runtime {version} löschen?",deleteWebUiConfirm:"Web UI {version} löschen?",deleteRuntimeSuccess:"Runtime gelöscht",deleteWebUiSuccess:"Web UI gelöscht",refresh:"Aktualisieren",noVersions:"Keine Versionen verfügbar",remoteLoadFailed:"Remote-Versionen konnten nicht geladen werden",downloadTasks:"Download-Aufgaben",downloadStarted:"Download gestartet",activateSuccess:"Versionsauswahl gespeichert. Starten Sie Hermes Studio neu, um sie zu verwenden.",jobStatus:{queued:"In Warteschlange",running:"Läuft",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},jobStageStatus:{queued:"In Warteschlange",resolve:"Wird aufgelöst",download:"Wird heruntergeladen",verify:"Wird geprüft",extract:"Wird entpackt",install:"Wird installiert",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},jobStage:{queued:"In Warteschlange",download:"Wird heruntergeladen",resolveRuntime:"Runtime-Paket wird aufgelöst",verifyRuntime:"Runtime-Archiv wird geprüft",extractRuntime:"Runtime-Archiv wird entpackt",installRuntime:"Runtime wird installiert",resolveWebUi:"Web-UI-Paket wird aufgelöst",verifyWebUi:"Web-UI-Archiv wird geprüft",extractWebUi:"Web-UI-Archiv wird entpackt",installWebUi:"Web UI wird installiert",completed:"Abgeschlossen",failed:"Fehlgeschlagen"}},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:"Remote",connected:"Verbunden",disconnected:"Getrennt",remoteConnect:"Remote verbinden",remoteConnected:"Remote verbunden",remoteConnectFailed:"Remote-Verbindung fehlgeschlagen",remoteDisconnect:"Trennen",remoteDisconnected:"Remote getrennt",remoteDisconnectFailed:"Remote-Trennung fehlgeschlagen",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:"Geräte",count:"{count} Geräte",lastScanned:"Zuletzt gescannt: {time}",refresh:"Aktualisieren",empty:"Keine Geräte gefunden",computer:"Rechner",endpointLabel:"Endpunkt",statusLabel:"Zustand",online:"Online",offline:"Offline",address:"Adresse",os:"Betriebssystem",agentVersion:"Agent",webUiVersion:"Web UI",responseMs:"Latenz",lastSeen:"Zuletzt gesehen",open:"Öffnen",never:"Nie",unknown:"Unbekannt",loadFailed:"Geräte konnten nicht geladen werden",scanFailed:"Gerätescan fehlgeschlagen",updateFailed:"Gerät konnte nicht aktualisiert werden",duplicateRequest:"Es gibt bereits eine ausstehende Kopplungsanfrage",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:"Verarbeitet",unprocessed:"Unverarbeitet",deleteHistory:"Eintrag löschen",deleteHistoryConfirm:"Diesen Anfrageeintrag löschen und den Verbindungszugriff dieses Geräts widerrufen?",requests:"Anfragen",requestsWithCount:"Anfragen ({count})",noRequests:"Keine Anfragen",requestPairing:"Kopplung anfragen",paired:"Gekoppelt",approve:"Genehmigen",reject:"Ablehnen",block:"Blockieren",unblock:"Blockierung aufheben",inboundStatus:{none:"Anfrage erlaubt",pending:"Ausstehend",approved:"Genehmigt",rejected:"Abgelehnt",blocked:"Blockiert"},outboundStatus:{none:"Nicht gekoppelt",pending:"Angefragt",approved:"Gekoppelt",rejected:"Abgelehnt",blocked:"Blockiert"},endpoint:{web:"Web",desktop:"Desktop-App",custom:"Benutzerdefiniert"}},performance:{title:"Leistung",subtitle:"Systemressourcen, Bridge Broker, Workers und aktive Sitzungen überwachen",refresh:"Aktualisieren",autoRefreshOn:"Automatisch aktualisieren",autoRefreshOff:"Manuell aktualisieren",loadFailed:"Leistungsdaten konnten nicht geladen werden",systemCpu:"System-CPU",systemMemory:"Systemspeicher",activeSessions:"Aktive Sitzungen",runningSessions:"Laufend {count}",workers:"Workers",totalWorkerMemory:"Worker-Gesamtspeicher",processes:"Prozesse",uptime:"Laufzeit",running:"Läuft",stopped:"Gestoppt",workerMemory:"Worker-Speicher",lastUpdated:"Aktualisiert",profile:"Profile",memory:"Speicher",sessions:"Sitzungen",runningActiveSessions:"Laufend / Aktiv",lastUsed:"Zuletzt verwendet",status:"Status",noWorkers:"Keine Workers",sessionsByProfile:"Sitzungen nach Profile",noActiveSessions:"Keine aktiven Sitzungen"},journey:{title:"Lernverlauf",play:"Lernverlauf abspielen",pause:"Lernverlauf pausieren",refresh:"Aktualisieren",categorySelection:"Kategorieauswahl",nodeKinds:"Knotentypen",description:"Beschreibung",canvasInstructions:"Mit den Pfeiltasten Knoten anzeigen, mit Enter Details öffnen und mit Escape die Auswahl löschen.",loadFailed:"Lernverlauf konnte nicht geladen werden",nodes:"Knoten",edges:"Verbindungen",skills:"Skills",memories:"Erinnerungen",clusters:"Cluster",profile:"Profile",source:"Quelle",learnedSkills:"Gelernte Skills",memorySkillEdges:"Erinnerungslinks",allKinds:"Alle Typen",allCategories:"Alle Kategorien",searchPlaceholder:"Knoten suchen",noClusters:"Keine Cluster",noNodes:"Keine Lernverlauf-Knoten",noCategory:"Nicht kategorisiert",category:"Kategorie",useCount:"Nutzung",createdBy:"Erstellt von",timestamp:"Zeit",pinned:"Angeheftet"},drawer:{terminal:"Konsole",files:"Arbeitsbereich"},realtimeVoice:{title:"Echtzeit-Sprache",mode:"Sprachmodus",open:"Echtzeit-Sprache öffnen",back:"Zurück zum Chat",connected:"Sprachverbindung bereit",turnMode:"Echtzeit-Vorschau · rundenbasiert",browserStt:"Browser",browserTts:"Browser",untitledSession:"Unbenannte Unterhaltung",sessionMissing:"Die Unterhaltung ist nicht verfügbar.",networkUnavailableNoFallback:"Die Browser-Spracherkennung ist offline und es ist kein nutzbares Ersatz-STT konfiguriert.",liveTranscript:"Live-Transkript",transcriptPlaceholder:"Sprachkern antippen und zu sprechen beginnen",recentTurns:"Letzte Beiträge",you:"Du",mute:"Ausgabe stummschalten",unmute:"Ton einschalten",finishTurn:"Beitrag beenden",speak:"Sprechen beginnen",end:"Beenden",status:{idle:"Bereit",paused:"Mikrofon aus",listening:"Hört zu",processing:"Transkribiert",thinking:"{agent} denkt nach",speaking:"{agent} spricht",error:"Sprachverbindung unterbrochen"},hint:{idle:"Mitte antippen, um einen Sprachbeitrag zu starten",paused:"Schalte das Mikrofon ein, wenn du bereit bist",listening:"Zum Senden kurz pausieren oder zum Beenden tippen",listeningManual:"Aufnahme läuft. Erneut in die Mitte tippen, um zu stoppen und zu transkribieren",processing:"Deine Sprache wird in Text umgewandelt",thinking:"Deine Nachricht wurde an die Unterhaltung gesendet",speaking:"Du kannst jederzeit unterbrechen",error:"Mitte antippen, um es erneut zu versuchen"}},chat:{contextRemaining:"übrig",contextClickToEdit:"Klicken zum Bearbeiten der Kontextlänge",contextEditTitle:"Kontextlänge bearbeiten",contextEditDesc:"Kontextlängenlimit für aktuelles Modell festlegen (in Tokens)",contextEditPlaceholder:"Kontextlänge eingeben",contextEditHint:"Häufige Werte: 256k (Hermes-Standard), 128k (GPT-4), 32k (GPT-3.5)",contextEditSave:"Speichern",contextEditCancel:"Abbrechen",contextEditInvalid:"Bitte geben Sie eine gültige Kontextlänge ein",contextEditSuccess:"Kontextlänge aktualisiert",contextEditFailed:"Aktualisierung fehlgeschlagen",emptyState:"Starten Sie eine Konversation mit Hermes Agent",emptyStateAgent:"Starten Sie eine Konversation mit {agent}",viewOlderInHistory:"Fruehere Nachrichten im Verlauf ansehen",scrollToBottom:"Nach unten scrollen",outlineTitle:"Konversationsübersicht",outlineEmpty:"Kein Konversationsinhalt",outlineUserQuestion:"Benutzerfrage",inputPlaceholder:"Nachricht eingeben... (Enter zum Senden, Shift+Enter fur neue Zeile)",inputHeightResizeHint:"Zum Andern der Chat-Eingabehohe ziehen, zum Zurucksetzen doppelklicken.",slashCommandArgs:{message:"<Nachricht>",title:"<Titel>",text:"<Text>"},slashCommands:{usage:"Nutzung der aktuellen Sitzung berechnen",status:"Sitzungsstatus und Warteschlange anzeigen",abort:"Aktiven Bridge-Lauf stoppen",queue:"Nachricht hinter dem aktiven Lauf einreihen",learn:"Wiederverwendbaren Skill aus beschriebenen Quellen lernen",plan:"Markdown-Implementierungsplan schreiben",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:"Aktuelle Anzeige leeren",clearHistory:"Gespeicherten Nachrichtenverlauf dieser Sitzung löschen",title:"Diese Sitzung umbenennen",compress:"Kontextkomprimierung im Leerlauf ausführen",steer:"Steuertext an den aktiven Bridge-Lauf senden",destroy:"Bridge-Agent für diese Sitzung freigeben",reloadMcp:"MCP-Server neu laden",reloadSkills:"Skill-Befehle neu laden"},attachFiles:"Dateien anhangen",reasoningEffort:{tooltip:"Denkaufwand",defaultLabel:"Standard",options:{default:"Standard (config.yaml)",none:"Keiner",minimal:"Minimal",low:"Niedrig",medium:"Mittel",high:"Hoch",max:"Max",xhigh:"Sehr hoch"}},showToolCalls:"Tool-Aufrufe anzeigen",hideToolCalls:"Tool-Aufrufe ausblenden",messageQueue:"Nachrichtenwarteschlange",removeQueuedMessage:"Nachricht aus Warteschlange entfernen",stop:"Stopp",send:"Senden",contextUsed:"Kontext verwendet:",sessions:"Sitzungen",webUiSessions:"Sitzungen",allProfiles:"Alle Profile",profileMissingModelsTip:'Profil "{profile}" hat keinen verfuegbaren Provider oder kein Modell fuer diese Sitzung',sessionScopeHint:"Chat zeigt nur Web-UI/API-Server-Sitzungen. CLI-, Telegram-, Discord-, Cron- und andere Kanal-Sitzungen sind schreibgeschützt im Verlauf.",openHistory:"Verlauf öffnen",hermesHistory:"Hermes-Verlauf",historyScopeHint:"Schreibgeschützte Hermes-Verlaufssitzungen des aktuellen Profils, nach Quelle gruppiert.",noSessions:"Keine Sitzungen",newChat:"Neuer Chat",agent:"Agent",approvalKicker:"Terminal-Berechtigung",approvalTitle:"Befehl vor dem Ausführen prüfen",approvalAgree:"Zustimmen",approvalAllowOnce:"Einmal erlauben",approvalAllowSession:"Sitzung erlauben",approvalAlways:"Immer",approvalDeny:"Ablehnen",clarifyKicker:"Agent benötigt Klärung",clarifyTitle:"Der Agent hat eine Frage an Sie",clarifyPlaceholder:"Geben Sie Ihre Antwort ein...",clarifySubmit:"Antworten",clarifyDismiss:"Schließen",deleteSession:"Diese Sitzung loschen?",toggleBatchMode:"Batch-Auswahl",selectAll:"Alle auswählen",confirmBatchDelete:"{count} ausgewählte Sitzungen löschen?",batchDeleteSuccess:"{count} Sitzungen gelöscht",batchDeletePartial:"{failed} Sitzungen konnten nicht gelöscht werden",batchDeleteFailed:"Batch-Löschung fehlgeschlagen",importToWebUi:"In Web UI importieren",importSessionSuccess:"Sitzung in Web UI importiert",importSessionAlreadyExists:"Sitzung existiert bereits in Web UI",importSessionFailed:"Sitzung konnte nicht importiert werden",sessionDeleted:"Sitzung geloscht",rename:"Umbenennen",archiveSession:"Archivieren",unarchiveSession:"Aus Archiv holen",pin:"Anheften",unpin:"Lösen",pinned:"Angeheftet",chatMode:"Chatmodus",liveMode:"Live-Modus",liveSessions:"Live-Sitzungen",recentBadge:"Kürzlich",linkedSessions:"{count} verknüpft",noVisibleMessages:"Keine für Menschen sichtbaren Nachrichten.",monitorRoleUser:"Benutzer",monitorRoleAssistant:"Assistent",copySessionLink:"Sitzungslink kopieren",openSessionInNewTab:"In neuem Tab öffnen",sessionLinkCopied:"Session link copied",copySessionId:"Sitzungs-ID kopieren",export:"Exportieren",editConfig:"Konfiguration bearbeiten",exportFull:"Vollständiger Export (JSON)",exportCompressed:"Komprimierter Export (TXT)",exportCompressing:"Komprimiere Kontext, bitte warten...",exportSuccess:"Sitzung exportiert",exportFailed:"Export fehlgeschlagen",renamed:"Umbenannt",renameFailed:"Umbenennung fehlgeschlagen",sessionArchived:"Sitzung archiviert",archiveSessionFailed:"Sitzung konnte nicht archiviert werden",sessionUnarchived:"Sitzung aus Archiv geholt",unarchiveSessionFailed:"Sitzung konnte nicht aus dem Archiv geholt werden",renameSession:"Sitzung umbenennen",sessionNotFound:"Sitzung nicht gefunden",enterNewTitle:"Neuen Titel eingeben",other:"Sonstige",runFailed:"Ausfuhrung fehlgeschlagen",error:"Fehler",tool:"Werkzeug",arguments:"Argumente",result:"Ergebnis",workspaceChanges:"Workspace-Änderungen",changedFiles:"{files} Dateien geändert",diffUnavailable:"Diff nicht verfügbar",binaryFileDiffUnavailable:"Diff für Binärdateien nicht verfügbar",truncated:"... (abgeschnitten)",unchangedLines:"{count} unveränderte Zeilen",executionDuration:"Ausführungszeit",thinkingLabel:"Denkprozess",thinkingInProgress:"Denkt",thinkingShow:"Denkprozess anzeigen",thinkingHide:"Denkprozess ausblenden",thinkingDuration:"Beobachtet {duration}",thinkingChars:"{count} Zeichen",copyBubble:"Nachricht kopieren",copiedBubble:"Nachricht kopiert",copyFailed:"Kopieren fehlgeschlagen",playSpeech:"Sprache abspielen",pauseSpeech:"Pausieren",resumeSpeech:"Fortsetzen",stopSpeech:"Stoppen",speechNotSupported:"Sprachwiedergabe in diesem Browser nicht unterstützt",searchEnterHint:"Enter zum Öffnen · Esc zum Schließen",searchHint:"Cmd/Ctrl+K",searchScope:"Suchbereich: nur lokale Web-UI-Sitzungsdatenbank; schreibgeschützte Hermes-Verlaufssitzungen sind nicht enthalten.",searchFailed:"Sitzungssuche fehlgeschlagen",searchNoSnippet:"Keine Vorschau verfügbar",searchNoResults:"Keine passenden Sitzungen",searchRecent:"Letzte Sitzung",searchEmpty:"Letzte Sitzungen",searchPlaceholder:"Sitzungen suchen...",searchSubtitle:"Nach Titel oder Nachrichteninhalt suchen",searchTitle:"Sitzungen suchen",stopGateway:"Gateway stoppen",start:"Starten",workspaceSetFailed:"Workspace konnte nicht festgelegt werden",workspaceSet:"Workspace festgelegt",workspacePlaceholder:"Projektpfad eingeben, z. B. /home/user/project",folderPickerEmpty:"(Leer)",folderPickerNoFolders:"Keine Workspace-Ordner",folderPickerSelected:"Ausgewählt:",workspaceDefault:"Standard",workspaceDefaultTooltip:"Dieser Arbeitsbereich ist als Standard festgelegt und wird bei neuen Chats automatisch eingetragen",workspacePin:"Als Standardarbeitsbereich festlegen",workspaceUnpin:"Standardarbeitsbereich entfernen",workspaceRecent:"Zuletzt verwendet",defaultWorkspace:"Standardarbeitsbereich",more:"Mehr",workspace:"Arbeitsbereich",setWorkspaceTitle:"Sitzungs-Workspace festlegen",setWorkspace:"Workspace festlegen",modelSetFailed:"Modell konnte nicht festgelegt werden",modelSet:"Modell festgelegt",modelSwitching:"Modell wird gewechselt...",setModelTitle:"Sitzungsmodell festlegen",standardModels:"Standardmodelle",moaPresets:"MoA-Kombinationen",noMoaPresets:"Keine MoA-Kombinationen verfügbar",modelType:"Modelltyp",setModel:"Modell festlegen",newCliChat:"Neue CLI",cliEmptyState:"CLI-Chat starten",autoPlaySpeech:"Sprache automatisch abspielen",voiceInput:{startCapture:"Sprachaufnahme starten",stopCaptureAndInsert:"Sprachaufnahme stoppen und Transkript in die Eingabe einfuegen",cancelCapture:"Spracheingabe abbrechen",statusLabel:"Status: {status}",transcriptLabel:"Transkript: {text}",errorLabel:"Fehler: {error}",recentEvents:"Letzte Ereignisse",status:{idle:"Bereit",capturing:"Hoert zu",transcribing:"Transkribiert",sending:"Wird in die Eingabe eingefuegt",error:"Fehler"},browserSpeechUnsupported:"Browser-Spracherkennung wird in diesem Browser nicht unterstuetzt.",browserSpeechFailed:"Browser-Spracherkennung fehlgeschlagen.",browserSpeechFailedWithReason:"Browser-Spracherkennung fehlgeschlagen: {error}.",microphoneUnsupported:"Mikrofonaufnahme wird in diesem Browser nicht unterstuetzt.",microphoneRecordingFailed:"Mikrofonaufnahme fehlgeschlagen."}},jobs:{title:"Geplante Aufgaben",createJob:"Aufgabe erstellen",editJob:"Aufgabe bearbeiten",noJobs:"Noch keine geplanten Aufgaben. Erstellen Sie eine, um zu beginnen.",sortBy:"Sortieren",sortByName:"Nach Name",sortByTime:"Nach Datum",sortByNameHint:"Nach Name sortieren",sortByTimeHint:"Nach Datum sortieren",sortAsc:"Aufsteigend",sortDesc:"Absteigend",name:"Name",namePlaceholder:"Aufgabenname",schedule:"Zeitplan (Cron-Ausdruck)",schedulePlaceholder:"z. B. 0 9 * * *",quickPresets:"Schnellvorgaben",selectPreset:"Vorgabe auswahlen...",presetEveryMinute:"Jede Minute",presetEvery5Min:"Alle 5 Minuten",presetEveryHour:"Jede Stunde",presetEveryDay:"Jeden Tag um 00:00",presetEveryDay9:"Jeden Tag um 09:00",presetEveryMonday:"Jeden Montag um 09:00",presetEveryMonth:"Am 1. jedes Monats um 09:00",prompt:"Eingabeaufforderung",promptPlaceholder:"Der auszufuhrende Prompt",skills:"Skills",skillsPlaceholder:"Skills auswählen...",provider:"Provider",model:"Model",defaultProvider:"Default provider",defaultModel:"Default model",deliverTarget:"Zustellziel",origin:"Herkunft",local:"Lokal",repeatCount:"Wiederholungsanzahl (optional)",modelPlaceholder:"Standardmodell",repeatPlaceholder:"Leer lassen fur unendlich",jobCreated:"Aufgabe erstellt",jobUpdated:"Aufgabe aktualisiert",nameRequired:"Name ist erforderlich",scheduleRequired:"Zeitplan ist erforderlich",loadFailed:"Laden der Aufgabe fehlgeschlagen",jobPaused:"Aufgabe pausiert",jobResumed:"Aufgabe fortgesetzt",jobTriggered:"Job ausgelost",modelUpdated:"Modell aktualisiert",jobDeleted:"Aufgabe geloscht",status:{running:"Lauft",paused:"Pausiert",disabled:"Deaktiviert",scheduled:"Geplant"},info:{model:"Modell",provider:"Provider",schedule:"Zeitplan",lastRun:"Letzte Ausfuhrung",nextRun:"Nachste Ausfuhrung",deliver:"Zustellung",repeat:"Wiederholung"},action:{pause:"Pausieren",pauseJob:"Aufgabe pausieren",resume:"Fortsetzen",resumeJob:"Aufgabe fortsetzen",runNow:"Jetzt ausfuhren",triggerImmediately:"Sofort auslösen"},runHistory:{title:"Verlauf",runs:"Läufe",noRuns:"Kein Verlauf gefunden."}},skills:{title:"Fahigkeiten",targetFilter:"Runtime",targets:{hermes:"Hermes",claude:"Claude",codex:"Codex"},searchPlaceholder:"Fahigkeiten suchen...",noMatch:"Keine Fahigkeiten entsprechen Ihrer Suche",noSkills:"Keine Fahigkeiten gefunden",backTo:"Zuruck zu",attachedFiles:"Angehange Dateien",loadFailed:"Laden der Fahigkeit fehlgeschlagen",fileLoadFailed:"Laden der Datei fehlgeschlagen",modified:"Benutzerbearbeitet",archived:"Archiviert",pinned:"Angeheftet",pin:"Fahigkeit anheften",unpin:"Anheften aufheben",pinFailed:"Anheft-Status konnte nicht geandert werden",edit:"Bearbeiten",saving:"Speichern...",editorLabel:"Skill-Editor",saveSuccess:"Skill gespeichert",saveFailed:"Skill konnte nicht gespeichert werden",toggleFailed:"Aktivieren/Deaktivieren der Fahigkeit fehlgeschlagen",source:{builtin:"Integriert",hub:"Hub",local:"Lokal",external:"Extern"},delete:"Löschen",deleteConfirm:'Skill "{name}" löschen? Dies kann nicht rückgängig gemacht werden.',deleteSuccess:"Skill gelöscht",deleteFailed:"Löschen fehlgeschlagen",import:"Importieren",importTitle:"Skill importieren",importModeZip:"Zip",importModeFolder:"Ordner",importHintZip:"Lade ein .zip-Archiv mit einem Verzeichnis hoch, das SKILL.md enthält",importHintFolder:"Wähle einen lokalen Skill-Ordner (muss SKILL.md enthalten)",importTargetCategory:"Zielkategorie (optional)",importTargetCategoryPlaceholder:"Leer lassen, um unter misc abzulegen",importSelectFile:".zip-Datei wählen",importSelectFolder:"Ordner wählen",importInvalidFile:"Nur .zip-Archive werden unterstützt",importFileCount:"Dateien",importNoSelection:"Bitte zuerst Datei oder Ordner wählen",importSuccess:"Skill importiert",importFailed:"Import fehlgeschlagen",path:{local:"Lokal",external:"Extern"},externalDirs:{manage:"Externe Verzeichnisse",title:"Externe Skill-Verzeichnisse verwalten",hint:"Verwaltet config.skills.external_dirs. Unterstützt ~ und $VAR; fehlende Pfade werden ausgegraut.",add:"Verzeichnis hinzufügen",placeholder:"/path/to/skills oder ~/my-skills",empty:"Keine externen Verzeichnisse",missing:"Pfad nicht gefunden",notDir:"Kein Verzeichnis",saveSuccess:"Externe Verzeichnisse gespeichert",saveFailed:"Speichern fehlgeschlagen",loadFailed:"Externe Verzeichnisse konnten nicht geladen werden",removeRow:"Entfernen"},pathCopied:"Pfad kopiert",pathCopyFailed:"Pfad konnte nicht kopiert werden",reloadHint:"Aktive Sitzungen: /reload-skills ausführen; neue Sitzungen laden automatisch.",writeApprovalButton:"Ausstehend {count}",writeApprovalTitle:"Ausstehende Schreibfreigaben",writeApprovalDescription:"Freigeben oder ablehnen, was Hermes Agent fuer Speicher und Skills vorgemerkt hat.",writeApprovalRefresh:"Aktualisieren",writeApprovalEmpty:"Keine ausstehenden Schreibvorgaenge.",writeApprovalUnsupported:"Diese Hermes-Agent-Version unterstuetzt keine Schreibfreigaben. Aktualisiere Hermes Agent, um diese Funktion zu nutzen.",writeApprovalMemory:"Speicher",writeApprovalSkills:"Skills",writeApprovalViewDiff:"Pruefen",writeApprovalHideDiff:"Ausblenden",writeApprovalNoDiff:"Keine Unterschiede verfuegbar.",writeApprovalLoadFailed:"Ausstehende Schreibvorgaenge konnten nicht geladen werden",writeApprovalDiffFailed:"Schreibdetails konnten nicht geladen werden",writeApprovalActionFailed:"Ausstehender Schreibvorgang konnte nicht bearbeitet werden",writeApprovalApproved:"Schreibvorgang freigegeben",writeApprovalRejected:"Schreibvorgang abgelehnt",writeApprovalApprove:"Freigeben",writeApprovalReject:"Ablehnen",writeApprovalPendingMemoryWrite:"Ausstehender Speichereintrag",writeApprovalCurrentFile:"Aktuelle Datei {file}",writeApprovalProposedFile:"Vorgeschlagene Datei {file}",writeApprovalDiffSection:"Diff",writeApprovalPatchOldStringMissing:"Der old_string des Patches wurde in der aktuellen Datei {file} nicht gefunden; eine Freigabe aendert die Datei nicht.",writeApprovalRequestedOldString:"Angefragter old_string",writeApprovalCurrentReadFailed:"Die aktuelle Datei {file} konnte nicht als UTF-8-Text gelesen werden.",writeApprovalDeleteSkill:"Diese Freigabe loescht den Skill {skill}.",writeApprovalRemoveFile:"Diese Freigabe entfernt {file} aus dem Skill {skill}."},plugins:{title:"Plugins",refresh:"Aktualisieren",notice:"Inventar erkennbarer Hermes-Plugin-Manifeste. Discovery-Metadaten werden gelesen, ohne Plugin-Code zu laden. Standalone-Benutzerplugins können hier aktiviert oder deaktiviert werden; Änderungen gelten für neue Hermes-Sitzungen.",loadFailed:"Plugins konnten nicht geladen werden",updateFailed:"Plugin konnte nicht aktualisiert werden",enableSuccess:"{name} aktiviert",disableSuccess:"{name} deaktiviert",commandCopied:"Befehl kopiert",searchPlaceholder:"Key, Name, Beschreibung, Pfad suchen...",source:"Quelle",kind:"Typ",statusTitle:"Status",configStatus:"config: {status}",notAvailable:"n/a",copyCommand:"Befehl kopieren",managedElsewhere:"anderweitig verwaltet",noMatch:"Keine Plugins passen zu den aktuellen Filtern",enabled:"aktiviert",disabled:"deaktiviert",summary:{total:"Gesamt",active:"Aktiviert / auto",inactive:"Inaktiv",disabled:"Deaktiviert",providerManaged:"Provider-verwaltet"},status:{enabled:"Aktiviert","auto-active":"Auto-aktiv",inactive:"Inaktiv",disabled:"Deaktiviert","provider-managed":"Provider-verwaltet"},statusLabel:{enabled:"Per Konfiguration aktiviert","auto-active":"Auto-aktiv",inactive:"Inaktiv",disabled:"Deaktiviert","provider-managed":"Provider-verwaltet"},configStatuses:{enabled:"aktiviert",disabled:"deaktiviert","not-enabled":"nicht aktiviert",auto:"auto","provider-managed":"provider-verwaltet"},table:{plugin:"Plugin",status:"Status",source:"Quelle",kind:"Typ",capabilities:"Fähigkeiten",path:"Pfad / Entry Point",manage:"Verwalten"},capabilities:{tools:"{count} Tools",hooks:"{count} Hooks",env:"{count} env"},metadata:{agentRoot:"Agent-Stammverzeichnis",python:"Python",scanCwd:"Arbeitsverzeichnis scannen",projectPlugins:"Projekt-Plugins"}},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:"Gedachtnis",refresh:"Aktualisieren",loadFailed:"Laden des Gedachtnisses fehlgeschlagen",myNotes:"Meine Notizen",noNotes:"Noch keine Notizen.",notesPlaceholder:"Notizen schreiben...",userProfile:"Benutzerprofil",noProfile:"Noch kein Profil.",profilePlaceholder:"Profil schreiben...",soul:"Seele",noSoul:"Noch keine Seelenkonfiguration.",soulPlaceholder:"Seelenkonfiguration schreiben..."},models:{title:"Modelle",addProvider:"Anbieter hinzufugen",noProviderPromptTitle:"Kein Modellanbieter konfiguriert",noProviderPromptMessage:'Im aktuellen Profil "{profile}" ist kein Modellanbieter konfiguriert. Mochten Sie jetzt die Modelleinstellungen offnen?',noProviderPromptLater:"Nicht jetzt",noProviderPromptAction:"Zu den Einstellungen",refreshModelCache:"Modellcache aktualisieren",refreshModelCacheLoading:"Modellcache wird aktualisiert...",refreshModelCacheSuccess:"Modellcache aktualisiert",refreshModelCacheFailed:"Modellcache konnte nicht aktualisiert werden",providerType:"Anbietertyp",preset:"Vorgabe",custom:"Benutzerdefiniert",selectProvider:"Anbieter auswahlen",chooseProvider:"Anbieter wahlen...",name:"Name",autoGeneratedName:"Automatisch aus Basis-URL generiert",baseUrl:"Basis-URL",region:"Region",regionIntl:"International",regionCn:"Festlandchina",baseUrlPlaceholder:"z. B. https://api.example.com/v1",apiKey:"API-Schlussel",apiKeyPlaceholder:"sk-...",defaultModel:"Standardmodell",selectOrInput:"Modell auswählen oder eingeben...",selectModel:"Modell auswahlen...",providerAdded:"Anbieter hinzugefugt",providerDeleted:"Anbieter geloscht",providerCredentialsCleared:"Anbieter-Zugangsdaten geloscht",clearProviderCredentials:"Zugangsdaten loschen",clearCredentialsConfirm:"Gespeicherte Zugangsdaten fur „{name}“ loschen? Dieser integrierte Anbieter bleibt in der Liste und kann nach erneuter Konfiguration wieder genutzt werden.",disableProvider:"Anbieter deaktivieren",disableProviderConfirm:"Integrierten Anbieter „{name}“ deaktivieren? Der Anbieter bleibt integriert und kann spater wieder aktiviert werden.",providerDisabled:"Anbieter deaktiviert",defaultProviderUpdated:"Standardanbieter aktualisiert",defaultProviderUpdateFailed:"Standardanbieter konnte nicht aktualisiert werden",defaultModelUpdated:"Standardmodell aktualisiert",defaultModelUpdateFailed:"Standardmodell konnte nicht aktualisiert werden",deleteProvider:"Anbieter loschen",deleteConfirm:'Mochten Sie "{name}" wirklich loschen?',codexLoginTitle:"OpenAI Codex Anmeldung",codexWaiting:"Geben Sie diesen Code auf der Autorisierungsseite ein, um sich anzumelden:",codexCopyCode:"Code kopiert",codexOpenLink:"Autorisierungsseite öffnen",codexApproved:"Anmeldung erfolgreich",codexExpired:"Die Autorisierung ist abgelaufen. Bitte versuchen Sie es erneut.",nousLoginTitle:"Nous-Portal-Anmeldung",nousWaiting:"Geben Sie diesen Code auf der Autorisierungsseite ein:",nousCopyCode:"Code kopiert",nousOpenLink:"Autorisierungsseite öffnen",nousApproved:"Login erfolgreich",nousDenied:"Autorisierung wurde abgelehnt",nousExpired:"Autorisierung abgelaufen",copilotLoginTitle:"GitHub Copilot Anmeldung",copilotWaiting:"Öffnen Sie GitHub und geben Sie den unten angezeigten Gerätecode ein. Das Fenster schließt sich automatisch nach Genehmigung.",copilotCopyCode:"Code kopiert",copilotOpenLink:"GitHub-Autorisierungsseite öffnen",copilotApproved:"Anmeldung erfolgreich!",copilotDenied:"Autorisierung abgelehnt.",copilotExpired:"Der Autorisierungslink ist abgelaufen. Bitte erneut versuchen.",copilotAddDetectedTitle:"GitHub Copilot erkannt",copilotAddDetected:'Auf diesem Rechner wurde ein GitHub Copilot OAuth-Token erkannt. Klicken Sie auf „Hinzufügen", um Copilot in Hermes zu aktivieren.',copilotAddSourceEnv:"Quelle: ~/.hermes/.env (COPILOT_GITHUB_TOKEN)",copilotAddSourceGhCli:"Quelle: gh CLI (gh auth token)",copilotAddSourceAppsJson:"Quelle: VS Code Copilot-Erweiterung (apps.json)",copilotDeleteHintEnv:"Dies löscht COPILOT_GITHUB_TOKEN in ~/.hermes/.env. Andere Tools sind nicht betroffen.",copilotDeleteHintGhCli:"Copilot wird aus Hermes ausgeblendet. Ihre gh CLI-Anmeldung bleibt erhalten — `gh auth status` zeigt weiterhin als angemeldet.",copilotDeleteHintAppsJson:"Copilot wird aus Hermes ausgeblendet. Ihre VS Code Copilot-Erweiterung bleibt angemeldet.",customBadge:"BENUTZERDEF.",previewBadge:"VORSCHAU",disabledBadge:"NICHT VERFÜGBAR",disabledTooltip:"Dieses Modell ist für Ihr Konto derzeit nicht verfügbar.",customModelPlaceholder:"Nicht gelistete Modell-ID",customModelHint:"Für vom Provider unterstützte Modelle, die die API nicht zurückgibt; keine Anzeige-Umbenennung. Enter zum Laden.",noProviders:"Keine Anbieter gefunden. Fugen Sie einen benutzerdefinierten Anbieter hinzu, um zu beginnen.",clearVisibleModels:"Auswahl löschen",generalTitle:"Allgemeine Modelle",combinationTitle:"Modell-Ensembles",combinationSubtitle:"MoA-Presets konfigurieren: Referenzmodelle liefern zuerst Perspektiven, danach erstellt ein Aggregatormodell die finale Antwort und Tool-Aufrufe.",combinationPreset:"Preset",combinationName:"Name",combinationAddModel:"Modell-Ensemble hinzufügen",combinationEditModel:"Modell-Ensemble bearbeiten",combinationNewPreset:"Neues Preset",combinationPresetPlaceholder:"z. B. review",combinationAddPreset:"Preset hinzufügen",combinationSetDefault:"Als Standard festlegen",combinationEnabled:"Referenzen aktivieren",combinationReferenceModels:"Referenzmodelle",combinationReferenceModel:"Referenzmodell",combinationAddReference:"Referenzmodell hinzufügen",combinationAggregator:"Aggregatormodell",combinationReferenceTemperature:"Referenztemperatur",combinationAggregatorTemperature:"Aggregatortemperatur",combinationMaxTokens:"Max. Tokens",combinationNotSet:"Nicht festgelegt",combinationSaved:"Modell-Ensemble gespeichert",combinationLoadFailed:"Modell-Ensemble konnte nicht geladen werden",combinationSaveFailed:"Modell-Ensemble konnte nicht gespeichert werden",combinationPresetExists:"Preset existiert bereits",combinationNameRequired:"Namen für das Modell-Ensemble eingeben",combinationNameInvalid:"Der Name darf nur Buchstaben, Zahlen, Unterstriche, Bindestriche und Punkte enthalten",combinationReferenceRequired:"Mindestens ein Referenzmodell hinzufügen",combinationAggregatorRequired:"Aggregatormodell auswählen",auxiliaryTitle:"Hilfsmodelle",auxiliarySubtitle:"Modellüberschreibungen für Nebenaufgaben wie Komprimierung, Vision, Genehmigungen, MCP und Hintergrundwartung.",auxiliaryRefresh:"Aktualisieren",auxiliaryTask:"Aufgabe",auxiliaryTimeout:"Zeitlimit",auxiliaryDownloadTimeout:"Download-Zeitlimit",auxiliaryActions:"Aktionen",auxiliaryDefault:"Standard",auxiliaryCustomEndpoint:"Benutzerdefinierter Endpunkt",auxiliaryProviderAuto:"Automatisch",auxiliaryProviderMain:"Hauptmodell",auxiliaryProviderPlaceholder:"auto, main oder Provider-Key",auxiliaryDownloadShort:"Download",auxiliaryExtraBody:"Extra-Body-JSON",auxiliaryClear:"Zurücksetzen",auxiliarySaved:"Hilfsmodelle gespeichert",auxiliaryLoadFailed:"Hilfsmodelle konnten nicht geladen werden",auxiliarySaveFailed:"Hilfsmodelle konnten nicht gespeichert werden",auxiliaryInvalidExtraBody:"Extra Body muss ein JSON-Objekt sein",auxiliaryTaskCompression:"Komprimierung",auxiliaryTaskVision:"Vision",auxiliaryTaskWebExtract:"Web-Extraktion",auxiliaryTaskSkillsHub:"Skill-Hub",auxiliaryTaskApproval:"Genehmigung",auxiliaryTaskMcp:"MCP",auxiliaryTaskTitleGeneration:"Titelgenerierung",auxiliaryTaskTriageSpecifier:"Triage-Spezifizierung",auxiliaryTaskKanbanDecomposer:"Kanban-Zerlegung",auxiliaryTaskProfileDescriber:"Profilbeschreibung",auxiliaryTaskCurator:"Kurator",auxiliaryTaskSessionSearch:"Sitzungssuche",auxiliaryTaskFlushMemories:"Erinnerungen schreiben",currentDefault:"Aktueller Standard",defaultShort:"Standard",setDefaultProvider:"Als Standardanbieter festlegen",setDefault:"Als Standard festlegen",builtIn:"Integriert",customType:"Benutzerdefiniert",provider:"Anbieter",contextLength:"Kontextlange",contextLengthPlaceholder:"z.B. 256000 (optional)",apiMode:"API-Modus",local:"Lokal ({host})",selectProviderRequired:"Bitte wahlen Sie einen Anbieter",baseUrlRequired:"Basis-URL ist erforderlich",apiKeyRequired:"API-Schlussel ist erforderlich",modelRequired:"Standardmodell ist erforderlich",enterBaseUrl:"Bitte geben Sie zuerst die Basis-URL ein",unexpectedFormat:"Unerwartetes Antwortformat",foundModels:"{count} Modelle gefunden",fetchFailed:"Abrufen der Modelle fehlgeschlagen",xaiWaiting:"Schließen Sie die Autorisierung auf der geöffneten xAI-Seite ab. Das Fenster schließt sich nach der Freigabe automatisch.",xaiOpenLink:"xAI-Autorisierungsseite öffnen",xaiLoginTitle:"xAI Grok OAuth-Anmeldung",xaiExpired:"Der Autorisierungslink ist abgelaufen. Bitte erneut versuchen.",xaiCopyLink:"Autorisierungslink kopieren",xaiApproved:"Anmeldung erfolgreich!",anthropicLoginTitle:"Claude OAuth-Anmeldung",anthropicWaiting:"Schließen Sie die Autorisierung auf der Claude-Seite ab und fügen Sie den zurückgegebenen Code hier ein.",anthropicOpenLink:"Claude-Autorisierungsseite öffnen",anthropicCopyLink:"Autorisierungslink kopieren",anthropicCodePlaceholder:"Autorisierungscode einfügen...",anthropicSubmitCode:"Code senden",anthropicApproved:"Anmeldung erfolgreich!",anthropicExpired:"Die Autorisierung ist abgelaufen. Bitte erneut versuchen.",visibilitySelectOne:"Mindestens ein sichtbares Modell behalten",visibilitySaved:"Sichtbare Modelle gespeichert",visibilitySaveFailed:"Sichtbare Modelle konnten nicht gespeichert werden",visibilityHint:"Wirkt sich nur auf Modellauswahl und Modellseite der Web UI aus. Die provider/model-Konfiguration der Hermes CLI wird nicht geändert; Aufrufe verwenden weiterhin die ursprüngliche Modell-ID.",showAllModels:"Alle Modelle anzeigen",searchPlaceholder:"Modelle suchen...",noResults:"Keine Ergebnisse",noModels:"Keine Modelle",removeCustomModel:"Dieses nicht gelistete Modell entfernen",refresh:"Modellliste aktualisieren (config.yaml neu laden)",more:"weitere",models:"Modellliste",manageVisibleModelsFor:"Sichtbare Modelle für {name} verwalten",manageVisibleModels:"Sichtbare Modelle verwalten",getApiKey:"API Key abrufen",count:"Modelle",aliasUseOriginal:"Ursprüngliche ID wiederherstellen",aliasTitleFor:"Anzeigename für {model}",aliasTitle:"Modell-Anzeigename",aliasSaveFailed:"Anzeigename konnte nicht gespeichert werden",aliasPlaceholder:"Leer lassen, um die ursprüngliche Modell-ID zu verwenden",aliasManageFor:"Anzeigenamen für {provider}",aliasManage:"Anzeigenamen",aliasHint:"Ändert nur den Anzeigenamen in der Web UI. Hermes erhält weiterhin die ursprüngliche Modell-ID.",aliasEdit:"Umbenennen",aliasCanonical:"Original-ID: {model}"},profiles:{title:"Profile",create:"Profil erstellen",import:"Importieren",export:"Exportieren",rename:"Umbenennen",delete:"Loschen",switchTo:"Hermes Profile wechseln",switchConfirm:"Dies fuehrt `hermes profile use {name}` aus und aendert das aktive Hermes CLI Profile. Fortfahren?",switchSuccess:'Aktives Hermes Profile ist jetzt "{name}"',switchFailed:"Hermes Profile konnte nicht gewechselt werden. Das Gateway muss eventuell manuell neu gestartet werden.",createSuccess:'Profil "{name}" erstellt',createFailed:"Erstellen des Profils fehlgeschlagen",renameSuccess:"Profil umbenannt",renameFailed:"Umbenennung des Profils fehlgeschlagen",deleteConfirm:'Mochten Sie das Profil "{name}" wirklich loschen?',deleteSuccess:"Profil geloscht",deleteFailed:"Loschen des Profils fehlgeschlagen",exportSuccess:"Profil exportiert",exportFailed:"Exportieren des Profils fehlgeschlagen",importSuccess:"Profil importiert",importFailed:"Importieren des Profils fehlgeschlagen",importSelectFile:"Archivdatei auswahlen",importInvalidFile:"Bitte wahlen Sie ein gultiges Archiv (.tar.gz, .tgz, .gz, .zip)",name:"Profilname",namePlaceholder:"Nur Buchstaben, Zahlen und Bindestriche",nameValidation:"Profilname darf nur Kleinbuchstaben, Zahlen, Unterstriche und Bindestriche enthalten",newName:"Neuer Name",newNamePlaceholder:"Neuen Namen eingeben",cloneFromCurrent:"Aus aktuellem Profil klonen",cloneCleanupNotice:"Beim Klonen werden exklusive Plattform-Anmeldeinformationen (Weixin / Telegram / Slack usw.) automatisch übersprungen, um Konflikte mit dem Quellprofil zu vermeiden",cloneStrippedCredentials:"{count} exklusive Anmeldeinformation(en) entfernt: {list}",cloneDisabledPlatforms:"{count} Plattform(en) deaktiviert: {list}",cloneStrippedConfigCredentials:"{count} eingebettete Anmeldeinformation(en) aus config.yaml entfernt: {list}",archivePath:"Archivpfad",archivePathPlaceholder:"Serverpfad zur Archivdatei",importName:"Profilname (optional)",importNamePlaceholder:"Leer lassen, um den Archivnamen zu verwenden",active:"Aktiv",model:"Modell",gateway:"Gateway",alias:"Alias",provider:"Anbieter",path:"Pfad",skills:"Fahigkeiten",hasEnv:"Hat .env",hasSoulMd:"Hat soul.md",noProfiles:"Keine Profile gefunden. Erstellen Sie eines, um zu beginnen.",avatar:{title:"Eigenes Avatar",customize:"Avatar anpassen",upload:"Bild hochladen",random:"Zufällig erzeugen",reset:"Standard wiederherstellen",hint:"PNG, JPEG oder WebP, maximal 1 MB",invalidType:"Bitte ein PNG-, JPEG- oder WebP-Bild wählen",tooLarge:"Das Avatar-Bild darf höchstens 1 MB groß sein",saveSuccess:"Avatar gespeichert",saveFailed:"Avatar konnte nicht gespeichert werden",resetSuccess:"Standard-Avatar wiederhergestellt",resetFailed:"Standard-Avatar konnte nicht wiederhergestellt werden"},runtime:{activeProfile:"Aktuell: {name}",bridgeWorker:"Bridge-Status",gateway:"Gateway",active:"Aktiv",activeTag:"Aktuell",idle:"Leerlauf",checking:"Prüfung läuft",running:"Läuft",stopped:"Gestoppt",restartGateway:"Gateway neu starten",restartProfile:"Profil neu starten",switchProfile:"Frontend-Profil wechseln",gatewayRestarted:"Gateway neu gestartet: {name}",gatewayRestartFailed:"Gateway-Neustart fehlgeschlagen",profileRestarted:"Profil neu gestartet: {name}",profileRestartFailed:"Profil-Neustart fehlgeschlagen"}},logs:{title:"Protokolle",all:"Alle",searchPlaceholder:"Suchen...",refresh:"Aktualisieren",noEntries:"Keine Protokolleintrage"},settings:{title:"Einstellungen",saved:"Gespeichert",saveFailed:"Speichern fehlgeschlagen",tabs:{display:"Anzeige",account:"Aktuelles Konto",users:"Kontoverwaltung",agent:"Agent",proxy:"Proxy",memory:"Gedachtnis",compression:"Komprimierung",session:"Sitzung",privacy:"Datenschutz",apiServer:"API-Server",models:"Modelle",voice:"Sprache"},display:{streaming:"Streaming-Antworten",streamingHint:"KI-Antworten in Echtzeit anzeigen",compact:"Kompaktmodus",compactHint:"Nachrichtenabstand reduzieren",showReasoning:"Schlussfolgerung anzeigen",showReasoningHint:"Denkprozess des Modells anzeigen",showCost:"Kosten anzeigen",showCostHint:"Token-Nutzung in Antworten anzeigen",inlineDiffs:"Inline-Diffs",inlineDiffsHint:"Codeanderungen inline anzeigen",bellOnComplete:"Abschluss-Signalton",bellOnCompleteHint:"Ton abspielen, wenn die KI fertig ist",notifyOnComplete:"Abschluss-Benachrichtigung",notifyOnCompleteHint:"Systembenachrichtigung anzeigen, wenn die KI fertig ist",notifyOnCompleteMacHint:"Unter macOS Browserbenachrichtigungen in den Systemeinstellungen erlauben.",notifyOnCompleteDenied:"Benachrichtigungsberechtigung wurde verweigert",notifyOnCompleteInsecure:"Browserbenachrichtigungen erfordern HTTPS oder localhost",notifyOnCompleteUnsupported:"Dieser Browser unterstuetzt keine Benachrichtigungen",notifyOnCompleteTest:"Benachrichtigungen aktiviert.",notifyOnCompleteTestButton:"Test",notifyOnCompleteTesting:"Sende Testbenachrichtigung...",notifyOnCompleteTestSent:"Testbenachrichtigung gesendet",notifyOnCompleteTestFailed:"Testbenachrichtigung konnte nicht gesendet werden",busyInputMode:"Eingabemodus bei Beschaftigung",busyInputModeHint:"Eingabe erlauben, wahrend die KI verarbeitet",theme:"Design",themeHint:"Hell, Dunkel oder Systemeinstellung verwenden",themeLight:"Hell",themeDark:"Dunkel",themeSystem:"System",chatInputHeight:"Chat-Eingabehöhe",chatInputHeightHint:"Standardhöhe der Chat-Eingabe auf dem Desktop in Pixeln. Mobil bleibt die Höhe automatisch."},agent:{maxTurns:"Maximale Runden",maxTurnsHint:"Maximale Interaktionsrunden pro Konversation",gatewayTimeout:"Gateway-Timeout",gatewayTimeoutHint:"Anfrage-Timeout in Sekunden",restartDrainTimeout:"Neustart-Drain-Timeout",restartDrainTimeoutHint:"Drain-Timeout vor Neustart in Sekunden",toolEnforcement:"Werkzeuferzwingung",toolEnforcementHint:"Ausfuhrungsmodus fur Werkzeugaufrufe steuern",auto:"Automatisch",always:"Immer",never:"Nie"},gatewayAutoStart:{title:"Gateway-Autostart",description:"Legt fest, welche lokalen Hermes-Profile-Gateways die Web UI beim Start startet. Diese Einstellung wird in der Web-UI-Konfiguration gespeichert, nicht in der profile config.yaml.",enabled:"Gateways automatisch starten",enabledHint:"Wenn deaktiviert, startet die Web UI beim Start kein Profile-Gateway automatisch.",management:"Vereinheitlichtes Gateway",managementHint:"Erfordert Hermes Agent 0.17.0 oder neuer. Wenn aktiviert, schreibt die Web UI multiplex_profiles, damit das default gateway alle Profile bedient; andere Profile konnen keine separaten Feishu-, Weixin-, QQBot- oder ahnlichen Messaging-Einstiegspunkte konfigurieren. Beim Deaktivieren wird diese Einstellung entfernt.",managementAuto:"Automatisch",managementPerProfile:"Ein Gateway pro Profil",managementUnified:"Vereinheitlichtes default gateway",mode:"Profilrichtlinie",modeHint:"Alle gefundenen Profile starten oder nur die explizite Einschlussliste.",modeAll:"Alle gefundenen Profile",modeInclude:"Nur eingeschlossene Profile",include:"Eingeschlossene Profile",includeHint:"Kommagetrennte Profilnamen. Im Einschlussmodus startet eine leere Liste keine Profile.",exclude:"Ausgeschlossene Profile",excludeHint:"Kommagetrennte Profilnamen, die nach der Einschluss-/Alle-Richtlinie übersprungen werden.",profileListPlaceholder:"default, reviewer"},proxy:{title:"Gateway-Proxy",description:"Proxy-Umgebungsvariablen fur das ausgewahlte Profil-Gateway festlegen. Anderungen starten das Gateway neu, damit Messaging-Plattformen die neuen Netzwerkeinstellungen verwenden.",httpsProxy:"HTTPS_PROXY",httpsProxyHint:"Proxy fur HTTPS-Anfragen. Meist der wichtigste Wert.",httpProxy:"HTTP_PROXY",httpProxyHint:"Proxy fur normale HTTP-Anfragen.",allProxy:"ALL_PROXY",allProxyHint:"Fallback-Proxy, wenn kein protokollspezifischer Proxy gesetzt ist.",noProxy:"NO_PROXY",noProxyHint:"Kommagetrennte Hosts oder Domains, die den Proxy umgehen.",save:"Proxy-Einstellungen speichern"},memory:{enabled:"Gedachtnis aktivieren",enabledHint:"KI erlauben, den Konversationskontext zu merken",userProfile:"Benutzerprofil",userProfileHint:"KI erlauben, Benutzereinstellungen zu merken",charLimit:"Zeichenlimit fur Gedachtnis",charLimitHint:"Maximale Zeichen fur MEMORY.md",userCharLimit:"Zeichenlimit fur Benutzerprofil",userCharLimitHint:"Maximale Zeichen fur USER.md"},compression:{enabled:"Komprimierung aktivieren",enabledHint:"Langen Chatverlauf automatisch komprimieren, bevor der Modellkontext uberschritten wird",threshold:"Komprimierungsschwelle",thresholdHint:"Komprimierung starten, wenn geschatzte Token dieses Kontextverhaltnis uberschreiten",targetRatio:"Zielverhaltnis",targetRatioHint:"Zielgroße des Verlaufs nach der Komprimierung als Kontextverhaltnis",protectLastN:"Neueste Nachrichten schutzen",protectLastNHint:"So viele neueste Nachrichten unkomprimiert lassen",protectFirstN:"Erste Nachrichten schutzen",protectFirstNHint:"So viele erste Nachrichten unkomprimiert lassen"},session:{mode:"Zurucksetzungsmodus",modeHint:"Ausloser fur Sitzungszurucksetzung",modeBoth:"Inaktivitat + Geplant",modeIdle:"Nur Inaktivitat",modeDaily:"Nur Geplant",modeNone:"Nie (nur manuell)",idleMinutes:"Inaktivitats-Timeout",idleMinutesHint:"Wartezeit vor automatischer Zurucksetzung (Minuten)",atHour:"Geplante Zurucksetzungszeit",humanOnly:"Nur menschliche Sitzungen anzeigen",humanOnlyHint:"Unteragenten- und Sitzungsmonitor-Rauschen standardmäßig ausblenden",liveMonitorHumanOnly:"Live-Monitor: nur menschliche Sitzungen anzeigen",liveMonitorHumanOnlyHint:"Im Live-Monitor Unteragenten- und Sitzungsmonitor-Rauschen standardmäßig ausblenden",atHourHint:"Sitzung taglich zu dieser Stunde zurucksetzen",requireAuth:"Sitzungsautorisierung",requireAuthHint:"Erfordert Autorisierung für Sitzungsvorgänge",memoryWriteApproval:"Speicherschreibungen pruefen",memoryWriteApprovalHint:"Hermes-Agent-Speicherschreibungen vor dem Speichern zur Freigabe vormerken.",skillsWriteApproval:"Skill-Schreibungen pruefen",skillsWriteApprovalHint:"Hermes-Agent-Skill-Aenderungen vor dem Speichern zur Freigabe vormerken.",writeApprovalTitle:"Ausstehende Schreibfreigaben",writeApprovalDescription:"Freigeben oder ablehnen, was Hermes Agent fuer Speicher und Skills vorgemerkt hat.",writeApprovalRefresh:"Aktualisieren",writeApprovalEmpty:"Keine ausstehenden Schreibvorgaenge.",writeApprovalMemory:"Speicher",writeApprovalSkills:"Skills",writeApprovalViewDiff:"Pruefen",writeApprovalHideDiff:"Ausblenden",writeApprovalNoDiff:"Keine Unterschiede verfuegbar.",writeApprovalLoadFailed:"Ausstehende Schreibvorgaenge konnten nicht geladen werden",writeApprovalDiffFailed:"Schreibdetails konnten nicht geladen werden",writeApprovalActionFailed:"Ausstehender Schreibvorgang konnte nicht bearbeitet werden",writeApprovalApproved:"Schreibvorgang freigegeben",writeApprovalRejected:"Schreibvorgang abgelehnt",writeApprovalApprove:"Freigeben",writeApprovalReject:"Ablehnen",writeApprovalPendingMemoryWrite:"Ausstehender Speichereintrag",writeApprovalCurrentFile:"Aktuelle Datei {file}",writeApprovalProposedFile:"Vorgeschlagene Datei {file}",writeApprovalDiffSection:"Diff",writeApprovalPatchOldStringMissing:"Der old_string des Patches wurde in der aktuellen Datei {file} nicht gefunden; eine Freigabe aendert die Datei nicht.",writeApprovalRequestedOldString:"Angefragter old_string",writeApprovalCurrentReadFailed:"Die aktuelle Datei {file} konnte nicht als UTF-8-Text gelesen werden.",writeApprovalDeleteSkill:"Diese Freigabe loescht den Skill {skill}.",writeApprovalRemoveFile:"Diese Freigabe entfernt {file} aus dem Skill {skill}."},privacy:{redactPii:"Personliche Daten maskieren",redactPiiHint:"Sensible Informationen automatisch erkennen und ausblenden (Passworter, Schlussel usw.)"},apiServer:{enable:"Aktivieren",enableHint:"API-Server aktivieren",host:"Host",hostHint:"Listen-Adresse",port:"Port",portHint:"Listen-Port",key:"Schlussel",keyHint:"API-Zugangsschlussel",cors:"CORS-Ursprunge",corsHint:"Erlaubte Cross-Origin-Quellen"},voice:{activeTtsApi:"Aktive TTS-API",activeSttApi:"Aktive STT-API",ttsProvidersTitle:"TTS-Anbieter",ttsProvidersDescription:"Verwalte Text-zu-Sprache-Integrationen fuer die Wiedergabe von Assistentenantworten und Sprachvorschauen.",sttProvidersTitle:"STT-Anbieter",sttProvidersDescription:"Verwalte Sprache-zu-Text-Integrationen fuer Mikrofon und Spracheingabe.",noneSelected:"Nichts ausgewaehlt",keyStored:"Gespeichert",keyMissing:"Fehlt",customApi:"API",localBuiltin:"Lokal integriert",ttsCardHint:"Sprachsynthese-Anbieter",sttCardHint:"Transkriptionsanbieter",setActive:"Aktiv setzen",testAction:"Testen",connect:"Verbinden",presetEdgeTtsLabel:"Edge TTS",presetEdgeTtsDescription:"Kostenlose hochwertige Cloud-Stimmen von Microsoft Edge.",presetOpenaiTtsLabel:"OpenAI TTS",presetMimoTtsLabel:"MiMo TTS",presetDoubaoTtsLabel:"Volcengine Doubao TTS",presetCustomTtsLabel:"Benutzerdefiniertes TTS",presetBrowserSttLabel:"Browser-STT",presetBrowserSttDescription:"Native Spracherkennungs-API des Browsers.",presetOpenaiWhisperLabel:"OpenAI Whisper",presetGroqSttLabel:"Groq STT",presetDoubaoSttLabel:"Volcengine Doubao STT",presetCustomSttLabel:"Benutzerdefiniertes STT",apiCompatibility:"API-Kompatibilitaet",openaiCompatible:"OpenAI-kompatibel",manualCustomEndpoint:"Manueller benutzerdefinierter Endpoint",connectionStep:"Verbindung",discoveryManualHint:"Manueller benutzerdefinierter Endpoint ausgewaehlt. Modell-Erkennung ist nicht verfuegbar; gib den Modellnamen manuell ein.",discoveryCredentialHint:"Gib Base URL und API-Key ein und verbinde dann, um verfuegbare Modelle abzurufen.",discoveryNoAutoProbeHint:"Beim Tippen werden keine Anfragen gesendet. Nutze Connect, wenn die Zugangsdaten bereit sind.",apiKeyConnectPlaceholder:"API-Key zum Verbinden einfuegen; gespeicherte Keys werden nie angezeigt",connectFetchModels:"Verbinden & Modelle abrufen",modelRecommendedSuffix:"empfohlen",modelConnectManualHint:"Zum automatischen Ausfuellen verbinden oder manuell eingeben.",modelRequiredConnectManual:"Modell ist erforderlich. Verbinde zum automatischen Ausfuellen oder gib es manuell ein.",apiKeyRequired:"API-Key ist erforderlich.",apiKeyRequiredForDiscovery:"API-Key ist erforderlich, um Modelle abzurufen.",baseUrlRequired:"Base URL ist erforderlich.",baseUrlHttpsRequired:"Bitte verwende http:// oder https://.",baseUrlInvalid:"Gib eine gueltige Base URL mit https:// ein.",discoveryFailedManualFallback:"Modelle konnten nicht abgerufen werden. Du kannst den Modellnamen weiterhin manuell eingeben.",completeRequiredProviderFields:"Fuellen Sie die erforderlichen Provider-Felder vor dem Speichern aus.",fetchingModels:"Modelle werden abgerufen...",recommendedModel:"Empfohlen: {model}.",useRecommendedModel:"Dieses verwenden.",modelsDiscovered:"{count} Modelle gefunden. Das empfohlene Modell wird ausgewaehlt, wenn das Feld leer ist.",remove:"Entfernen",testSuccess:"Test abgeschlossen",testTextRequired:"Gib vor dem Testen Text ein.",keyMissingForTest:"Fuege vor dem Testen dieses Anbieters einen API-Key hinzu.",testing:"Test laeuft...",transcribing:"Transkription laeuft...",browserSttTestHint:"Browser-STT wird ueber das Chat-Mikrofon getestet.",sttEmptyAudio:"Es wurde kein Audio aufgenommen. Versuche es erneut.",sttTestSuccess:"Transkription abgeschlossen",sttRecordingHint:"Aufnahme laeuft... klicke auf Stoppen, um zu transkribieren.",keepStoredKeyPlaceholder:"Leer lassen, um den gespeicherten Key zu behalten",apiKeyPlaceholder:"API-Key eingeben",lastTest:"Letzter Test",notTested:"—",recording:"Aufnahme",testFailedShort:"Fehlgeschlagen",testFailedSummary:"Test fehlgeschlagen. Pruefe die Anbieter-Einstellungen und versuche es erneut.",showDetails:"Details anzeigen",hideDetails:"Details ausblenden",moreActions:"Mehr",moreActionsFor:"Weitere Aktionen fuer {provider}",addTtsApi:"TTS-API hinzufuegen",addSttApi:"STT-API hinzufuegen",active:"Aktiv",builtin:"Integriert",connected:"Verbunden",disconnected:"Getrennt",source:"Quelle",model:"Modell",voice:"Stimme",doubaoVoiceHint:"Seed TTS 2.0 Stimme auswaehlen; das Resource-Feld wird automatisch angepasst.",apiKey:"API-Key",confirmDeleteSecret:"Gespeicherten API-Key fuer diese Sprach-API loeschen?",ttsTitle:"Text-zu-Sprache",ttsSaved:"TTS-Einstellungen auf dem Server gespeichert",ttsSaveFailed:"TTS-Einstellungen konnten nicht gespeichert werden",ttsTestSaved:"Anhoeren erfolgreich; TTS-Einstellungen auf dem Server gespeichert",ttsTestSaving:"TTS-Einstellungen werden vor dem Anhoeren gespeichert...",ttsMissingBaseUrl:"Base URL ist vor dem Testen erforderlich. Gib einen Anbieter-Endpunkt ein und teste erneut.",ttsMissingApiKey:"API-Key ist vor dem Testen erforderlich. Fuege den Key ein oder speichere zuerst einen serverseitig gespeicherten Key.",ttsCleared:"Gespeicherter TTS-Key geloescht",ttsClearFailed:"Gespeicherter TTS-Key konnte nicht geloescht werden",storedBaseUrlsTitle:"Gespeicherte Base URLs",storedBaseUrlsHint:"Gespeicherte Voice-Provider-Endpoints. Die Felder oben löschen nur den aktuellen Wert; gespeicherte URLs hier löschen.",storedBaseUrlsEmpty:"Keine benutzerdefinierten Voice Base URLs auf dem Server gespeichert.",storedBaseUrlDelete:"URL löschen",storedApiKeysTitle:"Gespeicherte API keys",storedApiKeysHint:"Maskierte Liste der serverseitig gespeicherten Voice-API-Keys. Es werden nur Nutzung und Quelle angezeigt; der vollständige key nie.",storedApiKeysEmpty:"Keine Voice-API keys auf dem Server gespeichert.",storedKeyKindTts:"TTS",storedKeyKindStt:"STT",storedApiKeyMasked:"[stored]",storedApiKeyDelete:"Key löschen",baseUrlPresetClear:"URL löschen",baseUrlPresetCleared:"Base-URL aus dem Feld gelöscht.",baseUrlPresetDelete:"URL löschen",baseUrlPresetDeleted:"Base-URL aus der gespeicherten Liste entfernt.",baseUrlPresetDeleteFailed:"Gespeicherte Base-URL konnte nicht entfernt werden.",ttsPendingSecret:"Neuer Key wird gespeichert",ttsStoredSecret:"Server hat einen Key gespeichert: {value}",ttsClearKey:"Gespeicherten Key loeschen",sttTitle:"Sprache-zu-Text",sttProvider:"STT-Anbieter",sttProviderHint:"Waehle, wie Spracheingaben transkribiert werden",sttProviderBrowser:"Browser",sttProviderOpenai:"OpenAI-kompatibel",sttProviderCustom:"Benutzerdefiniert",sttBrowserHint:"Verwende die integrierte Browser-Spracherkennung, wenn verfuegbar.",sttApiKey:"API-Key",sttApiKeyHint:"Serverseitig fuer STT-Anbieter gespeichert, die Authentifizierung benoetigen.",sttStoredSecret:"Gespeicherter Server-Key: {value}",sttPendingSecret:"Gespeicherter Server-Key: wird beim Speichern aktualisiert",sttClearKey:"Gespeicherten Key loeschen",sttModel:"Modell",sttModelHint:"Zu verwendendes Sprache-zu-Text-Modell.",sttLanguage:"Sprache",sttLanguageHint:"Optionaler Sprachhinweis wie en oder zh.",sttPrompt:"Prompt",sttPromptHint:"Optionaler Transkriptions-Prompt.",sttAudioTranscode:"Audio-Transkodierung",sttAudioTranscodeNone:"Originalaudio senden",sttAudioTranscodeFfmpeg:"Mit ffmpeg in WAV konvertieren",sttBaseUrl:"Base URL",sttBaseUrlHint:"Benutzerdefinierter OpenAI-kompatibler Sprache-zu-Text-Endpunkt.",sttSave:"STT-Einstellungen speichern",sttSaved:"STT-Einstellungen auf dem Server gespeichert.",sttSaveFailed:"STT-Einstellungen konnten nicht gespeichert werden.",sttCleared:"Gespeichertes STT-Secret vom Server geloescht.",sttClearFailed:"Gespeichertes STT-Secret konnte nicht geloescht werden.",sttActiveSaved:"Aktiver STT-Anbieter auf dem Server gespeichert.",sttSaveActive:"Aktiven STT-Anbieter speichern",sttEndpointHint:"Finaler Transkriptions-Endpunkt: {endpoint}",sttTestTitle:"Sprache-zu-Text testen",sttTestButton:"STT-API testen",sttTestStopButton:"Stoppen und transkribieren",sttTestBackendOnly:"Der STT-API-Test ist fuer OpenAI-kompatible und benutzerdefinierte Anbieter verfuegbar.",sttTestRecording:"Testaufnahme laeuft... klicke danach auf Stoppen und transkribieren.",sttTestTranscribing:"Testaufnahme wird transkribiert...",sttTestEmpty:"Fuer den STT-Test wurde kein Audio aufgenommen.",sttTestSucceeded:"STT-Test erfolgreich.",sttTestFailed:"STT-Test fehlgeschlagen: {error} — {hint}",sttFailureHintMissingConfig:"Pruefe, ob der Anbieter vor dem Test mit Base URL/Modell und API-Key gespeichert wurde.",sttFailureHintAuth:"Pruefe den API-Key. Wenn bereits ein Key gespeichert war, fuege den aktuellen Key erneut ein und speichere vor dem Test.",sttFailureHintForbidden:"Der Key hat den Anbieter erreicht, hat aber keine Berechtigung fuer dieses STT-Modell oder Konto. Pruefe Zugriff/Abrechnung beim Anbieter.",sttFailureHintEndpointModel:"Pruefe Base URL und Modell. Fuer Groq verwende {endpoint} mit whisper-large-v3-turbo oder einem anderen Groq-STT-Modell.",sttFailureHintModel:"Pruefe, ob das ausgewaehlte STT-Modell existiert und fuer dieses Konto aktiviert ist.",sttFailureHintQuota:"Der Anbieter meldet Probleme mit Kontingent, Abrechnung oder Rate Limit. Pruefe Kontingent/Abrechnung oder versuche es spaeter erneut.",sttFailureHintNetworkCustom:"Der Server konnte den benutzerdefinierten STT-Endpunkt nicht erreichen. Pruefe, ob {endpoint} vom Web-UI-Server aus erreichbar und OpenAI-kompatibel ist.",sttFailureHintNetwork:"Der Web-UI-Server konnte den STT-Anbieter nicht erreichen. Pruefe Netzwerk/Proxy/Firewall und versuche es erneut.",sttFailureHintAudio:"Das aufgenommene Audio war leer oder wurde abgelehnt. Versuche eine kurze, klare Aufnahme, erlaube Mikrofonzugriff oder nutze Chrome.",sttFailureHintGenericCustom:"Pruefe API-Key, Base URL, Modell und den finalen Endpunkt {endpoint}.",sttFailureHintGeneric:"Pruefe API-Key, Modell und Anbieter-Kontozugriff und versuche es erneut.",sttTestRecordFailed:"Mikrofonaufnahme konnte nicht gestartet werden: {error}",sttTestTranscript:"Transkript: {text}",ttsProvider:"TTS-Anbieter",ttsProviderHint:"Waehlen Sie die Sprachsynthese-Engine fuer die Nachrichtenwiedergabe",providerWebSpeech:"WebSpeech API (Browser)",providerOpenai:"OpenAI TTS",providerCustom:"Benutzerdefinierter Endpunkt (OpenAI-kompatibel)",providerEdge:"Edge TTS (Kostenlos, kein API-Key erforderlich)",webspeechVoice:"Stimme",webspeechVoiceHint:"Waehlen Sie eine Stimme aus Ihrem Browser oder Betriebssystem",webspeechVoicePlaceholder:"Auto (Standardstimme)",openaiKey:"API-Key",openaiKeyHint:"Ihr OpenAI API-Key mit TTS-Zugriff",openaiUrl:"API-Basis-URL",openaiUrlHint:"z.B. https://api.openai.com/v1/audio/speech",openaiModel:"Modell",openaiModelHint:"tts-1 (schneller) / tts-1-hd (hoehere Qualitaet)",openaiVoice:"Stimme",openaiVoiceHint:"Stimme fuer die Synthese",customHint:"Jede OpenAI-kompatible TTS-API verwenden — funktioniert mit GPT-SoVITS, CosyVoice, usw.",customUrl:"API-URL",customUrlHint:"Basis-URL Ihres TTS-Dienstes",customUrlPlaceholder:"Die im lokalen Adapter konfigurierte Adresse, z.B. http://127.0.0.1:9880",customApiKey:"API-Key (optional)",customApiKeyHint:"Einige benutzerdefinierte Endpunkte erfordern Authentifizierung",customApiKeyPlaceholder:"Leer lassen wenn nicht benoetigt",edgeHint:"Angetrieben von Microsoft Edge TTS (node-edge-tts).",edgeUrl:"Adapter-URL",edgeUrlHint:"Adresse des Edge TTS-Adapters, z.B. http://127.0.0.1:9882",edgeUrlPlaceholder:"http://127.0.0.1:9882",edgeVoice:"Stimme",edgeVoiceHint:"Waehlen Sie eine Stimme fuer die Sprachsynthese",edgeRate:"Geschwindigkeit",edgeRateHint:"Sprachgeschwindigkeit anpassen (0,5x ~ 2,0x)",edgePitch:"Tonhöhe",edgePitchHint:"Tonhöhe anpassen (-20 ~ +20 Hz)",testTitle:"Sprachtest",testText:"Testtext",testTextPlaceholder:"Text zum Testen eingeben...",testTextDefault:"Hallo, dies ist ein Sprachtest.",testButton:"Testen",testButtonPlaying:"Wiedergabe...",testFailed:"Test fehlgeschlagen: {error}",providerMimo:"MiMo TTS",mimoHint:"Xiaomi MiMo TTS — unterstützt Voreingestellte Stimmen, Stimmdesign und Stimmklonung",mimoApiKey:"API-Schluessel",mimoApiKeyHint:"Holen Sie sich Ihren Schluessel auf platform.xiaomimimo.com",mimoApiKeyPlaceholder:"MiMo API-Schluessel",mimoAuthMode:"Authentifizierungsmodus",mimoAuthModeHint:"Header-Format, das der ausgewählte MiMo-Endpunkt erwartet",mimoAuthModeBearer:"Bearer-Token (Authorization)",mimoAuthModeApiKey:"API-key-Header (api-key)",mimoAuthModeBoth:"Beide Header",mimoBaseUrl:"Basis-URL",mimoBaseUrlHint:"MiMo API-Endpunkt-URL",mimoModel:"Modell",mimoModelHint:"Sprachsynthesemodell auswählen",mimoModelPreset:"Voreingestellte Stimmen",mimoModelVoiceDesign:"Stimmdesign",mimoModelVoiceClone:"Stimmklonung",mimoVoice:"Stimme",mimoVoiceHint:"Voreingestellte Stimme auswählen",mimoVoiceDesignPrompt:"Stimmbeschreibung",mimoVoiceDesignPromptHint:"Beschreiben Sie die gewünschten Stimmmerkmale",mimoVoiceDesignPromptPlaceholder:"Z.B.: Eine warme junge Frauenstimme, etwas langsam, mit magnetischem Ton",mimoCloneAudio:"Audio hochladen",mimoCloneAudioHint:"Audio-Beispiel für Stimmklonung hochladen (mp3/wav, max. 10 MB)",mimoCloneAudioUpload:"Datei auswählen",mimoCloneAudioClear:"Löschen",mimoStylePrompt:"Stil-Eingabe",mimoStylePromptHint:"Optional — beschreiben Sie den Sprechstil in natürlicher Sprache",mimoStylePromptPlaceholder:"Z.B.: Heller, lebhafter Ton, schnelles Tempo"},lockedIps:{title:"Gesperrte IPs",count:"{count} gesperrt",empty:"Keine gesperrten IPs",unlock:"Entsperren",unlockAll:"Alle entsperren",unlockAllConfirm:"Alle gesperrten IPs entsperren?",unlocked:"IP entsperrt",allUnlocked:"{count} IPs entsperrt",type:{password:"Password",token:"API token",pairing:"Device pairing"}},userAvatar:{title:"Benutzeravatar",upload:"Bild hochladen",random:"Zufällig generieren",reset:"Auf Standard zurücksetzen",hint:"Unterstützt PNG, JPEG und WebP bis 1 MB; wird automatisch auf unter 500 KB komprimiert.",invalidType:"Bitte wählen Sie ein PNG-, JPEG- oder WebP-Bild aus",tooLarge:"Das Avatarbild darf höchstens 1 MB groß sein",saveSuccess:"Avatar gespeichert",saveFailed:"Avatar konnte nicht gespeichert werden",resetSuccess:"Avatar wurde zurückgesetzt",resetFailed:"Avatar konnte nicht zurückgesetzt werden"},models:{apiKey:"API Key",apiKeyPlaceholder:"API Key eingeben",noProviders:"Keine Provider konfiguriert",save:"Speichern",saveFailed:"Speichern fehlgeschlagen",saved:"Gespeichert"}},githubPreview:{title:"Versionsvorschau",description:"Klont den ausgewählten GitHub-Tag in den Web-UI-Vorschaubereich, installiert Abhängigkeiten und startet ihn mit den Entwicklungsports.",refresh:"Aktualisieren",selectTag:"Tag auswählen",prepare:"Code vorbereiten",install:"Abhängigkeiten installieren",start:"Vorschau starten",stop:"Stoppen",note:"Der Vorschaucode wird im Web-UI-Datenverzeichnis gespeichert. Produktion bleibt auf Port 8648; die Vorschau nutzt Frontend 8651 und Backend 8650.",path:"Vorschaupfad",webuiHome:"Vorschau-Datenverzeichnis",currentTag:"Aktueller Tag",repoReady:"Repository bereit",dependencies:"Abhängigkeiten installiert",running:"Status",notRunning:"Nicht gestartet",open:"Vorschau öffnen",log:"Pfad zum Aktionslog",logOutput:"Logausgabe",actionLog:"Aktionslog",devLog:"Dev-Server-Log",yes:"Ja",no:"Nein",actionFailed:"Aktion fehlgeschlagen",nodeEnvironmentMissing:"Node/npm wurde nicht erkannt. Bitte installiere Node.js und versuche es erneut.",prepareSuccess:"Vorschaucode ist bereit",installSuccess:"Abhängigkeiten installiert",startSuccess:"Vorschau abgeschlossen",stopSuccess:"Vorschau gestoppt"},codingAgents:{title:"Coding Agents",notice:"Nicht alle Anbieter und Modelle sind kompatibel.",claudeDescription:"Anthropic CLI fur einmalige Print-Mode-Aufgaben und interaktive Coding-Sitzungen.",codexDescription:"OpenAI CLI und Hermes openai-codex Anbieter-Flow fur Repository-Aufgaben.",copyCommand:"Kopieren",commandCopied:"Befehl kopiert",commandCopyFailed:"Kopieren fehlgeschlagen",refresh:"Aktualisieren",checking:"Prufen",installStatus:"Installationsstatus",installed:"Installiert",notInstalled:"Nicht installiert",installRequired:"{agent} ist nicht installiert. Installiere es, bevor du eine Sitzung erstellst.",installNow:"Installieren",installing:"Installiere",installSuccess:"Installiert",installFailed:"Installation fehlgeschlagen",installFailedHermesHint:"Installation fehlgeschlagen. Bitte Hermes, es fur dich zu installieren.",installFailureReason:"Grund",nodeEnvironmentMissing:"Node/npm wurde nicht erkannt. Bitte installiere Node.js und versuche es erneut.",deleteNow:"Loschen",deleting:"Losche",deleteSuccess:"Gelöscht",deleteFailed:"Loschen fehlgeschlagen",configFiles:"Konfigurationsdateien",profileScope:"Profil",providerScope:"Anbieter",providerPlaceholder:"z. B. custom:glm",modelScope:"Modell",modelPlaceholder:"Modell auswahlen",launchModeScope:"Startmodus",launchModeGlobal:"Globale Konfiguration",launchModeScoped:"Anbieter und Modell",protocolScope:"Protokoll",protocolOpenAiChat:"OpenAI Chat Completions (/v1/chat/completions)",protocolOpenAiResponses:"OpenAI Responses (/v1/responses)",protocolAnthropicMessages:"Anthropic Messages (/v1/messages)",reloadConfig:"Konfiguration neu laden",configFileNotCreated:"Nicht erstellt",configLoadFailed:"Konfigurationsdatei konnte nicht gelesen werden",loadFailed:"Coding Agents konnten nicht gepruft werden",launch:"Starten",launchTitle:"Coding Agent starten",nativeTerminal:"Natives Terminal",builtInTerminal:"Integriertes Terminal",launchPrepared:"Startkonfiguration vorbereitet",launchPrepareFailed:"Startkonfiguration konnte nicht vorbereitet werden",nativeLaunchStarted:"Natives Terminal geoffnet",nativeLaunchFailed:"Natives Terminal konnte nicht geoffnet werden",terminalTitle:"Coding-Agent-Terminal",loadProvidersFailed:"Anbieter fur das aktuelle Profil konnten nicht geladen werden",selectProviderModel:"Anbieter und Modell auswahlen",launchConfigDir:"Start-Konfigurationsordner",launchCommand:"Startbefehl",table:{tool:"Tool",kind:"Schritt",command:"Befehl",note:"Hinweis",action:"Aktion"},kinds:{install:"Installation",auth:"Auth",health:"Status",run:"Ausfuhren"},notes:{claudeInstall:"Installiert die Claude Code CLI global.",codexInstall:"Installiert die Codex CLI global.",claudeAuth:"Prüft den Claude Code Login-Status; bei fehlendem Login einmal claude ausfuhren.",codexAuth:"Fugt Hermes-verwaltete OpenAI Codex OAuth-Zugangsdaten hinzu.",claudeHealth:"Prüft Updater und lokale CLI-Gesundheit.",codexHealth:"Bestatigt, dass die Codex CLI im PATH verfugbar ist.",claudeRun:"Print mode ist der sauberste Weg fur API-gesteuerte Einmalaufgaben.",codexRun:"Codex-Einmalaufgaben mussen in einem Git-Repository laufen."}},platform:{requireMention:"Erwahnung {'@'} erfordern",requireMentionGroup:"Erwahnung {'@'} in Gruppen erfordern zum Antworten",requireMentionChannel:"Erwahnung {'@'} in Kanalen erfordern zum Antworten",requireMentionRoom:"Erwahnung {'@'} in Raumen erfordern zum Antworten",reactions:"Reaktionen",reactionsHint:"Auf Nachrichten mit Emoji reagieren",freeResponseChats:"Frei antwortende Chats",freeResponseChatsHint:"Chat-IDs, die ohne {'@'}Erwahnung antworten (komma-getrennt)",freeResponseChannels:"Frei antwortende Kanale",freeResponseChannelsHint:"Kanal-IDs, die ohne {'@'}Erwahnung antworten (komma-getrennt)",freeResponseRooms:"Frei antwortende Raume",freeResponseRoomsHint:"Raum-IDs, die ohne {'@'}Erwahnung antworten (komma-getrennt)",mentionPatterns:"Benutzerdefinierte Erwahnungsmuster",mentionPatternsHint:"Zusatzliche Auslosermuster",autoThread:"Auto-Thread",autoThreadHint:"Automatisch Antwort-Threads nach {'@'}Erwahnung erstellen",autoThreadHintRoom:"Automatisch Antwort-Threads in Raumen erstellen",dmMentionThreads:"DM-Erwahnungs-Threads",dmMentionThreadsHint:"Thread-Antworten fur Erwahnungen in DMs verwenden",allowBots:"Bot-Nachrichten erlauben",allowBotsHint:"Auf Nachrichten von anderen Bots antworten",allowedChannels:"Erlaubte Kanale",allowedChannelsHint:"Whitelist der Kanal-IDs (komma-getrennt)",ignoredChannels:"Ignorierte Kanale",ignoredChannelsHint:"Kanale, in denen der Bot nie antwortet (komma-getrennt)",noThreadChannels:"Thread-lose Kanale",noThreadChannelsHint:"Kanale, in denen der Bot ohne Threads antwortet (komma-getrennt)",exclusiveTokenWarning:"Diese Plattform verwendet einen exklusiven Token-Lock. Jedes Profil muss einen anderen Identitäts-Token verwenden, um Konflikte mit anderen Profilen zu vermeiden.",botToken:"Bot-Token",botTokenHint:"Bot-Token vom Entwicklerportal",proxyUrl:"Proxy-URL",proxyUrlHint:"Optionaler plattformspezifischer Proxy. Unterstutzt http://, https:// und socks5://",accessToken:"Zugangs-Token",accessTokenHint:"Matrix-Zugangs-Token",homeserver:"Homeserver-URL",homeserverHint:"Matrix-Homeserver-URL",matrixUserId:"Matrix-Benutzer-ID",matrixUserIdHint:"Pflicht bei Passwort-Login, optional mit Zugangs-Token",matrixPassword:"Matrix-Passwort",matrixPasswordHint:"Alternative zum Zugangs-Token",appId:"App-ID",appIdHint:"Feishu App-ID",appSecret:"App-Geheimnis",appSecretHint:"Feishu App-Geheimnis",encryptKey:"Verschlüsselungsschlüssel",encryptKeyHint:"Feishu-Verschlüsselungsschlüssel",verificationToken:"Verifizierungs-Token",verificationTokenHint:"Feishu-Verifizierungs-Token",clientId:"Client-ID",clientIdHint:"DingTalk Client-ID",clientSecret:"Client-Geheimnis",clientSecretHint:"DingTalk Client-Geheimnis",cardTemplateId:"KI-Karten-Vorlagen-ID",cardTemplateIdHint:"DingTalk KI-Karten-Vorlagen-ID; leer lassen, um KI-Karten zu deaktivieren",botId:"Bot-ID",botIdHint:"WeCom Bot-ID",wecomSecretHint:"WeCom Bot-Geheimnis",waEnabled:"WhatsApp aktivieren",waEnabledHint:"WhatsApp uber QR-Code-Kopplung aktivieren",weixinToken:"Weixin-Token",weixinTokenHint:"Von Weixin-CLI QR-Anmeldung (hermes weixin)",accountId:"Konto-ID",accountIdHint:"Weixin-Konto-ID",qrLogin:"QR-Anmeldung",qrRelogin:"Erneut anmelden",qrFetching:"QR-Code wird abgerufen...",qrScanHint:"Mit WeChat scannen zum Anmelden",qrScanedHint:"Gescannt, bitte auf dem Gerat bestatigen...",qqSandboxHint:"Sandbox-Umgebung aktivieren (für Tests)",qqSandbox:"Sandbox-Modus",qqQrScanHint:"QR-Code oben mit QQ scannen oder Link auf dem Telefon öffnen, um die Bindung abzuschließen",qqMarkdownHint:"Markdown-formatierte Nachrichten aktivieren (einige Clients unterstützen dies möglicherweise nicht)",qqMarkdown:"Markdown-Unterstützung",qqAppSecretHint:"App Secret des QQ Open Platform Bots",qqAppSecret:"App-Geheimnis",qqAppIdHint:"App-ID des QQ Open Platform Bots",qqAppId:"App-ID",allowedUsersHint:"Whitelist für Benutzer-IDs oder OpenIDs, durch Kommas getrennt",allowedUsers:"Erlaubte Benutzer",allowAllUsersHint:"Nachrichten von beliebigen Benutzern erlauben; deaktiviert lassen, um die Allowlist zu verwenden",allowAllUsers:"Alle Benutzer erlauben"},language:{label:"Sprache",zh:"中文",en:"English",de:"Deutsch"},terminal:{sessions:"Sitzungen",newTab:"Neues Terminal",closeSession:"Diese Sitzung schliessen?",sessionExited:"Beendet",processExited:"Prozess beendet mit Code {code}",noSessions:"Keine Terminal-Sitzungen",connectionFailed:"Terminaldienstverbindung fehlgeschlagen",connectionClosed:"Terminalverbindung geschlossen",connectionError:"Terminalverbindungsfehler"},usage:{title:"Nutzungsstatistiken",refresh:"Aktualisieren",totalTokens:"Gesamt-Tokens",inputTokens:"Eingabe",outputTokens:"Ausgabe",totalSessions:"Gesamt-Sitzungen",avgPerDay:"~{n}/Tag Durchschn.",estimatedCost:"Gesch. Kosten",cacheHitRate:"Cache-Trefferquote",modelBreakdown:"Modellaufschluesselung",agentBreakdown:"Agent-Aufschluesselung",agents:{hermes:"Hermes Agent",claudeCode:"Claude Code",codex:"Codex",ekkoAgent:"Ekko Agent",unknown:"Unbekannt"},dailyTrend:"Tagliche Nutzung",date:"Datum",tokens:"Tokens",cache:"Cache",cacheRead:"Cache gelesen",cacheWrite:"Cache geschrieben",sessions:"Sitzungen",cost:"Kosten",noData:"Keine Nutzungsdaten"},skillsUsage:{title:"Skill-Nutzung",subtitle:"Skill-Ladevorgänge und -Bearbeitungen aus Hermes-Sitzungen verfolgen",refresh:"Aktualisieren",periodSelector:"Zeitraum der Skill-Nutzung",periodLabel:"{days} T",summary:"Zusammenfassung",totalActions:"Aktionen",loads:"Laden",edits:"Änd.",distinctSkills:"Skillzahl",topSkills:"Top-Skills",dailyTrend:"Trend",periodSummary:"Letzte {days} Tage",skill:"Fähigkeit",share:"%",lastUsed:"Zuletzt",noData:"Keine Skill-Nutzungsdaten",loadFailed:"Skill-Nutzung konnte nicht geladen werden",otherSkills:"Andere Skills"},workflow:{actions:{importWorkflow:"Workflow importieren",exportWorkflow:"Workflow exportieren",imported:"Workflow importiert",exported:"Workflow exportiert",importFailed:"Workflow-Import fehlgeschlagen",exportFailed:"Workflow-Export fehlgeschlagen"},stats:{nodes:"Knoten",edges:"Verbindungen"},evidence:{ariaLabel:"Workflow-Ausführungsdetails",title:"Ausführungsdetails",count:"{count} Einträge",intro:"Zeigt Pfadentscheidungen, Schleifendurchläufe und außergewöhnliche Knoten dieses Laufs.",empty:"Keine Ausführungsdetails",loadFailed:"Gespeicherte Ausführungsdetails konnten nicht geladen werden",node:"Außergewöhnlicher Knoten",edge:"Pfad",loop:"Schleife",pathTitle:"{source} → {target}",loopPass:"Schleifendurchlauf {count}",exceptionalNode:"Dieser Knoten wurde nicht normal abgeschlossen.",technical:"Technische Informationen",recordId:"Datensatz-ID",sequence:"Reihenfolge",rawStatus:"Rohstatus",rawRoute:"Route",rawReason:"Grund",iterationPath:"Iterationspfad",statuses:{taken:"Verwendet",notTaken:"Nicht verwendet",evaluationFailed:"Auswertung fehlgeschlagen",timedOut:"Zeitüberschreitung",blocked:"Blockiert"},routes:{success:"Nach Erfolg fortgesetzt",failure:"Nach Fehler fortgesetzt",always:"Unabhängig vom Ergebnis fortgesetzt"},reasons:{evaluationFailed:"Routenauswertung fehlgeschlagen",conditionNotMatched:"Bedingung traf nicht zu",iterationLimitReached:"Maximale Durchlaufzahl erreicht",routeNotMatched:"Route traf nicht zu"},loopOutcomes:{continued:"Bedingung erfüllt; nächster Durchlauf",iterationLimitReached:"Bei maximaler Durchlaufzahl beendet",conditionNotMatched:"Wegen nicht erfüllter Bedingung beendet",finished:"Schleife beendet"}},edgeEditor:{title:"Verbindung bearbeiten",guideIntro:"Eine Verbindung wird nur verwendet, wenn Route und optionale Bedingung passen. Ohne Inhaltsprüfung wählen Sie „Nur Route“.",route:"Route",routes:{success:"Nur bei Erfolg (success)",failure:"Nur bei Fehler (failure)",always:"Immer (always)"},routeHelp:"Zuerst wird das Ergebnis des Quellknotens geprüft; eine vorhandene Bedingung muss zusätzlich passen.",routeExample:"Beispiel: success für den Normalfall, failure für Fehlerbehandlung, always für Aufräumarbeiten.",conditionPath:"Was soll diese Verbindung prüfen?",conditionPathPlaceholder:"Erweiterter Pfad, z. B. output",conditionPathOptions:{routeOnly:"Nur Route — keine Inhaltsprüfung",outputRecommended:"Erfolgreicher Antworttext (output, empfohlen)",output:"Erfolgreicher Antworttext (output)",errorRecommended:"Fehlertext (error, empfohlen)",error:"Fehlertext (error)",custom:"Eigener Pfad (erweitert)"},conditionPathHelp:{success:"Für success wird output empfohlen. Wählen Sie „Nur Route“, wenn der Antwortinhalt egal ist.",failure:"Für failure wird error empfohlen. Wählen Sie „Nur Route“, wenn der Fehlertext egal ist.",always:"Für erfolgreiche Antworten output, für Fehler error; „Nur Route“ überspringt die Inhaltsprüfung."},operator:"Operator",operators:{equals:"Gleich (equals)",not_equals:"Ungleich (not_equals)",contains:"Enthält (contains)",not_contains:"Enthält nicht (not_contains)",exists:"Existiert (exists)",not_exists:"Existiert nicht (not_exists)",greater_than:"Größer als (greater_than)",greater_than_or_equal:"Größer oder gleich (greater_than_or_equal)",less_than:"Kleiner als (less_than)",less_than_or_equal:"Kleiner oder gleich (less_than_or_equal)",in:"In Liste (in)",not_in:"Nicht in Liste (not_in)"},operatorHelp:{equals:"Wert und Typ müssen exakt gleich sein.",not_equals:"Wert oder Typ sind verschieden.",contains:"Text enthält Text oder ein Array enthält den Eintrag.",not_contains:"Text oder Array enthält den Eintrag nicht.",exists:"Passt, wenn der Pfad existiert; kein Wert nötig.",not_exists:"Passt, wenn der Pfad fehlt; kein Wert nötig.",greater_than:"Beide Seiten müssen JSON-Zahlen sein; Istwert ist größer.",greater_than_or_equal:"Beide Seiten müssen JSON-Zahlen sein; Istwert ist größer oder gleich.",less_than:"Beide Seiten müssen JSON-Zahlen sein; Istwert ist kleiner.",less_than_or_equal:"Beide Seiten müssen JSON-Zahlen sein; Istwert ist kleiner oder gleich.",in:"Wert muss ein JSON-Array sein, das den Istwert enthält.",not_in:"Wert muss ein JSON-Array sein, das den Istwert nicht enthält."},value:"Wert",invalidConditionValue:"Der Bedingungswert muss gültiges JSON sein",conditionValuePlaceholder:'JSON: "Text", 42, true, ["a"]',valueType:"Werttyp",valueTypes:{string:"Zeichenfolge",number:"Zahl",boolean:"Boolescher Wert",null:"Null",array:"Array",object:"Objekt"},valueTypeHelp:"Legt fest, wie der Wert gelesen und geprüft wird. Der Typ wird aus dem gespeicherten JSON-Wert abgeleitet und nicht separat gespeichert.",conditionValuePlaceholders:{string:"Text, z. B. APPROVED",number:"Zahl, z. B. 42",boolean:"true oder false",null:"null",array:'JSON-Array, z. B. ["a", 2]',object:`JSON-Objekt, z. B. {'{'}"status":"ready"{'}'}`},invalidValueTypes:{string:"Der Wert muss Text sein.",number:"Der Wert muss eine gültige Zahl sein.",boolean:"Der Wert muss true oder false sein.",null:"Der Wert muss null sein.",array:"Der Wert muss ein gültiges Array sein.",object:"Der Wert muss ein gültiges Objekt sein."},valueHelp:"Einen Wert des gewählten Typs eingeben. Objekte und Arrays verwenden JSON; Zeichenfolgen werden ohne JSON-Anführungszeichen eingegeben.",feedback:"Feedback-Schleife",feedbackHelp:"Kennzeichnet diese Rückverbindung als begrenzte Schleife. Sie läuft nur weiter, wenn Route und Bedingung passen.",maxIterations:"Maximale Iterationen",maxIterationsHelp:"Gesamtzahl der Schleifendurchläufe von 1 bis 100; zusätzlich gilt das globale Ausführungsbudget.",invalidIterations:"Maximale Iterationen müssen eine ganze Zahl zwischen 1 und 100 sein",loopId:"Schleifenkennung",loopIdPlaceholder:"Automatisch wählen oder eigene ID eingeben",loopIdAutomatic:"Automatisch (empfohlen) · {id}",loopIdHelp:"Dient nur zur Kennzeichnung im Ausführungsverlauf und ändert nicht, wann die Schleife läuft. Normalerweise automatisch lassen.",invalidLoopId:"Ungültiges Format der Schleifen-ID"},node:{approvalRequired:"Freigabe nach Lauf",join:"Zusammenführung",joinAll:"Alle eingehenden Routen",joinAny:"Beliebige eingehende Route",joinAllHelp:"Wird nur ausgeführt, wenn alle eingehenden Routen genommen werden; sonst übersprungen.",joinAnyHelp:"Wird bei der ersten genommenen Route einmal ausgeführt; nur übersprungen, wenn keine passt."},status:{pending_approval:"Wartet auf Freigabe",approval_rejected:"Freigabe abgelehnt"}},changelog:{new_0_6_30_1:"Diese Version umfasst alle 21 nach 0.6.29 zusammengeführten PRs: Workflow-Orchestrierung, MoA-Sitzungen, Echtzeit-Sprache, dauerhaften Speicher, Provider-Stabilität, MCU-Einrichtung und Windows-Optimierungen",new_0_6_30_2:"Workflow-Orchestrierung v2 ergänzt bedingte Routen für Erfolg, Fehler und Immer, echtes Überspringen, All/Any-Verknüpfungen, begrenzte Rückkopplungsschleifen, Ausführungsnachweise, Fristen und portable Importe (#2073)",new_0_6_30_3:"Aktivierte MoA-Presets können beim Erstellen oder Wechseln von Hermes-Chatsitzungen gewählt werden; Name, Standard, Kontextfenster und Laufzeitverhalten werden korrekt übernommen (#2078)",new_0_6_30_4:"Der erste Bildschirm lädt deutlich weniger JavaScript, da Markdown, Mermaid, Monaco, inaktive Sprachen und optionale Overlays erst bei Bedarf geladen werden (#2068)",new_0_6_30_5:"Einzelchats bieten jetzt einen Vollbild-Echtzeit-Sprachmodus mit Live-Transkription, gereihter Sprachausgabe, Werkzeugaktivität und Unterbrechungssteuerung (#2063)",new_0_6_30_6:"Echtzeit-Sprache arbeitet auf Desktop und Mobilgeräten zuverlässiger, erholt sich nach Stille, nimmt keine Assistentensprache auf, nutzt den aktiven STT-Fallback und hält Freigaben sichtbar (#2064, #2067)",new_0_6_30_7:"Ekko Agent erhält dauerhaften, abgegrenzten Speicher, stellt aktiven Provider und Modell im Laufzeitkontext bereit und behandelt die Produktions-Speicherdatenbank sicherer (#2057, #2060, #2071)",new_0_6_30_8:"Profile ohne konfigurierten Provider erhalten nun einen direkten Einrichtungsdialog, der das Provider-Formular öffnet (#2070)",new_0_6_30_9:"Provider-Modellkataloge sind mit Hermes Agent abgeglichen; Live-Erkennung hat Vorrang, ohne dass veraltete Fallback-Caches Aktualisierungen verdecken (#2051)",new_0_6_30_10:"Aliase benutzerdefinierter Provider bleiben über geladene Chatverläufe stabil und verhindern unnötige Client-Neuaufbauten sowie verlorene Request-Header (#2054)",new_0_6_30_11:"Modellwechsel zeigen nun einen blockierenden Fortschrittsstatus; Gesprächswechsel spielen die Einblendung erneut ab, ohne Entwürfe oder Anhänge neu einzuhängen (#2056, #2069)",new_0_6_30_12:"Die Journey-Graph-Erkundung ergänzt Mehrfachauswahl von Kategorien, eigene Formen für Skills und Memory, Vorschauen sowie bessere Tastatur- und Touchsteuerung (#2055)",new_0_6_30_13:"Markdown-Downloads behalten Dateiendungen, mobile Transkription erhält klare Start-/Stoppsteuerungen und Scoped-Codex-Streaming dupliziert keine endgültigen Assistentenantworten mehr (#2058, #2066)",new_0_6_30_14:"MCU-Einrichtung und Zuverlässigkeit verbessern sich durch sichtbare Gerätecodes, automatische Mikrofonauswahl, synchronisierte Trennungen und zeitlich begrenzte TLS-Erkennung (#2049, #2059, #2062)",new_0_6_30_15:"Windows-Chats blenden beim Erfassen von Workspace-Änderungen in Git- oder normalen Verzeichnissen keine Git-Konsolenfenster mehr ein (#2080)",new_0_6_29_1:"Diese Version umfasst alle 14 nach 0.6.28 zusammengeführten PRs: einheitliche Oberflächen, MCU-Audio und v2-Hardware, Workspace-Diffs, Nutzungsanalyse, Docker-Updates und MiMo-Stimmklonen",new_0_6_29_2:"Gemeinsame Seitenköpfe, dunkle Flächen und Radien folgen nun einem visuellen System; die Versionsvorschau sortiert gültige Tags semantisch (#2014, #2015)",new_0_6_29_3:"Die ESP32-Produktseite wurde responsiv überarbeitet und der Website-Versionswähler enthält jetzt Hermes Agent 0.18.2 (#2020, #2042)",new_0_6_29_4:"ESP32-C3 v1 nutzt für Uplink-Audio IMA-ADPCM mit etwa einem Viertel der Bandbreite und zwei Minuten Aufnahmelimit; das OLED kehrt nach Statusmeldungen zur LAN-IP zurück (#2024, #2025)",new_0_6_29_5:"Workspace-Diffs sind standardmäßig eingeklappt und filtern Änderungen mit null Zeilen; der normale dunkle Chat-Eingabehintergrund ist wiederhergestellt (#2032)",new_0_6_29_6:"Session-Exporte tolerieren fehlerhafte Prozentzeichen in Dateinamen; Docker-Upgrades zeigen Pull-/Recreate-Hinweise statt npm im Container zu verändern (#2026, #2033)",new_0_6_29_7:"Bridge-Tool-Ergebnisse bleiben vollständig gespeichert, werden im Modellkontext aber auf eine 5.500-Zeichen-Kopf-/Endzusammenfassung begrenzt (#2036)",new_0_6_29_8:"Die Nutzungsanalyse vereint Modellaufrufe von Hermes Agent, Claude Code, Codex und Ekko Agent und ergänzt eine Agent-Verteilung (#2039)",new_0_6_29_9:"Ein separates ESP32-C3-v2-Firmwareziel ergänzt die neue Pinbelegung ohne v1 zu ändern; v2 startet bei 80 % Lautstärke mit 1,5-facher PCM-Verstärkung und Soft-Limiting (#2044, #2045)",new_0_6_29_10:"MiMo-Stimmklonen unterstützt wieder WAV/MP3-Referenzuploads und sendet das Audio gemäß aktueller API über audio.voice (#2046)",new_0_6_28_1:"Diese Version umfasst alle nach 0.6.27 gemergten PRs, darunter MCU-Verwaltung, Gruppenchat-Workspace-Diffs, Coding-Agent-Fixes, Workflow-Freigaben, Workspace-Diff-Filter, Modellwahl fuer geplante Jobs und Desktop-Versionshinweise",new_0_6_28_2:"MCU erhaelt Device Management, verlangt API-Token-Autorisierung fuer global-agent Events, aktualisiert die ESP32-C3-Firmware und stabilisiert den Remote-Relay-Login",new_0_6_28_3:"Gruppenchat-Workspace-Aenderungen werden als Workspace-Diff-Runs gespeichert, damit room-level Agent-Aktivitaet nach Sitzungsende pruefbar bleibt",new_0_6_28_4:"Coding Agents erben scoped external MCP servers, routen Workflow-Agent-Abbrueche korrekt und exportieren abgeschlossene Codex- und Claude-Code-Native-Sessions best-effort",new_0_6_28_5:"Session-Polish behebt den Workspace File Drawer, entfernt defekte Starred-History-Embeds und speichert ended_at/end_reason-Metadaten fuer Bridge-Sessions",new_0_6_28_6:"Workflow Nodes unterstuetzen Approval Gates nach Node-Abschluss, und Approval-Zustaende fuer erneute Ausfuehrungen wurden korrigiert",new_0_6_28_7:"Workspace-Diffs filtern SQLite WAL/SHM-Sidecars und scannen ueber unveraenderte Dateien hinaus, damit neu erstellte normale Dateien sichtbar bleiben",new_0_6_28_8:"Geplante Jobs koennen provider/model auswaehlen und speichern, ohne nicht unterstuetzte Model-Flags an die aktuelle Hermes cron CLI zu uebergeben",new_0_6_28_9:"Die Desktop-Versionsverwaltung zeigt bei verfuegbaren Updates einen lokalisierten Hinweis am Button, und das oeffentliche Versionsmanifest enthaelt 0.6.28",new_0_6_27_1:"Diese Version umfasst alle nach 0.6.26 gemergten PRs, einschliesslich Desktop-Start-Fallback, Windows-Runtime-Fixes, Remote-MCU-Relay, Gruppenchat-Workspaces, Feinschliff am Standard-Workspace und Filterung leerer Diffs",new_0_6_27_2:"Der Desktop-Start faellt jetzt auf die gebuendelte Web UI zurueck, wenn das aktive Web-UI-Verzeichnis fehlt oder unvollstaendig ist, und behaelt dabei die gepinnte Runtime bei",new_0_6_27_3:"Windows-Desktop-Runtimes verwenden fuer Web-UI-Server-Aufrufe jetzt verschiebbare hermes.cmd-Wrapper statt anfaelliger .exe-Trampolines",new_0_6_27_4:"Remote-MCU-Traffic nutzt jetzt das Socket.IO /global-agent Relay, mit stabilerem ESP32-C3-Login, Discovery, Voice-Playback-Queueing, Wi-Fi-Credential-Persistenz und aktualisierter Firmware",new_0_6_27_5:"Gruppenchat-Raeume koennen jetzt einen validierten Workspace besitzen, der an group-agent Runs uebergeben wird; Nur-Lese-Mitglieder sehen Workspace, Invite Code und Verwaltungssteuerung nicht",new_0_6_27_6:"Favoriten fuer den Standard-Workspace sitzen jetzt in der Zeile des ausgewaehlten Pfads im Folder Picker, inklusive vollstaendiger Locale-Abdeckung fuer Workspace-Picker-Labels",new_0_6_27_7:"Workspace-Diff-Karten ueberspringen jetzt 0-Byte-Aenderungen ohne Patch oder Zeilendelta und vermeiden damit bedeutungslose +0/-0 Changed-File-Karten",new_0_6_26_1:"Diese Version umfasst die nach 0.6.25 gemergten PRs mit Fokus auf Ekko Agent, Context-Anzeige des Coding Agent, Journey, Gruppenchat-Baselines, Desktop-Fixes und MCP-Payload-Groesse",new_0_6_26_2:"Ekko Agent ist jetzt im Chat verfuegbar, mit Runtime-Context-Handling, Browser-Tools, stabileren Tool-Events und wiederhergestellter Tool-Result-History fuer Context-Usage-Berechnung",new_0_6_26_3:"Coding-Agent-Sessions zeigen Reasoning- und Context-Einstellungen klarer, persistieren API Mode, vermeiden Codex app-server mode misuse und verhindern Spruenge der Context Usage nach Follow-up-Turns",new_0_6_26_4:"Journey hat eine Learning-Graph-Ansicht mit verfeinerten Graph-Interaktionen erhalten, waehrend der Gruppenchat Baseline-Coverage fuer die neue Feature-Linie bekam",new_0_6_26_5:"Die Desktop-Zuverlaessigkeit wurde verbessert: Login-Persistenz und Reset-Flow, dynamischer Port-Fallback fuer Windows Worker, stdout/stderr-EPIPE-Handling und isoliertes ESP32-C3-v1-Firmware-Packaging",new_0_6_26_6:"Hermes Studio MCP liefert available-models standardmaessig als kompakte Zusammenfassung, mit Filtern und expliziter Full-Detail-Option, um agent context nicht mit Modelldaten zu ueberladen",new_0_6_25_1:"Behebt execute_code-Fehler mit Hermes Agent 0.18.0, indem der neue Parameter has_host_access durch den Agent-Bridge-Approval-Memory-Wrapper weitergereicht wird",new_0_6_24_1:"Diese Version umfasst die nach 0.6.23 gemergten PRs und verbessert Chat-Eingabe, Workspace-Sichtbarkeit, Plugin-Verwaltung, Standardmodelle und Workspace-Diff-Ansicht",new_0_6_24_2:"Einzel- und Gruppenchat-Eingaben nutzen eine integrierte Toolbar, kompakte Modellsteuerung, gebuendelte Eingabeeinstellungen, klarere Context-Nutzung, stabileres Mobile Chrome und wiederhergestelltes manuelles Resize im Einzelchat",new_0_6_24_3:"Workspace-Run-Aenderungen erscheinen als dauerhafte Chat-Diff-Karten mit rechter Diff-/Editor-Schublade, werden nach Session Resume wiederhergestellt und sind fuer mobile Ansicht angepasst",new_0_6_24_4:"Der Workspace-Ordnerauswahler durchsucht Windows-Laufwerke und Junctions zuverlaessiger und zeigt Dot-Ordner wie .hermes, .config und .codex an, waehrend WORKSPACE_BASE-Pruefungen erhalten bleiben",new_0_6_24_5:"Die Plugins-Seite kann verwaltbare Benutzer-Plugins aktivieren oder deaktivieren und zeigt den kombinierten Status aus Hermes-Basiskonfiguration und aktuellem Profile genauer an",new_0_6_24_6:"Die Models-Seite erhaelt Aktionen fuer Standard-Provider und Standardmodell; Bridge-Terminalfehler erzeugen weniger Fehlalarme, das Hermes-Agent-Runtime-Paket wechselt auf 0.18.0 und das Website-Versionsmanifest wurde aktualisiert"}};export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aa as o}from"./index-
|
|
1
|
+
import{aa as o}from"./index-RJQqJC6n.js";function i(r){"@babel/helpers - typeof";return i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(r)}var y=o((()=>{}));function f(r,t){if(i(r)!="object"||!r)return r;var e=r[Symbol.toPrimitive];if(e!==void 0){var n=e.call(r,t||"default");if(i(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(r)}var u=o((()=>{y()}));function a(r){var t=f(r,"string");return i(t)=="symbol"?t:t+""}var m=o((()=>{y(),u()}));function l(r,t,e){return(t=a(t))in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}var b=o((()=>{m()}));export{b as n,l as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{aa as V}from"./index-
|
|
1
|
+
import{aa as V}from"./index-RJQqJC6n.js";import{n as j,t as Q}from"./mermaid-parser.core-H0g6x_iH.js";import{Bt as l,Ht as X,Vt as Y}from"./src-Ra8Cw6Gr.js";import{D as K,U as Z,W as q,a as J,b,c as N,f as tt,j as et,q as at,v as rt,w as st,y as nt}from"./chunk-CSCIHK7Q-jw9fZDC9.js";import{n as it,t as ot}from"./chunk-WU5MYG2G-Cv_QOL8q.js";import{d as lt,i as y}from"./chunk-5ZQYHXKU-D0RIlhMr.js";import{n as ct,t as dt}from"./chunk-4BX2VUAB-C8f7FKlW.js";function M(a,t,e,r,s,i,o){const n=t.length,c=Math.min(o.width,o.height)/2;e.forEach((u,d)=>{if(u.entries.length!==n)return;const m=u.entries.map((g,$)=>{const f=2*Math.PI*$/n-Math.PI/2,w=W(g,r,s,c);return{x:w*Math.cos(f),y:w*Math.sin(f)}});i==="circle"?a.append("path").attr("d",U(m,o.curveTension)).attr("class",`radarCurve-${d}`):i==="polygon"&&a.append("polygon").attr("points",m.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${d}`)})}function W(a,t,e,r){return r*(Math.min(Math.max(a,t),e)-t)/(e-t)}function U(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const i=a[(s-1+e)%e],o=a[s],n=a[(s+1)%e],c=a[(s+2)%e],u={x:o.x+(n.x-i.x)*t,y:o.y+(n.y-i.y)*t},d={x:n.x-(c.x-o.x)*t,y:n.y-(c.y-o.y)*t};r+=` C${u.x},${u.y} ${d.x},${d.y} ${n.x},${n.y}`}return`${r} Z`}function A(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,i=-(r.height/2+r.marginTop)*3/4,o=20;t.forEach((n,c)=>{const u=a.append("g").attr("transform",`translate(${s}, ${i+c*o})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(n.label)})}var h,v,p,_,L,C,T,k,S,O,R,x,I,E,F,G,D,B,z,H,P,ut,pt=V((()=>{ot(),dt(),lt(),et(),Y(),Q(),h={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},v={axes:[],curves:[],options:h},p=structuredClone(v),_=tt.radar,L=l(()=>y({..._,...b().radar}),"getConfig"),C=l(()=>p.axes,"getAxes"),T=l(()=>p.curves,"getCurves"),k=l(()=>p.options,"getOptions"),S=l(a=>{p.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),O=l(a=>{p.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:R(t.entries)}))},"setCurves"),R=l(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=C();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>s.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),x={getAxes:C,getCurves:T,getOptions:k,setAxes:S,setCurves:O,setOptions:l(a=>{const t=a.reduce((e,r)=>(e[r.name]=r,e),{});p.options={showLegend:t.showLegend?.value??h.showLegend,ticks:t.ticks?.value??h.ticks,max:t.max?.value??h.max,min:t.min?.value??h.min,graticule:t.graticule?.value??h.graticule}},"setOptions"),getConfig:L,clear:l(()=>{J(),p=structuredClone(v)},"clear"),setAccTitle:q,getAccTitle:nt,setDiagramTitle:at,getDiagramTitle:st,getAccDescription:rt,setAccDescription:Z},I=l(a=>{ct(a,x);const{axes:t,curves:e,options:r}=a;x.setAxes(t),x.setCurves(e),x.setOptions(r)},"populate"),E={parse:l(async a=>{const t=await j("radar",a);X.debug(t),I(t)},"parse")},F=l((a,t,e,r)=>{const s=r.db,i=s.getAxes(),o=s.getCurves(),n=s.getOptions(),c=s.getConfig(),u=s.getDiagramTitle(),d=G(it(t),c),m=n.max??Math.max(...o.map(f=>Math.max(...f.entries))),g=n.min,$=Math.min(c.width,c.height)/2;D(d,i,$,n.ticks,n.graticule),B(d,i,$,c),M(d,i,o,g,m,n.graticule,c),A(d,o,n.showLegend,c),d.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),G=l((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return N(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),D=l((a,t,e,r,s)=>{if(s==="circle")for(let i=0;i<r;i++){const o=e*(i+1)/r;a.append("circle").attr("r",o).attr("class","radarGraticule")}else if(s==="polygon"){const i=t.length;for(let o=0;o<r;o++){const n=e*(o+1)/r,c=t.map((u,d)=>{const m=2*d*Math.PI/i-Math.PI/2;return`${n*Math.cos(m)},${n*Math.sin(m)}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),B=l((a,t,e,r)=>{const s=t.length;for(let i=0;i<s;i++){const o=t[i].label,n=2*i*Math.PI/s-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(n)).attr("y2",e*r.axisScaleFactor*Math.sin(n)).attr("class","radarAxisLine"),a.append("text").text(o).attr("x",e*r.axisLabelFactor*Math.cos(n)).attr("y",e*r.axisLabelFactor*Math.sin(n)).attr("class","radarAxisLabel")}},"drawAxes"),l(M,"drawCurves"),l(W,"relativeRadius"),l(U,"closedRoundCurve"),l(A,"drawLegend"),z={draw:F},H=l((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
|
|
2
2
|
.radarCurve-${r} {
|
|
3
3
|
color: ${s};
|
|
4
4
|
fill: ${s};
|