hermes-web-ui 0.3.1 → 0.3.2
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/{Add-cXqy3eJz.js → Add-CYFVC6GK.js} +1 -1
- package/dist/client/assets/{Button-BeWnBoDR.js → Button-Bls2FkVh.js} +1 -1
- package/dist/client/assets/{ChannelsView-Do43S3tP.css → ChannelsView-CSo2o-P4.css} +1 -1
- package/dist/client/assets/ChannelsView-hQeWN-ve.js +1 -0
- package/dist/client/assets/{ChatView-CqA3Wo54.js → ChatView-C67INFi3.js} +1 -1
- package/dist/client/assets/{Close-ySsuLJTC.js → Close-CkAmZwHA.js} +1 -1
- package/dist/client/assets/{FormItem-EcbFnIOF.js → FormItem-CO8nEllS.js} +1 -1
- package/dist/client/assets/{Input-DP5LDvGa.js → Input-CmTdqaW1.js} +1 -1
- package/dist/client/assets/{InputNumber-CU7XKbbt.js → InputNumber-BVqiFQ5W.js} +1 -1
- package/dist/client/assets/JobsView-B0LZ2Ep0.js +2 -0
- package/dist/client/assets/{JobsView-CvuV9mZY.css → JobsView-CVx2Yv-y.css} +1 -1
- package/dist/client/assets/{LoginView-CDJXoOEZ.js → LoginView-BjqBXdDl.js} +1 -1
- package/dist/client/assets/{LogsView-DS_E9xkh.js → LogsView-CXiJ_mte.js} +1 -1
- package/dist/client/assets/{MarkdownRenderer-BntkPd0f.js → MarkdownRenderer-CtI0yse1.js} +1 -1
- package/dist/client/assets/{MemoryView-CCCXW1tv.js → MemoryView-CjPn1pVR.js} +1 -1
- package/dist/client/assets/{Modal-D_vF9k8c.js → Modal-apmj2qGK.js} +1 -1
- package/dist/client/assets/ModelsView-DXvahVC_.js +1 -0
- package/dist/client/assets/{Popconfirm-IKYJxM7n.js → Popconfirm-B9XSMaYA.js} +1 -1
- package/dist/client/assets/{Popover-BLBLYanQ.js → Popover-CjCb_fJl.js} +1 -1
- package/dist/client/assets/{ProfilesView-qt3NXito.js → ProfilesView-CmMfNg5X.js} +1 -1
- package/dist/client/assets/{Scrollbar-DZGif2x4.js → Scrollbar-v6Ok23iG.js} +1 -1
- package/dist/client/assets/{Select-3KS3TLPL.js → Select-CDF2CEro.js} +1 -1
- package/dist/client/assets/{SettingRow-D26AUezg.js → SettingRow-CSjwu__h.js} +1 -1
- package/dist/client/assets/{SettingsView-C78xbLXK.css → SettingsView-BIEQOPzq.css} +1 -1
- package/dist/client/assets/{SettingsView-30x1265A.js → SettingsView-BYedQhU5.js} +2 -2
- package/dist/client/assets/{SkillsView-qq8Oz7fo.js → SkillsView-B_MA4How.js} +1 -1
- package/dist/client/assets/{Spin-C9izy3tZ.js → Spin-UqA8uGuf.js} +1 -1
- package/dist/client/assets/{Suffix-CIX5CF-j.js → Suffix-iRME2DUp.js} +1 -1
- package/dist/client/assets/{Switch-D9x35tOv.js → Switch-B4za8e-x.js} +1 -1
- package/dist/client/assets/{TerminalView-zaRNn2aX.js → TerminalView-C0xlWgsR.js} +1 -1
- package/dist/client/assets/{Tooltip-A5--U35v.js → Tooltip-C9kFaGpi.js} +1 -1
- package/dist/client/assets/{UsageView-DQ3t8CHE.js → UsageView-Df6TKjYG.js} +1 -1
- package/dist/client/assets/{Warning-BZfjWCrB.js → Warning-C--exCXL.js} +1 -1
- package/dist/client/assets/{_plugin-vue_export-helper-B4hqCVU_.js → _plugin-vue_export-helper-BPCSidQI.js} +1 -1
- package/dist/client/assets/{app-DG_zFxqi.js → app-BEBfTlZP.js} +1 -1
- package/dist/client/assets/app-DoAgSphx.js +1 -0
- package/dist/client/assets/{browser-BanYmQkE.js → browser-OtgUKGth.js} +1 -1
- package/dist/client/assets/{chat-C6pq-bYQ.js → chat-B8_g1FhX.js} +2 -2
- package/dist/client/assets/composables-VZZHak9F.js +1 -0
- package/dist/client/assets/{fade-in-scale-up.cssr-B100njI2.js → fade-in-scale-up.cssr-BbYEGcju.js} +1 -1
- package/dist/client/assets/{index-DtDTIaVj.js → index-DY7SeRWD.js} +1 -1
- package/dist/client/assets/{jobs-DK_GVjqW.js → jobs-BRLhuQpK.js} +1 -1
- package/dist/client/assets/{light-CeMZM90j.js → light-8G-BZ0JM.js} +1 -1
- package/dist/client/assets/{light-BT2gqEar.js → light-B3QvGN97.js} +1 -1
- package/dist/client/assets/{light-Dav3NshO.js → light-B83Z4vA9.js} +1 -1
- package/dist/client/assets/{light-B8HxMQKs.js → light-Bmu6b0jg.js} +1 -1
- package/dist/client/assets/{light-BfPLur6t.js → light-BtLlDltU.js} +1 -1
- package/dist/client/assets/{light-CDN7aXQb.js → light-DDEUT7ek.js} +1 -1
- package/dist/client/assets/{pinia-DEKB7D30.js → pinia-F-uLzgMS.js} +1 -1
- package/dist/client/assets/{profiles-BSAOLUpt.js → profiles-DIJT1P0i.js} +1 -1
- package/dist/client/assets/{router-Zpu1Tghg.js → router-Drg4uUER.js} +2 -2
- package/dist/client/assets/{sessions-1rFjfO8M.js → sessions-BwtYroiN.js} +1 -1
- package/dist/client/assets/{skills-Bu5JdqX-.js → skills-BLhNwqgu.js} +1 -1
- package/dist/client/assets/use-compitable-BgSV79Sl.js +1 -0
- package/dist/client/assets/{use-message-CFWjMwGX.js → use-message-xhQoRXQV.js} +1 -1
- package/dist/client/assets/{useTheme-CHkzsMnk.js → useTheme-Dd5YNF4O.js} +1 -1
- package/dist/client/index.html +27 -27
- package/dist/server/index.js +2 -2
- package/dist/server/routes/hermes/config.js +15 -3
- package/dist/server/routes/hermes/filesystem.js +25 -5
- package/dist/server/routes/hermes/logs.js +1 -1
- package/dist/server/routes/hermes/profiles.js +1 -1
- package/dist/server/routes/hermes/sessions.js +1 -1
- package/dist/server/routes/hermes/weixin.js +2 -2
- package/dist/server/routes/webhook.js +1 -1
- package/dist/server/services/hermes/hermes-cli.d.ts +125 -0
- package/dist/server/services/hermes/hermes-cli.js +488 -0
- package/dist/server/services/hermes/hermes-profile.d.ts +22 -0
- package/dist/server/services/hermes/hermes-profile.js +60 -0
- package/dist/server/services/hermes/hermes.d.ts +40 -0
- package/dist/server/services/hermes/hermes.js +118 -0
- package/dist/server/shared/providers.js +2 -2
- package/package.json +4 -1
- package/dist/client/assets/ChannelsView-tUAkDoSF.js +0 -1
- package/dist/client/assets/JobsView-g3zcs8_m.js +0 -2
- package/dist/client/assets/ModelsView-C8rPRq6p.js +0 -1
- package/dist/client/assets/app-DVQEsGHs.js +0 -1
- package/dist/client/assets/composables-xsQwqT-T.js +0 -1
- package/dist/client/assets/use-compitable-Dl0AqAGv.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,E as r,F as i,G as a,K as o,N as s,O as c,Q as l,R as u,T as d,U as f,W as p,X as m,Y as h,Z as g,b as _,c as v,ct as y,d as b,gt as x,it as S,j as C,k as w,l as T,mt as E,ot as D,p as ee,pt as O,t as te,w as k,y as ne}from"./router-Zpu1Tghg.js";import{t as re}from"./pinia-DEKB7D30.js";import{n as ie,r as ae,t as A}from"./_plugin-vue_export-helper-B4hqCVU_.js";import"./logo-Cd-t_oGE.js";import{$ as oe,B as se,V as ce,X as le,_t as ue,a as de,at as j,c as fe,ct as M,d as pe,dt as N,f as me,it as he,n as P,nt as F,o as ge,pt as I,r as _e,rt as L,s as R,st as z,tt as ve,u as ye,ut as B,z as be}from"./browser-BanYmQkE.js";import{a as xe,i as Se,j as Ce,s as we}from"./Popover-BLBLYanQ.js";import{i as Te,r as V,s as Ee,t as De,y as Oe}from"./Scrollbar-DZGif2x4.js";import{a as ke,c as Ae,d as je,f as Me,h as Ne,i as Pe,l as Fe,m as Ie,n as Le,o as Re,p as ze,r as Be,s as Ve,t as He,u as Ue}from"./Modal-D_vF9k8c.js";import{a as We,c as Ge,i as Ke,l as qe,n as Je,o as Ye,r as Xe,s as Ze,t as Qe}from"./Select-3KS3TLPL.js";import{a as $e,i as et,r as H,t as tt}from"./Button-BeWnBoDR.js";import{n as U}from"./fade-in-scale-up.cssr-B100njI2.js";import{n as nt,t as rt}from"./Warning-BZfjWCrB.js";import{t as it}from"./omit-1BRB6K75.js";import{t as at}from"./Close-ySsuLJTC.js";import{i as ot,t as st}from"./light-B8HxMQKs.js";import{a as ct,n as lt,o as ut,t as dt}from"./profiles-BSAOLUpt.js";import{n as ft,t as W}from"./light-CeMZM90j.js";import{a as pt,i as mt,r as ht,t as gt}from"./chat-C6pq-bYQ.js";import{n as _t,t as vt}from"./light-BT2gqEar.js";import{n as yt,r as bt,t as xt}from"./use-message-CFWjMwGX.js";import{n as St}from"./light-BfPLur6t.js";import{n as Ct}from"./light-Dav3NshO.js";import{t as wt}from"./_common-DgdkN_d5.js";import{t as Tt}from"./light-CDN7aXQb.js";import{t as Et}from"./useTheme-CHkzsMnk.js";import{t as Dt}from"./app-DG_zFxqi.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Ot={login:{title:`Hermes Web UI`,description:`Enter your access token to continue. Find it in the server startup logs.`,placeholder:`Access token`,submit:`Login`,tokenRequired:`Please enter your access token`,invalidToken:`Invalid token`,connectionFailed:`Cannot connect to server`},common:{loading:`Loading...`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,save:`Save`,saved:`Saved`,update:`Update`,create:`Create`,saveFailed:`Save failed`,ok:`OK`,copied:`Copied`,copy:`Copy`,noData:`No data`,fetch:`Fetch`,add:`Add`,enable:`Enable`,disable:`Disable`,configured:`Configured`,notConfigured:`Not configured`,confirm:`Confirm`,expand:`Expand`,collapse:`Collapse`},sidebar:{chat:`Chat`,jobs:`Jobs`,models:`Models`,profiles:`Profiles`,skills:`Skills`,memory:`Memory`,logs:`Logs`,usage:`Usage`,channels:`Channels`,terminal:`Terminal`,settings:`Settings`,connected:`Connected`,disconnected:`Disconnected`,updateTip:`Run "hermes-web-ui update" in terminal to update`,updateVersion:`Upgrade to v{version}`,updating:`Updating...`,updateSuccess:`Update complete, please restart the server`,updateFailed:`Update failed`},chat:{emptyState:`Start a conversation with Hermes Agent`,inputPlaceholder:`Type a message... (Enter to send, Shift+Enter for new line)`,attachFiles:`Attach files`,stop:`Stop`,send:`Send`,contextUsed:`Context used:`,sessions:`Sessions`,noSessions:`No sessions`,newChat:`New Chat`,deleteSession:`Delete this session?`,sessionDeleted:`Session deleted`,rename:`Rename`,copySessionId:`Copy Session ID`,renamed:`Renamed`,renameFailed:`Rename failed`,renameSession:`Rename Session`,enterNewTitle:`Enter new title`,other:`Other`,runFailed:`Run failed`,error:`Error`,tool:`Tool`,arguments:`Arguments`,result:`Result`,truncated:`... (truncated)`},jobs:{title:`Scheduled Jobs`,createJob:`Create Job`,editJob:`Edit Job`,noJobs:`No scheduled jobs yet. Create one to get started.`,name:`Name`,namePlaceholder:`Job name`,schedule:`Schedule (Cron Expression)`,schedulePlaceholder:`e.g. 0 9 * * *`,quickPresets:`Quick Presets`,selectPreset:`Select a preset...`,presetEveryMinute:`Every minute`,presetEvery5Min:`Every 5 minutes`,presetEveryHour:`Every hour`,presetEveryDay:`Every day at 00:00`,presetEveryDay9:`Every day at 09:00`,presetEveryMonday:`Every Monday at 09:00`,presetEveryMonth:`Every month 1st at 09:00`,prompt:`Prompt`,promptPlaceholder:`The prompt to execute`,deliverTarget:`Deliver Target`,origin:`Origin`,local:`Local`,repeatCount:`Repeat Count (optional)`,repeatPlaceholder:`Leave empty for infinite`,jobCreated:`Job created`,jobUpdated:`Job updated`,nameRequired:`Name is required`,scheduleRequired:`Schedule is required`,loadFailed:`Failed to load job`,jobPaused:`Job paused`,jobResumed:`Job resumed`,jobTriggered:`Job triggered`,jobDeleted:`Job deleted`,status:{running:`Running`,paused:`Paused`,disabled:`Disabled`,scheduled:`Scheduled`},info:{schedule:`Schedule`,lastRun:`Last Run`,nextRun:`Next Run`,deliver:`Deliver`,repeat:`Repeat`},action:{pause:`Pause`,pauseJob:`Pause job`,resume:`Resume`,resumeJob:`Resume job`,runNow:`Run Now`,triggerImmediately:`Trigger immediately`}},skills:{title:`Skills`,searchPlaceholder:`Search skills...`,noMatch:`No skills match your search`,noSkills:`No skills found`,backTo:`Back to`,attachedFiles:`Attached Files`,loadFailed:`Failed to load skill`,fileLoadFailed:`Failed to load file`,toggleFailed:`Failed to toggle skill`},memory:{title:`Memory`,refresh:`Refresh`,loadFailed:`Failed to load memory`,myNotes:`My Notes`,noNotes:`No notes yet.`,notesPlaceholder:`Write your notes...`,userProfile:`User Profile`,noProfile:`No profile yet.`,profilePlaceholder:`Write your profile...`,soul:`Soul`,noSoul:`No soul configuration yet.`,soulPlaceholder:`Write soul configuration...`},models:{title:`Models`,addProvider:`Add Provider`,providerType:`Provider Type`,preset:`Preset`,custom:`Custom`,selectProvider:`Select Provider`,chooseProvider:`Choose a provider...`,name:`Name`,autoGeneratedName:`Auto-generated from Base URL`,baseUrl:`Base URL`,baseUrlPlaceholder:`e.g. https://api.example.com/v1`,apiKey:`API Key`,apiKeyPlaceholder:`sk-...`,defaultModel:`Default Model`,selectModel:`Select a model...`,providerAdded:`Provider added`,providerDeleted:`Provider deleted`,deleteProvider:`Delete Provider`,deleteConfirm:`Are you sure you want to delete "{name}"?`,noProviders:`No providers found. Add a custom provider to get started.`,builtIn:`Built-in`,customType:`Custom`,provider:`Provider`,local:`Local ({host})`,selectProviderRequired:`Please select a provider`,baseUrlRequired:`Base URL is required`,apiKeyRequired:`API Key is required`,modelRequired:`Default Model is required`,enterBaseUrl:`Please enter Base URL first`,unexpectedFormat:`Unexpected response format`,foundModels:`Found {count} models`,fetchFailed:`Failed to fetch models`},profiles:{title:`Profiles`,create:`Create Profile`,import:`Import`,export:`Export`,rename:`Rename`,delete:`Delete`,switchTo:`Switch to`,switchConfirm:`Switching to profile "{name}" will restart the gateway. Continue?`,switchSuccess:`Switched to profile "{name}"`,switchFailed:`Failed to switch profile. Gateway may need manual restart.`,createSuccess:`Profile "{name}" created`,createFailed:`Failed to create profile`,renameSuccess:`Profile renamed`,renameFailed:`Failed to rename profile`,deleteConfirm:`Are you sure you want to delete profile "{name}"?`,deleteSuccess:`Profile deleted`,deleteFailed:`Failed to delete profile`,exportSuccess:`Profile exported`,exportFailed:`Failed to export profile`,importSuccess:`Profile imported`,importFailed:`Failed to import profile`,importSelectFile:`Select archive file`,importInvalidFile:`Please select a valid archive (.tar.gz, .tgz, .gz, .zip)`,name:`Profile Name`,namePlaceholder:`English letters, numbers, hyphens only`,newName:`New Name`,newNamePlaceholder:`Enter new name`,cloneFromCurrent:`Clone from current profile`,archivePath:`Archive Path`,archivePathPlaceholder:`Server path to archive file`,importName:`Profile Name (optional)`,importNamePlaceholder:`Leave empty to use archive name`,active:`Active`,model:`Model`,gateway:`Gateway`,alias:`Alias`,provider:`Provider`,path:`Path`,skills:`Skills`,hasEnv:`Has .env`,hasSoulMd:`Has soul.md`,noProfiles:`No profiles found. Create one to get started.`},logs:{title:`Logs`,all:`All`,searchPlaceholder:`Search...`,refresh:`Refresh`,noEntries:`No log entries`},settings:{title:`Settings`,saved:`Saved`,saveFailed:`Save failed`,tabs:{display:`Display`,agent:`Agent`,memory:`Memory`,session:`Session`,privacy:`Privacy`,apiServer:`API Server`},display:{streaming:`Stream Responses`,streamingHint:`Show AI replies in real-time`,compact:`Compact Mode`,compactHint:`Reduce message spacing`,showReasoning:`Show Reasoning`,showReasoningHint:`Show model thinking process`,showCost:`Show Cost`,showCostHint:`Show token usage in replies`,inlineDiffs:`Inline Diffs`,inlineDiffsHint:`Show code changes inline`,bellOnComplete:`Completion Sound`,bellOnCompleteHint:`Play sound when AI finishes`,busyInputMode:`Busy Input Mode`,busyInputModeHint:`Allow input while AI is processing`,theme:`Theme`,themeHint:`Choose light, dark, or follow system preference`,themeLight:`Light`,themeDark:`Dark`,themeSystem:`System`},agent:{maxTurns:`Max Turns`,maxTurnsHint:`Maximum interaction rounds per conversation`,gatewayTimeout:`Gateway Timeout`,gatewayTimeoutHint:`Request timeout in seconds`,restartDrainTimeout:`Restart Drain Timeout`,restartDrainTimeoutHint:`Drain timeout before restart in seconds`,toolEnforcement:`Tool Enforcement`,toolEnforcementHint:`Control tool call execution mode`,auto:`Auto`,always:`Always`,never:`Never`},memory:{enabled:`Enable Memory`,enabledHint:`Allow AI to remember conversation context`,userProfile:`User Profile`,userProfileHint:`Allow AI to remember user preferences`,charLimit:`Memory Char Limit`,charLimitHint:`Max characters for MEMORY.md`,userCharLimit:`User Profile Char Limit`,userCharLimitHint:`Max characters for USER.md`},session:{mode:`Reset Mode`,modeHint:`Trigger condition for session reset`,modeBoth:`Idle + Scheduled`,modeIdle:`Idle Only`,modeHourly:`Scheduled Only`,idleMinutes:`Idle Timeout`,idleMinutesHint:`Wait time before auto-reset (minutes)`,atHour:`Scheduled Reset Time`,atHourHint:`Reset session at this hour daily`},privacy:{redactPii:`Redact PII`,redactPiiHint:`Auto-detect and hide sensitive info (passwords, keys, etc.)`},apiServer:{enable:`Enable`,enableHint:`Enable API server`,host:`Host`,hostHint:`Listen address`,port:`Port`,portHint:`Listen port`,key:`Key`,keyHint:`API access key`,cors:`CORS Origins`,corsHint:`Allowed cross-origin sources`}},platform:{requireMention:`Require {'@'}Mention`,requireMentionGroup:`Require {'@'}mention in groups to respond`,requireMentionChannel:`Require {'@'}mention in channels to respond`,requireMentionRoom:`Require {'@'}mention in rooms to respond`,reactions:`Reactions`,reactionsHint:`React to messages with emoji`,freeResponseChats:`Free Response Chats`,freeResponseChatsHint:`Chat IDs that respond without {'@'}mention (comma-separated)`,freeResponseChannels:`Free Response Channels`,freeResponseChannelsHint:`Channel IDs that respond without {'@'}mention (comma-separated)`,freeResponseRooms:`Free Response Rooms`,freeResponseRoomsHint:`Room IDs that respond without {'@'}mention (comma-separated)`,mentionPatterns:`Custom Mention Patterns`,mentionPatternsHint:`Additional trigger patterns`,autoThread:`Auto Thread`,autoThreadHint:`Auto-create reply threads after {'@'}mention`,autoThreadHintRoom:`Auto-create reply threads in rooms`,dmMentionThreads:`DM Mention Threads`,dmMentionThreadsHint:`Use thread replies for mentions in DMs`,allowBots:`Allow Bot Messages`,allowBotsHint:`Respond to messages from other bots`,allowedChannels:`Allowed Channels`,allowedChannelsHint:`Whitelist channel IDs (comma-separated)`,ignoredChannels:`Ignored Channels`,ignoredChannelsHint:`Channels where bot never responds (comma-separated)`,noThreadChannels:`No-Thread Channels`,noThreadChannelsHint:`Channels where bot responds without threads (comma-separated)`,botToken:`Bot Token`,botTokenHint:`Bot token from developer portal`,accessToken:`Access Token`,accessTokenHint:`Matrix access token`,homeserver:`Homeserver URL`,homeserverHint:`Matrix homeserver URL`,appId:`App ID`,appIdHint:`Feishu App ID`,appSecret:`App Secret`,appSecretHint:`Feishu App Secret`,clientId:`Client ID`,clientIdHint:`DingTalk Client ID`,clientSecret:`Client Secret`,clientSecretHint:`DingTalk Client Secret`,botId:`Bot ID`,botIdHint:`WeCom Bot ID`,wecomSecretHint:`WeCom Bot Secret`,waEnabled:`Enable WhatsApp`,waEnabledHint:`Enable WhatsApp via QR code pairing`,weixinToken:`Weixin Token`,weixinTokenHint:`From weixin CLI QR login (hermes weixin)`,accountId:`Account ID`,accountIdHint:`Weixin account ID`,qrLogin:`QR Login`,qrRelogin:`Re-login`,qrFetching:`Fetching QR code...`,qrScanHint:`Scan with WeChat to login`,qrScanedHint:`Scaned, please confirm on phone...`},language:{label:`Language`,zh:`中文`,en:`English`},terminal:{sessions:`Sessions`,newTab:`New Terminal`,closeSession:`Close this session?`,sessionExited:`Exited`,processExited:`Process exited with code {code}`},usage:{title:`Usage Statistics`,refresh:`Refresh`,totalTokens:`Total Tokens`,inputTokens:`Input`,outputTokens:`Output`,totalSessions:`Total Sessions`,avgPerDay:`~{n}/day avg`,estimatedCost:`Est. Cost`,cacheHitRate:`Cache Hit Rate`,modelBreakdown:`Model Breakdown`,dailyTrend:`Daily Usage (Last 30 Days)`,date:`Date`,tokens:`Tokens`,cache:`Cache`,sessions:`Sessions`,cost:`Cost`,noData:`No usage data`}},kt={login:{title:`Hermes Web UI`,description:`输入访问令牌以继续。令牌在服务端启动日志中查看。`,placeholder:`访问令牌`,submit:`登录`,tokenRequired:`请输入访问令牌`,invalidToken:`令牌无效`,connectionFailed:`无法连接到服务器`},common:{loading:`加载中...`,cancel:`取消`,delete:`删除`,edit:`编辑`,save:`保存`,saved:`已保存`,saveFailed:`保存失败`,ok:`确定`,copied:`已复制`,copy:`复制`,update:`更新`,create:`创建`,noData:`暂无数据`,fetch:`获取`,add:`添加`,enable:`启用`,disable:`禁用`,configured:`已配置`,notConfigured:`未配置`,confirm:`确定`,expand:`展开`,collapse:`收起`},sidebar:{chat:`对话`,jobs:`任务`,models:`模型`,profiles:`用户`,skills:`技能`,memory:`记忆`,logs:`日志`,usage:`用量`,channels:`频道`,terminal:`终端`,settings:`设置`,connected:`已连接`,disconnected:`未连接`,updateTip:`在终端运行 "hermes-web-ui update" 即可更新`,updateVersion:`升级版本 v{version}`,updating:`正在更新...`,updateSuccess:`更新完成,请重启服务`,updateFailed:`更新失败`},chat:{emptyState:`开始与 Hermes Agent 对话`,inputPlaceholder:`输入消息... (Enter 发送,Shift+Enter 换行)`,attachFiles:`添加附件`,stop:`停止`,send:`发送`,contextUsed:`上下文已用:`,sessions:`会话`,noSessions:`暂无会话`,newChat:`新建对话`,deleteSession:`确定删除此会话?`,sessionDeleted:`会话已删除`,rename:`重命名`,copySessionId:`复制会话 ID`,renamed:`已重命名`,renameFailed:`重命名失败`,renameSession:`重命名会话`,enterNewTitle:`输入新标题`,other:`其他`,runFailed:`运行失败`,error:`错误`,tool:`工具`,arguments:`参数`,result:`结果`,truncated:`... (已截断)`},jobs:{title:`定时任务`,createJob:`创建任务`,editJob:`编辑任务`,noJobs:`暂无定时任务,创建一个开始吧。`,name:`名称`,namePlaceholder:`任务名称`,schedule:`调度表达式 (Cron)`,schedulePlaceholder:`例如 0 9 * * *`,quickPresets:`快速预设`,selectPreset:`选择预设...`,presetEveryMinute:`每分钟`,presetEvery5Min:`每 5 分钟`,presetEveryHour:`每小时`,presetEveryDay:`每天 00:00`,presetEveryDay9:`每天 09:00`,presetEveryMonday:`每周一 09:00`,presetEveryMonth:`每月 1 日 09:00`,prompt:`提示词`,promptPlaceholder:`要执行的内容`,deliverTarget:`投递目标`,origin:`来源`,local:`本地`,repeatCount:`重复次数(可选)`,repeatPlaceholder:`留空表示无限重复`,jobCreated:`任务已创建`,jobUpdated:`任务已更新`,nameRequired:`名称为必填项`,scheduleRequired:`调度表达式为必填项`,loadFailed:`加载任务失败`,jobPaused:`任务已暂停`,jobResumed:`任务已恢复`,jobTriggered:`任务已触发`,jobDeleted:`任务已删除`,status:{running:`运行中`,paused:`已暂停`,disabled:`已禁用`,scheduled:`已调度`},info:{schedule:`调度`,lastRun:`上次运行`,nextRun:`下次运行`,deliver:`投递`,repeat:`重复`},action:{pause:`暂停`,pauseJob:`暂停任务`,resume:`恢复`,resumeJob:`恢复任务`,runNow:`立即运行`,triggerImmediately:`立即触发`}},skills:{title:`技能`,searchPlaceholder:`搜索技能...`,noMatch:`没有匹配的技能`,noSkills:`暂无技能`,backTo:`返回`,attachedFiles:`附件文件`,loadFailed:`加载技能失败`,fileLoadFailed:`加载文件失败`,toggleFailed:`切换技能状态失败`},memory:{title:`记忆`,refresh:`刷新`,loadFailed:`加载记忆失败`,myNotes:`我的笔记`,noNotes:`暂无笔记。`,notesPlaceholder:`输入笔记内容...`,userProfile:`用户画像`,noProfile:`暂无画像。`,profilePlaceholder:`输入用户画像...`,soul:`灵魂`,noSoul:`暂无灵魂配置。`,soulPlaceholder:`输入灵魂配置...`},models:{title:`模型`,addProvider:`添加 Provider`,providerType:`Provider 类型`,preset:`预设`,custom:`自定义`,selectProvider:`选择 Provider`,chooseProvider:`选择一个 provider...`,name:`名称`,autoGeneratedName:`根据 Base URL 自动生成`,baseUrl:`Base URL`,baseUrlPlaceholder:`例如 https://api.example.com/v1`,apiKey:`API Key`,apiKeyPlaceholder:`sk-...`,defaultModel:`默认模型`,selectModel:`选择模型...`,providerAdded:`Provider 已添加`,providerDeleted:`Provider 已删除`,deleteProvider:`删除 Provider`,deleteConfirm:`确定删除 "{name}" 吗?`,noProviders:`暂无 Provider,添加一个开始吧。`,builtIn:`内置`,customType:`自定义`,provider:`Provider`,local:`本地 ({host})`,selectProviderRequired:`请选择 Provider`,baseUrlRequired:`Base URL 为必填项`,apiKeyRequired:`API Key 为必填项`,modelRequired:`默认模型为必填项`,enterBaseUrl:`请先输入 Base URL`,unexpectedFormat:`响应格式异常`,foundModels:`找到 {count} 个模型`,fetchFailed:`获取模型失败`},profiles:{title:`配置`,create:`创建配置`,import:`导入`,export:`导出`,rename:`重命名`,delete:`删除`,switchTo:`切换到`,switchConfirm:`切换到配置 "{name}" 将重启网关,是否继续?`,switchSuccess:`已切换到配置 "{name}"`,switchFailed:`切换配置失败,网关可能需要手动重启`,createSuccess:`配置 "{name}" 已创建`,createFailed:`创建配置失败`,renameSuccess:`配置已重命名`,renameFailed:`重命名配置失败`,deleteConfirm:`确定删除配置 "{name}" 吗?`,deleteSuccess:`配置已删除`,deleteFailed:`删除配置失败`,exportSuccess:`配置已导出`,exportFailed:`导出配置失败`,importSuccess:`配置已导入`,importFailed:`导入配置失败`,importSelectFile:`选择归档文件`,importInvalidFile:`请选择有效的归档文件 (.tar.gz, .tgz, .gz, .zip)`,name:`配置名称`,namePlaceholder:`仅限英文、数字、连字符`,newName:`新名称`,newNamePlaceholder:`输入新名称`,cloneFromCurrent:`从当前配置克隆`,archivePath:`归档路径`,archivePathPlaceholder:`归档文件的服务器路径`,importName:`配置名称(可选)`,importNamePlaceholder:`留空则使用归档名称`,active:`活跃`,model:`模型`,gateway:`网关`,alias:`别名`,provider:`Provider`,path:`路径`,skills:`技能`,hasEnv:`有 .env`,hasSoulMd:`有 soul.md`,noProfiles:`暂无配置,创建一个开始吧。`},logs:{title:`日志`,all:`全部`,searchPlaceholder:`搜索...`,refresh:`刷新`,noEntries:`暂无日志`},settings:{title:`设置`,saved:`已保存`,saveFailed:`保存失败`,tabs:{display:`显示`,agent:`代理`,memory:`记忆`,session:`会话`,privacy:`隐私`,apiServer:`API 服务器`},display:{streaming:`流式响应`,streamingHint:`实时显示 AI 回复`,compact:`紧凑模式`,compactHint:`减少消息间距`,showReasoning:`显示推理过程`,showReasoningHint:`展示模型思考过程`,showCost:`显示费用`,showCostHint:`在回复中显示 token 使用量`,inlineDiffs:`内联差异`,inlineDiffsHint:`代码变更以内联方式显示`,bellOnComplete:`完成提示音`,bellOnCompleteHint:`AI 回复完成时播放提示音`,busyInputMode:`忙碌输入模式`,busyInputModeHint:`AI 处理中仍可输入`,theme:`主题`,themeHint:`选择浅色、暗色或跟随系统`,themeLight:`浅色`,themeDark:`暗色`,themeSystem:`跟随系统`},agent:{maxTurns:`最大轮次`,maxTurnsHint:`单次对话最大交互轮数`,gatewayTimeout:`网关超时`,gatewayTimeoutHint:`单次请求超时时间(秒)`,restartDrainTimeout:`重启排空超时`,restartDrainTimeoutHint:`重启前排空请求的超时时间(秒)`,toolEnforcement:`工具执行策略`,toolEnforcementHint:`控制工具调用的执行模式`,auto:`自动`,always:`始终`,never:`从不`},memory:{enabled:`启用记忆`,enabledHint:`允许 AI 记住对话上下文`,userProfile:`用户画像`,userProfileHint:`允许 AI 记住用户偏好信息`,charLimit:`记忆字符上限`,charLimitHint:`MEMORY.md 最大字符数`,userCharLimit:`用户画像字符上限`,userCharLimitHint:`USER.md 最大字符数`},session:{mode:`重置模式`,modeHint:`会话重置的触发条件`,modeBoth:`空闲 + 定时`,modeIdle:`仅空闲`,modeHourly:`仅定时`,idleMinutes:`空闲超时`,idleMinutesHint:`无操作后自动重置的等待时间(分钟)`,atHour:`定时重置时间`,atHourHint:`每天在指定小时重置会话`},privacy:{redactPii:`脱敏 PII`,redactPiiHint:`自动检测并隐藏敏感信息(密码、密钥等)`},apiServer:{enable:`启用`,enableHint:`启用 API 服务器`,host:`主机`,hostHint:`监听地址`,port:`端口`,portHint:`监听端口`,key:`密钥`,keyHint:`API 访问密钥`,cors:`CORS 来源`,corsHint:`允许的跨域来源`}},platform:{requireMention:`需要 {'@'}提及`,requireMentionGroup:`群组中需要 {'@'}机器人 才会响应`,requireMentionChannel:`频道中需要 {'@'}机器人 才会响应`,requireMentionRoom:`房间中需要 {'@'}机器人 才会响应`,reactions:`表情回应`,reactionsHint:`对消息添加表情回应`,freeResponseChats:`自由响应聊天`,freeResponseChatsHint:`不需要 {'@'}提及即响应的聊天 ID(逗号分隔)`,freeResponseChannels:`自由响应频道`,freeResponseChannelsHint:`不需要 {'@'}提及即响应的频道 ID(逗号分隔)`,freeResponseRooms:`自由响应房间`,freeResponseRoomsHint:`不需要 {'@'}提及即响应的房间 ID(逗号分隔)`,mentionPatterns:`自定义提及模式`,mentionPatternsHint:`额外的触发模式列表`,autoThread:`自动创建线程`,autoThreadHint:`{'@'}提及 后自动创建回复线程`,autoThreadHintRoom:`在房间中自动创建回复线程`,dmMentionThreads:`DM 提及线程`,dmMentionThreadsHint:`在私聊中也使用线程回复提及`,allowBots:`允许机器人消息`,allowBotsHint:`响应其他机器人发送的消息`,allowedChannels:`允许的频道`,allowedChannelsHint:`白名单频道 ID(逗号分隔)`,ignoredChannels:`忽略的频道`,ignoredChannelsHint:`不响应的频道 ID(逗号分隔)`,noThreadChannels:`无线程频道`,noThreadChannelsHint:`不创建线程的频道 ID(逗号分隔)`,botToken:`Bot Token`,botTokenHint:`开发者门户获取的 Bot Token`,accessToken:`Access Token`,accessTokenHint:`Matrix Access Token`,homeserver:`Homeserver URL`,homeserverHint:`Matrix 服务器地址`,appId:`App ID`,appIdHint:`飞书 App ID`,appSecret:`App Secret`,appSecretHint:`飞书 App Secret`,clientId:`Client ID`,clientIdHint:`钉钉 Client ID`,clientSecret:`Client Secret`,clientSecretHint:`钉钉 Client Secret`,botId:`Bot ID`,botIdHint:`企业微信 Bot ID`,wecomSecretHint:`企业微信 Bot Secret`,waEnabled:`启用 WhatsApp`,waEnabledHint:`通过二维码配对启用 WhatsApp`,weixinToken:`微信 Token`,weixinTokenHint:`通过 weixin CLI 扫码登录获取 (hermes weixin)`,accountId:`Account ID`,accountIdHint:`微信 Account ID`,qrLogin:`扫码登录`,qrRelogin:`重新登录`,qrFetching:`正在获取二维码...`,qrScanHint:`使用微信扫描二维码登录`,qrScanedHint:`已扫描,请在手机上确认...`},language:{label:`语言`,zh:`中文`,en:`English`},terminal:{sessions:`会话`,newTab:`新建终端`,closeSession:`关闭此会话?`,sessionExited:`已退出`,processExited:`进程已退出,代码 {code}`},usage:{title:`用量统计`,refresh:`刷新`,totalTokens:`总 Token 数`,inputTokens:`输入`,outputTokens:`输出`,totalSessions:`总会话数`,avgPerDay:`日均 ~{n}`,estimatedCost:`预估费用`,cacheHitRate:`缓存命中率`,modelBreakdown:`模型分布`,dailyTrend:`每日用量(近 30 天)`,date:`日期`,tokens:`Token`,cache:`缓存`,sessions:`会话`,cost:`费用`,noData:`暂无用量数据`}},At={login:{title:`Hermes Web UI`,description:`アクセストークンを入力して続行してください。サーバーの起動ログで確認できます。`,placeholder:`アクセストークン`,submit:`ログイン`,tokenRequired:`アクセストークンを入力してください`,invalidToken:`無効なトークンです`,connectionFailed:`サーバーに接続できません`},common:{loading:`読み込み中...`,cancel:`キャンセル`,delete:`削除`,edit:`編集`,save:`保存`,saved:`保存しました`,update:`更新`,create:`作成`,saveFailed:`保存に失敗しました`,ok:`OK`,copied:`コピーしました`,copy:`コピー`,noData:`データがありません`,fetch:`取得`,add:`追加`,enable:`有効化`,disable:`無効化`,configured:`設定済み`,notConfigured:`未設定`,confirm:`確認`,expand:`展開`,collapse:`折りたたむ`},sidebar:{chat:`チャット`,jobs:`ジョブ`,models:`モデル`,profiles:`プロファイル`,skills:`スキル`,memory:`メモリ`,logs:`ログ`,usage:`使用量`,channels:`チャンネル`,terminal:`ターミナル`,settings:`設定`,connected:`接続済み`,disconnected:`未接続`,updateTip:`ターミナルで "hermes-web-ui update" を実行して更新してください`,updateVersion:`v{version} にアップグレード`,updating:`更新中...`,updateSuccess:`更新が完了しました。サーバーを再起動してください`,updateFailed:`更新に失敗しました`},chat:{emptyState:`Hermes Agent と会話を開始しましょう`,inputPlaceholder:`メッセージを入力... (Enter で送信、Shift+Enter で改行)`,attachFiles:`ファイルを添付`,stop:`停止`,send:`送信`,contextUsed:`コンテキスト使用量:`,sessions:`セッション`,noSessions:`セッションがありません`,newChat:`新しいチャット`,deleteSession:`このセッションを削除しますか?`,sessionDeleted:`セッションを削除しました`,rename:`名前変更`,copySessionId:`セッション ID をコピー`,renamed:`名前を変更しました`,renameFailed:`名前の変更に失敗しました`,renameSession:`セッション名の変更`,enterNewTitle:`新しいタイトルを入力`,other:`その他`,runFailed:`実行に失敗しました`,error:`エラー`,tool:`ツール`,arguments:`引数`,result:`結果`,truncated:`... (省略)`},jobs:{title:`スケジュールジョブ`,createJob:`ジョブを作成`,editJob:`ジョブを編集`,noJobs:`スケジュールジョブがありません。作成して始めましょう。`,name:`名前`,namePlaceholder:`ジョブ名`,schedule:`スケジュール (Cron 式)`,schedulePlaceholder:`例: 0 9 * * *`,quickPresets:`クイックプリセット`,selectPreset:`プリセットを選択...`,presetEveryMinute:`毎分`,presetEvery5Min:`5分ごと`,presetEveryHour:`毎時`,presetEveryDay:`毎日 00:00`,presetEveryDay9:`毎日 09:00`,presetEveryMonday:`毎週月曜 09:00`,presetEveryMonth:`毎月1日 09:00`,prompt:`プロンプト`,promptPlaceholder:`実行するプロンプト`,deliverTarget:`配信先`,origin:`配信元`,local:`ローカル`,repeatCount:`繰り返し回数(任意)`,repeatPlaceholder:`空白の場合は無制限`,jobCreated:`ジョブを作成しました`,jobUpdated:`ジョブを更新しました`,nameRequired:`名前は必須です`,scheduleRequired:`スケジュールは必須です`,loadFailed:`ジョブの読み込みに失敗しました`,jobPaused:`ジョブを一時停止しました`,jobResumed:`ジョブを再開しました`,jobTriggered:`ジョブをトリガーしました`,jobDeleted:`ジョブを削除しました`,status:{running:`実行中`,paused:`一時停止`,disabled:`無効`,scheduled:`スケジュール済み`},info:{schedule:`スケジュール`,lastRun:`前回実行`,nextRun:`次回実行`,deliver:`配信`,repeat:`繰り返し`},action:{pause:`一時停止`,pauseJob:`ジョブを一時停止`,resume:`再開`,resumeJob:`ジョブを再開`,runNow:`今すぐ実行`,triggerImmediately:`すぐにトリガー`}},skills:{title:`スキル`,searchPlaceholder:`スキルを検索...`,noMatch:`検索に一致するスキルがありません`,noSkills:`スキルがありません`,backTo:`戻る`,attachedFiles:`添付ファイル`,loadFailed:`スキルの読み込みに失敗しました`,fileLoadFailed:`ファイルの読み込みに失敗しました`,toggleFailed:`スキルの切り替えに失敗しました`},memory:{title:`メモリ`,refresh:`更新`,loadFailed:`メモリの読み込みに失敗しました`,myNotes:`メモ`,noNotes:`メモはまだありません。`,notesPlaceholder:`メモを入力...`,userProfile:`ユーザープロファイル`,noProfile:`プロファイルはまだありません。`,profilePlaceholder:`プロファイルを入力...`,soul:`ソウル`,noSoul:`ソウル設定はまだありません。`,soulPlaceholder:`ソウル設定を入力...`},models:{title:`モデル`,addProvider:`プロバイダーを追加`,providerType:`プロバイダー種別`,preset:`プリセット`,custom:`カスタム`,selectProvider:`プロバイダーを選択`,chooseProvider:`プロバイダーを選択...`,name:`名前`,autoGeneratedName:`ベース URL から自動生成`,baseUrl:`ベース URL`,baseUrlPlaceholder:`例: https://api.example.com/v1`,apiKey:`API キー`,apiKeyPlaceholder:`sk-...`,defaultModel:`デフォルトモデル`,selectModel:`モデルを選択...`,providerAdded:`プロバイダーを追加しました`,providerDeleted:`プロバイダーを削除しました`,deleteProvider:`プロバイダーを削除`,deleteConfirm:`「{name}」を削除しますか?`,noProviders:`プロバイダーがありません。カスタムプロバイダーを追加して始めましょう。`,builtIn:`組み込み`,customType:`カスタム`,provider:`プロバイダー`,local:`ローカル ({host})`,selectProviderRequired:`プロバイダーを選択してください`,baseUrlRequired:`ベース URL は必須です`,apiKeyRequired:`API キーは必須です`,modelRequired:`デフォルトモデルは必須です`,enterBaseUrl:`ベース URL を先に入力してください`,unexpectedFormat:`予期しないレスポンス形式です`,foundModels:`{count} 個のモデルが見つかりました`,fetchFailed:`モデルの取得に失敗しました`},profiles:{title:`プロファイル`,create:`プロファイルを作成`,import:`インポート`,export:`エクスポート`,rename:`名前変更`,delete:`削除`,switchTo:`切り替え`,switchConfirm:`プロファイル「{name}」に切り替えるとゲートウェイが再起動されます。続行しますか?`,switchSuccess:`プロファイル「{name}」に切り替えました`,switchFailed:`プロファイルの切り替えに失敗しました。ゲートウェイの手動再起動が必要な場合があります。`,createSuccess:`プロファイル「{name}」を作成しました`,createFailed:`プロファイルの作成に失敗しました`,renameSuccess:`プロファイル名を変更しました`,renameFailed:`プロファイル名の変更に失敗しました`,deleteConfirm:`プロファイル「{name}」を削除しますか?`,deleteSuccess:`プロファイルを削除しました`,deleteFailed:`プロファイルの削除に失敗しました`,exportSuccess:`プロファイルをエクスポートしました`,exportFailed:`プロファイルのエクスポートに失敗しました`,importSuccess:`プロファイルをインポートしました`,importFailed:`プロファイルのインポートに失敗しました`,importSelectFile:`アーカイブファイルを選択`,importInvalidFile:`有効なアーカイブファイルを選択してください (.tar.gz, .tgz, .gz, .zip)`,name:`プロファイル名`,namePlaceholder:`英数字、ハイフンのみ`,newName:`新しい名前`,newNamePlaceholder:`新しい名前を入力`,cloneFromCurrent:`現在のプロファイルから複製`,archivePath:`アーカイブパス`,archivePathPlaceholder:`アーカイブファイルのサーバーパス`,importName:`プロファイル名(任意)`,importNamePlaceholder:`空白の場合はアーカイブ名を使用`,active:`アクティブ`,model:`モデル`,gateway:`ゲートウェイ`,alias:`エイリアス`,provider:`プロバイダー`,path:`パス`,skills:`スキル`,hasEnv:`.env あり`,hasSoulMd:`soul.md あり`,noProfiles:`プロファイルがありません。作成して始めましょう。`},logs:{title:`ログ`,all:`すべて`,searchPlaceholder:`検索...`,refresh:`更新`,noEntries:`ログエントリがありません`},settings:{title:`設定`,saved:`保存しました`,saveFailed:`保存に失敗しました`,tabs:{display:`表示`,agent:`エージェント`,memory:`メモリ`,session:`セッション`,privacy:`プライバシー`,apiServer:`API サーバー`},display:{streaming:`ストリームレスポンス`,streamingHint:`AI の返信をリアルタイムで表示`,compact:`コンパクトモード`,compactHint:`メッセージの間隔を狭める`,showReasoning:`推論過程を表示`,showReasoningHint:`モデルの思考プロセスを表示`,showCost:`コストを表示`,showCostHint:`返信にトークン使用量を表示`,inlineDiffs:`インライン差分`,inlineDiffsHint:`コード変更をインラインで表示`,bellOnComplete:`完了通知音`,bellOnCompleteHint:`AI の応答完了時に通知音を再生`,busyInputMode:`処理中入力モード`,busyInputModeHint:`AI 処理中でも入力を許可`,theme:`テーマ`,themeHint:`ライト、ダーク、またはシステム設定に従う`,themeLight:`ライト`,themeDark:`ダーク`,themeSystem:`システム`},agent:{maxTurns:`最大ターン数`,maxTurnsHint:`1回の会話の最大インタラクション回数`,gatewayTimeout:`ゲートウェイタイムアウト`,gatewayTimeoutHint:`リクエストタイムアウト(秒)`,restartDrainTimeout:`再起動ドレインタイムアウト`,restartDrainTimeoutHint:`再起動前のドレインタイムアウト(秒)`,toolEnforcement:`ツール実行ポリシー`,toolEnforcementHint:`ツール呼び出しの実行モードを制御`,auto:`自動`,always:`常に`,never:`しない`},memory:{enabled:`メモリを有効化`,enabledHint:`AI に会話コンテキストを記憶させる`,userProfile:`ユーザープロファイル`,userProfileHint:`AI にユーザーの設定を記憶させる`,charLimit:`メモリ文字数上限`,charLimitHint:`MEMORY.md の最大文字数`,userCharLimit:`ユーザープロファイル文字数上限`,userCharLimitHint:`USER.md の最大文字数`},session:{mode:`リセットモード`,modeHint:`セッションリセットのトリガー条件`,modeBoth:`アイドル + スケジュール`,modeIdle:`アイドルのみ`,modeHourly:`スケジュールのみ`,idleMinutes:`アイドルタイムアウト`,idleMinutesHint:`自動リセットまでの待機時間(分)`,atHour:`スケジュールリセット時刻`,atHourHint:`毎日指定時刻にセッションをリセット`},privacy:{redactPii:`個人情報のマスキング`,redactPiiHint:`機密情報を自動検出して隠す(パスワード、キーなど)`},apiServer:{enable:`有効化`,enableHint:`API サーバーを有効にする`,host:`ホスト`,hostHint:`リッスンアドレス`,port:`ポート`,portHint:`リッスンポート`,key:`キー`,keyHint:`API アクセスキー`,cors:`CORS 許可元`,corsHint:`許可するクロスオリジン`}},platform:{requireMention:`メンションが必要`,requireMentionGroup:`グループで応答するには {'@'}メンションが必要`,requireMentionChannel:`チャンネルで応答するには {'@'}メンションが必要`,requireMentionRoom:`ルームで応答するには {'@'}メンションが必要`,reactions:`リアクション`,reactionsHint:`メッセージに絵文字でリアクションする`,freeResponseChats:`自由応答チャット`,freeResponseChatsHint:`{'@'}メンションなしで応答するチャット ID(カンマ区切り)`,freeResponseChannels:`自由応答チャンネル`,freeResponseChannelsHint:`{'@'}メンションなしで応答するチャンネル ID(カンマ区切り)`,freeResponseRooms:`自由応答ルーム`,freeResponseRoomsHint:`{'@'}メンションなしで応答するルーム ID(カンマ区切り)`,mentionPatterns:`カスタムメンションパターン`,mentionPatternsHint:`追加のトリガーパターン`,autoThread:`自動スレッド`,autoThreadHint:`{'@'}メンション後に自動で返信スレッドを作成`,autoThreadHintRoom:`ルームで自動的に返信スレッドを作成`,dmMentionThreads:`DM メンションスレッド`,dmMentionThreadsHint:`DM 内のメンションにスレッド返信を使用`,allowBots:`ボットメッセージを許可`,allowBotsHint:`他のボットからのメッセージに応答する`,allowedChannels:`許可チャンネル`,allowedChannelsHint:`ホワイトリストのチャンネル ID(カンマ区切り)`,ignoredChannels:`除外チャンネル`,ignoredChannelsHint:`ボットが応答しないチャンネル ID(カンマ区切り)`,noThreadChannels:`スレッドなしチャンネル`,noThreadChannelsHint:`スレッドなしで応答するチャンネル ID(カンマ区切り)`,botToken:`ボットトークン`,botTokenHint:`開発者ポータルから取得したボットトークン`,accessToken:`アクセストークン`,accessTokenHint:`Matrix アクセストークン`,homeserver:`Homeserver URL`,homeserverHint:`Matrix ホームサーバー URL`,appId:`App ID`,appIdHint:`Feishu App ID`,appSecret:`App Secret`,appSecretHint:`Feishu App Secret`,clientId:`Client ID`,clientIdHint:`DingTalk Client ID`,clientSecret:`Client Secret`,clientSecretHint:`DingTalk Client Secret`,botId:`Bot ID`,botIdHint:`WeCom Bot ID`,wecomSecretHint:`WeCom Bot Secret`,waEnabled:`WhatsApp を有効化`,waEnabledHint:`QR コードペアリングで WhatsApp を有効にする`,weixinToken:`Weixin トークン`,weixinTokenHint:`weixin CLI の QR ログインから取得 (hermes weixin)`,accountId:`Account ID`,accountIdHint:`Weixin アカウント ID`,qrLogin:`QR ログイン`,qrRelogin:`再ログイン`,qrFetching:`QR コードを取得中...`,qrScanHint:`WeChat でスキャンしてログイン`,qrScanedHint:`スキャン済み、スマートフォンで確認してください...`},language:{label:`言語`,zh:`中文`,en:`English`,ja:`日本語`},terminal:{sessions:`セッション`,newTab:`新しいターミナル`,closeSession:`このセッションを閉じますか?`,sessionExited:`終了しました`,processExited:`プロセスが終了しました(コード {code})`},usage:{title:`使用統計`,refresh:`更新`,totalTokens:`総トークン数`,inputTokens:`入力`,outputTokens:`出力`,totalSessions:`総セッション数`,avgPerDay:`1日平均 ~{n}`,estimatedCost:`推定コスト`,cacheHitRate:`キャッシュヒット率`,modelBreakdown:`モデル別内訳`,dailyTrend:`日別使用量(過去30日間)`,date:`日付`,tokens:`トークン`,cache:`キャッシュ`,sessions:`セッション`,cost:`コスト`,noData:`使用データがありません`}},jt={login:{title:`Hermes Web UI`,description:`계속하려면 액세스 토큰을 입력하세요. 서버 시작 로그에서 확인할 수 있습니다.`,placeholder:`액세스 토큰`,submit:`로그인`,tokenRequired:`액세스 토큰을 입력해 주세요`,invalidToken:`유효하지 않은 토큰입니다`,connectionFailed:`서버에 연결할 수 없습니다`},common:{loading:`로딩 중...`,cancel:`취소`,delete:`삭제`,edit:`편집`,save:`저장`,saved:`저장됨`,update:`업데이트`,create:`생성`,saveFailed:`저장 실패`,ok:`확인`,copied:`복사됨`,copy:`복사`,noData:`데이터 없음`,fetch:`가져오기`,add:`추가`,enable:`활성화`,disable:`비활성화`,configured:`구성됨`,notConfigured:`미구성`,confirm:`확인`,expand:`펼치기`,collapse:`접기`},sidebar:{chat:`채팅`,jobs:`예약 작업`,models:`모델`,profiles:`프로필`,skills:`스킬`,memory:`메모리`,logs:`로그`,usage:`사용량`,channels:`채널`,terminal:`터미널`,settings:`설정`,connected:`연결됨`,disconnected:`연결 끊김`,updateTip:`터미널에서 "hermes-web-ui update"를 실행하여 업데이트하세요`,updateVersion:`v{version}(으)로 업그레이드`,updating:`업데이트 중...`,updateSuccess:`업데이트 완료, 서버를 재시작해 주세요`,updateFailed:`업데이트 실패`},chat:{emptyState:`Hermes Agent와 대화를 시작하세요`,inputPlaceholder:`메시지를 입력하세요... (Enter로 전송, Shift+Enter로 줄바꿈)`,attachFiles:`파일 첨부`,stop:`중지`,send:`전송`,contextUsed:`사용된 컨텍스트:`,sessions:`세션`,noSessions:`세션 없음`,newChat:`새 채팅`,deleteSession:`이 세션을 삭제하시겠습니까?`,sessionDeleted:`세션이 삭제되었습니다`,rename:`이름 변경`,copySessionId:`세션 ID 복사`,renamed:`이름이 변경되었습니다`,renameFailed:`이름 변경 실패`,renameSession:`세션 이름 변경`,enterNewTitle:`새 제목을 입력하세요`,other:`기타`,runFailed:`실행 실패`,error:`오류`,tool:`도구`,arguments:`인수`,result:`결과`,truncated:`... (잘림)`},jobs:{title:`예약 작업`,createJob:`작업 생성`,editJob:`작업 편집`,noJobs:`예약된 작업이 없습니다. 새로 만들어 시작하세요.`,name:`이름`,namePlaceholder:`작업 이름`,schedule:`스케줄 (Cron 표현식)`,schedulePlaceholder:`예: 0 9 * * *`,quickPresets:`빠른 프리셋`,selectPreset:`프리셋 선택...`,presetEveryMinute:`매 분`,presetEvery5Min:`매 5분`,presetEveryHour:`매 시간`,presetEveryDay:`매일 00:00`,presetEveryDay9:`매일 09:00`,presetEveryMonday:`매주 월요일 09:00`,presetEveryMonth:`매월 1일 09:00`,prompt:`프롬프트`,promptPlaceholder:`실행할 프롬프트`,deliverTarget:`전송 대상`,origin:`출처`,local:`로컬`,repeatCount:`반복 횟수 (선택)`,repeatPlaceholder:`비워두면 무한 반복`,jobCreated:`작업이 생성되었습니다`,jobUpdated:`작업이 업데이트되었습니다`,nameRequired:`이름을 입력해 주세요`,scheduleRequired:`스케줄을 입력해 주세요`,loadFailed:`작업을 불러오지 못했습니다`,jobPaused:`작업이 일시 정지되었습니다`,jobResumed:`작업이 재개되었습니다`,jobTriggered:`작업이 실행되었습니다`,jobDeleted:`작업이 삭제되었습니다`,status:{running:`실행 중`,paused:`일시 정지`,disabled:`비활성화`,scheduled:`예약됨`},info:{schedule:`스케줄`,lastRun:`마지막 실행`,nextRun:`다음 실행`,deliver:`전송`,repeat:`반복`},action:{pause:`일시 정지`,pauseJob:`작업 일시 정지`,resume:`재개`,resumeJob:`작업 재개`,runNow:`즉시 실행`,triggerImmediately:`즉시 실행`}},skills:{title:`스킬`,searchPlaceholder:`스킬 검색...`,noMatch:`검색과 일치하는 스킬이 없습니다`,noSkills:`스킬을 찾을 수 없습니다`,backTo:`돌아가기`,attachedFiles:`첨부 파일`,loadFailed:`스킬을 불러오지 못했습니다`,fileLoadFailed:`파일을 불러오지 못했습니다`,toggleFailed:`스킬 상태를 전환하지 못했습니다`},memory:{title:`메모리`,refresh:`새로고침`,loadFailed:`메모리를 불러오지 못했습니다`,myNotes:`내 메모`,noNotes:`메모가 없습니다.`,notesPlaceholder:`메모를 작성하세요...`,userProfile:`사용자 프로필`,noProfile:`프로필이 없습니다.`,profilePlaceholder:`프로필을 작성하세요...`,soul:`소울`,noSoul:`소울 설정이 없습니다.`,soulPlaceholder:`소울 설정을 작성하세요...`},models:{title:`모델`,addProvider:`Provider 추가`,providerType:`Provider 유형`,preset:`프리셋`,custom:`사용자 지정`,selectProvider:`Provider 선택`,chooseProvider:`Provider를 선택하세요...`,name:`이름`,autoGeneratedName:`Base URL에서 자동 생성`,baseUrl:`Base URL`,baseUrlPlaceholder:`예: https://api.example.com/v1`,apiKey:`API Key`,apiKeyPlaceholder:`sk-...`,defaultModel:`기본 모델`,selectModel:`모델 선택...`,providerAdded:`Provider가 추가되었습니다`,providerDeleted:`Provider가 삭제되었습니다`,deleteProvider:`Provider 삭제`,deleteConfirm:`"{name}"을(를) 삭제하시겠습니까?`,noProviders:`Provider가 없습니다. 사용자 지정 Provider를 추가하여 시작하세요.`,builtIn:`내장`,customType:`사용자 지정`,provider:`Provider`,local:`로컬 ({host})`,selectProviderRequired:`Provider를 선택해 주세요`,baseUrlRequired:`Base URL을 입력해 주세요`,apiKeyRequired:`API Key를 입력해 주세요`,modelRequired:`기본 모델을 선택해 주세요`,enterBaseUrl:`먼저 Base URL을 입력해 주세요`,unexpectedFormat:`예상치 못한 응답 형식입니다`,foundModels:`{count}개의 모델을 찾았습니다`,fetchFailed:`모델을 가져오지 못했습니다`},profiles:{title:`프로필`,create:`프로필 생성`,import:`가져오기`,export:`내보내기`,rename:`이름 변경`,delete:`삭제`,switchTo:`전환`,switchConfirm:`프로필 "{name}"(으)로 전환하면 게이트웨이가 재시작됩니다. 계속하시겠습니까?`,switchSuccess:`프로필 "{name}"(으)로 전환되었습니다`,switchFailed:`프로필 전환 실패. 게이트웨이를 수동으로 재시작해야 할 수 있습니다.`,createSuccess:`프로필 "{name}"이(가) 생성되었습니다`,createFailed:`프로필 생성 실패`,renameSuccess:`프로필 이름이 변경되었습니다`,renameFailed:`프로필 이름 변경 실패`,deleteConfirm:`프로필 "{name}"을(를) 삭제하시겠습니까?`,deleteSuccess:`프로필이 삭제되었습니다`,deleteFailed:`프로필 삭제 실패`,exportSuccess:`프로필이 내보내기되었습니다`,exportFailed:`프로필 내보내기 실패`,importSuccess:`프로필이 가져오기되었습니다`,importFailed:`프로필 가져오기 실패`,importSelectFile:`아카이브 파일 선택`,importInvalidFile:`유효한 아카이브 파일을 선택해 주세요 (.tar.gz, .tgz, .gz, .zip)`,name:`프로필 이름`,namePlaceholder:`영문, 숫자, 하이픈만 사용 가능`,newName:`새 이름`,newNamePlaceholder:`새 이름을 입력하세요`,cloneFromCurrent:`현재 프로필에서 복제`,archivePath:`아카이브 경로`,archivePathPlaceholder:`아카이브 파일의 서버 경로`,importName:`프로필 이름 (선택)`,importNamePlaceholder:`비워두면 아카이브 이름을 사용합니다`,active:`활성`,model:`모델`,gateway:`게이트웨이`,alias:`별칭`,provider:`Provider`,path:`경로`,skills:`스킬`,hasEnv:`.env 있음`,hasSoulMd:`soul.md 있음`,noProfiles:`프로필이 없습니다. 새로 만들어 시작하세요.`},logs:{title:`로그`,all:`전체`,searchPlaceholder:`검색...`,refresh:`새로고침`,noEntries:`로그 항목 없음`},settings:{title:`설정`,saved:`저장됨`,saveFailed:`저장 실패`,tabs:{display:`표시`,agent:`에이전트`,memory:`메모리`,session:`세션`,privacy:`개인정보`,apiServer:`API 서버`},display:{streaming:`스트리밍 응답`,streamingHint:`AI 응답을 실시간으로 표시`,compact:`컴팩트 모드`,compactHint:`메시지 간격 줄이기`,showReasoning:`추론 과정 표시`,showReasoningHint:`모델의 생각 과정 표시`,showCost:`비용 표시`,showCostHint:`응답에 토큰 사용량 표시`,inlineDiffs:`인라인 변경사항`,inlineDiffsHint:`코드 변경사항을 인라인으로 표시`,bellOnComplete:`완료 알림음`,bellOnCompleteHint:`AI 응답 완료 시 알림음 재생`,busyInputMode:`바쁨 입력 모드`,busyInputModeHint:`AI 처리 중에도 입력 허용`,theme:`테마`,themeHint:`라이트, 다크 또는 시스템 설정 따르기`,themeLight:`라이트`,themeDark:`다크`,themeSystem:`시스템`},agent:{maxTurns:`최대 턴 수`,maxTurnsHint:`대화당 최대 상호작용 라운드 수`,gatewayTimeout:`게이트웨이 시간초과`,gatewayTimeoutHint:`요청 시간초과 (초)`,restartDrainTimeout:`재시작 드레인 시간초과`,restartDrainTimeoutHint:`재시작 전 드레인 시간초과 (초)`,toolEnforcement:`도구 실행 정책`,toolEnforcementHint:`도구 호출 실행 모드 제어`,auto:`자동`,always:`항상`,never:`사용 안 함`},memory:{enabled:`메모리 활성화`,enabledHint:`AI가 대화 컨텍스트를 기억하도록 허용`,userProfile:`사용자 프로필`,userProfileHint:`AI가 사용자 선호를 기억하도록 허용`,charLimit:`메모리 문자 제한`,charLimitHint:`MEMORY.md 최대 문자 수`,userCharLimit:`사용자 프로필 문자 제한`,userCharLimitHint:`USER.md 최대 문자 수`},session:{mode:`초기화 모드`,modeHint:`세션 초기화 트리거 조건`,modeBoth:`유휴 + 예약`,modeIdle:`유휴만`,modeHourly:`예약만`,idleMinutes:`유휴 시간초과`,idleMinutesHint:`자동 초기화 대기 시간 (분)`,atHour:`예약 초기화 시간`,atHourHint:`매일 지정한 시간에 세션 초기화`},privacy:{redactPii:`개인정보 마스킹`,redactPiiHint:`민감 정보 자동 감지 및 숨김 (비밀번호, 키 등)`},apiServer:{enable:`활성화`,enableHint:`API 서버 활성화`,host:`호스트`,hostHint:`수신 주소`,port:`포트`,portHint:`수신 포트`,key:`키`,keyHint:`API 접근 키`,cors:`CORS 출처`,corsHint:`허용된 교차 출처`}},platform:{requireMention:`{'@'}멘션 필요`,requireMentionGroup:`그룹에서 {'@'}멘션 시에만 응답`,requireMentionChannel:`채널에서 {'@'}멘션 시에만 응답`,requireMentionRoom:`방에서 {'@'}멘션 시에만 응답`,reactions:`반응`,reactionsHint:`메시지에 이모지 반응`,freeResponseChats:`자유 응답 채팅`,freeResponseChatsHint:`{'@'}멘션 없이 응답할 채팅 ID (쉼표로 구분)`,freeResponseChannels:`자유 응답 채널`,freeResponseChannelsHint:`{'@'}멘션 없이 응답할 채널 ID (쉼표로 구분)`,freeResponseRooms:`자유 응답 방`,freeResponseRoomsHint:`{'@'}멘션 없이 응답할 방 ID (쉼표로 구분)`,mentionPatterns:`사용자 지정 멘션 패턴`,mentionPatternsHint:`추가 트리거 패턴`,autoThread:`자동 스레드`,autoThreadHint:`{'@'}멘션 후 자동으로 스레드 생성`,autoThreadHintRoom:`방에서 자동으로 스레드 생성`,dmMentionThreads:`DM 멘션 스레드`,dmMentionThreadsHint:`DM에서 멘션 시 스레드로 응답`,allowBots:`봇 메시지 허용`,allowBotsHint:`다른 봇의 메시지에 응답`,allowedChannels:`허용된 채널`,allowedChannelsHint:`채널 ID 허용 목록 (쉼표로 구분)`,ignoredChannels:`무시할 채널`,ignoredChannelsHint:`봇이 응답하지 않는 채널 ID (쉼표로 구분)`,noThreadChannels:`스레드 없는 채널`,noThreadChannelsHint:`스레드 없이 응답할 채널 ID (쉼표로 구분)`,botToken:`Bot Token`,botTokenHint:`개발자 포털에서 발급받은 Bot Token`,accessToken:`Access Token`,accessTokenHint:`Matrix Access Token`,homeserver:`Homeserver URL`,homeserverHint:`Matrix 홈서버 URL`,appId:`App ID`,appIdHint:`Feishu App ID`,appSecret:`App Secret`,appSecretHint:`Feishu App Secret`,clientId:`Client ID`,clientIdHint:`DingTalk Client ID`,clientSecret:`Client Secret`,clientSecretHint:`DingTalk Client Secret`,botId:`Bot ID`,botIdHint:`WeCom Bot ID`,wecomSecretHint:`WeCom Bot Secret`,waEnabled:`WhatsApp 활성화`,waEnabledHint:`QR 코드 페어링으로 WhatsApp 활성화`,weixinToken:`Weixin Token`,weixinTokenHint:`weixin CLI QR 로그인에서 가져오기 (hermes weixin)`,accountId:`Account ID`,accountIdHint:`Weixin Account ID`,qrLogin:`QR 로그인`,qrRelogin:`다시 로그인`,qrFetching:`QR 코드를 가져오는 중...`,qrScanHint:`WeChat으로 QR 코드를 스캔하여 로그인`,qrScanedHint:`스캔됨, 휴대폰에서 확인해 주세요...`},language:{label:`언어`,zh:`中文`,en:`English`,ko:`한국어`},terminal:{sessions:`세션`,newTab:`새 터미널`,closeSession:`이 세션을 닫으시겠습니까?`,sessionExited:`종료됨`,processExited:`프로세스가 종료되었습니다 (코드 {code})`},usage:{title:`사용량 통계`,refresh:`새로고침`,totalTokens:`총 토큰 수`,inputTokens:`입력`,outputTokens:`출력`,totalSessions:`총 세션 수`,avgPerDay:`일평균 ~{n}`,estimatedCost:`예상 비용`,cacheHitRate:`캐시 적중률`,modelBreakdown:`모델별 분포`,dailyTrend:`일별 사용량 (최근 30일)`,date:`날짜`,tokens:`토큰`,cache:`캐시`,sessions:`세션`,cost:`비용`,noData:`사용량 데이터 없음`}},Mt={login:{title:`Hermes Web UI`,description:`Entrez votre jeton d'acces pour continuer. Retrouvez-le dans les journaux de demarrage du serveur.`,placeholder:`Jeton d'acces`,submit:`Connexion`,tokenRequired:`Veuillez entrer votre jeton d'acces`,invalidToken:`Jeton invalide`,connectionFailed:`Impossible de se connecter au serveur`},common:{loading:`Chargement...`,cancel:`Annuler`,delete:`Supprimer`,edit:`Modifier`,save:`Enregistrer`,saved:`Enregistre`,update:`Mettre a jour`,create:`Creer`,saveFailed:`Echec de l'enregistrement`,ok:`OK`,copied:`Copie`,copy:`Copier`,noData:`Aucune donnee`,fetch:`Recuperer`,add:`Ajouter`,enable:`Activer`,disable:`Desactiver`,configured:`Configure`,notConfigured:`Non configure`,confirm:`Confirmer`,expand:`Developper`,collapse:`Reduire`},sidebar:{chat:`Discussion`,jobs:`Taches planifiees`,models:`Modeles`,profiles:`Profils`,skills:`Competences`,memory:`Memoire`,logs:`Journaux`,usage:`Utilisation`,channels:`Canaux`,terminal:`Terminal`,settings:`Parametres`,connected:`Connecte`,disconnected:`Deconnecte`,updateTip:`Executez "hermes-web-ui update" dans le terminal pour mettre a jour`,updateVersion:`Mettre a jour vers v{version}`,updating:`Mise a jour...`,updateSuccess:`Mise a jour terminee, veuillez redemarrer le serveur`,updateFailed:`Echec de la mise a jour`},chat:{emptyState:`Demarrer une conversation avec Hermes Agent`,inputPlaceholder:`Tapez un message... (Entree pour envoyer, Shift+Entree pour un saut de ligne)`,attachFiles:`Joindre des fichiers`,stop:`Arreter`,send:`Envoyer`,contextUsed:`Contexte utilise :`,sessions:`Sessions`,noSessions:`Aucune session`,newChat:`Nouvelle discussion`,deleteSession:`Supprimer cette session ?`,sessionDeleted:`Session supprimee`,rename:`Renommer`,copySessionId:`Copier l'ID de session`,renamed:`Renomme`,renameFailed:`Echec du renommage`,renameSession:`Renommer la session`,enterNewTitle:`Entrez un nouveau titre`,other:`Autre`,runFailed:`Echec de l'execution`,error:`Erreur`,tool:`Outil`,arguments:`Arguments`,result:`Resultat`,truncated:`... (tronque)`},jobs:{title:`Taches planifiees`,createJob:`Creer une tache`,editJob:`Modifier la tache`,noJobs:`Aucune tache planifiee. Creez-en une pour commencer.`,name:`Nom`,namePlaceholder:`Nom de la tache`,schedule:`Planification (expression Cron)`,schedulePlaceholder:`ex. 0 9 * * *`,quickPresets:`Presets rapides`,selectPreset:`Selectionner un preset...`,presetEveryMinute:`Chaque minute`,presetEvery5Min:`Toutes les 5 minutes`,presetEveryHour:`Chaque heure`,presetEveryDay:`Tous les jours a 00:00`,presetEveryDay9:`Tous les jours a 09:00`,presetEveryMonday:`Chaque lundi a 09:00`,presetEveryMonth:`Le 1er de chaque mois a 09:00`,prompt:`Invite`,promptPlaceholder:`L'invite a executer`,deliverTarget:`Cible de livraison`,origin:`Origine`,local:`Local`,repeatCount:`Nombre de repetitions (facultatif)`,repeatPlaceholder:`Laisser vide pour infini`,jobCreated:`Tache creee`,jobUpdated:`Tache mise a jour`,nameRequired:`Le nom est requis`,scheduleRequired:`La planification est requise`,loadFailed:`Echec du chargement de la tache`,jobPaused:`Tache en pause`,jobResumed:`Tache reprise`,jobTriggered:`Tache declenchee`,jobDeleted:`Tache supprimee`,status:{running:`En cours`,paused:`En pause`,disabled:`Desactivee`,scheduled:`Planifiee`},info:{schedule:`Planification`,lastRun:`Derniere execution`,nextRun:`Prochaine execution`,deliver:`Livraison`,repeat:`Repetition`},action:{pause:`Pause`,pauseJob:`Mettre en pause`,resume:`Reprendre`,resumeJob:`Reprendre la tache`,runNow:`Executer maintenant`,triggerImmediately:`Declencher immediatement`}},skills:{title:`Competences`,searchPlaceholder:`Rechercher des competences...`,noMatch:`Aucune competence ne correspond a votre recherche`,noSkills:`Aucune competence trouvee`,backTo:`Retour a`,attachedFiles:`Fichiers joints`,loadFailed:`Echec du chargement de la competence`,fileLoadFailed:`Echec du chargement du fichier`,toggleFailed:`Echec de l'activation/desactivation de la competence`},memory:{title:`Memoire`,refresh:`Actualiser`,loadFailed:`Echec du chargement de la memoire`,myNotes:`Mes notes`,noNotes:`Aucune note pour l'instant.`,notesPlaceholder:`Ecrivez vos notes...`,userProfile:`Profil utilisateur`,noProfile:`Aucun profil pour l'instant.`,profilePlaceholder:`Ecrivez votre profil...`,soul:`Ame`,noSoul:`Aucune configuration d'ame pour l'instant.`,soulPlaceholder:`Ecrivez la configuration de l'ame...`},models:{title:`Modeles`,addProvider:`Ajouter un fournisseur`,providerType:`Type de fournisseur`,preset:`Preset`,custom:`Personnalise`,selectProvider:`Selectionner un fournisseur`,chooseProvider:`Choisir un fournisseur...`,name:`Nom`,autoGeneratedName:`Genere automatiquement a partir de l'URL de base`,baseUrl:`URL de base`,baseUrlPlaceholder:`ex. https://api.example.com/v1`,apiKey:`Cle API`,apiKeyPlaceholder:`sk-...`,defaultModel:`Modele par defaut`,selectModel:`Selectionner un modele...`,providerAdded:`Fournisseur ajoute`,providerDeleted:`Fournisseur supprime`,deleteProvider:`Supprimer le fournisseur`,deleteConfirm:`Etes-vous sur de vouloir supprimer "{name}" ?`,noProviders:`Aucun fournisseur trouve. Ajoutez un fournisseur personnalise pour commencer.`,builtIn:`Integre`,customType:`Personnalise`,provider:`Fournisseur`,local:`Local ({host})`,selectProviderRequired:`Veuillez selectionner un fournisseur`,baseUrlRequired:`L'URL de base est requise`,apiKeyRequired:`La cle API est requise`,modelRequired:`Le modele par defaut est requis`,enterBaseUrl:`Veuillez d'abord entrer l'URL de base`,unexpectedFormat:`Format de reponse inattendu`,foundModels:`{count} modeles trouves`,fetchFailed:`Echec de la recuperation des modeles`},profiles:{title:`Profils`,create:`Creer un profil`,import:`Importer`,export:`Exporter`,rename:`Renommer`,delete:`Supprimer`,switchTo:`Passer a`,switchConfirm:`Le passage au profil "{name}" redemarrera la passerelle. Continuer ?`,switchSuccess:`Profil "{name}" actif`,switchFailed:`Echec du changement de profil. La passerelle peut necessiter un redemarrage manuel.`,createSuccess:`Profil "{name}" cree`,createFailed:`Echec de la creation du profil`,renameSuccess:`Profil renomme`,renameFailed:`Echec du renommage du profil`,deleteConfirm:`Etes-vous sur de vouloir supprimer le profil "{name}" ?`,deleteSuccess:`Profil supprime`,deleteFailed:`Echec de la suppression du profil`,exportSuccess:`Profil exporte`,exportFailed:`Echec de l'exportation du profil`,importSuccess:`Profil importe`,importFailed:`Echec de l'importation du profil`,importSelectFile:`Selectionner un fichier d'archive`,importInvalidFile:`Veuillez selectionner une archive valide (.tar.gz, .tgz, .gz, .zip)`,name:`Nom du profil`,namePlaceholder:`Lettres, chiffres et tirets uniquement`,newName:`Nouveau nom`,newNamePlaceholder:`Entrez un nouveau nom`,cloneFromCurrent:`Cloner depuis le profil actuel`,archivePath:`Chemin de l'archive`,archivePathPlaceholder:`Chemin serveur du fichier d'archive`,importName:`Nom du profil (facultatif)`,importNamePlaceholder:`Laisser vide pour utiliser le nom de l'archive`,active:`Actif`,model:`Modele`,gateway:`Passerelle`,alias:`Alias`,provider:`Fournisseur`,path:`Chemin`,skills:`Competences`,hasEnv:`A un .env`,hasSoulMd:`A un soul.md`,noProfiles:`Aucun profil trouve. Creez-en un pour commencer.`},logs:{title:`Journaux`,all:`Tout`,searchPlaceholder:`Rechercher...`,refresh:`Actualiser`,noEntries:`Aucune entree de journal`},settings:{title:`Parametres`,saved:`Enregistre`,saveFailed:`Echec de l'enregistrement`,tabs:{display:`Affichage`,agent:`Agent`,memory:`Memoire`,session:`Session`,privacy:`Confidentialite`,apiServer:`Serveur API`},display:{streaming:`Reponses en continu`,streamingHint:`Afficher les reponses de l'IA en temps reel`,compact:`Mode compact`,compactHint:`Reduire l'espacement des messages`,showReasoning:`Afficher le raisonnement`,showReasoningHint:`Afficher le processus de reflexion du modele`,showCost:`Afficher le cout`,showCostHint:`Afficher l'utilisation des jetons dans les reponses`,inlineDiffs:`Diffs en ligne`,inlineDiffsHint:`Afficher les changements de code en ligne`,bellOnComplete:`Son de fin`,bellOnCompleteHint:`Jouer un son lorsque l'IA a termine`,busyInputMode:`Mode saisie active`,busyInputModeHint:`Permettre la saisie pendant le traitement de l'IA`,theme:`Theme`,themeHint:`Choisir clair, sombre ou suivre les preferences du systeme`,themeLight:`Clair`,themeDark:`Sombre`,themeSystem:`Systeme`},agent:{maxTurns:`Tours maximum`,maxTurnsHint:`Nombre maximum de tours d'interaction par conversation`,gatewayTimeout:`Delai d'attente de la passerelle`,gatewayTimeoutHint:`Delai d'attente de la requete en secondes`,restartDrainTimeout:`Delai de vidange au redemarrage`,restartDrainTimeoutHint:`Delai de vidange avant redemarrage en secondes`,toolEnforcement:`Application des outils`,toolEnforcementHint:`Controler le mode d'execution des appels d'outils`,auto:`Automatique`,always:`Toujours`,never:`Jamais`},memory:{enabled:`Activer la memoire`,enabledHint:`Permettre a l'IA de memoriser le contexte de conversation`,userProfile:`Profil utilisateur`,userProfileHint:`Permettre a l'IA de memoriser les preferences utilisateur`,charLimit:`Limite de caracteres de la memoire`,charLimitHint:`Nombre maximum de caracteres pour MEMORY.md`,userCharLimit:`Limite de caracteres du profil utilisateur`,userCharLimitHint:`Nombre maximum de caracteres pour USER.md`},session:{mode:`Mode de reinitialisation`,modeHint:`Condition de declenchement de la reinitialisation de session`,modeBoth:`Inactivite + Planifie`,modeIdle:`Inactivite uniquement`,modeHourly:`Planifie uniquement`,idleMinutes:`Delai d'inactivite`,idleMinutesHint:`Temps d'attente avant reinitialisation automatique (minutes)`,atHour:`Heure de reinitialisation planifiee`,atHourHint:`Reinitialiser la session a cette heure chaque jour`},privacy:{redactPii:`Masquer les DPI`,redactPiiHint:`Detecter et masquer automatiquement les informations sensibles (mots de passe, cles, etc.)`},apiServer:{enable:`Activer`,enableHint:`Activer le serveur API`,host:`Hote`,hostHint:`Adresse d'ecoute`,port:`Port`,portHint:`Port d'ecoute`,key:`Cle`,keyHint:`Cle d'acces API`,cors:`Origines CORS`,corsHint:`Sources cross-origin autorisees`}},platform:{requireMention:`Exiger une mention {'@'}`,requireMentionGroup:`Exiger une mention {'@'} dans les groupes pour repondre`,requireMentionChannel:`Exiger une mention {'@'} dans les canaux pour repondre`,requireMentionRoom:`Exiger une mention {'@'} dans les salles pour repondre`,reactions:`Reactions`,reactionsHint:`Reagir aux messages avec des emoji`,freeResponseChats:`Discussions en reponse libre`,freeResponseChatsHint:`ID de discussions repondant sans mention {'@'} (separes par des virgules)`,freeResponseChannels:`Canaux en reponse libre`,freeResponseChannelsHint:`ID de canaux repondant sans mention {'@'} (separes par des virgules)`,freeResponseRooms:`Salles en reponse libre`,freeResponseRoomsHint:`ID de salles repondant sans mention {'@'} (separes par des virgules)`,mentionPatterns:`Motifs de mention personnalises`,mentionPatternsHint:`Motifs de declenchement supplementaires`,autoThread:`Fil automatique`,autoThreadHint:`Creer automatiquement des fils de reponse apres une mention {'@'}`,autoThreadHintRoom:`Creer automatiquement des fils de reponse dans les salles`,dmMentionThreads:`Fils de mention en MP`,dmMentionThreadsHint:`Utiliser des fils de reponse pour les mentions en MP`,allowBots:`Autoriser les messages de bots`,allowBotsHint:`Repondre aux messages d'autres bots`,allowedChannels:`Canaux autorises`,allowedChannelsHint:`Liste blanche des ID de canaux (separes par des virgules)`,ignoredChannels:`Canaux ignores`,ignoredChannelsHint:`Canaux ou le bot ne repond jamais (separes par des virgules)`,noThreadChannels:`Canaux sans fil`,noThreadChannelsHint:`Canaux ou le bot repond sans fil (separes par des virgules)`,botToken:`Jeton de bot`,botTokenHint:`Jeton de bot depuis le portail developpeur`,accessToken:`Jeton d'acces`,accessTokenHint:`Jeton d'acces Matrix`,homeserver:`URL du serveur domestique`,homeserverHint:`URL du serveur domestique Matrix`,appId:`ID de l'application`,appIdHint:`ID de l'application Feishu`,appSecret:`Secret de l'application`,appSecretHint:`Secret de l'application Feishu`,clientId:`ID client`,clientIdHint:`ID client DingTalk`,clientSecret:`Secret client`,clientSecretHint:`Secret client DingTalk`,botId:`ID du bot`,botIdHint:`ID du bot WeCom`,wecomSecretHint:`Secret du bot WeCom`,waEnabled:`Activer WhatsApp`,waEnabledHint:`Activer WhatsApp via appairage par code QR`,weixinToken:`Jeton Weixin`,weixinTokenHint:`Depuis la connexion QR de la CLI weixin (hermes weixin)`,accountId:`ID de compte`,accountIdHint:`ID du compte Weixin`,qrLogin:`Connexion QR`,qrRelogin:`Reconnexion`,qrFetching:`Recuperation du code QR...`,qrScanHint:`Scannez avec WeChat pour vous connecter`,qrScanedHint:`Scanne, veuillez confirmer sur le telephone...`},language:{label:`Langue`,zh:`中文`,en:`English`,fr:`Francais`},terminal:{sessions:`Sessions`,newTab:`Nouveau terminal`,closeSession:`Fermer cette session ?`,sessionExited:`Terminee`,processExited:`Processus termine avec le code {code}`},usage:{title:`Statistiques d'utilisation`,refresh:`Actualiser`,totalTokens:`Total des jetons`,inputTokens:`Entree`,outputTokens:`Sortie`,totalSessions:`Total des sessions`,avgPerDay:`~{n}/jour en moy.`,estimatedCost:`Cout est.`,cacheHitRate:`Taux de succes du cache`,modelBreakdown:`Repartition par modele`,dailyTrend:`Utilisation quotidienne (30 derniers jours)`,date:`Date`,tokens:`Jetons`,cache:`Cache`,sessions:`Sessions`,cost:`Cout`,noData:`Aucune donnee d'utilisation`}},Nt={login:{title:`Hermes Web UI`,description:`Introduce tu token de acceso para continuar. Encuentralo en los registros de inicio del servidor.`,placeholder:`Token de acceso`,submit:`Iniciar sesion`,tokenRequired:`Por favor, introduce tu token de acceso`,invalidToken:`Token invalido`,connectionFailed:`No se puede conectar al servidor`},common:{loading:`Cargando...`,cancel:`Cancelar`,delete:`Eliminar`,edit:`Editar`,save:`Guardar`,saved:`Guardado`,update:`Actualizar`,create:`Crear`,saveFailed:`Error al guardar`,ok:`OK`,copied:`Copiado`,copy:`Copiar`,noData:`Sin datos`,fetch:`Obtener`,add:`Anadir`,enable:`Activar`,disable:`Desactivar`,configured:`Configurado`,notConfigured:`No configurado`,confirm:`Confirmar`,expand:`Expandir`,collapse:`Contraer`},sidebar:{chat:`Chat`,jobs:`Tareas programadas`,models:`Modelos`,profiles:`Perfiles`,skills:`Habilidades`,memory:`Memoria`,logs:`Registros`,usage:`Uso`,channels:`Canales`,terminal:`Terminal`,settings:`Configuracion`,connected:`Conectado`,disconnected:`Desconectado`,updateTip:`Ejecuta "hermes-web-ui update" en la terminal para actualizar`,updateVersion:`Actualizar a v{version}`,updating:`Actualizando...`,updateSuccess:`Actualizacion completa, por favor reinicia el servidor`,updateFailed:`Error al actualizar`},chat:{emptyState:`Inicia una conversacion con Hermes Agent`,inputPlaceholder:`Escribe un mensaje... (Enter para enviar, Shift+Enter para nueva linea)`,attachFiles:`Adjuntar archivos`,stop:`Detener`,send:`Enviar`,contextUsed:`Contexto utilizado:`,sessions:`Sesiones`,noSessions:`Sin sesiones`,newChat:`Nuevo chat`,deleteSession:`Eliminar esta sesion?`,sessionDeleted:`Sesion eliminada`,rename:`Renombrar`,copySessionId:`Copiar ID de sesion`,renamed:`Renombrada`,renameFailed:`Error al renombrar`,renameSession:`Renombrar sesion`,enterNewTitle:`Introduce un nuevo titulo`,other:`Otro`,runFailed:`Error en la ejecucion`,error:`Error`,tool:`Herramienta`,arguments:`Argumentos`,result:`Resultado`,truncated:`... (truncado)`},jobs:{title:`Tareas programadas`,createJob:`Crear tarea`,editJob:`Editar tarea`,noJobs:`No hay tareas programadas aun. Crea una para comenzar.`,name:`Nombre`,namePlaceholder:`Nombre de la tarea`,schedule:`Programacion (expresion Cron)`,schedulePlaceholder:`ej. 0 9 * * *`,quickPresets:`Presets rapidos`,selectPreset:`Seleccionar un preset...`,presetEveryMinute:`Cada minuto`,presetEvery5Min:`Cada 5 minutos`,presetEveryHour:`Cada hora`,presetEveryDay:`Todos los dias a las 00:00`,presetEveryDay9:`Todos los dias a las 09:00`,presetEveryMonday:`Cada lunes a las 09:00`,presetEveryMonth:`El dia 1 de cada mes a las 09:00`,prompt:`Prompt`,promptPlaceholder:`El prompt a ejecutar`,deliverTarget:`Destino de entrega`,origin:`Origen`,local:`Local`,repeatCount:`Repeticiones (opcional)`,repeatPlaceholder:`Dejar vacio para infinito`,jobCreated:`Tarea creada`,jobUpdated:`Tarea actualizada`,nameRequired:`El nombre es obligatorio`,scheduleRequired:`La programacion es obligatoria`,loadFailed:`Error al cargar la tarea`,jobPaused:`Tarea en pausa`,jobResumed:`Tarea reanudada`,jobTriggered:`Tarea ejecutada`,jobDeleted:`Tarea eliminada`,status:{running:`En ejecucion`,paused:`En pausa`,disabled:`Desactivada`,scheduled:`Programada`},info:{schedule:`Programacion`,lastRun:`Ultima ejecucion`,nextRun:`Proxima ejecucion`,deliver:`Entrega`,repeat:`Repeticion`},action:{pause:`Pausar`,pauseJob:`Pausar tarea`,resume:`Reanudar`,resumeJob:`Reanudar tarea`,runNow:`Ejecutar ahora`,triggerImmediately:`Ejecutar inmediatamente`}},skills:{title:`Habilidades`,searchPlaceholder:`Buscar habilidades...`,noMatch:`Ninguna habilidad coincide con tu busqueda`,noSkills:`No se encontraron habilidades`,backTo:`Volver a`,attachedFiles:`Archivos adjuntos`,loadFailed:`Error al cargar la habilidad`,fileLoadFailed:`Error al cargar el archivo`,toggleFailed:`Error al activar/desactivar la habilidad`},memory:{title:`Memoria`,refresh:`Actualizar`,loadFailed:`Error al cargar la memoria`,myNotes:`Mis notas`,noNotes:`Sin notas aun.`,notesPlaceholder:`Escribe tus notas...`,userProfile:`Perfil de usuario`,noProfile:`Sin perfil aun.`,profilePlaceholder:`Escribe tu perfil...`,soul:`Alma`,noSoul:`Sin configuracion de alma aun.`,soulPlaceholder:`Escribe la configuracion del alma...`},models:{title:`Modelos`,addProvider:`Anadir proveedor`,providerType:`Tipo de proveedor`,preset:`Preset`,custom:`Personalizado`,selectProvider:`Seleccionar proveedor`,chooseProvider:`Elige un proveedor...`,name:`Nombre`,autoGeneratedName:`Generado automaticamente desde la URL base`,baseUrl:`URL base`,baseUrlPlaceholder:`ej. https://api.example.com/v1`,apiKey:`Clave API`,apiKeyPlaceholder:`sk-...`,defaultModel:`Modelo predeterminado`,selectModel:`Seleccionar un modelo...`,providerAdded:`Proveedor anadido`,providerDeleted:`Proveedor eliminado`,deleteProvider:`Eliminar proveedor`,deleteConfirm:`Estas seguro de que quieres eliminar "{name}"?`,noProviders:`No se encontraron proveedores. Anade un proveedor personalizado para comenzar.`,builtIn:`Integrado`,customType:`Personalizado`,provider:`Proveedor`,local:`Local ({host})`,selectProviderRequired:`Por favor, selecciona un proveedor`,baseUrlRequired:`La URL base es obligatoria`,apiKeyRequired:`La clave API es obligatoria`,modelRequired:`El modelo predeterminado es obligatorio`,enterBaseUrl:`Por favor, introduce primero la URL base`,unexpectedFormat:`Formato de respuesta inesperado`,foundModels:`{count} modelos encontrados`,fetchFailed:`Error al obtener los modelos`},profiles:{title:`Perfiles`,create:`Crear perfil`,import:`Importar`,export:`Exportar`,rename:`Renombrar`,delete:`Eliminar`,switchTo:`Cambiar a`,switchConfirm:`Cambiar al perfil "{name}" reiniciara la pasarela. Continuar?`,switchSuccess:`Se ha cambiado al perfil "{name}"`,switchFailed:`Error al cambiar de perfil. Es posible que la pasarela necesite un reinicio manual.`,createSuccess:`Perfil "{name}" creado`,createFailed:`Error al crear el perfil`,renameSuccess:`Perfil renombrado`,renameFailed:`Error al renombrar el perfil`,deleteConfirm:`Estas seguro de que quieres eliminar el perfil "{name}"?`,deleteSuccess:`Perfil eliminado`,deleteFailed:`Error al eliminar el perfil`,exportSuccess:`Perfil exportado`,exportFailed:`Error al exportar el perfil`,importSuccess:`Perfil importado`,importFailed:`Error al importar el perfil`,importSelectFile:`Seleccionar archivo de archivo`,importInvalidFile:`Por favor, selecciona un archivo valido (.tar.gz, .tgz, .gz, .zip)`,name:`Nombre del perfil`,namePlaceholder:`Solo letras, numeros y guiones`,newName:`Nuevo nombre`,newNamePlaceholder:`Introduce un nuevo nombre`,cloneFromCurrent:`Clonar desde el perfil actual`,archivePath:`Ruta del archivo`,archivePathPlaceholder:`Ruta del servidor al archivo de archivo`,importName:`Nombre del perfil (opcional)`,importNamePlaceholder:`Dejar vacio para usar el nombre del archivo`,active:`Activo`,model:`Modelo`,gateway:`Pasarela`,alias:`Alias`,provider:`Proveedor`,path:`Ruta`,skills:`Habilidades`,hasEnv:`Tiene .env`,hasSoulMd:`Tiene soul.md`,noProfiles:`No se encontraron perfiles. Crea uno para comenzar.`},logs:{title:`Registros`,all:`Todos`,searchPlaceholder:`Buscar...`,refresh:`Actualizar`,noEntries:`Sin entradas de registro`},settings:{title:`Configuracion`,saved:`Guardado`,saveFailed:`Error al guardar`,tabs:{display:`Pantalla`,agent:`Agente`,memory:`Memoria`,session:`Sesion`,privacy:`Privacidad`,apiServer:`Servidor API`},display:{streaming:`Respuestas en streaming`,streamingHint:`Mostrar respuestas de la IA en tiempo real`,compact:`Modo compacto`,compactHint:`Reducir el espaciado entre mensajes`,showReasoning:`Mostrar razonamiento`,showReasoningHint:`Mostrar el proceso de pensamiento del modelo`,showCost:`Mostrar costo`,showCostHint:`Mostrar uso de tokens en las respuestas`,inlineDiffs:`Diffs en linea`,inlineDiffsHint:`Mostrar cambios de codigo en linea`,bellOnComplete:`Sonido de finalizacion`,bellOnCompleteHint:`Reproducir un sonido cuando la IA termina`,busyInputMode:`Modo de entrada ocupada`,busyInputModeHint:`Permitir entrada mientras la IA procesa`,theme:`Tema`,themeHint:`Elige claro, oscuro o seguir la preferencia del sistema`,themeLight:`Claro`,themeDark:`Oscuro`,themeSystem:`Sistema`},agent:{maxTurns:`Turnos maximos`,maxTurnsHint:`Rondas maximas de interaccion por conversacion`,gatewayTimeout:`Tiempo de espera de la pasarela`,gatewayTimeoutHint:`Tiempo de espera de la peticion en segundos`,restartDrainTimeout:`Tiempo de drenado al reiniciar`,restartDrainTimeoutHint:`Tiempo de drenado antes de reiniciar en segundos`,toolEnforcement:`Aplicacion de herramientas`,toolEnforcementHint:`Controlar el modo de ejecucion de llamadas a herramientas`,auto:`Automatico`,always:`Siempre`,never:`Nunca`},memory:{enabled:`Activar memoria`,enabledHint:`Permitir que la IA recuerde el contexto de la conversacion`,userProfile:`Perfil de usuario`,userProfileHint:`Permitir que la IA recuerde las preferencias del usuario`,charLimit:`Limite de caracteres de memoria`,charLimitHint:`Maximo de caracteres para MEMORY.md`,userCharLimit:`Limite de caracteres del perfil de usuario`,userCharLimitHint:`Maximo de caracteres para USER.md`},session:{mode:`Modo de reinicio`,modeHint:`Condicion de activacion del reinicio de sesion`,modeBoth:`Inactividad + Programado`,modeIdle:`Solo inactividad`,modeHourly:`Solo programado`,idleMinutes:`Tiempo de inactividad`,idleMinutesHint:`Tiempo de espera antes del reinicio automatico (minutos)`,atHour:`Hora de reinicio programado`,atHourHint:`Reiniciar sesion a esta hora todos los dias`},privacy:{redactPii:`Ocultar informacion personal`,redactPiiHint:`Detectar y ocultar automaticamente informacion sensible (contrasenas, claves, etc.)`},apiServer:{enable:`Activar`,enableHint:`Activar servidor API`,host:`Host`,hostHint:`Direccion de escucha`,port:`Puerto`,portHint:`Puerto de escucha`,key:`Clave`,keyHint:`Clave de acceso API`,cors:`Origenes CORS`,corsHint:`Fuentes cross-origin permitidas`}},platform:{requireMention:`Requerir mencion {'@'}`,requireMentionGroup:`Requerir mencion {'@'} en grupos para responder`,requireMentionChannel:`Requerir mencion {'@'} en canales para responder`,requireMentionRoom:`Requerir mencion {'@'} en salas para responder`,reactions:`Reacciones`,reactionsHint:`Reaccionar a mensajes con emoji`,freeResponseChats:`Chats de respuesta libre`,freeResponseChatsHint:`IDs de chats que responden sin mencion {'@'} (separados por comas)`,freeResponseChannels:`Canales de respuesta libre`,freeResponseChannelsHint:`IDs de canales que responden sin mencion {'@'} (separados por comas)`,freeResponseRooms:`Salas de respuesta libre`,freeResponseRoomsHint:`IDs de salas que responden sin mencion {'@'} (separados por comas)`,mentionPatterns:`Patrones de mencion personalizados`,mentionPatternsHint:`Patrones de activacion adicionales`,autoThread:`Hilo automatico`,autoThreadHint:`Crear automaticamente hilos de respuesta despues de mencion {'@'}`,autoThreadHintRoom:`Crear automaticamente hilos de respuesta en salas`,dmMentionThreads:`Hilos de mencion en MD`,dmMentionThreadsHint:`Usar hilos de respuesta para menciones en mensajes directos`,allowBots:`Permitir mensajes de bots`,allowBotsHint:`Responder a mensajes de otros bots`,allowedChannels:`Canales permitidos`,allowedChannelsHint:`Lista blanca de IDs de canales (separados por comas)`,ignoredChannels:`Canales ignorados`,ignoredChannelsHint:`Canales donde el bot nunca responde (separados por comas)`,noThreadChannels:`Canales sin hilo`,noThreadChannelsHint:`Canales donde el bot responde sin hilos (separados por comas)`,botToken:`Token del bot`,botTokenHint:`Token del bot del portal de desarrolladores`,accessToken:`Token de acceso`,accessTokenHint:`Token de acceso de Matrix`,homeserver:`URL del homeserver`,homeserverHint:`URL del homeserver de Matrix`,appId:`ID de aplicacion`,appIdHint:`ID de aplicacion de Feishu`,appSecret:`Secreto de aplicacion`,appSecretHint:`Secreto de aplicacion de Feishu`,clientId:`ID de cliente`,clientIdHint:`ID de cliente de DingTalk`,clientSecret:`Secreto de cliente`,clientSecretHint:`Secreto de cliente de DingTalk`,botId:`ID del bot`,botIdHint:`ID del bot de WeCom`,wecomSecretHint:`Secreto del bot de WeCom`,waEnabled:`Activar WhatsApp`,waEnabledHint:`Activar WhatsApp mediante emparejamiento por codigo QR`,weixinToken:`Token de Weixin`,weixinTokenHint:`Desde el inicio de sesion QR de la CLI de weixin (hermes weixin)`,accountId:`ID de cuenta`,accountIdHint:`ID de cuenta de Weixin`,qrLogin:`Inicio de sesion QR`,qrRelogin:`Volver a iniciar sesion`,qrFetching:`Obteniendo codigo QR...`,qrScanHint:`Escanea con WeChat para iniciar sesion`,qrScanedHint:`Escaneado, por favor confirma en el telefono...`},language:{label:`Idioma`,zh:`中文`,en:`English`,es:`Espanol`},terminal:{sessions:`Sesiones`,newTab:`Nueva terminal`,closeSession:`Cerrar esta sesion?`,sessionExited:`Finalizada`,processExited:`Proceso finalizado con codigo {code}`},usage:{title:`Estadisticas de uso`,refresh:`Actualizar`,totalTokens:`Total de tokens`,inputTokens:`Entrada`,outputTokens:`Salida`,totalSessions:`Total de sesiones`,avgPerDay:`~{n}/dia de promedio`,estimatedCost:`Costo est.`,cacheHitRate:`Tasa de acierto de cache`,modelBreakdown:`Desglose por modelo`,dailyTrend:`Uso diario (ultimos 30 dias)`,date:`Fecha`,tokens:`Tokens`,cache:`Cache`,sessions:`Sesiones`,cost:`Costo`,noData:`Sin datos de uso`}},Pt={login:{title:`Hermes Web UI`,description:`Geben Sie Ihren Zugangs-Token ein, um fortzufahren. Finden Sie ihn in den Server-Startprotokollen.`,placeholder:`Zugangs-Token`,submit:`Anmelden`,tokenRequired:`Bitte geben Sie Ihren Zugangs-Token ein`,invalidToken:`Ungultiger Token`,connectionFailed:`Verbindung zum Server nicht moglich`},common:{loading:`Laden...`,cancel:`Abbrechen`,delete:`Loschen`,edit:`Bearbeiten`,save:`Speichern`,saved:`Gespeichert`,update:`Aktualisieren`,create:`Erstellen`,saveFailed:`Speichern 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`},sidebar:{chat:`Chat`,jobs:`Geplante Aufgaben`,models:`Modelle`,profiles:`Profile`,skills:`Fahigkeiten`,memory:`Gedachtnis`,logs:`Protokolle`,usage:`Nutzung`,channels:`Kanale`,terminal:`Terminal`,settings:`Einstellungen`,connected:`Verbunden`,disconnected:`Getrennt`,updateTip:`Fuhren Sie "hermes-web-ui update" im Terminal aus, um zu aktualisieren`,updateVersion:`Aktualisieren auf v{version}`,updating:`Aktualisierung...`,updateSuccess:`Aktualisierung abgeschlossen, bitte Server neu starten`,updateFailed:`Aktualisierung fehlgeschlagen`},chat:{emptyState:`Starten Sie eine Konversation mit Hermes Agent`,inputPlaceholder:`Nachricht eingeben... (Enter zum Senden, Shift+Enter fur neue Zeile)`,attachFiles:`Dateien anhangen`,stop:`Stopp`,send:`Senden`,contextUsed:`Kontext verwendet:`,sessions:`Sitzungen`,noSessions:`Keine Sitzungen`,newChat:`Neuer Chat`,deleteSession:`Diese Sitzung loschen?`,sessionDeleted:`Sitzung geloscht`,rename:`Umbenennen`,copySessionId:`Sitzungs-ID kopieren`,renamed:`Umbenannt`,renameFailed:`Umbenennung fehlgeschlagen`,renameSession:`Sitzung umbenennen`,enterNewTitle:`Neuen Titel eingeben`,other:`Sonstige`,runFailed:`Ausfuhrung fehlgeschlagen`,error:`Fehler`,tool:`Werkzeug`,arguments:`Argumente`,result:`Ergebnis`,truncated:`... (abgeschnitten)`},jobs:{title:`Geplante Aufgaben`,createJob:`Aufgabe erstellen`,editJob:`Aufgabe bearbeiten`,noJobs:`Noch keine geplanten Aufgaben. Erstellen Sie eine, um zu beginnen.`,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:`Prompt`,promptPlaceholder:`Der auszufuhrende Prompt`,deliverTarget:`Zustellziel`,origin:`Herkunft`,local:`Lokal`,repeatCount:`Wiederholungsanzahl (optional)`,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:`Aufgabe ausgelost`,jobDeleted:`Aufgabe geloscht`,status:{running:`Lauft`,paused:`Pausiert`,disabled:`Deaktiviert`,scheduled:`Geplant`},info:{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 auslosen`}},skills:{title:`Fahigkeiten`,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`,toggleFailed:`Aktivieren/Deaktivieren der Fahigkeit fehlgeschlagen`},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`,providerType:`Anbietertyp`,preset:`Vorgabe`,custom:`Benutzerdefiniert`,selectProvider:`Anbieter auswahlen`,chooseProvider:`Anbieter wahlen...`,name:`Name`,autoGeneratedName:`Automatisch aus Basis-URL generiert`,baseUrl:`Basis-URL`,baseUrlPlaceholder:`z. B. https://api.example.com/v1`,apiKey:`API-Schlussel`,apiKeyPlaceholder:`sk-...`,defaultModel:`Standardmodell`,selectModel:`Modell auswahlen...`,providerAdded:`Anbieter hinzugefugt`,providerDeleted:`Anbieter geloscht`,deleteProvider:`Anbieter loschen`,deleteConfirm:`Mochten Sie "{name}" wirklich loschen?`,noProviders:`Keine Anbieter gefunden. Fugen Sie einen benutzerdefinierten Anbieter hinzu, um zu beginnen.`,builtIn:`Integriert`,customType:`Benutzerdefiniert`,provider:`Anbieter`,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`},profiles:{title:`Profile`,create:`Profil erstellen`,import:`Importieren`,export:`Exportieren`,rename:`Umbenennen`,delete:`Loschen`,switchTo:`Wechseln zu`,switchConfirm:`Das Wechseln zum Profil "{name}" startet das Gateway neu. Fortfahren?`,switchSuccess:`Zum Profil "{name}" gewechselt`,switchFailed:`Profilwechsel fehlgeschlagen. Moglicherweise muss das Gateway 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`,newName:`Neuer Name`,newNamePlaceholder:`Neuen Namen eingeben`,cloneFromCurrent:`Aus aktuellem Profil klonen`,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.`},logs:{title:`Protokolle`,all:`Alle`,searchPlaceholder:`Suchen...`,refresh:`Aktualisieren`,noEntries:`Keine Protokolleintrage`},settings:{title:`Einstellungen`,saved:`Gespeichert`,saveFailed:`Speichern fehlgeschlagen`,tabs:{display:`Anzeige`,agent:`Agent`,memory:`Gedachtnis`,session:`Sitzung`,privacy:`Datenschutz`,apiServer:`API-Server`},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`,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`},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`},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`},session:{mode:`Zurucksetzungsmodus`,modeHint:`Ausloser fur Sitzungszurucksetzung`,modeBoth:`Inaktivitat + Geplant`,modeIdle:`Nur Inaktivitat`,modeHourly:`Nur Geplant`,idleMinutes:`Inaktivitats-Timeout`,idleMinutesHint:`Wartezeit vor automatischer Zurucksetzung (Minuten)`,atHour:`Geplante Zurucksetzungszeit`,atHourHint:`Sitzung taglich zu dieser Stunde zurucksetzen`},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`}},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)`,botToken:`Bot-Token`,botTokenHint:`Bot-Token vom Entwicklerportal`,accessToken:`Zugangs-Token`,accessTokenHint:`Matrix-Zugangs-Token`,homeserver:`Homeserver-URL`,homeserverHint:`Matrix-Homeserver-URL`,appId:`App-ID`,appIdHint:`Feishu App-ID`,appSecret:`App-Geheimnis`,appSecretHint:`Feishu App-Geheimnis`,clientId:`Client-ID`,clientIdHint:`DingTalk Client-ID`,clientSecret:`Client-Geheimnis`,clientSecretHint:`DingTalk Client-Geheimnis`,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...`},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}`},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`,dailyTrend:`Tagliche Nutzung (letzte 30 Tage)`,date:`Datum`,tokens:`Tokens`,cache:`Cache`,sessions:`Sitzungen`,cost:`Kosten`,noData:`Keine Nutzungsdaten`}},Ft={login:{title:`Hermes Web UI`,description:`Insira seu token de acesso para continuar. Encontre-o nos logs de inicializacao do servidor.`,placeholder:`Token de acesso`,submit:`Entrar`,tokenRequired:`Por favor, insira seu token de acesso`,invalidToken:`Token invalido`,connectionFailed:`Nao foi possivel conectar ao servidor`},common:{loading:`Carregando...`,cancel:`Cancelar`,delete:`Excluir`,edit:`Editar`,save:`Salvar`,saved:`Salvo`,update:`Atualizar`,create:`Criar`,saveFailed:`Falha ao salvar`,ok:`OK`,copied:`Copiado`,copy:`Copiar`,noData:`Sem dados`,fetch:`Buscar`,add:`Adicionar`,enable:`Ativar`,disable:`Desativar`,configured:`Configurado`,notConfigured:`Nao configurado`,confirm:`Confirmar`,expand:`Expandir`,collapse:`Recolher`},sidebar:{chat:`Chat`,jobs:`Tarefas agendadas`,models:`Modelos`,profiles:`Perfis`,skills:`Habilidades`,memory:`Memoria`,logs:`Logs`,usage:`Uso`,channels:`Canais`,terminal:`Terminal`,settings:`Configuracoes`,connected:`Conectado`,disconnected:`Desconectado`,updateTip:`Execute "hermes-web-ui update" no terminal para atualizar`,updateVersion:`Atualizar para v{version}`,updating:`Atualizando...`,updateSuccess:`Atualizacao concluida, por favor reinicie o servidor`,updateFailed:`Falha na atualizacao`},chat:{emptyState:`Inicie uma conversa com o Hermes Agent`,inputPlaceholder:`Digite uma mensagem... (Enter para enviar, Shift+Enter para nova linha)`,attachFiles:`Anexar arquivos`,stop:`Parar`,send:`Enviar`,contextUsed:`Contexto utilizado:`,sessions:`Sessoes`,noSessions:`Sem sessoes`,newChat:`Novo chat`,deleteSession:`Excluir esta sessao?`,sessionDeleted:`Sessao excluida`,rename:`Renomear`,copySessionId:`Copiar ID da sessao`,renamed:`Renomeado`,renameFailed:`Falha ao renomear`,renameSession:`Renomear sessao`,enterNewTitle:`Digite um novo titulo`,other:`Outro`,runFailed:`Falha na execucao`,error:`Erro`,tool:`Ferramenta`,arguments:`Argumentos`,result:`Resultado`,truncated:`... (truncado)`},jobs:{title:`Tarefas agendadas`,createJob:`Criar tarefa`,editJob:`Editar tarefa`,noJobs:`Nenhuma tarefa agendada ainda. Crie uma para comecar.`,name:`Nome`,namePlaceholder:`Nome da tarefa`,schedule:`Agendamento (expressao Cron)`,schedulePlaceholder:`ex. 0 9 * * *`,quickPresets:`Presets rapidos`,selectPreset:`Selecionar um preset...`,presetEveryMinute:`Cada minuto`,presetEvery5Min:`A cada 5 minutos`,presetEveryHour:`Cada hora`,presetEveryDay:`Todos os dias as 00:00`,presetEveryDay9:`Todos os dias as 09:00`,presetEveryMonday:`Toda segunda as 09:00`,presetEveryMonth:`Dia 1 de cada mes as 09:00`,prompt:`Prompt`,promptPlaceholder:`O prompt a executar`,deliverTarget:`Destino de entrega`,origin:`Origem`,local:`Local`,repeatCount:`Contagem de repeticoes (opcional)`,repeatPlaceholder:`Deixar vazio para infinito`,jobCreated:`Tarefa criada`,jobUpdated:`Tarefa atualizada`,nameRequired:`O nome e obrigatorio`,scheduleRequired:`O agendamento e obrigatorio`,loadFailed:`Falha ao carregar a tarefa`,jobPaused:`Tarefa pausada`,jobResumed:`Tarefa retomada`,jobTriggered:`Tarefa acionada`,jobDeleted:`Tarefa excluida`,status:{running:`Em execucao`,paused:`Pausada`,disabled:`Desativada`,scheduled:`Agendada`},info:{schedule:`Agendamento`,lastRun:`Ultima execucao`,nextRun:`Proxima execucao`,deliver:`Entrega`,repeat:`Repeticao`},action:{pause:`Pausar`,pauseJob:`Pausar tarefa`,resume:`Retomar`,resumeJob:`Retomar tarefa`,runNow:`Executar agora`,triggerImmediately:`Acionar imediatamente`}},skills:{title:`Habilidades`,searchPlaceholder:`Buscar habilidades...`,noMatch:`Nenhuma habilidade corresponde a sua busca`,noSkills:`Nenhuma habilidade encontrada`,backTo:`Voltar para`,attachedFiles:`Arquivos anexados`,loadFailed:`Falha ao carregar a habilidade`,fileLoadFailed:`Falha ao carregar o arquivo`,toggleFailed:`Falha ao ativar/desativar a habilidade`},memory:{title:`Memoria`,refresh:`Atualizar`,loadFailed:`Falha ao carregar a memoria`,myNotes:`Minhas notas`,noNotes:`Nenhuma nota ainda.`,notesPlaceholder:`Escreva suas notas...`,userProfile:`Perfil do usuario`,noProfile:`Nenhum perfil ainda.`,profilePlaceholder:`Escreva seu perfil...`,soul:`Alma`,noSoul:`Nenhuma configuracao de alma ainda.`,soulPlaceholder:`Escreva a configuracao da alma...`},models:{title:`Modelos`,addProvider:`Adicionar provedor`,providerType:`Tipo de provedor`,preset:`Preset`,custom:`Personalizado`,selectProvider:`Selecionar provedor`,chooseProvider:`Escolha um provedor...`,name:`Nome`,autoGeneratedName:`Gerado automaticamente pela URL base`,baseUrl:`URL base`,baseUrlPlaceholder:`ex. https://api.example.com/v1`,apiKey:`Chave API`,apiKeyPlaceholder:`sk-...`,defaultModel:`Modelo padrao`,selectModel:`Selecionar um modelo...`,providerAdded:`Provedor adicionado`,providerDeleted:`Provedor excluido`,deleteProvider:`Excluir provedor`,deleteConfirm:`Tem certeza de que deseja excluir "{name}"?`,noProviders:`Nenhum provedor encontrado. Adicione um provedor personalizado para comecar.`,builtIn:`Integrado`,customType:`Personalizado`,provider:`Provedor`,local:`Local ({host})`,selectProviderRequired:`Por favor, selecione um provedor`,baseUrlRequired:`A URL base e obrigatoria`,apiKeyRequired:`A chave API e obrigatoria`,modelRequired:`O modelo padrao e obrigatorio`,enterBaseUrl:`Por favor, insira a URL base primeiro`,unexpectedFormat:`Formato de resposta inesperado`,foundModels:`{count} modelos encontrados`,fetchFailed:`Falha ao buscar os modelos`},profiles:{title:`Perfis`,create:`Criar perfil`,import:`Importar`,export:`Exportar`,rename:`Renomear`,delete:`Excluir`,switchTo:`Mudar para`,switchConfirm:`Mudar para o perfil "{name}" reiniciara o gateway. Continuar?`,switchSuccess:`Mudou para o perfil "{name}"`,switchFailed:`Falha ao mudar de perfil. O gateway pode precisar de reinicio manual.`,createSuccess:`Perfil "{name}" criado`,createFailed:`Falha ao criar o perfil`,renameSuccess:`Perfil renomeado`,renameFailed:`Falha ao renomear o perfil`,deleteConfirm:`Tem certeza de que deseja excluir o perfil "{name}"?`,deleteSuccess:`Perfil excluido`,deleteFailed:`Falha ao excluir o perfil`,exportSuccess:`Perfil exportado`,exportFailed:`Falha ao exportar o perfil`,importSuccess:`Perfil importado`,importFailed:`Falha ao importar o perfil`,importSelectFile:`Selecionar arquivo de arquivo`,importInvalidFile:`Por favor, selecione um arquivo valido (.tar.gz, .tgz, .gz, .zip)`,name:`Nome do perfil`,namePlaceholder:`Apenas letras, numeros e hifens`,newName:`Novo nome`,newNamePlaceholder:`Digite um novo nome`,cloneFromCurrent:`Clonar do perfil atual`,archivePath:`Caminho do arquivo`,archivePathPlaceholder:`Caminho do servidor para o arquivo`,importName:`Nome do perfil (opcional)`,importNamePlaceholder:`Deixe vazio para usar o nome do arquivo`,active:`Ativo`,model:`Modelo`,gateway:`Gateway`,alias:`Alias`,provider:`Provedor`,path:`Caminho`,skills:`Habilidades`,hasEnv:`Tem .env`,hasSoulMd:`Tem soul.md`,noProfiles:`Nenhum perfil encontrado. Crie um para comecar.`},logs:{title:`Logs`,all:`Todos`,searchPlaceholder:`Buscar...`,refresh:`Atualizar`,noEntries:`Nenhuma entrada de log`},settings:{title:`Configuracoes`,saved:`Salvo`,saveFailed:`Falha ao salvar`,tabs:{display:`Exibicao`,agent:`Agente`,memory:`Memoria`,session:`Sessao`,privacy:`Privacidade`,apiServer:`Servidor API`},display:{streaming:`Respostas em streaming`,streamingHint:`Mostrar respostas da IA em tempo real`,compact:`Modo compacto`,compactHint:`Reduzir espacamento entre mensagens`,showReasoning:`Mostrar raciocinio`,showReasoningHint:`Mostrar processo de pensamento do modelo`,showCost:`Mostrar custo`,showCostHint:`Mostrar uso de tokens nas respostas`,inlineDiffs:`Diffs em linha`,inlineDiffsHint:`Mostrar alteracoes de codigo em linha`,bellOnComplete:`Som de conclusao`,bellOnCompleteHint:`Tocar som quando a IA terminar`,busyInputMode:`Modo de entrada ocupada`,busyInputModeHint:`Permitir entrada enquanto a IA processa`,theme:`Tema`,themeHint:`Escolha claro, escuro ou seguir a preferencia do sistema`,themeLight:`Claro`,themeDark:`Escuro`,themeSystem:`Sistema`},agent:{maxTurns:`Maximo de turnos`,maxTurnsHint:`Maximo de rodadas de interacao por conversa`,gatewayTimeout:`Timeout do gateway`,gatewayTimeoutHint:`Timeout da requisicao em segundos`,restartDrainTimeout:`Timeout de drenagem ao reiniciar`,restartDrainTimeoutHint:`Timeout de drenagem antes de reiniciar em segundos`,toolEnforcement:`Obrigatoriedade de ferramentas`,toolEnforcementHint:`Controlar o modo de execucao de chamadas de ferramentas`,auto:`Automatico`,always:`Sempre`,never:`Nunca`},memory:{enabled:`Ativar memoria`,enabledHint:`Permitir que a IA lembre do contexto da conversa`,userProfile:`Perfil do usuario`,userProfileHint:`Permitir que a IA lembre das preferencias do usuario`,charLimit:`Limite de caracteres da memoria`,charLimitHint:`Maximo de caracteres para MEMORY.md`,userCharLimit:`Limite de caracteres do perfil do usuario`,userCharLimitHint:`Maximo de caracteres para USER.md`},session:{mode:`Modo de reinicializacao`,modeHint:`Condicao de acionamento para reinicializacao de sessao`,modeBoth:`Inatividade + Agendado`,modeIdle:`Somente inatividade`,modeHourly:`Somente agendado`,idleMinutes:`Timeout de inatividade`,idleMinutesHint:`Tempo de espera antes da reinicializacao automatica (minutos)`,atHour:`Horario de reinicializacao agendada`,atHourHint:`Reiniciar sessao neste horario diariamente`},privacy:{redactPii:`Ocultar dados pessoais`,redactPiiHint:`Detectar e ocultar automaticamente informacoes sensiveis (senhas, chaves, etc.)`},apiServer:{enable:`Ativar`,enableHint:`Ativar servidor API`,host:`Host`,hostHint:`Endereco de escuta`,port:`Porta`,portHint:`Porta de escuta`,key:`Chave`,keyHint:`Chave de acesso API`,cors:`Origens CORS`,corsHint:`Fontes cross-origin permitidas`}},platform:{requireMention:`Exigir mencao {'@'}`,requireMentionGroup:`Exigir mencao {'@'} em grupos para responder`,requireMentionChannel:`Exigir mencao {'@'} em canais para responder`,requireMentionRoom:`Exigir mencao {'@'} em salas para responder`,reactions:`Reacoes`,reactionsHint:`Reagir a mensagens com emoji`,freeResponseChats:`Chats de resposta livre`,freeResponseChatsHint:`IDs de chats que respondem sem mencao {'@'} (separados por virgula)`,freeResponseChannels:`Canais de resposta livre`,freeResponseChannelsHint:`IDs de canais que respondem sem mencao {'@'} (separados por virgula)`,freeResponseRooms:`Salas de resposta livre`,freeResponseRoomsHint:`IDs de salas que respondem sem mencao {'@'} (separados por virgula)`,mentionPatterns:`Padroes de mencao personalizados`,mentionPatternsHint:`Padroes de acionamento adicionais`,autoThread:`Thread automatica`,autoThreadHint:`Criar automaticamente threads de resposta apos mencao {'@'}`,autoThreadHintRoom:`Criar automaticamente threads de resposta em salas`,dmMentionThreads:`Threads de mencao em DM`,dmMentionThreadsHint:`Usar respostas em thread para mencoes em DMs`,allowBots:`Permitir mensagens de bots`,allowBotsHint:`Responder a mensagens de outros bots`,allowedChannels:`Canais permitidos`,allowedChannelsHint:`Lista branca de IDs de canais (separados por virgula)`,ignoredChannels:`Canais ignorados`,ignoredChannelsHint:`Canais onde o bot nunca responde (separados por virgula)`,noThreadChannels:`Canais sem thread`,noThreadChannelsHint:`Canais onde o bot responde sem threads (separados por virgula)`,botToken:`Token do bot`,botTokenHint:`Token do bot do portal do desenvolvedor`,accessToken:`Token de acesso`,accessTokenHint:`Token de acesso Matrix`,homeserver:`URL do homeserver`,homeserverHint:`URL do homeserver Matrix`,appId:`ID do aplicativo`,appIdHint:`ID do aplicativo Feishu`,appSecret:`Segredo do aplicativo`,appSecretHint:`Segredo do aplicativo Feishu`,clientId:`ID do cliente`,clientIdHint:`ID do cliente DingTalk`,clientSecret:`Segredo do cliente`,clientSecretHint:`Segredo do cliente DingTalk`,botId:`ID do bot`,botIdHint:`ID do bot WeCom`,wecomSecretHint:`Segredo do bot WeCom`,waEnabled:`Ativar WhatsApp`,waEnabledHint:`Ativar WhatsApp via pareamento por codigo QR`,weixinToken:`Token Weixin`,weixinTokenHint:`Do login QR da CLI weixin (hermes weixin)`,accountId:`ID da conta`,accountIdHint:`ID da conta Weixin`,qrLogin:`Login por QR`,qrRelogin:`Reconectar`,qrFetching:`Buscando codigo QR...`,qrScanHint:`Escaneie com WeChat para fazer login`,qrScanedHint:`Escaneado, por favor confirme no celular...`},language:{label:`Idioma`,zh:`中文`,en:`English`,pt:`Portugues`},terminal:{sessions:`Sessoes`,newTab:`Novo terminal`,closeSession:`Fechar esta sessao?`,sessionExited:`Encerrada`,processExited:`Processo encerrado com codigo {code}`},usage:{title:`Estatisticas de uso`,refresh:`Atualizar`,totalTokens:`Total de tokens`,inputTokens:`Entrada`,outputTokens:`Saida`,totalSessions:`Total de sessoes`,avgPerDay:`~{n}/dia em media`,estimatedCost:`Custo est.`,cacheHitRate:`Taxa de acerto de cache`,modelBreakdown:`Detalhamento por modelo`,dailyTrend:`Uso diario (ultimos 30 dias)`,date:`Data`,tokens:`Tokens`,cache:`Cache`,sessions:`Sessoes`,cost:`Custo`,noData:`Sem dados de uso`}},It=localStorage.getItem(`hermes_locale`),Lt=navigator.language.slice(0,2),Rt=[`en`,`zh`,`ja`,`ko`,`fr`,`es`,`de`,`pt`];function zt(e,t){return e&&Rt.includes(e)?e:Rt.includes(t)?t:`en`}var Bt=ie({legacy:!1,locale:zt(It,Lt),fallbackLocale:`en`,messages:{en:Ot,zh:kt,ja:At,ko:jt,fr:Mt,es:Nt,de:Pt,pt:Ft}}),G={neutralBase:`#000`,neutralInvertBase:`#fff`,neutralTextBase:`#fff`,neutralPopover:`rgb(72, 72, 78)`,neutralCard:`rgb(24, 24, 28)`,neutralModal:`rgb(44, 44, 50)`,neutralBody:`rgb(16, 16, 20)`,alpha1:`0.9`,alpha2:`0.82`,alpha3:`0.52`,alpha4:`0.38`,alpha5:`0.28`,alphaClose:`0.52`,alphaDisabled:`0.38`,alphaDisabledInput:`0.06`,alphaPending:`0.09`,alphaTablePending:`0.06`,alphaTableStriped:`0.05`,alphaPressed:`0.05`,alphaAvatar:`0.18`,alphaRail:`0.2`,alphaProgressRail:`0.12`,alphaBorder:`0.24`,alphaDivider:`0.09`,alphaInput:`0.1`,alphaAction:`0.06`,alphaTab:`0.04`,alphaScrollbar:`0.2`,alphaScrollbarHover:`0.3`,alphaCode:`0.12`,alphaTag:`0.2`,primaryHover:`#7fe7c4`,primaryDefault:`#63e2b7`,primaryActive:`#5acea7`,primarySuppl:`rgb(42, 148, 125)`,infoHover:`#8acbec`,infoDefault:`#70c0e8`,infoActive:`#66afd3`,infoSuppl:`rgb(56, 137, 197)`,errorHover:`#e98b8b`,errorDefault:`#e88080`,errorActive:`#e57272`,errorSuppl:`rgb(208, 58, 82)`,warningHover:`#f5d599`,warningDefault:`#f2c97d`,warningActive:`#e6c260`,warningSuppl:`rgb(240, 138, 0)`,successHover:`#7fe7c4`,successDefault:`#63e2b7`,successActive:`#5acea7`,successSuppl:`rgb(42, 148, 125)`},Vt=he(G.neutralBase),Ht=he(G.neutralInvertBase),Ut=`rgba(${Ht.slice(0,3).join(`, `)}, `;function K(e){return`${Ut+String(e)})`}function Wt(e){let t=Array.from(Ht);return t[3]=Number(e),L(Vt,t)}var q=Object.assign(Object.assign({name:`common`},ye),{baseColor:G.neutralBase,primaryColor:G.primaryDefault,primaryColorHover:G.primaryHover,primaryColorPressed:G.primaryActive,primaryColorSuppl:G.primarySuppl,infoColor:G.infoDefault,infoColorHover:G.infoHover,infoColorPressed:G.infoActive,infoColorSuppl:G.infoSuppl,successColor:G.successDefault,successColorHover:G.successHover,successColorPressed:G.successActive,successColorSuppl:G.successSuppl,warningColor:G.warningDefault,warningColorHover:G.warningHover,warningColorPressed:G.warningActive,warningColorSuppl:G.warningSuppl,errorColor:G.errorDefault,errorColorHover:G.errorHover,errorColorPressed:G.errorActive,errorColorSuppl:G.errorSuppl,textColorBase:G.neutralTextBase,textColor1:K(G.alpha1),textColor2:K(G.alpha2),textColor3:K(G.alpha3),textColorDisabled:K(G.alpha4),placeholderColor:K(G.alpha4),placeholderColorDisabled:K(G.alpha5),iconColor:K(G.alpha4),iconColorDisabled:K(G.alpha5),iconColorHover:K(Number(G.alpha4)*1.25),iconColorPressed:K(Number(G.alpha4)*.8),opacity1:G.alpha1,opacity2:G.alpha2,opacity3:G.alpha3,opacity4:G.alpha4,opacity5:G.alpha5,dividerColor:K(G.alphaDivider),borderColor:K(G.alphaBorder),closeIconColorHover:K(Number(G.alphaClose)),closeIconColor:K(Number(G.alphaClose)),closeIconColorPressed:K(Number(G.alphaClose)),closeColorHover:`rgba(255, 255, 255, .12)`,closeColorPressed:`rgba(255, 255, 255, .08)`,clearColor:K(G.alpha4),clearColorHover:j(K(G.alpha4),{alpha:1.25}),clearColorPressed:j(K(G.alpha4),{alpha:.8}),scrollbarColor:K(G.alphaScrollbar),scrollbarColorHover:K(G.alphaScrollbarHover),scrollbarWidth:`5px`,scrollbarHeight:`5px`,scrollbarBorderRadius:`5px`,progressRailColor:K(G.alphaProgressRail),railColor:K(G.alphaRail),popoverColor:G.neutralPopover,tableColor:G.neutralCard,cardColor:G.neutralCard,modalColor:G.neutralModal,bodyColor:G.neutralBody,tagColor:Wt(G.alphaTag),avatarColor:K(G.alphaAvatar),invertedColor:G.neutralBase,inputColor:K(G.alphaInput),codeColor:K(G.alphaCode),tabColor:K(G.alphaTab),actionColor:K(G.alphaAction),tableHeaderColor:K(G.alphaAction),hoverColor:K(G.alphaPending),tableColorHover:K(G.alphaTablePending),tableColorStriped:K(G.alphaTableStriped),pressedColor:K(G.alphaPressed),opacityDisabled:G.alphaDisabled,inputColorDisabled:K(G.alphaDisabledInput),buttonColor2:`rgba(255, 255, 255, .08)`,buttonColor2Hover:`rgba(255, 255, 255, .12)`,buttonColor2Pressed:`rgba(255, 255, 255, .08)`,boxShadow1:`0 1px 2px -2px rgba(0, 0, 0, .24), 0 3px 6px 0 rgba(0, 0, 0, .18), 0 5px 12px 4px rgba(0, 0, 0, .12)`,boxShadow2:`0 3px 6px -4px rgba(0, 0, 0, .24), 0 6px 12px 0 rgba(0, 0, 0, .16), 0 9px 18px 8px rgba(0, 0, 0, .10)`,boxShadow3:`0 6px 16px -9px rgba(0, 0, 0, .08), 0 9px 28px 0 rgba(0, 0, 0, .05), 0 12px 48px 16px rgba(0, 0, 0, .03)`}),J={name:`Scrollbar`,common:q,self:Te},Y={name:`Empty`,common:q,self:qe},Gt={name:`InternalSelectMenu`,common:q,peers:{Scrollbar:J,Empty:Y},self:Ze},X={name:`Popover`,common:q,peers:{Scrollbar:J},self:xe},Kt={name:`Tag`,common:q,self(e){let{textColor2:t,primaryColorHover:n,primaryColorPressed:r,primaryColor:i,infoColor:a,successColor:o,warningColor:s,errorColor:c,baseColor:l,borderColor:u,tagColor:d,opacityDisabled:f,closeIconColor:p,closeIconColorHover:m,closeIconColorPressed:h,closeColorHover:g,closeColorPressed:_,borderRadiusSmall:v,fontSizeMini:y,fontSizeTiny:b,fontSizeSmall:x,fontSizeMedium:S,heightMini:C,heightTiny:w,heightSmall:T,heightMedium:E,buttonColor2Hover:D,buttonColor2Pressed:ee,fontWeightStrong:O}=e;return Object.assign(Object.assign({},ot),{closeBorderRadius:v,heightTiny:C,heightSmall:w,heightMedium:T,heightLarge:E,borderRadius:v,opacityDisabled:f,fontSizeTiny:y,fontSizeSmall:b,fontSizeMedium:x,fontSizeLarge:S,fontWeightStrong:O,textColorCheckable:t,textColorHoverCheckable:t,textColorPressedCheckable:t,textColorChecked:l,colorCheckable:`#0000`,colorHoverCheckable:D,colorPressedCheckable:ee,colorChecked:i,colorCheckedHover:n,colorCheckedPressed:r,border:`1px solid ${u}`,textColor:t,color:d,colorBordered:`#0000`,closeIconColor:p,closeIconColorHover:m,closeIconColorPressed:h,closeColorHover:g,closeColorPressed:_,borderPrimary:`1px solid ${F(i,{alpha:.3})}`,textColorPrimary:i,colorPrimary:F(i,{alpha:.16}),colorBorderedPrimary:`#0000`,closeIconColorPrimary:j(i,{lightness:.7}),closeIconColorHoverPrimary:j(i,{lightness:.7}),closeIconColorPressedPrimary:j(i,{lightness:.7}),closeColorHoverPrimary:F(i,{alpha:.16}),closeColorPressedPrimary:F(i,{alpha:.12}),borderInfo:`1px solid ${F(a,{alpha:.3})}`,textColorInfo:a,colorInfo:F(a,{alpha:.16}),colorBorderedInfo:`#0000`,closeIconColorInfo:j(a,{alpha:.7}),closeIconColorHoverInfo:j(a,{alpha:.7}),closeIconColorPressedInfo:j(a,{alpha:.7}),closeColorHoverInfo:F(a,{alpha:.16}),closeColorPressedInfo:F(a,{alpha:.12}),borderSuccess:`1px solid ${F(o,{alpha:.3})}`,textColorSuccess:o,colorSuccess:F(o,{alpha:.16}),colorBorderedSuccess:`#0000`,closeIconColorSuccess:j(o,{alpha:.7}),closeIconColorHoverSuccess:j(o,{alpha:.7}),closeIconColorPressedSuccess:j(o,{alpha:.7}),closeColorHoverSuccess:F(o,{alpha:.16}),closeColorPressedSuccess:F(o,{alpha:.12}),borderWarning:`1px solid ${F(s,{alpha:.3})}`,textColorWarning:s,colorWarning:F(s,{alpha:.16}),colorBorderedWarning:`#0000`,closeIconColorWarning:j(s,{alpha:.7}),closeIconColorHoverWarning:j(s,{alpha:.7}),closeIconColorPressedWarning:j(s,{alpha:.7}),closeColorHoverWarning:F(s,{alpha:.16}),closeColorPressedWarning:F(s,{alpha:.11}),borderError:`1px solid ${F(c,{alpha:.3})}`,textColorError:c,colorError:F(c,{alpha:.16}),colorBorderedError:`#0000`,closeIconColorError:j(c,{alpha:.7}),closeIconColorHoverError:j(c,{alpha:.7}),closeIconColorPressedError:j(c,{alpha:.7}),closeColorHoverError:F(c,{alpha:.16}),closeColorPressedError:F(c,{alpha:.12})})}},qt={name:`InternalSelection`,common:q,peers:{Popover:X},self(e){let{borderRadius:t,textColor2:n,textColorDisabled:r,inputColor:i,inputColorDisabled:a,primaryColor:o,primaryColorHover:s,warningColor:c,warningColorHover:l,errorColor:u,errorColorHover:d,iconColor:f,iconColorDisabled:p,clearColor:m,clearColorHover:h,clearColorPressed:g,placeholderColor:_,placeholderColorDisabled:v,fontSizeTiny:y,fontSizeSmall:b,fontSizeMedium:x,fontSizeLarge:S,heightTiny:C,heightSmall:w,heightMedium:T,heightLarge:E,fontWeight:D}=e;return Object.assign(Object.assign({},We),{fontWeight:D,fontSizeTiny:y,fontSizeSmall:b,fontSizeMedium:x,fontSizeLarge:S,heightTiny:C,heightSmall:w,heightMedium:T,heightLarge:E,borderRadius:t,textColor:n,textColorDisabled:r,placeholderColor:_,placeholderColorDisabled:v,color:i,colorDisabled:a,colorActive:F(o,{alpha:.1}),border:`1px solid #0000`,borderHover:`1px solid ${s}`,borderActive:`1px solid ${o}`,borderFocus:`1px solid ${s}`,boxShadowHover:`none`,boxShadowActive:`0 0 8px 0 ${F(o,{alpha:.4})}`,boxShadowFocus:`0 0 8px 0 ${F(o,{alpha:.4})}`,caretColor:o,arrowColor:f,arrowColorDisabled:p,loadingColor:o,borderWarning:`1px solid ${c}`,borderHoverWarning:`1px solid ${l}`,borderActiveWarning:`1px solid ${c}`,borderFocusWarning:`1px solid ${l}`,boxShadowHoverWarning:`none`,boxShadowActiveWarning:`0 0 8px 0 ${F(c,{alpha:.4})}`,boxShadowFocusWarning:`0 0 8px 0 ${F(c,{alpha:.4})}`,colorActiveWarning:F(c,{alpha:.1}),caretColorWarning:c,borderError:`1px solid ${u}`,borderHoverError:`1px solid ${d}`,borderActiveError:`1px solid ${u}`,borderFocusError:`1px solid ${d}`,boxShadowHoverError:`none`,boxShadowActiveError:`0 0 8px 0 ${F(u,{alpha:.4})}`,boxShadowFocusError:`0 0 8px 0 ${F(u,{alpha:.4})}`,colorActiveError:F(u,{alpha:.1}),caretColorError:u,clearColor:m,clearColorHover:h,clearColorPressed:g})}},Jt={iconMargin:`11px 8px 0 12px`,iconMarginRtl:`11px 12px 0 8px`,iconSize:`24px`,closeIconSize:`16px`,closeSize:`20px`,closeMargin:`13px 14px 0 0`,closeMarginRtl:`13px 0 0 14px`,padding:`13px`},Yt={name:`Alert`,common:q,self(e){let{lineHeight:t,borderRadius:n,fontWeightStrong:r,dividerColor:i,inputColor:a,textColor1:o,textColor2:s,closeColorHover:c,closeColorPressed:l,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,infoColorSuppl:p,successColorSuppl:m,warningColorSuppl:h,errorColorSuppl:g,fontSize:_}=e;return Object.assign(Object.assign({},Jt),{fontSize:_,lineHeight:t,titleFontWeight:r,borderRadius:n,border:`1px solid ${i}`,color:a,titleTextColor:o,iconColor:s,contentTextColor:s,closeBorderRadius:n,closeColorHover:c,closeColorPressed:l,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,borderInfo:`1px solid ${F(p,{alpha:.35})}`,colorInfo:F(p,{alpha:.25}),titleTextColorInfo:o,iconColorInfo:p,contentTextColorInfo:s,closeColorHoverInfo:c,closeColorPressedInfo:l,closeIconColorInfo:u,closeIconColorHoverInfo:d,closeIconColorPressedInfo:f,borderSuccess:`1px solid ${F(m,{alpha:.35})}`,colorSuccess:F(m,{alpha:.25}),titleTextColorSuccess:o,iconColorSuccess:m,contentTextColorSuccess:s,closeColorHoverSuccess:c,closeColorPressedSuccess:l,closeIconColorSuccess:u,closeIconColorHoverSuccess:d,closeIconColorPressedSuccess:f,borderWarning:`1px solid ${F(h,{alpha:.35})}`,colorWarning:F(h,{alpha:.25}),titleTextColorWarning:o,iconColorWarning:h,contentTextColorWarning:s,closeColorHoverWarning:c,closeColorPressedWarning:l,closeIconColorWarning:u,closeIconColorHoverWarning:d,closeIconColorPressedWarning:f,borderError:`1px solid ${F(g,{alpha:.35})}`,colorError:F(g,{alpha:.25}),titleTextColorError:o,iconColorError:g,contentTextColorError:s,closeColorHoverError:c,closeColorPressedError:l,closeIconColorError:u,closeIconColorHoverError:d,closeIconColorPressedError:f})}},Xt={linkFontSize:`13px`,linkPadding:`0 0 0 16px`,railWidth:`4px`};function Zt(e){let{borderRadius:t,railColor:n,primaryColor:r,primaryColorHover:i,primaryColorPressed:a,textColor2:o}=e;return Object.assign(Object.assign({},Xt),{borderRadius:t,railColor:n,railColorActive:r,linkColor:F(r,{alpha:.15}),linkTextColor:o,linkTextColorHover:i,linkTextColorPressed:a,linkTextColorActive:r})}var Qt={name:`Anchor`,common:q,self:Zt};function $t(e){let{textColor2:t,textColor3:n,textColorDisabled:r,primaryColor:i,primaryColorHover:a,inputColor:o,inputColorDisabled:s,warningColor:c,warningColorHover:l,errorColor:u,errorColorHover:d,borderRadius:f,lineHeight:p,fontSizeTiny:m,fontSizeSmall:h,fontSizeMedium:g,fontSizeLarge:_,heightTiny:v,heightSmall:y,heightMedium:b,heightLarge:x,clearColor:S,clearColorHover:C,clearColorPressed:w,placeholderColor:T,placeholderColorDisabled:E,iconColor:D,iconColorDisabled:ee,iconColorHover:O,iconColorPressed:te,fontWeight:k}=e;return Object.assign(Object.assign({},ft),{fontWeight:k,countTextColorDisabled:r,countTextColor:n,heightTiny:v,heightSmall:y,heightMedium:b,heightLarge:x,fontSizeTiny:m,fontSizeSmall:h,fontSizeMedium:g,fontSizeLarge:_,lineHeight:p,lineHeightTextarea:p,borderRadius:f,iconSize:`16px`,groupLabelColor:o,textColor:t,textColorDisabled:r,textDecorationColor:t,groupLabelTextColor:t,caretColor:i,placeholderColor:T,placeholderColorDisabled:E,color:o,colorDisabled:s,colorFocus:F(i,{alpha:.1}),groupLabelBorder:`1px solid #0000`,border:`1px solid #0000`,borderHover:`1px solid ${a}`,borderDisabled:`1px solid #0000`,borderFocus:`1px solid ${a}`,boxShadowFocus:`0 0 8px 0 ${F(i,{alpha:.3})}`,loadingColor:i,loadingColorWarning:c,borderWarning:`1px solid ${c}`,borderHoverWarning:`1px solid ${l}`,colorFocusWarning:F(c,{alpha:.1}),borderFocusWarning:`1px solid ${l}`,boxShadowFocusWarning:`0 0 8px 0 ${F(c,{alpha:.3})}`,caretColorWarning:c,loadingColorError:u,borderError:`1px solid ${u}`,borderHoverError:`1px solid ${d}`,colorFocusError:F(u,{alpha:.1}),borderFocusError:`1px solid ${d}`,boxShadowFocusError:`0 0 8px 0 ${F(u,{alpha:.3})}`,caretColorError:u,clearColor:S,clearColorHover:C,clearColorPressed:w,iconColor:D,iconColorDisabled:ee,iconColorHover:O,iconColorPressed:te,suffixTextColor:t})}var Z=R({name:`Input`,common:q,peers:{Scrollbar:J},self:$t});function en(e){let{boxShadow2:t}=e;return{menuBoxShadow:t}}R({name:`AutoComplete`,common:P,peers:{InternalSelectMenu:Ye,Input:W},self:en});var tn={name:`AutoComplete`,common:q,peers:{InternalSelectMenu:Gt,Input:Z},self:en};function nn(e){let{borderRadius:t,avatarColor:n,cardColor:r,fontSize:i,heightTiny:a,heightSmall:o,heightMedium:s,heightLarge:c,heightHuge:l,modalColor:u,popoverColor:d}=e;return{borderRadius:t,fontSize:i,border:`2px solid ${r}`,heightTiny:a,heightSmall:o,heightMedium:s,heightLarge:c,heightHuge:l,color:L(r,n),colorModal:L(u,n),colorPopover:L(d,n)}}var rn={name:`Avatar`,common:P,self:nn},an={name:`Avatar`,common:q,self:nn};function on(){return{gap:`-12px`}}R({name:`AvatarGroup`,common:P,peers:{Avatar:rn},self:on});var sn={name:`AvatarGroup`,common:q,peers:{Avatar:an},self:on},cn={width:`44px`,height:`44px`,borderRadius:`22px`,iconSize:`26px`},ln={name:`BackTop`,common:q,self(e){let{popoverColor:t,textColor2:n,primaryColorHover:r,primaryColorPressed:i}=e;return Object.assign(Object.assign({},cn),{color:t,textColor:n,iconColor:n,iconColorHover:r,iconColorPressed:i,boxShadow:`0 2px 8px 0px rgba(0, 0, 0, .12)`,boxShadowHover:`0 2px 12px 0px rgba(0, 0, 0, .18)`,boxShadowPressed:`0 2px 12px 0px rgba(0, 0, 0, .18)`})}},un={name:`Badge`,common:q,self(e){let{errorColorSuppl:t,infoColorSuppl:n,successColorSuppl:r,warningColorSuppl:i,fontFamily:a}=e;return{color:t,colorInfo:n,colorSuccess:r,colorError:t,colorWarning:i,fontSize:`12px`,fontFamily:a}}},dn={fontWeightActive:`400`};function fn(e){let{fontSize:t,textColor3:n,textColor2:r,borderRadius:i,buttonColor2Hover:a,buttonColor2Pressed:o}=e;return Object.assign(Object.assign({},dn),{fontSize:t,itemLineHeight:`1.25`,itemTextColor:n,itemTextColorHover:r,itemTextColorPressed:r,itemTextColorActive:r,itemBorderRadius:i,itemColorHover:a,itemColorPressed:o,separatorColor:n})}var pn={name:`Breadcrumb`,common:q,self:fn},Q={name:`Button`,common:q,self(e){let t=et(e);return t.waveOpacity=`0.8`,t.colorOpacitySecondary=`0.16`,t.colorOpacitySecondaryHover=`0.2`,t.colorOpacitySecondaryPressed=`0.12`,t}},mn={titleFontSize:`22px`};function hn(e){let{borderRadius:t,fontSize:n,lineHeight:r,textColor2:i,textColor1:a,textColorDisabled:o,dividerColor:s,fontWeightStrong:c,primaryColor:l,baseColor:u,hoverColor:d,cardColor:f,modalColor:p,popoverColor:m}=e;return Object.assign(Object.assign({},mn),{borderRadius:t,borderColor:L(f,s),borderColorModal:L(p,s),borderColorPopover:L(m,s),textColor:i,titleFontWeight:c,titleTextColor:a,dayTextColor:o,fontSize:n,lineHeight:r,dateColorCurrent:l,dateTextColorCurrent:u,cellColorHover:L(f,d),cellColorHoverModal:L(p,d),cellColorHoverPopover:L(m,d),cellColor:f,cellColorModal:p,cellColorPopover:m,barColor:l})}R({name:`Calendar`,common:P,peers:{Button:H},self:hn});var gn={name:`Calendar`,common:q,peers:{Button:Q},self:hn},_n={name:`Card`,common:q,self(e){let t=Ue(e),{cardColor:n,modalColor:r,popoverColor:i}=e;return t.colorEmbedded=n,t.colorEmbeddedModal=r,t.colorEmbeddedPopover=i,t}};function vn(){return{dotSize:`8px`,dotColor:`rgba(255, 255, 255, .3)`,dotColorActive:`rgba(255, 255, 255, 1)`,dotColorFocus:`rgba(255, 255, 255, .5)`,dotLineWidth:`16px`,dotLineWidthActive:`24px`,arrowColor:`#eee`}}var yn={name:`Carousel`,common:q,self:vn},bn={sizeSmall:`14px`,sizeMedium:`16px`,sizeLarge:`18px`,labelPadding:`0 8px`,labelFontWeight:`400`};function xn(e){let{baseColor:t,inputColorDisabled:n,cardColor:r,modalColor:i,popoverColor:a,textColorDisabled:o,borderColor:s,primaryColor:c,textColor2:l,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,borderRadiusSmall:p,lineHeight:m}=e;return Object.assign(Object.assign({},bn),{labelLineHeight:m,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,borderRadius:p,color:t,colorChecked:c,colorDisabled:n,colorDisabledChecked:n,colorTableHeader:r,colorTableHeaderModal:i,colorTableHeaderPopover:a,checkMarkColor:t,checkMarkColorDisabled:o,checkMarkColorDisabledChecked:o,border:`1px solid ${s}`,borderDisabled:`1px solid ${s}`,borderDisabledChecked:`1px solid ${s}`,borderChecked:`1px solid ${c}`,borderFocus:`1px solid ${c}`,boxShadowFocus:`0 0 0 2px ${F(c,{alpha:.3})}`,textColor:l,textColorDisabled:o})}var Sn={name:`Checkbox`,common:P,self:xn},$={name:`Checkbox`,common:q,self(e){let{cardColor:t}=e,n=xn(e);return n.color=`#0000`,n.checkMarkColor=t,n}};function Cn(e){let{borderRadius:t,boxShadow2:n,popoverColor:r,textColor2:i,textColor3:a,primaryColor:o,textColorDisabled:s,dividerColor:c,hoverColor:l,fontSizeMedium:u,heightMedium:d}=e;return{menuBorderRadius:t,menuColor:r,menuBoxShadow:n,menuDividerColor:c,menuHeight:`calc(var(--n-option-height) * 6.6)`,optionArrowColor:a,optionHeight:d,optionFontSize:u,optionColorHover:l,optionTextColor:i,optionTextColorActive:o,optionTextColorDisabled:s,optionCheckMarkColor:o,loadingColor:o,columnWidth:`180px`}}R({name:`Cascader`,common:P,peers:{InternalSelectMenu:Ye,InternalSelection:Ke,Scrollbar:V,Checkbox:Sn,Empty:Ge},self:Cn});var wn={name:`Cascader`,common:q,peers:{InternalSelectMenu:Gt,InternalSelection:qt,Scrollbar:J,Checkbox:$,Empty:Ge},self:Cn},Tn={name:`Code`,common:q,self(e){let{textColor2:t,fontSize:n,fontWeightStrong:r,textColor3:i}=e;return{textColor:t,fontSize:n,fontWeightStrong:r,"mono-3":`#5c6370`,"hue-1":`#56b6c2`,"hue-2":`#61aeee`,"hue-3":`#c678dd`,"hue-4":`#98c379`,"hue-5":`#e06c75`,"hue-5-2":`#be5046`,"hue-6":`#d19a66`,"hue-6-2":`#e6c07b`,lineNumberTextColor:i}}};function En(e){let{fontWeight:t,textColor1:n,textColor2:r,textColorDisabled:i,dividerColor:a,fontSize:o}=e;return{titleFontSize:o,titleFontWeight:t,dividerColor:a,titleTextColor:n,titleTextColorDisabled:i,fontSize:o,textColor:r,arrowColor:r,arrowColorDisabled:i,itemMargin:`16px 0 0 0`,titlePadding:`16px 0 0 0`}}var Dn={name:`Collapse`,common:q,self:En};function On(e){let{cubicBezierEaseInOut:t}=e;return{bezier:t}}var kn={name:`CollapseTransition`,common:q,self:On};function An(e){let{fontSize:t,boxShadow2:n,popoverColor:r,textColor2:i,borderRadius:a,borderColor:o,heightSmall:s,heightMedium:c,heightLarge:l,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,dividerColor:p}=e;return{panelFontSize:t,boxShadow:n,color:r,textColor:i,borderRadius:a,border:`1px solid ${o}`,heightSmall:s,heightMedium:c,heightLarge:l,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,dividerColor:p}}R({name:`ColorPicker`,common:P,peers:{Input:W,Button:H},self:An});var jn={name:`ColorPicker`,common:q,peers:{Input:Z,Button:Q},self:An},Mn=C({name:`ConfigProvider`,alias:[`App`],props:{abstract:Boolean,bordered:{type:Boolean,default:void 0},clsPrefix:String,locale:Object,dateLocale:Object,namespace:String,rtl:Array,tag:{type:String,default:`div`},hljs:Object,katex:Object,theme:Object,themeOverrides:Object,componentOptions:Object,icons:Object,breakpoints:Object,preflightStyleDisabled:Boolean,styleMountTarget:Object,inlineThemeDisabled:{type:Boolean,default:void 0},as:{type:String,validator:()=>(le(`config-provider`,"`as` is deprecated, please use `tag` instead."),!0),default:void 0}},setup(e){let n=i(ce,null),r=t(()=>{let{theme:t}=e;if(t===null)return;let r=n?.mergedThemeRef.value;return t===void 0?r:r===void 0?t:Object.assign({},r,t)}),a=t(()=>{let{themeOverrides:t}=e;if(t!==null){if(t===void 0)return n?.mergedThemeOverridesRef.value;{let e=n?.mergedThemeOverridesRef.value;return e===void 0?t:me({},e,t)}}}),s=ve(()=>{let{namespace:t}=e;return t===void 0?n?.mergedNamespaceRef.value:t}),c=ve(()=>{let{bordered:t}=e;return t===void 0?n?.mergedBorderedRef.value:t}),l=t(()=>{let{icons:t}=e;return t===void 0?n?.mergedIconsRef.value:t}),u=t(()=>{let{componentOptions:t}=e;return t===void 0?n?.mergedComponentPropsRef.value:t}),d=t(()=>{let{clsPrefix:t}=e;return t===void 0?n?n.mergedClsPrefixRef.value:`n`:t}),f=t(()=>{var t;let{rtl:r}=e;if(r===void 0)return n?.mergedRtlRef.value;let i={};for(let e of r)i[e.name]=S(e),(t=e.peers)==null||t.forEach(e=>{e.name in i||(i[e.name]=S(e))});return i}),p=t(()=>e.breakpoints||n?.mergedBreakpointsRef.value),m=e.inlineThemeDisabled||n?.inlineThemeDisabled,h=e.preflightStyleDisabled||n?.preflightStyleDisabled,g=e.styleMountTarget||n?.styleMountTarget;return o(ce,{mergedThemeHashRef:t(()=>{let{value:e}=r,{value:t}=a,n=t&&Object.keys(t).length!==0,i=e?.name;return i?n?`${i}-${ue(JSON.stringify(a.value))}`:i:n?ue(JSON.stringify(a.value)):``}),mergedBreakpointsRef:p,mergedRtlRef:f,mergedIconsRef:l,mergedComponentPropsRef:u,mergedBorderedRef:c,mergedNamespaceRef:s,mergedClsPrefixRef:d,mergedLocaleRef:t(()=>{let{locale:t}=e;if(t!==null)return t===void 0?n?.mergedLocaleRef.value:t}),mergedDateLocaleRef:t(()=>{let{dateLocale:t}=e;if(t!==null)return t===void 0?n?.mergedDateLocaleRef.value:t}),mergedHljsRef:t(()=>{let{hljs:t}=e;return t===void 0?n?.mergedHljsRef.value:t}),mergedKatexRef:t(()=>{let{katex:t}=e;return t===void 0?n?.mergedKatexRef.value:t}),mergedThemeRef:r,mergedThemeOverridesRef:a,inlineThemeDisabled:m||!1,preflightStyleDisabled:h||!1,styleMountTarget:g}),{mergedClsPrefix:d,mergedBordered:c,mergedNamespace:s,mergedTheme:r,mergedThemeOverrides:a}},render(){var e,t;return this.abstract?(t=this.$slots).default?.call(t):s(this.as||this.tag,{class:`${this.mergedClsPrefix||`n`}-config-provider`},(e=this.$slots).default?.call(e))}}),Nn={name:`Popselect`,common:q,peers:{Popover:X,InternalSelectMenu:Gt}};function Pn(e){let{boxShadow2:t}=e;return{menuBoxShadow:t}}var Fn=R({name:`Popselect`,common:P,peers:{Popover:Se,InternalSelectMenu:Ye},self:Pn}),In={name:`Select`,common:q,peers:{InternalSelection:qt,InternalSelectMenu:Gt},self:Xe},Ln={itemPaddingSmall:`0 4px`,itemMarginSmall:`0 0 0 8px`,itemMarginSmallRtl:`0 8px 0 0`,itemPaddingMedium:`0 4px`,itemMarginMedium:`0 0 0 8px`,itemMarginMediumRtl:`0 8px 0 0`,itemPaddingLarge:`0 4px`,itemMarginLarge:`0 0 0 8px`,itemMarginLargeRtl:`0 8px 0 0`,buttonIconSizeSmall:`14px`,buttonIconSizeMedium:`16px`,buttonIconSizeLarge:`18px`,inputWidthSmall:`60px`,selectWidthSmall:`unset`,inputMarginSmall:`0 0 0 8px`,inputMarginSmallRtl:`0 8px 0 0`,selectMarginSmall:`0 0 0 8px`,prefixMarginSmall:`0 8px 0 0`,suffixMarginSmall:`0 0 0 8px`,inputWidthMedium:`60px`,selectWidthMedium:`unset`,inputMarginMedium:`0 0 0 8px`,inputMarginMediumRtl:`0 8px 0 0`,selectMarginMedium:`0 0 0 8px`,prefixMarginMedium:`0 8px 0 0`,suffixMarginMedium:`0 0 0 8px`,inputWidthLarge:`60px`,selectWidthLarge:`unset`,inputMarginLarge:`0 0 0 8px`,inputMarginLargeRtl:`0 8px 0 0`,selectMarginLarge:`0 0 0 8px`,prefixMarginLarge:`0 8px 0 0`,suffixMarginLarge:`0 0 0 8px`};function Rn(e){let{textColor2:t,primaryColor:n,primaryColorHover:r,primaryColorPressed:i,inputColorDisabled:a,textColorDisabled:o,borderColor:s,borderRadius:c,fontSizeTiny:l,fontSizeSmall:u,fontSizeMedium:d,heightTiny:f,heightSmall:p,heightMedium:m}=e;return Object.assign(Object.assign({},Ln),{buttonColor:`#0000`,buttonColorHover:`#0000`,buttonColorPressed:`#0000`,buttonBorder:`1px solid ${s}`,buttonBorderHover:`1px solid ${s}`,buttonBorderPressed:`1px solid ${s}`,buttonIconColor:t,buttonIconColorHover:t,buttonIconColorPressed:t,itemTextColor:t,itemTextColorHover:r,itemTextColorPressed:i,itemTextColorActive:n,itemTextColorDisabled:o,itemColor:`#0000`,itemColorHover:`#0000`,itemColorPressed:`#0000`,itemColorActive:`#0000`,itemColorActiveHover:`#0000`,itemColorDisabled:a,itemBorder:`1px solid #0000`,itemBorderHover:`1px solid #0000`,itemBorderPressed:`1px solid #0000`,itemBorderActive:`1px solid ${n}`,itemBorderDisabled:`1px solid ${s}`,itemBorderRadius:c,itemSizeSmall:f,itemSizeMedium:p,itemSizeLarge:m,itemFontSizeSmall:l,itemFontSizeMedium:u,itemFontSizeLarge:d,jumperFontSizeSmall:l,jumperFontSizeMedium:u,jumperFontSizeLarge:d,jumperTextColor:t,jumperTextColorDisabled:o})}var zn=R({name:`Pagination`,common:P,peers:{Select:Je,Input:W,Popselect:Fn},self:Rn}),Bn={name:`Pagination`,common:q,peers:{Select:In,Input:Z,Popselect:Nn},self(e){let{primaryColor:t,opacity3:n}=e,r=F(t,{alpha:Number(n)}),i=Rn(e);return i.itemBorderActive=`1px solid ${r}`,i.itemBorderDisabled=`1px solid #0000`,i}},Vn={name:`Dropdown`,common:q,peers:{Popover:X},self(e){let{primaryColorSuppl:t,primaryColor:n,popoverColor:r}=e,i=pt(e);return i.colorInverted=r,i.optionColorActive=F(n,{alpha:.15}),i.optionColorActiveInverted=t,i.optionColorHoverInverted=t,i}},Hn={name:`Tooltip`,common:q,peers:{Popover:X},self(e){let{borderRadius:t,boxShadow2:n,popoverColor:r,textColor2:i}=e;return Object.assign(Object.assign({},_t),{borderRadius:t,boxShadow:n,color:r,textColor:i})}},Un={name:`Ellipsis`,common:q,peers:{Tooltip:Hn}},Wn=R({name:`Ellipsis`,common:P,peers:{Tooltip:vt}}),Gn={radioSizeSmall:`14px`,radioSizeMedium:`16px`,radioSizeLarge:`18px`,labelPadding:`0 8px`,labelFontWeight:`400`},Kn={name:`Radio`,common:q,self(e){let{borderColor:t,primaryColor:n,baseColor:r,textColorDisabled:i,inputColorDisabled:a,textColor2:o,opacityDisabled:s,borderRadius:c,fontSizeSmall:l,fontSizeMedium:u,fontSizeLarge:d,heightSmall:f,heightMedium:p,heightLarge:m,lineHeight:h}=e;return Object.assign(Object.assign({},Gn),{labelLineHeight:h,buttonHeightSmall:f,buttonHeightMedium:p,buttonHeightLarge:m,fontSizeSmall:l,fontSizeMedium:u,fontSizeLarge:d,boxShadow:`inset 0 0 0 1px ${t}`,boxShadowActive:`inset 0 0 0 1px ${n}`,boxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${F(n,{alpha:.3})}`,boxShadowHover:`inset 0 0 0 1px ${n}`,boxShadowDisabled:`inset 0 0 0 1px ${t}`,color:`#0000`,colorDisabled:a,colorActive:`#0000`,textColor:o,textColorDisabled:i,dotColorActive:n,dotColorDisabled:t,buttonBorderColor:t,buttonBorderColorActive:n,buttonBorderColorHover:n,buttonColor:`#0000`,buttonColorActive:n,buttonTextColor:o,buttonTextColorActive:r,buttonTextColorHover:n,opacityDisabled:s,buttonBoxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${F(n,{alpha:.3})}`,buttonBoxShadowHover:`inset 0 0 0 1px ${n}`,buttonBoxShadow:`inset 0 0 0 1px #0000`,buttonBorderRadius:c})}};function qn(e){let{borderColor:t,primaryColor:n,baseColor:r,textColorDisabled:i,inputColorDisabled:a,textColor2:o,opacityDisabled:s,borderRadius:c,fontSizeSmall:l,fontSizeMedium:u,fontSizeLarge:d,heightSmall:f,heightMedium:p,heightLarge:m,lineHeight:h}=e;return Object.assign(Object.assign({},Gn),{labelLineHeight:h,buttonHeightSmall:f,buttonHeightMedium:p,buttonHeightLarge:m,fontSizeSmall:l,fontSizeMedium:u,fontSizeLarge:d,boxShadow:`inset 0 0 0 1px ${t}`,boxShadowActive:`inset 0 0 0 1px ${n}`,boxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${F(n,{alpha:.2})}`,boxShadowHover:`inset 0 0 0 1px ${n}`,boxShadowDisabled:`inset 0 0 0 1px ${t}`,color:r,colorDisabled:a,colorActive:`#0000`,textColor:o,textColorDisabled:i,dotColorActive:n,dotColorDisabled:t,buttonBorderColor:t,buttonBorderColorActive:n,buttonBorderColorHover:t,buttonColor:r,buttonColorActive:r,buttonTextColor:o,buttonTextColorActive:n,buttonTextColorHover:n,opacityDisabled:s,buttonBoxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${F(n,{alpha:.3})}`,buttonBoxShadowHover:`inset 0 0 0 1px #0000`,buttonBoxShadow:`inset 0 0 0 1px #0000`,buttonBorderRadius:c})}var Jn={name:`Radio`,common:P,self:qn},Yn={thPaddingSmall:`8px`,thPaddingMedium:`12px`,thPaddingLarge:`12px`,tdPaddingSmall:`8px`,tdPaddingMedium:`12px`,tdPaddingLarge:`12px`,sorterSize:`15px`,resizableContainerSize:`8px`,resizableSize:`2px`,filterSize:`15px`,paginationMargin:`12px 0 0 0`,emptyPadding:`48px 0`,actionPadding:`8px 12px`,actionButtonMargin:`0 8px 0 0`};function Xn(e){let{cardColor:t,modalColor:n,popoverColor:r,textColor2:i,textColor1:a,tableHeaderColor:o,tableColorHover:s,iconColor:c,primaryColor:l,fontWeightStrong:u,borderRadius:d,lineHeight:f,fontSizeSmall:p,fontSizeMedium:m,fontSizeLarge:h,dividerColor:g,heightSmall:_,opacityDisabled:v,tableColorStriped:y}=e;return Object.assign(Object.assign({},Yn),{actionDividerColor:g,lineHeight:f,borderRadius:d,fontSizeSmall:p,fontSizeMedium:m,fontSizeLarge:h,borderColor:L(t,g),tdColorHover:L(t,s),tdColorSorting:L(t,s),tdColorStriped:L(t,y),thColor:L(t,o),thColorHover:L(L(t,o),s),thColorSorting:L(L(t,o),s),tdColor:t,tdTextColor:i,thTextColor:a,thFontWeight:u,thButtonColorHover:s,thIconColor:c,thIconColorActive:l,borderColorModal:L(n,g),tdColorHoverModal:L(n,s),tdColorSortingModal:L(n,s),tdColorStripedModal:L(n,y),thColorModal:L(n,o),thColorHoverModal:L(L(n,o),s),thColorSortingModal:L(L(n,o),s),tdColorModal:n,borderColorPopover:L(r,g),tdColorHoverPopover:L(r,s),tdColorSortingPopover:L(r,s),tdColorStripedPopover:L(r,y),thColorPopover:L(r,o),thColorHoverPopover:L(L(r,o),s),thColorSortingPopover:L(L(r,o),s),tdColorPopover:r,boxShadowBefore:`inset -12px 0 8px -12px rgba(0, 0, 0, .18)`,boxShadowAfter:`inset 12px 0 8px -12px rgba(0, 0, 0, .18)`,loadingColor:l,loadingSize:_,opacityLoading:v})}R({name:`DataTable`,common:P,peers:{Button:H,Checkbox:Sn,Radio:Jn,Pagination:zn,Scrollbar:V,Empty:Ge,Popover:Se,Ellipsis:Wn,Dropdown:mt},self:Xn});var Zn={name:`DataTable`,common:q,peers:{Button:Q,Checkbox:$,Radio:Kn,Pagination:Bn,Scrollbar:J,Empty:Y,Popover:X,Ellipsis:Un,Dropdown:Vn},self(e){let t=Xn(e);return t.boxShadowAfter=`inset 12px 0 8px -12px rgba(0, 0, 0, .36)`,t.boxShadowBefore=`inset -12px 0 8px -12px rgba(0, 0, 0, .36)`,t}},Qn={name:`Icon`,common:q,self:ht},$n={itemFontSize:`12px`,itemHeight:`36px`,itemWidth:`52px`,panelActionPadding:`8px 0`};function er(e){let{popoverColor:t,textColor2:n,primaryColor:r,hoverColor:i,dividerColor:a,opacityDisabled:o,boxShadow2:s,borderRadius:c,iconColor:l,iconColorDisabled:u}=e;return Object.assign(Object.assign({},$n),{panelColor:t,panelBoxShadow:s,panelDividerColor:a,itemTextColor:n,itemTextColorActive:r,itemColorHover:i,itemOpacityDisabled:o,itemBorderRadius:c,borderRadius:c,iconColor:l,iconColorDisabled:u})}var tr=R({name:`TimePicker`,common:P,peers:{Scrollbar:V,Button:H,Input:W},self:er}),nr={name:`TimePicker`,common:q,peers:{Scrollbar:J,Button:Q,Input:Z},self:er},rr={itemSize:`24px`,itemCellWidth:`38px`,itemCellHeight:`32px`,scrollItemWidth:`80px`,scrollItemHeight:`40px`,panelExtraFooterPadding:`8px 12px`,panelActionPadding:`8px 12px`,calendarTitlePadding:`0`,calendarTitleHeight:`28px`,arrowSize:`14px`,panelHeaderPadding:`8px 12px`,calendarDaysHeight:`32px`,calendarTitleGridTempateColumns:`28px 28px 1fr 28px 28px`,calendarLeftPaddingDate:`6px 12px 4px 12px`,calendarLeftPaddingDatetime:`4px 12px`,calendarLeftPaddingDaterange:`6px 12px 4px 12px`,calendarLeftPaddingDatetimerange:`4px 12px`,calendarLeftPaddingMonth:`0`,calendarLeftPaddingYear:`0`,calendarLeftPaddingQuarter:`0`,calendarLeftPaddingMonthrange:`0`,calendarLeftPaddingQuarterrange:`0`,calendarLeftPaddingYearrange:`0`,calendarLeftPaddingWeek:`6px 12px 4px 12px`,calendarRightPaddingDate:`6px 12px 4px 12px`,calendarRightPaddingDatetime:`4px 12px`,calendarRightPaddingDaterange:`6px 12px 4px 12px`,calendarRightPaddingDatetimerange:`4px 12px`,calendarRightPaddingMonth:`0`,calendarRightPaddingYear:`0`,calendarRightPaddingQuarter:`0`,calendarRightPaddingMonthrange:`0`,calendarRightPaddingQuarterrange:`0`,calendarRightPaddingYearrange:`0`,calendarRightPaddingWeek:`0`};function ir(e){let{hoverColor:t,fontSize:n,textColor2:r,textColorDisabled:i,popoverColor:a,primaryColor:o,borderRadiusSmall:s,iconColor:c,iconColorDisabled:l,textColor1:u,dividerColor:d,boxShadow2:f,borderRadius:p,fontWeightStrong:m}=e;return Object.assign(Object.assign({},rr),{itemFontSize:n,calendarDaysFontSize:n,calendarTitleFontSize:n,itemTextColor:r,itemTextColorDisabled:i,itemTextColorActive:a,itemTextColorCurrent:o,itemColorIncluded:F(o,{alpha:.1}),itemColorHover:t,itemColorDisabled:t,itemColorActive:o,itemBorderRadius:s,panelColor:a,panelTextColor:r,arrowColor:c,calendarTitleTextColor:u,calendarTitleColorHover:t,calendarDaysTextColor:r,panelHeaderDividerColor:d,calendarDaysDividerColor:d,calendarDividerColor:d,panelActionDividerColor:d,panelBoxShadow:f,panelBorderRadius:p,calendarTitleFontWeight:m,scrollItemBorderRadius:p,iconColor:c,iconColorDisabled:l})}R({name:`DatePicker`,common:P,peers:{Input:W,Button:H,TimePicker:tr,Scrollbar:V},self:ir});var ar={name:`DatePicker`,common:q,peers:{Input:Z,Button:Q,TimePicker:nr,Scrollbar:J},self(e){let{popoverColor:t,hoverColor:n,primaryColor:r}=e,i=ir(e);return i.itemColorDisabled=L(t,n),i.itemColorIncluded=F(r,{alpha:.15}),i.itemColorHover=L(t,n),i}},or={thPaddingBorderedSmall:`8px 12px`,thPaddingBorderedMedium:`12px 16px`,thPaddingBorderedLarge:`16px 24px`,thPaddingSmall:`0`,thPaddingMedium:`0`,thPaddingLarge:`0`,tdPaddingBorderedSmall:`8px 12px`,tdPaddingBorderedMedium:`12px 16px`,tdPaddingBorderedLarge:`16px 24px`,tdPaddingSmall:`0 0 8px 0`,tdPaddingMedium:`0 0 12px 0`,tdPaddingLarge:`0 0 16px 0`};function sr(e){let{tableHeaderColor:t,textColor2:n,textColor1:r,cardColor:i,modalColor:a,popoverColor:o,dividerColor:s,borderRadius:c,fontWeightStrong:l,lineHeight:u,fontSizeSmall:d,fontSizeMedium:f,fontSizeLarge:p}=e;return Object.assign(Object.assign({},or),{lineHeight:u,fontSizeSmall:d,fontSizeMedium:f,fontSizeLarge:p,titleTextColor:r,thColor:L(i,t),thColorModal:L(a,t),thColorPopover:L(o,t),thTextColor:r,thFontWeight:l,tdTextColor:n,tdColor:i,tdColorModal:a,tdColorPopover:o,borderColor:L(i,s),borderColorModal:L(a,s),borderColorPopover:L(o,s),borderRadius:c})}var cr={name:`Descriptions`,common:q,self:sr},lr={name:`Dialog`,common:q,peers:{Button:Q},self:Re},ur={name:`Modal`,common:q,peers:{Scrollbar:J,Dialog:lr,Card:_n},self:Le},dr=Object.assign(Object.assign({},ke),{onAfterEnter:Function,onAfterLeave:Function,transformOrigin:String,blockScroll:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},onEsc:Function,autoFocus:{type:Boolean,default:!0},internalStyle:[String,Object],maskClosable:{type:Boolean,default:!0},zIndex:Number,onPositiveClick:Function,onNegativeClick:Function,onClose:Function,onMaskClick:Function,draggable:[Boolean,Object]}),fr=C({name:`DialogEnvironment`,props:Object.assign(Object.assign({},dr),{internalKey:{type:String,required:!0},to:[String,Object],onInternalAfterLeave:{type:Function,required:!0}}),setup(e){let t=y(!0);function n(){let{onInternalAfterLeave:t,internalKey:n,onAfterLeave:r}=e;t&&t(n),r&&r()}function r(t){let{onPositiveClick:n}=e;n?Promise.resolve(n(t)).then(e=>{e!==!1&&c()}):c()}function i(t){let{onNegativeClick:n}=e;n?Promise.resolve(n(t)).then(e=>{e!==!1&&c()}):c()}function a(){let{onClose:t}=e;t?Promise.resolve(t()).then(e=>{e!==!1&&c()}):c()}function o(t){let{onMaskClick:n,maskClosable:r}=e;n&&(n(t),r&&c())}function s(){let{onEsc:t}=e;t&&t()}function c(){t.value=!1}function l(e){t.value=e}return{show:t,hide:c,handleUpdateShow:l,handleAfterLeave:n,handleCloseClick:a,handleNegativeClick:i,handlePositiveClick:r,handleMaskClick:o,handleEsc:s}},render(){let{handlePositiveClick:e,handleUpdateShow:t,handleNegativeClick:n,handleCloseClick:r,handleAfterLeave:i,handleMaskClick:a,handleEsc:o,to:c,zIndex:l,maskClosable:u,show:d}=this;return s(He,{show:d,onUpdateShow:t,onMaskClick:a,onEsc:o,to:c,zIndex:l,maskClosable:u,onAfterEnter:this.onAfterEnter,onAfterLeave:i,closeOnEsc:this.closeOnEsc,blockScroll:this.blockScroll,autoFocus:this.autoFocus,transformOrigin:this.transformOrigin,draggable:this.draggable,internalAppear:!0,internalDialog:!0},{default:({draggableClass:t})=>s(Be,Object.assign({},we(this.$props,Pe),{titleClass:E([this.titleClass,t]),style:this.internalStyle,onClose:r,onNegativeClick:n,onPositiveClick:e}))})}}),pr=C({name:`DialogProvider`,props:{injectionKey:String,to:[String,Object]},setup(){let e=y([]),t={};function n(n={}){let r=Ce(),i=D(Object.assign(Object.assign({},n),{key:r,destroy:()=>{var e;(e=t[`n-dialog-${r}`])==null||e.hide()}}));return e.value.push(i),i}let r=[`info`,`success`,`warning`,`error`].map(e=>t=>n(Object.assign(Object.assign({},t),{type:e})));function i(t){let{value:n}=e;n.splice(n.findIndex(e=>e.key===t),1)}function a(){Object.values(t).forEach(e=>{e?.hide()})}let s={create:n,destroyAll:a,info:r[0],success:r[1],warning:r[2],error:r[3]};return o(Ve,s),o(Ae,{clickedRef:Ie(64),clickedPositionRef:Ne()}),o(Fe,e),Object.assign(Object.assign({},s),{dialogList:e,dialogInstRefs:t,handleAfterLeave:i})},render(){var e;return s(ne,null,[this.dialogList.map(e=>s(fr,it(e,[`destroy`,`style`],{internalStyle:e.style,to:this.to,ref:t=>{t===null?delete this.dialogInstRefs[`n-dialog-${e.key}`]:this.dialogInstRefs[`n-dialog-${e.key}`]=t},internalKey:e.key,onInternalAfterLeave:this.handleAfterLeave}))),(e=this.$slots).default?.call(e)])}}),mr={name:`LoadingBar`,common:q,self(e){let{primaryColor:t}=e;return{colorError:`red`,colorLoading:t,height:`2px`}}},hr={margin:`0 0 8px 0`,padding:`10px 20px`,maxWidth:`720px`,minWidth:`420px`,iconMargin:`0 10px 0 0`,closeMargin:`0 0 0 10px`,closeSize:`20px`,closeIconSize:`16px`,iconSize:`20px`,fontSize:`14px`};function gr(e){let{textColor2:t,closeIconColor:n,closeIconColorHover:r,closeIconColorPressed:i,infoColor:a,successColor:o,errorColor:s,warningColor:c,popoverColor:l,boxShadow2:u,primaryColor:d,lineHeight:f,borderRadius:p,closeColorHover:m,closeColorPressed:h}=e;return Object.assign(Object.assign({},hr),{closeBorderRadius:p,textColor:t,textColorInfo:t,textColorSuccess:t,textColorError:t,textColorWarning:t,textColorLoading:t,color:l,colorInfo:l,colorSuccess:l,colorError:l,colorWarning:l,colorLoading:l,boxShadow:u,boxShadowInfo:u,boxShadowSuccess:u,boxShadowError:u,boxShadowWarning:u,boxShadowLoading:u,iconColor:t,iconColorInfo:a,iconColorSuccess:o,iconColorWarning:c,iconColorError:s,iconColorLoading:d,closeColorHover:m,closeColorPressed:h,closeIconColor:n,closeIconColorHover:r,closeIconColorPressed:i,closeColorHoverInfo:m,closeColorPressedInfo:h,closeIconColorInfo:n,closeIconColorHoverInfo:r,closeIconColorPressedInfo:i,closeColorHoverSuccess:m,closeColorPressedSuccess:h,closeIconColorSuccess:n,closeIconColorHoverSuccess:r,closeIconColorPressedSuccess:i,closeColorHoverError:m,closeColorPressedError:h,closeIconColorError:n,closeIconColorHoverError:r,closeIconColorPressedError:i,closeColorHoverWarning:m,closeColorPressedWarning:h,closeIconColorWarning:n,closeIconColorHoverWarning:r,closeIconColorPressedWarning:i,closeColorHoverLoading:m,closeColorPressedLoading:h,closeIconColorLoading:n,closeIconColorHoverLoading:r,closeIconColorPressedLoading:i,loadingColor:d,lineHeight:f,borderRadius:p,border:`0`})}var _r={name:`Message`,common:P,self:gr},vr={name:`Message`,common:q,self:gr},yr={icon:Function,type:{type:String,default:`info`},content:[String,Number,Function],showIcon:{type:Boolean,default:!0},closable:Boolean,keepAliveOnHover:Boolean,spinProps:Object,onClose:Function,onMouseenter:Function,onMouseleave:Function},br=z([M(`message-wrapper`,`
|
|
1
|
+
import{A as e,C as t,D as n,E as r,F as i,G as a,K as o,N as s,O as c,Q as l,R as u,T as d,U as f,W as p,X as m,Y as h,Z as g,b as _,c as v,ct as y,d as b,gt as x,it as S,j as C,k as w,l as T,mt as E,ot as D,p as ee,pt as O,t as te,w as k,y as ne}from"./router-Drg4uUER.js";import{t as re}from"./pinia-F-uLzgMS.js";import{n as ie,r as ae,t as A}from"./_plugin-vue_export-helper-BPCSidQI.js";import"./logo-Cd-t_oGE.js";import{$ as oe,B as se,V as ce,X as le,_t as ue,a as de,at as j,c as fe,ct as M,d as pe,dt as N,f as me,it as he,n as P,nt as F,o as ge,pt as I,r as _e,rt as L,s as R,st as z,tt as ve,u as ye,ut as B,z as be}from"./browser-OtgUKGth.js";import{a as xe,i as Se,j as Ce,s as we}from"./Popover-CjCb_fJl.js";import{i as Te,r as V,s as Ee,t as De,y as Oe}from"./Scrollbar-v6Ok23iG.js";import{a as ke,c as Ae,d as je,f as Me,h as Ne,i as Pe,l as Fe,m as Ie,n as Le,o as Re,p as ze,r as Be,s as Ve,t as He,u as Ue}from"./Modal-apmj2qGK.js";import{a as We,c as Ge,i as Ke,l as qe,n as Je,o as Ye,r as Xe,s as Ze,t as Qe}from"./Select-CDF2CEro.js";import{a as $e,i as et,r as H,t as tt}from"./Button-Bls2FkVh.js";import{n as U}from"./fade-in-scale-up.cssr-BbYEGcju.js";import{n as nt,t as rt}from"./Warning-C--exCXL.js";import{t as it}from"./omit-1BRB6K75.js";import{t as at}from"./Close-CkAmZwHA.js";import{i as ot,t as st}from"./light-Bmu6b0jg.js";import{a as ct,n as lt,o as ut,t as dt}from"./profiles-DIJT1P0i.js";import{n as ft,t as W}from"./light-8G-BZ0JM.js";import{a as pt,i as mt,r as ht,t as gt}from"./chat-B8_g1FhX.js";import{n as _t,t as vt}from"./light-B3QvGN97.js";import{n as yt,r as bt,t as xt}from"./use-message-xhQoRXQV.js";import{n as St}from"./light-BtLlDltU.js";import{n as Ct}from"./light-B83Z4vA9.js";import{t as wt}from"./_common-DgdkN_d5.js";import{t as Tt}from"./light-DDEUT7ek.js";import{t as Et}from"./useTheme-Dd5YNF4O.js";import{t as Dt}from"./app-BEBfTlZP.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Ot={login:{title:`Hermes Web UI`,description:`Enter your access token to continue. Find it in the server startup logs.`,placeholder:`Access token`,submit:`Login`,tokenRequired:`Please enter your access token`,invalidToken:`Invalid token`,connectionFailed:`Cannot connect to server`},common:{loading:`Loading...`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,save:`Save`,saved:`Saved`,update:`Update`,create:`Create`,saveFailed:`Save failed`,ok:`OK`,copied:`Copied`,copy:`Copy`,noData:`No data`,fetch:`Fetch`,add:`Add`,enable:`Enable`,disable:`Disable`,configured:`Configured`,notConfigured:`Not configured`,confirm:`Confirm`,expand:`Expand`,collapse:`Collapse`},sidebar:{chat:`Chat`,jobs:`Jobs`,models:`Models`,profiles:`Profiles`,skills:`Skills`,memory:`Memory`,logs:`Logs`,usage:`Usage`,channels:`Channels`,terminal:`Terminal`,settings:`Settings`,connected:`Connected`,disconnected:`Disconnected`,updateTip:`Run "hermes-web-ui update" in terminal to update`,updateVersion:`Upgrade to v{version}`,updating:`Updating...`,updateSuccess:`Update complete, please restart the server`,updateFailed:`Update failed`},chat:{emptyState:`Start a conversation with Hermes Agent`,inputPlaceholder:`Type a message... (Enter to send, Shift+Enter for new line)`,attachFiles:`Attach files`,stop:`Stop`,send:`Send`,contextUsed:`Context used:`,sessions:`Sessions`,noSessions:`No sessions`,newChat:`New Chat`,deleteSession:`Delete this session?`,sessionDeleted:`Session deleted`,rename:`Rename`,copySessionId:`Copy Session ID`,renamed:`Renamed`,renameFailed:`Rename failed`,renameSession:`Rename Session`,enterNewTitle:`Enter new title`,other:`Other`,runFailed:`Run failed`,error:`Error`,tool:`Tool`,arguments:`Arguments`,result:`Result`,truncated:`... (truncated)`},jobs:{title:`Scheduled Jobs`,createJob:`Create Job`,editJob:`Edit Job`,noJobs:`No scheduled jobs yet. Create one to get started.`,name:`Name`,namePlaceholder:`Job name`,schedule:`Schedule (Cron Expression)`,schedulePlaceholder:`e.g. 0 9 * * *`,quickPresets:`Quick Presets`,selectPreset:`Select a preset...`,presetEveryMinute:`Every minute`,presetEvery5Min:`Every 5 minutes`,presetEveryHour:`Every hour`,presetEveryDay:`Every day at 00:00`,presetEveryDay9:`Every day at 09:00`,presetEveryMonday:`Every Monday at 09:00`,presetEveryMonth:`Every month 1st at 09:00`,prompt:`Prompt`,promptPlaceholder:`The prompt to execute`,deliverTarget:`Deliver Target`,origin:`Origin`,local:`Local`,repeatCount:`Repeat Count (optional)`,repeatPlaceholder:`Leave empty for infinite`,jobCreated:`Job created`,jobUpdated:`Job updated`,nameRequired:`Name is required`,scheduleRequired:`Schedule is required`,loadFailed:`Failed to load job`,jobPaused:`Job paused`,jobResumed:`Job resumed`,jobTriggered:`Job triggered`,jobDeleted:`Job deleted`,status:{running:`Running`,paused:`Paused`,disabled:`Disabled`,scheduled:`Scheduled`},info:{schedule:`Schedule`,lastRun:`Last Run`,nextRun:`Next Run`,deliver:`Deliver`,repeat:`Repeat`},action:{pause:`Pause`,pauseJob:`Pause job`,resume:`Resume`,resumeJob:`Resume job`,runNow:`Run Now`,triggerImmediately:`Trigger immediately`}},skills:{title:`Skills`,searchPlaceholder:`Search skills...`,noMatch:`No skills match your search`,noSkills:`No skills found`,backTo:`Back to`,attachedFiles:`Attached Files`,loadFailed:`Failed to load skill`,fileLoadFailed:`Failed to load file`,toggleFailed:`Failed to toggle skill`},memory:{title:`Memory`,refresh:`Refresh`,loadFailed:`Failed to load memory`,myNotes:`My Notes`,noNotes:`No notes yet.`,notesPlaceholder:`Write your notes...`,userProfile:`User Profile`,noProfile:`No profile yet.`,profilePlaceholder:`Write your profile...`,soul:`Soul`,noSoul:`No soul configuration yet.`,soulPlaceholder:`Write soul configuration...`},models:{title:`Models`,addProvider:`Add Provider`,providerType:`Provider Type`,preset:`Preset`,custom:`Custom`,selectProvider:`Select Provider`,chooseProvider:`Choose a provider...`,name:`Name`,autoGeneratedName:`Auto-generated from Base URL`,baseUrl:`Base URL`,baseUrlPlaceholder:`e.g. https://api.example.com/v1`,apiKey:`API Key`,apiKeyPlaceholder:`sk-...`,defaultModel:`Default Model`,selectModel:`Select a model...`,providerAdded:`Provider added`,providerDeleted:`Provider deleted`,deleteProvider:`Delete Provider`,deleteConfirm:`Are you sure you want to delete "{name}"?`,noProviders:`No providers found. Add a custom provider to get started.`,builtIn:`Built-in`,customType:`Custom`,provider:`Provider`,local:`Local ({host})`,selectProviderRequired:`Please select a provider`,baseUrlRequired:`Base URL is required`,apiKeyRequired:`API Key is required`,modelRequired:`Default Model is required`,enterBaseUrl:`Please enter Base URL first`,unexpectedFormat:`Unexpected response format`,foundModels:`Found {count} models`,fetchFailed:`Failed to fetch models`},profiles:{title:`Profiles`,create:`Create Profile`,import:`Import`,export:`Export`,rename:`Rename`,delete:`Delete`,switchTo:`Switch to`,switchConfirm:`Switching to profile "{name}" will restart the gateway. Continue?`,switchSuccess:`Switched to profile "{name}"`,switchFailed:`Failed to switch profile. Gateway may need manual restart.`,createSuccess:`Profile "{name}" created`,createFailed:`Failed to create profile`,renameSuccess:`Profile renamed`,renameFailed:`Failed to rename profile`,deleteConfirm:`Are you sure you want to delete profile "{name}"?`,deleteSuccess:`Profile deleted`,deleteFailed:`Failed to delete profile`,exportSuccess:`Profile exported`,exportFailed:`Failed to export profile`,importSuccess:`Profile imported`,importFailed:`Failed to import profile`,importSelectFile:`Select archive file`,importInvalidFile:`Please select a valid archive (.tar.gz, .tgz, .gz, .zip)`,name:`Profile Name`,namePlaceholder:`English letters, numbers, hyphens only`,newName:`New Name`,newNamePlaceholder:`Enter new name`,cloneFromCurrent:`Clone from current profile`,archivePath:`Archive Path`,archivePathPlaceholder:`Server path to archive file`,importName:`Profile Name (optional)`,importNamePlaceholder:`Leave empty to use archive name`,active:`Active`,model:`Model`,gateway:`Gateway`,alias:`Alias`,provider:`Provider`,path:`Path`,skills:`Skills`,hasEnv:`Has .env`,hasSoulMd:`Has soul.md`,noProfiles:`No profiles found. Create one to get started.`},logs:{title:`Logs`,all:`All`,searchPlaceholder:`Search...`,refresh:`Refresh`,noEntries:`No log entries`},settings:{title:`Settings`,saved:`Saved`,saveFailed:`Save failed`,tabs:{display:`Display`,agent:`Agent`,memory:`Memory`,session:`Session`,privacy:`Privacy`,apiServer:`API Server`},display:{streaming:`Stream Responses`,streamingHint:`Show AI replies in real-time`,compact:`Compact Mode`,compactHint:`Reduce message spacing`,showReasoning:`Show Reasoning`,showReasoningHint:`Show model thinking process`,showCost:`Show Cost`,showCostHint:`Show token usage in replies`,inlineDiffs:`Inline Diffs`,inlineDiffsHint:`Show code changes inline`,bellOnComplete:`Completion Sound`,bellOnCompleteHint:`Play sound when AI finishes`,busyInputMode:`Busy Input Mode`,busyInputModeHint:`Allow input while AI is processing`,theme:`Theme`,themeHint:`Choose light, dark, or follow system preference`,themeLight:`Light`,themeDark:`Dark`,themeSystem:`System`},agent:{maxTurns:`Max Turns`,maxTurnsHint:`Maximum interaction rounds per conversation`,gatewayTimeout:`Gateway Timeout`,gatewayTimeoutHint:`Request timeout in seconds`,restartDrainTimeout:`Restart Drain Timeout`,restartDrainTimeoutHint:`Drain timeout before restart in seconds`,toolEnforcement:`Tool Enforcement`,toolEnforcementHint:`Control tool call execution mode`,auto:`Auto`,always:`Always`,never:`Never`},memory:{enabled:`Enable Memory`,enabledHint:`Allow AI to remember conversation context`,userProfile:`User Profile`,userProfileHint:`Allow AI to remember user preferences`,charLimit:`Memory Char Limit`,charLimitHint:`Max characters for MEMORY.md`,userCharLimit:`User Profile Char Limit`,userCharLimitHint:`Max characters for USER.md`},session:{mode:`Reset Mode`,modeHint:`Trigger condition for session reset`,modeBoth:`Idle + Scheduled`,modeIdle:`Idle Only`,modeHourly:`Scheduled Only`,idleMinutes:`Idle Timeout`,idleMinutesHint:`Wait time before auto-reset (minutes)`,atHour:`Scheduled Reset Time`,atHourHint:`Reset session at this hour daily`},privacy:{redactPii:`Redact PII`,redactPiiHint:`Auto-detect and hide sensitive info (passwords, keys, etc.)`},apiServer:{enable:`Enable`,enableHint:`Enable API server`,host:`Host`,hostHint:`Listen address`,port:`Port`,portHint:`Listen port`,key:`Key`,keyHint:`API access key`,cors:`CORS Origins`,corsHint:`Allowed cross-origin sources`}},platform:{requireMention:`Require {'@'}Mention`,requireMentionGroup:`Require {'@'}mention in groups to respond`,requireMentionChannel:`Require {'@'}mention in channels to respond`,requireMentionRoom:`Require {'@'}mention in rooms to respond`,reactions:`Reactions`,reactionsHint:`React to messages with emoji`,freeResponseChats:`Free Response Chats`,freeResponseChatsHint:`Chat IDs that respond without {'@'}mention (comma-separated)`,freeResponseChannels:`Free Response Channels`,freeResponseChannelsHint:`Channel IDs that respond without {'@'}mention (comma-separated)`,freeResponseRooms:`Free Response Rooms`,freeResponseRoomsHint:`Room IDs that respond without {'@'}mention (comma-separated)`,mentionPatterns:`Custom Mention Patterns`,mentionPatternsHint:`Additional trigger patterns`,autoThread:`Auto Thread`,autoThreadHint:`Auto-create reply threads after {'@'}mention`,autoThreadHintRoom:`Auto-create reply threads in rooms`,dmMentionThreads:`DM Mention Threads`,dmMentionThreadsHint:`Use thread replies for mentions in DMs`,allowBots:`Allow Bot Messages`,allowBotsHint:`Respond to messages from other bots`,allowedChannels:`Allowed Channels`,allowedChannelsHint:`Whitelist channel IDs (comma-separated)`,ignoredChannels:`Ignored Channels`,ignoredChannelsHint:`Channels where bot never responds (comma-separated)`,noThreadChannels:`No-Thread Channels`,noThreadChannelsHint:`Channels where bot responds without threads (comma-separated)`,botToken:`Bot Token`,botTokenHint:`Bot token from developer portal`,accessToken:`Access Token`,accessTokenHint:`Matrix access token`,homeserver:`Homeserver URL`,homeserverHint:`Matrix homeserver URL`,appId:`App ID`,appIdHint:`Feishu App ID`,appSecret:`App Secret`,appSecretHint:`Feishu App Secret`,clientId:`Client ID`,clientIdHint:`DingTalk Client ID`,clientSecret:`Client Secret`,clientSecretHint:`DingTalk Client Secret`,botId:`Bot ID`,botIdHint:`WeCom Bot ID`,wecomSecretHint:`WeCom Bot Secret`,waEnabled:`Enable WhatsApp`,waEnabledHint:`Enable WhatsApp via QR code pairing`,weixinToken:`Weixin Token`,weixinTokenHint:`From weixin CLI QR login (hermes weixin)`,accountId:`Account ID`,accountIdHint:`Weixin account ID`,qrLogin:`QR Login`,qrRelogin:`Re-login`,qrFetching:`Fetching QR code...`,qrScanHint:`Scan with WeChat to login`,qrScanedHint:`Scaned, please confirm on phone...`},language:{label:`Language`,zh:`中文`,en:`English`},terminal:{sessions:`Sessions`,newTab:`New Terminal`,closeSession:`Close this session?`,sessionExited:`Exited`,processExited:`Process exited with code {code}`},usage:{title:`Usage Statistics`,refresh:`Refresh`,totalTokens:`Total Tokens`,inputTokens:`Input`,outputTokens:`Output`,totalSessions:`Total Sessions`,avgPerDay:`~{n}/day avg`,estimatedCost:`Est. Cost`,cacheHitRate:`Cache Hit Rate`,modelBreakdown:`Model Breakdown`,dailyTrend:`Daily Usage (Last 30 Days)`,date:`Date`,tokens:`Tokens`,cache:`Cache`,sessions:`Sessions`,cost:`Cost`,noData:`No usage data`}},kt={login:{title:`Hermes Web UI`,description:`输入访问令牌以继续。令牌在服务端启动日志中查看。`,placeholder:`访问令牌`,submit:`登录`,tokenRequired:`请输入访问令牌`,invalidToken:`令牌无效`,connectionFailed:`无法连接到服务器`},common:{loading:`加载中...`,cancel:`取消`,delete:`删除`,edit:`编辑`,save:`保存`,saved:`已保存`,saveFailed:`保存失败`,ok:`确定`,copied:`已复制`,copy:`复制`,update:`更新`,create:`创建`,noData:`暂无数据`,fetch:`获取`,add:`添加`,enable:`启用`,disable:`禁用`,configured:`已配置`,notConfigured:`未配置`,confirm:`确定`,expand:`展开`,collapse:`收起`},sidebar:{chat:`对话`,jobs:`任务`,models:`模型`,profiles:`用户`,skills:`技能`,memory:`记忆`,logs:`日志`,usage:`用量`,channels:`频道`,terminal:`终端`,settings:`设置`,connected:`已连接`,disconnected:`未连接`,updateTip:`在终端运行 "hermes-web-ui update" 即可更新`,updateVersion:`升级版本 v{version}`,updating:`正在更新...`,updateSuccess:`更新完成,请重启服务`,updateFailed:`更新失败`},chat:{emptyState:`开始与 Hermes Agent 对话`,inputPlaceholder:`输入消息... (Enter 发送,Shift+Enter 换行)`,attachFiles:`添加附件`,stop:`停止`,send:`发送`,contextUsed:`上下文已用:`,sessions:`会话`,noSessions:`暂无会话`,newChat:`新建对话`,deleteSession:`确定删除此会话?`,sessionDeleted:`会话已删除`,rename:`重命名`,copySessionId:`复制会话 ID`,renamed:`已重命名`,renameFailed:`重命名失败`,renameSession:`重命名会话`,enterNewTitle:`输入新标题`,other:`其他`,runFailed:`运行失败`,error:`错误`,tool:`工具`,arguments:`参数`,result:`结果`,truncated:`... (已截断)`},jobs:{title:`定时任务`,createJob:`创建任务`,editJob:`编辑任务`,noJobs:`暂无定时任务,创建一个开始吧。`,name:`名称`,namePlaceholder:`任务名称`,schedule:`调度表达式 (Cron)`,schedulePlaceholder:`例如 0 9 * * *`,quickPresets:`快速预设`,selectPreset:`选择预设...`,presetEveryMinute:`每分钟`,presetEvery5Min:`每 5 分钟`,presetEveryHour:`每小时`,presetEveryDay:`每天 00:00`,presetEveryDay9:`每天 09:00`,presetEveryMonday:`每周一 09:00`,presetEveryMonth:`每月 1 日 09:00`,prompt:`提示词`,promptPlaceholder:`要执行的内容`,deliverTarget:`投递目标`,origin:`来源`,local:`本地`,repeatCount:`重复次数(可选)`,repeatPlaceholder:`留空表示无限重复`,jobCreated:`任务已创建`,jobUpdated:`任务已更新`,nameRequired:`名称为必填项`,scheduleRequired:`调度表达式为必填项`,loadFailed:`加载任务失败`,jobPaused:`任务已暂停`,jobResumed:`任务已恢复`,jobTriggered:`任务已触发`,jobDeleted:`任务已删除`,status:{running:`运行中`,paused:`已暂停`,disabled:`已禁用`,scheduled:`已调度`},info:{schedule:`调度`,lastRun:`上次运行`,nextRun:`下次运行`,deliver:`投递`,repeat:`重复`},action:{pause:`暂停`,pauseJob:`暂停任务`,resume:`恢复`,resumeJob:`恢复任务`,runNow:`立即运行`,triggerImmediately:`立即触发`}},skills:{title:`技能`,searchPlaceholder:`搜索技能...`,noMatch:`没有匹配的技能`,noSkills:`暂无技能`,backTo:`返回`,attachedFiles:`附件文件`,loadFailed:`加载技能失败`,fileLoadFailed:`加载文件失败`,toggleFailed:`切换技能状态失败`},memory:{title:`记忆`,refresh:`刷新`,loadFailed:`加载记忆失败`,myNotes:`我的笔记`,noNotes:`暂无笔记。`,notesPlaceholder:`输入笔记内容...`,userProfile:`用户画像`,noProfile:`暂无画像。`,profilePlaceholder:`输入用户画像...`,soul:`灵魂`,noSoul:`暂无灵魂配置。`,soulPlaceholder:`输入灵魂配置...`},models:{title:`模型`,addProvider:`添加 Provider`,providerType:`Provider 类型`,preset:`预设`,custom:`自定义`,selectProvider:`选择 Provider`,chooseProvider:`选择一个 provider...`,name:`名称`,autoGeneratedName:`根据 Base URL 自动生成`,baseUrl:`Base URL`,baseUrlPlaceholder:`例如 https://api.example.com/v1`,apiKey:`API Key`,apiKeyPlaceholder:`sk-...`,defaultModel:`默认模型`,selectModel:`选择模型...`,providerAdded:`Provider 已添加`,providerDeleted:`Provider 已删除`,deleteProvider:`删除 Provider`,deleteConfirm:`确定删除 "{name}" 吗?`,noProviders:`暂无 Provider,添加一个开始吧。`,builtIn:`内置`,customType:`自定义`,provider:`Provider`,local:`本地 ({host})`,selectProviderRequired:`请选择 Provider`,baseUrlRequired:`Base URL 为必填项`,apiKeyRequired:`API Key 为必填项`,modelRequired:`默认模型为必填项`,enterBaseUrl:`请先输入 Base URL`,unexpectedFormat:`响应格式异常`,foundModels:`找到 {count} 个模型`,fetchFailed:`获取模型失败`},profiles:{title:`配置`,create:`创建配置`,import:`导入`,export:`导出`,rename:`重命名`,delete:`删除`,switchTo:`切换到`,switchConfirm:`切换到配置 "{name}" 将重启网关,是否继续?`,switchSuccess:`已切换到配置 "{name}"`,switchFailed:`切换配置失败,网关可能需要手动重启`,createSuccess:`配置 "{name}" 已创建`,createFailed:`创建配置失败`,renameSuccess:`配置已重命名`,renameFailed:`重命名配置失败`,deleteConfirm:`确定删除配置 "{name}" 吗?`,deleteSuccess:`配置已删除`,deleteFailed:`删除配置失败`,exportSuccess:`配置已导出`,exportFailed:`导出配置失败`,importSuccess:`配置已导入`,importFailed:`导入配置失败`,importSelectFile:`选择归档文件`,importInvalidFile:`请选择有效的归档文件 (.tar.gz, .tgz, .gz, .zip)`,name:`配置名称`,namePlaceholder:`仅限英文、数字、连字符`,newName:`新名称`,newNamePlaceholder:`输入新名称`,cloneFromCurrent:`从当前配置克隆`,archivePath:`归档路径`,archivePathPlaceholder:`归档文件的服务器路径`,importName:`配置名称(可选)`,importNamePlaceholder:`留空则使用归档名称`,active:`活跃`,model:`模型`,gateway:`网关`,alias:`别名`,provider:`Provider`,path:`路径`,skills:`技能`,hasEnv:`有 .env`,hasSoulMd:`有 soul.md`,noProfiles:`暂无配置,创建一个开始吧。`},logs:{title:`日志`,all:`全部`,searchPlaceholder:`搜索...`,refresh:`刷新`,noEntries:`暂无日志`},settings:{title:`设置`,saved:`已保存`,saveFailed:`保存失败`,tabs:{display:`显示`,agent:`代理`,memory:`记忆`,session:`会话`,privacy:`隐私`,apiServer:`API 服务器`},display:{streaming:`流式响应`,streamingHint:`实时显示 AI 回复`,compact:`紧凑模式`,compactHint:`减少消息间距`,showReasoning:`显示推理过程`,showReasoningHint:`展示模型思考过程`,showCost:`显示费用`,showCostHint:`在回复中显示 token 使用量`,inlineDiffs:`内联差异`,inlineDiffsHint:`代码变更以内联方式显示`,bellOnComplete:`完成提示音`,bellOnCompleteHint:`AI 回复完成时播放提示音`,busyInputMode:`忙碌输入模式`,busyInputModeHint:`AI 处理中仍可输入`,theme:`主题`,themeHint:`选择浅色、暗色或跟随系统`,themeLight:`浅色`,themeDark:`暗色`,themeSystem:`跟随系统`},agent:{maxTurns:`最大轮次`,maxTurnsHint:`单次对话最大交互轮数`,gatewayTimeout:`网关超时`,gatewayTimeoutHint:`单次请求超时时间(秒)`,restartDrainTimeout:`重启排空超时`,restartDrainTimeoutHint:`重启前排空请求的超时时间(秒)`,toolEnforcement:`工具执行策略`,toolEnforcementHint:`控制工具调用的执行模式`,auto:`自动`,always:`始终`,never:`从不`},memory:{enabled:`启用记忆`,enabledHint:`允许 AI 记住对话上下文`,userProfile:`用户画像`,userProfileHint:`允许 AI 记住用户偏好信息`,charLimit:`记忆字符上限`,charLimitHint:`MEMORY.md 最大字符数`,userCharLimit:`用户画像字符上限`,userCharLimitHint:`USER.md 最大字符数`},session:{mode:`重置模式`,modeHint:`会话重置的触发条件`,modeBoth:`空闲 + 定时`,modeIdle:`仅空闲`,modeHourly:`仅定时`,idleMinutes:`空闲超时`,idleMinutesHint:`无操作后自动重置的等待时间(分钟)`,atHour:`定时重置时间`,atHourHint:`每天在指定小时重置会话`},privacy:{redactPii:`脱敏 PII`,redactPiiHint:`自动检测并隐藏敏感信息(密码、密钥等)`},apiServer:{enable:`启用`,enableHint:`启用 API 服务器`,host:`主机`,hostHint:`监听地址`,port:`端口`,portHint:`监听端口`,key:`密钥`,keyHint:`API 访问密钥`,cors:`CORS 来源`,corsHint:`允许的跨域来源`}},platform:{requireMention:`需要 {'@'}提及`,requireMentionGroup:`群组中需要 {'@'}机器人 才会响应`,requireMentionChannel:`频道中需要 {'@'}机器人 才会响应`,requireMentionRoom:`房间中需要 {'@'}机器人 才会响应`,reactions:`表情回应`,reactionsHint:`对消息添加表情回应`,freeResponseChats:`自由响应聊天`,freeResponseChatsHint:`不需要 {'@'}提及即响应的聊天 ID(逗号分隔)`,freeResponseChannels:`自由响应频道`,freeResponseChannelsHint:`不需要 {'@'}提及即响应的频道 ID(逗号分隔)`,freeResponseRooms:`自由响应房间`,freeResponseRoomsHint:`不需要 {'@'}提及即响应的房间 ID(逗号分隔)`,mentionPatterns:`自定义提及模式`,mentionPatternsHint:`额外的触发模式列表`,autoThread:`自动创建线程`,autoThreadHint:`{'@'}提及 后自动创建回复线程`,autoThreadHintRoom:`在房间中自动创建回复线程`,dmMentionThreads:`DM 提及线程`,dmMentionThreadsHint:`在私聊中也使用线程回复提及`,allowBots:`允许机器人消息`,allowBotsHint:`响应其他机器人发送的消息`,allowedChannels:`允许的频道`,allowedChannelsHint:`白名单频道 ID(逗号分隔)`,ignoredChannels:`忽略的频道`,ignoredChannelsHint:`不响应的频道 ID(逗号分隔)`,noThreadChannels:`无线程频道`,noThreadChannelsHint:`不创建线程的频道 ID(逗号分隔)`,botToken:`Bot Token`,botTokenHint:`开发者门户获取的 Bot Token`,accessToken:`Access Token`,accessTokenHint:`Matrix Access Token`,homeserver:`Homeserver URL`,homeserverHint:`Matrix 服务器地址`,appId:`App ID`,appIdHint:`飞书 App ID`,appSecret:`App Secret`,appSecretHint:`飞书 App Secret`,clientId:`Client ID`,clientIdHint:`钉钉 Client ID`,clientSecret:`Client Secret`,clientSecretHint:`钉钉 Client Secret`,botId:`Bot ID`,botIdHint:`企业微信 Bot ID`,wecomSecretHint:`企业微信 Bot Secret`,waEnabled:`启用 WhatsApp`,waEnabledHint:`通过二维码配对启用 WhatsApp`,weixinToken:`微信 Token`,weixinTokenHint:`通过 weixin CLI 扫码登录获取 (hermes weixin)`,accountId:`Account ID`,accountIdHint:`微信 Account ID`,qrLogin:`扫码登录`,qrRelogin:`重新登录`,qrFetching:`正在获取二维码...`,qrScanHint:`使用微信扫描二维码登录`,qrScanedHint:`已扫描,请在手机上确认...`},language:{label:`语言`,zh:`中文`,en:`English`},terminal:{sessions:`会话`,newTab:`新建终端`,closeSession:`关闭此会话?`,sessionExited:`已退出`,processExited:`进程已退出,代码 {code}`},usage:{title:`用量统计`,refresh:`刷新`,totalTokens:`总 Token 数`,inputTokens:`输入`,outputTokens:`输出`,totalSessions:`总会话数`,avgPerDay:`日均 ~{n}`,estimatedCost:`预估费用`,cacheHitRate:`缓存命中率`,modelBreakdown:`模型分布`,dailyTrend:`每日用量(近 30 天)`,date:`日期`,tokens:`Token`,cache:`缓存`,sessions:`会话`,cost:`费用`,noData:`暂无用量数据`}},At={login:{title:`Hermes Web UI`,description:`アクセストークンを入力して続行してください。サーバーの起動ログで確認できます。`,placeholder:`アクセストークン`,submit:`ログイン`,tokenRequired:`アクセストークンを入力してください`,invalidToken:`無効なトークンです`,connectionFailed:`サーバーに接続できません`},common:{loading:`読み込み中...`,cancel:`キャンセル`,delete:`削除`,edit:`編集`,save:`保存`,saved:`保存しました`,update:`更新`,create:`作成`,saveFailed:`保存に失敗しました`,ok:`OK`,copied:`コピーしました`,copy:`コピー`,noData:`データがありません`,fetch:`取得`,add:`追加`,enable:`有効化`,disable:`無効化`,configured:`設定済み`,notConfigured:`未設定`,confirm:`確認`,expand:`展開`,collapse:`折りたたむ`},sidebar:{chat:`チャット`,jobs:`ジョブ`,models:`モデル`,profiles:`プロファイル`,skills:`スキル`,memory:`メモリ`,logs:`ログ`,usage:`使用量`,channels:`チャンネル`,terminal:`ターミナル`,settings:`設定`,connected:`接続済み`,disconnected:`未接続`,updateTip:`ターミナルで "hermes-web-ui update" を実行して更新してください`,updateVersion:`v{version} にアップグレード`,updating:`更新中...`,updateSuccess:`更新が完了しました。サーバーを再起動してください`,updateFailed:`更新に失敗しました`},chat:{emptyState:`Hermes Agent と会話を開始しましょう`,inputPlaceholder:`メッセージを入力... (Enter で送信、Shift+Enter で改行)`,attachFiles:`ファイルを添付`,stop:`停止`,send:`送信`,contextUsed:`コンテキスト使用量:`,sessions:`セッション`,noSessions:`セッションがありません`,newChat:`新しいチャット`,deleteSession:`このセッションを削除しますか?`,sessionDeleted:`セッションを削除しました`,rename:`名前変更`,copySessionId:`セッション ID をコピー`,renamed:`名前を変更しました`,renameFailed:`名前の変更に失敗しました`,renameSession:`セッション名の変更`,enterNewTitle:`新しいタイトルを入力`,other:`その他`,runFailed:`実行に失敗しました`,error:`エラー`,tool:`ツール`,arguments:`引数`,result:`結果`,truncated:`... (省略)`},jobs:{title:`スケジュールジョブ`,createJob:`ジョブを作成`,editJob:`ジョブを編集`,noJobs:`スケジュールジョブがありません。作成して始めましょう。`,name:`名前`,namePlaceholder:`ジョブ名`,schedule:`スケジュール (Cron 式)`,schedulePlaceholder:`例: 0 9 * * *`,quickPresets:`クイックプリセット`,selectPreset:`プリセットを選択...`,presetEveryMinute:`毎分`,presetEvery5Min:`5分ごと`,presetEveryHour:`毎時`,presetEveryDay:`毎日 00:00`,presetEveryDay9:`毎日 09:00`,presetEveryMonday:`毎週月曜 09:00`,presetEveryMonth:`毎月1日 09:00`,prompt:`プロンプト`,promptPlaceholder:`実行するプロンプト`,deliverTarget:`配信先`,origin:`配信元`,local:`ローカル`,repeatCount:`繰り返し回数(任意)`,repeatPlaceholder:`空白の場合は無制限`,jobCreated:`ジョブを作成しました`,jobUpdated:`ジョブを更新しました`,nameRequired:`名前は必須です`,scheduleRequired:`スケジュールは必須です`,loadFailed:`ジョブの読み込みに失敗しました`,jobPaused:`ジョブを一時停止しました`,jobResumed:`ジョブを再開しました`,jobTriggered:`ジョブをトリガーしました`,jobDeleted:`ジョブを削除しました`,status:{running:`実行中`,paused:`一時停止`,disabled:`無効`,scheduled:`スケジュール済み`},info:{schedule:`スケジュール`,lastRun:`前回実行`,nextRun:`次回実行`,deliver:`配信`,repeat:`繰り返し`},action:{pause:`一時停止`,pauseJob:`ジョブを一時停止`,resume:`再開`,resumeJob:`ジョブを再開`,runNow:`今すぐ実行`,triggerImmediately:`すぐにトリガー`}},skills:{title:`スキル`,searchPlaceholder:`スキルを検索...`,noMatch:`検索に一致するスキルがありません`,noSkills:`スキルがありません`,backTo:`戻る`,attachedFiles:`添付ファイル`,loadFailed:`スキルの読み込みに失敗しました`,fileLoadFailed:`ファイルの読み込みに失敗しました`,toggleFailed:`スキルの切り替えに失敗しました`},memory:{title:`メモリ`,refresh:`更新`,loadFailed:`メモリの読み込みに失敗しました`,myNotes:`メモ`,noNotes:`メモはまだありません。`,notesPlaceholder:`メモを入力...`,userProfile:`ユーザープロファイル`,noProfile:`プロファイルはまだありません。`,profilePlaceholder:`プロファイルを入力...`,soul:`ソウル`,noSoul:`ソウル設定はまだありません。`,soulPlaceholder:`ソウル設定を入力...`},models:{title:`モデル`,addProvider:`プロバイダーを追加`,providerType:`プロバイダー種別`,preset:`プリセット`,custom:`カスタム`,selectProvider:`プロバイダーを選択`,chooseProvider:`プロバイダーを選択...`,name:`名前`,autoGeneratedName:`ベース URL から自動生成`,baseUrl:`ベース URL`,baseUrlPlaceholder:`例: https://api.example.com/v1`,apiKey:`API キー`,apiKeyPlaceholder:`sk-...`,defaultModel:`デフォルトモデル`,selectModel:`モデルを選択...`,providerAdded:`プロバイダーを追加しました`,providerDeleted:`プロバイダーを削除しました`,deleteProvider:`プロバイダーを削除`,deleteConfirm:`「{name}」を削除しますか?`,noProviders:`プロバイダーがありません。カスタムプロバイダーを追加して始めましょう。`,builtIn:`組み込み`,customType:`カスタム`,provider:`プロバイダー`,local:`ローカル ({host})`,selectProviderRequired:`プロバイダーを選択してください`,baseUrlRequired:`ベース URL は必須です`,apiKeyRequired:`API キーは必須です`,modelRequired:`デフォルトモデルは必須です`,enterBaseUrl:`ベース URL を先に入力してください`,unexpectedFormat:`予期しないレスポンス形式です`,foundModels:`{count} 個のモデルが見つかりました`,fetchFailed:`モデルの取得に失敗しました`},profiles:{title:`プロファイル`,create:`プロファイルを作成`,import:`インポート`,export:`エクスポート`,rename:`名前変更`,delete:`削除`,switchTo:`切り替え`,switchConfirm:`プロファイル「{name}」に切り替えるとゲートウェイが再起動されます。続行しますか?`,switchSuccess:`プロファイル「{name}」に切り替えました`,switchFailed:`プロファイルの切り替えに失敗しました。ゲートウェイの手動再起動が必要な場合があります。`,createSuccess:`プロファイル「{name}」を作成しました`,createFailed:`プロファイルの作成に失敗しました`,renameSuccess:`プロファイル名を変更しました`,renameFailed:`プロファイル名の変更に失敗しました`,deleteConfirm:`プロファイル「{name}」を削除しますか?`,deleteSuccess:`プロファイルを削除しました`,deleteFailed:`プロファイルの削除に失敗しました`,exportSuccess:`プロファイルをエクスポートしました`,exportFailed:`プロファイルのエクスポートに失敗しました`,importSuccess:`プロファイルをインポートしました`,importFailed:`プロファイルのインポートに失敗しました`,importSelectFile:`アーカイブファイルを選択`,importInvalidFile:`有効なアーカイブファイルを選択してください (.tar.gz, .tgz, .gz, .zip)`,name:`プロファイル名`,namePlaceholder:`英数字、ハイフンのみ`,newName:`新しい名前`,newNamePlaceholder:`新しい名前を入力`,cloneFromCurrent:`現在のプロファイルから複製`,archivePath:`アーカイブパス`,archivePathPlaceholder:`アーカイブファイルのサーバーパス`,importName:`プロファイル名(任意)`,importNamePlaceholder:`空白の場合はアーカイブ名を使用`,active:`アクティブ`,model:`モデル`,gateway:`ゲートウェイ`,alias:`エイリアス`,provider:`プロバイダー`,path:`パス`,skills:`スキル`,hasEnv:`.env あり`,hasSoulMd:`soul.md あり`,noProfiles:`プロファイルがありません。作成して始めましょう。`},logs:{title:`ログ`,all:`すべて`,searchPlaceholder:`検索...`,refresh:`更新`,noEntries:`ログエントリがありません`},settings:{title:`設定`,saved:`保存しました`,saveFailed:`保存に失敗しました`,tabs:{display:`表示`,agent:`エージェント`,memory:`メモリ`,session:`セッション`,privacy:`プライバシー`,apiServer:`API サーバー`},display:{streaming:`ストリームレスポンス`,streamingHint:`AI の返信をリアルタイムで表示`,compact:`コンパクトモード`,compactHint:`メッセージの間隔を狭める`,showReasoning:`推論過程を表示`,showReasoningHint:`モデルの思考プロセスを表示`,showCost:`コストを表示`,showCostHint:`返信にトークン使用量を表示`,inlineDiffs:`インライン差分`,inlineDiffsHint:`コード変更をインラインで表示`,bellOnComplete:`完了通知音`,bellOnCompleteHint:`AI の応答完了時に通知音を再生`,busyInputMode:`処理中入力モード`,busyInputModeHint:`AI 処理中でも入力を許可`,theme:`テーマ`,themeHint:`ライト、ダーク、またはシステム設定に従う`,themeLight:`ライト`,themeDark:`ダーク`,themeSystem:`システム`},agent:{maxTurns:`最大ターン数`,maxTurnsHint:`1回の会話の最大インタラクション回数`,gatewayTimeout:`ゲートウェイタイムアウト`,gatewayTimeoutHint:`リクエストタイムアウト(秒)`,restartDrainTimeout:`再起動ドレインタイムアウト`,restartDrainTimeoutHint:`再起動前のドレインタイムアウト(秒)`,toolEnforcement:`ツール実行ポリシー`,toolEnforcementHint:`ツール呼び出しの実行モードを制御`,auto:`自動`,always:`常に`,never:`しない`},memory:{enabled:`メモリを有効化`,enabledHint:`AI に会話コンテキストを記憶させる`,userProfile:`ユーザープロファイル`,userProfileHint:`AI にユーザーの設定を記憶させる`,charLimit:`メモリ文字数上限`,charLimitHint:`MEMORY.md の最大文字数`,userCharLimit:`ユーザープロファイル文字数上限`,userCharLimitHint:`USER.md の最大文字数`},session:{mode:`リセットモード`,modeHint:`セッションリセットのトリガー条件`,modeBoth:`アイドル + スケジュール`,modeIdle:`アイドルのみ`,modeHourly:`スケジュールのみ`,idleMinutes:`アイドルタイムアウト`,idleMinutesHint:`自動リセットまでの待機時間(分)`,atHour:`スケジュールリセット時刻`,atHourHint:`毎日指定時刻にセッションをリセット`},privacy:{redactPii:`個人情報のマスキング`,redactPiiHint:`機密情報を自動検出して隠す(パスワード、キーなど)`},apiServer:{enable:`有効化`,enableHint:`API サーバーを有効にする`,host:`ホスト`,hostHint:`リッスンアドレス`,port:`ポート`,portHint:`リッスンポート`,key:`キー`,keyHint:`API アクセスキー`,cors:`CORS 許可元`,corsHint:`許可するクロスオリジン`}},platform:{requireMention:`メンションが必要`,requireMentionGroup:`グループで応答するには {'@'}メンションが必要`,requireMentionChannel:`チャンネルで応答するには {'@'}メンションが必要`,requireMentionRoom:`ルームで応答するには {'@'}メンションが必要`,reactions:`リアクション`,reactionsHint:`メッセージに絵文字でリアクションする`,freeResponseChats:`自由応答チャット`,freeResponseChatsHint:`{'@'}メンションなしで応答するチャット ID(カンマ区切り)`,freeResponseChannels:`自由応答チャンネル`,freeResponseChannelsHint:`{'@'}メンションなしで応答するチャンネル ID(カンマ区切り)`,freeResponseRooms:`自由応答ルーム`,freeResponseRoomsHint:`{'@'}メンションなしで応答するルーム ID(カンマ区切り)`,mentionPatterns:`カスタムメンションパターン`,mentionPatternsHint:`追加のトリガーパターン`,autoThread:`自動スレッド`,autoThreadHint:`{'@'}メンション後に自動で返信スレッドを作成`,autoThreadHintRoom:`ルームで自動的に返信スレッドを作成`,dmMentionThreads:`DM メンションスレッド`,dmMentionThreadsHint:`DM 内のメンションにスレッド返信を使用`,allowBots:`ボットメッセージを許可`,allowBotsHint:`他のボットからのメッセージに応答する`,allowedChannels:`許可チャンネル`,allowedChannelsHint:`ホワイトリストのチャンネル ID(カンマ区切り)`,ignoredChannels:`除外チャンネル`,ignoredChannelsHint:`ボットが応答しないチャンネル ID(カンマ区切り)`,noThreadChannels:`スレッドなしチャンネル`,noThreadChannelsHint:`スレッドなしで応答するチャンネル ID(カンマ区切り)`,botToken:`ボットトークン`,botTokenHint:`開発者ポータルから取得したボットトークン`,accessToken:`アクセストークン`,accessTokenHint:`Matrix アクセストークン`,homeserver:`Homeserver URL`,homeserverHint:`Matrix ホームサーバー URL`,appId:`App ID`,appIdHint:`Feishu App ID`,appSecret:`App Secret`,appSecretHint:`Feishu App Secret`,clientId:`Client ID`,clientIdHint:`DingTalk Client ID`,clientSecret:`Client Secret`,clientSecretHint:`DingTalk Client Secret`,botId:`Bot ID`,botIdHint:`WeCom Bot ID`,wecomSecretHint:`WeCom Bot Secret`,waEnabled:`WhatsApp を有効化`,waEnabledHint:`QR コードペアリングで WhatsApp を有効にする`,weixinToken:`Weixin トークン`,weixinTokenHint:`weixin CLI の QR ログインから取得 (hermes weixin)`,accountId:`Account ID`,accountIdHint:`Weixin アカウント ID`,qrLogin:`QR ログイン`,qrRelogin:`再ログイン`,qrFetching:`QR コードを取得中...`,qrScanHint:`WeChat でスキャンしてログイン`,qrScanedHint:`スキャン済み、スマートフォンで確認してください...`},language:{label:`言語`,zh:`中文`,en:`English`,ja:`日本語`},terminal:{sessions:`セッション`,newTab:`新しいターミナル`,closeSession:`このセッションを閉じますか?`,sessionExited:`終了しました`,processExited:`プロセスが終了しました(コード {code})`},usage:{title:`使用統計`,refresh:`更新`,totalTokens:`総トークン数`,inputTokens:`入力`,outputTokens:`出力`,totalSessions:`総セッション数`,avgPerDay:`1日平均 ~{n}`,estimatedCost:`推定コスト`,cacheHitRate:`キャッシュヒット率`,modelBreakdown:`モデル別内訳`,dailyTrend:`日別使用量(過去30日間)`,date:`日付`,tokens:`トークン`,cache:`キャッシュ`,sessions:`セッション`,cost:`コスト`,noData:`使用データがありません`}},jt={login:{title:`Hermes Web UI`,description:`계속하려면 액세스 토큰을 입력하세요. 서버 시작 로그에서 확인할 수 있습니다.`,placeholder:`액세스 토큰`,submit:`로그인`,tokenRequired:`액세스 토큰을 입력해 주세요`,invalidToken:`유효하지 않은 토큰입니다`,connectionFailed:`서버에 연결할 수 없습니다`},common:{loading:`로딩 중...`,cancel:`취소`,delete:`삭제`,edit:`편집`,save:`저장`,saved:`저장됨`,update:`업데이트`,create:`생성`,saveFailed:`저장 실패`,ok:`확인`,copied:`복사됨`,copy:`복사`,noData:`데이터 없음`,fetch:`가져오기`,add:`추가`,enable:`활성화`,disable:`비활성화`,configured:`구성됨`,notConfigured:`미구성`,confirm:`확인`,expand:`펼치기`,collapse:`접기`},sidebar:{chat:`채팅`,jobs:`예약 작업`,models:`모델`,profiles:`프로필`,skills:`스킬`,memory:`메모리`,logs:`로그`,usage:`사용량`,channels:`채널`,terminal:`터미널`,settings:`설정`,connected:`연결됨`,disconnected:`연결 끊김`,updateTip:`터미널에서 "hermes-web-ui update"를 실행하여 업데이트하세요`,updateVersion:`v{version}(으)로 업그레이드`,updating:`업데이트 중...`,updateSuccess:`업데이트 완료, 서버를 재시작해 주세요`,updateFailed:`업데이트 실패`},chat:{emptyState:`Hermes Agent와 대화를 시작하세요`,inputPlaceholder:`메시지를 입력하세요... (Enter로 전송, Shift+Enter로 줄바꿈)`,attachFiles:`파일 첨부`,stop:`중지`,send:`전송`,contextUsed:`사용된 컨텍스트:`,sessions:`세션`,noSessions:`세션 없음`,newChat:`새 채팅`,deleteSession:`이 세션을 삭제하시겠습니까?`,sessionDeleted:`세션이 삭제되었습니다`,rename:`이름 변경`,copySessionId:`세션 ID 복사`,renamed:`이름이 변경되었습니다`,renameFailed:`이름 변경 실패`,renameSession:`세션 이름 변경`,enterNewTitle:`새 제목을 입력하세요`,other:`기타`,runFailed:`실행 실패`,error:`오류`,tool:`도구`,arguments:`인수`,result:`결과`,truncated:`... (잘림)`},jobs:{title:`예약 작업`,createJob:`작업 생성`,editJob:`작업 편집`,noJobs:`예약된 작업이 없습니다. 새로 만들어 시작하세요.`,name:`이름`,namePlaceholder:`작업 이름`,schedule:`스케줄 (Cron 표현식)`,schedulePlaceholder:`예: 0 9 * * *`,quickPresets:`빠른 프리셋`,selectPreset:`프리셋 선택...`,presetEveryMinute:`매 분`,presetEvery5Min:`매 5분`,presetEveryHour:`매 시간`,presetEveryDay:`매일 00:00`,presetEveryDay9:`매일 09:00`,presetEveryMonday:`매주 월요일 09:00`,presetEveryMonth:`매월 1일 09:00`,prompt:`프롬프트`,promptPlaceholder:`실행할 프롬프트`,deliverTarget:`전송 대상`,origin:`출처`,local:`로컬`,repeatCount:`반복 횟수 (선택)`,repeatPlaceholder:`비워두면 무한 반복`,jobCreated:`작업이 생성되었습니다`,jobUpdated:`작업이 업데이트되었습니다`,nameRequired:`이름을 입력해 주세요`,scheduleRequired:`스케줄을 입력해 주세요`,loadFailed:`작업을 불러오지 못했습니다`,jobPaused:`작업이 일시 정지되었습니다`,jobResumed:`작업이 재개되었습니다`,jobTriggered:`작업이 실행되었습니다`,jobDeleted:`작업이 삭제되었습니다`,status:{running:`실행 중`,paused:`일시 정지`,disabled:`비활성화`,scheduled:`예약됨`},info:{schedule:`스케줄`,lastRun:`마지막 실행`,nextRun:`다음 실행`,deliver:`전송`,repeat:`반복`},action:{pause:`일시 정지`,pauseJob:`작업 일시 정지`,resume:`재개`,resumeJob:`작업 재개`,runNow:`즉시 실행`,triggerImmediately:`즉시 실행`}},skills:{title:`스킬`,searchPlaceholder:`스킬 검색...`,noMatch:`검색과 일치하는 스킬이 없습니다`,noSkills:`스킬을 찾을 수 없습니다`,backTo:`돌아가기`,attachedFiles:`첨부 파일`,loadFailed:`스킬을 불러오지 못했습니다`,fileLoadFailed:`파일을 불러오지 못했습니다`,toggleFailed:`스킬 상태를 전환하지 못했습니다`},memory:{title:`메모리`,refresh:`새로고침`,loadFailed:`메모리를 불러오지 못했습니다`,myNotes:`내 메모`,noNotes:`메모가 없습니다.`,notesPlaceholder:`메모를 작성하세요...`,userProfile:`사용자 프로필`,noProfile:`프로필이 없습니다.`,profilePlaceholder:`프로필을 작성하세요...`,soul:`소울`,noSoul:`소울 설정이 없습니다.`,soulPlaceholder:`소울 설정을 작성하세요...`},models:{title:`모델`,addProvider:`Provider 추가`,providerType:`Provider 유형`,preset:`프리셋`,custom:`사용자 지정`,selectProvider:`Provider 선택`,chooseProvider:`Provider를 선택하세요...`,name:`이름`,autoGeneratedName:`Base URL에서 자동 생성`,baseUrl:`Base URL`,baseUrlPlaceholder:`예: https://api.example.com/v1`,apiKey:`API Key`,apiKeyPlaceholder:`sk-...`,defaultModel:`기본 모델`,selectModel:`모델 선택...`,providerAdded:`Provider가 추가되었습니다`,providerDeleted:`Provider가 삭제되었습니다`,deleteProvider:`Provider 삭제`,deleteConfirm:`"{name}"을(를) 삭제하시겠습니까?`,noProviders:`Provider가 없습니다. 사용자 지정 Provider를 추가하여 시작하세요.`,builtIn:`내장`,customType:`사용자 지정`,provider:`Provider`,local:`로컬 ({host})`,selectProviderRequired:`Provider를 선택해 주세요`,baseUrlRequired:`Base URL을 입력해 주세요`,apiKeyRequired:`API Key를 입력해 주세요`,modelRequired:`기본 모델을 선택해 주세요`,enterBaseUrl:`먼저 Base URL을 입력해 주세요`,unexpectedFormat:`예상치 못한 응답 형식입니다`,foundModels:`{count}개의 모델을 찾았습니다`,fetchFailed:`모델을 가져오지 못했습니다`},profiles:{title:`프로필`,create:`프로필 생성`,import:`가져오기`,export:`내보내기`,rename:`이름 변경`,delete:`삭제`,switchTo:`전환`,switchConfirm:`프로필 "{name}"(으)로 전환하면 게이트웨이가 재시작됩니다. 계속하시겠습니까?`,switchSuccess:`프로필 "{name}"(으)로 전환되었습니다`,switchFailed:`프로필 전환 실패. 게이트웨이를 수동으로 재시작해야 할 수 있습니다.`,createSuccess:`프로필 "{name}"이(가) 생성되었습니다`,createFailed:`프로필 생성 실패`,renameSuccess:`프로필 이름이 변경되었습니다`,renameFailed:`프로필 이름 변경 실패`,deleteConfirm:`프로필 "{name}"을(를) 삭제하시겠습니까?`,deleteSuccess:`프로필이 삭제되었습니다`,deleteFailed:`프로필 삭제 실패`,exportSuccess:`프로필이 내보내기되었습니다`,exportFailed:`프로필 내보내기 실패`,importSuccess:`프로필이 가져오기되었습니다`,importFailed:`프로필 가져오기 실패`,importSelectFile:`아카이브 파일 선택`,importInvalidFile:`유효한 아카이브 파일을 선택해 주세요 (.tar.gz, .tgz, .gz, .zip)`,name:`프로필 이름`,namePlaceholder:`영문, 숫자, 하이픈만 사용 가능`,newName:`새 이름`,newNamePlaceholder:`새 이름을 입력하세요`,cloneFromCurrent:`현재 프로필에서 복제`,archivePath:`아카이브 경로`,archivePathPlaceholder:`아카이브 파일의 서버 경로`,importName:`프로필 이름 (선택)`,importNamePlaceholder:`비워두면 아카이브 이름을 사용합니다`,active:`활성`,model:`모델`,gateway:`게이트웨이`,alias:`별칭`,provider:`Provider`,path:`경로`,skills:`스킬`,hasEnv:`.env 있음`,hasSoulMd:`soul.md 있음`,noProfiles:`프로필이 없습니다. 새로 만들어 시작하세요.`},logs:{title:`로그`,all:`전체`,searchPlaceholder:`검색...`,refresh:`새로고침`,noEntries:`로그 항목 없음`},settings:{title:`설정`,saved:`저장됨`,saveFailed:`저장 실패`,tabs:{display:`표시`,agent:`에이전트`,memory:`메모리`,session:`세션`,privacy:`개인정보`,apiServer:`API 서버`},display:{streaming:`스트리밍 응답`,streamingHint:`AI 응답을 실시간으로 표시`,compact:`컴팩트 모드`,compactHint:`메시지 간격 줄이기`,showReasoning:`추론 과정 표시`,showReasoningHint:`모델의 생각 과정 표시`,showCost:`비용 표시`,showCostHint:`응답에 토큰 사용량 표시`,inlineDiffs:`인라인 변경사항`,inlineDiffsHint:`코드 변경사항을 인라인으로 표시`,bellOnComplete:`완료 알림음`,bellOnCompleteHint:`AI 응답 완료 시 알림음 재생`,busyInputMode:`바쁨 입력 모드`,busyInputModeHint:`AI 처리 중에도 입력 허용`,theme:`테마`,themeHint:`라이트, 다크 또는 시스템 설정 따르기`,themeLight:`라이트`,themeDark:`다크`,themeSystem:`시스템`},agent:{maxTurns:`최대 턴 수`,maxTurnsHint:`대화당 최대 상호작용 라운드 수`,gatewayTimeout:`게이트웨이 시간초과`,gatewayTimeoutHint:`요청 시간초과 (초)`,restartDrainTimeout:`재시작 드레인 시간초과`,restartDrainTimeoutHint:`재시작 전 드레인 시간초과 (초)`,toolEnforcement:`도구 실행 정책`,toolEnforcementHint:`도구 호출 실행 모드 제어`,auto:`자동`,always:`항상`,never:`사용 안 함`},memory:{enabled:`메모리 활성화`,enabledHint:`AI가 대화 컨텍스트를 기억하도록 허용`,userProfile:`사용자 프로필`,userProfileHint:`AI가 사용자 선호를 기억하도록 허용`,charLimit:`메모리 문자 제한`,charLimitHint:`MEMORY.md 최대 문자 수`,userCharLimit:`사용자 프로필 문자 제한`,userCharLimitHint:`USER.md 최대 문자 수`},session:{mode:`초기화 모드`,modeHint:`세션 초기화 트리거 조건`,modeBoth:`유휴 + 예약`,modeIdle:`유휴만`,modeHourly:`예약만`,idleMinutes:`유휴 시간초과`,idleMinutesHint:`자동 초기화 대기 시간 (분)`,atHour:`예약 초기화 시간`,atHourHint:`매일 지정한 시간에 세션 초기화`},privacy:{redactPii:`개인정보 마스킹`,redactPiiHint:`민감 정보 자동 감지 및 숨김 (비밀번호, 키 등)`},apiServer:{enable:`활성화`,enableHint:`API 서버 활성화`,host:`호스트`,hostHint:`수신 주소`,port:`포트`,portHint:`수신 포트`,key:`키`,keyHint:`API 접근 키`,cors:`CORS 출처`,corsHint:`허용된 교차 출처`}},platform:{requireMention:`{'@'}멘션 필요`,requireMentionGroup:`그룹에서 {'@'}멘션 시에만 응답`,requireMentionChannel:`채널에서 {'@'}멘션 시에만 응답`,requireMentionRoom:`방에서 {'@'}멘션 시에만 응답`,reactions:`반응`,reactionsHint:`메시지에 이모지 반응`,freeResponseChats:`자유 응답 채팅`,freeResponseChatsHint:`{'@'}멘션 없이 응답할 채팅 ID (쉼표로 구분)`,freeResponseChannels:`자유 응답 채널`,freeResponseChannelsHint:`{'@'}멘션 없이 응답할 채널 ID (쉼표로 구분)`,freeResponseRooms:`자유 응답 방`,freeResponseRoomsHint:`{'@'}멘션 없이 응답할 방 ID (쉼표로 구분)`,mentionPatterns:`사용자 지정 멘션 패턴`,mentionPatternsHint:`추가 트리거 패턴`,autoThread:`자동 스레드`,autoThreadHint:`{'@'}멘션 후 자동으로 스레드 생성`,autoThreadHintRoom:`방에서 자동으로 스레드 생성`,dmMentionThreads:`DM 멘션 스레드`,dmMentionThreadsHint:`DM에서 멘션 시 스레드로 응답`,allowBots:`봇 메시지 허용`,allowBotsHint:`다른 봇의 메시지에 응답`,allowedChannels:`허용된 채널`,allowedChannelsHint:`채널 ID 허용 목록 (쉼표로 구분)`,ignoredChannels:`무시할 채널`,ignoredChannelsHint:`봇이 응답하지 않는 채널 ID (쉼표로 구분)`,noThreadChannels:`스레드 없는 채널`,noThreadChannelsHint:`스레드 없이 응답할 채널 ID (쉼표로 구분)`,botToken:`Bot Token`,botTokenHint:`개발자 포털에서 발급받은 Bot Token`,accessToken:`Access Token`,accessTokenHint:`Matrix Access Token`,homeserver:`Homeserver URL`,homeserverHint:`Matrix 홈서버 URL`,appId:`App ID`,appIdHint:`Feishu App ID`,appSecret:`App Secret`,appSecretHint:`Feishu App Secret`,clientId:`Client ID`,clientIdHint:`DingTalk Client ID`,clientSecret:`Client Secret`,clientSecretHint:`DingTalk Client Secret`,botId:`Bot ID`,botIdHint:`WeCom Bot ID`,wecomSecretHint:`WeCom Bot Secret`,waEnabled:`WhatsApp 활성화`,waEnabledHint:`QR 코드 페어링으로 WhatsApp 활성화`,weixinToken:`Weixin Token`,weixinTokenHint:`weixin CLI QR 로그인에서 가져오기 (hermes weixin)`,accountId:`Account ID`,accountIdHint:`Weixin Account ID`,qrLogin:`QR 로그인`,qrRelogin:`다시 로그인`,qrFetching:`QR 코드를 가져오는 중...`,qrScanHint:`WeChat으로 QR 코드를 스캔하여 로그인`,qrScanedHint:`스캔됨, 휴대폰에서 확인해 주세요...`},language:{label:`언어`,zh:`中文`,en:`English`,ko:`한국어`},terminal:{sessions:`세션`,newTab:`새 터미널`,closeSession:`이 세션을 닫으시겠습니까?`,sessionExited:`종료됨`,processExited:`프로세스가 종료되었습니다 (코드 {code})`},usage:{title:`사용량 통계`,refresh:`새로고침`,totalTokens:`총 토큰 수`,inputTokens:`입력`,outputTokens:`출력`,totalSessions:`총 세션 수`,avgPerDay:`일평균 ~{n}`,estimatedCost:`예상 비용`,cacheHitRate:`캐시 적중률`,modelBreakdown:`모델별 분포`,dailyTrend:`일별 사용량 (최근 30일)`,date:`날짜`,tokens:`토큰`,cache:`캐시`,sessions:`세션`,cost:`비용`,noData:`사용량 데이터 없음`}},Mt={login:{title:`Hermes Web UI`,description:`Entrez votre jeton d'acces pour continuer. Retrouvez-le dans les journaux de demarrage du serveur.`,placeholder:`Jeton d'acces`,submit:`Connexion`,tokenRequired:`Veuillez entrer votre jeton d'acces`,invalidToken:`Jeton invalide`,connectionFailed:`Impossible de se connecter au serveur`},common:{loading:`Chargement...`,cancel:`Annuler`,delete:`Supprimer`,edit:`Modifier`,save:`Enregistrer`,saved:`Enregistre`,update:`Mettre a jour`,create:`Creer`,saveFailed:`Echec de l'enregistrement`,ok:`OK`,copied:`Copie`,copy:`Copier`,noData:`Aucune donnee`,fetch:`Recuperer`,add:`Ajouter`,enable:`Activer`,disable:`Desactiver`,configured:`Configure`,notConfigured:`Non configure`,confirm:`Confirmer`,expand:`Developper`,collapse:`Reduire`},sidebar:{chat:`Discussion`,jobs:`Taches planifiees`,models:`Modeles`,profiles:`Profils`,skills:`Competences`,memory:`Memoire`,logs:`Journaux`,usage:`Utilisation`,channels:`Canaux`,terminal:`Terminal`,settings:`Parametres`,connected:`Connecte`,disconnected:`Deconnecte`,updateTip:`Executez "hermes-web-ui update" dans le terminal pour mettre a jour`,updateVersion:`Mettre a jour vers v{version}`,updating:`Mise a jour...`,updateSuccess:`Mise a jour terminee, veuillez redemarrer le serveur`,updateFailed:`Echec de la mise a jour`},chat:{emptyState:`Demarrer une conversation avec Hermes Agent`,inputPlaceholder:`Tapez un message... (Entree pour envoyer, Shift+Entree pour un saut de ligne)`,attachFiles:`Joindre des fichiers`,stop:`Arreter`,send:`Envoyer`,contextUsed:`Contexte utilise :`,sessions:`Sessions`,noSessions:`Aucune session`,newChat:`Nouvelle discussion`,deleteSession:`Supprimer cette session ?`,sessionDeleted:`Session supprimee`,rename:`Renommer`,copySessionId:`Copier l'ID de session`,renamed:`Renomme`,renameFailed:`Echec du renommage`,renameSession:`Renommer la session`,enterNewTitle:`Entrez un nouveau titre`,other:`Autre`,runFailed:`Echec de l'execution`,error:`Erreur`,tool:`Outil`,arguments:`Arguments`,result:`Resultat`,truncated:`... (tronque)`},jobs:{title:`Taches planifiees`,createJob:`Creer une tache`,editJob:`Modifier la tache`,noJobs:`Aucune tache planifiee. Creez-en une pour commencer.`,name:`Nom`,namePlaceholder:`Nom de la tache`,schedule:`Planification (expression Cron)`,schedulePlaceholder:`ex. 0 9 * * *`,quickPresets:`Presets rapides`,selectPreset:`Selectionner un preset...`,presetEveryMinute:`Chaque minute`,presetEvery5Min:`Toutes les 5 minutes`,presetEveryHour:`Chaque heure`,presetEveryDay:`Tous les jours a 00:00`,presetEveryDay9:`Tous les jours a 09:00`,presetEveryMonday:`Chaque lundi a 09:00`,presetEveryMonth:`Le 1er de chaque mois a 09:00`,prompt:`Invite`,promptPlaceholder:`L'invite a executer`,deliverTarget:`Cible de livraison`,origin:`Origine`,local:`Local`,repeatCount:`Nombre de repetitions (facultatif)`,repeatPlaceholder:`Laisser vide pour infini`,jobCreated:`Tache creee`,jobUpdated:`Tache mise a jour`,nameRequired:`Le nom est requis`,scheduleRequired:`La planification est requise`,loadFailed:`Echec du chargement de la tache`,jobPaused:`Tache en pause`,jobResumed:`Tache reprise`,jobTriggered:`Tache declenchee`,jobDeleted:`Tache supprimee`,status:{running:`En cours`,paused:`En pause`,disabled:`Desactivee`,scheduled:`Planifiee`},info:{schedule:`Planification`,lastRun:`Derniere execution`,nextRun:`Prochaine execution`,deliver:`Livraison`,repeat:`Repetition`},action:{pause:`Pause`,pauseJob:`Mettre en pause`,resume:`Reprendre`,resumeJob:`Reprendre la tache`,runNow:`Executer maintenant`,triggerImmediately:`Declencher immediatement`}},skills:{title:`Competences`,searchPlaceholder:`Rechercher des competences...`,noMatch:`Aucune competence ne correspond a votre recherche`,noSkills:`Aucune competence trouvee`,backTo:`Retour a`,attachedFiles:`Fichiers joints`,loadFailed:`Echec du chargement de la competence`,fileLoadFailed:`Echec du chargement du fichier`,toggleFailed:`Echec de l'activation/desactivation de la competence`},memory:{title:`Memoire`,refresh:`Actualiser`,loadFailed:`Echec du chargement de la memoire`,myNotes:`Mes notes`,noNotes:`Aucune note pour l'instant.`,notesPlaceholder:`Ecrivez vos notes...`,userProfile:`Profil utilisateur`,noProfile:`Aucun profil pour l'instant.`,profilePlaceholder:`Ecrivez votre profil...`,soul:`Ame`,noSoul:`Aucune configuration d'ame pour l'instant.`,soulPlaceholder:`Ecrivez la configuration de l'ame...`},models:{title:`Modeles`,addProvider:`Ajouter un fournisseur`,providerType:`Type de fournisseur`,preset:`Preset`,custom:`Personnalise`,selectProvider:`Selectionner un fournisseur`,chooseProvider:`Choisir un fournisseur...`,name:`Nom`,autoGeneratedName:`Genere automatiquement a partir de l'URL de base`,baseUrl:`URL de base`,baseUrlPlaceholder:`ex. https://api.example.com/v1`,apiKey:`Cle API`,apiKeyPlaceholder:`sk-...`,defaultModel:`Modele par defaut`,selectModel:`Selectionner un modele...`,providerAdded:`Fournisseur ajoute`,providerDeleted:`Fournisseur supprime`,deleteProvider:`Supprimer le fournisseur`,deleteConfirm:`Etes-vous sur de vouloir supprimer "{name}" ?`,noProviders:`Aucun fournisseur trouve. Ajoutez un fournisseur personnalise pour commencer.`,builtIn:`Integre`,customType:`Personnalise`,provider:`Fournisseur`,local:`Local ({host})`,selectProviderRequired:`Veuillez selectionner un fournisseur`,baseUrlRequired:`L'URL de base est requise`,apiKeyRequired:`La cle API est requise`,modelRequired:`Le modele par defaut est requis`,enterBaseUrl:`Veuillez d'abord entrer l'URL de base`,unexpectedFormat:`Format de reponse inattendu`,foundModels:`{count} modeles trouves`,fetchFailed:`Echec de la recuperation des modeles`},profiles:{title:`Profils`,create:`Creer un profil`,import:`Importer`,export:`Exporter`,rename:`Renommer`,delete:`Supprimer`,switchTo:`Passer a`,switchConfirm:`Le passage au profil "{name}" redemarrera la passerelle. Continuer ?`,switchSuccess:`Profil "{name}" actif`,switchFailed:`Echec du changement de profil. La passerelle peut necessiter un redemarrage manuel.`,createSuccess:`Profil "{name}" cree`,createFailed:`Echec de la creation du profil`,renameSuccess:`Profil renomme`,renameFailed:`Echec du renommage du profil`,deleteConfirm:`Etes-vous sur de vouloir supprimer le profil "{name}" ?`,deleteSuccess:`Profil supprime`,deleteFailed:`Echec de la suppression du profil`,exportSuccess:`Profil exporte`,exportFailed:`Echec de l'exportation du profil`,importSuccess:`Profil importe`,importFailed:`Echec de l'importation du profil`,importSelectFile:`Selectionner un fichier d'archive`,importInvalidFile:`Veuillez selectionner une archive valide (.tar.gz, .tgz, .gz, .zip)`,name:`Nom du profil`,namePlaceholder:`Lettres, chiffres et tirets uniquement`,newName:`Nouveau nom`,newNamePlaceholder:`Entrez un nouveau nom`,cloneFromCurrent:`Cloner depuis le profil actuel`,archivePath:`Chemin de l'archive`,archivePathPlaceholder:`Chemin serveur du fichier d'archive`,importName:`Nom du profil (facultatif)`,importNamePlaceholder:`Laisser vide pour utiliser le nom de l'archive`,active:`Actif`,model:`Modele`,gateway:`Passerelle`,alias:`Alias`,provider:`Fournisseur`,path:`Chemin`,skills:`Competences`,hasEnv:`A un .env`,hasSoulMd:`A un soul.md`,noProfiles:`Aucun profil trouve. Creez-en un pour commencer.`},logs:{title:`Journaux`,all:`Tout`,searchPlaceholder:`Rechercher...`,refresh:`Actualiser`,noEntries:`Aucune entree de journal`},settings:{title:`Parametres`,saved:`Enregistre`,saveFailed:`Echec de l'enregistrement`,tabs:{display:`Affichage`,agent:`Agent`,memory:`Memoire`,session:`Session`,privacy:`Confidentialite`,apiServer:`Serveur API`},display:{streaming:`Reponses en continu`,streamingHint:`Afficher les reponses de l'IA en temps reel`,compact:`Mode compact`,compactHint:`Reduire l'espacement des messages`,showReasoning:`Afficher le raisonnement`,showReasoningHint:`Afficher le processus de reflexion du modele`,showCost:`Afficher le cout`,showCostHint:`Afficher l'utilisation des jetons dans les reponses`,inlineDiffs:`Diffs en ligne`,inlineDiffsHint:`Afficher les changements de code en ligne`,bellOnComplete:`Son de fin`,bellOnCompleteHint:`Jouer un son lorsque l'IA a termine`,busyInputMode:`Mode saisie active`,busyInputModeHint:`Permettre la saisie pendant le traitement de l'IA`,theme:`Theme`,themeHint:`Choisir clair, sombre ou suivre les preferences du systeme`,themeLight:`Clair`,themeDark:`Sombre`,themeSystem:`Systeme`},agent:{maxTurns:`Tours maximum`,maxTurnsHint:`Nombre maximum de tours d'interaction par conversation`,gatewayTimeout:`Delai d'attente de la passerelle`,gatewayTimeoutHint:`Delai d'attente de la requete en secondes`,restartDrainTimeout:`Delai de vidange au redemarrage`,restartDrainTimeoutHint:`Delai de vidange avant redemarrage en secondes`,toolEnforcement:`Application des outils`,toolEnforcementHint:`Controler le mode d'execution des appels d'outils`,auto:`Automatique`,always:`Toujours`,never:`Jamais`},memory:{enabled:`Activer la memoire`,enabledHint:`Permettre a l'IA de memoriser le contexte de conversation`,userProfile:`Profil utilisateur`,userProfileHint:`Permettre a l'IA de memoriser les preferences utilisateur`,charLimit:`Limite de caracteres de la memoire`,charLimitHint:`Nombre maximum de caracteres pour MEMORY.md`,userCharLimit:`Limite de caracteres du profil utilisateur`,userCharLimitHint:`Nombre maximum de caracteres pour USER.md`},session:{mode:`Mode de reinitialisation`,modeHint:`Condition de declenchement de la reinitialisation de session`,modeBoth:`Inactivite + Planifie`,modeIdle:`Inactivite uniquement`,modeHourly:`Planifie uniquement`,idleMinutes:`Delai d'inactivite`,idleMinutesHint:`Temps d'attente avant reinitialisation automatique (minutes)`,atHour:`Heure de reinitialisation planifiee`,atHourHint:`Reinitialiser la session a cette heure chaque jour`},privacy:{redactPii:`Masquer les DPI`,redactPiiHint:`Detecter et masquer automatiquement les informations sensibles (mots de passe, cles, etc.)`},apiServer:{enable:`Activer`,enableHint:`Activer le serveur API`,host:`Hote`,hostHint:`Adresse d'ecoute`,port:`Port`,portHint:`Port d'ecoute`,key:`Cle`,keyHint:`Cle d'acces API`,cors:`Origines CORS`,corsHint:`Sources cross-origin autorisees`}},platform:{requireMention:`Exiger une mention {'@'}`,requireMentionGroup:`Exiger une mention {'@'} dans les groupes pour repondre`,requireMentionChannel:`Exiger une mention {'@'} dans les canaux pour repondre`,requireMentionRoom:`Exiger une mention {'@'} dans les salles pour repondre`,reactions:`Reactions`,reactionsHint:`Reagir aux messages avec des emoji`,freeResponseChats:`Discussions en reponse libre`,freeResponseChatsHint:`ID de discussions repondant sans mention {'@'} (separes par des virgules)`,freeResponseChannels:`Canaux en reponse libre`,freeResponseChannelsHint:`ID de canaux repondant sans mention {'@'} (separes par des virgules)`,freeResponseRooms:`Salles en reponse libre`,freeResponseRoomsHint:`ID de salles repondant sans mention {'@'} (separes par des virgules)`,mentionPatterns:`Motifs de mention personnalises`,mentionPatternsHint:`Motifs de declenchement supplementaires`,autoThread:`Fil automatique`,autoThreadHint:`Creer automatiquement des fils de reponse apres une mention {'@'}`,autoThreadHintRoom:`Creer automatiquement des fils de reponse dans les salles`,dmMentionThreads:`Fils de mention en MP`,dmMentionThreadsHint:`Utiliser des fils de reponse pour les mentions en MP`,allowBots:`Autoriser les messages de bots`,allowBotsHint:`Repondre aux messages d'autres bots`,allowedChannels:`Canaux autorises`,allowedChannelsHint:`Liste blanche des ID de canaux (separes par des virgules)`,ignoredChannels:`Canaux ignores`,ignoredChannelsHint:`Canaux ou le bot ne repond jamais (separes par des virgules)`,noThreadChannels:`Canaux sans fil`,noThreadChannelsHint:`Canaux ou le bot repond sans fil (separes par des virgules)`,botToken:`Jeton de bot`,botTokenHint:`Jeton de bot depuis le portail developpeur`,accessToken:`Jeton d'acces`,accessTokenHint:`Jeton d'acces Matrix`,homeserver:`URL du serveur domestique`,homeserverHint:`URL du serveur domestique Matrix`,appId:`ID de l'application`,appIdHint:`ID de l'application Feishu`,appSecret:`Secret de l'application`,appSecretHint:`Secret de l'application Feishu`,clientId:`ID client`,clientIdHint:`ID client DingTalk`,clientSecret:`Secret client`,clientSecretHint:`Secret client DingTalk`,botId:`ID du bot`,botIdHint:`ID du bot WeCom`,wecomSecretHint:`Secret du bot WeCom`,waEnabled:`Activer WhatsApp`,waEnabledHint:`Activer WhatsApp via appairage par code QR`,weixinToken:`Jeton Weixin`,weixinTokenHint:`Depuis la connexion QR de la CLI weixin (hermes weixin)`,accountId:`ID de compte`,accountIdHint:`ID du compte Weixin`,qrLogin:`Connexion QR`,qrRelogin:`Reconnexion`,qrFetching:`Recuperation du code QR...`,qrScanHint:`Scannez avec WeChat pour vous connecter`,qrScanedHint:`Scanne, veuillez confirmer sur le telephone...`},language:{label:`Langue`,zh:`中文`,en:`English`,fr:`Francais`},terminal:{sessions:`Sessions`,newTab:`Nouveau terminal`,closeSession:`Fermer cette session ?`,sessionExited:`Terminee`,processExited:`Processus termine avec le code {code}`},usage:{title:`Statistiques d'utilisation`,refresh:`Actualiser`,totalTokens:`Total des jetons`,inputTokens:`Entree`,outputTokens:`Sortie`,totalSessions:`Total des sessions`,avgPerDay:`~{n}/jour en moy.`,estimatedCost:`Cout est.`,cacheHitRate:`Taux de succes du cache`,modelBreakdown:`Repartition par modele`,dailyTrend:`Utilisation quotidienne (30 derniers jours)`,date:`Date`,tokens:`Jetons`,cache:`Cache`,sessions:`Sessions`,cost:`Cout`,noData:`Aucune donnee d'utilisation`}},Nt={login:{title:`Hermes Web UI`,description:`Introduce tu token de acceso para continuar. Encuentralo en los registros de inicio del servidor.`,placeholder:`Token de acceso`,submit:`Iniciar sesion`,tokenRequired:`Por favor, introduce tu token de acceso`,invalidToken:`Token invalido`,connectionFailed:`No se puede conectar al servidor`},common:{loading:`Cargando...`,cancel:`Cancelar`,delete:`Eliminar`,edit:`Editar`,save:`Guardar`,saved:`Guardado`,update:`Actualizar`,create:`Crear`,saveFailed:`Error al guardar`,ok:`OK`,copied:`Copiado`,copy:`Copiar`,noData:`Sin datos`,fetch:`Obtener`,add:`Anadir`,enable:`Activar`,disable:`Desactivar`,configured:`Configurado`,notConfigured:`No configurado`,confirm:`Confirmar`,expand:`Expandir`,collapse:`Contraer`},sidebar:{chat:`Chat`,jobs:`Tareas programadas`,models:`Modelos`,profiles:`Perfiles`,skills:`Habilidades`,memory:`Memoria`,logs:`Registros`,usage:`Uso`,channels:`Canales`,terminal:`Terminal`,settings:`Configuracion`,connected:`Conectado`,disconnected:`Desconectado`,updateTip:`Ejecuta "hermes-web-ui update" en la terminal para actualizar`,updateVersion:`Actualizar a v{version}`,updating:`Actualizando...`,updateSuccess:`Actualizacion completa, por favor reinicia el servidor`,updateFailed:`Error al actualizar`},chat:{emptyState:`Inicia una conversacion con Hermes Agent`,inputPlaceholder:`Escribe un mensaje... (Enter para enviar, Shift+Enter para nueva linea)`,attachFiles:`Adjuntar archivos`,stop:`Detener`,send:`Enviar`,contextUsed:`Contexto utilizado:`,sessions:`Sesiones`,noSessions:`Sin sesiones`,newChat:`Nuevo chat`,deleteSession:`Eliminar esta sesion?`,sessionDeleted:`Sesion eliminada`,rename:`Renombrar`,copySessionId:`Copiar ID de sesion`,renamed:`Renombrada`,renameFailed:`Error al renombrar`,renameSession:`Renombrar sesion`,enterNewTitle:`Introduce un nuevo titulo`,other:`Otro`,runFailed:`Error en la ejecucion`,error:`Error`,tool:`Herramienta`,arguments:`Argumentos`,result:`Resultado`,truncated:`... (truncado)`},jobs:{title:`Tareas programadas`,createJob:`Crear tarea`,editJob:`Editar tarea`,noJobs:`No hay tareas programadas aun. Crea una para comenzar.`,name:`Nombre`,namePlaceholder:`Nombre de la tarea`,schedule:`Programacion (expresion Cron)`,schedulePlaceholder:`ej. 0 9 * * *`,quickPresets:`Presets rapidos`,selectPreset:`Seleccionar un preset...`,presetEveryMinute:`Cada minuto`,presetEvery5Min:`Cada 5 minutos`,presetEveryHour:`Cada hora`,presetEveryDay:`Todos los dias a las 00:00`,presetEveryDay9:`Todos los dias a las 09:00`,presetEveryMonday:`Cada lunes a las 09:00`,presetEveryMonth:`El dia 1 de cada mes a las 09:00`,prompt:`Prompt`,promptPlaceholder:`El prompt a ejecutar`,deliverTarget:`Destino de entrega`,origin:`Origen`,local:`Local`,repeatCount:`Repeticiones (opcional)`,repeatPlaceholder:`Dejar vacio para infinito`,jobCreated:`Tarea creada`,jobUpdated:`Tarea actualizada`,nameRequired:`El nombre es obligatorio`,scheduleRequired:`La programacion es obligatoria`,loadFailed:`Error al cargar la tarea`,jobPaused:`Tarea en pausa`,jobResumed:`Tarea reanudada`,jobTriggered:`Tarea ejecutada`,jobDeleted:`Tarea eliminada`,status:{running:`En ejecucion`,paused:`En pausa`,disabled:`Desactivada`,scheduled:`Programada`},info:{schedule:`Programacion`,lastRun:`Ultima ejecucion`,nextRun:`Proxima ejecucion`,deliver:`Entrega`,repeat:`Repeticion`},action:{pause:`Pausar`,pauseJob:`Pausar tarea`,resume:`Reanudar`,resumeJob:`Reanudar tarea`,runNow:`Ejecutar ahora`,triggerImmediately:`Ejecutar inmediatamente`}},skills:{title:`Habilidades`,searchPlaceholder:`Buscar habilidades...`,noMatch:`Ninguna habilidad coincide con tu busqueda`,noSkills:`No se encontraron habilidades`,backTo:`Volver a`,attachedFiles:`Archivos adjuntos`,loadFailed:`Error al cargar la habilidad`,fileLoadFailed:`Error al cargar el archivo`,toggleFailed:`Error al activar/desactivar la habilidad`},memory:{title:`Memoria`,refresh:`Actualizar`,loadFailed:`Error al cargar la memoria`,myNotes:`Mis notas`,noNotes:`Sin notas aun.`,notesPlaceholder:`Escribe tus notas...`,userProfile:`Perfil de usuario`,noProfile:`Sin perfil aun.`,profilePlaceholder:`Escribe tu perfil...`,soul:`Alma`,noSoul:`Sin configuracion de alma aun.`,soulPlaceholder:`Escribe la configuracion del alma...`},models:{title:`Modelos`,addProvider:`Anadir proveedor`,providerType:`Tipo de proveedor`,preset:`Preset`,custom:`Personalizado`,selectProvider:`Seleccionar proveedor`,chooseProvider:`Elige un proveedor...`,name:`Nombre`,autoGeneratedName:`Generado automaticamente desde la URL base`,baseUrl:`URL base`,baseUrlPlaceholder:`ej. https://api.example.com/v1`,apiKey:`Clave API`,apiKeyPlaceholder:`sk-...`,defaultModel:`Modelo predeterminado`,selectModel:`Seleccionar un modelo...`,providerAdded:`Proveedor anadido`,providerDeleted:`Proveedor eliminado`,deleteProvider:`Eliminar proveedor`,deleteConfirm:`Estas seguro de que quieres eliminar "{name}"?`,noProviders:`No se encontraron proveedores. Anade un proveedor personalizado para comenzar.`,builtIn:`Integrado`,customType:`Personalizado`,provider:`Proveedor`,local:`Local ({host})`,selectProviderRequired:`Por favor, selecciona un proveedor`,baseUrlRequired:`La URL base es obligatoria`,apiKeyRequired:`La clave API es obligatoria`,modelRequired:`El modelo predeterminado es obligatorio`,enterBaseUrl:`Por favor, introduce primero la URL base`,unexpectedFormat:`Formato de respuesta inesperado`,foundModels:`{count} modelos encontrados`,fetchFailed:`Error al obtener los modelos`},profiles:{title:`Perfiles`,create:`Crear perfil`,import:`Importar`,export:`Exportar`,rename:`Renombrar`,delete:`Eliminar`,switchTo:`Cambiar a`,switchConfirm:`Cambiar al perfil "{name}" reiniciara la pasarela. Continuar?`,switchSuccess:`Se ha cambiado al perfil "{name}"`,switchFailed:`Error al cambiar de perfil. Es posible que la pasarela necesite un reinicio manual.`,createSuccess:`Perfil "{name}" creado`,createFailed:`Error al crear el perfil`,renameSuccess:`Perfil renombrado`,renameFailed:`Error al renombrar el perfil`,deleteConfirm:`Estas seguro de que quieres eliminar el perfil "{name}"?`,deleteSuccess:`Perfil eliminado`,deleteFailed:`Error al eliminar el perfil`,exportSuccess:`Perfil exportado`,exportFailed:`Error al exportar el perfil`,importSuccess:`Perfil importado`,importFailed:`Error al importar el perfil`,importSelectFile:`Seleccionar archivo de archivo`,importInvalidFile:`Por favor, selecciona un archivo valido (.tar.gz, .tgz, .gz, .zip)`,name:`Nombre del perfil`,namePlaceholder:`Solo letras, numeros y guiones`,newName:`Nuevo nombre`,newNamePlaceholder:`Introduce un nuevo nombre`,cloneFromCurrent:`Clonar desde el perfil actual`,archivePath:`Ruta del archivo`,archivePathPlaceholder:`Ruta del servidor al archivo de archivo`,importName:`Nombre del perfil (opcional)`,importNamePlaceholder:`Dejar vacio para usar el nombre del archivo`,active:`Activo`,model:`Modelo`,gateway:`Pasarela`,alias:`Alias`,provider:`Proveedor`,path:`Ruta`,skills:`Habilidades`,hasEnv:`Tiene .env`,hasSoulMd:`Tiene soul.md`,noProfiles:`No se encontraron perfiles. Crea uno para comenzar.`},logs:{title:`Registros`,all:`Todos`,searchPlaceholder:`Buscar...`,refresh:`Actualizar`,noEntries:`Sin entradas de registro`},settings:{title:`Configuracion`,saved:`Guardado`,saveFailed:`Error al guardar`,tabs:{display:`Pantalla`,agent:`Agente`,memory:`Memoria`,session:`Sesion`,privacy:`Privacidad`,apiServer:`Servidor API`},display:{streaming:`Respuestas en streaming`,streamingHint:`Mostrar respuestas de la IA en tiempo real`,compact:`Modo compacto`,compactHint:`Reducir el espaciado entre mensajes`,showReasoning:`Mostrar razonamiento`,showReasoningHint:`Mostrar el proceso de pensamiento del modelo`,showCost:`Mostrar costo`,showCostHint:`Mostrar uso de tokens en las respuestas`,inlineDiffs:`Diffs en linea`,inlineDiffsHint:`Mostrar cambios de codigo en linea`,bellOnComplete:`Sonido de finalizacion`,bellOnCompleteHint:`Reproducir un sonido cuando la IA termina`,busyInputMode:`Modo de entrada ocupada`,busyInputModeHint:`Permitir entrada mientras la IA procesa`,theme:`Tema`,themeHint:`Elige claro, oscuro o seguir la preferencia del sistema`,themeLight:`Claro`,themeDark:`Oscuro`,themeSystem:`Sistema`},agent:{maxTurns:`Turnos maximos`,maxTurnsHint:`Rondas maximas de interaccion por conversacion`,gatewayTimeout:`Tiempo de espera de la pasarela`,gatewayTimeoutHint:`Tiempo de espera de la peticion en segundos`,restartDrainTimeout:`Tiempo de drenado al reiniciar`,restartDrainTimeoutHint:`Tiempo de drenado antes de reiniciar en segundos`,toolEnforcement:`Aplicacion de herramientas`,toolEnforcementHint:`Controlar el modo de ejecucion de llamadas a herramientas`,auto:`Automatico`,always:`Siempre`,never:`Nunca`},memory:{enabled:`Activar memoria`,enabledHint:`Permitir que la IA recuerde el contexto de la conversacion`,userProfile:`Perfil de usuario`,userProfileHint:`Permitir que la IA recuerde las preferencias del usuario`,charLimit:`Limite de caracteres de memoria`,charLimitHint:`Maximo de caracteres para MEMORY.md`,userCharLimit:`Limite de caracteres del perfil de usuario`,userCharLimitHint:`Maximo de caracteres para USER.md`},session:{mode:`Modo de reinicio`,modeHint:`Condicion de activacion del reinicio de sesion`,modeBoth:`Inactividad + Programado`,modeIdle:`Solo inactividad`,modeHourly:`Solo programado`,idleMinutes:`Tiempo de inactividad`,idleMinutesHint:`Tiempo de espera antes del reinicio automatico (minutos)`,atHour:`Hora de reinicio programado`,atHourHint:`Reiniciar sesion a esta hora todos los dias`},privacy:{redactPii:`Ocultar informacion personal`,redactPiiHint:`Detectar y ocultar automaticamente informacion sensible (contrasenas, claves, etc.)`},apiServer:{enable:`Activar`,enableHint:`Activar servidor API`,host:`Host`,hostHint:`Direccion de escucha`,port:`Puerto`,portHint:`Puerto de escucha`,key:`Clave`,keyHint:`Clave de acceso API`,cors:`Origenes CORS`,corsHint:`Fuentes cross-origin permitidas`}},platform:{requireMention:`Requerir mencion {'@'}`,requireMentionGroup:`Requerir mencion {'@'} en grupos para responder`,requireMentionChannel:`Requerir mencion {'@'} en canales para responder`,requireMentionRoom:`Requerir mencion {'@'} en salas para responder`,reactions:`Reacciones`,reactionsHint:`Reaccionar a mensajes con emoji`,freeResponseChats:`Chats de respuesta libre`,freeResponseChatsHint:`IDs de chats que responden sin mencion {'@'} (separados por comas)`,freeResponseChannels:`Canales de respuesta libre`,freeResponseChannelsHint:`IDs de canales que responden sin mencion {'@'} (separados por comas)`,freeResponseRooms:`Salas de respuesta libre`,freeResponseRoomsHint:`IDs de salas que responden sin mencion {'@'} (separados por comas)`,mentionPatterns:`Patrones de mencion personalizados`,mentionPatternsHint:`Patrones de activacion adicionales`,autoThread:`Hilo automatico`,autoThreadHint:`Crear automaticamente hilos de respuesta despues de mencion {'@'}`,autoThreadHintRoom:`Crear automaticamente hilos de respuesta en salas`,dmMentionThreads:`Hilos de mencion en MD`,dmMentionThreadsHint:`Usar hilos de respuesta para menciones en mensajes directos`,allowBots:`Permitir mensajes de bots`,allowBotsHint:`Responder a mensajes de otros bots`,allowedChannels:`Canales permitidos`,allowedChannelsHint:`Lista blanca de IDs de canales (separados por comas)`,ignoredChannels:`Canales ignorados`,ignoredChannelsHint:`Canales donde el bot nunca responde (separados por comas)`,noThreadChannels:`Canales sin hilo`,noThreadChannelsHint:`Canales donde el bot responde sin hilos (separados por comas)`,botToken:`Token del bot`,botTokenHint:`Token del bot del portal de desarrolladores`,accessToken:`Token de acceso`,accessTokenHint:`Token de acceso de Matrix`,homeserver:`URL del homeserver`,homeserverHint:`URL del homeserver de Matrix`,appId:`ID de aplicacion`,appIdHint:`ID de aplicacion de Feishu`,appSecret:`Secreto de aplicacion`,appSecretHint:`Secreto de aplicacion de Feishu`,clientId:`ID de cliente`,clientIdHint:`ID de cliente de DingTalk`,clientSecret:`Secreto de cliente`,clientSecretHint:`Secreto de cliente de DingTalk`,botId:`ID del bot`,botIdHint:`ID del bot de WeCom`,wecomSecretHint:`Secreto del bot de WeCom`,waEnabled:`Activar WhatsApp`,waEnabledHint:`Activar WhatsApp mediante emparejamiento por codigo QR`,weixinToken:`Token de Weixin`,weixinTokenHint:`Desde el inicio de sesion QR de la CLI de weixin (hermes weixin)`,accountId:`ID de cuenta`,accountIdHint:`ID de cuenta de Weixin`,qrLogin:`Inicio de sesion QR`,qrRelogin:`Volver a iniciar sesion`,qrFetching:`Obteniendo codigo QR...`,qrScanHint:`Escanea con WeChat para iniciar sesion`,qrScanedHint:`Escaneado, por favor confirma en el telefono...`},language:{label:`Idioma`,zh:`中文`,en:`English`,es:`Espanol`},terminal:{sessions:`Sesiones`,newTab:`Nueva terminal`,closeSession:`Cerrar esta sesion?`,sessionExited:`Finalizada`,processExited:`Proceso finalizado con codigo {code}`},usage:{title:`Estadisticas de uso`,refresh:`Actualizar`,totalTokens:`Total de tokens`,inputTokens:`Entrada`,outputTokens:`Salida`,totalSessions:`Total de sesiones`,avgPerDay:`~{n}/dia de promedio`,estimatedCost:`Costo est.`,cacheHitRate:`Tasa de acierto de cache`,modelBreakdown:`Desglose por modelo`,dailyTrend:`Uso diario (ultimos 30 dias)`,date:`Fecha`,tokens:`Tokens`,cache:`Cache`,sessions:`Sesiones`,cost:`Costo`,noData:`Sin datos de uso`}},Pt={login:{title:`Hermes Web UI`,description:`Geben Sie Ihren Zugangs-Token ein, um fortzufahren. Finden Sie ihn in den Server-Startprotokollen.`,placeholder:`Zugangs-Token`,submit:`Anmelden`,tokenRequired:`Bitte geben Sie Ihren Zugangs-Token ein`,invalidToken:`Ungultiger Token`,connectionFailed:`Verbindung zum Server nicht moglich`},common:{loading:`Laden...`,cancel:`Abbrechen`,delete:`Loschen`,edit:`Bearbeiten`,save:`Speichern`,saved:`Gespeichert`,update:`Aktualisieren`,create:`Erstellen`,saveFailed:`Speichern 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`},sidebar:{chat:`Chat`,jobs:`Geplante Aufgaben`,models:`Modelle`,profiles:`Profile`,skills:`Fahigkeiten`,memory:`Gedachtnis`,logs:`Protokolle`,usage:`Nutzung`,channels:`Kanale`,terminal:`Terminal`,settings:`Einstellungen`,connected:`Verbunden`,disconnected:`Getrennt`,updateTip:`Fuhren Sie "hermes-web-ui update" im Terminal aus, um zu aktualisieren`,updateVersion:`Aktualisieren auf v{version}`,updating:`Aktualisierung...`,updateSuccess:`Aktualisierung abgeschlossen, bitte Server neu starten`,updateFailed:`Aktualisierung fehlgeschlagen`},chat:{emptyState:`Starten Sie eine Konversation mit Hermes Agent`,inputPlaceholder:`Nachricht eingeben... (Enter zum Senden, Shift+Enter fur neue Zeile)`,attachFiles:`Dateien anhangen`,stop:`Stopp`,send:`Senden`,contextUsed:`Kontext verwendet:`,sessions:`Sitzungen`,noSessions:`Keine Sitzungen`,newChat:`Neuer Chat`,deleteSession:`Diese Sitzung loschen?`,sessionDeleted:`Sitzung geloscht`,rename:`Umbenennen`,copySessionId:`Sitzungs-ID kopieren`,renamed:`Umbenannt`,renameFailed:`Umbenennung fehlgeschlagen`,renameSession:`Sitzung umbenennen`,enterNewTitle:`Neuen Titel eingeben`,other:`Sonstige`,runFailed:`Ausfuhrung fehlgeschlagen`,error:`Fehler`,tool:`Werkzeug`,arguments:`Argumente`,result:`Ergebnis`,truncated:`... (abgeschnitten)`},jobs:{title:`Geplante Aufgaben`,createJob:`Aufgabe erstellen`,editJob:`Aufgabe bearbeiten`,noJobs:`Noch keine geplanten Aufgaben. Erstellen Sie eine, um zu beginnen.`,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:`Prompt`,promptPlaceholder:`Der auszufuhrende Prompt`,deliverTarget:`Zustellziel`,origin:`Herkunft`,local:`Lokal`,repeatCount:`Wiederholungsanzahl (optional)`,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:`Aufgabe ausgelost`,jobDeleted:`Aufgabe geloscht`,status:{running:`Lauft`,paused:`Pausiert`,disabled:`Deaktiviert`,scheduled:`Geplant`},info:{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 auslosen`}},skills:{title:`Fahigkeiten`,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`,toggleFailed:`Aktivieren/Deaktivieren der Fahigkeit fehlgeschlagen`},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`,providerType:`Anbietertyp`,preset:`Vorgabe`,custom:`Benutzerdefiniert`,selectProvider:`Anbieter auswahlen`,chooseProvider:`Anbieter wahlen...`,name:`Name`,autoGeneratedName:`Automatisch aus Basis-URL generiert`,baseUrl:`Basis-URL`,baseUrlPlaceholder:`z. B. https://api.example.com/v1`,apiKey:`API-Schlussel`,apiKeyPlaceholder:`sk-...`,defaultModel:`Standardmodell`,selectModel:`Modell auswahlen...`,providerAdded:`Anbieter hinzugefugt`,providerDeleted:`Anbieter geloscht`,deleteProvider:`Anbieter loschen`,deleteConfirm:`Mochten Sie "{name}" wirklich loschen?`,noProviders:`Keine Anbieter gefunden. Fugen Sie einen benutzerdefinierten Anbieter hinzu, um zu beginnen.`,builtIn:`Integriert`,customType:`Benutzerdefiniert`,provider:`Anbieter`,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`},profiles:{title:`Profile`,create:`Profil erstellen`,import:`Importieren`,export:`Exportieren`,rename:`Umbenennen`,delete:`Loschen`,switchTo:`Wechseln zu`,switchConfirm:`Das Wechseln zum Profil "{name}" startet das Gateway neu. Fortfahren?`,switchSuccess:`Zum Profil "{name}" gewechselt`,switchFailed:`Profilwechsel fehlgeschlagen. Moglicherweise muss das Gateway 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`,newName:`Neuer Name`,newNamePlaceholder:`Neuen Namen eingeben`,cloneFromCurrent:`Aus aktuellem Profil klonen`,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.`},logs:{title:`Protokolle`,all:`Alle`,searchPlaceholder:`Suchen...`,refresh:`Aktualisieren`,noEntries:`Keine Protokolleintrage`},settings:{title:`Einstellungen`,saved:`Gespeichert`,saveFailed:`Speichern fehlgeschlagen`,tabs:{display:`Anzeige`,agent:`Agent`,memory:`Gedachtnis`,session:`Sitzung`,privacy:`Datenschutz`,apiServer:`API-Server`},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`,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`},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`},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`},session:{mode:`Zurucksetzungsmodus`,modeHint:`Ausloser fur Sitzungszurucksetzung`,modeBoth:`Inaktivitat + Geplant`,modeIdle:`Nur Inaktivitat`,modeHourly:`Nur Geplant`,idleMinutes:`Inaktivitats-Timeout`,idleMinutesHint:`Wartezeit vor automatischer Zurucksetzung (Minuten)`,atHour:`Geplante Zurucksetzungszeit`,atHourHint:`Sitzung taglich zu dieser Stunde zurucksetzen`},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`}},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)`,botToken:`Bot-Token`,botTokenHint:`Bot-Token vom Entwicklerportal`,accessToken:`Zugangs-Token`,accessTokenHint:`Matrix-Zugangs-Token`,homeserver:`Homeserver-URL`,homeserverHint:`Matrix-Homeserver-URL`,appId:`App-ID`,appIdHint:`Feishu App-ID`,appSecret:`App-Geheimnis`,appSecretHint:`Feishu App-Geheimnis`,clientId:`Client-ID`,clientIdHint:`DingTalk Client-ID`,clientSecret:`Client-Geheimnis`,clientSecretHint:`DingTalk Client-Geheimnis`,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...`},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}`},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`,dailyTrend:`Tagliche Nutzung (letzte 30 Tage)`,date:`Datum`,tokens:`Tokens`,cache:`Cache`,sessions:`Sitzungen`,cost:`Kosten`,noData:`Keine Nutzungsdaten`}},Ft={login:{title:`Hermes Web UI`,description:`Insira seu token de acesso para continuar. Encontre-o nos logs de inicializacao do servidor.`,placeholder:`Token de acesso`,submit:`Entrar`,tokenRequired:`Por favor, insira seu token de acesso`,invalidToken:`Token invalido`,connectionFailed:`Nao foi possivel conectar ao servidor`},common:{loading:`Carregando...`,cancel:`Cancelar`,delete:`Excluir`,edit:`Editar`,save:`Salvar`,saved:`Salvo`,update:`Atualizar`,create:`Criar`,saveFailed:`Falha ao salvar`,ok:`OK`,copied:`Copiado`,copy:`Copiar`,noData:`Sem dados`,fetch:`Buscar`,add:`Adicionar`,enable:`Ativar`,disable:`Desativar`,configured:`Configurado`,notConfigured:`Nao configurado`,confirm:`Confirmar`,expand:`Expandir`,collapse:`Recolher`},sidebar:{chat:`Chat`,jobs:`Tarefas agendadas`,models:`Modelos`,profiles:`Perfis`,skills:`Habilidades`,memory:`Memoria`,logs:`Logs`,usage:`Uso`,channels:`Canais`,terminal:`Terminal`,settings:`Configuracoes`,connected:`Conectado`,disconnected:`Desconectado`,updateTip:`Execute "hermes-web-ui update" no terminal para atualizar`,updateVersion:`Atualizar para v{version}`,updating:`Atualizando...`,updateSuccess:`Atualizacao concluida, por favor reinicie o servidor`,updateFailed:`Falha na atualizacao`},chat:{emptyState:`Inicie uma conversa com o Hermes Agent`,inputPlaceholder:`Digite uma mensagem... (Enter para enviar, Shift+Enter para nova linha)`,attachFiles:`Anexar arquivos`,stop:`Parar`,send:`Enviar`,contextUsed:`Contexto utilizado:`,sessions:`Sessoes`,noSessions:`Sem sessoes`,newChat:`Novo chat`,deleteSession:`Excluir esta sessao?`,sessionDeleted:`Sessao excluida`,rename:`Renomear`,copySessionId:`Copiar ID da sessao`,renamed:`Renomeado`,renameFailed:`Falha ao renomear`,renameSession:`Renomear sessao`,enterNewTitle:`Digite um novo titulo`,other:`Outro`,runFailed:`Falha na execucao`,error:`Erro`,tool:`Ferramenta`,arguments:`Argumentos`,result:`Resultado`,truncated:`... (truncado)`},jobs:{title:`Tarefas agendadas`,createJob:`Criar tarefa`,editJob:`Editar tarefa`,noJobs:`Nenhuma tarefa agendada ainda. Crie uma para comecar.`,name:`Nome`,namePlaceholder:`Nome da tarefa`,schedule:`Agendamento (expressao Cron)`,schedulePlaceholder:`ex. 0 9 * * *`,quickPresets:`Presets rapidos`,selectPreset:`Selecionar um preset...`,presetEveryMinute:`Cada minuto`,presetEvery5Min:`A cada 5 minutos`,presetEveryHour:`Cada hora`,presetEveryDay:`Todos os dias as 00:00`,presetEveryDay9:`Todos os dias as 09:00`,presetEveryMonday:`Toda segunda as 09:00`,presetEveryMonth:`Dia 1 de cada mes as 09:00`,prompt:`Prompt`,promptPlaceholder:`O prompt a executar`,deliverTarget:`Destino de entrega`,origin:`Origem`,local:`Local`,repeatCount:`Contagem de repeticoes (opcional)`,repeatPlaceholder:`Deixar vazio para infinito`,jobCreated:`Tarefa criada`,jobUpdated:`Tarefa atualizada`,nameRequired:`O nome e obrigatorio`,scheduleRequired:`O agendamento e obrigatorio`,loadFailed:`Falha ao carregar a tarefa`,jobPaused:`Tarefa pausada`,jobResumed:`Tarefa retomada`,jobTriggered:`Tarefa acionada`,jobDeleted:`Tarefa excluida`,status:{running:`Em execucao`,paused:`Pausada`,disabled:`Desativada`,scheduled:`Agendada`},info:{schedule:`Agendamento`,lastRun:`Ultima execucao`,nextRun:`Proxima execucao`,deliver:`Entrega`,repeat:`Repeticao`},action:{pause:`Pausar`,pauseJob:`Pausar tarefa`,resume:`Retomar`,resumeJob:`Retomar tarefa`,runNow:`Executar agora`,triggerImmediately:`Acionar imediatamente`}},skills:{title:`Habilidades`,searchPlaceholder:`Buscar habilidades...`,noMatch:`Nenhuma habilidade corresponde a sua busca`,noSkills:`Nenhuma habilidade encontrada`,backTo:`Voltar para`,attachedFiles:`Arquivos anexados`,loadFailed:`Falha ao carregar a habilidade`,fileLoadFailed:`Falha ao carregar o arquivo`,toggleFailed:`Falha ao ativar/desativar a habilidade`},memory:{title:`Memoria`,refresh:`Atualizar`,loadFailed:`Falha ao carregar a memoria`,myNotes:`Minhas notas`,noNotes:`Nenhuma nota ainda.`,notesPlaceholder:`Escreva suas notas...`,userProfile:`Perfil do usuario`,noProfile:`Nenhum perfil ainda.`,profilePlaceholder:`Escreva seu perfil...`,soul:`Alma`,noSoul:`Nenhuma configuracao de alma ainda.`,soulPlaceholder:`Escreva a configuracao da alma...`},models:{title:`Modelos`,addProvider:`Adicionar provedor`,providerType:`Tipo de provedor`,preset:`Preset`,custom:`Personalizado`,selectProvider:`Selecionar provedor`,chooseProvider:`Escolha um provedor...`,name:`Nome`,autoGeneratedName:`Gerado automaticamente pela URL base`,baseUrl:`URL base`,baseUrlPlaceholder:`ex. https://api.example.com/v1`,apiKey:`Chave API`,apiKeyPlaceholder:`sk-...`,defaultModel:`Modelo padrao`,selectModel:`Selecionar um modelo...`,providerAdded:`Provedor adicionado`,providerDeleted:`Provedor excluido`,deleteProvider:`Excluir provedor`,deleteConfirm:`Tem certeza de que deseja excluir "{name}"?`,noProviders:`Nenhum provedor encontrado. Adicione um provedor personalizado para comecar.`,builtIn:`Integrado`,customType:`Personalizado`,provider:`Provedor`,local:`Local ({host})`,selectProviderRequired:`Por favor, selecione um provedor`,baseUrlRequired:`A URL base e obrigatoria`,apiKeyRequired:`A chave API e obrigatoria`,modelRequired:`O modelo padrao e obrigatorio`,enterBaseUrl:`Por favor, insira a URL base primeiro`,unexpectedFormat:`Formato de resposta inesperado`,foundModels:`{count} modelos encontrados`,fetchFailed:`Falha ao buscar os modelos`},profiles:{title:`Perfis`,create:`Criar perfil`,import:`Importar`,export:`Exportar`,rename:`Renomear`,delete:`Excluir`,switchTo:`Mudar para`,switchConfirm:`Mudar para o perfil "{name}" reiniciara o gateway. Continuar?`,switchSuccess:`Mudou para o perfil "{name}"`,switchFailed:`Falha ao mudar de perfil. O gateway pode precisar de reinicio manual.`,createSuccess:`Perfil "{name}" criado`,createFailed:`Falha ao criar o perfil`,renameSuccess:`Perfil renomeado`,renameFailed:`Falha ao renomear o perfil`,deleteConfirm:`Tem certeza de que deseja excluir o perfil "{name}"?`,deleteSuccess:`Perfil excluido`,deleteFailed:`Falha ao excluir o perfil`,exportSuccess:`Perfil exportado`,exportFailed:`Falha ao exportar o perfil`,importSuccess:`Perfil importado`,importFailed:`Falha ao importar o perfil`,importSelectFile:`Selecionar arquivo de arquivo`,importInvalidFile:`Por favor, selecione um arquivo valido (.tar.gz, .tgz, .gz, .zip)`,name:`Nome do perfil`,namePlaceholder:`Apenas letras, numeros e hifens`,newName:`Novo nome`,newNamePlaceholder:`Digite um novo nome`,cloneFromCurrent:`Clonar do perfil atual`,archivePath:`Caminho do arquivo`,archivePathPlaceholder:`Caminho do servidor para o arquivo`,importName:`Nome do perfil (opcional)`,importNamePlaceholder:`Deixe vazio para usar o nome do arquivo`,active:`Ativo`,model:`Modelo`,gateway:`Gateway`,alias:`Alias`,provider:`Provedor`,path:`Caminho`,skills:`Habilidades`,hasEnv:`Tem .env`,hasSoulMd:`Tem soul.md`,noProfiles:`Nenhum perfil encontrado. Crie um para comecar.`},logs:{title:`Logs`,all:`Todos`,searchPlaceholder:`Buscar...`,refresh:`Atualizar`,noEntries:`Nenhuma entrada de log`},settings:{title:`Configuracoes`,saved:`Salvo`,saveFailed:`Falha ao salvar`,tabs:{display:`Exibicao`,agent:`Agente`,memory:`Memoria`,session:`Sessao`,privacy:`Privacidade`,apiServer:`Servidor API`},display:{streaming:`Respostas em streaming`,streamingHint:`Mostrar respostas da IA em tempo real`,compact:`Modo compacto`,compactHint:`Reduzir espacamento entre mensagens`,showReasoning:`Mostrar raciocinio`,showReasoningHint:`Mostrar processo de pensamento do modelo`,showCost:`Mostrar custo`,showCostHint:`Mostrar uso de tokens nas respostas`,inlineDiffs:`Diffs em linha`,inlineDiffsHint:`Mostrar alteracoes de codigo em linha`,bellOnComplete:`Som de conclusao`,bellOnCompleteHint:`Tocar som quando a IA terminar`,busyInputMode:`Modo de entrada ocupada`,busyInputModeHint:`Permitir entrada enquanto a IA processa`,theme:`Tema`,themeHint:`Escolha claro, escuro ou seguir a preferencia do sistema`,themeLight:`Claro`,themeDark:`Escuro`,themeSystem:`Sistema`},agent:{maxTurns:`Maximo de turnos`,maxTurnsHint:`Maximo de rodadas de interacao por conversa`,gatewayTimeout:`Timeout do gateway`,gatewayTimeoutHint:`Timeout da requisicao em segundos`,restartDrainTimeout:`Timeout de drenagem ao reiniciar`,restartDrainTimeoutHint:`Timeout de drenagem antes de reiniciar em segundos`,toolEnforcement:`Obrigatoriedade de ferramentas`,toolEnforcementHint:`Controlar o modo de execucao de chamadas de ferramentas`,auto:`Automatico`,always:`Sempre`,never:`Nunca`},memory:{enabled:`Ativar memoria`,enabledHint:`Permitir que a IA lembre do contexto da conversa`,userProfile:`Perfil do usuario`,userProfileHint:`Permitir que a IA lembre das preferencias do usuario`,charLimit:`Limite de caracteres da memoria`,charLimitHint:`Maximo de caracteres para MEMORY.md`,userCharLimit:`Limite de caracteres do perfil do usuario`,userCharLimitHint:`Maximo de caracteres para USER.md`},session:{mode:`Modo de reinicializacao`,modeHint:`Condicao de acionamento para reinicializacao de sessao`,modeBoth:`Inatividade + Agendado`,modeIdle:`Somente inatividade`,modeHourly:`Somente agendado`,idleMinutes:`Timeout de inatividade`,idleMinutesHint:`Tempo de espera antes da reinicializacao automatica (minutos)`,atHour:`Horario de reinicializacao agendada`,atHourHint:`Reiniciar sessao neste horario diariamente`},privacy:{redactPii:`Ocultar dados pessoais`,redactPiiHint:`Detectar e ocultar automaticamente informacoes sensiveis (senhas, chaves, etc.)`},apiServer:{enable:`Ativar`,enableHint:`Ativar servidor API`,host:`Host`,hostHint:`Endereco de escuta`,port:`Porta`,portHint:`Porta de escuta`,key:`Chave`,keyHint:`Chave de acesso API`,cors:`Origens CORS`,corsHint:`Fontes cross-origin permitidas`}},platform:{requireMention:`Exigir mencao {'@'}`,requireMentionGroup:`Exigir mencao {'@'} em grupos para responder`,requireMentionChannel:`Exigir mencao {'@'} em canais para responder`,requireMentionRoom:`Exigir mencao {'@'} em salas para responder`,reactions:`Reacoes`,reactionsHint:`Reagir a mensagens com emoji`,freeResponseChats:`Chats de resposta livre`,freeResponseChatsHint:`IDs de chats que respondem sem mencao {'@'} (separados por virgula)`,freeResponseChannels:`Canais de resposta livre`,freeResponseChannelsHint:`IDs de canais que respondem sem mencao {'@'} (separados por virgula)`,freeResponseRooms:`Salas de resposta livre`,freeResponseRoomsHint:`IDs de salas que respondem sem mencao {'@'} (separados por virgula)`,mentionPatterns:`Padroes de mencao personalizados`,mentionPatternsHint:`Padroes de acionamento adicionais`,autoThread:`Thread automatica`,autoThreadHint:`Criar automaticamente threads de resposta apos mencao {'@'}`,autoThreadHintRoom:`Criar automaticamente threads de resposta em salas`,dmMentionThreads:`Threads de mencao em DM`,dmMentionThreadsHint:`Usar respostas em thread para mencoes em DMs`,allowBots:`Permitir mensagens de bots`,allowBotsHint:`Responder a mensagens de outros bots`,allowedChannels:`Canais permitidos`,allowedChannelsHint:`Lista branca de IDs de canais (separados por virgula)`,ignoredChannels:`Canais ignorados`,ignoredChannelsHint:`Canais onde o bot nunca responde (separados por virgula)`,noThreadChannels:`Canais sem thread`,noThreadChannelsHint:`Canais onde o bot responde sem threads (separados por virgula)`,botToken:`Token do bot`,botTokenHint:`Token do bot do portal do desenvolvedor`,accessToken:`Token de acesso`,accessTokenHint:`Token de acesso Matrix`,homeserver:`URL do homeserver`,homeserverHint:`URL do homeserver Matrix`,appId:`ID do aplicativo`,appIdHint:`ID do aplicativo Feishu`,appSecret:`Segredo do aplicativo`,appSecretHint:`Segredo do aplicativo Feishu`,clientId:`ID do cliente`,clientIdHint:`ID do cliente DingTalk`,clientSecret:`Segredo do cliente`,clientSecretHint:`Segredo do cliente DingTalk`,botId:`ID do bot`,botIdHint:`ID do bot WeCom`,wecomSecretHint:`Segredo do bot WeCom`,waEnabled:`Ativar WhatsApp`,waEnabledHint:`Ativar WhatsApp via pareamento por codigo QR`,weixinToken:`Token Weixin`,weixinTokenHint:`Do login QR da CLI weixin (hermes weixin)`,accountId:`ID da conta`,accountIdHint:`ID da conta Weixin`,qrLogin:`Login por QR`,qrRelogin:`Reconectar`,qrFetching:`Buscando codigo QR...`,qrScanHint:`Escaneie com WeChat para fazer login`,qrScanedHint:`Escaneado, por favor confirme no celular...`},language:{label:`Idioma`,zh:`中文`,en:`English`,pt:`Portugues`},terminal:{sessions:`Sessoes`,newTab:`Novo terminal`,closeSession:`Fechar esta sessao?`,sessionExited:`Encerrada`,processExited:`Processo encerrado com codigo {code}`},usage:{title:`Estatisticas de uso`,refresh:`Atualizar`,totalTokens:`Total de tokens`,inputTokens:`Entrada`,outputTokens:`Saida`,totalSessions:`Total de sessoes`,avgPerDay:`~{n}/dia em media`,estimatedCost:`Custo est.`,cacheHitRate:`Taxa de acerto de cache`,modelBreakdown:`Detalhamento por modelo`,dailyTrend:`Uso diario (ultimos 30 dias)`,date:`Data`,tokens:`Tokens`,cache:`Cache`,sessions:`Sessoes`,cost:`Custo`,noData:`Sem dados de uso`}},It=localStorage.getItem(`hermes_locale`),Lt=navigator.language.slice(0,2),Rt=[`en`,`zh`,`ja`,`ko`,`fr`,`es`,`de`,`pt`];function zt(e,t){return e&&Rt.includes(e)?e:Rt.includes(t)?t:`en`}var Bt=ie({legacy:!1,locale:zt(It,Lt),fallbackLocale:`en`,messages:{en:Ot,zh:kt,ja:At,ko:jt,fr:Mt,es:Nt,de:Pt,pt:Ft}}),G={neutralBase:`#000`,neutralInvertBase:`#fff`,neutralTextBase:`#fff`,neutralPopover:`rgb(72, 72, 78)`,neutralCard:`rgb(24, 24, 28)`,neutralModal:`rgb(44, 44, 50)`,neutralBody:`rgb(16, 16, 20)`,alpha1:`0.9`,alpha2:`0.82`,alpha3:`0.52`,alpha4:`0.38`,alpha5:`0.28`,alphaClose:`0.52`,alphaDisabled:`0.38`,alphaDisabledInput:`0.06`,alphaPending:`0.09`,alphaTablePending:`0.06`,alphaTableStriped:`0.05`,alphaPressed:`0.05`,alphaAvatar:`0.18`,alphaRail:`0.2`,alphaProgressRail:`0.12`,alphaBorder:`0.24`,alphaDivider:`0.09`,alphaInput:`0.1`,alphaAction:`0.06`,alphaTab:`0.04`,alphaScrollbar:`0.2`,alphaScrollbarHover:`0.3`,alphaCode:`0.12`,alphaTag:`0.2`,primaryHover:`#7fe7c4`,primaryDefault:`#63e2b7`,primaryActive:`#5acea7`,primarySuppl:`rgb(42, 148, 125)`,infoHover:`#8acbec`,infoDefault:`#70c0e8`,infoActive:`#66afd3`,infoSuppl:`rgb(56, 137, 197)`,errorHover:`#e98b8b`,errorDefault:`#e88080`,errorActive:`#e57272`,errorSuppl:`rgb(208, 58, 82)`,warningHover:`#f5d599`,warningDefault:`#f2c97d`,warningActive:`#e6c260`,warningSuppl:`rgb(240, 138, 0)`,successHover:`#7fe7c4`,successDefault:`#63e2b7`,successActive:`#5acea7`,successSuppl:`rgb(42, 148, 125)`},Vt=he(G.neutralBase),Ht=he(G.neutralInvertBase),Ut=`rgba(${Ht.slice(0,3).join(`, `)}, `;function K(e){return`${Ut+String(e)})`}function Wt(e){let t=Array.from(Ht);return t[3]=Number(e),L(Vt,t)}var q=Object.assign(Object.assign({name:`common`},ye),{baseColor:G.neutralBase,primaryColor:G.primaryDefault,primaryColorHover:G.primaryHover,primaryColorPressed:G.primaryActive,primaryColorSuppl:G.primarySuppl,infoColor:G.infoDefault,infoColorHover:G.infoHover,infoColorPressed:G.infoActive,infoColorSuppl:G.infoSuppl,successColor:G.successDefault,successColorHover:G.successHover,successColorPressed:G.successActive,successColorSuppl:G.successSuppl,warningColor:G.warningDefault,warningColorHover:G.warningHover,warningColorPressed:G.warningActive,warningColorSuppl:G.warningSuppl,errorColor:G.errorDefault,errorColorHover:G.errorHover,errorColorPressed:G.errorActive,errorColorSuppl:G.errorSuppl,textColorBase:G.neutralTextBase,textColor1:K(G.alpha1),textColor2:K(G.alpha2),textColor3:K(G.alpha3),textColorDisabled:K(G.alpha4),placeholderColor:K(G.alpha4),placeholderColorDisabled:K(G.alpha5),iconColor:K(G.alpha4),iconColorDisabled:K(G.alpha5),iconColorHover:K(Number(G.alpha4)*1.25),iconColorPressed:K(Number(G.alpha4)*.8),opacity1:G.alpha1,opacity2:G.alpha2,opacity3:G.alpha3,opacity4:G.alpha4,opacity5:G.alpha5,dividerColor:K(G.alphaDivider),borderColor:K(G.alphaBorder),closeIconColorHover:K(Number(G.alphaClose)),closeIconColor:K(Number(G.alphaClose)),closeIconColorPressed:K(Number(G.alphaClose)),closeColorHover:`rgba(255, 255, 255, .12)`,closeColorPressed:`rgba(255, 255, 255, .08)`,clearColor:K(G.alpha4),clearColorHover:j(K(G.alpha4),{alpha:1.25}),clearColorPressed:j(K(G.alpha4),{alpha:.8}),scrollbarColor:K(G.alphaScrollbar),scrollbarColorHover:K(G.alphaScrollbarHover),scrollbarWidth:`5px`,scrollbarHeight:`5px`,scrollbarBorderRadius:`5px`,progressRailColor:K(G.alphaProgressRail),railColor:K(G.alphaRail),popoverColor:G.neutralPopover,tableColor:G.neutralCard,cardColor:G.neutralCard,modalColor:G.neutralModal,bodyColor:G.neutralBody,tagColor:Wt(G.alphaTag),avatarColor:K(G.alphaAvatar),invertedColor:G.neutralBase,inputColor:K(G.alphaInput),codeColor:K(G.alphaCode),tabColor:K(G.alphaTab),actionColor:K(G.alphaAction),tableHeaderColor:K(G.alphaAction),hoverColor:K(G.alphaPending),tableColorHover:K(G.alphaTablePending),tableColorStriped:K(G.alphaTableStriped),pressedColor:K(G.alphaPressed),opacityDisabled:G.alphaDisabled,inputColorDisabled:K(G.alphaDisabledInput),buttonColor2:`rgba(255, 255, 255, .08)`,buttonColor2Hover:`rgba(255, 255, 255, .12)`,buttonColor2Pressed:`rgba(255, 255, 255, .08)`,boxShadow1:`0 1px 2px -2px rgba(0, 0, 0, .24), 0 3px 6px 0 rgba(0, 0, 0, .18), 0 5px 12px 4px rgba(0, 0, 0, .12)`,boxShadow2:`0 3px 6px -4px rgba(0, 0, 0, .24), 0 6px 12px 0 rgba(0, 0, 0, .16), 0 9px 18px 8px rgba(0, 0, 0, .10)`,boxShadow3:`0 6px 16px -9px rgba(0, 0, 0, .08), 0 9px 28px 0 rgba(0, 0, 0, .05), 0 12px 48px 16px rgba(0, 0, 0, .03)`}),J={name:`Scrollbar`,common:q,self:Te},Y={name:`Empty`,common:q,self:qe},Gt={name:`InternalSelectMenu`,common:q,peers:{Scrollbar:J,Empty:Y},self:Ze},X={name:`Popover`,common:q,peers:{Scrollbar:J},self:xe},Kt={name:`Tag`,common:q,self(e){let{textColor2:t,primaryColorHover:n,primaryColorPressed:r,primaryColor:i,infoColor:a,successColor:o,warningColor:s,errorColor:c,baseColor:l,borderColor:u,tagColor:d,opacityDisabled:f,closeIconColor:p,closeIconColorHover:m,closeIconColorPressed:h,closeColorHover:g,closeColorPressed:_,borderRadiusSmall:v,fontSizeMini:y,fontSizeTiny:b,fontSizeSmall:x,fontSizeMedium:S,heightMini:C,heightTiny:w,heightSmall:T,heightMedium:E,buttonColor2Hover:D,buttonColor2Pressed:ee,fontWeightStrong:O}=e;return Object.assign(Object.assign({},ot),{closeBorderRadius:v,heightTiny:C,heightSmall:w,heightMedium:T,heightLarge:E,borderRadius:v,opacityDisabled:f,fontSizeTiny:y,fontSizeSmall:b,fontSizeMedium:x,fontSizeLarge:S,fontWeightStrong:O,textColorCheckable:t,textColorHoverCheckable:t,textColorPressedCheckable:t,textColorChecked:l,colorCheckable:`#0000`,colorHoverCheckable:D,colorPressedCheckable:ee,colorChecked:i,colorCheckedHover:n,colorCheckedPressed:r,border:`1px solid ${u}`,textColor:t,color:d,colorBordered:`#0000`,closeIconColor:p,closeIconColorHover:m,closeIconColorPressed:h,closeColorHover:g,closeColorPressed:_,borderPrimary:`1px solid ${F(i,{alpha:.3})}`,textColorPrimary:i,colorPrimary:F(i,{alpha:.16}),colorBorderedPrimary:`#0000`,closeIconColorPrimary:j(i,{lightness:.7}),closeIconColorHoverPrimary:j(i,{lightness:.7}),closeIconColorPressedPrimary:j(i,{lightness:.7}),closeColorHoverPrimary:F(i,{alpha:.16}),closeColorPressedPrimary:F(i,{alpha:.12}),borderInfo:`1px solid ${F(a,{alpha:.3})}`,textColorInfo:a,colorInfo:F(a,{alpha:.16}),colorBorderedInfo:`#0000`,closeIconColorInfo:j(a,{alpha:.7}),closeIconColorHoverInfo:j(a,{alpha:.7}),closeIconColorPressedInfo:j(a,{alpha:.7}),closeColorHoverInfo:F(a,{alpha:.16}),closeColorPressedInfo:F(a,{alpha:.12}),borderSuccess:`1px solid ${F(o,{alpha:.3})}`,textColorSuccess:o,colorSuccess:F(o,{alpha:.16}),colorBorderedSuccess:`#0000`,closeIconColorSuccess:j(o,{alpha:.7}),closeIconColorHoverSuccess:j(o,{alpha:.7}),closeIconColorPressedSuccess:j(o,{alpha:.7}),closeColorHoverSuccess:F(o,{alpha:.16}),closeColorPressedSuccess:F(o,{alpha:.12}),borderWarning:`1px solid ${F(s,{alpha:.3})}`,textColorWarning:s,colorWarning:F(s,{alpha:.16}),colorBorderedWarning:`#0000`,closeIconColorWarning:j(s,{alpha:.7}),closeIconColorHoverWarning:j(s,{alpha:.7}),closeIconColorPressedWarning:j(s,{alpha:.7}),closeColorHoverWarning:F(s,{alpha:.16}),closeColorPressedWarning:F(s,{alpha:.11}),borderError:`1px solid ${F(c,{alpha:.3})}`,textColorError:c,colorError:F(c,{alpha:.16}),colorBorderedError:`#0000`,closeIconColorError:j(c,{alpha:.7}),closeIconColorHoverError:j(c,{alpha:.7}),closeIconColorPressedError:j(c,{alpha:.7}),closeColorHoverError:F(c,{alpha:.16}),closeColorPressedError:F(c,{alpha:.12})})}},qt={name:`InternalSelection`,common:q,peers:{Popover:X},self(e){let{borderRadius:t,textColor2:n,textColorDisabled:r,inputColor:i,inputColorDisabled:a,primaryColor:o,primaryColorHover:s,warningColor:c,warningColorHover:l,errorColor:u,errorColorHover:d,iconColor:f,iconColorDisabled:p,clearColor:m,clearColorHover:h,clearColorPressed:g,placeholderColor:_,placeholderColorDisabled:v,fontSizeTiny:y,fontSizeSmall:b,fontSizeMedium:x,fontSizeLarge:S,heightTiny:C,heightSmall:w,heightMedium:T,heightLarge:E,fontWeight:D}=e;return Object.assign(Object.assign({},We),{fontWeight:D,fontSizeTiny:y,fontSizeSmall:b,fontSizeMedium:x,fontSizeLarge:S,heightTiny:C,heightSmall:w,heightMedium:T,heightLarge:E,borderRadius:t,textColor:n,textColorDisabled:r,placeholderColor:_,placeholderColorDisabled:v,color:i,colorDisabled:a,colorActive:F(o,{alpha:.1}),border:`1px solid #0000`,borderHover:`1px solid ${s}`,borderActive:`1px solid ${o}`,borderFocus:`1px solid ${s}`,boxShadowHover:`none`,boxShadowActive:`0 0 8px 0 ${F(o,{alpha:.4})}`,boxShadowFocus:`0 0 8px 0 ${F(o,{alpha:.4})}`,caretColor:o,arrowColor:f,arrowColorDisabled:p,loadingColor:o,borderWarning:`1px solid ${c}`,borderHoverWarning:`1px solid ${l}`,borderActiveWarning:`1px solid ${c}`,borderFocusWarning:`1px solid ${l}`,boxShadowHoverWarning:`none`,boxShadowActiveWarning:`0 0 8px 0 ${F(c,{alpha:.4})}`,boxShadowFocusWarning:`0 0 8px 0 ${F(c,{alpha:.4})}`,colorActiveWarning:F(c,{alpha:.1}),caretColorWarning:c,borderError:`1px solid ${u}`,borderHoverError:`1px solid ${d}`,borderActiveError:`1px solid ${u}`,borderFocusError:`1px solid ${d}`,boxShadowHoverError:`none`,boxShadowActiveError:`0 0 8px 0 ${F(u,{alpha:.4})}`,boxShadowFocusError:`0 0 8px 0 ${F(u,{alpha:.4})}`,colorActiveError:F(u,{alpha:.1}),caretColorError:u,clearColor:m,clearColorHover:h,clearColorPressed:g})}},Jt={iconMargin:`11px 8px 0 12px`,iconMarginRtl:`11px 12px 0 8px`,iconSize:`24px`,closeIconSize:`16px`,closeSize:`20px`,closeMargin:`13px 14px 0 0`,closeMarginRtl:`13px 0 0 14px`,padding:`13px`},Yt={name:`Alert`,common:q,self(e){let{lineHeight:t,borderRadius:n,fontWeightStrong:r,dividerColor:i,inputColor:a,textColor1:o,textColor2:s,closeColorHover:c,closeColorPressed:l,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,infoColorSuppl:p,successColorSuppl:m,warningColorSuppl:h,errorColorSuppl:g,fontSize:_}=e;return Object.assign(Object.assign({},Jt),{fontSize:_,lineHeight:t,titleFontWeight:r,borderRadius:n,border:`1px solid ${i}`,color:a,titleTextColor:o,iconColor:s,contentTextColor:s,closeBorderRadius:n,closeColorHover:c,closeColorPressed:l,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,borderInfo:`1px solid ${F(p,{alpha:.35})}`,colorInfo:F(p,{alpha:.25}),titleTextColorInfo:o,iconColorInfo:p,contentTextColorInfo:s,closeColorHoverInfo:c,closeColorPressedInfo:l,closeIconColorInfo:u,closeIconColorHoverInfo:d,closeIconColorPressedInfo:f,borderSuccess:`1px solid ${F(m,{alpha:.35})}`,colorSuccess:F(m,{alpha:.25}),titleTextColorSuccess:o,iconColorSuccess:m,contentTextColorSuccess:s,closeColorHoverSuccess:c,closeColorPressedSuccess:l,closeIconColorSuccess:u,closeIconColorHoverSuccess:d,closeIconColorPressedSuccess:f,borderWarning:`1px solid ${F(h,{alpha:.35})}`,colorWarning:F(h,{alpha:.25}),titleTextColorWarning:o,iconColorWarning:h,contentTextColorWarning:s,closeColorHoverWarning:c,closeColorPressedWarning:l,closeIconColorWarning:u,closeIconColorHoverWarning:d,closeIconColorPressedWarning:f,borderError:`1px solid ${F(g,{alpha:.35})}`,colorError:F(g,{alpha:.25}),titleTextColorError:o,iconColorError:g,contentTextColorError:s,closeColorHoverError:c,closeColorPressedError:l,closeIconColorError:u,closeIconColorHoverError:d,closeIconColorPressedError:f})}},Xt={linkFontSize:`13px`,linkPadding:`0 0 0 16px`,railWidth:`4px`};function Zt(e){let{borderRadius:t,railColor:n,primaryColor:r,primaryColorHover:i,primaryColorPressed:a,textColor2:o}=e;return Object.assign(Object.assign({},Xt),{borderRadius:t,railColor:n,railColorActive:r,linkColor:F(r,{alpha:.15}),linkTextColor:o,linkTextColorHover:i,linkTextColorPressed:a,linkTextColorActive:r})}var Qt={name:`Anchor`,common:q,self:Zt};function $t(e){let{textColor2:t,textColor3:n,textColorDisabled:r,primaryColor:i,primaryColorHover:a,inputColor:o,inputColorDisabled:s,warningColor:c,warningColorHover:l,errorColor:u,errorColorHover:d,borderRadius:f,lineHeight:p,fontSizeTiny:m,fontSizeSmall:h,fontSizeMedium:g,fontSizeLarge:_,heightTiny:v,heightSmall:y,heightMedium:b,heightLarge:x,clearColor:S,clearColorHover:C,clearColorPressed:w,placeholderColor:T,placeholderColorDisabled:E,iconColor:D,iconColorDisabled:ee,iconColorHover:O,iconColorPressed:te,fontWeight:k}=e;return Object.assign(Object.assign({},ft),{fontWeight:k,countTextColorDisabled:r,countTextColor:n,heightTiny:v,heightSmall:y,heightMedium:b,heightLarge:x,fontSizeTiny:m,fontSizeSmall:h,fontSizeMedium:g,fontSizeLarge:_,lineHeight:p,lineHeightTextarea:p,borderRadius:f,iconSize:`16px`,groupLabelColor:o,textColor:t,textColorDisabled:r,textDecorationColor:t,groupLabelTextColor:t,caretColor:i,placeholderColor:T,placeholderColorDisabled:E,color:o,colorDisabled:s,colorFocus:F(i,{alpha:.1}),groupLabelBorder:`1px solid #0000`,border:`1px solid #0000`,borderHover:`1px solid ${a}`,borderDisabled:`1px solid #0000`,borderFocus:`1px solid ${a}`,boxShadowFocus:`0 0 8px 0 ${F(i,{alpha:.3})}`,loadingColor:i,loadingColorWarning:c,borderWarning:`1px solid ${c}`,borderHoverWarning:`1px solid ${l}`,colorFocusWarning:F(c,{alpha:.1}),borderFocusWarning:`1px solid ${l}`,boxShadowFocusWarning:`0 0 8px 0 ${F(c,{alpha:.3})}`,caretColorWarning:c,loadingColorError:u,borderError:`1px solid ${u}`,borderHoverError:`1px solid ${d}`,colorFocusError:F(u,{alpha:.1}),borderFocusError:`1px solid ${d}`,boxShadowFocusError:`0 0 8px 0 ${F(u,{alpha:.3})}`,caretColorError:u,clearColor:S,clearColorHover:C,clearColorPressed:w,iconColor:D,iconColorDisabled:ee,iconColorHover:O,iconColorPressed:te,suffixTextColor:t})}var Z=R({name:`Input`,common:q,peers:{Scrollbar:J},self:$t});function en(e){let{boxShadow2:t}=e;return{menuBoxShadow:t}}R({name:`AutoComplete`,common:P,peers:{InternalSelectMenu:Ye,Input:W},self:en});var tn={name:`AutoComplete`,common:q,peers:{InternalSelectMenu:Gt,Input:Z},self:en};function nn(e){let{borderRadius:t,avatarColor:n,cardColor:r,fontSize:i,heightTiny:a,heightSmall:o,heightMedium:s,heightLarge:c,heightHuge:l,modalColor:u,popoverColor:d}=e;return{borderRadius:t,fontSize:i,border:`2px solid ${r}`,heightTiny:a,heightSmall:o,heightMedium:s,heightLarge:c,heightHuge:l,color:L(r,n),colorModal:L(u,n),colorPopover:L(d,n)}}var rn={name:`Avatar`,common:P,self:nn},an={name:`Avatar`,common:q,self:nn};function on(){return{gap:`-12px`}}R({name:`AvatarGroup`,common:P,peers:{Avatar:rn},self:on});var sn={name:`AvatarGroup`,common:q,peers:{Avatar:an},self:on},cn={width:`44px`,height:`44px`,borderRadius:`22px`,iconSize:`26px`},ln={name:`BackTop`,common:q,self(e){let{popoverColor:t,textColor2:n,primaryColorHover:r,primaryColorPressed:i}=e;return Object.assign(Object.assign({},cn),{color:t,textColor:n,iconColor:n,iconColorHover:r,iconColorPressed:i,boxShadow:`0 2px 8px 0px rgba(0, 0, 0, .12)`,boxShadowHover:`0 2px 12px 0px rgba(0, 0, 0, .18)`,boxShadowPressed:`0 2px 12px 0px rgba(0, 0, 0, .18)`})}},un={name:`Badge`,common:q,self(e){let{errorColorSuppl:t,infoColorSuppl:n,successColorSuppl:r,warningColorSuppl:i,fontFamily:a}=e;return{color:t,colorInfo:n,colorSuccess:r,colorError:t,colorWarning:i,fontSize:`12px`,fontFamily:a}}},dn={fontWeightActive:`400`};function fn(e){let{fontSize:t,textColor3:n,textColor2:r,borderRadius:i,buttonColor2Hover:a,buttonColor2Pressed:o}=e;return Object.assign(Object.assign({},dn),{fontSize:t,itemLineHeight:`1.25`,itemTextColor:n,itemTextColorHover:r,itemTextColorPressed:r,itemTextColorActive:r,itemBorderRadius:i,itemColorHover:a,itemColorPressed:o,separatorColor:n})}var pn={name:`Breadcrumb`,common:q,self:fn},Q={name:`Button`,common:q,self(e){let t=et(e);return t.waveOpacity=`0.8`,t.colorOpacitySecondary=`0.16`,t.colorOpacitySecondaryHover=`0.2`,t.colorOpacitySecondaryPressed=`0.12`,t}},mn={titleFontSize:`22px`};function hn(e){let{borderRadius:t,fontSize:n,lineHeight:r,textColor2:i,textColor1:a,textColorDisabled:o,dividerColor:s,fontWeightStrong:c,primaryColor:l,baseColor:u,hoverColor:d,cardColor:f,modalColor:p,popoverColor:m}=e;return Object.assign(Object.assign({},mn),{borderRadius:t,borderColor:L(f,s),borderColorModal:L(p,s),borderColorPopover:L(m,s),textColor:i,titleFontWeight:c,titleTextColor:a,dayTextColor:o,fontSize:n,lineHeight:r,dateColorCurrent:l,dateTextColorCurrent:u,cellColorHover:L(f,d),cellColorHoverModal:L(p,d),cellColorHoverPopover:L(m,d),cellColor:f,cellColorModal:p,cellColorPopover:m,barColor:l})}R({name:`Calendar`,common:P,peers:{Button:H},self:hn});var gn={name:`Calendar`,common:q,peers:{Button:Q},self:hn},_n={name:`Card`,common:q,self(e){let t=Ue(e),{cardColor:n,modalColor:r,popoverColor:i}=e;return t.colorEmbedded=n,t.colorEmbeddedModal=r,t.colorEmbeddedPopover=i,t}};function vn(){return{dotSize:`8px`,dotColor:`rgba(255, 255, 255, .3)`,dotColorActive:`rgba(255, 255, 255, 1)`,dotColorFocus:`rgba(255, 255, 255, .5)`,dotLineWidth:`16px`,dotLineWidthActive:`24px`,arrowColor:`#eee`}}var yn={name:`Carousel`,common:q,self:vn},bn={sizeSmall:`14px`,sizeMedium:`16px`,sizeLarge:`18px`,labelPadding:`0 8px`,labelFontWeight:`400`};function xn(e){let{baseColor:t,inputColorDisabled:n,cardColor:r,modalColor:i,popoverColor:a,textColorDisabled:o,borderColor:s,primaryColor:c,textColor2:l,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,borderRadiusSmall:p,lineHeight:m}=e;return Object.assign(Object.assign({},bn),{labelLineHeight:m,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,borderRadius:p,color:t,colorChecked:c,colorDisabled:n,colorDisabledChecked:n,colorTableHeader:r,colorTableHeaderModal:i,colorTableHeaderPopover:a,checkMarkColor:t,checkMarkColorDisabled:o,checkMarkColorDisabledChecked:o,border:`1px solid ${s}`,borderDisabled:`1px solid ${s}`,borderDisabledChecked:`1px solid ${s}`,borderChecked:`1px solid ${c}`,borderFocus:`1px solid ${c}`,boxShadowFocus:`0 0 0 2px ${F(c,{alpha:.3})}`,textColor:l,textColorDisabled:o})}var Sn={name:`Checkbox`,common:P,self:xn},$={name:`Checkbox`,common:q,self(e){let{cardColor:t}=e,n=xn(e);return n.color=`#0000`,n.checkMarkColor=t,n}};function Cn(e){let{borderRadius:t,boxShadow2:n,popoverColor:r,textColor2:i,textColor3:a,primaryColor:o,textColorDisabled:s,dividerColor:c,hoverColor:l,fontSizeMedium:u,heightMedium:d}=e;return{menuBorderRadius:t,menuColor:r,menuBoxShadow:n,menuDividerColor:c,menuHeight:`calc(var(--n-option-height) * 6.6)`,optionArrowColor:a,optionHeight:d,optionFontSize:u,optionColorHover:l,optionTextColor:i,optionTextColorActive:o,optionTextColorDisabled:s,optionCheckMarkColor:o,loadingColor:o,columnWidth:`180px`}}R({name:`Cascader`,common:P,peers:{InternalSelectMenu:Ye,InternalSelection:Ke,Scrollbar:V,Checkbox:Sn,Empty:Ge},self:Cn});var wn={name:`Cascader`,common:q,peers:{InternalSelectMenu:Gt,InternalSelection:qt,Scrollbar:J,Checkbox:$,Empty:Ge},self:Cn},Tn={name:`Code`,common:q,self(e){let{textColor2:t,fontSize:n,fontWeightStrong:r,textColor3:i}=e;return{textColor:t,fontSize:n,fontWeightStrong:r,"mono-3":`#5c6370`,"hue-1":`#56b6c2`,"hue-2":`#61aeee`,"hue-3":`#c678dd`,"hue-4":`#98c379`,"hue-5":`#e06c75`,"hue-5-2":`#be5046`,"hue-6":`#d19a66`,"hue-6-2":`#e6c07b`,lineNumberTextColor:i}}};function En(e){let{fontWeight:t,textColor1:n,textColor2:r,textColorDisabled:i,dividerColor:a,fontSize:o}=e;return{titleFontSize:o,titleFontWeight:t,dividerColor:a,titleTextColor:n,titleTextColorDisabled:i,fontSize:o,textColor:r,arrowColor:r,arrowColorDisabled:i,itemMargin:`16px 0 0 0`,titlePadding:`16px 0 0 0`}}var Dn={name:`Collapse`,common:q,self:En};function On(e){let{cubicBezierEaseInOut:t}=e;return{bezier:t}}var kn={name:`CollapseTransition`,common:q,self:On};function An(e){let{fontSize:t,boxShadow2:n,popoverColor:r,textColor2:i,borderRadius:a,borderColor:o,heightSmall:s,heightMedium:c,heightLarge:l,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,dividerColor:p}=e;return{panelFontSize:t,boxShadow:n,color:r,textColor:i,borderRadius:a,border:`1px solid ${o}`,heightSmall:s,heightMedium:c,heightLarge:l,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,dividerColor:p}}R({name:`ColorPicker`,common:P,peers:{Input:W,Button:H},self:An});var jn={name:`ColorPicker`,common:q,peers:{Input:Z,Button:Q},self:An},Mn=C({name:`ConfigProvider`,alias:[`App`],props:{abstract:Boolean,bordered:{type:Boolean,default:void 0},clsPrefix:String,locale:Object,dateLocale:Object,namespace:String,rtl:Array,tag:{type:String,default:`div`},hljs:Object,katex:Object,theme:Object,themeOverrides:Object,componentOptions:Object,icons:Object,breakpoints:Object,preflightStyleDisabled:Boolean,styleMountTarget:Object,inlineThemeDisabled:{type:Boolean,default:void 0},as:{type:String,validator:()=>(le(`config-provider`,"`as` is deprecated, please use `tag` instead."),!0),default:void 0}},setup(e){let n=i(ce,null),r=t(()=>{let{theme:t}=e;if(t===null)return;let r=n?.mergedThemeRef.value;return t===void 0?r:r===void 0?t:Object.assign({},r,t)}),a=t(()=>{let{themeOverrides:t}=e;if(t!==null){if(t===void 0)return n?.mergedThemeOverridesRef.value;{let e=n?.mergedThemeOverridesRef.value;return e===void 0?t:me({},e,t)}}}),s=ve(()=>{let{namespace:t}=e;return t===void 0?n?.mergedNamespaceRef.value:t}),c=ve(()=>{let{bordered:t}=e;return t===void 0?n?.mergedBorderedRef.value:t}),l=t(()=>{let{icons:t}=e;return t===void 0?n?.mergedIconsRef.value:t}),u=t(()=>{let{componentOptions:t}=e;return t===void 0?n?.mergedComponentPropsRef.value:t}),d=t(()=>{let{clsPrefix:t}=e;return t===void 0?n?n.mergedClsPrefixRef.value:`n`:t}),f=t(()=>{var t;let{rtl:r}=e;if(r===void 0)return n?.mergedRtlRef.value;let i={};for(let e of r)i[e.name]=S(e),(t=e.peers)==null||t.forEach(e=>{e.name in i||(i[e.name]=S(e))});return i}),p=t(()=>e.breakpoints||n?.mergedBreakpointsRef.value),m=e.inlineThemeDisabled||n?.inlineThemeDisabled,h=e.preflightStyleDisabled||n?.preflightStyleDisabled,g=e.styleMountTarget||n?.styleMountTarget;return o(ce,{mergedThemeHashRef:t(()=>{let{value:e}=r,{value:t}=a,n=t&&Object.keys(t).length!==0,i=e?.name;return i?n?`${i}-${ue(JSON.stringify(a.value))}`:i:n?ue(JSON.stringify(a.value)):``}),mergedBreakpointsRef:p,mergedRtlRef:f,mergedIconsRef:l,mergedComponentPropsRef:u,mergedBorderedRef:c,mergedNamespaceRef:s,mergedClsPrefixRef:d,mergedLocaleRef:t(()=>{let{locale:t}=e;if(t!==null)return t===void 0?n?.mergedLocaleRef.value:t}),mergedDateLocaleRef:t(()=>{let{dateLocale:t}=e;if(t!==null)return t===void 0?n?.mergedDateLocaleRef.value:t}),mergedHljsRef:t(()=>{let{hljs:t}=e;return t===void 0?n?.mergedHljsRef.value:t}),mergedKatexRef:t(()=>{let{katex:t}=e;return t===void 0?n?.mergedKatexRef.value:t}),mergedThemeRef:r,mergedThemeOverridesRef:a,inlineThemeDisabled:m||!1,preflightStyleDisabled:h||!1,styleMountTarget:g}),{mergedClsPrefix:d,mergedBordered:c,mergedNamespace:s,mergedTheme:r,mergedThemeOverrides:a}},render(){var e,t;return this.abstract?(t=this.$slots).default?.call(t):s(this.as||this.tag,{class:`${this.mergedClsPrefix||`n`}-config-provider`},(e=this.$slots).default?.call(e))}}),Nn={name:`Popselect`,common:q,peers:{Popover:X,InternalSelectMenu:Gt}};function Pn(e){let{boxShadow2:t}=e;return{menuBoxShadow:t}}var Fn=R({name:`Popselect`,common:P,peers:{Popover:Se,InternalSelectMenu:Ye},self:Pn}),In={name:`Select`,common:q,peers:{InternalSelection:qt,InternalSelectMenu:Gt},self:Xe},Ln={itemPaddingSmall:`0 4px`,itemMarginSmall:`0 0 0 8px`,itemMarginSmallRtl:`0 8px 0 0`,itemPaddingMedium:`0 4px`,itemMarginMedium:`0 0 0 8px`,itemMarginMediumRtl:`0 8px 0 0`,itemPaddingLarge:`0 4px`,itemMarginLarge:`0 0 0 8px`,itemMarginLargeRtl:`0 8px 0 0`,buttonIconSizeSmall:`14px`,buttonIconSizeMedium:`16px`,buttonIconSizeLarge:`18px`,inputWidthSmall:`60px`,selectWidthSmall:`unset`,inputMarginSmall:`0 0 0 8px`,inputMarginSmallRtl:`0 8px 0 0`,selectMarginSmall:`0 0 0 8px`,prefixMarginSmall:`0 8px 0 0`,suffixMarginSmall:`0 0 0 8px`,inputWidthMedium:`60px`,selectWidthMedium:`unset`,inputMarginMedium:`0 0 0 8px`,inputMarginMediumRtl:`0 8px 0 0`,selectMarginMedium:`0 0 0 8px`,prefixMarginMedium:`0 8px 0 0`,suffixMarginMedium:`0 0 0 8px`,inputWidthLarge:`60px`,selectWidthLarge:`unset`,inputMarginLarge:`0 0 0 8px`,inputMarginLargeRtl:`0 8px 0 0`,selectMarginLarge:`0 0 0 8px`,prefixMarginLarge:`0 8px 0 0`,suffixMarginLarge:`0 0 0 8px`};function Rn(e){let{textColor2:t,primaryColor:n,primaryColorHover:r,primaryColorPressed:i,inputColorDisabled:a,textColorDisabled:o,borderColor:s,borderRadius:c,fontSizeTiny:l,fontSizeSmall:u,fontSizeMedium:d,heightTiny:f,heightSmall:p,heightMedium:m}=e;return Object.assign(Object.assign({},Ln),{buttonColor:`#0000`,buttonColorHover:`#0000`,buttonColorPressed:`#0000`,buttonBorder:`1px solid ${s}`,buttonBorderHover:`1px solid ${s}`,buttonBorderPressed:`1px solid ${s}`,buttonIconColor:t,buttonIconColorHover:t,buttonIconColorPressed:t,itemTextColor:t,itemTextColorHover:r,itemTextColorPressed:i,itemTextColorActive:n,itemTextColorDisabled:o,itemColor:`#0000`,itemColorHover:`#0000`,itemColorPressed:`#0000`,itemColorActive:`#0000`,itemColorActiveHover:`#0000`,itemColorDisabled:a,itemBorder:`1px solid #0000`,itemBorderHover:`1px solid #0000`,itemBorderPressed:`1px solid #0000`,itemBorderActive:`1px solid ${n}`,itemBorderDisabled:`1px solid ${s}`,itemBorderRadius:c,itemSizeSmall:f,itemSizeMedium:p,itemSizeLarge:m,itemFontSizeSmall:l,itemFontSizeMedium:u,itemFontSizeLarge:d,jumperFontSizeSmall:l,jumperFontSizeMedium:u,jumperFontSizeLarge:d,jumperTextColor:t,jumperTextColorDisabled:o})}var zn=R({name:`Pagination`,common:P,peers:{Select:Je,Input:W,Popselect:Fn},self:Rn}),Bn={name:`Pagination`,common:q,peers:{Select:In,Input:Z,Popselect:Nn},self(e){let{primaryColor:t,opacity3:n}=e,r=F(t,{alpha:Number(n)}),i=Rn(e);return i.itemBorderActive=`1px solid ${r}`,i.itemBorderDisabled=`1px solid #0000`,i}},Vn={name:`Dropdown`,common:q,peers:{Popover:X},self(e){let{primaryColorSuppl:t,primaryColor:n,popoverColor:r}=e,i=pt(e);return i.colorInverted=r,i.optionColorActive=F(n,{alpha:.15}),i.optionColorActiveInverted=t,i.optionColorHoverInverted=t,i}},Hn={name:`Tooltip`,common:q,peers:{Popover:X},self(e){let{borderRadius:t,boxShadow2:n,popoverColor:r,textColor2:i}=e;return Object.assign(Object.assign({},_t),{borderRadius:t,boxShadow:n,color:r,textColor:i})}},Un={name:`Ellipsis`,common:q,peers:{Tooltip:Hn}},Wn=R({name:`Ellipsis`,common:P,peers:{Tooltip:vt}}),Gn={radioSizeSmall:`14px`,radioSizeMedium:`16px`,radioSizeLarge:`18px`,labelPadding:`0 8px`,labelFontWeight:`400`},Kn={name:`Radio`,common:q,self(e){let{borderColor:t,primaryColor:n,baseColor:r,textColorDisabled:i,inputColorDisabled:a,textColor2:o,opacityDisabled:s,borderRadius:c,fontSizeSmall:l,fontSizeMedium:u,fontSizeLarge:d,heightSmall:f,heightMedium:p,heightLarge:m,lineHeight:h}=e;return Object.assign(Object.assign({},Gn),{labelLineHeight:h,buttonHeightSmall:f,buttonHeightMedium:p,buttonHeightLarge:m,fontSizeSmall:l,fontSizeMedium:u,fontSizeLarge:d,boxShadow:`inset 0 0 0 1px ${t}`,boxShadowActive:`inset 0 0 0 1px ${n}`,boxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${F(n,{alpha:.3})}`,boxShadowHover:`inset 0 0 0 1px ${n}`,boxShadowDisabled:`inset 0 0 0 1px ${t}`,color:`#0000`,colorDisabled:a,colorActive:`#0000`,textColor:o,textColorDisabled:i,dotColorActive:n,dotColorDisabled:t,buttonBorderColor:t,buttonBorderColorActive:n,buttonBorderColorHover:n,buttonColor:`#0000`,buttonColorActive:n,buttonTextColor:o,buttonTextColorActive:r,buttonTextColorHover:n,opacityDisabled:s,buttonBoxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${F(n,{alpha:.3})}`,buttonBoxShadowHover:`inset 0 0 0 1px ${n}`,buttonBoxShadow:`inset 0 0 0 1px #0000`,buttonBorderRadius:c})}};function qn(e){let{borderColor:t,primaryColor:n,baseColor:r,textColorDisabled:i,inputColorDisabled:a,textColor2:o,opacityDisabled:s,borderRadius:c,fontSizeSmall:l,fontSizeMedium:u,fontSizeLarge:d,heightSmall:f,heightMedium:p,heightLarge:m,lineHeight:h}=e;return Object.assign(Object.assign({},Gn),{labelLineHeight:h,buttonHeightSmall:f,buttonHeightMedium:p,buttonHeightLarge:m,fontSizeSmall:l,fontSizeMedium:u,fontSizeLarge:d,boxShadow:`inset 0 0 0 1px ${t}`,boxShadowActive:`inset 0 0 0 1px ${n}`,boxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${F(n,{alpha:.2})}`,boxShadowHover:`inset 0 0 0 1px ${n}`,boxShadowDisabled:`inset 0 0 0 1px ${t}`,color:r,colorDisabled:a,colorActive:`#0000`,textColor:o,textColorDisabled:i,dotColorActive:n,dotColorDisabled:t,buttonBorderColor:t,buttonBorderColorActive:n,buttonBorderColorHover:t,buttonColor:r,buttonColorActive:r,buttonTextColor:o,buttonTextColorActive:n,buttonTextColorHover:n,opacityDisabled:s,buttonBoxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${F(n,{alpha:.3})}`,buttonBoxShadowHover:`inset 0 0 0 1px #0000`,buttonBoxShadow:`inset 0 0 0 1px #0000`,buttonBorderRadius:c})}var Jn={name:`Radio`,common:P,self:qn},Yn={thPaddingSmall:`8px`,thPaddingMedium:`12px`,thPaddingLarge:`12px`,tdPaddingSmall:`8px`,tdPaddingMedium:`12px`,tdPaddingLarge:`12px`,sorterSize:`15px`,resizableContainerSize:`8px`,resizableSize:`2px`,filterSize:`15px`,paginationMargin:`12px 0 0 0`,emptyPadding:`48px 0`,actionPadding:`8px 12px`,actionButtonMargin:`0 8px 0 0`};function Xn(e){let{cardColor:t,modalColor:n,popoverColor:r,textColor2:i,textColor1:a,tableHeaderColor:o,tableColorHover:s,iconColor:c,primaryColor:l,fontWeightStrong:u,borderRadius:d,lineHeight:f,fontSizeSmall:p,fontSizeMedium:m,fontSizeLarge:h,dividerColor:g,heightSmall:_,opacityDisabled:v,tableColorStriped:y}=e;return Object.assign(Object.assign({},Yn),{actionDividerColor:g,lineHeight:f,borderRadius:d,fontSizeSmall:p,fontSizeMedium:m,fontSizeLarge:h,borderColor:L(t,g),tdColorHover:L(t,s),tdColorSorting:L(t,s),tdColorStriped:L(t,y),thColor:L(t,o),thColorHover:L(L(t,o),s),thColorSorting:L(L(t,o),s),tdColor:t,tdTextColor:i,thTextColor:a,thFontWeight:u,thButtonColorHover:s,thIconColor:c,thIconColorActive:l,borderColorModal:L(n,g),tdColorHoverModal:L(n,s),tdColorSortingModal:L(n,s),tdColorStripedModal:L(n,y),thColorModal:L(n,o),thColorHoverModal:L(L(n,o),s),thColorSortingModal:L(L(n,o),s),tdColorModal:n,borderColorPopover:L(r,g),tdColorHoverPopover:L(r,s),tdColorSortingPopover:L(r,s),tdColorStripedPopover:L(r,y),thColorPopover:L(r,o),thColorHoverPopover:L(L(r,o),s),thColorSortingPopover:L(L(r,o),s),tdColorPopover:r,boxShadowBefore:`inset -12px 0 8px -12px rgba(0, 0, 0, .18)`,boxShadowAfter:`inset 12px 0 8px -12px rgba(0, 0, 0, .18)`,loadingColor:l,loadingSize:_,opacityLoading:v})}R({name:`DataTable`,common:P,peers:{Button:H,Checkbox:Sn,Radio:Jn,Pagination:zn,Scrollbar:V,Empty:Ge,Popover:Se,Ellipsis:Wn,Dropdown:mt},self:Xn});var Zn={name:`DataTable`,common:q,peers:{Button:Q,Checkbox:$,Radio:Kn,Pagination:Bn,Scrollbar:J,Empty:Y,Popover:X,Ellipsis:Un,Dropdown:Vn},self(e){let t=Xn(e);return t.boxShadowAfter=`inset 12px 0 8px -12px rgba(0, 0, 0, .36)`,t.boxShadowBefore=`inset -12px 0 8px -12px rgba(0, 0, 0, .36)`,t}},Qn={name:`Icon`,common:q,self:ht},$n={itemFontSize:`12px`,itemHeight:`36px`,itemWidth:`52px`,panelActionPadding:`8px 0`};function er(e){let{popoverColor:t,textColor2:n,primaryColor:r,hoverColor:i,dividerColor:a,opacityDisabled:o,boxShadow2:s,borderRadius:c,iconColor:l,iconColorDisabled:u}=e;return Object.assign(Object.assign({},$n),{panelColor:t,panelBoxShadow:s,panelDividerColor:a,itemTextColor:n,itemTextColorActive:r,itemColorHover:i,itemOpacityDisabled:o,itemBorderRadius:c,borderRadius:c,iconColor:l,iconColorDisabled:u})}var tr=R({name:`TimePicker`,common:P,peers:{Scrollbar:V,Button:H,Input:W},self:er}),nr={name:`TimePicker`,common:q,peers:{Scrollbar:J,Button:Q,Input:Z},self:er},rr={itemSize:`24px`,itemCellWidth:`38px`,itemCellHeight:`32px`,scrollItemWidth:`80px`,scrollItemHeight:`40px`,panelExtraFooterPadding:`8px 12px`,panelActionPadding:`8px 12px`,calendarTitlePadding:`0`,calendarTitleHeight:`28px`,arrowSize:`14px`,panelHeaderPadding:`8px 12px`,calendarDaysHeight:`32px`,calendarTitleGridTempateColumns:`28px 28px 1fr 28px 28px`,calendarLeftPaddingDate:`6px 12px 4px 12px`,calendarLeftPaddingDatetime:`4px 12px`,calendarLeftPaddingDaterange:`6px 12px 4px 12px`,calendarLeftPaddingDatetimerange:`4px 12px`,calendarLeftPaddingMonth:`0`,calendarLeftPaddingYear:`0`,calendarLeftPaddingQuarter:`0`,calendarLeftPaddingMonthrange:`0`,calendarLeftPaddingQuarterrange:`0`,calendarLeftPaddingYearrange:`0`,calendarLeftPaddingWeek:`6px 12px 4px 12px`,calendarRightPaddingDate:`6px 12px 4px 12px`,calendarRightPaddingDatetime:`4px 12px`,calendarRightPaddingDaterange:`6px 12px 4px 12px`,calendarRightPaddingDatetimerange:`4px 12px`,calendarRightPaddingMonth:`0`,calendarRightPaddingYear:`0`,calendarRightPaddingQuarter:`0`,calendarRightPaddingMonthrange:`0`,calendarRightPaddingQuarterrange:`0`,calendarRightPaddingYearrange:`0`,calendarRightPaddingWeek:`0`};function ir(e){let{hoverColor:t,fontSize:n,textColor2:r,textColorDisabled:i,popoverColor:a,primaryColor:o,borderRadiusSmall:s,iconColor:c,iconColorDisabled:l,textColor1:u,dividerColor:d,boxShadow2:f,borderRadius:p,fontWeightStrong:m}=e;return Object.assign(Object.assign({},rr),{itemFontSize:n,calendarDaysFontSize:n,calendarTitleFontSize:n,itemTextColor:r,itemTextColorDisabled:i,itemTextColorActive:a,itemTextColorCurrent:o,itemColorIncluded:F(o,{alpha:.1}),itemColorHover:t,itemColorDisabled:t,itemColorActive:o,itemBorderRadius:s,panelColor:a,panelTextColor:r,arrowColor:c,calendarTitleTextColor:u,calendarTitleColorHover:t,calendarDaysTextColor:r,panelHeaderDividerColor:d,calendarDaysDividerColor:d,calendarDividerColor:d,panelActionDividerColor:d,panelBoxShadow:f,panelBorderRadius:p,calendarTitleFontWeight:m,scrollItemBorderRadius:p,iconColor:c,iconColorDisabled:l})}R({name:`DatePicker`,common:P,peers:{Input:W,Button:H,TimePicker:tr,Scrollbar:V},self:ir});var ar={name:`DatePicker`,common:q,peers:{Input:Z,Button:Q,TimePicker:nr,Scrollbar:J},self(e){let{popoverColor:t,hoverColor:n,primaryColor:r}=e,i=ir(e);return i.itemColorDisabled=L(t,n),i.itemColorIncluded=F(r,{alpha:.15}),i.itemColorHover=L(t,n),i}},or={thPaddingBorderedSmall:`8px 12px`,thPaddingBorderedMedium:`12px 16px`,thPaddingBorderedLarge:`16px 24px`,thPaddingSmall:`0`,thPaddingMedium:`0`,thPaddingLarge:`0`,tdPaddingBorderedSmall:`8px 12px`,tdPaddingBorderedMedium:`12px 16px`,tdPaddingBorderedLarge:`16px 24px`,tdPaddingSmall:`0 0 8px 0`,tdPaddingMedium:`0 0 12px 0`,tdPaddingLarge:`0 0 16px 0`};function sr(e){let{tableHeaderColor:t,textColor2:n,textColor1:r,cardColor:i,modalColor:a,popoverColor:o,dividerColor:s,borderRadius:c,fontWeightStrong:l,lineHeight:u,fontSizeSmall:d,fontSizeMedium:f,fontSizeLarge:p}=e;return Object.assign(Object.assign({},or),{lineHeight:u,fontSizeSmall:d,fontSizeMedium:f,fontSizeLarge:p,titleTextColor:r,thColor:L(i,t),thColorModal:L(a,t),thColorPopover:L(o,t),thTextColor:r,thFontWeight:l,tdTextColor:n,tdColor:i,tdColorModal:a,tdColorPopover:o,borderColor:L(i,s),borderColorModal:L(a,s),borderColorPopover:L(o,s),borderRadius:c})}var cr={name:`Descriptions`,common:q,self:sr},lr={name:`Dialog`,common:q,peers:{Button:Q},self:Re},ur={name:`Modal`,common:q,peers:{Scrollbar:J,Dialog:lr,Card:_n},self:Le},dr=Object.assign(Object.assign({},ke),{onAfterEnter:Function,onAfterLeave:Function,transformOrigin:String,blockScroll:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},onEsc:Function,autoFocus:{type:Boolean,default:!0},internalStyle:[String,Object],maskClosable:{type:Boolean,default:!0},zIndex:Number,onPositiveClick:Function,onNegativeClick:Function,onClose:Function,onMaskClick:Function,draggable:[Boolean,Object]}),fr=C({name:`DialogEnvironment`,props:Object.assign(Object.assign({},dr),{internalKey:{type:String,required:!0},to:[String,Object],onInternalAfterLeave:{type:Function,required:!0}}),setup(e){let t=y(!0);function n(){let{onInternalAfterLeave:t,internalKey:n,onAfterLeave:r}=e;t&&t(n),r&&r()}function r(t){let{onPositiveClick:n}=e;n?Promise.resolve(n(t)).then(e=>{e!==!1&&c()}):c()}function i(t){let{onNegativeClick:n}=e;n?Promise.resolve(n(t)).then(e=>{e!==!1&&c()}):c()}function a(){let{onClose:t}=e;t?Promise.resolve(t()).then(e=>{e!==!1&&c()}):c()}function o(t){let{onMaskClick:n,maskClosable:r}=e;n&&(n(t),r&&c())}function s(){let{onEsc:t}=e;t&&t()}function c(){t.value=!1}function l(e){t.value=e}return{show:t,hide:c,handleUpdateShow:l,handleAfterLeave:n,handleCloseClick:a,handleNegativeClick:i,handlePositiveClick:r,handleMaskClick:o,handleEsc:s}},render(){let{handlePositiveClick:e,handleUpdateShow:t,handleNegativeClick:n,handleCloseClick:r,handleAfterLeave:i,handleMaskClick:a,handleEsc:o,to:c,zIndex:l,maskClosable:u,show:d}=this;return s(He,{show:d,onUpdateShow:t,onMaskClick:a,onEsc:o,to:c,zIndex:l,maskClosable:u,onAfterEnter:this.onAfterEnter,onAfterLeave:i,closeOnEsc:this.closeOnEsc,blockScroll:this.blockScroll,autoFocus:this.autoFocus,transformOrigin:this.transformOrigin,draggable:this.draggable,internalAppear:!0,internalDialog:!0},{default:({draggableClass:t})=>s(Be,Object.assign({},we(this.$props,Pe),{titleClass:E([this.titleClass,t]),style:this.internalStyle,onClose:r,onNegativeClick:n,onPositiveClick:e}))})}}),pr=C({name:`DialogProvider`,props:{injectionKey:String,to:[String,Object]},setup(){let e=y([]),t={};function n(n={}){let r=Ce(),i=D(Object.assign(Object.assign({},n),{key:r,destroy:()=>{var e;(e=t[`n-dialog-${r}`])==null||e.hide()}}));return e.value.push(i),i}let r=[`info`,`success`,`warning`,`error`].map(e=>t=>n(Object.assign(Object.assign({},t),{type:e})));function i(t){let{value:n}=e;n.splice(n.findIndex(e=>e.key===t),1)}function a(){Object.values(t).forEach(e=>{e?.hide()})}let s={create:n,destroyAll:a,info:r[0],success:r[1],warning:r[2],error:r[3]};return o(Ve,s),o(Ae,{clickedRef:Ie(64),clickedPositionRef:Ne()}),o(Fe,e),Object.assign(Object.assign({},s),{dialogList:e,dialogInstRefs:t,handleAfterLeave:i})},render(){var e;return s(ne,null,[this.dialogList.map(e=>s(fr,it(e,[`destroy`,`style`],{internalStyle:e.style,to:this.to,ref:t=>{t===null?delete this.dialogInstRefs[`n-dialog-${e.key}`]:this.dialogInstRefs[`n-dialog-${e.key}`]=t},internalKey:e.key,onInternalAfterLeave:this.handleAfterLeave}))),(e=this.$slots).default?.call(e)])}}),mr={name:`LoadingBar`,common:q,self(e){let{primaryColor:t}=e;return{colorError:`red`,colorLoading:t,height:`2px`}}},hr={margin:`0 0 8px 0`,padding:`10px 20px`,maxWidth:`720px`,minWidth:`420px`,iconMargin:`0 10px 0 0`,closeMargin:`0 0 0 10px`,closeSize:`20px`,closeIconSize:`16px`,iconSize:`20px`,fontSize:`14px`};function gr(e){let{textColor2:t,closeIconColor:n,closeIconColorHover:r,closeIconColorPressed:i,infoColor:a,successColor:o,errorColor:s,warningColor:c,popoverColor:l,boxShadow2:u,primaryColor:d,lineHeight:f,borderRadius:p,closeColorHover:m,closeColorPressed:h}=e;return Object.assign(Object.assign({},hr),{closeBorderRadius:p,textColor:t,textColorInfo:t,textColorSuccess:t,textColorError:t,textColorWarning:t,textColorLoading:t,color:l,colorInfo:l,colorSuccess:l,colorError:l,colorWarning:l,colorLoading:l,boxShadow:u,boxShadowInfo:u,boxShadowSuccess:u,boxShadowError:u,boxShadowWarning:u,boxShadowLoading:u,iconColor:t,iconColorInfo:a,iconColorSuccess:o,iconColorWarning:c,iconColorError:s,iconColorLoading:d,closeColorHover:m,closeColorPressed:h,closeIconColor:n,closeIconColorHover:r,closeIconColorPressed:i,closeColorHoverInfo:m,closeColorPressedInfo:h,closeIconColorInfo:n,closeIconColorHoverInfo:r,closeIconColorPressedInfo:i,closeColorHoverSuccess:m,closeColorPressedSuccess:h,closeIconColorSuccess:n,closeIconColorHoverSuccess:r,closeIconColorPressedSuccess:i,closeColorHoverError:m,closeColorPressedError:h,closeIconColorError:n,closeIconColorHoverError:r,closeIconColorPressedError:i,closeColorHoverWarning:m,closeColorPressedWarning:h,closeIconColorWarning:n,closeIconColorHoverWarning:r,closeIconColorPressedWarning:i,closeColorHoverLoading:m,closeColorPressedLoading:h,closeIconColorLoading:n,closeIconColorHoverLoading:r,closeIconColorPressedLoading:i,loadingColor:d,lineHeight:f,borderRadius:p,border:`0`})}var _r={name:`Message`,common:P,self:gr},vr={name:`Message`,common:q,self:gr},yr={icon:Function,type:{type:String,default:`info`},content:[String,Number,Function],showIcon:{type:Boolean,default:!0},closable:Boolean,keepAliveOnHover:Boolean,spinProps:Object,onClose:Function,onMouseenter:Function,onMouseleave:Function},br=z([M(`message-wrapper`,`
|
|
2
2
|
margin: var(--n-margin);
|
|
3
3
|
z-index: 0;
|
|
4
4
|
transform-origin: top center;
|