diff --git a/public/assets/index-fRsOyCkc.js b/public/assets/index-CmpcUpir.js similarity index 82% rename from public/assets/index-fRsOyCkc.js rename to public/assets/index-CmpcUpir.js index 3e359d2..293e43f 100644 --- a/public/assets/index-fRsOyCkc.js +++ b/public/assets/index-CmpcUpir.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/agent-B-tYZjRz.js","assets/rolldown-runtime-BgaNhQyE.js","assets/jsx-runtime-ADHq9IcL.js","assets/chunk-KS7C4IRE-CN93VkYO.js","assets/typography-C2UybztD.js","assets/tooltip-CRuv8UNz.js","assets/style-Der9vtsK.js","assets/CopyOutlined-BfEUU2AX.js","assets/es-DtKsFKpZ.js","assets/CloseCircleFilled-BARdd-Ff.js","assets/space-BqavXZJj.js","assets/button-CcpWP-mq.js","assets/ColorPresets-wH0crouI.js","assets/app-BscZ5bao.js","assets/CheckCircleFilled-D9xa2k05.js","assets/PlusOutlined-W6xCIIXs.js","assets/ExclamationCircleFilled-BF18pnJ8.js","assets/context-o-GHk4GQ.js","assets/useClosable-CCgKioKg.js","assets/mergeProps-yLeqvqMM.js","assets/useModal-DQaWKI1g.js","assets/config-provider-BFg4S-AS.js","assets/empty-oL0hNsAh.js","assets/avatar-ZeeUR_v9.js","assets/useBreakpoint-Dhidjsjf.js","assets/popover-DCXX8fLF.js","assets/card-BFxeciPE.js","assets/spin-BELbZOk0.js","assets/switch-BWactV-h.js","assets/tag-BMkLMUVK.js","assets/theme-D6zyXNMh.js","assets/useTranslation-DIuTqE8W.js","assets/agent-CqLbN1cd.js","assets/request-Vytbr90w.js","assets/chat-22ohU2cR.js","assets/global-CUFwSKUq.js","assets/middleware-B51zI-ZM.js","assets/divider-qVVmElWH.js","assets/dropdown-dXoRpGL-.js","assets/dropdown-DT_NhqjL.js","assets/LeftOutlined-DolIAuof.js","assets/PurePanel-CKFVxwoF.js","assets/flex-BB50-T81.js","assets/input-De-xbsfR.js","assets/SearchOutlined-B7X5pgf4.js","assets/Input-Bn-0ViX7.js","assets/EyeOutlined-DUuSYbtj.js","assets/CaretDownFilled-bW_4H-tT.js","assets/DeleteOutlined-D3Fhpkuo.js","assets/ArrowUpOutlined-BqDvHB4K.js","assets/ClearOutlined-C3IuM4M9.js","assets/UserOutlined-DjbONoy-.js","assets/chat-Iht936bQ.css","assets/conversation-B9q7UsRi.js","assets/lodash-D-pgfsxw.js","assets/DoubleRightOutlined-BDFzD9z5.js","assets/DownOutlined-DUvTsWMS.js","assets/LockOutlined-rb6chlKx.js","assets/modal-4LQWu5vA.js","assets/ClockCircleOutlined-Cn57q4yS.js","assets/LinkOutlined-B4oKj2q7.js","assets/form-CNvo0lCF.js","assets/useForm-CvzzkaGD.js","assets/row-sXyid8kB.js","assets/PictureOutlined-5m8FAlCn.js","assets/WarningFilled-CsttfMOX.js","assets/CaretUpOutlined-CCtk1ukR.js","assets/FileOutlined-e-Jre-Gv.js","assets/DownloadOutlined-CA51LTon.js","assets/WeiboOutlined-DyyhlXM5.js","assets/SmileOutlined-CZG5Mc5n.js","assets/ArrowDownOutlined-CH5xWTUL.js","assets/FileDoneOutlined-CuI9m5l0.js","assets/CheckCircleOutlined-6-W2Vwzs.js","assets/CloseCircleOutlined-CFrRsJ54.js","assets/EnvironmentOutlined-HLlZltIr.js","assets/InfoCircleOutlined-DBx8dOxc.js","assets/UploadOutlined-Cg0kzjdE.js","assets/LikeOutlined-BXSS7iVR.js","assets/PrinterOutlined-Bhc-_5gY.js","assets/QqOutlined-BUFqYSFz.js","assets/RiseOutlined-C6wo3ytm.js","assets/ShoppingOutlined-FR5CTwva.js","assets/TeamOutlined-CZDGTBQJ.js","assets/table-CG-GtmXj.js","assets/radio-CFTLacYu.js","assets/useBubbleLock-CoAwAGkH.js","assets/checkbox-DV1_nuDN.js","assets/pagination-tpFvWhSa.js","assets/zh_CN-BT8mdvr9.js","assets/XinTable-DP0Q6sQS.js","assets/XinForm-CH1TH01p.js","assets/row-DQ81_S1d.js","assets/ImageUploader-D1JVFGhR.js","assets/upload-ShUC-jzR.js","assets/progress-C2fffzqa.js","assets/tslib.es6-5i5FW2KX.js","assets/AuthButton-ZAAWoGLQ.js","assets/user-DSO6CZPD.js","assets/analysis-HuRsWqrh.js","assets/list-Ck0Qiowu.js","assets/monitor-CuC3nYI5.js","assets/workplace-s-OxdIFu.js","assets/badge-Cim9D6DD.js","assets/icon-selector-C61Svn5A.js","assets/image-uploader-DlGo9TjY.js","assets/user-selector-CgkkoJ8a.js","assets/xin-form-DEYT6JBB.js","assets/xin-table-BVM_yZu0.js","assets/403-Dob-WA64.js","assets/result-XzmMluTH.js","assets/404-DIW8STd8.js","assets/500-khIb72nh.js","assets/login-BUW1ELdl.js","assets/first-BhvoNcb6.js","assets/breadcrumb-CfUsuee6.js","assets/second-BJx2mD6Q.js","assets/third-Ct81Ekzc.js","assets/base-layout-ACunaMOz.js","assets/descriptions-DRDGXBQ6.js","assets/descriptions-WMbCZdmi.js","assets/timeline-Ct4qt3Q8.js","assets/fix-header-D3LqcpUo.js","assets/fail-K3BVW2IV.js","assets/info-6MwRQ0kd.js","assets/success-BAl2uO9x.js","assets/warning-B6c3xQrg.js","assets/activity-B8KogG0M.js","assets/image-CBJbXNqF.js","assets/ai-Ch0jvFq_.js","assets/alert-DNqab9Ea.js","assets/carousel-C8wr3J-3.js","assets/category-CjRzbpx2.js","assets/item-CHqLuyYq.js","assets/config-CUA21dC7.js","assets/popconfirm-DvhP82OV.js","assets/dept-BD4fmGPs.js","assets/useAuth-Bjm0LMjE.js","assets/dict-DG6U7GJG.js","assets/dict-D1oPhWwT.js","assets/item-D5mKxo3b.js","assets/file-DA8zhkM-.js","assets/grid-nav-Ct7LoXI6.js","assets/info-BtVzNRA5.js","assets/mail-BZ_fP89w.js","assets/role-BHuprRit.js","assets/relativeTime-jamE_cdZ.js","assets/rule-CbggZoQ1.js","assets/storage-BWYMnyuK.js","assets/user-CK6rMVjg.js","assets/profile-CrJjtc8D.js","assets/useMobile-HH98Zm18.js"])))=>i.map(i=>d[i]); -import{i as e}from"./rolldown-runtime-BgaNhQyE.js";import{Bn as t,Dr as n,Jn as r,Ln as i,Tr as a,Vn as o,Zn as s,t as c,zn as l}from"./jsx-runtime-ADHq9IcL.js";import{a as u,c as d,i as f,n as p,o as m,r as h,t as g}from"./chunk-KS7C4IRE-CN93VkYO.js";import{i as _,n as v,r as y,t as b}from"./global-CUFwSKUq.js";import{I as x,L as S,N as C,_ as w,c as T,h as E,i as ee,m as te,n as D,t as ne,v as re,y as ie}from"./lodash-D-pgfsxw.js";import{t as ae}from"./tooltip-CRuv8UNz.js";import{t as oe}from"./config-provider-BFg4S-AS.js";import{t as se}from"./space-BqavXZJj.js";import{t as O}from"./button-CcpWP-mq.js";import{t as ce}from"./app-BscZ5bao.js";import{r as le}from"./DoubleRightOutlined-BDFzD9z5.js";import{t as ue}from"./empty-oL0hNsAh.js";import{t as de}from"./SearchOutlined-B7X5pgf4.js";import{t as fe}from"./avatar-ZeeUR_v9.js";import{t as pe}from"./breadcrumb-CfUsuee6.js";import{a as me,i as he,n as ge,o as _e,s as ve}from"./dropdown-DT_NhqjL.js";import{n as ye}from"./LockOutlined-rb6chlKx.js";import{n as k,t as be}from"./row-DQ81_S1d.js";import{t as A}from"./divider-qVVmElWH.js";import{t as xe}from"./modal-4LQWu5vA.js";import{t as Se}from"./dropdown-dXoRpGL-.js";import{t as Ce}from"./input-De-xbsfR.js";import{n as we}from"./CopyOutlined-BfEUU2AX.js";import{r as Te}from"./PictureOutlined-5m8FAlCn.js";import{t as Ee}from"./switch-BWactV-h.js";import{t as j}from"./theme-D6zyXNMh.js";import{t as De}from"./ArrowDownOutlined-CH5xWTUL.js";import{t as Oe}from"./ArrowUpOutlined-BqDvHB4K.js";import{r as ke}from"./InfoCircleOutlined-DBx8dOxc.js";import{t as Ae}from"./UserOutlined-DjbONoy-.js";import{i as je,t as Me}from"./user-DSO6CZPD.js";import{n as Ne,r as Pe,t as M}from"./useTranslation-DIuTqE8W.js";import{i as Fe,r as Ie,t as Le}from"./login-BUW1ELdl.js";import{t as N}from"./useMobile-HH98Zm18.js";import{t as Re}from"./dict-D1oPhWwT.js";import{t as ze}from"./relativeTime-jamE_cdZ.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)}})();function Be(e,t,n){return typeof n==`boolean`?n:e.length?!0:r(t).some(e=>e.type===he)}var P=e(n()),F=({suffixCls:e,tagName:t,displayName:n})=>n=>P.forwardRef((r,i)=>P.createElement(n,{ref:i,suffixCls:e,tagName:t,...r})),Ve=P.forwardRef((e,t)=>{let{prefixCls:n,suffixCls:r,className:a,tagName:s,...c}=e,{getPrefixCls:l}=P.useContext(i),u=l(`layout`,n),[d,f]=_e(u),p=r?`${u}-${r}`:u;return P.createElement(s,{className:o(n||p,a,d,f),ref:t,...c})}),He=P.forwardRef((e,n)=>{let{direction:r}=P.useContext(i),[a,c]=P.useState([]),{prefixCls:u,className:d,rootClassName:f,children:p,hasSider:m,tagName:h,style:g,..._}=e,v=s(_,[`suffixCls`]),{getPrefixCls:y,className:b,style:x}=l(`layout`),S=y(`layout`,u),C=Be(a,p,m),[w,T]=_e(S),E=o(S,{[`${S}-has-sider`]:C,[`${S}-rtl`]:r===`rtl`},b,d,f,w,T),ee=P.useMemo(()=>({siderHook:{addSider:e=>{c(n=>[].concat(t(n),[e]))},removeSider:e=>{c(t=>t.filter(t=>t!==e))}}}),[]);return P.createElement(ve.Provider,{value:ee},P.createElement(h,{ref:n,className:E,style:{...x,...g},...v},p))}),Ue=F({tagName:`div`,displayName:`Layout`})(He),We=F({suffixCls:`header`,tagName:`header`,displayName:`Header`})(Ve),Ge=F({suffixCls:`footer`,tagName:`footer`,displayName:`Footer`})(Ve),Ke=F({suffixCls:`content`,tagName:`main`,displayName:`Content`})(Ve),I=Ue;I.Header=We,I.Footer=Ge,I.Content=Ke,I.Sider=he,I._InternalSiderContext=me;var qe={type:`3rdParty`,init(e){Pe(e.options.react),Ne(e)}},Je=e(a(),1),L=c(),{useToken:Ye}=j,Xe=()=>{let{token:e}=Ye(),{t}=M(),n=m(),r=b(e=>e.themeDrawer),i=b(e=>e.setThemeDrawer),a=Me(e=>e.userinfo),o=Me(e=>e.logout),s=N(),[c,l]=(0,P.useState)(!1),[u,d]=(0,P.useState)(!1),f=()=>{let e=document.documentElement;document.fullscreenElement?document.exitFullscreen().then(()=>{l(!1)}):e.requestFullscreen().then(()=>{l(!0)})},p=[{key:`1`,label:t(`layout.profile`),icon:(0,L.jsx)(Ae,{}),onClick:()=>n(`/user/profile`)},{key:`2`,label:t(`layout.logout`),icon:(0,L.jsx)(ee,{}),onClick:async()=>{o().then(()=>{Te.success(t(`layout.logoutSuccess`)),window.location.href=`/login`}).catch(()=>{Te.error(t(`layout.logoutFailed`))})}}];return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(xe,{closable:!1,open:u,footer:null,style:{top:40,width:600},styles:{body:{maxHeight:`80vh`},container:{padding:0}},onCancel:()=>d(!1),children:[(0,L.jsxs)(`div`,{className:`p-5`,children:[(0,L.jsx)(Ce,{size:`large`,placeholder:t(`layout.searchPlaceholder`),prefix:(0,L.jsx)(de,{})}),(0,L.jsx)(`div`,{className:`mt-5`,children:(0,L.jsx)(ue,{})})]}),(0,L.jsxs)(se,{className:`mt-5 flex align-center pl-5 pr-5 pt-2.5 pb-2.5`,style:{borderTop:`1px solid `+e.colorBorder},children:[(0,L.jsx)(we,{}),` `,(0,L.jsx)(`span`,{className:`mr-4`,children:t(`layout.searchConfirm`)}),(0,L.jsx)(Oe,{}),(0,L.jsx)(De,{}),` `,(0,L.jsx)(`span`,{className:`mr-4`,children:t(`layout.searchSwitch`)}),`Esc `,(0,L.jsx)(`span`,{className:`mr-2`,children:t(`layout.searchClose`)})]})]}),(0,L.jsxs)(se,{children:[!s&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(O,{icon:(0,L.jsx)(w,{}),size:`large`,type:`text`,onClick:()=>window.open(`https://xin-admin.com`)}),(0,L.jsx)(O,{icon:(0,L.jsx)(ke,{}),size:`large`,type:`text`,onClick:()=>window.open(`https://github.com/xin-admin/xin-admin-ui`)}),(0,L.jsx)(O,{icon:(0,L.jsx)(de,{}),size:`large`,type:`text`,onClick:()=>d(!0)}),(0,L.jsx)(O,{onClick:f,icon:c?(0,L.jsx)(ie,{}):(0,L.jsx)(re,{}),size:`large`,type:`text`}),(0,L.jsx)(Ie,{size:`large`,type:`text`}),(0,L.jsx)(O,{onClick:()=>i(!r),icon:(0,L.jsx)(T,{}),size:`large`,type:`text`})]}),a?(0,L.jsx)(Se,{menu:{items:p},children:(0,L.jsxs)(O,{size:`large`,type:`text`,children:[(0,L.jsx)(`div`,{children:a.nickname||a.username}),(0,L.jsx)(fe,{src:a.avatar_url?a.avatar_url:null,size:`small`})]})}):null]})]})};function Ze(e){let t={},n=(e,r=[])=>{if(!e.key)return;let i={href:e.path,title:e.name,icon:e.icon,local:e.local},a=[...r,i];t[e.key]=a,e.children&&e.children.length&&e.children.forEach(e=>n(e,a))};return e.forEach(e=>n(e)),t}function Qe(e,t){for(let n of e){if(n.path===t)return n;if(n.children&&n.children.length>0){let e=Qe(n.children,t);if(e)return e}}return null}function $e(e,t,n=[]){for(let r of e){if(!r.key)continue;let e=[...n,r.key];if(r.path===t)return e;if(r.children&&r.children.length>0){let n=$e(r.children,t,e);if(n)return n}}return null}function R(e,t){for(let n of e){if(n.key===t)return n;if(n.children&&n.children.length>0){let e=R(n.children,t);if(e)return e}}return null}var et=(0,P.createContext)(null),tt=({children:e})=>{let t=u(),[n,r]=(0,P.useState)([]),[i,a]=(0,P.useState)(),[o,s]=(0,P.useState)([]),[c,l]=(0,P.useState)(!1);return(0,P.useEffect)(()=>{je().then(({data:e})=>{let t=e.data.menus;r(t)})},[]),(0,P.useEffect)(()=>{let e=t.pathname,r=$e(n,e);r&&r.length&&(s(r),a(r[0]))},[n]),(0,L.jsx)(et.Provider,{value:{menus:n,parentKey:i,selectKey:o,collapsed:c,setParentKey:a,setCollapsed:l,setSelectKey:s},children:e})},z=()=>{let e=(0,P.useContext)(et);if(!e)throw Error(`useLayoutContext must be used within LayoutProvider`);return e},B=(e,t)=>e.reduce((e,n)=>{if(![`route`,`menu`].includes(n.type)||!n.hidden)return e;let r={label:n.local?t(n.local):n.name,icon:n.icon?(0,L.jsx)(D,{name:n.icon}):void 0,key:n.key};return n.type===`menu`&&n.children?.length&&(r.children=B(n.children,t)),e.push(r),e},[]),V=()=>{let{t:e}=M(),t=N(),n=m(),[r,i]=(0,P.useState)([]),a=b(e=>e.layout),{menus:o,parentKey:s,selectKey:c,setSelectKey:l,setParentKey:u}=z();(0,P.useEffect)(()=>{if(t){i(B(o,e));return}if([`columns`,`mix`].includes(a)&&s){let t=o.find(e=>e.key===s);i(B(t?.children||[],e))}else i(B(o,e))},[o,a,s,e,t]);let d=e=>{l(e),[`top`,`side`].includes(a)&&u(e[e.length-1]);let t=R(o,e[0]);if(!(!t||!t.key)){if(t.type===`route`&&t.link){window.open(t.path,`_blank`);return}if(t.type===`route`&&t.path){n(t.path);return}}};return(0,L.jsx)(L.Fragment,{children:r.length>0&&(0,L.jsx)(ge,{className:`border-b-0 flex-1`,mode:a===`top`&&!t?`horizontal`:`inline`,items:r,onSelect:e=>d(e.keyPath),selectedKeys:c})})},nt=[{title:(0,L.jsx)(w,{})}],rt=()=>{let{t:e}=M(),t=u(),{menus:n}=z(),[r,i]=(0,P.useState)(nt),a=(0,P.useMemo)(()=>Ze(n),[n]);return(0,P.useEffect)(()=>{let r=t.pathname,o=Qe(n,r);if(o&&o.key){let t=a[o.key];if(t){i([{title:(0,L.jsx)(w,{})},...t.map(t=>({title:(0,L.jsxs)(L.Fragment,{children:[t.icon&&(0,L.jsx)(D,{name:t.icon}),(0,L.jsx)(`span`,{children:t.local?e(t.local):t.title})]})}))]);return}}i(nt)},[e,t.pathname,a]),(0,L.jsx)(pe,{items:r})},{Header:it}=I,at=()=>{let{t:e}=M(),t=N(),n=m(),r=b(e=>e.logo),i=b(e=>e.title),a=b(e=>e.layout),o=b(e=>e.themeConfig),{menus:s,parentKey:c,collapsed:l,setCollapsed:u,setParentKey:d,setSelectKey:f}=z(),p={token:{colorTextBase:o.headerColor},components:{Menu:{activeBarBorderWidth:0,itemBg:`transparent`}}},[h,g]=(0,P.useState)([]);(0,P.useEffect)(()=>{g(s.filter(e=>e.hidden).map(t=>({label:t.local?e(t.local):t.name,icon:t.icon?(0,L.jsx)(D,{name:t.icon}):!1,key:t.key})))},[s,e]);let _=e=>{let t=R(s,e);if(!(!t||!t.key)&&(d(t.key),t.type!==`menu`)){if(f([t.key]),t.type===`route`&&t.link){window.open(t.path,`_blank`);return}if(t.type===`route`&&t.path){n(t.path);return}}};return(0,L.jsx)(oe,{theme:p,children:t?(0,L.jsxs)(it,{className:`flex sticky z-1 top-0 backdrop-blur-xs justify-between items-center`,children:[(0,L.jsxs)(`div`,{className:`flex items-center`,children:[(0,L.jsx)(`img`,{className:`w-9 mr-5`,src:r,alt:`logo`}),(0,L.jsx)(`span`,{className:`font-semibold text-[20px] mr-2`,children:i})]}),(0,L.jsx)(Xe,{})]}):(0,L.jsxs)(it,{className:`flex sticky z-1 top-0 backdrop-blur-xs`,style:{borderBottom:`1px solid `+o.colorBorder},children:[(0,L.jsxs)(`div`,{className:`flex items-center relative`,children:[(0,L.jsx)(`img`,{className:`h-8`,src:r,alt:`logo`}),(0,L.jsx)(`span`,{className:`font-semibold text-[20px] ml-5 mr-5`,children:i}),a!==`top`&&(0,L.jsx)(O,{type:`text`,className:`text-[16px] mr-2.5`,onClick:()=>u(!l),children:l?(0,L.jsx)(te,{}):(0,L.jsx)(E,{})}),[`columns`,`side`].includes(a)&&(0,L.jsx)(rt,{})]}),(0,L.jsxs)(`div`,{className:`overflow-hidden flex-1`,children:[a==`top`&&(0,L.jsx)(V,{}),a==`mix`&&(0,L.jsx)(ge,{className:`border-b-0 w-full`,mode:`horizontal`,items:h,onSelect:e=>_(e.key),selectedKeys:[c]})]}),(0,L.jsx)(Xe,{})]})})},{Footer:ot}=I,st=()=>{let e=new Date().getFullYear(),t=b(e=>e.themeConfig);return(0,L.jsxs)(L.Fragment,{children:[t.fixedFooter&&(0,L.jsx)(`div`,{className:`h-10`}),(0,L.jsx)(ot,{className:(t.fixedFooter?`sticky`:`relative`)+` z-10 w-full bottom-0 pt-2.5 pb-2.5`,style:{borderTop:`1px solid `+t.colorBorder},children:(0,L.jsxs)(`div`,{className:`flex items-center justify-center w-full`,children:[`Xin Admin ©`,e,` Created by xiaoliu`]})})]})},ct=()=>{let e=b(e=>e.themeConfig),t=b(e=>e.themeDrawer),n=b(e=>e.setThemeDrawer),[r,i]=(0,P.useState)(!1);return(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`fixed bottom-8 left-8 z-999`,children:(0,L.jsx)(O,{type:`primary`,shape:`circle`,size:`large`,icon:r?(0,L.jsx)(E,{}):(0,L.jsx)(te,{}),onClick:()=>i(!r)})}),(0,L.jsx)(C,{placement:`left`,closable:!0,onClose:()=>i(!1),open:r,styles:{section:{width:280},header:{borderBottom:`1px solid `+e.colorBorder,background:e.siderBg,color:e.siderColor},body:{padding:0,background:e.siderBg}},footer:(0,L.jsxs)(se,{children:[(0,L.jsx)(O,{icon:(0,L.jsx)(w,{}),size:`large`,type:`text`,onClick:()=>window.open(`https://xin-admin.com`)}),(0,L.jsx)(O,{icon:(0,L.jsx)(ke,{}),size:`large`,type:`text`,onClick:()=>window.open(`https://github.com/xin-admin/xin-admin-ui`)}),(0,L.jsx)(Ie,{size:`large`,type:`text`}),(0,L.jsx)(O,{onClick:()=>n(!t),icon:(0,L.jsx)(T,{}),size:`large`,type:`text`})]}),children:(0,L.jsx)(`div`,{style:{height:`100%`,overflowY:`auto`,width:`100%`,background:e.siderBg},children:(0,L.jsx)(V,{})})})]})},lt=ne(),ut={defaultAlgorithm:j.defaultAlgorithm,darkAlgorithm:j.darkAlgorithm,defaultCompactAlgorithm:[j.defaultAlgorithm,j.compactAlgorithm],darkCompactAlgorithm:[j.darkAlgorithm,j.compactAlgorithm]},dt=[{label:`layout.algorithmDefault`,value:`defaultAlgorithm`},{label:`layout.algorithmDark`,value:`darkAlgorithm`},{label:`layout.algorithmDefaultCompact`,value:`defaultCompactAlgorithm`},{label:`layout.algorithmDarkCompact`,value:`darkCompactAlgorithm`}],{useToken:ft}=j,pt=[{key:`colorPrimary`,label:`layout.colorPrimary`},{key:`colorText`,label:`layout.colorText`},{key:`colorBg`,label:`layout.colorBg`},{key:`colorSuccess`,label:`layout.colorSuccess`},{key:`colorWarning`,label:`layout.colorWarning`},{key:`colorError`,label:`layout.colorError`},{key:`bodyBg`,label:`layout.bodyBg`},{key:`footerBg`,label:`layout.footerBg`},{key:`headerBg`,label:`layout.headerBg`},{key:`headerColor`,label:`layout.headerColor`},{key:`siderBg`,label:`layout.siderBg`},{key:`siderColor`,label:`layout.siderColor`},{key:`colorBorder`,label:`layout.colorBorder`}],mt=[{key:`fixedFooter`,label:`layout.fixedFooter`,type:`switch`},{key:`borderRadius`,label:`layout.borderRadius`,type:`number`,min:0,max:30},{key:`controlHeight`,label:`layout.controlHeight`,type:`number`,min:0},{key:`headerPadding`,label:`layout.headerPadding`,type:`number`,min:0},{key:`headerHeight`,label:`layout.headerHeight`,type:`number`,min:0},{key:`siderWeight`,label:`layout.siderWeight`,type:`number`,min:0},{key:`bodyPadding`,label:`layout.bodyPadding`,type:`number`,min:0}],ht=[{background:`/static/theme/default.svg`,name:`light`,title:`layout.themeLight`},{background:`/static/theme/dark.svg`,name:`dark`,title:`layout.themeDark`}],gt=[{key:`side`,title:`layout.layoutSide`,render:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`rounded-sm w-full h-6 mb-1.5`,style:{background:e.colorPrimaryBorder}}),(0,L.jsxs)(`div`,{className:`flex`,children:[(0,L.jsx)(`div`,{className:`rounded-sm h-16 w-6`,style:{background:e.colorPrimary}}),(0,L.jsx)(`div`,{className:`rounded-sm flex-1 ml-1.5`,style:{background:e.colorPrimaryBg}})]})]})},{key:`top`,title:`layout.layoutTop`,render:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`rounded-sm h-6 w-full mb-1.5`,style:{background:e.colorPrimary}}),(0,L.jsx)(`div`,{className:`rounded-sm h-16`,style:{background:e.colorPrimaryBg}})]})},{key:`mix`,title:`layout.layoutMix`,render:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`rounded-sm w-full h-6 mb-1.5`,style:{background:e.colorPrimary}}),(0,L.jsxs)(`div`,{className:`flex`,children:[(0,L.jsx)(`div`,{className:`rounded-sm h-16 w-6`,style:{background:e.colorPrimary}}),(0,L.jsx)(`div`,{className:`rounded-sm flex-1 ml-1.5`,style:{background:e.colorPrimaryBg}})]})]})},{key:`columns`,title:`layout.layoutColumns`,render:e=>(0,L.jsxs)(`div`,{className:`flex`,children:[(0,L.jsx)(`div`,{className:`rounded-sm mr-1.5 w-3 h-24`,style:{background:e.colorPrimary}}),(0,L.jsx)(`div`,{className:`rounded-sm mr-1.5 w-6 h-24`,style:{background:e.colorPrimaryHover}}),(0,L.jsx)(`div`,{className:`rounded-sm flex-auto h-24`,style:{background:e.colorPrimaryBg}})]})}],_t=()=>{let{t:e}=M(),{token:t}=ft(),n=b(e=>e.themeDrawer),r=b(e=>e.setThemeDrawer),i=b(e=>e.setThemeConfig),a=b(e=>e.themeConfig),o=b(e=>e.layout),s=b(e=>e.setLayout),c=dt?.map(t=>({...t,label:e(t.label)}))||[],l=(0,lt.debounce)((e,t)=>{i({...a,[e]:t})},400,{leading:!0,trailing:!1});return(0,L.jsxs)(C,{styles:{body:{paddingTop:10}},placement:`right`,closable:!1,onClose:()=>r(!1),open:n,footer:(0,L.jsx)(`div`,{className:`flex w-full justify-between`,children:(0,L.jsx)(O,{onClick:()=>{i({...v,..._})},children:e(`layout.resetTheme`)})}),children:[(0,L.jsx)(A,{children:e(`layout.layoutStyle`)}),(0,L.jsx)(be,{gutter:[20,20],children:gt.map(({key:n,title:r,render:i})=>(0,L.jsx)(k,{span:12,children:(0,L.jsx)(ae,{title:e(r),children:(0,L.jsx)(`div`,{className:`p-2 rounded-lg cursor-pointer`,style:{boxShadow:t.boxShadow,borderRadius:t.borderRadius,border:o===n?`2px solid ${t.colorPrimary}`:`2px solid transparent`},onClick:()=>s(n),children:i(t)})})},n))}),(0,L.jsx)(A,{children:e(`layout.presetTheme`)}),(0,L.jsxs)(be,{gutter:20,onClick:e=>{let t=e.target.closest(`[data-theme]`);if(!t)return;let n=t.dataset.theme,r={dark:y,light:_};r[n]&&i({...a,...r[n]})},children:[ht.map(n=>(0,L.jsxs)(k,{span:8,className:`mb-2.5`,children:[(0,L.jsx)(`div`,{"data-theme":n.name,className:`cursor-pointer overflow-hidden border-solid`,style:{borderRadius:t.borderRadius,borderWidth:a.themeScheme===n.name?`2px`:`0px`,borderColor:a.themeScheme===n.name?t.colorPrimary:`transparent`},children:(0,L.jsx)(`img`,{src:n.background,alt:n.name})}),(0,L.jsx)(`div`,{className:`text-center mt-1.5`,children:e(n.title)})]},n.name)),(0,L.jsx)(k,{span:24,className:`mb-2.5`,children:(0,L.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,L.jsx)(`div`,{children:e(`layout.themeAlgorithm`)}),(0,L.jsx)(le,{value:a.algorithm,style:{width:160},onChange:e=>l(`algorithm`,e),options:c})]})})]}),(0,L.jsx)(A,{children:e(`layout.themeColor`)}),pt.map(({key:t,label:n})=>(0,L.jsxs)(`div`,{className:`flex justify-between items-center mb-2.5`,children:[(0,L.jsx)(`div`,{children:e(n)}),(0,L.jsx)(x,{showText:!0,value:a[t],onChange:e=>l(t,e.toCssString())})]},t)),(0,L.jsx)(A,{children:e(`layout.styleConfig`)}),mt.map(({key:t,label:n,type:r,...i})=>(0,L.jsxs)(`div`,{className:`flex justify-between items-center mb-2.5`,children:[(0,L.jsx)(`div`,{children:e(n)}),r===`switch`?(0,L.jsx)(Ee,{value:a[t],onChange:e=>l(t,e)}):(0,L.jsx)(S,{value:a[t],onChange:e=>l(t,e),...i})]},t))]})},vt=()=>{let{t:e}=M(),t=u(),n=b(e=>e.title),{menus:r}=z();return(0,P.useEffect)(()=>{let i=n||`Xin Admin`,a=Qe(r,t.pathname);if(!a){document.title=i;return}let o=a.local?e(a.local):a.name;o?document.title=o+` - `+i:document.title=i},[t.pathname,n,e,r]),null},{useToken:yt}=j,bt=()=>{let{t:e}=M(),{token:t}=yt(),n=m(),{menus:r,parentKey:i,collapsed:a,setParentKey:o,setSelectKey:s}=z(),c=b(e=>e.themeConfig),l=e=>{if(e.key&&(o(e.key),e.type!==`menu`)){if(s([e.key]),e.type===`route`&&e.link){window.open(e.path,`_blank`);return}if(e.type===`route`&&e.path){n(e.path);return}}};return(0,L.jsxs)(`div`,{className:`flex h-full`,children:[(0,L.jsx)(`div`,{className:`box-border shrink-0 h-full overflow-auto`,style:{borderRight:a?`none`:`1px solid `+c.colorBorder,width:79},children:r.filter(e=>e.hidden).map(n=>(0,L.jsxs)(`div`,{style:{backgroundColor:i===n.key?t.colorPrimaryBg:`transparent`,color:i===n.key?t.colorPrimary:c.siderColor},className:`flex items-center justify-center flex-col p-2 mb-2 pt-3 pb-3 cursor-pointer`,onClick:()=>l(n),children:[(0,L.jsx)(D,{name:n.icon,style:{fontSize:18}}),(0,L.jsx)(`span`,{className:`mt-1 truncate w-full text-center`,children:n.local?e(n.local):n.name})]},n.key))}),!a&&(0,L.jsx)(`div`,{className:`flex-1 h-full overflow-y-auto`,children:(0,L.jsx)(V,{})})]})},{Content:xt,Sider:St}=I,Ct=()=>{let e=N(),t=b(e=>e.themeConfig),n=b(e=>e.layout),[r,i]=(0,P.useState)(226),{menus:a,collapsed:o,parentKey:s}=z();return(0,P.useEffect)(()=>{let e=t.siderWeight?t.siderWeight:226,r=n===`columns`?79:0,o=a.find(e=>e.key===s);[`mix`,`columns`].includes(n)?o?.children&&o?.children.length?i(r+e):i(r):i(e)},[t,n,a,s]),(0,L.jsxs)(I,{className:`min-h-screen`,style:{background:t.background},children:[(0,L.jsx)(vt,{}),(0,L.jsx)(_t,{}),(0,L.jsx)(at,{}),e&&(0,L.jsx)(ct,{}),(0,L.jsxs)(I,{hasSider:!0,className:`relative`,children:[n!==`top`&&!e&&(0,L.jsx)(St,{collapsed:o,width:r,style:{borderRight:`1px solid `+t.colorBorder,height:`calc(100vh - ${t.headerHeight}px)`,top:t.headerHeight,overflowY:`auto`,overflowX:`hidden`,position:`sticky`},children:n===`columns`?(0,L.jsx)(bt,{}):(0,L.jsx)(V,{})}),(0,L.jsxs)(I,{children:[(0,L.jsx)(xt,{style:{padding:t.bodyPadding},children:(0,L.jsx)(p,{})}),(0,L.jsx)(st,{})]})]})]})},wt=()=>(0,L.jsx)(tt,{children:(0,L.jsx)(Ct,{})}),H=Object.assign({"/web/pages/ai/agent/index.tsx":()=>d(()=>import(`./agent-B-tYZjRz.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),"/web/pages/ai/chat/index.tsx":()=>d(()=>import(`./chat-22ohU2cR.js`),__vite__mapDeps([34,1,2,3,35,36,33,4,5,6,7,8,9,21,10,15,11,12,13,14,16,17,18,19,20,23,24,25,26,37,38,39,40,41,42,43,44,45,46,47,30,48,49,50,51,31,32,52])),"/web/pages/ai/conversation/index.tsx":()=>d(()=>import(`./conversation-B9q7UsRi.js`),__vite__mapDeps([53,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,29,31,90,91,26,92,28,93,94,95,96,42,97,98,36])),"/web/pages/dashboard/analysis.tsx":()=>d(()=>import(`./analysis-HuRsWqrh.js`),__vite__mapDeps([99,1,2,84,19,5,21,10,24,12,11,55,9,15,6,40,41,22,56,44,39,85,62,86,27,87,45,8,38,88,89,66,67,47,23,25,26,92,63,100,29,18,30,71,49,78,83,31,96])),"/web/pages/dashboard/monitor.tsx":()=>d(()=>import(`./monitor-CuC3nYI5.js`),__vite__mapDeps([101,2,1,10,5,23,24,25,26,15,92,63,37,100,19,55,9,6,40,41,21,22,56,44,27,88,89,30,71,49,31])),"/web/pages/dashboard/workplace.tsx":()=>d(()=>import(`./workplace-s-OxdIFu.js`),__vite__mapDeps([102,2,1,4,5,6,7,8,9,10,22,23,24,25,103,26,15,37,59,60,100,19,55,40,41,21,56,44,27,63,88,89,29,18,12,70,75,83,98,36,33,31])),"/web/pages/example/icon-selector.tsx":()=>d(()=>import(`./icon-selector-C61Svn5A.js`),__vite__mapDeps([104,1,2,4,5,6,7,8,9,10,91,33,54,21,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/example/image-uploader.tsx":()=>d(()=>import(`./image-uploader-DlGo9TjY.js`),__vite__mapDeps([105,1,2,4,5,6,7,8,9,10,11,12,26,15,61,14,16,62,24,63,93,58,20,21,17,18,19,41,64,94,46,95,67,48,68,31,96])),"/web/pages/example/user-selector.tsx":()=>d(()=>import(`./user-selector-CgkkoJ8a.js`),__vite__mapDeps([106,1,2,4,5,6,7,8,9,10,91,33,54,21,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/example/xin-form.tsx":()=>d(()=>import(`./xin-form-DEYT6JBB.js`),__vite__mapDeps([107,1,2,4,5,6,7,8,9,10,11,12,91,33,54,21,14,15,16,17,18,19,24,20,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/example/xin-table.tsx":()=>d(()=>import(`./xin-table-BVM_yZu0.js`),__vite__mapDeps([108,2,1,11,12,29,5,18,19,15,72,90,54,21,10,14,9,16,17,6,24,20,40,41,55,22,56,44,25,39,57,37,45,8,58,59,60,61,62,63,43,46,7,64,65,66,67,47,48,68,69,70,71,49,50,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,91,33,26,92,28,31,93,94,95,96,42,97,98,36])),"/web/pages/exception/403.tsx":()=>d(()=>import(`./403-Dob-WA64.js`),__vite__mapDeps([109,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/exception/404.tsx":()=>d(()=>import(`./404-DIW8STd8.js`),__vite__mapDeps([111,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/exception/500.tsx":()=>d(()=>import(`./500-khIb72nh.js`),__vite__mapDeps([112,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/login/index.tsx":()=>d(()=>import(`./login-BUW1ELdl.js`).then(e=>e.n),__vite__mapDeps([113,1,2,3,35,36,33,4,5,6,7,8,9,10,11,12,57,87,86,92,63,24,37,38,39,40,41,21,61,14,16,62,43,44,45,46,89,69,80,51,98,31])),"/web/pages/multi-menu/first.tsx":()=>d(()=>import(`./first-BhvoNcb6.js`),__vite__mapDeps([114,2,1,10,5,11,12,115,56,39,40,41,21,26,15,92,63,24])),"/web/pages/multi-menu/second.tsx":()=>d(()=>import(`./second-BJx2mD6Q.js`),__vite__mapDeps([116,2,1,10,5,11,12,115,56,39,40,41,21,26,15,92,63,24])),"/web/pages/multi-menu/third.tsx":()=>d(()=>import(`./third-Ct81Ekzc.js`),__vite__mapDeps([117,2,1,10,5,11,12,115,56,39,40,41,21,26,15,92,63,24])),"/web/pages/page-layout/base-layout.tsx":()=>d(()=>import(`./base-layout-ACunaMOz.js`),__vite__mapDeps([118,1,2,4,5,6,7,8,9,15,10,11,12,23,24,25,26,92,63,119,38,39,40,41,21,42,95,14,29,18,19,81,82,83,51])),"/web/pages/page-layout/descriptions.tsx":()=>d(()=>import(`./descriptions-WMbCZdmi.js`),__vite__mapDeps([120,2,1,4,5,6,7,8,9,84,19,21,10,24,12,11,55,15,40,41,22,56,44,39,85,62,86,27,87,45,38,88,89,66,67,47,23,25,26,92,63,37,59,119,42,121,29,18,68,73,79,82,51])),"/web/pages/page-layout/fix-header.tsx":()=>d(()=>import(`./fix-header-D3LqcpUo.js`),__vite__mapDeps([122,1,2,4,5,6,7,8,9,10,11,12,23,24,25,103,26,15,92,63,37,59,119,42,61,14,16,62,43,44,45,46,121,29,18,19,72,73,74,79])),"/web/pages/result/fail.tsx":()=>d(()=>import(`./fail-K3BVW2IV.js`),__vite__mapDeps([123,1,2,4,5,6,7,8,9,11,12,26,15,110,14,16,65,74])),"/web/pages/result/info.tsx":()=>d(()=>import(`./info-6MwRQ0kd.js`),__vite__mapDeps([124,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/result/success.tsx":()=>d(()=>import(`./success-BAl2uO9x.js`),__vite__mapDeps([125,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/result/warning.tsx":()=>d(()=>import(`./warning-B6c3xQrg.js`),__vite__mapDeps([126,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/system/activity/index.tsx":()=>d(()=>import(`./activity-B8KogG0M.js`),__vite__mapDeps([127,1,2,4,5,6,7,8,9,103,57,91,33,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,128,90,42,97,98,36])),"/web/pages/system/ai.tsx":()=>d(()=>import(`./ai-Ch0jvFq_.js`),__vite__mapDeps([129,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,130,91,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/system/carousel/index.tsx":()=>d(()=>import(`./carousel-C8wr3J-3.js`),__vite__mapDeps([131,1,2,4,5,6,7,8,9,103,57,91,33,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,128,90,42,97,98,36])),"/web/pages/system/category/index.tsx":()=>d(()=>import(`./category-CjRzbpx2.js`),__vite__mapDeps([132,1,2,3,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,103,31,90,84,85,86,27,87,38,88,89,91,33,26,92,28,29,93,94,95,96,42,97,98,36])),"/web/pages/system/category/item.tsx":()=>d(()=>import(`./item-CHqLuyYq.js`),__vite__mapDeps([133,1,2,3,4,5,6,7,8,9,10,11,12,40,103,57,91,33,54,21,14,15,16,17,18,19,24,20,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,128,90,42,97,98,36])),"/web/pages/system/config.tsx":()=>d(()=>import(`./config-CUA21dC7.js`),__vite__mapDeps([134,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,91,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,135])),"/web/pages/system/dept.tsx":()=>d(()=>import(`./dept-BD4fmGPs.js`),__vite__mapDeps([136,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,130,84,85,86,27,87,38,88,89,91,26,92,28,29,31,93,94,95,96,135,97,98,36,137])),"/web/pages/system/dict/index.tsx":()=>d(()=>import(`./dict-DG6U7GJG.js`),__vite__mapDeps([138,1,2,3,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,103,31,139,36,33,90,84,85,86,27,87,38,88,89,91,26,92,28,29,93,94,95,96,42,97,98])),"/web/pages/system/dict/item.tsx":()=>d(()=>import(`./item-D5mKxo3b.js`),__vite__mapDeps([140,1,2,3,4,5,6,7,8,9,10,11,12,40,103,57,91,33,54,21,14,15,16,17,18,19,24,20,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,90,42,97,98,36])),"/web/pages/system/file.tsx":()=>d(()=>import(`./file-DA8zhkM-.js`),__vite__mapDeps([141,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,91,26,92,28,29,31,93,94,95,96,119,128])),"/web/pages/system/grid-nav/index.tsx":()=>d(()=>import(`./grid-nav-Ct7LoXI6.js`),__vite__mapDeps([142,1,2,4,5,6,7,8,9,103,57,91,33,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,128,90,42,97,98,36])),"/web/pages/system/info.tsx":()=>d(()=>import(`./info-BtVzNRA5.js`),__vite__mapDeps([143,2,1,4,5,6,7,8,9,23,24,25,26,15,37,60,121,12,29,18,19,76,80,51,31])),"/web/pages/system/mail.tsx":()=>d(()=>import(`./mail-BZ_fP89w.js`),__vite__mapDeps([144,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,91,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/system/role.tsx":()=>d(()=>import(`./role-BHuprRit.js`),__vite__mapDeps([145,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,146,90,91,93,94,95,96,42,97,98,36])),"/web/pages/system/rule.tsx":()=>d(()=>import(`./rule-CbggZoQ1.js`),__vite__mapDeps([147,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,103,28,29,31,139,36,146,90,84,85,86,27,87,38,88,89,91,26,92,93,94,95,96,42,97,98,137])),"/web/pages/system/storage.tsx":()=>d(()=>import(`./storage-BWYMnyuK.js`),__vite__mapDeps([148,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,91,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/system/user.tsx":()=>d(()=>import(`./user-CK6rMVjg.js`),__vite__mapDeps([149,1,2,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,23,29,98,36,33,31,146,90,84,85,86,27,87,38,88,89,91,26,92,28,93,94,95,96,42,97,137])),"/web/pages/user/profile.tsx":()=>d(()=>import(`./profile-CrJjtc8D.js`),__vite__mapDeps([150,1,2,4,5,6,7,8,9,10,11,12,23,24,25,57,85,62,86,26,15,61,14,16,63,43,44,45,46,100,19,55,40,41,21,22,56,27,88,89,64,17,29,18,94,95,67,48,68,73,74,75,77,51,98,36,33,31,151]))}),Tt=[`/login`];function Et(e){return(0,L.jsx)(P.Suspense,{fallback:null,children:(0,L.jsx)((0,P.lazy)(e),{})})}function Dt(){let e=[];for(let t in H){let n=t.replace(`/web/pages`,``).replace(/\.tsx$/,``).replace(/\/index$/,``);n||=`/`,!Tt.includes(n)&&e.push({id:n,path:n,element:Et(H[t])})}return e}function Ot(){return f([{Component:wt,children:[...Dt(),{path:`*`,element:Et(H[`/web/pages/result/404.tsx`])}]},{path:`/`,element:(0,L.jsx)(g,{to:`/dashboard/analysis`})},{path:`login`,element:(0,L.jsx)(Le,{})}])}function kt(){let{message:e,modal:t,notification:n}=ce.useApp();return window.$message=e,window.$modal=t,window.$notification=n,null}var At=({children:e})=>{let t=b(e=>e.themeConfig),{antdLocale:n}=Fe();return(0,L.jsx)(oe,{theme:(0,P.useMemo)(()=>({components:{Layout:{headerPadding:`0 `+t.headerPadding+`px`,headerHeight:t.headerHeight,bodyBg:t.bodyBg,footerBg:t.footerBg,headerBg:t.headerBg,headerColor:t.headerColor,siderBg:t.siderBg,footerPadding:0},Menu:{activeBarBorderWidth:0,itemBg:`transparent`,subMenuItemBg:`transparent`}},token:{colorPrimary:t.colorPrimary,colorBgBase:t.colorBg,colorTextBase:t.colorText,colorError:t.colorError,colorInfo:t.colorPrimary,colorLink:t.colorPrimary,colorSuccess:t.colorSuccess,colorWarning:t.colorWarning,borderRadius:t.borderRadius,controlHeight:t.controlHeight},algorithm:t.algorithm?ut[t.algorithm]:void 0}),[t]),locale:n,children:(0,L.jsxs)(ce,{children:[(0,L.jsx)(kt,{}),e]})})},jt=()=>{let{changeLanguage:e}=Fe(),t=Me(e=>e.info),n=b(e=>e.initWebInfo),r=Re(e=>e.initDict),[i,a]=(0,P.useState)(),o=async()=>{n(),await r(),await e(localStorage.getItem(`i18nextLng`)||`zh`),localStorage.getItem(`token`)?await t():window.location.pathname!==`/login`&&(window.location.href=`/login`)};return(0,P.useEffect)(()=>{o(),a(Ot())},[]),(0,L.jsx)(At,{children:i&&(0,L.jsx)(h,{router:i})})},U=e=>typeof e==`string`,W=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},Mt=e=>e==null?``:``+e,Nt=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},Pt=/###/g,Ft=e=>e&&e.indexOf(`###`)>-1?e.replace(Pt,`.`):e,It=e=>!e||U(e),G=(e,t,n)=>{let r=U(t)?t.split(`.`):t,i=0;for(;i{let{obj:r,k:i}=G(e,t,Object);if(r!==void 0||t.length===1){r[i]=n;return}let a=t[t.length-1],o=t.slice(0,t.length-1),s=G(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=G(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},Rt=(e,t,n,r)=>{let{obj:i,k:a}=G(e,t,Object);i[a]=i[a]||[],i[a].push(n)},K=(e,t)=>{let{obj:n,k:r}=G(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},zt=(e,t,n)=>{let r=K(e,n);return r===void 0?K(t,n):r},Bt=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(r in e?U(e[r])||e[r]instanceof String||U(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):Bt(e[r],t[r],n):e[r]=t[r]);return e},q=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),Vt={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`,"/":`/`},Ht=e=>U(e)?e.replace(/[&<>"'\/]/g,e=>Vt[e]):e,Ut=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)return t;let n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}},Wt=[` `,`,`,`?`,`!`,`;`],Gt=new Ut(20),Kt=(e,t,n)=>{t||=``,n||=``;let r=Wt.filter(e=>t.indexOf(e)<0&&n.indexOf(e)<0);if(r.length===0)return!0;let i=Gt.getRegExp(`(${r.map(e=>e===`?`?`\\?`:e).join(`|`)})`),a=!i.test(e);if(!a){let t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a},qt=(e,t,n=`.`)=>{if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;let r=t.split(n),i=e;for(let e=0;e-1&&oe?.replace(/_/g,`-`),Jt={type:`logger`,log(e){this.output(`log`,e)},warn(e){this.output(`warn`,e)},error(e){this.output(`error`,e)},output(e,t){console?.[e]?.apply?.(console,t)}},Y=new class e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||`i18next:`,this.logger=e||Jt,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,`log`,``,!0)}warn(...e){return this.forward(e,`warn`,``,!0)}error(...e){return this.forward(e,`error`,``)}deprecate(...e){return this.forward(e,`warn`,`WARNING DEPRECATED: `,!0)}forward(e,t,n,r){return r&&!this.debug?null:(U(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(t){return new e(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t||=this.options,t.prefix=t.prefix||this.prefix,new e(this.logger,t)}},X=class{constructor(){this.observers={}}on(e,t){return e.split(` `).forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,n])=>{for(let r=0;r{for(let i=0;i-1&&this.options.ns.splice(t,1)}getResource(e,t,n,r={}){let i=r.keySeparator===void 0?this.options.keySeparator:r.keySeparator,a=r.ignoreJSONStructure===void 0?this.options.ignoreJSONStructure:r.ignoreJSONStructure,o;e.indexOf(`.`)>-1?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):U(n)&&i?o.push(...n.split(i)):o.push(n)));let s=K(this.data,o);return!s&&!t&&!n&&e.indexOf(`.`)>-1&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!U(n)?s:qt(this.data?.[e]?.[t],n,i)}addResource(e,t,n,r,i={silent:!1}){let a=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.indexOf(`.`)>-1&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),Lt(this.data,o,r),i.silent||this.emit(`added`,e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(let r in n)(U(n[r])||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit(`added`,e,t,n)}addResourceBundle(e,t,n,r,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(`.`)>-1&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=K(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?Bt(s,n,i):s={...s,...n},Lt(this.data,o,s),a.silent||this.emit(`added`,e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(`removed`,e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||=this.options.defaultNS,this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}},Xt={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(e=>{t=this.processors[e]?.process(t,n,r,i)??t}),t}},Zt=Symbol(`i18next/PATH_KEY`);function Qt(){let e=[],t=Object.create(null),n;return t.get=(r,i)=>(n?.revoke?.(),i===Zt?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}function Z(e,t){let{[Zt]:n}=e(Qt()),r=t?.keySeparator??`.`,i=t?.nsSeparator??`:`;if(n.length>1&&i){let e=t?.ns,a=Array.isArray(e)?e:null;if(a&&a.length>1&&a.slice(1).includes(n[0]))return`${n[0]}${i}${n.slice(1).join(r)}`}return n.join(r)}var $t={},en=e=>!U(e)&&typeof e!=`boolean`&&typeof e!=`number`,tn=class e extends X{constructor(e,t={}){super(),Nt([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=Y.create(`translator`)}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let n={...t};if(e==null)return!1;let r=this.resolve(e,n);if(r?.res===void 0)return!1;let i=en(r.res);return!(n.returnObjects===!1&&i)}extractFromKey(e,t){let n=t.nsSeparator===void 0?this.options.nsSeparator:t.nsSeparator;n===void 0&&(n=`:`);let r=t.keySeparator===void 0?this.options.keySeparator:t.keySeparator,i=t.ns||this.options.defaultNS||[],a=n&&e.indexOf(n)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!Kt(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:U(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(a[0])>-1)&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:U(i)?[i]:i}}translate(t,n,r){let i=typeof n==`object`?{...n}:n;if(typeof i!=`object`&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i==`object`&&(i={...i}),i||={},t==null)return``;typeof t==`function`&&(t=Z(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(e=>typeof e==`function`?Z(e,{...this.options,...i}):String(e));let a=i.returnDetails===void 0?this.options.returnDetails:i.returnDetails,o=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,{key:s,namespaces:c}=this.extractFromKey(t[t.length-1],i),l=c[c.length-1],u=i.nsSeparator===void 0?this.options.nsSeparator:i.nsSeparator;u===void 0&&(u=`:`);let d=i.lng||this.language,f=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()===`cimode`)return f?a?{res:`${l}${u}${s}`,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:`${l}${u}${s}`:a?{res:s,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:s;let p=this.resolve(t,i),m=p?.res,h=p?.usedKey||s,g=p?.exactUsedKey||s,_=[`[object Number]`,`[object Function]`,`[object RegExp]`],v=i.joinArrays===void 0?this.options.joinArrays:i.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b=i.count!==void 0&&!U(i.count),x=e.hasDefaultValue(i),S=b?this.pluralResolver.getSuffix(d,i.count,i):``,C=i.ordinal&&b?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):``,w=b&&!i.ordinal&&i.count===0,T=w&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${S}`]||i[`defaultValue${C}`]||i.defaultValue,E=m;y&&!m&&x&&(E=T);let ee=en(E),te=Object.prototype.toString.apply(E);if(y&&E&&ee&&_.indexOf(te)<0&&!(U(v)&&Array.isArray(E))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn(`accessing an object - but returnObjects options is not enabled!`);let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,E,{...i,ns:c}):`key '${s} (${this.language})' returned an object instead of string.`;return a?(p.res=e,p.usedParams=this.getUsedParamsDetails(i),p):e}if(o){let e=Array.isArray(E),t=e?[]:{},n=e?g:h;for(let e in E)if(Object.prototype.hasOwnProperty.call(E,e)){let r=`${n}${o}${e}`;x&&!m?t[e]=this.translate(r,{...i,defaultValue:en(T)?T[e]:void 0,joinArrays:!1,ns:c}):t[e]=this.translate(r,{...i,joinArrays:!1,ns:c}),t[e]===r&&(t[e]=E[e])}m=t}}else if(y&&U(v)&&Array.isArray(m))m=m.join(v),m&&=this.extendTranslation(m,t,i,r);else{let e=!1,n=!1;!this.isValidLookup(m)&&x&&(e=!0,m=T),this.isValidLookup(m)||(n=!0,m=s);let a=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:m,c=x&&T!==m&&this.options.updateMissing;if(n||e||c){if(this.logger.log(c?`updateKey`:`missingKey`,d,l,s,c?T:m),o){let e=this.resolve(s,{...i,keySeparator:!1});e&&e.res&&this.logger.warn(`Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.`)}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo===`fallback`&&t&&t[0])for(let n=0;n{let r=x&&n!==m?n:a;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,r,c,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,r,c,i),this.emit(`missingKey`,e,l,t,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,i);w&&i[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],s+t,i[`defaultValue${t}`]||T)})}):n(e,s,T))}m=this.extendTranslation(m,t,i,p,r),n&&m===s&&this.options.appendNamespaceToMissingKey&&(m=`${l}${u}${s}`),(n||e)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${s}`:s,e?m:void 0,i))}return a?(p.res=m,p.usedParams=this.getUsedParamsDetails(i),p):m}extendTranslation(e,t,n,r,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});let a=U(e)&&(n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables),o;if(a){let t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=n.replace&&!U(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,n.lng||this.language||r.usedLng,n),a){let t=e.match(this.interpolator.nestingRegexp),r=t&&t.length;oi?.[0]===e[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null):this.translate(...e,t),n)),n.interpolation&&this.interpolator.reset()}let a=n.postProcess||this.options.postProcess,o=U(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=Xt.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,i,a,o;return U(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(e=>typeof e==`function`?Z(e,{...this.options,...t}):e)),e.forEach(e=>{if(this.isValidLookup(n))return;let s=this.extractFromKey(e,t),c=s.key;r=c;let l=s.namespaces;this.options.fallbackNS&&(l=l.concat(this.options.fallbackNS));let u=t.count!==void 0&&!U(t.count),d=u&&!t.ordinal&&t.count===0,f=t.context!==void 0&&(U(t.context)||typeof t.context==`number`)&&t.context!==``,p=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);l.forEach(e=>{this.isValidLookup(n)||(o=e,!$t[`${p[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&($t[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${p.join(`, `)}" won't get resolved as namespace "${o}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`)),p.forEach(r=>{if(this.isValidLookup(n))return;a=r;let o=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,c,r,e,t);else{let e;u&&(e=this.pluralResolver.getSuffix(r,t.count,t));let n=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(t.ordinal&&e.indexOf(i)===0&&o.push(c+e.replace(i,this.options.pluralSeparator)),o.push(c+e),d&&o.push(c+n)),f){let r=`${c}${this.options.contextSeparator||`_`}${t.context}`;o.push(r),u&&(t.ordinal&&e.indexOf(i)===0&&o.push(r+e.replace(i,this.options.pluralSeparator)),o.push(r+e),d&&o.push(r+n))}}let s;for(;s=o.pop();)this.isValidLookup(n)||(i=s,n=this.getResource(r,e,s,t))}))})}),{res:n,usedKey:r,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e===``)}getResource(e,t,n,r={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){let t=[`defaultValue`,`ordinal`,`context`,`replace`,`lng`,`lngs`,`fallbackLng`,`ns`,`keySeparator`,`nsSeparator`,`returnObjects`,`returnDetails`,`joinArrays`,`postProcess`,`interpolation`],n=e.replace&&!U(e.replace),r=n?e.replace:e;if(n&&e.count!==void 0&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(let e of t)delete r[e]}return r}static hasDefaultValue(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t.substring(0,12)===`defaultValue`&&e[t]!==void 0)return!0;return!1}},nn=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Y.create(`languageUtils`)}getScriptPartFromCode(e){if(e=J(e),!e||e.indexOf(`-`)<0)return null;let t=e.split(`-`);return t.length===2||(t.pop(),t[t.length-1].toLowerCase()===`x`)?null:this.formatLanguageCode(t.join(`-`))}getLanguagePartFromCode(e){if(e=J(e),!e||e.indexOf(`-`)<0)return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(U(e)&&e.indexOf(`-`)>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load===`languageOnly`||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;let n=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let n=this.getScriptPartFromCode(e);if(this.isSupportedCode(n))return t=n;let r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(e=>{if(e===r||!(e.indexOf(`-`)<0&&r.indexOf(`-`)<0)&&(e.indexOf(`-`)>0&&r.indexOf(`-`)<0&&e.substring(0,e.indexOf(`-`))===r||e.indexOf(r)===0&&r.length>1))return e})}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),U(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||=e[this.getScriptPartFromCode(t)],n||=e[this.formatLanguageCode(t)],n||=e[this.getLanguagePartFromCode(t)],n||=e.default,n||[]}toResolveHierarchy(e,t){let n=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return U(e)&&(e.indexOf(`-`)>-1||e.indexOf(`_`)>-1)?(this.options.load!==`languageOnly`&&i(this.formatLanguageCode(e)),this.options.load!==`languageOnly`&&this.options.load!==`currentOnly`&&i(this.getScriptPartFromCode(e)),this.options.load!==`currentOnly`&&i(this.getLanguagePartFromCode(e))):U(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))}),r}},rn={zero:0,one:1,two:2,few:3,many:4,other:5},an={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},on=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=Y.create(`pluralResolver`),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let n=J(e===`dev`?`en`:e),r=t.ordinal?`ordinal`:`cardinal`,i=JSON.stringify({cleanedCode:n,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(typeof Intl>`u`)return this.logger.error(`No Intl support, please use an Intl polyfill!`),an;if(!e.match(/-|_/))return an;let n=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(n,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?n.resolvedOptions().pluralCategories.sort((e,t)=>rn[e]-rn[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:``}${e}`):[]}getSuffix(e,t,n={}){let r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:``}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix(`dev`,t,n))}},sn=(e,t,n,r=`.`,i=!0)=>{let a=zt(e,t,n);return!a&&i&&U(n)&&(a=qt(e,n,r),a===void 0&&(a=qt(t,n,r))),a},cn=e=>e.replace(/\$/g,`$$$$`),ln=class{constructor(e={}){this.logger=Y.create(`interpolator`),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||={escapeValue:!0};let{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:s,formatSeparator:c,unescapeSuffix:l,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:f,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:h,maxReplaces:g,alwaysFormat:_}=e.interpolation;this.escape=t===void 0?Ht:t,this.escapeValue=n===void 0||n,this.useRawValueToEscape=r!==void 0&&r,this.prefix=i?q(i):a||`{{`,this.suffix=o?q(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u||`-`,this.unescapeSuffix=this.unescapePrefix?``:l||``,this.nestingPrefix=d?q(d):f||q(`$t(`),this.nestingSuffix=p?q(p):m||q(`)`),this.nestingOptionsSeparator=h||`,`,this.maxReplaces=g||1e3,this.alwaysFormat=_!==void 0&&_,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,`g`);this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,a,o,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(e.indexOf(this.formatSeparator)<0){let i=sn(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(sn(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp();let l=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=r?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:r.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>cn(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?cn(this.escape(e)):cn(e)}].forEach(t=>{for(o=0;i=t.regex.exec(e);){let n=i[1].trim();if(a=c(n),a===void 0)if(typeof l==`function`){let t=l(e,i,r);a=U(t)?t:``}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a=``;else if(u){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=``;else!U(a)&&!this.useRawValueToEscape&&(a=Mt(a));let s=t.safeValue(a);if(e=e.replace(i[0],s),u?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,i,a,o=(e,t)=>{let n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;let r=e.split(RegExp(`${q(n)}[ ]*{`)),i=`{${r[1]}`;e=r[0],i=this.interpolate(i,a);let o=i.match(/'/g),s=i.match(/"/g);((o?.length??0)%2==0&&!s||(s?.length??0)%2!=0)&&(i=i.replace(/'/g,`"`));try{a=JSON.parse(i),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!U(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=/{.*}/.test(r[1])?r[1].lastIndexOf(`}`)+1:r[1].indexOf(this.formatSeparator);if(c!==-1&&(s=r[1].slice(c).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),r[1]=r[1].slice(0,c)),i=t(o.call(this,r[1].trim(),a),a),i&&r[0]===e&&!U(i))return i;U(i)||(i=Mt(i)),i||=(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),``),s.length&&(i=s.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}},un=e=>{let t=e.toLowerCase().trim(),n={};if(e.indexOf(`(`)>-1){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].substring(0,r[1].length-1);t===`currency`&&i.indexOf(`:`)<0?n.currency||=i.trim():t===`relativetime`&&i.indexOf(`:`)<0?n.range||=i.trim():i.split(`;`).forEach(e=>{if(e){let[t,...r]=e.split(`:`),i=r.join(`:`).trim().replace(/^'+|'+$/g,``),a=t.trim();n[a]||(n[a]=i),i===`false`&&(n[a]=!1),i===`true`&&(n[a]=!0),isNaN(i)||(n[a]=parseInt(i,10))}})}return{formatName:t,formatOptions:n}},dn=e=>{let t={};return(n,r,i)=>{let a=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(a={...a,[i.interpolationkey]:void 0});let o=r+JSON.stringify(a),s=t[o];return s||(s=e(J(r),i),t[o]=s),s(n)}},fn=e=>(t,n,r)=>e(J(n),r)(t),pn=class{constructor(e={}){this.logger=Y.create(`formatter`),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||`,`;let n=t.cacheInBuiltFormats?dn:fn;this.formats={number:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)}),currency:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t,style:`currency`});return e=>n.format(e)}),datetime:n((e,t)=>{let n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)}),relativetime:n((e,t)=>{let n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||`day`)}),list:n((e,t)=>{let n=new Intl.ListFormat(e,{...t});return e=>n.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=dn(t)}format(e,t,n,r={}){let i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf(`(`)>1&&i[0].indexOf(`)`)<0&&i.find(e=>e.indexOf(`)`)>-1)){let e=i.findIndex(e=>e.indexOf(`)`)>-1);i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:a}=un(t);if(this.formats[i]){let t=e;try{let o=r?.formatParams?.[r.interpolationkey]||{},s=o.locale||o.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}else this.logger.warn(`there was no format function for ${i}`);return e},e)}},mn=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},hn=class extends X{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=Y.create(`backendConnector`),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(n,r.backend,r)}queueLoad(e,t,n,r){let i={},a={},o={},s={};return e.forEach(e=>{let r=!0;t.forEach(t=>{let o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(this.state[o]===1?a[o]===void 0&&(a[o]=!0):(this.state[o]=1,r=!1,a[o]===void 0&&(a[o]=!0),i[o]===void 0&&(i[o]=!0),s[t]===void 0&&(s[t]=!0)))}),r||(o[e]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){let r=e.split(`|`),i=r[0],a=r[1];t&&this.emit(`failedLoading`,i,a,t),!t&&n&&this.store.addResourceBundle(i,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);let o={};this.queue.forEach(n=>{Rt(n.loaded,[i],a),mn(n,e),t&&n.errors.push(t),n.pendingCount===0&&!n.done&&(Object.keys(n.loaded).forEach(e=>{o[e]||(o[e]={});let t=n.loaded[e];t.length&&t.forEach(t=>{o[e][t]===void 0&&(o[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit(`loaded`,o),this.queue=this.queue.filter(e=>!e.done)}read(e,t,n,r=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});return}this.readingCalls++;let o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}if(o&&s&&r{this.read.call(this,e,t,n,r+1,i*2,a)},i);return}a(o,s)},s=this.backend[n].bind(this.backend);if(s.length===2){try{let n=s(e,t);n&&typeof n.then==`function`?n.then(e=>o(null,e)).catch(o):o(null,n)}catch(e){o(e)}return}return s(e,t,o)}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn(`No backend was added via i18next.use. Will not load resources.`),r&&r();U(e)&&(e=this.languageUtils.toResolveHierarchy(e)),U(t)&&(t=[t]);let i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=``){let n=e.split(`|`),r=n[0],i=n[1];this.read(r,i,`read`,void 0,void 0,(n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)})}saveMissing(e,t,n,r,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`);return}if(!(n==null||n===``)){if(this.backend?.create){let s={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let i;i=c.length===5?c(e,t,n,r,s):c(e,t,n,r),i&&typeof i.then==`function`?i.then(e=>o(null,e)).catch(o):o(null,i)}catch(e){o(e)}else c(e,t,n,r,o,s)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}},gn=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,simplifyPluralSuffix:!0,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),U(e[1])&&(t.defaultValue=e[1]),U(e[2])&&(t.tDescription=e[2]),typeof e[2]==`object`||typeof e[3]==`object`){let n=e[3]||e[2];Object.keys(n).forEach(e=>{t[e]=n[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),_n=e=>(U(e.ns)&&(e.ns=[e.ns]),U(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),U(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.(`cimode`)<0&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),typeof e.initImmediate==`boolean`&&(e.initAsync=e.initImmediate),e),Q=()=>{},vn=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},yn=`__i18next_supportNoticeShown`,bn=()=>!!(typeof globalThis<`u`&&globalThis[yn]||typeof process<`u`&&{}.I18NEXT_NO_SUPPORT_NOTICE||typeof process<`u`),xn=()=>{typeof globalThis<`u`&&(globalThis[yn]=!0)},Sn=e=>!!(e?.modules?.backend?.name?.indexOf(`Locize`)>0||e?.modules?.backend?.constructor?.name?.indexOf(`Locize`)>0||e?.options?.backend?.backends&&e.options.backend.backends.some(e=>e?.name?.indexOf(`Locize`)>0||e?.constructor?.name?.indexOf(`Locize`)>0)||e?.options?.backend?.projectId||e?.options?.backend?.backendOptions&&e.options.backend.backendOptions.some(e=>e?.projectId)),$=class e extends X{constructor(e={},t){if(super(),this.options=_n(e),this.services={},this.logger=Y,this.modules={external:[]},vn(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e==`function`&&(t=e,e={}),e.defaultNS==null&&e.ns&&(U(e.ns)?e.defaultNS=e.ns:e.ns.indexOf(`translation`)<0&&(e.defaultNS=e.ns[0]));let n=gn();this.options={...n,...this.options,..._n(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!=`function`&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler),this.options.showSupportNotice!==!1&&!Sn(this)&&!bn()&&(typeof console<`u`&&console.info!==void 0&&console.info(`🌐 i18next is made possible by our own product, Locize — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com 💙`),xn());let r=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?Y.init(r(this.modules.logger),this.options):Y.init(null,this.options);let e;e=this.modules.formatter?this.modules.formatter:pn;let t=new nn(this.options);this.store=new Yt(this.options.resources,this.options);let i=this.services;i.logger=Y,i.resourceStore=this.store,i.languageUtils=t,i.pluralResolver=new on(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format&&this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`),e&&(!this.options.interpolation.format||this.options.interpolation.format===n.interpolation.format)&&(i.formatter=r(e),i.formatter.init&&i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new ln(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new hn(r(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(i.languageDetector=r(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=r(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new tn(this.services,this.options),this.translator.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||=Q,this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&e[0]!==`dev`&&(this.options.lng=e[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn(`init: no languageDetector is used and no lng is defined`),[`getResource`,`hasResourceBundle`,`getResourceBundle`,`getDataByLanguage`].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),[`addResource`,`addResources`,`addResourceBundle`,`removeResourceBundle`].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let i=W(),a=()=>{let e=(e,n)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn(`init: i18next is already initialized. You should call init just once!`),this.isInitialized=!0,this.options.isClone||this.logger.log(`initialized`,this.options),this.emit(`initialized`,this.options),i.resolve(n),t(e,n)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?a():setTimeout(a,0),i}loadResources(e,t=Q){let n=t,r=U(e)?e:this.language;if(typeof e==`function`&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r?.toLowerCase()===`cimode`&&(!this.options.preload||this.options.preload.length===0))return n();let e=[],t=t=>{t&&t!==`cimode`&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{t!==`cimode`&&e.indexOf(t)<0&&e.push(t)})};r?t(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{!e&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(e)})}else n(null)}reloadResources(e,t,n){let r=W();return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e||=this.languages,t||=this.options.ns,n||=Q,this.services.backendConnector.reload(e,t,e=>{r.resolve(),n(e)}),r}use(e){if(!e)throw Error(`You are passing an undefined module! Please check the object you are passing to i18next.use()`);if(!e.type)throw Error(`You are passing a wrong module! Please check the object you are passing to i18next.use()`);return e.type===`backend`&&(this.modules.backend=e),(e.type===`logger`||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type===`languageDetector`&&(this.modules.languageDetector=e),e.type===`i18nFormat`&&(this.modules.i18nFormat=e),e.type===`postProcessor`&&Xt.addPostProcessor(e),e.type===`formatter`&&(this.modules.formatter=e),e.type===`3rdParty`&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!([`cimode`,`dev`].indexOf(e)>-1)){for(let e=0;e-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let n=W();this.emit(`languageChanging`,e);let r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,a)=>{a?this.isLanguageChangingTo===e&&(r(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit(`languageChanged`,a),this.logger.log(`languageChanged`,a)):this.isLanguageChangingTo=void 0,n.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},a=t=>{!e&&!t&&this.services.languageDetector&&(t=[]);let n=U(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(U(t)?[t]:t);a&&(this.language||r(a),this.translator.language||this.translator.changeLanguage(a),this.services.languageDetector?.cacheUserLanguage?.(a)),this.loadResources(a,e=>{i(e,a)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),n}getFixedT(e,t,n){let r=(e,t,...i)=>{let a;a=typeof t==`object`?{...t}:this.options.overloadTranslationOptionHandler([e,t].concat(i)),a.lng=a.lng||r.lng,a.lngs=a.lngs||r.lngs,a.ns=a.ns||r.ns,a.keyPrefix!==``&&(a.keyPrefix=a.keyPrefix||n||r.keyPrefix);let o={...this.options,...a};typeof a.keyPrefix==`function`&&(a.keyPrefix=Z(a.keyPrefix,o));let s=this.options.keySeparator||`.`,c;return a.keyPrefix&&Array.isArray(e)?c=e.map(e=>(typeof e==`function`&&(e=Z(e,o)),`${a.keyPrefix}${s}${e}`)):(typeof e==`function`&&(e=Z(e,o)),c=a.keyPrefix?`${a.keyPrefix}${s}${e}`:e),this.t(c,a)};return U(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn(`hasLoadedNamespace: i18next was not initialized`,this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn(`hasLoadedNamespace: i18n.languages were undefined or empty`,this.languages),!1;let n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(n.toLowerCase()===`cimode`)return!0;let a=(e,t)=>{let n=this.services.backendConnector.state[`${e}|${t}`];return n===-1||n===0||n===2};if(t.precheck){let e=t.precheck(this,a);if(e!==void 0)return e}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(i,e)))}loadNamespaces(e,t){let n=W();return this.options.ns?(U(e)&&(e=[e]),e.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=W();U(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=r.concat(i),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language),!e)return`rtl`;try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch{}let t=`ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb`.split(`.`),n=this.services?.languageUtils||new nn(gn());return e.toLowerCase().indexOf(`-latn`)>1?`ltr`:t.indexOf(n.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf(`-arab`)>1?`rtl`:`ltr`}static createInstance(t={},n){let r=new e(t,n);return r.createInstance=e.createInstance,r}cloneInstance(t={},n=Q){let r=t.forkResourceStore;r&&delete t.forkResourceStore;let i={...this.options,...t,isClone:!0},a=new e(i);if((t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),[`store`,`services`,`language`].forEach(e=>{a[e]=this[e]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new Yt(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((n,r)=>(n[r]={...e[t][r]},n),e[t]),e),{}),i),a.services.resourceStore=a.store),t.interpolation){let e={...gn().interpolation,...this.options.interpolation,...t.interpolation},n={...i,interpolation:e};a.services.interpolator=new ln(n)}return a.translator=new tn(a.services,i),a.translator.on(`*`,(e,...t)=>{a.emit(e,...t)}),a.init(i,n),a.translator.options=i,a.translator.backendConnector.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}.createInstance();$.createInstance,$.dir,$.init,$.loadResources,$.reloadResources,$.use,$.changeLanguage,$.getFixedT,$.t,$.exists,$.setDefaultNamespace,$.hasLoadedNamespace,$.loadNamespaces,$.loadLanguages;var Cn={"menu.dashboard":`Dashboard`,"menu.analysis":`Analysis`,"menu.monitor":`Monitor`,"menu.workplace":`Workplace`,"menu.result":`Results`,"menu.result.success":`Success`,"menu.result.fail":`Failure`,"menu.result.warning":`Warning`,"menu.result.info":`Information`,"menu.exception":`Exceptions`,"menu.exception.403":`403`,"menu.exception.404":`404`,"menu.exception.500":`500`,"menu.multi-menu":`Multi-level Menu`,"menu.multi-menu.two":`Level 2`,"menu.multi-menu.first":`Level 2 Page`,"menu.multi-menu.two.three":`Level 3`,"menu.multi-menu.two.second":`Level 3 Page`,"menu.multi-menu.two.three.third":`Level 4`,"menu.page-layout":`Layouts`,"menu.page-layout.base-layout":`Basic Layout`,"menu.page-layout.fix-header":`Fixed Header`,"menu.page-layout.descriptions":`Descriptions`,"menu.example":`Examples`,"menu.example.user-selector":`User Selector`,"menu.example.icon-selector":`Icon Selector`,"menu.example.image-uploader":`Image Upload`,"menu.example.xin-form":`Xin Form`,"menu.example.xin-table":`Xin Table`,"menu.ai":`AI`,"menu.ai.chat":`Chat`,"menu.ai.agent":`Agents`,"menu.ai.conversation":`Conversations`,"menu.system":`System`,"menu.system.user":`Users`,"menu.system.dept":`Departments`,"menu.system.role":`Roles`,"menu.system.rule":`Menus`,"menu.system.info":`System Information`,"menu.system.file":`Files`,"menu.system.dict":`Dictionaries`,"menu.system.mail":`Mail`,"menu.system.storage":`Storage`,"menu.system.config":`Site Config`,"menu.system.ai":`AI`,"menu.system.carousel":`Carousel`,"menu.system.grid-nav":`Grid Navigation`,"menu.system.category":`Categories`,"menu.system.activity":`Activity Zone`,"menu.xin-admin":`XinAdmin`},wn={"login.username":`Username`,"login.password":`Password`,"login.usernamePlaceholder":`admin`,"login.passwordPlaceholder":`123456`,"login.usernameRequired":`Please enter your username!`,"login.passwordRequired":`Please enter your password!`,"login.remember":`Remember me`,"login.forgotPassword":`Forgot password`,"login.otherLogin":`Other login methods`,"login.success":`Login successful!`,"login.alreadyLoggedIn":`Already logged in, redirecting!`},Tn={"dashboard.since.lastWeek":`Since last week`,"dashboard.vs.lastWeek":`vs last week`,"dashboard.analysis.totalRevenue":`Total Revenue`,"dashboard.analysis.totalExpenses":`Total Expenses`,"dashboard.analysis.visitors":`Visitors`,"dashboard.analysis.likes":`Likes`,"dashboard.analysis.annualSales":`Annual Sales`,"dashboard.analysis.grossProfit":`Gross Profit`,"dashboard.analysis.netProfit":`Net Profit`,"dashboard.analysis.totalExpense":`Total Expense`,"dashboard.analysis.accessFrom":`Access From`,"dashboard.analysis.searchEngine":`Search Engine`,"dashboard.analysis.direct":`Direct`,"dashboard.analysis.email":`Email`,"dashboard.analysis.unionAds":`Union Ads`,"dashboard.analysis.videoAds":`Video Ads`,"dashboard.analysis.salesRanking":`Sales Ranking`,"dashboard.analysis.month":`Month`,"dashboard.analysis.year":`Year`,"dashboard.analysis.day":`Day`,"dashboard.analysis.article":`Article`,"dashboard.analysis.age":`Age`,"dashboard.analysis.address":`Address`,"dashboard.analysis.tags":`Tags`,"dashboard.analysis.action":`Action`,"dashboard.analysis.invite":`Invite`,"dashboard.analysis.delete":`Delete`,"dashboard.analysis.userReviews":`User Reviews`,"dashboard.analysis.reviewDescription":`Ant Design, a design language for background applications, is refined by Ant UED Team`,"dashboard.analysis.january":`January`,"dashboard.analysis.february":`February`,"dashboard.analysis.march":`March`,"dashboard.analysis.april":`April`,"dashboard.analysis.may":`May`,"dashboard.analysis.june":`June`,"dashboard.analysis.july":`July`,"dashboard.analysis.august":`August`,"dashboard.analysis.september":`September`,"dashboard.analysis.october":`October`,"dashboard.analysis.november":`November`,"dashboard.analysis.december":`December`},En={"dashboard.completion":`Completion`,"dashboard.vs.lastWeek":`vs last week`,"dashboard.monitor.helpService":`Help Service`,"dashboard.monitor.propertyFee":`Property Fee`,"dashboard.monitor.alarmEvents":`Alarm Events`,"dashboard.monitor.otherEvents":`Other Events`,"dashboard.monitor.todoList":`To-Do List`,"dashboard.monitor.myFocus":`My Focus`,"dashboard.monitor.all":`All`,"dashboard.monitor.propertyOrder":`Property Orders`,"dashboard.monitor.repairOrder":`Repair Orders`,"dashboard.monitor.fireSafety":`Fire Safety`,"dashboard.monitor.paidService":`Paid Services`,"dashboard.monitor.publicService":`Public Services`},Dn={"dashboard.workplace.greeting.morning":`Good Morning`,"dashboard.workplace.greeting.afternoon":`Good Afternoon`,"dashboard.workplace.greeting.evening":`Good Evening`,"dashboard.workplace.welcome":`Welcome back!`,"dashboard.workplace.today":`Today is`,"dashboard.workplace.myProjects":`My Projects`,"dashboard.workplace.myTeams":`My Teams`,"dashboard.workplace.latestActivities":`Latest Activities`,"dashboard.workplace.notifications":`Notifications`,"dashboard.workplace.appStore":`App Store`,"dashboard.workplace.appStore.desc":`Application distribution and management platform`,"dashboard.workplace.mallSystem":`Mall System`,"dashboard.workplace.mallSystem.desc":`Enterprise e-commerce solution`,"dashboard.workplace.collaboration":`Collaboration`,"dashboard.workplace.collaboration.desc":`Team collaboration and communication tools`,"dashboard.workplace.docCenter":`Document Center`,"dashboard.workplace.docCenter.desc":`Enterprise knowledge management and document collaboration`,"dashboard.workplace.badge.new":`New`,"dashboard.workplace.status.inProgress":`In Progress`,"dashboard.workplace.status.completed":`Completed`,"dashboard.workplace.status.planning":`Planning`,"dashboard.workplace.progress":`Progress`,"dashboard.workplace.members":`Members`,"dashboard.workplace.people":`people`,"dashboard.workplace.recentVisits":`Recent Visits`,"dashboard.workplace.location":`Local`,"dashboard.workplace.project1.name":`Enterprise Management System`,"dashboard.workplace.project1.desc":`Enterprise backend management system based on React and AntDesign`,"dashboard.workplace.project2.name":`Mobile H5 Application`,"dashboard.workplace.project2.desc":`Mobile e-commerce application developed with Vue3`,"dashboard.workplace.project3.name":`Data Visualization Platform`,"dashboard.workplace.project3.desc":`Big data visualization and analysis platform based on ECharts`,"dashboard.workplace.project4.name":`System Upgrade Notice`,"dashboard.workplace.project4.desc":`System will be upgraded and maintained from 2:00-4:00 AM this Friday`,"dashboard.workplace.project5.name":`Team Invitation`,"dashboard.workplace.project5.desc":`You have been invited to join the "New Product R&D" project team`,"dashboard.workplace.project6.name":`Task Reminder`,"dashboard.workplace.project6.desc":`You have 3 tasks that are about to expire, please handle them in time`},On={"system.info.title":`System Info`,"system.info.basic.title":`System Basic Info`,"system.info.project.title":`Project Address`,"system.info.changelog.title":`Changelog`,"system.info.author.title":`Author Introduction`,"system.info.desc.title":`System Description`,"system.info.join":`Join the community for updates and support`,"system.info.label.name":`System Name`,"system.info.label.version":`Version`,"system.info.label.build":`Build Tool`,"system.info.label.frontend":`Frontend Framework`,"system.info.label.ui":`UI Framework`,"system.info.label.css":`CSS Framework`,"system.info.label.router":`Router Management`,"system.info.label.state":`State Management`,"system.info.label.ts":`TypeScript`,"system.info.link.github":`GitHub Repository`,"system.info.link.docs":`Online Documentation`,"system.info.link.demo":`Demo Address`,"system.info.link.issues":`Issues & Feedback`,"system.info.log.content":`Refactored project modules based on React 19, Vite 7, ReactRouter 7, zustand 5, and TypeScript`,"system.info.author.name":`XinAdmin Team`,"system.info.author.role":`Enterprise-level Admin Solution Provider`,"system.info.contact.github":`GitHub`,"system.info.contact.group":`QQ Group`,"system.info.contact.discuss":`Discussions`,"system.info.desc.content":`XinAdmin is an enterprise-level admin template based on Ant Design design specifications, adopting the latest frontend tech stack including React 19, Vite 7, ReactRouter 7, zustand 5, and TypeScript. +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/agent-B-tYZjRz.js","assets/rolldown-runtime-BgaNhQyE.js","assets/jsx-runtime-ADHq9IcL.js","assets/chunk-KS7C4IRE-CN93VkYO.js","assets/typography-C2UybztD.js","assets/tooltip-CRuv8UNz.js","assets/style-Der9vtsK.js","assets/CopyOutlined-BfEUU2AX.js","assets/es-DtKsFKpZ.js","assets/CloseCircleFilled-BARdd-Ff.js","assets/space-BqavXZJj.js","assets/button-CcpWP-mq.js","assets/ColorPresets-wH0crouI.js","assets/app-BscZ5bao.js","assets/CheckCircleFilled-D9xa2k05.js","assets/PlusOutlined-W6xCIIXs.js","assets/ExclamationCircleFilled-BF18pnJ8.js","assets/context-o-GHk4GQ.js","assets/useClosable-CCgKioKg.js","assets/mergeProps-yLeqvqMM.js","assets/useModal-DQaWKI1g.js","assets/config-provider-BFg4S-AS.js","assets/empty-oL0hNsAh.js","assets/avatar-ZeeUR_v9.js","assets/useBreakpoint-Dhidjsjf.js","assets/popover-DCXX8fLF.js","assets/card-BFxeciPE.js","assets/spin-BELbZOk0.js","assets/switch-BWactV-h.js","assets/tag-BMkLMUVK.js","assets/theme-D6zyXNMh.js","assets/useTranslation-DIuTqE8W.js","assets/agent-CqLbN1cd.js","assets/request-Vytbr90w.js","assets/chat-22ohU2cR.js","assets/global-CUFwSKUq.js","assets/middleware-B51zI-ZM.js","assets/divider-qVVmElWH.js","assets/dropdown-dXoRpGL-.js","assets/dropdown-DT_NhqjL.js","assets/LeftOutlined-DolIAuof.js","assets/PurePanel-CKFVxwoF.js","assets/flex-BB50-T81.js","assets/input-De-xbsfR.js","assets/SearchOutlined-B7X5pgf4.js","assets/Input-Bn-0ViX7.js","assets/EyeOutlined-DUuSYbtj.js","assets/CaretDownFilled-bW_4H-tT.js","assets/DeleteOutlined-D3Fhpkuo.js","assets/ArrowUpOutlined-BqDvHB4K.js","assets/ClearOutlined-C3IuM4M9.js","assets/UserOutlined-DjbONoy-.js","assets/chat-Iht936bQ.css","assets/conversation-B9q7UsRi.js","assets/lodash-D-pgfsxw.js","assets/DoubleRightOutlined-BDFzD9z5.js","assets/DownOutlined-DUvTsWMS.js","assets/LockOutlined-rb6chlKx.js","assets/modal-4LQWu5vA.js","assets/ClockCircleOutlined-Cn57q4yS.js","assets/LinkOutlined-B4oKj2q7.js","assets/form-CNvo0lCF.js","assets/useForm-CvzzkaGD.js","assets/row-sXyid8kB.js","assets/PictureOutlined-5m8FAlCn.js","assets/WarningFilled-CsttfMOX.js","assets/CaretUpOutlined-CCtk1ukR.js","assets/FileOutlined-e-Jre-Gv.js","assets/DownloadOutlined-CA51LTon.js","assets/WeiboOutlined-DyyhlXM5.js","assets/SmileOutlined-CZG5Mc5n.js","assets/ArrowDownOutlined-CH5xWTUL.js","assets/FileDoneOutlined-CuI9m5l0.js","assets/CheckCircleOutlined-6-W2Vwzs.js","assets/CloseCircleOutlined-CFrRsJ54.js","assets/EnvironmentOutlined-HLlZltIr.js","assets/InfoCircleOutlined-DBx8dOxc.js","assets/UploadOutlined-Cg0kzjdE.js","assets/LikeOutlined-BXSS7iVR.js","assets/PrinterOutlined-Bhc-_5gY.js","assets/QqOutlined-BUFqYSFz.js","assets/RiseOutlined-C6wo3ytm.js","assets/ShoppingOutlined-FR5CTwva.js","assets/TeamOutlined-CZDGTBQJ.js","assets/table-CG-GtmXj.js","assets/radio-CFTLacYu.js","assets/useBubbleLock-CoAwAGkH.js","assets/checkbox-DV1_nuDN.js","assets/pagination-tpFvWhSa.js","assets/zh_CN-BT8mdvr9.js","assets/XinTable-DP0Q6sQS.js","assets/XinForm-CH1TH01p.js","assets/row-DQ81_S1d.js","assets/ImageUploader-D1JVFGhR.js","assets/upload-ShUC-jzR.js","assets/progress-C2fffzqa.js","assets/tslib.es6-5i5FW2KX.js","assets/AuthButton-ZAAWoGLQ.js","assets/user-DSO6CZPD.js","assets/analysis-HuRsWqrh.js","assets/list-Ck0Qiowu.js","assets/monitor-CuC3nYI5.js","assets/workplace-s-OxdIFu.js","assets/badge-Cim9D6DD.js","assets/icon-selector-C61Svn5A.js","assets/image-uploader-DlGo9TjY.js","assets/user-selector-CgkkoJ8a.js","assets/xin-form-DEYT6JBB.js","assets/xin-table-BVM_yZu0.js","assets/403-Dob-WA64.js","assets/result-XzmMluTH.js","assets/404-DIW8STd8.js","assets/500-khIb72nh.js","assets/login-BUW1ELdl.js","assets/first-BhvoNcb6.js","assets/breadcrumb-CfUsuee6.js","assets/second-BJx2mD6Q.js","assets/third-Ct81Ekzc.js","assets/base-layout-ACunaMOz.js","assets/descriptions-DRDGXBQ6.js","assets/descriptions-WMbCZdmi.js","assets/timeline-Ct4qt3Q8.js","assets/fix-header-D3LqcpUo.js","assets/fail-K3BVW2IV.js","assets/info-6MwRQ0kd.js","assets/success-BAl2uO9x.js","assets/warning-B6c3xQrg.js","assets/activity-B8KogG0M.js","assets/image-CBJbXNqF.js","assets/ai-Ch0jvFq_.js","assets/alert-DNqab9Ea.js","assets/carousel-C8wr3J-3.js","assets/category-CjRzbpx2.js","assets/item-BX4BeOlE.js","assets/config-CUA21dC7.js","assets/popconfirm-DvhP82OV.js","assets/dept-BD4fmGPs.js","assets/useAuth-Bjm0LMjE.js","assets/dict-DG6U7GJG.js","assets/dict-D1oPhWwT.js","assets/item-D5mKxo3b.js","assets/file-DA8zhkM-.js","assets/grid-nav-Ct7LoXI6.js","assets/info-BtVzNRA5.js","assets/mail-BZ_fP89w.js","assets/role-BHuprRit.js","assets/relativeTime-jamE_cdZ.js","assets/rule-CbggZoQ1.js","assets/storage-BWYMnyuK.js","assets/user-CK6rMVjg.js","assets/profile-CrJjtc8D.js","assets/useMobile-HH98Zm18.js"])))=>i.map(i=>d[i]); +import{i as e}from"./rolldown-runtime-BgaNhQyE.js";import{Bn as t,Dr as n,Jn as r,Ln as i,Tr as a,Vn as o,Zn as s,t as c,zn as l}from"./jsx-runtime-ADHq9IcL.js";import{a as u,c as d,i as f,n as p,o as m,r as h,t as g}from"./chunk-KS7C4IRE-CN93VkYO.js";import{i as _,n as v,r as y,t as b}from"./global-CUFwSKUq.js";import{I as x,L as S,N as C,_ as w,c as T,h as E,i as ee,m as te,n as D,t as ne,v as re,y as ie}from"./lodash-D-pgfsxw.js";import{t as ae}from"./tooltip-CRuv8UNz.js";import{t as oe}from"./config-provider-BFg4S-AS.js";import{t as se}from"./space-BqavXZJj.js";import{t as O}from"./button-CcpWP-mq.js";import{t as ce}from"./app-BscZ5bao.js";import{r as le}from"./DoubleRightOutlined-BDFzD9z5.js";import{t as ue}from"./empty-oL0hNsAh.js";import{t as de}from"./SearchOutlined-B7X5pgf4.js";import{t as fe}from"./avatar-ZeeUR_v9.js";import{t as pe}from"./breadcrumb-CfUsuee6.js";import{a as me,i as he,n as ge,o as _e,s as ve}from"./dropdown-DT_NhqjL.js";import{n as ye}from"./LockOutlined-rb6chlKx.js";import{n as k,t as be}from"./row-DQ81_S1d.js";import{t as A}from"./divider-qVVmElWH.js";import{t as xe}from"./modal-4LQWu5vA.js";import{t as Se}from"./dropdown-dXoRpGL-.js";import{t as Ce}from"./input-De-xbsfR.js";import{n as we}from"./CopyOutlined-BfEUU2AX.js";import{r as Te}from"./PictureOutlined-5m8FAlCn.js";import{t as Ee}from"./switch-BWactV-h.js";import{t as j}from"./theme-D6zyXNMh.js";import{t as De}from"./ArrowDownOutlined-CH5xWTUL.js";import{t as Oe}from"./ArrowUpOutlined-BqDvHB4K.js";import{r as ke}from"./InfoCircleOutlined-DBx8dOxc.js";import{t as Ae}from"./UserOutlined-DjbONoy-.js";import{i as je,t as Me}from"./user-DSO6CZPD.js";import{n as Ne,r as Pe,t as M}from"./useTranslation-DIuTqE8W.js";import{i as Fe,r as Ie,t as Le}from"./login-BUW1ELdl.js";import{t as N}from"./useMobile-HH98Zm18.js";import{t as Re}from"./dict-D1oPhWwT.js";import{t as ze}from"./relativeTime-jamE_cdZ.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)}})();function Be(e,t,n){return typeof n==`boolean`?n:e.length?!0:r(t).some(e=>e.type===he)}var P=e(n()),F=({suffixCls:e,tagName:t,displayName:n})=>n=>P.forwardRef((r,i)=>P.createElement(n,{ref:i,suffixCls:e,tagName:t,...r})),Ve=P.forwardRef((e,t)=>{let{prefixCls:n,suffixCls:r,className:a,tagName:s,...c}=e,{getPrefixCls:l}=P.useContext(i),u=l(`layout`,n),[d,f]=_e(u),p=r?`${u}-${r}`:u;return P.createElement(s,{className:o(n||p,a,d,f),ref:t,...c})}),He=P.forwardRef((e,n)=>{let{direction:r}=P.useContext(i),[a,c]=P.useState([]),{prefixCls:u,className:d,rootClassName:f,children:p,hasSider:m,tagName:h,style:g,..._}=e,v=s(_,[`suffixCls`]),{getPrefixCls:y,className:b,style:x}=l(`layout`),S=y(`layout`,u),C=Be(a,p,m),[w,T]=_e(S),E=o(S,{[`${S}-has-sider`]:C,[`${S}-rtl`]:r===`rtl`},b,d,f,w,T),ee=P.useMemo(()=>({siderHook:{addSider:e=>{c(n=>[].concat(t(n),[e]))},removeSider:e=>{c(t=>t.filter(t=>t!==e))}}}),[]);return P.createElement(ve.Provider,{value:ee},P.createElement(h,{ref:n,className:E,style:{...x,...g},...v},p))}),Ue=F({tagName:`div`,displayName:`Layout`})(He),We=F({suffixCls:`header`,tagName:`header`,displayName:`Header`})(Ve),Ge=F({suffixCls:`footer`,tagName:`footer`,displayName:`Footer`})(Ve),Ke=F({suffixCls:`content`,tagName:`main`,displayName:`Content`})(Ve),I=Ue;I.Header=We,I.Footer=Ge,I.Content=Ke,I.Sider=he,I._InternalSiderContext=me;var qe={type:`3rdParty`,init(e){Pe(e.options.react),Ne(e)}},Je=e(a(),1),L=c(),{useToken:Ye}=j,Xe=()=>{let{token:e}=Ye(),{t}=M(),n=m(),r=b(e=>e.themeDrawer),i=b(e=>e.setThemeDrawer),a=Me(e=>e.userinfo),o=Me(e=>e.logout),s=N(),[c,l]=(0,P.useState)(!1),[u,d]=(0,P.useState)(!1),f=()=>{let e=document.documentElement;document.fullscreenElement?document.exitFullscreen().then(()=>{l(!1)}):e.requestFullscreen().then(()=>{l(!0)})},p=[{key:`1`,label:t(`layout.profile`),icon:(0,L.jsx)(Ae,{}),onClick:()=>n(`/user/profile`)},{key:`2`,label:t(`layout.logout`),icon:(0,L.jsx)(ee,{}),onClick:async()=>{o().then(()=>{Te.success(t(`layout.logoutSuccess`)),window.location.href=`/login`}).catch(()=>{Te.error(t(`layout.logoutFailed`))})}}];return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(xe,{closable:!1,open:u,footer:null,style:{top:40,width:600},styles:{body:{maxHeight:`80vh`},container:{padding:0}},onCancel:()=>d(!1),children:[(0,L.jsxs)(`div`,{className:`p-5`,children:[(0,L.jsx)(Ce,{size:`large`,placeholder:t(`layout.searchPlaceholder`),prefix:(0,L.jsx)(de,{})}),(0,L.jsx)(`div`,{className:`mt-5`,children:(0,L.jsx)(ue,{})})]}),(0,L.jsxs)(se,{className:`mt-5 flex align-center pl-5 pr-5 pt-2.5 pb-2.5`,style:{borderTop:`1px solid `+e.colorBorder},children:[(0,L.jsx)(we,{}),` `,(0,L.jsx)(`span`,{className:`mr-4`,children:t(`layout.searchConfirm`)}),(0,L.jsx)(Oe,{}),(0,L.jsx)(De,{}),` `,(0,L.jsx)(`span`,{className:`mr-4`,children:t(`layout.searchSwitch`)}),`Esc `,(0,L.jsx)(`span`,{className:`mr-2`,children:t(`layout.searchClose`)})]})]}),(0,L.jsxs)(se,{children:[!s&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(O,{icon:(0,L.jsx)(w,{}),size:`large`,type:`text`,onClick:()=>window.open(`https://xin-admin.com`)}),(0,L.jsx)(O,{icon:(0,L.jsx)(ke,{}),size:`large`,type:`text`,onClick:()=>window.open(`https://github.com/xin-admin/xin-admin-ui`)}),(0,L.jsx)(O,{icon:(0,L.jsx)(de,{}),size:`large`,type:`text`,onClick:()=>d(!0)}),(0,L.jsx)(O,{onClick:f,icon:c?(0,L.jsx)(ie,{}):(0,L.jsx)(re,{}),size:`large`,type:`text`}),(0,L.jsx)(Ie,{size:`large`,type:`text`}),(0,L.jsx)(O,{onClick:()=>i(!r),icon:(0,L.jsx)(T,{}),size:`large`,type:`text`})]}),a?(0,L.jsx)(Se,{menu:{items:p},children:(0,L.jsxs)(O,{size:`large`,type:`text`,children:[(0,L.jsx)(`div`,{children:a.nickname||a.username}),(0,L.jsx)(fe,{src:a.avatar_url?a.avatar_url:null,size:`small`})]})}):null]})]})};function Ze(e){let t={},n=(e,r=[])=>{if(!e.key)return;let i={href:e.path,title:e.name,icon:e.icon,local:e.local},a=[...r,i];t[e.key]=a,e.children&&e.children.length&&e.children.forEach(e=>n(e,a))};return e.forEach(e=>n(e)),t}function Qe(e,t){for(let n of e){if(n.path===t)return n;if(n.children&&n.children.length>0){let e=Qe(n.children,t);if(e)return e}}return null}function $e(e,t,n=[]){for(let r of e){if(!r.key)continue;let e=[...n,r.key];if(r.path===t)return e;if(r.children&&r.children.length>0){let n=$e(r.children,t,e);if(n)return n}}return null}function R(e,t){for(let n of e){if(n.key===t)return n;if(n.children&&n.children.length>0){let e=R(n.children,t);if(e)return e}}return null}var et=(0,P.createContext)(null),tt=({children:e})=>{let t=u(),[n,r]=(0,P.useState)([]),[i,a]=(0,P.useState)(),[o,s]=(0,P.useState)([]),[c,l]=(0,P.useState)(!1);return(0,P.useEffect)(()=>{je().then(({data:e})=>{let t=e.data.menus;r(t)})},[]),(0,P.useEffect)(()=>{let e=t.pathname,r=$e(n,e);r&&r.length&&(s(r),a(r[0]))},[n]),(0,L.jsx)(et.Provider,{value:{menus:n,parentKey:i,selectKey:o,collapsed:c,setParentKey:a,setCollapsed:l,setSelectKey:s},children:e})},z=()=>{let e=(0,P.useContext)(et);if(!e)throw Error(`useLayoutContext must be used within LayoutProvider`);return e},B=(e,t)=>e.reduce((e,n)=>{if(![`route`,`menu`].includes(n.type)||!n.hidden)return e;let r={label:n.local?t(n.local):n.name,icon:n.icon?(0,L.jsx)(D,{name:n.icon}):void 0,key:n.key};return n.type===`menu`&&n.children?.length&&(r.children=B(n.children,t)),e.push(r),e},[]),V=()=>{let{t:e}=M(),t=N(),n=m(),[r,i]=(0,P.useState)([]),a=b(e=>e.layout),{menus:o,parentKey:s,selectKey:c,setSelectKey:l,setParentKey:u}=z();(0,P.useEffect)(()=>{if(t){i(B(o,e));return}if([`columns`,`mix`].includes(a)&&s){let t=o.find(e=>e.key===s);i(B(t?.children||[],e))}else i(B(o,e))},[o,a,s,e,t]);let d=e=>{l(e),[`top`,`side`].includes(a)&&u(e[e.length-1]);let t=R(o,e[0]);if(!(!t||!t.key)){if(t.type===`route`&&t.link){window.open(t.path,`_blank`);return}if(t.type===`route`&&t.path){n(t.path);return}}};return(0,L.jsx)(L.Fragment,{children:r.length>0&&(0,L.jsx)(ge,{className:`border-b-0 flex-1`,mode:a===`top`&&!t?`horizontal`:`inline`,items:r,onSelect:e=>d(e.keyPath),selectedKeys:c})})},nt=[{title:(0,L.jsx)(w,{})}],rt=()=>{let{t:e}=M(),t=u(),{menus:n}=z(),[r,i]=(0,P.useState)(nt),a=(0,P.useMemo)(()=>Ze(n),[n]);return(0,P.useEffect)(()=>{let r=t.pathname,o=Qe(n,r);if(o&&o.key){let t=a[o.key];if(t){i([{title:(0,L.jsx)(w,{})},...t.map(t=>({title:(0,L.jsxs)(L.Fragment,{children:[t.icon&&(0,L.jsx)(D,{name:t.icon}),(0,L.jsx)(`span`,{children:t.local?e(t.local):t.title})]})}))]);return}}i(nt)},[e,t.pathname,a]),(0,L.jsx)(pe,{items:r})},{Header:it}=I,at=()=>{let{t:e}=M(),t=N(),n=m(),r=b(e=>e.logo),i=b(e=>e.title),a=b(e=>e.layout),o=b(e=>e.themeConfig),{menus:s,parentKey:c,collapsed:l,setCollapsed:u,setParentKey:d,setSelectKey:f}=z(),p={token:{colorTextBase:o.headerColor},components:{Menu:{activeBarBorderWidth:0,itemBg:`transparent`}}},[h,g]=(0,P.useState)([]);(0,P.useEffect)(()=>{g(s.filter(e=>e.hidden).map(t=>({label:t.local?e(t.local):t.name,icon:t.icon?(0,L.jsx)(D,{name:t.icon}):!1,key:t.key})))},[s,e]);let _=e=>{let t=R(s,e);if(!(!t||!t.key)&&(d(t.key),t.type!==`menu`)){if(f([t.key]),t.type===`route`&&t.link){window.open(t.path,`_blank`);return}if(t.type===`route`&&t.path){n(t.path);return}}};return(0,L.jsx)(oe,{theme:p,children:t?(0,L.jsxs)(it,{className:`flex sticky z-1 top-0 backdrop-blur-xs justify-between items-center`,children:[(0,L.jsxs)(`div`,{className:`flex items-center`,children:[(0,L.jsx)(`img`,{className:`w-9 mr-5`,src:r,alt:`logo`}),(0,L.jsx)(`span`,{className:`font-semibold text-[20px] mr-2`,children:i})]}),(0,L.jsx)(Xe,{})]}):(0,L.jsxs)(it,{className:`flex sticky z-1 top-0 backdrop-blur-xs`,style:{borderBottom:`1px solid `+o.colorBorder},children:[(0,L.jsxs)(`div`,{className:`flex items-center relative`,children:[(0,L.jsx)(`img`,{className:`h-8`,src:r,alt:`logo`}),(0,L.jsx)(`span`,{className:`font-semibold text-[20px] ml-5 mr-5`,children:i}),a!==`top`&&(0,L.jsx)(O,{type:`text`,className:`text-[16px] mr-2.5`,onClick:()=>u(!l),children:l?(0,L.jsx)(te,{}):(0,L.jsx)(E,{})}),[`columns`,`side`].includes(a)&&(0,L.jsx)(rt,{})]}),(0,L.jsxs)(`div`,{className:`overflow-hidden flex-1`,children:[a==`top`&&(0,L.jsx)(V,{}),a==`mix`&&(0,L.jsx)(ge,{className:`border-b-0 w-full`,mode:`horizontal`,items:h,onSelect:e=>_(e.key),selectedKeys:[c]})]}),(0,L.jsx)(Xe,{})]})})},{Footer:ot}=I,st=()=>{let e=new Date().getFullYear(),t=b(e=>e.themeConfig);return(0,L.jsxs)(L.Fragment,{children:[t.fixedFooter&&(0,L.jsx)(`div`,{className:`h-10`}),(0,L.jsx)(ot,{className:(t.fixedFooter?`sticky`:`relative`)+` z-10 w-full bottom-0 pt-2.5 pb-2.5`,style:{borderTop:`1px solid `+t.colorBorder},children:(0,L.jsxs)(`div`,{className:`flex items-center justify-center w-full`,children:[`Xin Admin ©`,e,` Created by xiaoliu`]})})]})},ct=()=>{let e=b(e=>e.themeConfig),t=b(e=>e.themeDrawer),n=b(e=>e.setThemeDrawer),[r,i]=(0,P.useState)(!1);return(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`fixed bottom-8 left-8 z-999`,children:(0,L.jsx)(O,{type:`primary`,shape:`circle`,size:`large`,icon:r?(0,L.jsx)(E,{}):(0,L.jsx)(te,{}),onClick:()=>i(!r)})}),(0,L.jsx)(C,{placement:`left`,closable:!0,onClose:()=>i(!1),open:r,styles:{section:{width:280},header:{borderBottom:`1px solid `+e.colorBorder,background:e.siderBg,color:e.siderColor},body:{padding:0,background:e.siderBg}},footer:(0,L.jsxs)(se,{children:[(0,L.jsx)(O,{icon:(0,L.jsx)(w,{}),size:`large`,type:`text`,onClick:()=>window.open(`https://xin-admin.com`)}),(0,L.jsx)(O,{icon:(0,L.jsx)(ke,{}),size:`large`,type:`text`,onClick:()=>window.open(`https://github.com/xin-admin/xin-admin-ui`)}),(0,L.jsx)(Ie,{size:`large`,type:`text`}),(0,L.jsx)(O,{onClick:()=>n(!t),icon:(0,L.jsx)(T,{}),size:`large`,type:`text`})]}),children:(0,L.jsx)(`div`,{style:{height:`100%`,overflowY:`auto`,width:`100%`,background:e.siderBg},children:(0,L.jsx)(V,{})})})]})},lt=ne(),ut={defaultAlgorithm:j.defaultAlgorithm,darkAlgorithm:j.darkAlgorithm,defaultCompactAlgorithm:[j.defaultAlgorithm,j.compactAlgorithm],darkCompactAlgorithm:[j.darkAlgorithm,j.compactAlgorithm]},dt=[{label:`layout.algorithmDefault`,value:`defaultAlgorithm`},{label:`layout.algorithmDark`,value:`darkAlgorithm`},{label:`layout.algorithmDefaultCompact`,value:`defaultCompactAlgorithm`},{label:`layout.algorithmDarkCompact`,value:`darkCompactAlgorithm`}],{useToken:ft}=j,pt=[{key:`colorPrimary`,label:`layout.colorPrimary`},{key:`colorText`,label:`layout.colorText`},{key:`colorBg`,label:`layout.colorBg`},{key:`colorSuccess`,label:`layout.colorSuccess`},{key:`colorWarning`,label:`layout.colorWarning`},{key:`colorError`,label:`layout.colorError`},{key:`bodyBg`,label:`layout.bodyBg`},{key:`footerBg`,label:`layout.footerBg`},{key:`headerBg`,label:`layout.headerBg`},{key:`headerColor`,label:`layout.headerColor`},{key:`siderBg`,label:`layout.siderBg`},{key:`siderColor`,label:`layout.siderColor`},{key:`colorBorder`,label:`layout.colorBorder`}],mt=[{key:`fixedFooter`,label:`layout.fixedFooter`,type:`switch`},{key:`borderRadius`,label:`layout.borderRadius`,type:`number`,min:0,max:30},{key:`controlHeight`,label:`layout.controlHeight`,type:`number`,min:0},{key:`headerPadding`,label:`layout.headerPadding`,type:`number`,min:0},{key:`headerHeight`,label:`layout.headerHeight`,type:`number`,min:0},{key:`siderWeight`,label:`layout.siderWeight`,type:`number`,min:0},{key:`bodyPadding`,label:`layout.bodyPadding`,type:`number`,min:0}],ht=[{background:`/static/theme/default.svg`,name:`light`,title:`layout.themeLight`},{background:`/static/theme/dark.svg`,name:`dark`,title:`layout.themeDark`}],gt=[{key:`side`,title:`layout.layoutSide`,render:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`rounded-sm w-full h-6 mb-1.5`,style:{background:e.colorPrimaryBorder}}),(0,L.jsxs)(`div`,{className:`flex`,children:[(0,L.jsx)(`div`,{className:`rounded-sm h-16 w-6`,style:{background:e.colorPrimary}}),(0,L.jsx)(`div`,{className:`rounded-sm flex-1 ml-1.5`,style:{background:e.colorPrimaryBg}})]})]})},{key:`top`,title:`layout.layoutTop`,render:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`rounded-sm h-6 w-full mb-1.5`,style:{background:e.colorPrimary}}),(0,L.jsx)(`div`,{className:`rounded-sm h-16`,style:{background:e.colorPrimaryBg}})]})},{key:`mix`,title:`layout.layoutMix`,render:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`rounded-sm w-full h-6 mb-1.5`,style:{background:e.colorPrimary}}),(0,L.jsxs)(`div`,{className:`flex`,children:[(0,L.jsx)(`div`,{className:`rounded-sm h-16 w-6`,style:{background:e.colorPrimary}}),(0,L.jsx)(`div`,{className:`rounded-sm flex-1 ml-1.5`,style:{background:e.colorPrimaryBg}})]})]})},{key:`columns`,title:`layout.layoutColumns`,render:e=>(0,L.jsxs)(`div`,{className:`flex`,children:[(0,L.jsx)(`div`,{className:`rounded-sm mr-1.5 w-3 h-24`,style:{background:e.colorPrimary}}),(0,L.jsx)(`div`,{className:`rounded-sm mr-1.5 w-6 h-24`,style:{background:e.colorPrimaryHover}}),(0,L.jsx)(`div`,{className:`rounded-sm flex-auto h-24`,style:{background:e.colorPrimaryBg}})]})}],_t=()=>{let{t:e}=M(),{token:t}=ft(),n=b(e=>e.themeDrawer),r=b(e=>e.setThemeDrawer),i=b(e=>e.setThemeConfig),a=b(e=>e.themeConfig),o=b(e=>e.layout),s=b(e=>e.setLayout),c=dt?.map(t=>({...t,label:e(t.label)}))||[],l=(0,lt.debounce)((e,t)=>{i({...a,[e]:t})},400,{leading:!0,trailing:!1});return(0,L.jsxs)(C,{styles:{body:{paddingTop:10}},placement:`right`,closable:!1,onClose:()=>r(!1),open:n,footer:(0,L.jsx)(`div`,{className:`flex w-full justify-between`,children:(0,L.jsx)(O,{onClick:()=>{i({...v,..._})},children:e(`layout.resetTheme`)})}),children:[(0,L.jsx)(A,{children:e(`layout.layoutStyle`)}),(0,L.jsx)(be,{gutter:[20,20],children:gt.map(({key:n,title:r,render:i})=>(0,L.jsx)(k,{span:12,children:(0,L.jsx)(ae,{title:e(r),children:(0,L.jsx)(`div`,{className:`p-2 rounded-lg cursor-pointer`,style:{boxShadow:t.boxShadow,borderRadius:t.borderRadius,border:o===n?`2px solid ${t.colorPrimary}`:`2px solid transparent`},onClick:()=>s(n),children:i(t)})})},n))}),(0,L.jsx)(A,{children:e(`layout.presetTheme`)}),(0,L.jsxs)(be,{gutter:20,onClick:e=>{let t=e.target.closest(`[data-theme]`);if(!t)return;let n=t.dataset.theme,r={dark:y,light:_};r[n]&&i({...a,...r[n]})},children:[ht.map(n=>(0,L.jsxs)(k,{span:8,className:`mb-2.5`,children:[(0,L.jsx)(`div`,{"data-theme":n.name,className:`cursor-pointer overflow-hidden border-solid`,style:{borderRadius:t.borderRadius,borderWidth:a.themeScheme===n.name?`2px`:`0px`,borderColor:a.themeScheme===n.name?t.colorPrimary:`transparent`},children:(0,L.jsx)(`img`,{src:n.background,alt:n.name})}),(0,L.jsx)(`div`,{className:`text-center mt-1.5`,children:e(n.title)})]},n.name)),(0,L.jsx)(k,{span:24,className:`mb-2.5`,children:(0,L.jsxs)(`div`,{className:`flex justify-between items-center`,children:[(0,L.jsx)(`div`,{children:e(`layout.themeAlgorithm`)}),(0,L.jsx)(le,{value:a.algorithm,style:{width:160},onChange:e=>l(`algorithm`,e),options:c})]})})]}),(0,L.jsx)(A,{children:e(`layout.themeColor`)}),pt.map(({key:t,label:n})=>(0,L.jsxs)(`div`,{className:`flex justify-between items-center mb-2.5`,children:[(0,L.jsx)(`div`,{children:e(n)}),(0,L.jsx)(x,{showText:!0,value:a[t],onChange:e=>l(t,e.toCssString())})]},t)),(0,L.jsx)(A,{children:e(`layout.styleConfig`)}),mt.map(({key:t,label:n,type:r,...i})=>(0,L.jsxs)(`div`,{className:`flex justify-between items-center mb-2.5`,children:[(0,L.jsx)(`div`,{children:e(n)}),r===`switch`?(0,L.jsx)(Ee,{value:a[t],onChange:e=>l(t,e)}):(0,L.jsx)(S,{value:a[t],onChange:e=>l(t,e),...i})]},t))]})},vt=()=>{let{t:e}=M(),t=u(),n=b(e=>e.title),{menus:r}=z();return(0,P.useEffect)(()=>{let i=n||`Xin Admin`,a=Qe(r,t.pathname);if(!a){document.title=i;return}let o=a.local?e(a.local):a.name;o?document.title=o+` - `+i:document.title=i},[t.pathname,n,e,r]),null},{useToken:yt}=j,bt=()=>{let{t:e}=M(),{token:t}=yt(),n=m(),{menus:r,parentKey:i,collapsed:a,setParentKey:o,setSelectKey:s}=z(),c=b(e=>e.themeConfig),l=e=>{if(e.key&&(o(e.key),e.type!==`menu`)){if(s([e.key]),e.type===`route`&&e.link){window.open(e.path,`_blank`);return}if(e.type===`route`&&e.path){n(e.path);return}}};return(0,L.jsxs)(`div`,{className:`flex h-full`,children:[(0,L.jsx)(`div`,{className:`box-border shrink-0 h-full overflow-auto`,style:{borderRight:a?`none`:`1px solid `+c.colorBorder,width:79},children:r.filter(e=>e.hidden).map(n=>(0,L.jsxs)(`div`,{style:{backgroundColor:i===n.key?t.colorPrimaryBg:`transparent`,color:i===n.key?t.colorPrimary:c.siderColor},className:`flex items-center justify-center flex-col p-2 mb-2 pt-3 pb-3 cursor-pointer`,onClick:()=>l(n),children:[(0,L.jsx)(D,{name:n.icon,style:{fontSize:18}}),(0,L.jsx)(`span`,{className:`mt-1 truncate w-full text-center`,children:n.local?e(n.local):n.name})]},n.key))}),!a&&(0,L.jsx)(`div`,{className:`flex-1 h-full overflow-y-auto`,children:(0,L.jsx)(V,{})})]})},{Content:xt,Sider:St}=I,Ct=()=>{let e=N(),t=b(e=>e.themeConfig),n=b(e=>e.layout),[r,i]=(0,P.useState)(226),{menus:a,collapsed:o,parentKey:s}=z();return(0,P.useEffect)(()=>{let e=t.siderWeight?t.siderWeight:226,r=n===`columns`?79:0,o=a.find(e=>e.key===s);[`mix`,`columns`].includes(n)?o?.children&&o?.children.length?i(r+e):i(r):i(e)},[t,n,a,s]),(0,L.jsxs)(I,{className:`min-h-screen`,style:{background:t.background},children:[(0,L.jsx)(vt,{}),(0,L.jsx)(_t,{}),(0,L.jsx)(at,{}),e&&(0,L.jsx)(ct,{}),(0,L.jsxs)(I,{hasSider:!0,className:`relative`,children:[n!==`top`&&!e&&(0,L.jsx)(St,{collapsed:o,width:r,style:{borderRight:`1px solid `+t.colorBorder,height:`calc(100vh - ${t.headerHeight}px)`,top:t.headerHeight,overflowY:`auto`,overflowX:`hidden`,position:`sticky`},children:n===`columns`?(0,L.jsx)(bt,{}):(0,L.jsx)(V,{})}),(0,L.jsxs)(I,{children:[(0,L.jsx)(xt,{style:{padding:t.bodyPadding},children:(0,L.jsx)(p,{})}),(0,L.jsx)(st,{})]})]})]})},wt=()=>(0,L.jsx)(tt,{children:(0,L.jsx)(Ct,{})}),H=Object.assign({"/web/pages/ai/agent/index.tsx":()=>d(()=>import(`./agent-B-tYZjRz.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33])),"/web/pages/ai/chat/index.tsx":()=>d(()=>import(`./chat-22ohU2cR.js`),__vite__mapDeps([34,1,2,3,35,36,33,4,5,6,7,8,9,21,10,15,11,12,13,14,16,17,18,19,20,23,24,25,26,37,38,39,40,41,42,43,44,45,46,47,30,48,49,50,51,31,32,52])),"/web/pages/ai/conversation/index.tsx":()=>d(()=>import(`./conversation-B9q7UsRi.js`),__vite__mapDeps([53,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,29,31,90,91,26,92,28,93,94,95,96,42,97,98,36])),"/web/pages/dashboard/analysis.tsx":()=>d(()=>import(`./analysis-HuRsWqrh.js`),__vite__mapDeps([99,1,2,84,19,5,21,10,24,12,11,55,9,15,6,40,41,22,56,44,39,85,62,86,27,87,45,8,38,88,89,66,67,47,23,25,26,92,63,100,29,18,30,71,49,78,83,31,96])),"/web/pages/dashboard/monitor.tsx":()=>d(()=>import(`./monitor-CuC3nYI5.js`),__vite__mapDeps([101,2,1,10,5,23,24,25,26,15,92,63,37,100,19,55,9,6,40,41,21,22,56,44,27,88,89,30,71,49,31])),"/web/pages/dashboard/workplace.tsx":()=>d(()=>import(`./workplace-s-OxdIFu.js`),__vite__mapDeps([102,2,1,4,5,6,7,8,9,10,22,23,24,25,103,26,15,37,59,60,100,19,55,40,41,21,56,44,27,63,88,89,29,18,12,70,75,83,98,36,33,31])),"/web/pages/example/icon-selector.tsx":()=>d(()=>import(`./icon-selector-C61Svn5A.js`),__vite__mapDeps([104,1,2,4,5,6,7,8,9,10,91,33,54,21,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/example/image-uploader.tsx":()=>d(()=>import(`./image-uploader-DlGo9TjY.js`),__vite__mapDeps([105,1,2,4,5,6,7,8,9,10,11,12,26,15,61,14,16,62,24,63,93,58,20,21,17,18,19,41,64,94,46,95,67,48,68,31,96])),"/web/pages/example/user-selector.tsx":()=>d(()=>import(`./user-selector-CgkkoJ8a.js`),__vite__mapDeps([106,1,2,4,5,6,7,8,9,10,91,33,54,21,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/example/xin-form.tsx":()=>d(()=>import(`./xin-form-DEYT6JBB.js`),__vite__mapDeps([107,1,2,4,5,6,7,8,9,10,11,12,91,33,54,21,14,15,16,17,18,19,24,20,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/example/xin-table.tsx":()=>d(()=>import(`./xin-table-BVM_yZu0.js`),__vite__mapDeps([108,2,1,11,12,29,5,18,19,15,72,90,54,21,10,14,9,16,17,6,24,20,40,41,55,22,56,44,25,39,57,37,45,8,58,59,60,61,62,63,43,46,7,64,65,66,67,47,48,68,69,70,71,49,50,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,91,33,26,92,28,31,93,94,95,96,42,97,98,36])),"/web/pages/exception/403.tsx":()=>d(()=>import(`./403-Dob-WA64.js`),__vite__mapDeps([109,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/exception/404.tsx":()=>d(()=>import(`./404-DIW8STd8.js`),__vite__mapDeps([111,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/exception/500.tsx":()=>d(()=>import(`./500-khIb72nh.js`),__vite__mapDeps([112,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/login/index.tsx":()=>d(()=>import(`./login-BUW1ELdl.js`).then(e=>e.n),__vite__mapDeps([113,1,2,3,35,36,33,4,5,6,7,8,9,10,11,12,57,87,86,92,63,24,37,38,39,40,41,21,61,14,16,62,43,44,45,46,89,69,80,51,98,31])),"/web/pages/multi-menu/first.tsx":()=>d(()=>import(`./first-BhvoNcb6.js`),__vite__mapDeps([114,2,1,10,5,11,12,115,56,39,40,41,21,26,15,92,63,24])),"/web/pages/multi-menu/second.tsx":()=>d(()=>import(`./second-BJx2mD6Q.js`),__vite__mapDeps([116,2,1,10,5,11,12,115,56,39,40,41,21,26,15,92,63,24])),"/web/pages/multi-menu/third.tsx":()=>d(()=>import(`./third-Ct81Ekzc.js`),__vite__mapDeps([117,2,1,10,5,11,12,115,56,39,40,41,21,26,15,92,63,24])),"/web/pages/page-layout/base-layout.tsx":()=>d(()=>import(`./base-layout-ACunaMOz.js`),__vite__mapDeps([118,1,2,4,5,6,7,8,9,15,10,11,12,23,24,25,26,92,63,119,38,39,40,41,21,42,95,14,29,18,19,81,82,83,51])),"/web/pages/page-layout/descriptions.tsx":()=>d(()=>import(`./descriptions-WMbCZdmi.js`),__vite__mapDeps([120,2,1,4,5,6,7,8,9,84,19,21,10,24,12,11,55,15,40,41,22,56,44,39,85,62,86,27,87,45,38,88,89,66,67,47,23,25,26,92,63,37,59,119,42,121,29,18,68,73,79,82,51])),"/web/pages/page-layout/fix-header.tsx":()=>d(()=>import(`./fix-header-D3LqcpUo.js`),__vite__mapDeps([122,1,2,4,5,6,7,8,9,10,11,12,23,24,25,103,26,15,92,63,37,59,119,42,61,14,16,62,43,44,45,46,121,29,18,19,72,73,74,79])),"/web/pages/result/fail.tsx":()=>d(()=>import(`./fail-K3BVW2IV.js`),__vite__mapDeps([123,1,2,4,5,6,7,8,9,11,12,26,15,110,14,16,65,74])),"/web/pages/result/info.tsx":()=>d(()=>import(`./info-6MwRQ0kd.js`),__vite__mapDeps([124,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/result/success.tsx":()=>d(()=>import(`./success-BAl2uO9x.js`),__vite__mapDeps([125,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/result/warning.tsx":()=>d(()=>import(`./warning-B6c3xQrg.js`),__vite__mapDeps([126,1,2,11,12,26,15,110,14,9,16,65])),"/web/pages/system/activity/index.tsx":()=>d(()=>import(`./activity-B8KogG0M.js`),__vite__mapDeps([127,1,2,4,5,6,7,8,9,103,57,91,33,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,128,90,42,97,98,36])),"/web/pages/system/ai.tsx":()=>d(()=>import(`./ai-Ch0jvFq_.js`),__vite__mapDeps([129,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,130,91,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/system/carousel/index.tsx":()=>d(()=>import(`./carousel-C8wr3J-3.js`),__vite__mapDeps([131,1,2,4,5,6,7,8,9,103,57,91,33,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,128,90,42,97,98,36])),"/web/pages/system/category/index.tsx":()=>d(()=>import(`./category-CjRzbpx2.js`),__vite__mapDeps([132,1,2,3,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,103,31,90,84,85,86,27,87,38,88,89,91,33,26,92,28,29,93,94,95,96,42,97,98,36])),"/web/pages/system/category/item.tsx":()=>d(()=>import(`./item-BX4BeOlE.js`),__vite__mapDeps([133,1,2,3,4,5,6,7,8,9,10,11,12,40,103,57,91,33,54,21,14,15,16,17,18,19,24,20,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,128,90,42,97,98,36])),"/web/pages/system/config.tsx":()=>d(()=>import(`./config-CUA21dC7.js`),__vite__mapDeps([134,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,91,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,135])),"/web/pages/system/dept.tsx":()=>d(()=>import(`./dept-BD4fmGPs.js`),__vite__mapDeps([136,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,130,84,85,86,27,87,38,88,89,91,26,92,28,29,31,93,94,95,96,135,97,98,36,137])),"/web/pages/system/dict/index.tsx":()=>d(()=>import(`./dict-DG6U7GJG.js`),__vite__mapDeps([138,1,2,3,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,103,31,139,36,33,90,84,85,86,27,87,38,88,89,91,26,92,28,29,93,94,95,96,42,97,98])),"/web/pages/system/dict/item.tsx":()=>d(()=>import(`./item-D5mKxo3b.js`),__vite__mapDeps([140,1,2,3,4,5,6,7,8,9,10,11,12,40,103,57,91,33,54,21,14,15,16,17,18,19,24,20,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,90,42,97,98,36])),"/web/pages/system/file.tsx":()=>d(()=>import(`./file-DA8zhkM-.js`),__vite__mapDeps([141,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,91,26,92,28,29,31,93,94,95,96,119,128])),"/web/pages/system/grid-nav/index.tsx":()=>d(()=>import(`./grid-nav-Ct7LoXI6.js`),__vite__mapDeps([142,1,2,4,5,6,7,8,9,103,57,91,33,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96,128,90,42,97,98,36])),"/web/pages/system/info.tsx":()=>d(()=>import(`./info-BtVzNRA5.js`),__vite__mapDeps([143,2,1,4,5,6,7,8,9,23,24,25,26,15,37,60,121,12,29,18,19,76,80,51,31])),"/web/pages/system/mail.tsx":()=>d(()=>import(`./mail-BZ_fP89w.js`),__vite__mapDeps([144,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,91,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/system/role.tsx":()=>d(()=>import(`./role-BHuprRit.js`),__vite__mapDeps([145,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,84,85,86,27,87,38,88,89,26,92,28,29,31,146,90,91,93,94,95,96,42,97,98,36])),"/web/pages/system/rule.tsx":()=>d(()=>import(`./rule-CbggZoQ1.js`),__vite__mapDeps([147,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,103,28,29,31,139,36,146,90,84,85,86,27,87,38,88,89,91,26,92,93,94,95,96,42,97,98,137])),"/web/pages/system/storage.tsx":()=>d(()=>import(`./storage-BWYMnyuK.js`),__vite__mapDeps([148,1,2,33,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,91,84,85,86,27,87,38,88,89,26,92,28,29,31,93,94,95,96])),"/web/pages/system/user.tsx":()=>d(()=>import(`./user-CK6rMVjg.js`),__vite__mapDeps([149,1,2,4,5,6,7,8,9,54,21,10,14,15,16,17,18,19,24,20,11,12,40,41,55,22,56,44,25,39,57,37,45,58,59,60,61,62,63,43,46,64,65,66,67,47,48,68,69,70,71,49,50,72,73,74,75,76,77,78,79,80,81,82,83,51,23,29,98,36,33,31,146,90,84,85,86,27,87,38,88,89,91,26,92,28,93,94,95,96,42,97,137])),"/web/pages/user/profile.tsx":()=>d(()=>import(`./profile-CrJjtc8D.js`),__vite__mapDeps([150,1,2,4,5,6,7,8,9,10,11,12,23,24,25,57,85,62,86,26,15,61,14,16,63,43,44,45,46,100,19,55,40,41,21,22,56,27,88,89,64,17,29,18,94,95,67,48,68,73,74,75,77,51,98,36,33,31,151]))}),Tt=[`/login`];function Et(e){return(0,L.jsx)(P.Suspense,{fallback:null,children:(0,L.jsx)((0,P.lazy)(e),{})})}function Dt(){let e=[];for(let t in H){let n=t.replace(`/web/pages`,``).replace(/\.tsx$/,``).replace(/\/index$/,``);n||=`/`,!Tt.includes(n)&&e.push({id:n,path:n,element:Et(H[t])})}return e}function Ot(){return f([{Component:wt,children:[...Dt(),{path:`*`,element:Et(H[`/web/pages/result/404.tsx`])}]},{path:`/`,element:(0,L.jsx)(g,{to:`/dashboard/analysis`})},{path:`login`,element:(0,L.jsx)(Le,{})}])}function kt(){let{message:e,modal:t,notification:n}=ce.useApp();return window.$message=e,window.$modal=t,window.$notification=n,null}var At=({children:e})=>{let t=b(e=>e.themeConfig),{antdLocale:n}=Fe();return(0,L.jsx)(oe,{theme:(0,P.useMemo)(()=>({components:{Layout:{headerPadding:`0 `+t.headerPadding+`px`,headerHeight:t.headerHeight,bodyBg:t.bodyBg,footerBg:t.footerBg,headerBg:t.headerBg,headerColor:t.headerColor,siderBg:t.siderBg,footerPadding:0},Menu:{activeBarBorderWidth:0,itemBg:`transparent`,subMenuItemBg:`transparent`}},token:{colorPrimary:t.colorPrimary,colorBgBase:t.colorBg,colorTextBase:t.colorText,colorError:t.colorError,colorInfo:t.colorPrimary,colorLink:t.colorPrimary,colorSuccess:t.colorSuccess,colorWarning:t.colorWarning,borderRadius:t.borderRadius,controlHeight:t.controlHeight},algorithm:t.algorithm?ut[t.algorithm]:void 0}),[t]),locale:n,children:(0,L.jsxs)(ce,{children:[(0,L.jsx)(kt,{}),e]})})},jt=()=>{let{changeLanguage:e}=Fe(),t=Me(e=>e.info),n=b(e=>e.initWebInfo),r=Re(e=>e.initDict),[i,a]=(0,P.useState)(),o=async()=>{n(),await r(),await e(localStorage.getItem(`i18nextLng`)||`zh`),localStorage.getItem(`token`)?await t():window.location.pathname!==`/login`&&(window.location.href=`/login`)};return(0,P.useEffect)(()=>{o(),a(Ot())},[]),(0,L.jsx)(At,{children:i&&(0,L.jsx)(h,{router:i})})},U=e=>typeof e==`string`,W=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},Mt=e=>e==null?``:``+e,Nt=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},Pt=/###/g,Ft=e=>e&&e.indexOf(`###`)>-1?e.replace(Pt,`.`):e,It=e=>!e||U(e),G=(e,t,n)=>{let r=U(t)?t.split(`.`):t,i=0;for(;i{let{obj:r,k:i}=G(e,t,Object);if(r!==void 0||t.length===1){r[i]=n;return}let a=t[t.length-1],o=t.slice(0,t.length-1),s=G(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=G(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},Rt=(e,t,n,r)=>{let{obj:i,k:a}=G(e,t,Object);i[a]=i[a]||[],i[a].push(n)},K=(e,t)=>{let{obj:n,k:r}=G(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},zt=(e,t,n)=>{let r=K(e,n);return r===void 0?K(t,n):r},Bt=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(r in e?U(e[r])||e[r]instanceof String||U(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):Bt(e[r],t[r],n):e[r]=t[r]);return e},q=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),Vt={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`,"/":`/`},Ht=e=>U(e)?e.replace(/[&<>"'\/]/g,e=>Vt[e]):e,Ut=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)return t;let n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}},Wt=[` `,`,`,`?`,`!`,`;`],Gt=new Ut(20),Kt=(e,t,n)=>{t||=``,n||=``;let r=Wt.filter(e=>t.indexOf(e)<0&&n.indexOf(e)<0);if(r.length===0)return!0;let i=Gt.getRegExp(`(${r.map(e=>e===`?`?`\\?`:e).join(`|`)})`),a=!i.test(e);if(!a){let t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a},qt=(e,t,n=`.`)=>{if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;let r=t.split(n),i=e;for(let e=0;e-1&&oe?.replace(/_/g,`-`),Jt={type:`logger`,log(e){this.output(`log`,e)},warn(e){this.output(`warn`,e)},error(e){this.output(`error`,e)},output(e,t){console?.[e]?.apply?.(console,t)}},Y=new class e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||`i18next:`,this.logger=e||Jt,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,`log`,``,!0)}warn(...e){return this.forward(e,`warn`,``,!0)}error(...e){return this.forward(e,`error`,``)}deprecate(...e){return this.forward(e,`warn`,`WARNING DEPRECATED: `,!0)}forward(e,t,n,r){return r&&!this.debug?null:(U(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(t){return new e(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t||=this.options,t.prefix=t.prefix||this.prefix,new e(this.logger,t)}},X=class{constructor(){this.observers={}}on(e,t){return e.split(` `).forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,n])=>{for(let r=0;r{for(let i=0;i-1&&this.options.ns.splice(t,1)}getResource(e,t,n,r={}){let i=r.keySeparator===void 0?this.options.keySeparator:r.keySeparator,a=r.ignoreJSONStructure===void 0?this.options.ignoreJSONStructure:r.ignoreJSONStructure,o;e.indexOf(`.`)>-1?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):U(n)&&i?o.push(...n.split(i)):o.push(n)));let s=K(this.data,o);return!s&&!t&&!n&&e.indexOf(`.`)>-1&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!U(n)?s:qt(this.data?.[e]?.[t],n,i)}addResource(e,t,n,r,i={silent:!1}){let a=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.indexOf(`.`)>-1&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),Lt(this.data,o,r),i.silent||this.emit(`added`,e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(let r in n)(U(n[r])||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit(`added`,e,t,n)}addResourceBundle(e,t,n,r,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(`.`)>-1&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=K(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?Bt(s,n,i):s={...s,...n},Lt(this.data,o,s),a.silent||this.emit(`added`,e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(`removed`,e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||=this.options.defaultNS,this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}},Xt={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(e=>{t=this.processors[e]?.process(t,n,r,i)??t}),t}},Zt=Symbol(`i18next/PATH_KEY`);function Qt(){let e=[],t=Object.create(null),n;return t.get=(r,i)=>(n?.revoke?.(),i===Zt?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}function Z(e,t){let{[Zt]:n}=e(Qt()),r=t?.keySeparator??`.`,i=t?.nsSeparator??`:`;if(n.length>1&&i){let e=t?.ns,a=Array.isArray(e)?e:null;if(a&&a.length>1&&a.slice(1).includes(n[0]))return`${n[0]}${i}${n.slice(1).join(r)}`}return n.join(r)}var $t={},en=e=>!U(e)&&typeof e!=`boolean`&&typeof e!=`number`,tn=class e extends X{constructor(e,t={}){super(),Nt([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=Y.create(`translator`)}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let n={...t};if(e==null)return!1;let r=this.resolve(e,n);if(r?.res===void 0)return!1;let i=en(r.res);return!(n.returnObjects===!1&&i)}extractFromKey(e,t){let n=t.nsSeparator===void 0?this.options.nsSeparator:t.nsSeparator;n===void 0&&(n=`:`);let r=t.keySeparator===void 0?this.options.keySeparator:t.keySeparator,i=t.ns||this.options.defaultNS||[],a=n&&e.indexOf(n)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!Kt(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:U(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(a[0])>-1)&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:U(i)?[i]:i}}translate(t,n,r){let i=typeof n==`object`?{...n}:n;if(typeof i!=`object`&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i==`object`&&(i={...i}),i||={},t==null)return``;typeof t==`function`&&(t=Z(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(e=>typeof e==`function`?Z(e,{...this.options,...i}):String(e));let a=i.returnDetails===void 0?this.options.returnDetails:i.returnDetails,o=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,{key:s,namespaces:c}=this.extractFromKey(t[t.length-1],i),l=c[c.length-1],u=i.nsSeparator===void 0?this.options.nsSeparator:i.nsSeparator;u===void 0&&(u=`:`);let d=i.lng||this.language,f=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()===`cimode`)return f?a?{res:`${l}${u}${s}`,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:`${l}${u}${s}`:a?{res:s,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:s;let p=this.resolve(t,i),m=p?.res,h=p?.usedKey||s,g=p?.exactUsedKey||s,_=[`[object Number]`,`[object Function]`,`[object RegExp]`],v=i.joinArrays===void 0?this.options.joinArrays:i.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b=i.count!==void 0&&!U(i.count),x=e.hasDefaultValue(i),S=b?this.pluralResolver.getSuffix(d,i.count,i):``,C=i.ordinal&&b?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):``,w=b&&!i.ordinal&&i.count===0,T=w&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${S}`]||i[`defaultValue${C}`]||i.defaultValue,E=m;y&&!m&&x&&(E=T);let ee=en(E),te=Object.prototype.toString.apply(E);if(y&&E&&ee&&_.indexOf(te)<0&&!(U(v)&&Array.isArray(E))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn(`accessing an object - but returnObjects options is not enabled!`);let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,E,{...i,ns:c}):`key '${s} (${this.language})' returned an object instead of string.`;return a?(p.res=e,p.usedParams=this.getUsedParamsDetails(i),p):e}if(o){let e=Array.isArray(E),t=e?[]:{},n=e?g:h;for(let e in E)if(Object.prototype.hasOwnProperty.call(E,e)){let r=`${n}${o}${e}`;x&&!m?t[e]=this.translate(r,{...i,defaultValue:en(T)?T[e]:void 0,joinArrays:!1,ns:c}):t[e]=this.translate(r,{...i,joinArrays:!1,ns:c}),t[e]===r&&(t[e]=E[e])}m=t}}else if(y&&U(v)&&Array.isArray(m))m=m.join(v),m&&=this.extendTranslation(m,t,i,r);else{let e=!1,n=!1;!this.isValidLookup(m)&&x&&(e=!0,m=T),this.isValidLookup(m)||(n=!0,m=s);let a=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:m,c=x&&T!==m&&this.options.updateMissing;if(n||e||c){if(this.logger.log(c?`updateKey`:`missingKey`,d,l,s,c?T:m),o){let e=this.resolve(s,{...i,keySeparator:!1});e&&e.res&&this.logger.warn(`Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.`)}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo===`fallback`&&t&&t[0])for(let n=0;n{let r=x&&n!==m?n:a;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,r,c,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,r,c,i),this.emit(`missingKey`,e,l,t,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,i);w&&i[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],s+t,i[`defaultValue${t}`]||T)})}):n(e,s,T))}m=this.extendTranslation(m,t,i,p,r),n&&m===s&&this.options.appendNamespaceToMissingKey&&(m=`${l}${u}${s}`),(n||e)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${s}`:s,e?m:void 0,i))}return a?(p.res=m,p.usedParams=this.getUsedParamsDetails(i),p):m}extendTranslation(e,t,n,r,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});let a=U(e)&&(n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables),o;if(a){let t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=n.replace&&!U(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,n.lng||this.language||r.usedLng,n),a){let t=e.match(this.interpolator.nestingRegexp),r=t&&t.length;oi?.[0]===e[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null):this.translate(...e,t),n)),n.interpolation&&this.interpolator.reset()}let a=n.postProcess||this.options.postProcess,o=U(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=Xt.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,i,a,o;return U(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(e=>typeof e==`function`?Z(e,{...this.options,...t}):e)),e.forEach(e=>{if(this.isValidLookup(n))return;let s=this.extractFromKey(e,t),c=s.key;r=c;let l=s.namespaces;this.options.fallbackNS&&(l=l.concat(this.options.fallbackNS));let u=t.count!==void 0&&!U(t.count),d=u&&!t.ordinal&&t.count===0,f=t.context!==void 0&&(U(t.context)||typeof t.context==`number`)&&t.context!==``,p=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);l.forEach(e=>{this.isValidLookup(n)||(o=e,!$t[`${p[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&($t[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${p.join(`, `)}" won't get resolved as namespace "${o}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`)),p.forEach(r=>{if(this.isValidLookup(n))return;a=r;let o=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,c,r,e,t);else{let e;u&&(e=this.pluralResolver.getSuffix(r,t.count,t));let n=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(t.ordinal&&e.indexOf(i)===0&&o.push(c+e.replace(i,this.options.pluralSeparator)),o.push(c+e),d&&o.push(c+n)),f){let r=`${c}${this.options.contextSeparator||`_`}${t.context}`;o.push(r),u&&(t.ordinal&&e.indexOf(i)===0&&o.push(r+e.replace(i,this.options.pluralSeparator)),o.push(r+e),d&&o.push(r+n))}}let s;for(;s=o.pop();)this.isValidLookup(n)||(i=s,n=this.getResource(r,e,s,t))}))})}),{res:n,usedKey:r,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e===``)}getResource(e,t,n,r={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){let t=[`defaultValue`,`ordinal`,`context`,`replace`,`lng`,`lngs`,`fallbackLng`,`ns`,`keySeparator`,`nsSeparator`,`returnObjects`,`returnDetails`,`joinArrays`,`postProcess`,`interpolation`],n=e.replace&&!U(e.replace),r=n?e.replace:e;if(n&&e.count!==void 0&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(let e of t)delete r[e]}return r}static hasDefaultValue(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t.substring(0,12)===`defaultValue`&&e[t]!==void 0)return!0;return!1}},nn=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Y.create(`languageUtils`)}getScriptPartFromCode(e){if(e=J(e),!e||e.indexOf(`-`)<0)return null;let t=e.split(`-`);return t.length===2||(t.pop(),t[t.length-1].toLowerCase()===`x`)?null:this.formatLanguageCode(t.join(`-`))}getLanguagePartFromCode(e){if(e=J(e),!e||e.indexOf(`-`)<0)return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(U(e)&&e.indexOf(`-`)>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load===`languageOnly`||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;let n=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let n=this.getScriptPartFromCode(e);if(this.isSupportedCode(n))return t=n;let r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(e=>{if(e===r||!(e.indexOf(`-`)<0&&r.indexOf(`-`)<0)&&(e.indexOf(`-`)>0&&r.indexOf(`-`)<0&&e.substring(0,e.indexOf(`-`))===r||e.indexOf(r)===0&&r.length>1))return e})}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),U(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||=e[this.getScriptPartFromCode(t)],n||=e[this.formatLanguageCode(t)],n||=e[this.getLanguagePartFromCode(t)],n||=e.default,n||[]}toResolveHierarchy(e,t){let n=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return U(e)&&(e.indexOf(`-`)>-1||e.indexOf(`_`)>-1)?(this.options.load!==`languageOnly`&&i(this.formatLanguageCode(e)),this.options.load!==`languageOnly`&&this.options.load!==`currentOnly`&&i(this.getScriptPartFromCode(e)),this.options.load!==`currentOnly`&&i(this.getLanguagePartFromCode(e))):U(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))}),r}},rn={zero:0,one:1,two:2,few:3,many:4,other:5},an={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},on=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=Y.create(`pluralResolver`),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let n=J(e===`dev`?`en`:e),r=t.ordinal?`ordinal`:`cardinal`,i=JSON.stringify({cleanedCode:n,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(typeof Intl>`u`)return this.logger.error(`No Intl support, please use an Intl polyfill!`),an;if(!e.match(/-|_/))return an;let n=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(n,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?n.resolvedOptions().pluralCategories.sort((e,t)=>rn[e]-rn[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:``}${e}`):[]}getSuffix(e,t,n={}){let r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:``}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix(`dev`,t,n))}},sn=(e,t,n,r=`.`,i=!0)=>{let a=zt(e,t,n);return!a&&i&&U(n)&&(a=qt(e,n,r),a===void 0&&(a=qt(t,n,r))),a},cn=e=>e.replace(/\$/g,`$$$$`),ln=class{constructor(e={}){this.logger=Y.create(`interpolator`),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||={escapeValue:!0};let{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:s,formatSeparator:c,unescapeSuffix:l,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:f,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:h,maxReplaces:g,alwaysFormat:_}=e.interpolation;this.escape=t===void 0?Ht:t,this.escapeValue=n===void 0||n,this.useRawValueToEscape=r!==void 0&&r,this.prefix=i?q(i):a||`{{`,this.suffix=o?q(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u||`-`,this.unescapeSuffix=this.unescapePrefix?``:l||``,this.nestingPrefix=d?q(d):f||q(`$t(`),this.nestingSuffix=p?q(p):m||q(`)`),this.nestingOptionsSeparator=h||`,`,this.maxReplaces=g||1e3,this.alwaysFormat=_!==void 0&&_,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,`g`);this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,a,o,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(e.indexOf(this.formatSeparator)<0){let i=sn(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(sn(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp();let l=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=r?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:r.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>cn(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?cn(this.escape(e)):cn(e)}].forEach(t=>{for(o=0;i=t.regex.exec(e);){let n=i[1].trim();if(a=c(n),a===void 0)if(typeof l==`function`){let t=l(e,i,r);a=U(t)?t:``}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a=``;else if(u){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=``;else!U(a)&&!this.useRawValueToEscape&&(a=Mt(a));let s=t.safeValue(a);if(e=e.replace(i[0],s),u?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,i,a,o=(e,t)=>{let n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;let r=e.split(RegExp(`${q(n)}[ ]*{`)),i=`{${r[1]}`;e=r[0],i=this.interpolate(i,a);let o=i.match(/'/g),s=i.match(/"/g);((o?.length??0)%2==0&&!s||(s?.length??0)%2!=0)&&(i=i.replace(/'/g,`"`));try{a=JSON.parse(i),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!U(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=/{.*}/.test(r[1])?r[1].lastIndexOf(`}`)+1:r[1].indexOf(this.formatSeparator);if(c!==-1&&(s=r[1].slice(c).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),r[1]=r[1].slice(0,c)),i=t(o.call(this,r[1].trim(),a),a),i&&r[0]===e&&!U(i))return i;U(i)||(i=Mt(i)),i||=(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),``),s.length&&(i=s.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}},un=e=>{let t=e.toLowerCase().trim(),n={};if(e.indexOf(`(`)>-1){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].substring(0,r[1].length-1);t===`currency`&&i.indexOf(`:`)<0?n.currency||=i.trim():t===`relativetime`&&i.indexOf(`:`)<0?n.range||=i.trim():i.split(`;`).forEach(e=>{if(e){let[t,...r]=e.split(`:`),i=r.join(`:`).trim().replace(/^'+|'+$/g,``),a=t.trim();n[a]||(n[a]=i),i===`false`&&(n[a]=!1),i===`true`&&(n[a]=!0),isNaN(i)||(n[a]=parseInt(i,10))}})}return{formatName:t,formatOptions:n}},dn=e=>{let t={};return(n,r,i)=>{let a=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(a={...a,[i.interpolationkey]:void 0});let o=r+JSON.stringify(a),s=t[o];return s||(s=e(J(r),i),t[o]=s),s(n)}},fn=e=>(t,n,r)=>e(J(n),r)(t),pn=class{constructor(e={}){this.logger=Y.create(`formatter`),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||`,`;let n=t.cacheInBuiltFormats?dn:fn;this.formats={number:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)}),currency:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t,style:`currency`});return e=>n.format(e)}),datetime:n((e,t)=>{let n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)}),relativetime:n((e,t)=>{let n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||`day`)}),list:n((e,t)=>{let n=new Intl.ListFormat(e,{...t});return e=>n.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=dn(t)}format(e,t,n,r={}){let i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf(`(`)>1&&i[0].indexOf(`)`)<0&&i.find(e=>e.indexOf(`)`)>-1)){let e=i.findIndex(e=>e.indexOf(`)`)>-1);i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:a}=un(t);if(this.formats[i]){let t=e;try{let o=r?.formatParams?.[r.interpolationkey]||{},s=o.locale||o.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}else this.logger.warn(`there was no format function for ${i}`);return e},e)}},mn=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},hn=class extends X{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=Y.create(`backendConnector`),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(n,r.backend,r)}queueLoad(e,t,n,r){let i={},a={},o={},s={};return e.forEach(e=>{let r=!0;t.forEach(t=>{let o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(this.state[o]===1?a[o]===void 0&&(a[o]=!0):(this.state[o]=1,r=!1,a[o]===void 0&&(a[o]=!0),i[o]===void 0&&(i[o]=!0),s[t]===void 0&&(s[t]=!0)))}),r||(o[e]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){let r=e.split(`|`),i=r[0],a=r[1];t&&this.emit(`failedLoading`,i,a,t),!t&&n&&this.store.addResourceBundle(i,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);let o={};this.queue.forEach(n=>{Rt(n.loaded,[i],a),mn(n,e),t&&n.errors.push(t),n.pendingCount===0&&!n.done&&(Object.keys(n.loaded).forEach(e=>{o[e]||(o[e]={});let t=n.loaded[e];t.length&&t.forEach(t=>{o[e][t]===void 0&&(o[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit(`loaded`,o),this.queue=this.queue.filter(e=>!e.done)}read(e,t,n,r=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});return}this.readingCalls++;let o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}if(o&&s&&r{this.read.call(this,e,t,n,r+1,i*2,a)},i);return}a(o,s)},s=this.backend[n].bind(this.backend);if(s.length===2){try{let n=s(e,t);n&&typeof n.then==`function`?n.then(e=>o(null,e)).catch(o):o(null,n)}catch(e){o(e)}return}return s(e,t,o)}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn(`No backend was added via i18next.use. Will not load resources.`),r&&r();U(e)&&(e=this.languageUtils.toResolveHierarchy(e)),U(t)&&(t=[t]);let i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=``){let n=e.split(`|`),r=n[0],i=n[1];this.read(r,i,`read`,void 0,void 0,(n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)})}saveMissing(e,t,n,r,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`);return}if(!(n==null||n===``)){if(this.backend?.create){let s={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let i;i=c.length===5?c(e,t,n,r,s):c(e,t,n,r),i&&typeof i.then==`function`?i.then(e=>o(null,e)).catch(o):o(null,i)}catch(e){o(e)}else c(e,t,n,r,o,s)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}},gn=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,simplifyPluralSuffix:!0,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),U(e[1])&&(t.defaultValue=e[1]),U(e[2])&&(t.tDescription=e[2]),typeof e[2]==`object`||typeof e[3]==`object`){let n=e[3]||e[2];Object.keys(n).forEach(e=>{t[e]=n[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),_n=e=>(U(e.ns)&&(e.ns=[e.ns]),U(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),U(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.(`cimode`)<0&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),typeof e.initImmediate==`boolean`&&(e.initAsync=e.initImmediate),e),Q=()=>{},vn=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},yn=`__i18next_supportNoticeShown`,bn=()=>!!(typeof globalThis<`u`&&globalThis[yn]||typeof process<`u`&&{}.I18NEXT_NO_SUPPORT_NOTICE||typeof process<`u`),xn=()=>{typeof globalThis<`u`&&(globalThis[yn]=!0)},Sn=e=>!!(e?.modules?.backend?.name?.indexOf(`Locize`)>0||e?.modules?.backend?.constructor?.name?.indexOf(`Locize`)>0||e?.options?.backend?.backends&&e.options.backend.backends.some(e=>e?.name?.indexOf(`Locize`)>0||e?.constructor?.name?.indexOf(`Locize`)>0)||e?.options?.backend?.projectId||e?.options?.backend?.backendOptions&&e.options.backend.backendOptions.some(e=>e?.projectId)),$=class e extends X{constructor(e={},t){if(super(),this.options=_n(e),this.services={},this.logger=Y,this.modules={external:[]},vn(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e==`function`&&(t=e,e={}),e.defaultNS==null&&e.ns&&(U(e.ns)?e.defaultNS=e.ns:e.ns.indexOf(`translation`)<0&&(e.defaultNS=e.ns[0]));let n=gn();this.options={...n,...this.options,..._n(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!=`function`&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler),this.options.showSupportNotice!==!1&&!Sn(this)&&!bn()&&(typeof console<`u`&&console.info!==void 0&&console.info(`🌐 i18next is made possible by our own product, Locize — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com 💙`),xn());let r=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?Y.init(r(this.modules.logger),this.options):Y.init(null,this.options);let e;e=this.modules.formatter?this.modules.formatter:pn;let t=new nn(this.options);this.store=new Yt(this.options.resources,this.options);let i=this.services;i.logger=Y,i.resourceStore=this.store,i.languageUtils=t,i.pluralResolver=new on(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format&&this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`),e&&(!this.options.interpolation.format||this.options.interpolation.format===n.interpolation.format)&&(i.formatter=r(e),i.formatter.init&&i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new ln(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new hn(r(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(i.languageDetector=r(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=r(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new tn(this.services,this.options),this.translator.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||=Q,this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&e[0]!==`dev`&&(this.options.lng=e[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn(`init: no languageDetector is used and no lng is defined`),[`getResource`,`hasResourceBundle`,`getResourceBundle`,`getDataByLanguage`].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),[`addResource`,`addResources`,`addResourceBundle`,`removeResourceBundle`].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let i=W(),a=()=>{let e=(e,n)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn(`init: i18next is already initialized. You should call init just once!`),this.isInitialized=!0,this.options.isClone||this.logger.log(`initialized`,this.options),this.emit(`initialized`,this.options),i.resolve(n),t(e,n)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?a():setTimeout(a,0),i}loadResources(e,t=Q){let n=t,r=U(e)?e:this.language;if(typeof e==`function`&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r?.toLowerCase()===`cimode`&&(!this.options.preload||this.options.preload.length===0))return n();let e=[],t=t=>{t&&t!==`cimode`&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{t!==`cimode`&&e.indexOf(t)<0&&e.push(t)})};r?t(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{!e&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(e)})}else n(null)}reloadResources(e,t,n){let r=W();return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e||=this.languages,t||=this.options.ns,n||=Q,this.services.backendConnector.reload(e,t,e=>{r.resolve(),n(e)}),r}use(e){if(!e)throw Error(`You are passing an undefined module! Please check the object you are passing to i18next.use()`);if(!e.type)throw Error(`You are passing a wrong module! Please check the object you are passing to i18next.use()`);return e.type===`backend`&&(this.modules.backend=e),(e.type===`logger`||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type===`languageDetector`&&(this.modules.languageDetector=e),e.type===`i18nFormat`&&(this.modules.i18nFormat=e),e.type===`postProcessor`&&Xt.addPostProcessor(e),e.type===`formatter`&&(this.modules.formatter=e),e.type===`3rdParty`&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!([`cimode`,`dev`].indexOf(e)>-1)){for(let e=0;e-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let n=W();this.emit(`languageChanging`,e);let r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,a)=>{a?this.isLanguageChangingTo===e&&(r(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit(`languageChanged`,a),this.logger.log(`languageChanged`,a)):this.isLanguageChangingTo=void 0,n.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},a=t=>{!e&&!t&&this.services.languageDetector&&(t=[]);let n=U(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(U(t)?[t]:t);a&&(this.language||r(a),this.translator.language||this.translator.changeLanguage(a),this.services.languageDetector?.cacheUserLanguage?.(a)),this.loadResources(a,e=>{i(e,a)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),n}getFixedT(e,t,n){let r=(e,t,...i)=>{let a;a=typeof t==`object`?{...t}:this.options.overloadTranslationOptionHandler([e,t].concat(i)),a.lng=a.lng||r.lng,a.lngs=a.lngs||r.lngs,a.ns=a.ns||r.ns,a.keyPrefix!==``&&(a.keyPrefix=a.keyPrefix||n||r.keyPrefix);let o={...this.options,...a};typeof a.keyPrefix==`function`&&(a.keyPrefix=Z(a.keyPrefix,o));let s=this.options.keySeparator||`.`,c;return a.keyPrefix&&Array.isArray(e)?c=e.map(e=>(typeof e==`function`&&(e=Z(e,o)),`${a.keyPrefix}${s}${e}`)):(typeof e==`function`&&(e=Z(e,o)),c=a.keyPrefix?`${a.keyPrefix}${s}${e}`:e),this.t(c,a)};return U(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn(`hasLoadedNamespace: i18next was not initialized`,this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn(`hasLoadedNamespace: i18n.languages were undefined or empty`,this.languages),!1;let n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(n.toLowerCase()===`cimode`)return!0;let a=(e,t)=>{let n=this.services.backendConnector.state[`${e}|${t}`];return n===-1||n===0||n===2};if(t.precheck){let e=t.precheck(this,a);if(e!==void 0)return e}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(i,e)))}loadNamespaces(e,t){let n=W();return this.options.ns?(U(e)&&(e=[e]),e.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=W();U(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=r.concat(i),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language),!e)return`rtl`;try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch{}let t=`ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb`.split(`.`),n=this.services?.languageUtils||new nn(gn());return e.toLowerCase().indexOf(`-latn`)>1?`ltr`:t.indexOf(n.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf(`-arab`)>1?`rtl`:`ltr`}static createInstance(t={},n){let r=new e(t,n);return r.createInstance=e.createInstance,r}cloneInstance(t={},n=Q){let r=t.forkResourceStore;r&&delete t.forkResourceStore;let i={...this.options,...t,isClone:!0},a=new e(i);if((t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),[`store`,`services`,`language`].forEach(e=>{a[e]=this[e]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new Yt(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((n,r)=>(n[r]={...e[t][r]},n),e[t]),e),{}),i),a.services.resourceStore=a.store),t.interpolation){let e={...gn().interpolation,...this.options.interpolation,...t.interpolation},n={...i,interpolation:e};a.services.interpolator=new ln(n)}return a.translator=new tn(a.services,i),a.translator.on(`*`,(e,...t)=>{a.emit(e,...t)}),a.init(i,n),a.translator.options=i,a.translator.backendConnector.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}.createInstance();$.createInstance,$.dir,$.init,$.loadResources,$.reloadResources,$.use,$.changeLanguage,$.getFixedT,$.t,$.exists,$.setDefaultNamespace,$.hasLoadedNamespace,$.loadNamespaces,$.loadLanguages;var Cn={"menu.dashboard":`Dashboard`,"menu.analysis":`Analysis`,"menu.monitor":`Monitor`,"menu.workplace":`Workplace`,"menu.result":`Results`,"menu.result.success":`Success`,"menu.result.fail":`Failure`,"menu.result.warning":`Warning`,"menu.result.info":`Information`,"menu.exception":`Exceptions`,"menu.exception.403":`403`,"menu.exception.404":`404`,"menu.exception.500":`500`,"menu.multi-menu":`Multi-level Menu`,"menu.multi-menu.two":`Level 2`,"menu.multi-menu.first":`Level 2 Page`,"menu.multi-menu.two.three":`Level 3`,"menu.multi-menu.two.second":`Level 3 Page`,"menu.multi-menu.two.three.third":`Level 4`,"menu.page-layout":`Layouts`,"menu.page-layout.base-layout":`Basic Layout`,"menu.page-layout.fix-header":`Fixed Header`,"menu.page-layout.descriptions":`Descriptions`,"menu.example":`Examples`,"menu.example.user-selector":`User Selector`,"menu.example.icon-selector":`Icon Selector`,"menu.example.image-uploader":`Image Upload`,"menu.example.xin-form":`Xin Form`,"menu.example.xin-table":`Xin Table`,"menu.ai":`AI`,"menu.ai.chat":`Chat`,"menu.ai.agent":`Agents`,"menu.ai.conversation":`Conversations`,"menu.system":`System`,"menu.system.user":`Users`,"menu.system.dept":`Departments`,"menu.system.role":`Roles`,"menu.system.rule":`Menus`,"menu.system.info":`System Information`,"menu.system.file":`Files`,"menu.system.dict":`Dictionaries`,"menu.system.mail":`Mail`,"menu.system.storage":`Storage`,"menu.system.config":`Site Config`,"menu.system.ai":`AI`,"menu.system.carousel":`Carousel`,"menu.system.grid-nav":`Grid Navigation`,"menu.system.category":`Categories`,"menu.system.activity":`Activity Zone`,"menu.xin-admin":`XinAdmin`},wn={"login.username":`Username`,"login.password":`Password`,"login.usernamePlaceholder":`admin`,"login.passwordPlaceholder":`123456`,"login.usernameRequired":`Please enter your username!`,"login.passwordRequired":`Please enter your password!`,"login.remember":`Remember me`,"login.forgotPassword":`Forgot password`,"login.otherLogin":`Other login methods`,"login.success":`Login successful!`,"login.alreadyLoggedIn":`Already logged in, redirecting!`},Tn={"dashboard.since.lastWeek":`Since last week`,"dashboard.vs.lastWeek":`vs last week`,"dashboard.analysis.totalRevenue":`Total Revenue`,"dashboard.analysis.totalExpenses":`Total Expenses`,"dashboard.analysis.visitors":`Visitors`,"dashboard.analysis.likes":`Likes`,"dashboard.analysis.annualSales":`Annual Sales`,"dashboard.analysis.grossProfit":`Gross Profit`,"dashboard.analysis.netProfit":`Net Profit`,"dashboard.analysis.totalExpense":`Total Expense`,"dashboard.analysis.accessFrom":`Access From`,"dashboard.analysis.searchEngine":`Search Engine`,"dashboard.analysis.direct":`Direct`,"dashboard.analysis.email":`Email`,"dashboard.analysis.unionAds":`Union Ads`,"dashboard.analysis.videoAds":`Video Ads`,"dashboard.analysis.salesRanking":`Sales Ranking`,"dashboard.analysis.month":`Month`,"dashboard.analysis.year":`Year`,"dashboard.analysis.day":`Day`,"dashboard.analysis.article":`Article`,"dashboard.analysis.age":`Age`,"dashboard.analysis.address":`Address`,"dashboard.analysis.tags":`Tags`,"dashboard.analysis.action":`Action`,"dashboard.analysis.invite":`Invite`,"dashboard.analysis.delete":`Delete`,"dashboard.analysis.userReviews":`User Reviews`,"dashboard.analysis.reviewDescription":`Ant Design, a design language for background applications, is refined by Ant UED Team`,"dashboard.analysis.january":`January`,"dashboard.analysis.february":`February`,"dashboard.analysis.march":`March`,"dashboard.analysis.april":`April`,"dashboard.analysis.may":`May`,"dashboard.analysis.june":`June`,"dashboard.analysis.july":`July`,"dashboard.analysis.august":`August`,"dashboard.analysis.september":`September`,"dashboard.analysis.october":`October`,"dashboard.analysis.november":`November`,"dashboard.analysis.december":`December`},En={"dashboard.completion":`Completion`,"dashboard.vs.lastWeek":`vs last week`,"dashboard.monitor.helpService":`Help Service`,"dashboard.monitor.propertyFee":`Property Fee`,"dashboard.monitor.alarmEvents":`Alarm Events`,"dashboard.monitor.otherEvents":`Other Events`,"dashboard.monitor.todoList":`To-Do List`,"dashboard.monitor.myFocus":`My Focus`,"dashboard.monitor.all":`All`,"dashboard.monitor.propertyOrder":`Property Orders`,"dashboard.monitor.repairOrder":`Repair Orders`,"dashboard.monitor.fireSafety":`Fire Safety`,"dashboard.monitor.paidService":`Paid Services`,"dashboard.monitor.publicService":`Public Services`},Dn={"dashboard.workplace.greeting.morning":`Good Morning`,"dashboard.workplace.greeting.afternoon":`Good Afternoon`,"dashboard.workplace.greeting.evening":`Good Evening`,"dashboard.workplace.welcome":`Welcome back!`,"dashboard.workplace.today":`Today is`,"dashboard.workplace.myProjects":`My Projects`,"dashboard.workplace.myTeams":`My Teams`,"dashboard.workplace.latestActivities":`Latest Activities`,"dashboard.workplace.notifications":`Notifications`,"dashboard.workplace.appStore":`App Store`,"dashboard.workplace.appStore.desc":`Application distribution and management platform`,"dashboard.workplace.mallSystem":`Mall System`,"dashboard.workplace.mallSystem.desc":`Enterprise e-commerce solution`,"dashboard.workplace.collaboration":`Collaboration`,"dashboard.workplace.collaboration.desc":`Team collaboration and communication tools`,"dashboard.workplace.docCenter":`Document Center`,"dashboard.workplace.docCenter.desc":`Enterprise knowledge management and document collaboration`,"dashboard.workplace.badge.new":`New`,"dashboard.workplace.status.inProgress":`In Progress`,"dashboard.workplace.status.completed":`Completed`,"dashboard.workplace.status.planning":`Planning`,"dashboard.workplace.progress":`Progress`,"dashboard.workplace.members":`Members`,"dashboard.workplace.people":`people`,"dashboard.workplace.recentVisits":`Recent Visits`,"dashboard.workplace.location":`Local`,"dashboard.workplace.project1.name":`Enterprise Management System`,"dashboard.workplace.project1.desc":`Enterprise backend management system based on React and AntDesign`,"dashboard.workplace.project2.name":`Mobile H5 Application`,"dashboard.workplace.project2.desc":`Mobile e-commerce application developed with Vue3`,"dashboard.workplace.project3.name":`Data Visualization Platform`,"dashboard.workplace.project3.desc":`Big data visualization and analysis platform based on ECharts`,"dashboard.workplace.project4.name":`System Upgrade Notice`,"dashboard.workplace.project4.desc":`System will be upgraded and maintained from 2:00-4:00 AM this Friday`,"dashboard.workplace.project5.name":`Team Invitation`,"dashboard.workplace.project5.desc":`You have been invited to join the "New Product R&D" project team`,"dashboard.workplace.project6.name":`Task Reminder`,"dashboard.workplace.project6.desc":`You have 3 tasks that are about to expire, please handle them in time`},On={"system.info.title":`System Info`,"system.info.basic.title":`System Basic Info`,"system.info.project.title":`Project Address`,"system.info.changelog.title":`Changelog`,"system.info.author.title":`Author Introduction`,"system.info.desc.title":`System Description`,"system.info.join":`Join the community for updates and support`,"system.info.label.name":`System Name`,"system.info.label.version":`Version`,"system.info.label.build":`Build Tool`,"system.info.label.frontend":`Frontend Framework`,"system.info.label.ui":`UI Framework`,"system.info.label.css":`CSS Framework`,"system.info.label.router":`Router Management`,"system.info.label.state":`State Management`,"system.info.label.ts":`TypeScript`,"system.info.link.github":`GitHub Repository`,"system.info.link.docs":`Online Documentation`,"system.info.link.demo":`Demo Address`,"system.info.link.issues":`Issues & Feedback`,"system.info.log.content":`Refactored project modules based on React 19, Vite 7, ReactRouter 7, zustand 5, and TypeScript`,"system.info.author.name":`XinAdmin Team`,"system.info.author.role":`Enterprise-level Admin Solution Provider`,"system.info.contact.github":`GitHub`,"system.info.contact.group":`QQ Group`,"system.info.contact.discuss":`Discussions`,"system.info.desc.content":`XinAdmin is an enterprise-level admin template based on Ant Design design specifications, adopting the latest frontend tech stack including React 19, Vite 7, ReactRouter 7, zustand 5, and TypeScript. Core Features: ✨ Cutting-edge Stack - React 19 + Vite 7 + TypeScript 5.8 @@ -8,7 +8,7 @@ Core Features: 🎡 ReactRouter v7 - Supports backend dynamic routing, auto menu generation 🧩 TailwindCSS - Atomic CSS, perfect match with Ant Design 🎡 Built-in i18n - Supports 5 languages including English, Chinese, etc. -⛳ Complete Page Components - Includes error pages, layout components, etc.`,"system.info.tag.enterprise":`Enterprise`,"system.info.tag.ready":`Out of Box`,"system.info.tag.scalable":`Scalable`,"system.info.tag.modern":`Modern`,"system.info.tag.i18n":`Internationalization`,"system.info.tag.auth":`Access Control`},kn={"system.config.page.title":`Site Configs`,"system.config.page.description":`Manage site configuration items, support dynamic configuration of site parameters`,"system.config.group.title":`Config Groups`,"system.config.group.add":`Add`,"system.config.group.create":`Create Config Group`,"system.config.group.edit":`Edit Config Group`,"system.config.group.delete":`Delete`,"system.config.group.deleteConfirm":`Confirm deletion?`,"system.config.group.deleteWarning":`Deleting a setting group will also delete all settings in that group`,"system.config.group.field.title":`Title`,"system.config.group.field.title.required":`Please enter title`,"system.config.group.field.key":`Key`,"system.config.group.field.key.required":`Please enter key`,"system.config.group.field.remark":`Description`,"system.config.group.createSuccess":`Config group created successfully`,"system.config.group.updateSuccess":`Config group updated successfully`,"system.config.group.deleteSuccess":`Config group deleted successfully`,"system.config.item.title":`Config Items`,"system.config.item.add":`Add Config Item`,"system.config.item.create":`Create Config Item`,"system.config.item.edit":`Edit Config Item`,"system.config.item.delete":`Delete`,"system.config.item.deleteConfirm":`Confirm deletion?`,"system.config.item.selectGroup":`Please select a setting group first`,"system.config.item.empty":`No setting items, please click "Add Config Item" button to add`,"system.config.item.field.key":`Key`,"system.config.item.field.key.required":`Please enter key`,"system.config.item.field.title":`Title`,"system.config.item.field.title.required":`Please enter title`,"system.config.item.field.type":`Component Type`,"system.config.item.field.type.required":`Please select component type`,"system.config.item.field.describe":`Description`,"system.config.item.field.options":`Options`,"system.config.item.field.options.tooltip":`Options for components such as radio buttons and checkboxes, e.g.: 1=Option 1 /n 2=Option 2`,"system.config.item.field.props":`Properties`,"system.config.item.field.props.tooltip":`Component configuration, supporting simple settings, e.g.: placeholder=Please enter /n maxLength=100`,"system.config.item.field.values":`Default Value`,"system.config.item.field.sort":`Sort`,"system.config.item.createSuccess":`Config item created successfully`,"system.config.item.updateSuccess":`Config item updated successfully`,"system.config.item.deleteSuccess":`Config item deleted successfully`,"system.config.item.refreshCacheSuccess":`refresh cache successfully`,"system.config.component.Input":`Input`,"system.config.component.TextArea":`Text Area`,"system.config.component.InputNumber":`Number Input`,"system.config.component.Switch":`Switch`,"system.config.component.Radio":`Radio`,"system.config.component.Checkbox":`Checkbox`,"system.config.form.placeholder.input":`Please input`,"system.config.form.placeholder.select":`Please select`,"system.config.form.placeholder.date":`Please select date`,"system.config.save.button":`Save`,"system.config.refresh.button":`Refresh Cache`,"system.config.confirm.ok":`Confirm`,"system.config.confirm.cancel":`Cancel`},An={"system.dept.page.title":`Department Management`,"system.dept.page.description":`Manage system departments, configure department hierarchy, manage department users`,"system.dept.tab.info":`Basic Information`,"system.dept.tab.users":`User List`,"system.dept.unnamed":`Unnamed Department`,"system.dept.createSuccess":`Department added successfully!`,"system.dept.updateSuccess":`Department updated successfully!`,"system.dept.deleteSuccess":`Batch department deletion successful!`,"system.dept.column.name":`Department Name`,"system.dept.column.name.required":`Department name is required!`,"system.dept.column.code":`Department Code`,"system.dept.column.code.required":`Department code is required!`,"system.dept.column.type":`Department Type`,"system.dept.column.type.0":`Company`,"system.dept.column.type.1":`Department`,"system.dept.column.type.2":`Position`,"system.dept.column.type.required":`Department type is required!`,"system.dept.column.parent":`Parent Department`,"system.dept.column.parent.0":`Top Level`,"system.dept.column.parent.required":`Parent department is required!`,"system.dept.column.email":`Email`,"system.dept.column.address":`Address`,"system.dept.column.phone":`Phone`,"system.dept.column.sort":`Sort Order`,"system.dept.column.sort.required":`Sort order is required!`,"system.dept.column.status":`Status`,"system.dept.column.status.0":`Normal`,"system.dept.column.status.1":`Disabled`,"system.dept.column.status.required":`Status is required!`,"system.dept.column.remark":`Remarks`,"system.dept.users.column.id":`User ID`,"system.dept.users.column.username":`Username`,"system.dept.users.column.nickname":`Nickname`,"system.dept.users.column.email":`Email`,"system.dept.users.column.mobile":`Mobile Number`,"system.dept.users.column.status":`Status`,"system.dept.users.column.status.0":`Enabled`,"system.dept.users.column.status.1":`Disabled`,"system.dept.createButton":`Add Department`,"system.dept.createModalTitle":`Add Department Form`,"system.dept.createChildrenButton":`Add Subordinate`,"system.dept.checkedMessage":`{{checked}} records selected`,"system.dept.unselect":`Deselect`,"system.dept.delete.ok":`Delete`,"system.dept.delete.cancel":`Cancel Delete`,"system.dept.delete.title":`Delete Department`,"system.dept.delete.description":`Are you sure you want to delete these departments?`,"system.dept.saveInfo":`Save Information`},jn={"system.dict.page.title":`Dictionary Management`,"system.dict.page.description":`Manage system dictionary types, configure data dictionary items`,"system.dict.id":`ID`,"system.dict.name":`Dict Name`,"dict.name.required":`Dict name is required`,"system.dict.code":`Dict Code`,"dict.code.required":`Dict code is required`,"system.dict.renderType":`Render Type`,"system.dict.renderType.required":`Render type is required`,"system.dict.renderType.text":`Text`,"system.dict.renderType.tag":`Tag`,"system.dict.renderType.badge":`Badge`,"system.dict.renderType.switch":`Switch`,"system.dict.status":`Status`,"system.dict.status.required":`Status is required`,"system.dict.status.normal":`Normal`,"system.dict.status.disabled":`Disabled`,"system.dict.sort":`Sort`,"system.dict.describe":`Description`,"system.dict.createdAt":`Created At`,"system.dict.updatedAt":`Updated At`,"system.dict.item.id":`ID`,"system.dict.item.label":`Label`,"system.dict.item.label.required":`Label is required`,"system.dict.item.value":`Value`,"system.dict.item.value.required":`Value is required`,"system.dict.item.color":`Color`,"system.dict.item.isDefault":`Default`,"system.dict.item.isDefault.required":`Default is required`,"system.dict.item.isDefault.yes":`Yes`,"system.dict.item.isDefault.no":`No`,"system.dict.item.status":`Status`,"system.dict.item.status.required":`Status is required`,"system.dict.item.status.normal":`Normal`,"system.dict.item.status.disabled":`Disabled`,"system.dict.item.sort":`Sort`,"system.dict.item.createTime":`Created At`,"system.dict.item.updateTime":`Updated At`,"system.dict.refreshCache":`Refresh Cache`,"system.dict.refreshSuccess":`Dictionary cache refreshed successfully`,"system.dict.manageItems":`Dict Data`,"system.dict.itemManagement":`Dictionary Data Management`,"system.dict.item.createSuccess":`Dictionary data created successfully`,"system.dict.item.updateSuccess":`Dictionary data updated successfully`,"system.dict.backToList":`Back to List`,"system.dict.selectDictFirst":`Please select a dictionary from the list to manage`},Mn={"system.file.page.title":`File Management`,"system.file.page.description":`Manage system files, support upload, download, delete, rename, etc.`,"system.file.fileFolder":`Folders`,"system.file.fileName":`File Name`,"system.file.fileType":`Type`,"system.file.fileSize":`Size`,"system.file.preview":`Preview`,"system.file.createdAt":`Created At`,"system.file.updatedAt":`Updated At`,"system.file.deletedAt":`Deleted At`,"system.file.action":`Action`,"system.file.download":`Download`,"system.file.delete":`Delete`,"system.file.forceDelete":`Force Delete`,"system.file.restore":`Restore`,"system.file.rename":`Rename`,"system.file.move":`Move`,"system.file.copy":`Copy`,"system.file.confirmDelete":`Are you sure to delete this file?`,"system.file.confirmForceDelete":`Are you sure to permanently delete this file? This action cannot be undone!`,"system.file.confirmDeleteFolder":`Are you sure to delete this folder?`,"system.file.confirmRestore":`Are you sure to restore this file?`,"system.file.confirmBatchDelete":`Are you sure to delete {{count}} selected files?`,"system.file.confirmBatchForceDelete":`Are you sure to permanently delete {{count}} selected files? This action cannot be undone!`,"system.file.confirmBatchRestore":`Are you sure to restore {{count}} selected files?`,"system.file.ok":`OK`,"system.file.cancel":`Cancel`,"system.file.upload":`Upload File`,"system.file.uploadTitle":`Upload File`,"system.file.uploadFileType":`File Type`,"system.file.selectFile":`Select File`,"system.file.uploadProgress":`Upload Progress`,"system.file.uploadDragText":`Click or drag files to this area to upload`,"system.file.uploadHint":`Support for single or batch upload`,"system.file.selectFileWarning":`Please select files to upload`,"system.file.uploadSuccess":`Upload successful`,"system.file.deleteSuccess":`File deleted successfully`,"system.file.forceDeleteSuccess":`File permanently deleted`,"system.file.restoreSuccess":`File restored successfully`,"system.file.renameSuccess":`File renamed successfully`,"system.file.moveSuccess":`File moved successfully`,"system.file.copySuccess":`File copied successfully`,"system.file.batchDeleteSuccess":`Files deleted successfully`,"system.file.batchForceDeleteSuccess":`Files permanently deleted`,"system.file.batchRestoreSuccess":`Files restored successfully`,"system.file.deleteFolderSuccess":`Folder deleted successfully`,"system.file.deleteFolderHint":`Please delete all files in the folder before deleting the folder`,"system.file.addFolder":`Add Subfolder`,"system.file.editFolder":`Edit Folder`,"system.file.deleteFolder":`Delete Folder`,"system.file.addFolderTitle":`Add Folder`,"system.file.editFolderTitle":`Edit Folder`,"system.file.saveFolderSuccess":`{{action}} folder successfully`,"system.file.actionAdd":`Add`,"system.file.actionEdit":`Edit`,"system.file.folderName":`Folder Name`,"system.file.folderNameRequired":`Please enter folder name`,"system.file.folderSearchPlaceholder":`Search folder by name`,"system.file.parentFolder":`Parent Folder`,"system.file.sort":`Sort`,"system.file.sortRequired":`Sort is required`,"system.file.describe":`Description`,"system.file.root":`Root`,"system.file.type.image":`Image`,"system.file.type.audio":`Audio`,"system.file.type.video":`Video`,"system.file.type.archive":`Archive`,"system.file.type.other":`Other`,"system.file.type.document":`Document`,"system.file.trash":`Trash`,"system.file.emptyTrash":`Empty Trash`,"system.file.confirmEmptyTrash":`Are you sure to empty the trash? This action cannot be undone!`,"system.file.emptyTrashSuccess":`Trash emptied, {{count}} files deleted`,"system.file.batchDelete":`Batch Delete`,"system.file.batchForceDelete":`Batch Force Delete`,"system.file.batchRestore":`Batch Restore`,"system.file.batchMove":`Batch Move`,"system.file.batchCopy":`Batch Copy`,"system.file.noSelected":`Please select files first`,"system.file.renameTitle":`Rename File`,"system.file.renameDescription":`You are renaming the file, please enter a new file name!`,"system.file.moveTitle":`Move File`,"system.file.moveDescription":`You are moving the file, please select the target folder`,"system.file.copyTitle":`Copy File`,"system.file.copyDescription":`You are copying the file, please select the target folder!`,"system.file.newFileNameRequired":`Please enter new file name`,"system.file.disk":`Storage Disk`,"system.file.loading":`Loading...`,"system.file.refresh":`Refresh`,"system.file.totalFiles":`Total {{total}} files`,"system.file.fileDetail":`File Details`,"system.file.basicInfo":`Basic Information`,"system.file.fileExt":`Extension`,"system.file.filePath":`File Path`,"system.file.fileGroup":`File Group`,"system.file.ungrouped":`Ungrouped`,"system.file.accessUrl":`Access URL`,"system.file.storageMethod":`Storage Method`},Nn={"system.mail.page.title":`Mail Settings`,"system.mail.page.description":`Mail configuration for sending emails, supports failover and round-robin switching`,"system.mail.mode":`Mode`,"system.mail.mode.single":`Single`,"system.mail.mode.failover":`Failover`,"system.mail.mode.roundrobin":`Round Robin`,"system.mail.driver":`Mail Driver`,"system.mail.driver.smtp":`SMTP`,"system.mail.driver.ses":`Amazon SES`,"system.mail.driver.mailgun":`Mailgun`,"system.mail.driver.postmark":`Postmark`,"system.mail.driver.resend":`Resend`,"system.mail.driver.log":`Log`,"system.mail.driver.array":`Array (Debug)`,"system.mail.smtp.title":`SMTP Configuration`,"system.mail.host":`Host`,"system.mail.host.placeholder":`smtp.example.com`,"system.mail.port":`Port`,"system.mail.port.placeholder":`587`,"system.mail.username":`Username`,"system.mail.username.placeholder":`your-email@example.com`,"system.mail.password":`Password`,"system.mail.password.placeholder":`Your email password or app password`,"system.mail.log.title":`Log Configuration`,"system.mail.log.channel":`Log Channel`,"system.mail.log.channel.placeholder":`mail`,"system.mail.postmark.title":`Postmark Configuration`,"system.mail.postmark.token":`Postmark Token`,"system.mail.postmark.token.placeholder":`Your Postmark API token`,"system.mail.resend.title":`Resend Configuration`,"system.mail.resend.key":`Resend API Key`,"system.mail.resend.key.placeholder":`Your Resend API key`,"system.mail.mailgun.title":`Mailgun Configuration`,"system.mail.mailgun.domain":`Mailgun Domain`,"system.mail.mailgun.domain.placeholder":`mg.yourdomain.com`,"system.mail.mailgun.secret":`Mailgun Secret`,"system.mail.mailgun.secret.placeholder":`Your Mailgun API key`,"system.mail.mailgun.endpoint":`Mailgun Endpoint`,"system.mail.mailgun.endpoint.placeholder":`api.mailgun.net`,"system.mail.ses.title":`SES (Amazon) Configuration`,"system.mail.ses.key":`AWS Access Key`,"system.mail.ses.key.placeholder":`AKIA...`,"system.mail.ses.secret":`AWS Secret Key`,"system.mail.ses.secret.placeholder":`Your AWS secret key`,"system.mail.ses.region":`AWS Region`,"system.mail.ses.region.placeholder":`us-east-1`,"system.mail.ses.token":`AWS Session Token`,"system.mail.ses.token.placeholder":`Optional session token`,"system.mail.from_address":`From Address`,"system.mail.from_address.placeholder":`noreply@example.com`,"system.mail.from_name":`From Name`,"system.mail.from_name.placeholder":`Your Application Name`,"system.mail.test.title":`Send Test Email`,"system.mail.test.to":`Recipient Email`,"system.mail.test.to.placeholder":`receiver@example.com`,"system.mail.test.send":`Send Test`,"system.mail.test.success":`Test email sent successfully`,"system.mail.test.failed":`Failed to send test email`,"system.mail.save.success":`Configuration saved successfully`,"system.mail.save.failed":`Failed to save configuration`},Pn={"system.storage.page.title":`Storage Configuration`,"system.storage.page.description":`Configure system file storage, supports local storage, S3 object storage, FTP and SFTP`,"system.storage.driver":`Default Storage Driver`,"system.storage.driver.local":`Local Storage`,"system.storage.driver.s3":`Amazon S3 / Object Storage`,"system.storage.driver.ftp":`FTP Server`,"system.storage.driver.sftp":`SFTP Server`,"system.storage.local.title":`Local Storage Configuration`,"system.storage.local.url":`Access URL`,"system.storage.local.url.placeholder":`e.g., https://example.com/storage`,"system.storage.local.url.tooltip":`Public URL prefix for file access`,"system.storage.s3.title":`S3 / Object Storage Configuration`,"system.storage.s3.key":`Access Key ID`,"system.storage.s3.key.placeholder":`Enter Access Key ID`,"system.storage.s3.secret":`Secret Access Key`,"system.storage.s3.secret.placeholder":`Enter Secret Access Key`,"system.storage.s3.region":`Region`,"system.storage.s3.region.placeholder":`e.g., us-east-1 or cn-hangzhou`,"system.storage.s3.bucket":`Bucket`,"system.storage.s3.bucket.placeholder":`Enter bucket name`,"system.storage.s3.endpoint":`Endpoint`,"system.storage.s3.endpoint.placeholder":`Custom endpoint, e.g., Aliyun OSS: oss-cn-hangzhou.aliyuncs.com`,"system.storage.s3.endpoint.tooltip":`Leave empty for AWS S3, required for Aliyun OSS, Tencent COS, etc.`,"system.storage.s3.url":`Custom URL`,"system.storage.s3.url.placeholder":`Custom file access URL prefix (optional)`,"system.storage.s3.url.tooltip":`Configure CDN domain if using CDN`,"system.storage.s3.path_style":`Path Style Endpoint`,"system.storage.s3.path_style.tooltip":`Some S3-compatible services (like MinIO) require this option`,"system.storage.ftp.title":`FTP Server Configuration`,"system.storage.ftp.host":`Host`,"system.storage.ftp.host.placeholder":`e.g., ftp.example.com`,"system.storage.ftp.port":`Port`,"system.storage.ftp.port.placeholder":`21`,"system.storage.ftp.username":`Username`,"system.storage.ftp.username.placeholder":`Enter FTP username`,"system.storage.ftp.password":`Password`,"system.storage.ftp.password.placeholder":`Enter FTP password`,"system.storage.ftp.root":`Root Directory`,"system.storage.ftp.root.placeholder":`e.g., /public_html/uploads`,"system.storage.ftp.root.tooltip":`Storage root directory on FTP server`,"system.storage.ftp.timeout":`Timeout`,"system.storage.ftp.timeout.placeholder":`30`,"system.storage.ftp.timeout.suffix":`seconds`,"system.storage.ftp.passive":`Passive Mode`,"system.storage.ftp.passive.tooltip":`Recommended for most network environments`,"system.storage.ftp.ssl":`SSL/TLS`,"system.storage.ftp.ssl.tooltip":`Enable FTPS secure connection`,"system.storage.sftp.title":`SFTP Server Configuration`,"system.storage.sftp.host":`Host`,"system.storage.sftp.host.placeholder":`e.g., sftp.example.com`,"system.storage.sftp.port":`Port`,"system.storage.sftp.port.placeholder":`22`,"system.storage.sftp.username":`Username`,"system.storage.sftp.username.placeholder":`Enter SFTP username`,"system.storage.sftp.password":`Password`,"system.storage.sftp.password.placeholder":`Enter SFTP password`,"system.storage.sftp.password.tooltip":`Leave empty if using key authentication`,"system.storage.sftp.root":`Root Directory`,"system.storage.sftp.root.placeholder":`e.g., /var/www/uploads`,"system.storage.sftp.root.tooltip":`Storage root directory on SFTP server`,"system.storage.sftp.timeout":`Timeout`,"system.storage.sftp.timeout.placeholder":`30`,"system.storage.sftp.timeout.suffix":`seconds`,"system.storage.sftp.private_key":`Private Key`,"system.storage.sftp.private_key.placeholder":`Paste SSH private key content (optional)`,"system.storage.sftp.private_key.tooltip":`Paste private key content for key authentication`,"system.storage.sftp.passphrase":`Passphrase`,"system.storage.sftp.passphrase.placeholder":`Enter if private key is password protected`,"system.storage.sftp.passphrase.tooltip":`Private key passphrase (if any)`,"system.storage.test.title":`Connection Test`,"system.storage.test.current_driver":`Current Storage Driver`,"system.storage.test.button":`Test Connection`,"system.storage.test.success":`Connection test successful`,"system.storage.test.failed":`Connection test failed`,"system.storage.help.title":`Storage Driver Guide`,"system.storage.help.local":`Local Storage:`,"system.storage.help.local.desc":`Files stored on server local disk, suitable for small projects.`,"system.storage.help.s3":`S3 / Object Storage:`,"system.storage.help.s3.desc":`Compatible with AWS S3, Aliyun OSS, Tencent COS, Qiniu, suitable for large-scale storage.`,"system.storage.help.ftp":`FTP:`,"system.storage.help.ftp.desc":`Connect to remote server via FTP protocol.`,"system.storage.help.sftp":`SFTP:`,"system.storage.help.sftp.desc":`Secure connection via SSH, more secure and reliable.`,"system.storage.save.success":`Configuration saved successfully`,"system.storage.save.failed":`Failed to save configuration`},Fn={"system.user.page.title":`User List`,"system.user.page.description":`Manage system users through the admin list, assign departments and roles to users.`,"system.user.id":`User ID`,"system.user.username":`Username`,"system.user.username.required":`Username is required`,"system.user.nickname":`Nickname`,"system.user.nickname.required":`Nickname is required`,"system.user.sex":`Gender`,"system.user.sex.0":`Male`,"system.user.sex.1":`Female`,"system.user.email":`Email`,"system.user.email.required":`Email is required`,"system.user.role":`User Role`,"system.user.role.required":`User role is required`,"system.user.dept":`User Department`,"system.user.dept.required":`User department is required`,"system.user.status":`Status`,"system.user.status.0":`Disabled`,"system.user.status.1":`Enabled`,"system.user.status.required":`Status is required`,"system.user.mobile":`Mobile Number`,"system.user.mobile.required":`Mobile number is required`,"system.user.avatar":`Avatar`,"system.user.password":`Password`,"system.user.password.required":`Password is required`,"system.user.rePassword":`Confirm Password`,"system.user.rePassword.required":`Confirm password is required`,"system.user.created_at":`Created At`,"system.user.updated_at":`Updated At`,"system.user.searchPlaceholder":`Please enter nickname, username, or mobile number to search`,"system.user.resetSuccess":`Reset successful!`,"system.user.resetPassword":`Reset Password`,"system.user.resetButton":`Submit Reset`},In={"system.role.page.title":`Role Management`,"system.role.page.description":`Manage system roles, configure role permissions, assign roles to users`,"system.role.title":`Role Management`,"system.role.tab.users":`User List`,"system.role.tab.rules":`Permission Settings`,"system.role.table.roleName":`Role Name`,"system.role.table.roleName.required":`Please enter role name`,"system.role.table.sort":`Sort Order`,"system.role.table.sort.required":`Please enter sort value`,"system.role.table.userCount":`User Count`,"system.role.table.status":`Status`,"system.role.table.status.required":`Please select status`,"system.role.table.status.enable":`Enable`,"system.role.table.status.disable":`Disable`,"system.role.table.status.enabled":`Enabled`,"system.role.table.status.disabled":`Disabled`,"system.role.table.description":`Role Description`,"system.role.table.createdAt":`Created At`,"system.role.table.updatedAt":`Updated At`,"system.role.table.headerTitle":`Role List`,"system.role.userTable.userId":`User ID`,"system.role.userTable.username":`Username`,"system.role.userTable.nickname":`Nickname`,"system.role.userTable.email":`Email`,"system.role.userTable.mobile":`Mobile Number`,"system.role.userTable.status":`Status`,"system.role.userTable.status.normal":`Normal`,"system.role.userTable.status.banned":`Banned`,"system.role.userTable.person":`users`,"system.role.button.expandAll":`Expand All`,"system.role.button.collapseAll":`Collapse All`,"system.role.button.selectAll":`Select All`,"system.role.button.clearAll":`Clear Selection`,"system.role.button.invertSelection":`Invert Selection`,"system.role.button.saveRules":`Save Permissions`,"system.role.message.selectRoleFirst":`Please select a role first`,"system.role.message.statusUpdateSuccess":`Status updated successfully`,"system.role.message.statusUpdateFailed":`Status update failed`,"system.role.message.rulesSaveSuccess":`Permissions saved successfully`,"system.role.permission.selectedCount":`Selected {{count}} permissions`,"system.role.placeholder.selectRole":`Please select a role first`},Ln={"system.rule.description":`Manage system menus and permissions, configure routes and permission items`,"system.rule.routePath":`Route Path`,"system.rule.routePath.required":`Route path is required`,"system.rule.routePath.tooltip":`Access path for the route page. For external links, please provide the complete URL`,"system.rule.routePath.showTooltip":`Route Path: {{path}}`,"system.rule.icon":`Menu Icon`,"system.rule.local":`i18n Key`,"system.rule.local.show":`Display Name`,"system.rule.link":`External Link`,"system.rule.link.1":`Yes`,"system.rule.link.0":`No`,"system.rule.type":`Menu Type`,"system.rule.type.menu":`Menu Item`,"system.rule.type.route":`Route Page`,"system.rule.type.rule":`Permission Item`,"system.rule.type.required":`Menu type is required`,"system.rule.parent":`Parent Menu`,"system.rule.parent.0":`Root Menu`,"system.rule.parent.required":`Parent menu is required`,"system.rule.order":`Sort Order`,"system.rule.order.required":`Sort order is required`,"system.rule.name":`Rule Name`,"system.rule.name.required":`Rule name is required`,"system.rule.key":`Permission Key`,"system.rule.key.required":`Permission key is required`,"system.rule.hidden":`Visibility`,"system.rule.hidden.tooltip":`Controls menu display in navigation (route and permission functions remain active)`,"system.rule.hidden.0":`Hidden`,"system.rule.hidden.1":`Visible`,"system.rule.hidden.updateSuccess":`Visibility updated successfully`,"system.rule.status":`Status`,"system.rule.status.tooltip":`Permission status (disabled permissions will not participate in system permission verification)`,"system.rule.status.0":`Disabled`,"system.rule.status.1":`Enabled`,"system.rule.status.updateSuccess":`Status updated successfully`,"system.rule.created_at":`Created At`,"system.rule.updated_at":`Updated At`,"system.rule.title":`Permission Management`,"system.rule.addChildButton":`Add Child Item`},Rn={"system.ai.page.title":`AI Settings`,"system.ai.page.description":`Manage AI provider and model configurations, supports multiple providers and default model assignment`,"system.ai.default":`Default Model`,"system.ai.default.tooltip":`Default model for general AI chat, analysis and other tasks`,"system.ai.provider.api_key":`{{lab}} API Key`,"system.ai.provider.api_key.placeholder":`Please enter API Key`,"system.ai.provider.url":`{{lab}} API URL`,"system.ai.provider.url.placeholder":`Example: {{url}}`,"system.ai.azure.api_version":`API Version`,"system.ai.azure.deployment":`Deployment Name`,"system.ai.azure.embedding_deployment":`Embedding Deployment Name`,"system.ai.azure.image_deployment":`Image Deployment Name`,"system.ai.bedrock.region":`AWS Region`,"system.ai.bedrock.access_key_id":`Access Key ID`,"system.ai.bedrock.secret_access_key":`Secret Access Key`,"system.ai.bedrock.session_token":`Session Token (optional)`,"system.ai.test.title":`Connection Test`,"system.ai.test.hint":`Click the button below to test the current AI provider connection`,"system.ai.test.button":`Test Connection`,"system.ai.test.testing":`Testing connection...`,"system.ai.test.success":`Connection test successful!`,"system.ai.test.error":`Connection test failed`,"system.ai.save.success":`AI settings saved successfully`},zn={"system.carousel.page.title":`Homepage Carousel`,"system.carousel.page.description":`Manage homepage carousel images and links`,"system.carousel.id":`ID`,"system.carousel.title":`Carousel Title`,"system.carousel.title.required":`Carousel title is required`,"system.carousel.image":`Carousel Image`,"system.carousel.image.required":`Carousel image is required`,"system.carousel.linkType":`Link Type`,"system.carousel.linkType.required":`Link type is required`,"system.carousel.linkType.link":`Link`,"system.carousel.linkType.category":`Category`,"system.carousel.link":`Redirect Link`,"system.carousel.link.placeholder":`Enter redirect link`,"system.carousel.category":`Target Category`,"system.carousel.category.placeholder":`Select a category`,"system.carousel.status":`Status`,"system.carousel.status.required":`Status is required`,"system.carousel.status.normal":`Active`,"system.carousel.status.disabled":`Disabled`,"system.carousel.sort":`Sort`,"system.carousel.createdAt":`Created At`,"system.carousel.updatedAt":`Updated At`},Bn={"system.gridNav.page.title":`Homepage Grid Navigation`,"system.gridNav.page.description":`Manage homepage grid navigation icons and links`,"system.gridNav.id":`ID`,"system.gridNav.title":`Navigation Title`,"system.gridNav.title.required":`Navigation title is required`,"system.gridNav.image":`Navigation Icon`,"system.gridNav.image.required":`Navigation icon is required`,"system.gridNav.linkType":`Link Type`,"system.gridNav.linkType.required":`Link type is required`,"system.gridNav.linkType.link":`Link`,"system.gridNav.linkType.category":`Category`,"system.gridNav.link":`Redirect Link`,"system.gridNav.link.placeholder":`Enter redirect link`,"system.gridNav.category":`Target Category`,"system.gridNav.category.placeholder":`Select a category`,"system.gridNav.status":`Status`,"system.gridNav.status.required":`Status is required`,"system.gridNav.status.normal":`Active`,"system.gridNav.status.disabled":`Disabled`,"system.gridNav.sort":`Sort`,"system.gridNav.createdAt":`Created At`,"system.gridNav.updatedAt":`Updated At`},Vn={"system.category.page.title":`Category Management`,"system.category.page.description":`Manage homepage categories and category item links`,"system.category.id":`ID`,"system.category.name":`Category Name`,"system.category.name.required":`Category name is required`,"system.category.status":`Status`,"system.category.status.required":`Status is required`,"system.category.status.normal":`Active`,"system.category.status.disabled":`Disabled`,"system.category.sort":`Sort`,"system.category.createdAt":`Created At`,"system.category.updatedAt":`Updated At`,"system.category.manageItems":`Manage Items`,"system.category.itemManagement":`Category Items`,"system.category.backToList":`Back to Categories`,"system.category.selectCategoryFirst":`Please select a category first`,"system.category.item.id":`ID`,"system.category.item.title":`Item Title`,"system.category.item.title.required":`Item title is required`,"system.category.item.image":`Item Icon`,"system.category.item.image.required":`Item icon is required`,"system.category.item.link":`Redirect Link`,"system.category.item.link.placeholder":`Enter redirect link`,"system.category.item.status":`Status`,"system.category.item.status.required":`Status is required`,"system.category.item.status.normal":`Active`,"system.category.item.status.disabled":`Disabled`,"system.category.item.sort":`Sort`,"system.category.item.createdAt":`Created At`,"system.category.item.updatedAt":`Updated At`,"system.category.item.createSuccess":`Category item created successfully`,"system.category.item.updateSuccess":`Category item updated successfully`},Hn={"system.activity.page.title":`Activity Zone`,"system.activity.page.description":`Manage homepage activity zone images, descriptions and links`,"system.activity.id":`ID`,"system.activity.title":`Activity Title`,"system.activity.title.required":`Activity title is required`,"system.activity.image":`Activity Image`,"system.activity.image.required":`Activity image is required`,"system.activity.description":`Description`,"system.activity.description.placeholder":`Enter activity description`,"system.activity.linkType":`Link Type`,"system.activity.linkType.required":`Link type is required`,"system.activity.linkType.link":`Link`,"system.activity.linkType.category":`Category`,"system.activity.link":`Redirect Link`,"system.activity.link.placeholder":`Enter redirect link`,"system.activity.category":`Target Category`,"system.activity.category.placeholder":`Select a category`,"system.activity.status":`Status`,"system.activity.status.required":`Status is required`,"system.activity.status.normal":`Active`,"system.activity.status.disabled":`Disabled`,"system.activity.sort":`Sort`,"system.activity.createdAt":`Created At`,"system.activity.updatedAt":`Updated At`},Un={"ai.chat.title":`AI Chat`,"ai.chat.newChat":`New Chat`,"ai.chat.placeholder":`Type your question, press Enter to send...`,"ai.chat.welcome.title":`How can I help you?`,"ai.chat.welcome.description":`I am your AI assistant. I can answer questions, write code, analyze data, and more.`,"ai.chat.loading":`Thinking...`,"ai.chat.error.send":`Failed to send, please retry`,"ai.chat.delete.confirm":`Are you sure you want to delete this conversation?`,"ai.chat.delete.success":`Conversation deleted`,"ai.chat.empty":`No conversations yet, start a new chat`,"ai.chat.copy":`Copy`,"ai.chat.copy.success":`Copied to clipboard`,"ai.chat.retry":`Retry`,"ai.chat.thinking":`Deep thinking...`,"ai.chat.thinking.done":`Thinking completed`,"ai.chat.attachment.upload":`Upload file`,"ai.chat.attachment.maxCount":`Maximum {count} files`,"ai.chat.attachment.error":`File upload failed`,"ai.chat.switchAgent":`Switch Agent`,"ai.chat.defaultTitle":`AI Chat`},Wn={"ai.conversation.page.title":`AI Conversation Management`,"ai.conversation.page.description":`Manage AI chat conversations and message records`,"ai.conversation.id":`Conversation ID`,"ai.conversation.username":`User`,"ai.conversation.title":`Title`,"ai.conversation.messageCount":`Messages`,"ai.conversation.createdAt":`Created At`,"ai.conversation.updatedAt":`Updated At`,"ai.conversation.deleteConfirm":`Are you sure you want to delete this conversation? All messages will be removed.`,"ai.conversation.deleteSuccess":`Conversation deleted`,"ai.conversation.viewMessages":`View Messages`,"ai.conversation.messageTitle":`Conversation Messages`,"ai.conversation.noUser":`Anonymous`,"ai.conversation.message.id":`Message ID`,"ai.conversation.message.role":`Role`,"ai.conversation.message.role.user":`User`,"ai.conversation.message.role.assistant":`Assistant`,"ai.conversation.message.role.system":`System`,"ai.conversation.message.agent":`AI Model`,"ai.conversation.message.content":`Content`,"ai.conversation.message.createdAt":`Sent At`,"ai.conversation.message.toolCalls":`Tool Calls`,"ai.conversation.message.usage":`Usage`},Gn={"ai.agent.page.title":`Agent Management`,"ai.agent.page.description":`Manage AI Agent registration and status. Agents are registered via database seeder.`,"ai.agent.update.success":`Updated successfully`,"ai.agent.update.failed":`Failed to update`,"ai.agent.empty":`No agents registered.`,"ai.agent.goChat":`Chat`},Kn={"user.profile.title":`User Settings`,"user.profile.baseInfo":`Basic Information`,"user.profile.changePassword":`Change Password`,"user.profile.loginLog":`Login Log`,"user.profile.baseInfo.updateAvatar":`Update Avatar`,"user.profile.baseInfo.updateAvatarDesc":`Supports JPG/PNG format, maximum 2MB`,"user.profile.baseInfo.avatarSuccess":`Avatar uploaded successfully`,"user.profile.baseInfo.success":`User information updated successfully`,"user.profile.baseInfo.username":`Username`,"user.profile.baseInfo.username.message":`Please enter username!`,"user.profile.baseInfo.nickname":`Nickname`,"user.profile.baseInfo.nickname.message":`Please enter nickname!`,"user.profile.baseInfo.sex":`Gender`,"user.profile.baseInfo.sex.0":`Male`,"user.profile.baseInfo.sex.1":`Female`,"user.profile.baseInfo.bio":`Bio`,"user.profile.baseInfo.email":`Email`,"user.profile.baseInfo.email.typeMessage":`Please enter a valid email address!`,"user.profile.baseInfo.email.requiredMessage":`Please enter email!`,"user.profile.baseInfo.mobile":`Mobile Number`,"user.profile.baseInfo.mobile.message":`Please enter mobile number!`,"user.profile.baseInfo.submit":`Save User Information`,"user.profile.changePassword.oldPassword":`Current Password`,"user.profile.changePassword.oldPassword.message":`Please enter current password!`,"user.profile.changePassword.newPassword":`New Password`,"user.profile.changePassword.rePassword":`Confirm New Password`,"user.profile.changePassword.requiredMessage":`Please enter new password!`,"user.profile.changePassword.minMessage":`Password must be at least 8 characters!`,"user.profile.changePassword.rePassword.message":`Passwords do not match!`,"user.profile.changePassword.submit":`Change Password`,"user.profile.changePassword.success":`Update Successful`,"user.profile.loginLog.success":`Login Successful`,"user.profile.loginLog.error":`Login Failed`,"user.profile.loginLog.empty":`No login logs available`},qn={"xin.form.submit":`Submit`,"xin.form.reset":`Reset`,"xin.form.cancel":`Cancel`,"xin.form.formList.add":`Add Item`,"xin.form.upload.button":`Click to Upload`,"xin.form.userSelector.placeholder":`Please select user`,"xin.form.userSelector.modal.title":`Select User`,"xin.form.userSelector.modal.okText":`OK`,"xin.form.userSelector.modal.cancelText":`Cancel`,"xin.form.iconSelector.placeholder":`Please select icon`,"xin.form.iconSelector.modal.title":`Select Icon`,"xin.form.iconSelector.tabs.use":`Custom Icons`,"xin.form.iconSelector.tabs.suggestion":`Website General Icons`,"xin.form.iconSelector.tabs.direction":`Directional Icons`,"xin.form.iconSelector.tabs.editor":`Editor Icons`,"xin.form.iconSelector.tabs.data":`Data Icons`,"xin.form.iconSelector.tabs.logo":`Brands and Logos`,"xin.form.iconSelector.tabs.other":`Other Icons`,"xin.form.imageUploader.uploadText":`Upload Image`,"xin.form.imageUploader.error.notImage":`Only image files can be uploaded!`,"xin.form.imageUploader.error.sizeExceeded":`Image size cannot exceed {{maxSize}}MB!`,"xin.form.imageUploader.error.dimensionExceeded":`Image dimensions cannot exceed {{maxWidth}}x{{maxHeight}}px!`,"xin.form.imageUploader.error.loadFailed":`Failed to load image!`,"xin.form.imageUploader.error.readFailed":`Failed to read image!`},Jn={"xin.table.queryTable":`Query Table`,"xin.table.keywordPlaceholder":`Enter keyword`,"xin.table.keywordEmpty":`Please enter search content`,"xin.table.add":`Add`,"xin.table.refresh":`Refresh`,"xin.table.columnSettings":`Column Settings`,"xin.table.showBorder":`Show Border`,"xin.table.hideBorder":`Hide Border`,"xin.table.density.default":`Default`,"xin.table.density.middle":`Middle`,"xin.table.density.compact":`Compact`,"xin.table.total":`Total {{total}} items`,"xin.table.operate":`Actions`,"xin.table.edit":`Edit`,"xin.table.delete":`Delete`,"xin.table.deleteConfirm":`Are you sure to delete record {{id}}?`,"xin.table.deleteOk":`Confirm Delete`,"xin.table.deleteCancel":`Cancel`,"xin.table.deleteSuccess":`Deleted successfully`,"xin.table.form.createTitle":`Create`,"xin.table.form.editTitle":`Edit`,"xin.table.form.close":`Close`,"xin.table.form.createSuccess":`Created successfully!`,"xin.table.form.updateSuccess":`Updated successfully!`,"xin.table.form.updateKeyUndefined":`Primary key for update is undefined!`,"xin.table.search.search":`Search`,"xin.table.search.reset":`Reset`,"xin.table.search.expand":`Expand`,"xin.table.search.collapse":`Collapse`},Yn={"xin.crud.operate":`Actions`,"xin.crud.edit":`Edit`,"xin.crud.delete":`Delete`,"xin.crud.add":`Add`,"xin.crud.batchDelete":`Batch Delete`,"xin.crud.confirm":`Confirm`,"xin.crud.cancel":`Cancel`,"xin.crud.deleteConfirm":`Confirm Delete`,"xin.crud.deleteConfirmDesc":`Data cannot be recovered after deletion. Are you sure to delete?`,"xin.crud.batchDeleteConfirm":`Confirm Batch Delete`,"xin.crud.batchDeleteConfirmDesc":`Are you sure to delete {{count}} selected items?`,"xin.crud.selectAtLeastOne":`Please select at least one item`,"xin.crud.createSuccess":`Created successfully`,"xin.crud.updateSuccess":`Updated successfully`,"xin.crud.deleteSuccess":`Deleted successfully`,"xin.crud.batchDeleteSuccess":`Batch deleted successfully`,"xin.crud.createTitle":`Create`,"xin.crud.editTitle":`Edit`,"xin.crud.total":`Total {{total}} items`,"xin.crud.yes":`Yes`,"xin.crud.no":`No`},Xn={"layout.resetTheme":`Reset Theme`,"layout.saveTheme":`Save Theme`,"layout.layoutStyle":`Layout Style`,"layout.layoutSide":`Side Navigation`,"layout.layoutTop":`Top Navigation`,"layout.layoutMix":`Mix Navigation`,"layout.layoutColumns":`Columns Navigation`,"layout.presetTheme":`Preset Theme`,"layout.themeLight":`Light`,"layout.themeDark":`Dark`,"layout.themePink":`Pink`,"layout.themeGreen":`Green`,"layout.themeAlgorithm":`Theme Algorithm`,"layout.algorithmDefault":`Default`,"layout.algorithmDark":`Dark`,"layout.algorithmDefaultCompact":`Default + Compact`,"layout.algorithmDarkCompact":`Dark + Compact`,"layout.themeColor":`Theme Color`,"layout.colorPrimary":`Primary Color`,"layout.colorText":`Text Color`,"layout.colorBg":`Background Color`,"layout.colorSuccess":`Success Color`,"layout.colorWarning":`Warning Color`,"layout.colorError":`Error Color`,"layout.bodyBg":`Body Background`,"layout.footerBg":`Footer Background`,"layout.headerBg":`Header Background`,"layout.headerColor":`Header Text Color`,"layout.siderBg":`Sider Background`,"layout.siderColor":`Sider Text Color`,"layout.colorBorder":`Border Color`,"layout.styleConfig":`Style Configuration`,"layout.fixedFooter":`Fixed Footer`,"layout.borderRadius":`Border Radius`,"layout.controlHeight":`Control Height`,"layout.headerPadding":`Header Padding`,"layout.headerHeight":`Header Height`,"layout.siderWeight":`Sider Width`,"layout.bodyPadding":`Body Padding`,"layout.systemConfig":`System Configuration`,"layout.localRoute":`Local Route`,"layout.profile":`User Settings`,"layout.logout":`Logout`,"layout.logoutSuccess":`Logout successful, redirecting`,"layout.logoutFailed":`Logout failed`,"layout.searchPlaceholder":`Please enter search content`,"layout.searchConfirm":`Confirm`,"layout.searchSwitch":`Switch`,"layout.searchClose":`Close`},Zn={...Cn,...wn,...Tn,...En,...Dn,...On,...kn,...An,...jn,...Mn,...Nn,...Pn,...Fn,...In,...Ln,...Rn,...zn,...Bn,...Vn,...Hn,...Un,...Wn,...Gn,...Kn,...qn,...Jn,...Yn,...Xn},Qn={"menu.dashboard":`仪表盘`,"menu.analysis":`分析页`,"menu.monitor":`监控页`,"menu.workplace":`工作台`,"menu.result":`结果页面`,"menu.result.success":`成功页`,"menu.result.fail":`失败页`,"menu.result.warning":`警告页`,"menu.result.info":`信息页`,"menu.exception":`异常页面`,"menu.exception.403":`403`,"menu.exception.404":`404`,"menu.exception.500":`500`,"menu.multi-menu":`多级菜单`,"menu.multi-menu.two":`二级菜单`,"menu.multi-menu.first":`二级页面`,"menu.multi-menu.two.three":`三级菜单`,"menu.multi-menu.two.second":`三级页面`,"menu.multi-menu.two.three.third":`四级页面`,"menu.page-layout":`页面布局`,"menu.page-layout.base-layout":`基础布局`,"menu.page-layout.fix-header":`固定头部`,"menu.page-layout.descriptions":`页面描述`,"menu.example":`组件示例`,"menu.example.user-selector":`用户选择器`,"menu.example.icon-selector":`图标`,"menu.example.image-uploader":`图片上传器`,"menu.example.xin-form":`XinForm 表单`,"menu.example.xin-table":`XinTable 表格`,"menu.ai":`AI`,"menu.ai.chat":`对话`,"menu.ai.agent":`智能体`,"menu.ai.conversation":`会话管理`,"menu.system":`系统管理`,"menu.system.user":`用户管理`,"menu.system.dept":`部门管理`,"menu.system.role":`角色管理`,"menu.system.rule":`菜单管理`,"menu.system.info":`系统信息`,"menu.system.file":`文件管理`,"menu.system.dict":`系统字典`,"menu.system.mail":`邮件配置`,"menu.system.storage":`存储配置`,"menu.system.config":`网站配置`,"menu.system.ai":`AI 配置`,"menu.system.carousel":`轮播图管理`,"menu.system.grid-nav":`宫格导航管理`,"menu.system.category":`分类管理`,"menu.system.activity":`活动专区管理`,"menu.xin-admin":`XinAdmin`},$n={"login.username":`用户名`,"login.password":`密码`,"login.usernamePlaceholder":`admin`,"login.passwordPlaceholder":`123456`,"login.usernameRequired":`请输入用户名!`,"login.passwordRequired":`请输入密码!`,"login.remember":`保持登录`,"login.forgotPassword":`忘记密码`,"login.otherLogin":`其他登录方式`,"login.success":`登录成功,即将跳转到首页!`,"login.alreadyLoggedIn":`已登录,路由重定向!`},er={"dashboard.since.lastWeek":`自上周以来`,"dashboard.vs.lastWeek":`较上周`,"dashboard.analysis.totalRevenue":`总收入`,"dashboard.analysis.totalExpenses":`总支出`,"dashboard.analysis.visitors":`访客量`,"dashboard.analysis.likes":`点赞量`,"dashboard.analysis.annualSales":`年度销售额`,"dashboard.analysis.grossProfit":`毛利润`,"dashboard.analysis.netProfit":`净利润`,"dashboard.analysis.totalExpense":`总支出`,"dashboard.analysis.accessFrom":`Access From`,"dashboard.analysis.searchEngine":`Search Engine`,"dashboard.analysis.direct":`Direct`,"dashboard.analysis.email":`Email`,"dashboard.analysis.unionAds":`Union Ads`,"dashboard.analysis.videoAds":`Video Ads`,"dashboard.analysis.salesRanking":`销售排名`,"dashboard.analysis.month":`月份`,"dashboard.analysis.year":`年份`,"dashboard.analysis.day":`天`,"dashboard.analysis.article":`Article`,"dashboard.analysis.age":`Age`,"dashboard.analysis.address":`Address`,"dashboard.analysis.tags":`Tags`,"dashboard.analysis.action":`Action`,"dashboard.analysis.invite":`Invite`,"dashboard.analysis.delete":`Delete`,"dashboard.analysis.userReviews":`用户评价`,"dashboard.analysis.reviewDescription":`Ant Design, a design language for background applications, is refined by Ant UED Team`,"dashboard.analysis.january":`January`,"dashboard.analysis.february":`February`,"dashboard.analysis.march":`March`,"dashboard.analysis.april":`April`,"dashboard.analysis.may":`May`,"dashboard.analysis.june":`June`,"dashboard.analysis.july":`July`,"dashboard.analysis.august":`August`,"dashboard.analysis.september":`September`,"dashboard.analysis.october":`October`,"dashboard.analysis.november":`November`,"dashboard.analysis.december":`December`},tr={"dashboard.completion":`完成度`,"dashboard.vs.lastWeek":`较上周`,"dashboard.monitor.helpService":`帮办代办`,"dashboard.monitor.propertyFee":`物业费`,"dashboard.monitor.alarmEvents":`报警事件`,"dashboard.monitor.otherEvents":`其它事件`,"dashboard.monitor.todoList":`待办事项`,"dashboard.monitor.myFocus":`我的关注`,"dashboard.monitor.all":`全部`,"dashboard.monitor.propertyOrder":`物业工单`,"dashboard.monitor.repairOrder":`维修工单`,"dashboard.monitor.fireSafety":`消防安全`,"dashboard.monitor.paidService":`有偿服务`,"dashboard.monitor.publicService":`公共服务`},nr={"dashboard.workplace.greeting.morning":`上午好`,"dashboard.workplace.greeting.afternoon":`下午好`,"dashboard.workplace.greeting.evening":`晚上好`,"dashboard.workplace.welcome":`欢迎回来!`,"dashboard.workplace.today":`今天是`,"dashboard.workplace.myProjects":`我的项目`,"dashboard.workplace.myTeams":`我的团队`,"dashboard.workplace.latestActivities":`最新动态`,"dashboard.workplace.notifications":`站内通知`,"dashboard.workplace.appStore":`应用商店`,"dashboard.workplace.appStore.desc":`应用分发与管理平台`,"dashboard.workplace.mallSystem":`商城系统`,"dashboard.workplace.mallSystem.desc":`企业电商解决方案`,"dashboard.workplace.collaboration":`协作平台`,"dashboard.workplace.collaboration.desc":`团队协作与沟通工具`,"dashboard.workplace.docCenter":`文档中心`,"dashboard.workplace.docCenter.desc":`企业知识管理与文档协作`,"dashboard.workplace.badge.new":`New`,"dashboard.workplace.status.inProgress":`进行中`,"dashboard.workplace.status.completed":`已完成`,"dashboard.workplace.status.planning":`规划中`,"dashboard.workplace.progress":`进度`,"dashboard.workplace.members":`成员`,"dashboard.workplace.people":`人`,"dashboard.workplace.recentVisits":`最近访问`,"dashboard.workplace.location":`本地`,"dashboard.workplace.project1.name":`企业级管理系统`,"dashboard.workplace.project1.desc":`基于React和AntDesign构建的企业后台管理系统`,"dashboard.workplace.project2.name":`移动端H5应用`,"dashboard.workplace.project2.desc":`使用Vue3开发的移动端电商应用`,"dashboard.workplace.project3.name":`数据可视化平台`,"dashboard.workplace.project3.desc":`基于ECharts的大数据可视化分析平台`,"dashboard.workplace.project4.name":`系统升级通知`,"dashboard.workplace.project4.desc":`系统将于本周五凌晨2:00-4:00进行升级维护`,"dashboard.workplace.project5.name":`团队邀请`,"dashboard.workplace.project5.desc":`您已被邀请加入"新产品研发"项目组`,"dashboard.workplace.project6.name":`任务提醒`,"dashboard.workplace.project6.desc":`您有3个任务即将到期,请及时处理`},rr={"system.info.title":`系统信息`,"system.info.basic.title":`系统基本信息`,"system.info.project.title":`项目地址`,"system.info.changelog.title":`更新日志`,"system.info.author.title":`作者介绍`,"system.info.desc.title":`系统描述`,"system.info.join":`加入社区,获取最新动态和技术支持`,"system.info.label.name":`系统名称`,"system.info.label.version":`版本号`,"system.info.label.build":`构建工具`,"system.info.label.frontend":`前端框架`,"system.info.label.ui":`UI框架`,"system.info.label.css":`CSS框架`,"system.info.label.router":`路由管理`,"system.info.label.state":`状态管理`,"system.info.label.ts":`TypeScript`,"system.info.link.github":`GitHub 仓库`,"system.info.link.docs":`在线文档`,"system.info.link.demo":`演示地址`,"system.info.link.issues":`问题反馈`,"system.info.log.content":`基于React 19、Vite 7、ReactRouter 7、zustand 5 和 TypeScript,重构项目模块`,"system.info.author.name":`XinAdmin 团队`,"system.info.author.role":`企业级中后台解决方案提供者`,"system.info.contact.github":`GitHub`,"system.info.contact.group":`QQ群`,"system.info.contact.discuss":`讨论区`,"system.info.desc.content":`XinAdmin 是一个基于 Ant Design 设计规范的企业级中后台前端模板,采用最新的前端技术栈,包括 React 19、Vite 7、ReactRouter 7、zustand 5 和 TypeScript。 +⛳ Complete Page Components - Includes error pages, layout components, etc.`,"system.info.tag.enterprise":`Enterprise`,"system.info.tag.ready":`Out of Box`,"system.info.tag.scalable":`Scalable`,"system.info.tag.modern":`Modern`,"system.info.tag.i18n":`Internationalization`,"system.info.tag.auth":`Access Control`},kn={"system.config.page.title":`Site Configs`,"system.config.page.description":`Manage site configuration items, support dynamic configuration of site parameters`,"system.config.group.title":`Config Groups`,"system.config.group.add":`Add`,"system.config.group.create":`Create Config Group`,"system.config.group.edit":`Edit Config Group`,"system.config.group.delete":`Delete`,"system.config.group.deleteConfirm":`Confirm deletion?`,"system.config.group.deleteWarning":`Deleting a setting group will also delete all settings in that group`,"system.config.group.field.title":`Title`,"system.config.group.field.title.required":`Please enter title`,"system.config.group.field.key":`Key`,"system.config.group.field.key.required":`Please enter key`,"system.config.group.field.remark":`Description`,"system.config.group.createSuccess":`Config group created successfully`,"system.config.group.updateSuccess":`Config group updated successfully`,"system.config.group.deleteSuccess":`Config group deleted successfully`,"system.config.item.title":`Config Items`,"system.config.item.add":`Add Config Item`,"system.config.item.create":`Create Config Item`,"system.config.item.edit":`Edit Config Item`,"system.config.item.delete":`Delete`,"system.config.item.deleteConfirm":`Confirm deletion?`,"system.config.item.selectGroup":`Please select a setting group first`,"system.config.item.empty":`No setting items, please click "Add Config Item" button to add`,"system.config.item.field.key":`Key`,"system.config.item.field.key.required":`Please enter key`,"system.config.item.field.title":`Title`,"system.config.item.field.title.required":`Please enter title`,"system.config.item.field.type":`Component Type`,"system.config.item.field.type.required":`Please select component type`,"system.config.item.field.describe":`Description`,"system.config.item.field.options":`Options`,"system.config.item.field.options.tooltip":`Options for components such as radio buttons and checkboxes, e.g.: 1=Option 1 /n 2=Option 2`,"system.config.item.field.props":`Properties`,"system.config.item.field.props.tooltip":`Component configuration, supporting simple settings, e.g.: placeholder=Please enter /n maxLength=100`,"system.config.item.field.values":`Default Value`,"system.config.item.field.sort":`Sort`,"system.config.item.createSuccess":`Config item created successfully`,"system.config.item.updateSuccess":`Config item updated successfully`,"system.config.item.deleteSuccess":`Config item deleted successfully`,"system.config.item.refreshCacheSuccess":`refresh cache successfully`,"system.config.component.Input":`Input`,"system.config.component.TextArea":`Text Area`,"system.config.component.InputNumber":`Number Input`,"system.config.component.Switch":`Switch`,"system.config.component.Radio":`Radio`,"system.config.component.Checkbox":`Checkbox`,"system.config.form.placeholder.input":`Please input`,"system.config.form.placeholder.select":`Please select`,"system.config.form.placeholder.date":`Please select date`,"system.config.save.button":`Save`,"system.config.refresh.button":`Refresh Cache`,"system.config.confirm.ok":`Confirm`,"system.config.confirm.cancel":`Cancel`},An={"system.dept.page.title":`Department Management`,"system.dept.page.description":`Manage system departments, configure department hierarchy, manage department users`,"system.dept.tab.info":`Basic Information`,"system.dept.tab.users":`User List`,"system.dept.unnamed":`Unnamed Department`,"system.dept.createSuccess":`Department added successfully!`,"system.dept.updateSuccess":`Department updated successfully!`,"system.dept.deleteSuccess":`Batch department deletion successful!`,"system.dept.column.name":`Department Name`,"system.dept.column.name.required":`Department name is required!`,"system.dept.column.code":`Department Code`,"system.dept.column.code.required":`Department code is required!`,"system.dept.column.type":`Department Type`,"system.dept.column.type.0":`Company`,"system.dept.column.type.1":`Department`,"system.dept.column.type.2":`Position`,"system.dept.column.type.required":`Department type is required!`,"system.dept.column.parent":`Parent Department`,"system.dept.column.parent.0":`Top Level`,"system.dept.column.parent.required":`Parent department is required!`,"system.dept.column.email":`Email`,"system.dept.column.address":`Address`,"system.dept.column.phone":`Phone`,"system.dept.column.sort":`Sort Order`,"system.dept.column.sort.required":`Sort order is required!`,"system.dept.column.status":`Status`,"system.dept.column.status.0":`Normal`,"system.dept.column.status.1":`Disabled`,"system.dept.column.status.required":`Status is required!`,"system.dept.column.remark":`Remarks`,"system.dept.users.column.id":`User ID`,"system.dept.users.column.username":`Username`,"system.dept.users.column.nickname":`Nickname`,"system.dept.users.column.email":`Email`,"system.dept.users.column.mobile":`Mobile Number`,"system.dept.users.column.status":`Status`,"system.dept.users.column.status.0":`Enabled`,"system.dept.users.column.status.1":`Disabled`,"system.dept.createButton":`Add Department`,"system.dept.createModalTitle":`Add Department Form`,"system.dept.createChildrenButton":`Add Subordinate`,"system.dept.checkedMessage":`{{checked}} records selected`,"system.dept.unselect":`Deselect`,"system.dept.delete.ok":`Delete`,"system.dept.delete.cancel":`Cancel Delete`,"system.dept.delete.title":`Delete Department`,"system.dept.delete.description":`Are you sure you want to delete these departments?`,"system.dept.saveInfo":`Save Information`},jn={"system.dict.page.title":`Dictionary Management`,"system.dict.page.description":`Manage system dictionary types, configure data dictionary items`,"system.dict.id":`ID`,"system.dict.name":`Dict Name`,"dict.name.required":`Dict name is required`,"system.dict.code":`Dict Code`,"dict.code.required":`Dict code is required`,"system.dict.renderType":`Render Type`,"system.dict.renderType.required":`Render type is required`,"system.dict.renderType.text":`Text`,"system.dict.renderType.tag":`Tag`,"system.dict.renderType.badge":`Badge`,"system.dict.renderType.switch":`Switch`,"system.dict.status":`Status`,"system.dict.status.required":`Status is required`,"system.dict.status.normal":`Normal`,"system.dict.status.disabled":`Disabled`,"system.dict.sort":`Sort`,"system.dict.describe":`Description`,"system.dict.createdAt":`Created At`,"system.dict.updatedAt":`Updated At`,"system.dict.item.id":`ID`,"system.dict.item.label":`Label`,"system.dict.item.label.required":`Label is required`,"system.dict.item.value":`Value`,"system.dict.item.value.required":`Value is required`,"system.dict.item.color":`Color`,"system.dict.item.isDefault":`Default`,"system.dict.item.isDefault.required":`Default is required`,"system.dict.item.isDefault.yes":`Yes`,"system.dict.item.isDefault.no":`No`,"system.dict.item.status":`Status`,"system.dict.item.status.required":`Status is required`,"system.dict.item.status.normal":`Normal`,"system.dict.item.status.disabled":`Disabled`,"system.dict.item.sort":`Sort`,"system.dict.item.createTime":`Created At`,"system.dict.item.updateTime":`Updated At`,"system.dict.refreshCache":`Refresh Cache`,"system.dict.refreshSuccess":`Dictionary cache refreshed successfully`,"system.dict.manageItems":`Dict Data`,"system.dict.itemManagement":`Dictionary Data Management`,"system.dict.item.createSuccess":`Dictionary data created successfully`,"system.dict.item.updateSuccess":`Dictionary data updated successfully`,"system.dict.backToList":`Back to List`,"system.dict.selectDictFirst":`Please select a dictionary from the list to manage`},Mn={"system.file.page.title":`File Management`,"system.file.page.description":`Manage system files, support upload, download, delete, rename, etc.`,"system.file.fileFolder":`Folders`,"system.file.fileName":`File Name`,"system.file.fileType":`Type`,"system.file.fileSize":`Size`,"system.file.preview":`Preview`,"system.file.createdAt":`Created At`,"system.file.updatedAt":`Updated At`,"system.file.deletedAt":`Deleted At`,"system.file.action":`Action`,"system.file.download":`Download`,"system.file.delete":`Delete`,"system.file.forceDelete":`Force Delete`,"system.file.restore":`Restore`,"system.file.rename":`Rename`,"system.file.move":`Move`,"system.file.copy":`Copy`,"system.file.confirmDelete":`Are you sure to delete this file?`,"system.file.confirmForceDelete":`Are you sure to permanently delete this file? This action cannot be undone!`,"system.file.confirmDeleteFolder":`Are you sure to delete this folder?`,"system.file.confirmRestore":`Are you sure to restore this file?`,"system.file.confirmBatchDelete":`Are you sure to delete {{count}} selected files?`,"system.file.confirmBatchForceDelete":`Are you sure to permanently delete {{count}} selected files? This action cannot be undone!`,"system.file.confirmBatchRestore":`Are you sure to restore {{count}} selected files?`,"system.file.ok":`OK`,"system.file.cancel":`Cancel`,"system.file.upload":`Upload File`,"system.file.uploadTitle":`Upload File`,"system.file.uploadFileType":`File Type`,"system.file.selectFile":`Select File`,"system.file.uploadProgress":`Upload Progress`,"system.file.uploadDragText":`Click or drag files to this area to upload`,"system.file.uploadHint":`Support for single or batch upload`,"system.file.selectFileWarning":`Please select files to upload`,"system.file.uploadSuccess":`Upload successful`,"system.file.deleteSuccess":`File deleted successfully`,"system.file.forceDeleteSuccess":`File permanently deleted`,"system.file.restoreSuccess":`File restored successfully`,"system.file.renameSuccess":`File renamed successfully`,"system.file.moveSuccess":`File moved successfully`,"system.file.copySuccess":`File copied successfully`,"system.file.batchDeleteSuccess":`Files deleted successfully`,"system.file.batchForceDeleteSuccess":`Files permanently deleted`,"system.file.batchRestoreSuccess":`Files restored successfully`,"system.file.deleteFolderSuccess":`Folder deleted successfully`,"system.file.deleteFolderHint":`Please delete all files in the folder before deleting the folder`,"system.file.addFolder":`Add Subfolder`,"system.file.editFolder":`Edit Folder`,"system.file.deleteFolder":`Delete Folder`,"system.file.addFolderTitle":`Add Folder`,"system.file.editFolderTitle":`Edit Folder`,"system.file.saveFolderSuccess":`{{action}} folder successfully`,"system.file.actionAdd":`Add`,"system.file.actionEdit":`Edit`,"system.file.folderName":`Folder Name`,"system.file.folderNameRequired":`Please enter folder name`,"system.file.folderSearchPlaceholder":`Search folder by name`,"system.file.parentFolder":`Parent Folder`,"system.file.sort":`Sort`,"system.file.sortRequired":`Sort is required`,"system.file.describe":`Description`,"system.file.root":`Root`,"system.file.type.image":`Image`,"system.file.type.audio":`Audio`,"system.file.type.video":`Video`,"system.file.type.archive":`Archive`,"system.file.type.other":`Other`,"system.file.type.document":`Document`,"system.file.trash":`Trash`,"system.file.emptyTrash":`Empty Trash`,"system.file.confirmEmptyTrash":`Are you sure to empty the trash? This action cannot be undone!`,"system.file.emptyTrashSuccess":`Trash emptied, {{count}} files deleted`,"system.file.batchDelete":`Batch Delete`,"system.file.batchForceDelete":`Batch Force Delete`,"system.file.batchRestore":`Batch Restore`,"system.file.batchMove":`Batch Move`,"system.file.batchCopy":`Batch Copy`,"system.file.noSelected":`Please select files first`,"system.file.renameTitle":`Rename File`,"system.file.renameDescription":`You are renaming the file, please enter a new file name!`,"system.file.moveTitle":`Move File`,"system.file.moveDescription":`You are moving the file, please select the target folder`,"system.file.copyTitle":`Copy File`,"system.file.copyDescription":`You are copying the file, please select the target folder!`,"system.file.newFileNameRequired":`Please enter new file name`,"system.file.disk":`Storage Disk`,"system.file.loading":`Loading...`,"system.file.refresh":`Refresh`,"system.file.totalFiles":`Total {{total}} files`,"system.file.fileDetail":`File Details`,"system.file.basicInfo":`Basic Information`,"system.file.fileExt":`Extension`,"system.file.filePath":`File Path`,"system.file.fileGroup":`File Group`,"system.file.ungrouped":`Ungrouped`,"system.file.accessUrl":`Access URL`,"system.file.storageMethod":`Storage Method`},Nn={"system.mail.page.title":`Mail Settings`,"system.mail.page.description":`Mail configuration for sending emails, supports failover and round-robin switching`,"system.mail.mode":`Mode`,"system.mail.mode.single":`Single`,"system.mail.mode.failover":`Failover`,"system.mail.mode.roundrobin":`Round Robin`,"system.mail.driver":`Mail Driver`,"system.mail.driver.smtp":`SMTP`,"system.mail.driver.ses":`Amazon SES`,"system.mail.driver.mailgun":`Mailgun`,"system.mail.driver.postmark":`Postmark`,"system.mail.driver.resend":`Resend`,"system.mail.driver.log":`Log`,"system.mail.driver.array":`Array (Debug)`,"system.mail.smtp.title":`SMTP Configuration`,"system.mail.host":`Host`,"system.mail.host.placeholder":`smtp.example.com`,"system.mail.port":`Port`,"system.mail.port.placeholder":`587`,"system.mail.username":`Username`,"system.mail.username.placeholder":`your-email@example.com`,"system.mail.password":`Password`,"system.mail.password.placeholder":`Your email password or app password`,"system.mail.log.title":`Log Configuration`,"system.mail.log.channel":`Log Channel`,"system.mail.log.channel.placeholder":`mail`,"system.mail.postmark.title":`Postmark Configuration`,"system.mail.postmark.token":`Postmark Token`,"system.mail.postmark.token.placeholder":`Your Postmark API token`,"system.mail.resend.title":`Resend Configuration`,"system.mail.resend.key":`Resend API Key`,"system.mail.resend.key.placeholder":`Your Resend API key`,"system.mail.mailgun.title":`Mailgun Configuration`,"system.mail.mailgun.domain":`Mailgun Domain`,"system.mail.mailgun.domain.placeholder":`mg.yourdomain.com`,"system.mail.mailgun.secret":`Mailgun Secret`,"system.mail.mailgun.secret.placeholder":`Your Mailgun API key`,"system.mail.mailgun.endpoint":`Mailgun Endpoint`,"system.mail.mailgun.endpoint.placeholder":`api.mailgun.net`,"system.mail.ses.title":`SES (Amazon) Configuration`,"system.mail.ses.key":`AWS Access Key`,"system.mail.ses.key.placeholder":`AKIA...`,"system.mail.ses.secret":`AWS Secret Key`,"system.mail.ses.secret.placeholder":`Your AWS secret key`,"system.mail.ses.region":`AWS Region`,"system.mail.ses.region.placeholder":`us-east-1`,"system.mail.ses.token":`AWS Session Token`,"system.mail.ses.token.placeholder":`Optional session token`,"system.mail.from_address":`From Address`,"system.mail.from_address.placeholder":`noreply@example.com`,"system.mail.from_name":`From Name`,"system.mail.from_name.placeholder":`Your Application Name`,"system.mail.test.title":`Send Test Email`,"system.mail.test.to":`Recipient Email`,"system.mail.test.to.placeholder":`receiver@example.com`,"system.mail.test.send":`Send Test`,"system.mail.test.success":`Test email sent successfully`,"system.mail.test.failed":`Failed to send test email`,"system.mail.save.success":`Configuration saved successfully`,"system.mail.save.failed":`Failed to save configuration`},Pn={"system.storage.page.title":`Storage Configuration`,"system.storage.page.description":`Configure system file storage, supports local storage, S3 object storage, FTP and SFTP`,"system.storage.driver":`Default Storage Driver`,"system.storage.driver.local":`Local Storage`,"system.storage.driver.s3":`Amazon S3 / Object Storage`,"system.storage.driver.ftp":`FTP Server`,"system.storage.driver.sftp":`SFTP Server`,"system.storage.local.title":`Local Storage Configuration`,"system.storage.local.url":`Access URL`,"system.storage.local.url.placeholder":`e.g., https://example.com/storage`,"system.storage.local.url.tooltip":`Public URL prefix for file access`,"system.storage.s3.title":`S3 / Object Storage Configuration`,"system.storage.s3.key":`Access Key ID`,"system.storage.s3.key.placeholder":`Enter Access Key ID`,"system.storage.s3.secret":`Secret Access Key`,"system.storage.s3.secret.placeholder":`Enter Secret Access Key`,"system.storage.s3.region":`Region`,"system.storage.s3.region.placeholder":`e.g., us-east-1 or cn-hangzhou`,"system.storage.s3.bucket":`Bucket`,"system.storage.s3.bucket.placeholder":`Enter bucket name`,"system.storage.s3.endpoint":`Endpoint`,"system.storage.s3.endpoint.placeholder":`Custom endpoint, e.g., Aliyun OSS: oss-cn-hangzhou.aliyuncs.com`,"system.storage.s3.endpoint.tooltip":`Leave empty for AWS S3, required for Aliyun OSS, Tencent COS, etc.`,"system.storage.s3.url":`Custom URL`,"system.storage.s3.url.placeholder":`Custom file access URL prefix (optional)`,"system.storage.s3.url.tooltip":`Configure CDN domain if using CDN`,"system.storage.s3.path_style":`Path Style Endpoint`,"system.storage.s3.path_style.tooltip":`Some S3-compatible services (like MinIO) require this option`,"system.storage.ftp.title":`FTP Server Configuration`,"system.storage.ftp.host":`Host`,"system.storage.ftp.host.placeholder":`e.g., ftp.example.com`,"system.storage.ftp.port":`Port`,"system.storage.ftp.port.placeholder":`21`,"system.storage.ftp.username":`Username`,"system.storage.ftp.username.placeholder":`Enter FTP username`,"system.storage.ftp.password":`Password`,"system.storage.ftp.password.placeholder":`Enter FTP password`,"system.storage.ftp.root":`Root Directory`,"system.storage.ftp.root.placeholder":`e.g., /public_html/uploads`,"system.storage.ftp.root.tooltip":`Storage root directory on FTP server`,"system.storage.ftp.timeout":`Timeout`,"system.storage.ftp.timeout.placeholder":`30`,"system.storage.ftp.timeout.suffix":`seconds`,"system.storage.ftp.passive":`Passive Mode`,"system.storage.ftp.passive.tooltip":`Recommended for most network environments`,"system.storage.ftp.ssl":`SSL/TLS`,"system.storage.ftp.ssl.tooltip":`Enable FTPS secure connection`,"system.storage.sftp.title":`SFTP Server Configuration`,"system.storage.sftp.host":`Host`,"system.storage.sftp.host.placeholder":`e.g., sftp.example.com`,"system.storage.sftp.port":`Port`,"system.storage.sftp.port.placeholder":`22`,"system.storage.sftp.username":`Username`,"system.storage.sftp.username.placeholder":`Enter SFTP username`,"system.storage.sftp.password":`Password`,"system.storage.sftp.password.placeholder":`Enter SFTP password`,"system.storage.sftp.password.tooltip":`Leave empty if using key authentication`,"system.storage.sftp.root":`Root Directory`,"system.storage.sftp.root.placeholder":`e.g., /var/www/uploads`,"system.storage.sftp.root.tooltip":`Storage root directory on SFTP server`,"system.storage.sftp.timeout":`Timeout`,"system.storage.sftp.timeout.placeholder":`30`,"system.storage.sftp.timeout.suffix":`seconds`,"system.storage.sftp.private_key":`Private Key`,"system.storage.sftp.private_key.placeholder":`Paste SSH private key content (optional)`,"system.storage.sftp.private_key.tooltip":`Paste private key content for key authentication`,"system.storage.sftp.passphrase":`Passphrase`,"system.storage.sftp.passphrase.placeholder":`Enter if private key is password protected`,"system.storage.sftp.passphrase.tooltip":`Private key passphrase (if any)`,"system.storage.test.title":`Connection Test`,"system.storage.test.current_driver":`Current Storage Driver`,"system.storage.test.button":`Test Connection`,"system.storage.test.success":`Connection test successful`,"system.storage.test.failed":`Connection test failed`,"system.storage.help.title":`Storage Driver Guide`,"system.storage.help.local":`Local Storage:`,"system.storage.help.local.desc":`Files stored on server local disk, suitable for small projects.`,"system.storage.help.s3":`S3 / Object Storage:`,"system.storage.help.s3.desc":`Compatible with AWS S3, Aliyun OSS, Tencent COS, Qiniu, suitable for large-scale storage.`,"system.storage.help.ftp":`FTP:`,"system.storage.help.ftp.desc":`Connect to remote server via FTP protocol.`,"system.storage.help.sftp":`SFTP:`,"system.storage.help.sftp.desc":`Secure connection via SSH, more secure and reliable.`,"system.storage.save.success":`Configuration saved successfully`,"system.storage.save.failed":`Failed to save configuration`},Fn={"system.user.page.title":`User List`,"system.user.page.description":`Manage system users through the admin list, assign departments and roles to users.`,"system.user.id":`User ID`,"system.user.username":`Username`,"system.user.username.required":`Username is required`,"system.user.nickname":`Nickname`,"system.user.nickname.required":`Nickname is required`,"system.user.sex":`Gender`,"system.user.sex.0":`Male`,"system.user.sex.1":`Female`,"system.user.email":`Email`,"system.user.email.required":`Email is required`,"system.user.role":`User Role`,"system.user.role.required":`User role is required`,"system.user.dept":`User Department`,"system.user.dept.required":`User department is required`,"system.user.status":`Status`,"system.user.status.0":`Disabled`,"system.user.status.1":`Enabled`,"system.user.status.required":`Status is required`,"system.user.mobile":`Mobile Number`,"system.user.mobile.required":`Mobile number is required`,"system.user.avatar":`Avatar`,"system.user.password":`Password`,"system.user.password.required":`Password is required`,"system.user.rePassword":`Confirm Password`,"system.user.rePassword.required":`Confirm password is required`,"system.user.created_at":`Created At`,"system.user.updated_at":`Updated At`,"system.user.searchPlaceholder":`Please enter nickname, username, or mobile number to search`,"system.user.resetSuccess":`Reset successful!`,"system.user.resetPassword":`Reset Password`,"system.user.resetButton":`Submit Reset`},In={"system.role.page.title":`Role Management`,"system.role.page.description":`Manage system roles, configure role permissions, assign roles to users`,"system.role.title":`Role Management`,"system.role.tab.users":`User List`,"system.role.tab.rules":`Permission Settings`,"system.role.table.roleName":`Role Name`,"system.role.table.roleName.required":`Please enter role name`,"system.role.table.sort":`Sort Order`,"system.role.table.sort.required":`Please enter sort value`,"system.role.table.userCount":`User Count`,"system.role.table.status":`Status`,"system.role.table.status.required":`Please select status`,"system.role.table.status.enable":`Enable`,"system.role.table.status.disable":`Disable`,"system.role.table.status.enabled":`Enabled`,"system.role.table.status.disabled":`Disabled`,"system.role.table.description":`Role Description`,"system.role.table.createdAt":`Created At`,"system.role.table.updatedAt":`Updated At`,"system.role.table.headerTitle":`Role List`,"system.role.userTable.userId":`User ID`,"system.role.userTable.username":`Username`,"system.role.userTable.nickname":`Nickname`,"system.role.userTable.email":`Email`,"system.role.userTable.mobile":`Mobile Number`,"system.role.userTable.status":`Status`,"system.role.userTable.status.normal":`Normal`,"system.role.userTable.status.banned":`Banned`,"system.role.userTable.person":`users`,"system.role.button.expandAll":`Expand All`,"system.role.button.collapseAll":`Collapse All`,"system.role.button.selectAll":`Select All`,"system.role.button.clearAll":`Clear Selection`,"system.role.button.invertSelection":`Invert Selection`,"system.role.button.saveRules":`Save Permissions`,"system.role.message.selectRoleFirst":`Please select a role first`,"system.role.message.statusUpdateSuccess":`Status updated successfully`,"system.role.message.statusUpdateFailed":`Status update failed`,"system.role.message.rulesSaveSuccess":`Permissions saved successfully`,"system.role.permission.selectedCount":`Selected {{count}} permissions`,"system.role.placeholder.selectRole":`Please select a role first`},Ln={"system.rule.description":`Manage system menus and permissions, configure routes and permission items`,"system.rule.routePath":`Route Path`,"system.rule.routePath.required":`Route path is required`,"system.rule.routePath.tooltip":`Access path for the route page. For external links, please provide the complete URL`,"system.rule.routePath.showTooltip":`Route Path: {{path}}`,"system.rule.icon":`Menu Icon`,"system.rule.local":`i18n Key`,"system.rule.local.show":`Display Name`,"system.rule.link":`External Link`,"system.rule.link.1":`Yes`,"system.rule.link.0":`No`,"system.rule.type":`Menu Type`,"system.rule.type.menu":`Menu Item`,"system.rule.type.route":`Route Page`,"system.rule.type.rule":`Permission Item`,"system.rule.type.required":`Menu type is required`,"system.rule.parent":`Parent Menu`,"system.rule.parent.0":`Root Menu`,"system.rule.parent.required":`Parent menu is required`,"system.rule.order":`Sort Order`,"system.rule.order.required":`Sort order is required`,"system.rule.name":`Rule Name`,"system.rule.name.required":`Rule name is required`,"system.rule.key":`Permission Key`,"system.rule.key.required":`Permission key is required`,"system.rule.hidden":`Visibility`,"system.rule.hidden.tooltip":`Controls menu display in navigation (route and permission functions remain active)`,"system.rule.hidden.0":`Hidden`,"system.rule.hidden.1":`Visible`,"system.rule.hidden.updateSuccess":`Visibility updated successfully`,"system.rule.status":`Status`,"system.rule.status.tooltip":`Permission status (disabled permissions will not participate in system permission verification)`,"system.rule.status.0":`Disabled`,"system.rule.status.1":`Enabled`,"system.rule.status.updateSuccess":`Status updated successfully`,"system.rule.created_at":`Created At`,"system.rule.updated_at":`Updated At`,"system.rule.title":`Permission Management`,"system.rule.addChildButton":`Add Child Item`},Rn={"system.ai.page.title":`AI Settings`,"system.ai.page.description":`Manage AI provider and model configurations, supports multiple providers and default model assignment`,"system.ai.default":`Default Model`,"system.ai.default.tooltip":`Default model for general AI chat, analysis and other tasks`,"system.ai.provider.api_key":`{{lab}} API Key`,"system.ai.provider.api_key.placeholder":`Please enter API Key`,"system.ai.provider.url":`{{lab}} API URL`,"system.ai.provider.url.placeholder":`Example: {{url}}`,"system.ai.azure.api_version":`API Version`,"system.ai.azure.deployment":`Deployment Name`,"system.ai.azure.embedding_deployment":`Embedding Deployment Name`,"system.ai.azure.image_deployment":`Image Deployment Name`,"system.ai.bedrock.region":`AWS Region`,"system.ai.bedrock.access_key_id":`Access Key ID`,"system.ai.bedrock.secret_access_key":`Secret Access Key`,"system.ai.bedrock.session_token":`Session Token (optional)`,"system.ai.test.title":`Connection Test`,"system.ai.test.hint":`Click the button below to test the current AI provider connection`,"system.ai.test.button":`Test Connection`,"system.ai.test.testing":`Testing connection...`,"system.ai.test.success":`Connection test successful!`,"system.ai.test.error":`Connection test failed`,"system.ai.save.success":`AI settings saved successfully`},zn={"system.carousel.page.title":`Homepage Carousel`,"system.carousel.page.description":`Manage homepage carousel images and links`,"system.carousel.id":`ID`,"system.carousel.title":`Carousel Title`,"system.carousel.title.required":`Carousel title is required`,"system.carousel.image":`Carousel Image`,"system.carousel.image.required":`Carousel image is required`,"system.carousel.linkType":`Link Type`,"system.carousel.linkType.required":`Link type is required`,"system.carousel.linkType.link":`Link`,"system.carousel.linkType.category":`Category`,"system.carousel.link":`Redirect Link`,"system.carousel.link.placeholder":`Enter redirect link`,"system.carousel.category":`Target Category`,"system.carousel.category.placeholder":`Select a category`,"system.carousel.status":`Status`,"system.carousel.status.required":`Status is required`,"system.carousel.status.normal":`Active`,"system.carousel.status.disabled":`Disabled`,"system.carousel.sort":`Sort`,"system.carousel.createdAt":`Created At`,"system.carousel.updatedAt":`Updated At`},Bn={"system.gridNav.page.title":`Homepage Grid Navigation`,"system.gridNav.page.description":`Manage homepage grid navigation icons and links`,"system.gridNav.id":`ID`,"system.gridNav.title":`Navigation Title`,"system.gridNav.title.required":`Navigation title is required`,"system.gridNav.image":`Navigation Icon`,"system.gridNav.image.required":`Navigation icon is required`,"system.gridNav.linkType":`Link Type`,"system.gridNav.linkType.required":`Link type is required`,"system.gridNav.linkType.link":`Link`,"system.gridNav.linkType.category":`Category`,"system.gridNav.link":`Redirect Link`,"system.gridNav.link.placeholder":`Enter redirect link`,"system.gridNav.category":`Target Category`,"system.gridNav.category.placeholder":`Select a category`,"system.gridNav.status":`Status`,"system.gridNav.status.required":`Status is required`,"system.gridNav.status.normal":`Active`,"system.gridNav.status.disabled":`Disabled`,"system.gridNav.sort":`Sort`,"system.gridNav.createdAt":`Created At`,"system.gridNav.updatedAt":`Updated At`},Vn={"system.category.page.title":`Category Management`,"system.category.page.description":`Manage homepage categories and category item links`,"system.category.id":`ID`,"system.category.name":`Category Name`,"system.category.name.required":`Category name is required`,"system.category.status":`Status`,"system.category.status.required":`Status is required`,"system.category.status.normal":`Active`,"system.category.status.disabled":`Disabled`,"system.category.sort":`Sort`,"system.category.createdAt":`Created At`,"system.category.updatedAt":`Updated At`,"system.category.manageItems":`Manage Items`,"system.category.itemManagement":`Category Items`,"system.category.backToList":`Back to Categories`,"system.category.selectCategoryFirst":`Please select a category first`,"system.category.item.id":`ID`,"system.category.item.title":`Item Title`,"system.category.item.title.required":`Item title is required`,"system.category.item.image":`Item Icon`,"system.category.item.image.required":`Item icon is required`,"system.category.item.link":`Redirect Link`,"system.category.item.link.placeholder":`Enter redirect link`,"system.category.item.tag":`Tags`,"system.category.item.tag.placeholder":`Type and press Enter to add a tag`,"system.category.item.status":`Status`,"system.category.item.status.required":`Status is required`,"system.category.item.status.normal":`Active`,"system.category.item.status.disabled":`Disabled`,"system.category.item.sort":`Sort`,"system.category.item.createdAt":`Created At`,"system.category.item.updatedAt":`Updated At`,"system.category.item.createSuccess":`Category item created successfully`,"system.category.item.updateSuccess":`Category item updated successfully`},Hn={"system.activity.page.title":`Activity Zone`,"system.activity.page.description":`Manage homepage activity zone images, descriptions and links`,"system.activity.id":`ID`,"system.activity.title":`Activity Title`,"system.activity.title.required":`Activity title is required`,"system.activity.image":`Activity Image`,"system.activity.image.required":`Activity image is required`,"system.activity.description":`Description`,"system.activity.description.placeholder":`Enter activity description`,"system.activity.linkType":`Link Type`,"system.activity.linkType.required":`Link type is required`,"system.activity.linkType.link":`Link`,"system.activity.linkType.category":`Category`,"system.activity.link":`Redirect Link`,"system.activity.link.placeholder":`Enter redirect link`,"system.activity.category":`Target Category`,"system.activity.category.placeholder":`Select a category`,"system.activity.status":`Status`,"system.activity.status.required":`Status is required`,"system.activity.status.normal":`Active`,"system.activity.status.disabled":`Disabled`,"system.activity.sort":`Sort`,"system.activity.createdAt":`Created At`,"system.activity.updatedAt":`Updated At`},Un={"ai.chat.title":`AI Chat`,"ai.chat.newChat":`New Chat`,"ai.chat.placeholder":`Type your question, press Enter to send...`,"ai.chat.welcome.title":`How can I help you?`,"ai.chat.welcome.description":`I am your AI assistant. I can answer questions, write code, analyze data, and more.`,"ai.chat.loading":`Thinking...`,"ai.chat.error.send":`Failed to send, please retry`,"ai.chat.delete.confirm":`Are you sure you want to delete this conversation?`,"ai.chat.delete.success":`Conversation deleted`,"ai.chat.empty":`No conversations yet, start a new chat`,"ai.chat.copy":`Copy`,"ai.chat.copy.success":`Copied to clipboard`,"ai.chat.retry":`Retry`,"ai.chat.thinking":`Deep thinking...`,"ai.chat.thinking.done":`Thinking completed`,"ai.chat.attachment.upload":`Upload file`,"ai.chat.attachment.maxCount":`Maximum {count} files`,"ai.chat.attachment.error":`File upload failed`,"ai.chat.switchAgent":`Switch Agent`,"ai.chat.defaultTitle":`AI Chat`},Wn={"ai.conversation.page.title":`AI Conversation Management`,"ai.conversation.page.description":`Manage AI chat conversations and message records`,"ai.conversation.id":`Conversation ID`,"ai.conversation.username":`User`,"ai.conversation.title":`Title`,"ai.conversation.messageCount":`Messages`,"ai.conversation.createdAt":`Created At`,"ai.conversation.updatedAt":`Updated At`,"ai.conversation.deleteConfirm":`Are you sure you want to delete this conversation? All messages will be removed.`,"ai.conversation.deleteSuccess":`Conversation deleted`,"ai.conversation.viewMessages":`View Messages`,"ai.conversation.messageTitle":`Conversation Messages`,"ai.conversation.noUser":`Anonymous`,"ai.conversation.message.id":`Message ID`,"ai.conversation.message.role":`Role`,"ai.conversation.message.role.user":`User`,"ai.conversation.message.role.assistant":`Assistant`,"ai.conversation.message.role.system":`System`,"ai.conversation.message.agent":`AI Model`,"ai.conversation.message.content":`Content`,"ai.conversation.message.createdAt":`Sent At`,"ai.conversation.message.toolCalls":`Tool Calls`,"ai.conversation.message.usage":`Usage`},Gn={"ai.agent.page.title":`Agent Management`,"ai.agent.page.description":`Manage AI Agent registration and status. Agents are registered via database seeder.`,"ai.agent.update.success":`Updated successfully`,"ai.agent.update.failed":`Failed to update`,"ai.agent.empty":`No agents registered.`,"ai.agent.goChat":`Chat`},Kn={"user.profile.title":`User Settings`,"user.profile.baseInfo":`Basic Information`,"user.profile.changePassword":`Change Password`,"user.profile.loginLog":`Login Log`,"user.profile.baseInfo.updateAvatar":`Update Avatar`,"user.profile.baseInfo.updateAvatarDesc":`Supports JPG/PNG format, maximum 2MB`,"user.profile.baseInfo.avatarSuccess":`Avatar uploaded successfully`,"user.profile.baseInfo.success":`User information updated successfully`,"user.profile.baseInfo.username":`Username`,"user.profile.baseInfo.username.message":`Please enter username!`,"user.profile.baseInfo.nickname":`Nickname`,"user.profile.baseInfo.nickname.message":`Please enter nickname!`,"user.profile.baseInfo.sex":`Gender`,"user.profile.baseInfo.sex.0":`Male`,"user.profile.baseInfo.sex.1":`Female`,"user.profile.baseInfo.bio":`Bio`,"user.profile.baseInfo.email":`Email`,"user.profile.baseInfo.email.typeMessage":`Please enter a valid email address!`,"user.profile.baseInfo.email.requiredMessage":`Please enter email!`,"user.profile.baseInfo.mobile":`Mobile Number`,"user.profile.baseInfo.mobile.message":`Please enter mobile number!`,"user.profile.baseInfo.submit":`Save User Information`,"user.profile.changePassword.oldPassword":`Current Password`,"user.profile.changePassword.oldPassword.message":`Please enter current password!`,"user.profile.changePassword.newPassword":`New Password`,"user.profile.changePassword.rePassword":`Confirm New Password`,"user.profile.changePassword.requiredMessage":`Please enter new password!`,"user.profile.changePassword.minMessage":`Password must be at least 8 characters!`,"user.profile.changePassword.rePassword.message":`Passwords do not match!`,"user.profile.changePassword.submit":`Change Password`,"user.profile.changePassword.success":`Update Successful`,"user.profile.loginLog.success":`Login Successful`,"user.profile.loginLog.error":`Login Failed`,"user.profile.loginLog.empty":`No login logs available`},qn={"xin.form.submit":`Submit`,"xin.form.reset":`Reset`,"xin.form.cancel":`Cancel`,"xin.form.formList.add":`Add Item`,"xin.form.upload.button":`Click to Upload`,"xin.form.userSelector.placeholder":`Please select user`,"xin.form.userSelector.modal.title":`Select User`,"xin.form.userSelector.modal.okText":`OK`,"xin.form.userSelector.modal.cancelText":`Cancel`,"xin.form.iconSelector.placeholder":`Please select icon`,"xin.form.iconSelector.modal.title":`Select Icon`,"xin.form.iconSelector.tabs.use":`Custom Icons`,"xin.form.iconSelector.tabs.suggestion":`Website General Icons`,"xin.form.iconSelector.tabs.direction":`Directional Icons`,"xin.form.iconSelector.tabs.editor":`Editor Icons`,"xin.form.iconSelector.tabs.data":`Data Icons`,"xin.form.iconSelector.tabs.logo":`Brands and Logos`,"xin.form.iconSelector.tabs.other":`Other Icons`,"xin.form.imageUploader.uploadText":`Upload Image`,"xin.form.imageUploader.error.notImage":`Only image files can be uploaded!`,"xin.form.imageUploader.error.sizeExceeded":`Image size cannot exceed {{maxSize}}MB!`,"xin.form.imageUploader.error.dimensionExceeded":`Image dimensions cannot exceed {{maxWidth}}x{{maxHeight}}px!`,"xin.form.imageUploader.error.loadFailed":`Failed to load image!`,"xin.form.imageUploader.error.readFailed":`Failed to read image!`},Jn={"xin.table.queryTable":`Query Table`,"xin.table.keywordPlaceholder":`Enter keyword`,"xin.table.keywordEmpty":`Please enter search content`,"xin.table.add":`Add`,"xin.table.refresh":`Refresh`,"xin.table.columnSettings":`Column Settings`,"xin.table.showBorder":`Show Border`,"xin.table.hideBorder":`Hide Border`,"xin.table.density.default":`Default`,"xin.table.density.middle":`Middle`,"xin.table.density.compact":`Compact`,"xin.table.total":`Total {{total}} items`,"xin.table.operate":`Actions`,"xin.table.edit":`Edit`,"xin.table.delete":`Delete`,"xin.table.deleteConfirm":`Are you sure to delete record {{id}}?`,"xin.table.deleteOk":`Confirm Delete`,"xin.table.deleteCancel":`Cancel`,"xin.table.deleteSuccess":`Deleted successfully`,"xin.table.form.createTitle":`Create`,"xin.table.form.editTitle":`Edit`,"xin.table.form.close":`Close`,"xin.table.form.createSuccess":`Created successfully!`,"xin.table.form.updateSuccess":`Updated successfully!`,"xin.table.form.updateKeyUndefined":`Primary key for update is undefined!`,"xin.table.search.search":`Search`,"xin.table.search.reset":`Reset`,"xin.table.search.expand":`Expand`,"xin.table.search.collapse":`Collapse`},Yn={"xin.crud.operate":`Actions`,"xin.crud.edit":`Edit`,"xin.crud.delete":`Delete`,"xin.crud.add":`Add`,"xin.crud.batchDelete":`Batch Delete`,"xin.crud.confirm":`Confirm`,"xin.crud.cancel":`Cancel`,"xin.crud.deleteConfirm":`Confirm Delete`,"xin.crud.deleteConfirmDesc":`Data cannot be recovered after deletion. Are you sure to delete?`,"xin.crud.batchDeleteConfirm":`Confirm Batch Delete`,"xin.crud.batchDeleteConfirmDesc":`Are you sure to delete {{count}} selected items?`,"xin.crud.selectAtLeastOne":`Please select at least one item`,"xin.crud.createSuccess":`Created successfully`,"xin.crud.updateSuccess":`Updated successfully`,"xin.crud.deleteSuccess":`Deleted successfully`,"xin.crud.batchDeleteSuccess":`Batch deleted successfully`,"xin.crud.createTitle":`Create`,"xin.crud.editTitle":`Edit`,"xin.crud.total":`Total {{total}} items`,"xin.crud.yes":`Yes`,"xin.crud.no":`No`},Xn={"layout.resetTheme":`Reset Theme`,"layout.saveTheme":`Save Theme`,"layout.layoutStyle":`Layout Style`,"layout.layoutSide":`Side Navigation`,"layout.layoutTop":`Top Navigation`,"layout.layoutMix":`Mix Navigation`,"layout.layoutColumns":`Columns Navigation`,"layout.presetTheme":`Preset Theme`,"layout.themeLight":`Light`,"layout.themeDark":`Dark`,"layout.themePink":`Pink`,"layout.themeGreen":`Green`,"layout.themeAlgorithm":`Theme Algorithm`,"layout.algorithmDefault":`Default`,"layout.algorithmDark":`Dark`,"layout.algorithmDefaultCompact":`Default + Compact`,"layout.algorithmDarkCompact":`Dark + Compact`,"layout.themeColor":`Theme Color`,"layout.colorPrimary":`Primary Color`,"layout.colorText":`Text Color`,"layout.colorBg":`Background Color`,"layout.colorSuccess":`Success Color`,"layout.colorWarning":`Warning Color`,"layout.colorError":`Error Color`,"layout.bodyBg":`Body Background`,"layout.footerBg":`Footer Background`,"layout.headerBg":`Header Background`,"layout.headerColor":`Header Text Color`,"layout.siderBg":`Sider Background`,"layout.siderColor":`Sider Text Color`,"layout.colorBorder":`Border Color`,"layout.styleConfig":`Style Configuration`,"layout.fixedFooter":`Fixed Footer`,"layout.borderRadius":`Border Radius`,"layout.controlHeight":`Control Height`,"layout.headerPadding":`Header Padding`,"layout.headerHeight":`Header Height`,"layout.siderWeight":`Sider Width`,"layout.bodyPadding":`Body Padding`,"layout.systemConfig":`System Configuration`,"layout.localRoute":`Local Route`,"layout.profile":`User Settings`,"layout.logout":`Logout`,"layout.logoutSuccess":`Logout successful, redirecting`,"layout.logoutFailed":`Logout failed`,"layout.searchPlaceholder":`Please enter search content`,"layout.searchConfirm":`Confirm`,"layout.searchSwitch":`Switch`,"layout.searchClose":`Close`},Zn={...Cn,...wn,...Tn,...En,...Dn,...On,...kn,...An,...jn,...Mn,...Nn,...Pn,...Fn,...In,...Ln,...Rn,...zn,...Bn,...Vn,...Hn,...Un,...Wn,...Gn,...Kn,...qn,...Jn,...Yn,...Xn},Qn={"menu.dashboard":`仪表盘`,"menu.analysis":`分析页`,"menu.monitor":`监控页`,"menu.workplace":`工作台`,"menu.result":`结果页面`,"menu.result.success":`成功页`,"menu.result.fail":`失败页`,"menu.result.warning":`警告页`,"menu.result.info":`信息页`,"menu.exception":`异常页面`,"menu.exception.403":`403`,"menu.exception.404":`404`,"menu.exception.500":`500`,"menu.multi-menu":`多级菜单`,"menu.multi-menu.two":`二级菜单`,"menu.multi-menu.first":`二级页面`,"menu.multi-menu.two.three":`三级菜单`,"menu.multi-menu.two.second":`三级页面`,"menu.multi-menu.two.three.third":`四级页面`,"menu.page-layout":`页面布局`,"menu.page-layout.base-layout":`基础布局`,"menu.page-layout.fix-header":`固定头部`,"menu.page-layout.descriptions":`页面描述`,"menu.example":`组件示例`,"menu.example.user-selector":`用户选择器`,"menu.example.icon-selector":`图标`,"menu.example.image-uploader":`图片上传器`,"menu.example.xin-form":`XinForm 表单`,"menu.example.xin-table":`XinTable 表格`,"menu.ai":`AI`,"menu.ai.chat":`对话`,"menu.ai.agent":`智能体`,"menu.ai.conversation":`会话管理`,"menu.system":`系统管理`,"menu.system.user":`用户管理`,"menu.system.dept":`部门管理`,"menu.system.role":`角色管理`,"menu.system.rule":`菜单管理`,"menu.system.info":`系统信息`,"menu.system.file":`文件管理`,"menu.system.dict":`系统字典`,"menu.system.mail":`邮件配置`,"menu.system.storage":`存储配置`,"menu.system.config":`网站配置`,"menu.system.ai":`AI 配置`,"menu.system.carousel":`轮播图管理`,"menu.system.grid-nav":`宫格导航管理`,"menu.system.category":`分类管理`,"menu.system.activity":`活动专区管理`,"menu.xin-admin":`XinAdmin`},$n={"login.username":`用户名`,"login.password":`密码`,"login.usernamePlaceholder":`admin`,"login.passwordPlaceholder":`123456`,"login.usernameRequired":`请输入用户名!`,"login.passwordRequired":`请输入密码!`,"login.remember":`保持登录`,"login.forgotPassword":`忘记密码`,"login.otherLogin":`其他登录方式`,"login.success":`登录成功,即将跳转到首页!`,"login.alreadyLoggedIn":`已登录,路由重定向!`},er={"dashboard.since.lastWeek":`自上周以来`,"dashboard.vs.lastWeek":`较上周`,"dashboard.analysis.totalRevenue":`总收入`,"dashboard.analysis.totalExpenses":`总支出`,"dashboard.analysis.visitors":`访客量`,"dashboard.analysis.likes":`点赞量`,"dashboard.analysis.annualSales":`年度销售额`,"dashboard.analysis.grossProfit":`毛利润`,"dashboard.analysis.netProfit":`净利润`,"dashboard.analysis.totalExpense":`总支出`,"dashboard.analysis.accessFrom":`Access From`,"dashboard.analysis.searchEngine":`Search Engine`,"dashboard.analysis.direct":`Direct`,"dashboard.analysis.email":`Email`,"dashboard.analysis.unionAds":`Union Ads`,"dashboard.analysis.videoAds":`Video Ads`,"dashboard.analysis.salesRanking":`销售排名`,"dashboard.analysis.month":`月份`,"dashboard.analysis.year":`年份`,"dashboard.analysis.day":`天`,"dashboard.analysis.article":`Article`,"dashboard.analysis.age":`Age`,"dashboard.analysis.address":`Address`,"dashboard.analysis.tags":`Tags`,"dashboard.analysis.action":`Action`,"dashboard.analysis.invite":`Invite`,"dashboard.analysis.delete":`Delete`,"dashboard.analysis.userReviews":`用户评价`,"dashboard.analysis.reviewDescription":`Ant Design, a design language for background applications, is refined by Ant UED Team`,"dashboard.analysis.january":`January`,"dashboard.analysis.february":`February`,"dashboard.analysis.march":`March`,"dashboard.analysis.april":`April`,"dashboard.analysis.may":`May`,"dashboard.analysis.june":`June`,"dashboard.analysis.july":`July`,"dashboard.analysis.august":`August`,"dashboard.analysis.september":`September`,"dashboard.analysis.october":`October`,"dashboard.analysis.november":`November`,"dashboard.analysis.december":`December`},tr={"dashboard.completion":`完成度`,"dashboard.vs.lastWeek":`较上周`,"dashboard.monitor.helpService":`帮办代办`,"dashboard.monitor.propertyFee":`物业费`,"dashboard.monitor.alarmEvents":`报警事件`,"dashboard.monitor.otherEvents":`其它事件`,"dashboard.monitor.todoList":`待办事项`,"dashboard.monitor.myFocus":`我的关注`,"dashboard.monitor.all":`全部`,"dashboard.monitor.propertyOrder":`物业工单`,"dashboard.monitor.repairOrder":`维修工单`,"dashboard.monitor.fireSafety":`消防安全`,"dashboard.monitor.paidService":`有偿服务`,"dashboard.monitor.publicService":`公共服务`},nr={"dashboard.workplace.greeting.morning":`上午好`,"dashboard.workplace.greeting.afternoon":`下午好`,"dashboard.workplace.greeting.evening":`晚上好`,"dashboard.workplace.welcome":`欢迎回来!`,"dashboard.workplace.today":`今天是`,"dashboard.workplace.myProjects":`我的项目`,"dashboard.workplace.myTeams":`我的团队`,"dashboard.workplace.latestActivities":`最新动态`,"dashboard.workplace.notifications":`站内通知`,"dashboard.workplace.appStore":`应用商店`,"dashboard.workplace.appStore.desc":`应用分发与管理平台`,"dashboard.workplace.mallSystem":`商城系统`,"dashboard.workplace.mallSystem.desc":`企业电商解决方案`,"dashboard.workplace.collaboration":`协作平台`,"dashboard.workplace.collaboration.desc":`团队协作与沟通工具`,"dashboard.workplace.docCenter":`文档中心`,"dashboard.workplace.docCenter.desc":`企业知识管理与文档协作`,"dashboard.workplace.badge.new":`New`,"dashboard.workplace.status.inProgress":`进行中`,"dashboard.workplace.status.completed":`已完成`,"dashboard.workplace.status.planning":`规划中`,"dashboard.workplace.progress":`进度`,"dashboard.workplace.members":`成员`,"dashboard.workplace.people":`人`,"dashboard.workplace.recentVisits":`最近访问`,"dashboard.workplace.location":`本地`,"dashboard.workplace.project1.name":`企业级管理系统`,"dashboard.workplace.project1.desc":`基于React和AntDesign构建的企业后台管理系统`,"dashboard.workplace.project2.name":`移动端H5应用`,"dashboard.workplace.project2.desc":`使用Vue3开发的移动端电商应用`,"dashboard.workplace.project3.name":`数据可视化平台`,"dashboard.workplace.project3.desc":`基于ECharts的大数据可视化分析平台`,"dashboard.workplace.project4.name":`系统升级通知`,"dashboard.workplace.project4.desc":`系统将于本周五凌晨2:00-4:00进行升级维护`,"dashboard.workplace.project5.name":`团队邀请`,"dashboard.workplace.project5.desc":`您已被邀请加入"新产品研发"项目组`,"dashboard.workplace.project6.name":`任务提醒`,"dashboard.workplace.project6.desc":`您有3个任务即将到期,请及时处理`},rr={"system.info.title":`系统信息`,"system.info.basic.title":`系统基本信息`,"system.info.project.title":`项目地址`,"system.info.changelog.title":`更新日志`,"system.info.author.title":`作者介绍`,"system.info.desc.title":`系统描述`,"system.info.join":`加入社区,获取最新动态和技术支持`,"system.info.label.name":`系统名称`,"system.info.label.version":`版本号`,"system.info.label.build":`构建工具`,"system.info.label.frontend":`前端框架`,"system.info.label.ui":`UI框架`,"system.info.label.css":`CSS框架`,"system.info.label.router":`路由管理`,"system.info.label.state":`状态管理`,"system.info.label.ts":`TypeScript`,"system.info.link.github":`GitHub 仓库`,"system.info.link.docs":`在线文档`,"system.info.link.demo":`演示地址`,"system.info.link.issues":`问题反馈`,"system.info.log.content":`基于React 19、Vite 7、ReactRouter 7、zustand 5 和 TypeScript,重构项目模块`,"system.info.author.name":`XinAdmin 团队`,"system.info.author.role":`企业级中后台解决方案提供者`,"system.info.contact.github":`GitHub`,"system.info.contact.group":`QQ群`,"system.info.contact.discuss":`讨论区`,"system.info.desc.content":`XinAdmin 是一个基于 Ant Design 设计规范的企业级中后台前端模板,采用最新的前端技术栈,包括 React 19、Vite 7、ReactRouter 7、zustand 5 和 TypeScript。 核心特性: ✨ 前沿技术栈 - React 19 + Vite 7 + TypeScript 5.8 @@ -17,4 +17,4 @@ Core Features: 🎡 ReactRouter v7 - 支持后端动态路由,自动生成菜单 🧩 TailwindCSS - 原子化CSS,与 Ant Design 完美配合 🎡 内置国际化 - 支持中英日法俄5种语言 -⛳ 完善的页面组件 - 包含错误页、布局组件等`,"system.info.tag.enterprise":`企业级`,"system.info.tag.ready":`开箱即用`,"system.info.tag.scalable":`可扩展`,"system.info.tag.modern":`现代化`,"system.info.tag.i18n":`国际化`,"system.info.tag.auth":`权限控制`},ir={"system.config.page.title":`网站设置`,"system.config.page.description":`管理网站设置项,支持动态配置系统参数`,"system.config.group.title":`设置组`,"system.config.group.add":`新增`,"system.config.group.create":`新增设置组`,"system.config.group.edit":`编辑设置组`,"system.config.group.delete":`删除`,"system.config.group.deleteConfirm":`确认删除?`,"system.config.group.deleteWarning":`删除设置组将同时删除该组下的所有设置项`,"system.config.group.field.title":`标题`,"system.config.group.field.title.required":`请输入标题`,"system.config.group.field.key":`键`,"system.config.group.field.key.required":`请输入键`,"system.config.group.field.remark":`描述`,"system.config.group.createSuccess":`新增设置组成功`,"system.config.group.updateSuccess":`修改设置组成功`,"system.config.group.deleteSuccess":`删除设置组成功`,"system.config.item.title":`设置项`,"system.config.item.add":`新增设置项`,"system.config.item.create":`新增设置项`,"system.config.item.edit":`编辑设置项`,"system.config.item.delete":`删除`,"system.config.item.deleteConfirm":`确认删除?`,"system.config.item.selectGroup":`请先选择设置组`,"system.config.item.empty":`暂无设置项,请点击"新增设置项"按钮添加`,"system.config.item.field.key":`键`,"system.config.item.field.key.required":`请输入键`,"system.config.item.field.title":`标题`,"system.config.item.field.title.required":`请输入标题`,"system.config.item.field.type":`组件类型`,"system.config.item.field.type.required":`请选择组件类型`,"system.config.item.field.describe":`描述`,"system.config.item.field.options":`选项`,"system.config.item.field.options.tooltip":`单选、多选等组件的选项,例如: 1=选项1 /n 2=选项2`,"system.config.item.field.props":`属性`,"system.config.item.field.props.tooltip":`组件的配置,支持简单的配置,例如: placeholder=请输入 /n maxLength=100`,"system.config.item.field.values":`默认值`,"system.config.item.field.sort":`排序`,"system.config.item.createSuccess":`新增设置项成功`,"system.config.item.updateSuccess":`修改设置项成功`,"system.config.item.deleteSuccess":`删除设置项成功`,"system.config.item.refreshCacheSuccess":`配置缓存刷新成功`,"system.config.component.Input":`输入框`,"system.config.component.TextArea":`文本域`,"system.config.component.InputNumber":`数字输入框`,"system.config.component.Switch":`开关`,"system.config.component.Radio":`单选框`,"system.config.component.Checkbox":`复选框`,"system.config.form.placeholder.input":`请输入`,"system.config.form.placeholder.select":`请选择`,"system.config.form.placeholder.date":`请选择日期`,"system.config.save.button":`保存`,"system.config.refresh.button":`刷新缓存`,"system.config.confirm.ok":`确认`,"system.config.confirm.cancel":`取消`},ar={"system.dept.page.title":`部门管理`,"system.dept.page.description":`管理系统部门,配置部门层级,管理部门用户`,"system.dept.tab.info":`基本信息`,"system.dept.tab.users":`用户列表`,"system.dept.unnamed":`未命名部门`,"system.dept.createSuccess":`新增部门成功!`,"system.dept.updateSuccess":`编辑部门成功!`,"system.dept.deleteSuccess":`批量删除部门成功!`,"system.dept.column.name":`部门名称`,"system.dept.column.name.required":`部门名称必填!`,"system.dept.column.code":`部门编码`,"system.dept.column.code.required":`部门编码必填!`,"system.dept.column.type":`部门类型`,"system.dept.column.type.0":`公司`,"system.dept.column.type.1":`部门`,"system.dept.column.type.2":`岗位`,"system.dept.column.type.required":`部门类型必填!`,"system.dept.column.parent":`上级部门`,"system.dept.column.parent.0":`顶级`,"system.dept.column.parent.required":`上级部门必填!`,"system.dept.column.email":`邮箱`,"system.dept.column.address":`地址`,"system.dept.column.phone":`电话`,"system.dept.column.sort":`排序`,"system.dept.column.sort.required":`排序必填!`,"system.dept.column.status":`状态`,"system.dept.column.status.0":`正常`,"system.dept.column.status.1":`停用`,"system.dept.column.status.required":`状态必填!`,"system.dept.column.remark":`备注`,"system.dept.users.column.id":`用户ID`,"system.dept.users.column.username":`用户名`,"system.dept.users.column.nickname":`用户昵称`,"system.dept.users.column.email":`邮箱`,"system.dept.users.column.mobile":`手机号`,"system.dept.users.column.status":`状态`,"system.dept.users.column.status.0":`启用`,"system.dept.users.column.status.1":`禁用`,"system.dept.createButton":`新增部门`,"system.dept.createModalTitle":`新增部门表单`,"system.dept.createChildrenButton":`添加下级`,"system.dept.checkedMessage":`已选中 {{checked}} 条记录`,"system.dept.unselect":`取消选择`,"system.dept.delete.ok":`删除`,"system.dept.delete.cancel":`取消删除`,"system.dept.delete.title":`删除部门`,"system.dept.delete.description":`你是否要删除这些部门?`,"system.dept.saveInfo":`保存信息`},or={"system.dict.page.title":`字典管理`,"system.dict.page.description":`管理系统字典类型,配置数据字典项`,"system.dict.id":`ID`,"system.dict.name":`字典名称`,"system.dict.name.required":`字典名称不能为空`,"system.dict.code":`字典编码`,"system.dict.code.required":`字典编码不能为空`,"system.dict.renderType":`渲染类型`,"system.dict.renderType.required":`渲染类型不能为空`,"system.dict.renderType.text":`纯文本`,"system.dict.renderType.tag":`标签`,"system.dict.renderType.badge":`徽标`,"system.dict.renderType.switch":`开关`,"system.dict.status":`状态`,"system.dict.status.required":`状态不能为空`,"system.dict.status.normal":`正常`,"system.dict.status.disabled":`停用`,"system.dict.sort":`排序`,"system.dict.describe":`描述`,"system.dict.createdAt":`创建时间`,"system.dict.updatedAt":`更新时间`,"system.dict.item.id":`ID`,"system.dict.item.label":`字典标签`,"system.dict.item.label.required":`字典标签不能为空`,"system.dict.item.value":`字典键值`,"system.dict.item.value.required":`字典键值不能为空`,"system.dict.item.color":`颜色`,"system.dict.item.isDefault":`是否默认`,"system.dict.item.isDefault.required":`是否默认不能为空`,"system.dict.item.isDefault.yes":`是`,"system.dict.item.isDefault.no":`否`,"system.dict.item.status":`状态`,"system.dict.item.status.required":`状态不能为空`,"system.dict.item.status.normal":`正常`,"system.dict.item.status.disabled":`停用`,"system.dict.item.sort":`排序`,"system.dict.item.createTime":`创建时间`,"system.dict.item.updateTime":`更新时间`,"system.dict.refreshCache":`刷新缓存`,"system.dict.refreshSuccess":`字典缓存刷新成功`,"system.dict.manageItems":`字典数据`,"system.dict.itemManagement":`字典数据管理`,"system.dict.item.createSuccess":`字典数据新增成功`,"system.dict.item.updateSuccess":`字典数据更新成功`,"system.dict.backToList":`返回列表`,"system.dict.selectDictFirst":`请从字典列表中选择要管理的字典`},sr={"system.file.page.title":`文件管理`,"system.file.page.description":`管理系统文件,支持文件的上传、下载、删除、重命名等操作`,"system.file.fileFolder":`文件夹`,"system.file.fileName":`文件名`,"system.file.fileType":`类型`,"system.file.fileSize":`大小`,"system.file.preview":`预览`,"system.file.createdAt":`创建时间`,"system.file.updatedAt":`修改时间`,"system.file.deletedAt":`删除时间`,"system.file.action":`操作`,"system.file.download":`下载`,"system.file.delete":`删除`,"system.file.forceDelete":`彻底删除`,"system.file.restore":`恢复`,"system.file.rename":`重命名`,"system.file.move":`移动`,"system.file.copy":`复制`,"system.file.confirmDelete":`确定删除该文件吗?`,"system.file.confirmForceDelete":`确定彻底删除该文件吗?此操作不可恢复!`,"system.file.confirmDeleteFolder":`确定删除该文件夹吗?`,"system.file.confirmRestore":`确定恢复该文件吗?`,"system.file.confirmBatchDelete":`确定删除选中的 {{count}} 个文件吗?`,"system.file.confirmBatchForceDelete":`确定彻底删除选中的 {{count}} 个文件吗?此操作不可恢复!`,"system.file.confirmBatchRestore":`确定恢复选中的 {{count}} 个文件吗?`,"system.file.ok":`确定`,"system.file.cancel":`取消`,"system.file.upload":`上传文件`,"system.file.uploadTitle":`上传文件`,"system.file.uploadFileType":`文件类型`,"system.file.selectFile":`选择文件`,"system.file.uploadProgress":`上传进度`,"system.file.uploadDragText":`点击或拖拽文件到此区域上传`,"system.file.uploadHint":`支持单个或批量上传`,"system.file.selectFileWarning":`请选择要上传的文件`,"system.file.uploadSuccess":`上传成功`,"system.file.deleteSuccess":`删除文件成功`,"system.file.forceDeleteSuccess":`彻底删除文件成功`,"system.file.restoreSuccess":`恢复文件成功`,"system.file.renameSuccess":`重命名成功`,"system.file.moveSuccess":`移动成功`,"system.file.copySuccess":`复制成功`,"system.file.batchDeleteSuccess":`批量删除成功`,"system.file.batchForceDeleteSuccess":`批量彻底删除成功`,"system.file.batchRestoreSuccess":`批量恢复成功`,"system.file.deleteFolderSuccess":`删除文件夹成功`,"system.file.deleteFolderHint":`删除文件夹前请删除文件夹下所有的文件`,"system.file.addFolder":`新增子文件夹`,"system.file.editFolder":`编辑文件夹`,"system.file.deleteFolder":`删除文件夹`,"system.file.addFolderTitle":`新增文件夹`,"system.file.editFolderTitle":`编辑文件夹`,"system.file.saveFolderSuccess":`{{action}}文件夹成功`,"system.file.actionAdd":`新增`,"system.file.actionEdit":`修改`,"system.file.folderName":`文件夹名称`,"system.file.folderNameRequired":`请输入文件夹名称`,"system.file.folderSearchPlaceholder":`输入文件夹名称搜索`,"system.file.parentFolder":`父级文件夹`,"system.file.sort":`排序`,"system.file.sortRequired":`排序必须`,"system.file.describe":`描述`,"system.file.root":`根目录`,"system.file.type.image":`图片`,"system.file.type.audio":`音频`,"system.file.type.video":`视频`,"system.file.type.archive":`压缩包`,"system.file.type.other":`其他`,"system.file.type.document":`文档`,"system.file.trash":`回收站`,"system.file.emptyTrash":`清空回收站`,"system.file.confirmEmptyTrash":`确定清空回收站吗?此操作不可恢复!`,"system.file.emptyTrashSuccess":`清空回收站成功,共删除 {{count}} 个文件`,"system.file.batchDelete":`批量删除`,"system.file.batchForceDelete":`批量彻底删除`,"system.file.batchRestore":`批量恢复`,"system.file.batchMove":`批量移动`,"system.file.batchCopy":`批量复制`,"system.file.noSelected":`请先选择文件`,"system.file.renameTitle":`重命名文件`,"system.file.renameDescription":`你正在重命名文件,请选择输入新的文件名称!`,"system.file.moveTitle":`移动文件`,"system.file.moveDescription":`你正在移动文件,请选择移动到的文件夹`,"system.file.copyTitle":`复制文件`,"system.file.copyDescription":`你正在复制文件,请选择复制到文件的文件夹!`,"system.file.newFileNameRequired":`请输入新文件名`,"system.file.disk":`存储磁盘`,"system.file.loading":`加载中...`,"system.file.refresh":`刷新`,"system.file.totalFiles":`共 {{total}} 个文件`,"system.file.fileDetail":`文件详情`,"system.file.basicInfo":`基本信息`,"system.file.fileExt":`扩展名`,"system.file.filePath":`文件路径`,"system.file.fileGroup":`文件分组`,"system.file.ungrouped":`未分组`,"system.file.accessUrl":`访问链接`,"system.file.storageMethod":`存储方式`},cr={"system.mail.page.title":`邮件设置`,"system.mail.page.description":`邮件配置用于发送邮件,支持故障切换与循环切换`,"system.mail.mode":`模式切换`,"system.mail.mode.single":`单驱动`,"system.mail.mode.failover":`故障切换`,"system.mail.mode.roundrobin":`循环切换`,"system.mail.driver":`邮件驱动`,"system.mail.driver.smtp":`SMTP`,"system.mail.driver.ses":`Amazon SES`,"system.mail.driver.mailgun":`Mailgun`,"system.mail.driver.postmark":`Postmark`,"system.mail.driver.resend":`Resend`,"system.mail.driver.log":`日志`,"system.mail.driver.array":`Array (调试)`,"system.mail.smtp.title":`SMTP 配置`,"system.mail.host":`服务器地址`,"system.mail.host.placeholder":`smtp.example.com`,"system.mail.port":`端口`,"system.mail.port.placeholder":`587`,"system.mail.username":`用户名`,"system.mail.username.placeholder":`your-email@example.com`,"system.mail.password":`密码`,"system.mail.password.placeholder":`邮箱密码或应用密码`,"system.mail.log.title":`日志配置`,"system.mail.log.channel":`日志驱动`,"system.mail.log.channel.placeholder":`mail`,"system.mail.postmark.title":`Postmark 配置`,"system.mail.postmark.token":`Postmark Token`,"system.mail.postmark.token.placeholder":`您的 Postmark API token`,"system.mail.resend.title":`Resend 配置`,"system.mail.resend.key":`Resend API Key`,"system.mail.resend.key.placeholder":`您的 Resend API key`,"system.mail.mailgun.title":`Mailgun 配置`,"system.mail.mailgun.domain":`Mailgun Domain`,"system.mail.mailgun.domain.placeholder":`mg.yourdomain.com`,"system.mail.mailgun.secret":`Mailgun Secret`,"system.mail.mailgun.secret.placeholder":`您的 Mailgun API key`,"system.mail.mailgun.endpoint":`Mailgun Endpoint`,"system.mail.mailgun.endpoint.placeholder":`api.mailgun.net`,"system.mail.ses.title":`SES (Amazon) 配置`,"system.mail.ses.key":`AWS Access Key`,"system.mail.ses.key.placeholder":`AKIA...`,"system.mail.ses.secret":`AWS Secret Key`,"system.mail.ses.secret.placeholder":`您的 AWS secret key`,"system.mail.ses.region":`AWS Region`,"system.mail.ses.region.placeholder":`us-east-1`,"system.mail.ses.token":`AWS Session Token`,"system.mail.ses.token.placeholder":`可选的会话 token`,"system.mail.from_address":`发件人邮箱`,"system.mail.from_address.placeholder":`noreply@example.com`,"system.mail.from_name":`发件人名称`,"system.mail.from_name.placeholder":`您的应用名称`,"system.mail.test.title":`发送测试邮件`,"system.mail.test.to":`收件人邮箱`,"system.mail.test.to.placeholder":`receiver@example.com`,"system.mail.test.send":`发送测试`,"system.mail.test.success":`测试邮件发送成功`,"system.mail.test.failed":`测试邮件发送失败`,"system.mail.save.success":`配置保存成功`,"system.mail.save.failed":`配置保存失败`},lr={"system.storage.page.title":`文件存储配置`,"system.storage.page.description":`配置系统文件存储方式,支持本地存储、S3 对象存储、FTP 及 SFTP 等多种存储方式`,"system.storage.driver":`默认存储驱动`,"system.storage.driver.local":`本地存储 (Local)`,"system.storage.driver.s3":`Amazon S3 / 对象存储`,"system.storage.driver.ftp":`FTP 服务器`,"system.storage.driver.sftp":`SFTP 服务器`,"system.storage.local.title":`本地存储配置`,"system.storage.local.url":`访问 URL`,"system.storage.local.url.placeholder":`例如: https://example.com/storage`,"system.storage.local.url.tooltip":`文件的公开访问 URL 前缀`,"system.storage.s3.title":`S3 / 对象存储配置`,"system.storage.s3.key":`Access Key ID`,"system.storage.s3.key.placeholder":`请输入 Access Key ID`,"system.storage.s3.secret":`Secret Access Key`,"system.storage.s3.secret.placeholder":`请输入 Secret Access Key`,"system.storage.s3.region":`区域 (Region)`,"system.storage.s3.region.placeholder":`例如: us-east-1 或 cn-hangzhou`,"system.storage.s3.bucket":`存储桶 (Bucket)`,"system.storage.s3.bucket.placeholder":`请输入存储桶名称`,"system.storage.s3.endpoint":`端点 (Endpoint)`,"system.storage.s3.endpoint.placeholder":`自定义端点,如阿里云 OSS: oss-cn-hangzhou.aliyuncs.com`,"system.storage.s3.endpoint.tooltip":`使用 AWS S3 时可留空,使用阿里云 OSS、腾讯云 COS 等需要填写`,"system.storage.s3.url":`自定义 URL`,"system.storage.s3.url.placeholder":`自定义文件访问 URL 前缀(可选)`,"system.storage.s3.url.tooltip":`如果使用 CDN,可以在此配置 CDN 域名`,"system.storage.s3.path_style":`路径风格端点`,"system.storage.s3.path_style.tooltip":`某些 S3 兼容服务(如 MinIO)需要启用此选项`,"system.storage.ftp.title":`FTP 服务器配置`,"system.storage.ftp.host":`主机地址`,"system.storage.ftp.host.placeholder":`例如: ftp.example.com`,"system.storage.ftp.port":`端口`,"system.storage.ftp.port.placeholder":`21`,"system.storage.ftp.username":`用户名`,"system.storage.ftp.username.placeholder":`请输入 FTP 用户名`,"system.storage.ftp.password":`密码`,"system.storage.ftp.password.placeholder":`请输入 FTP 密码`,"system.storage.ftp.root":`根目录`,"system.storage.ftp.root.placeholder":`例如: /public_html/uploads`,"system.storage.ftp.root.tooltip":`FTP 服务器上的存储根目录`,"system.storage.ftp.timeout":`超时时间`,"system.storage.ftp.timeout.placeholder":`30`,"system.storage.ftp.timeout.suffix":`秒`,"system.storage.ftp.passive":`被动模式`,"system.storage.ftp.passive.tooltip":`建议开启,适用于大多数网络环境`,"system.storage.ftp.ssl":`SSL/TLS`,"system.storage.ftp.ssl.tooltip":`启用 FTPS 安全连接`,"system.storage.sftp.title":`SFTP 服务器配置`,"system.storage.sftp.host":`主机地址`,"system.storage.sftp.host.placeholder":`例如: sftp.example.com`,"system.storage.sftp.port":`端口`,"system.storage.sftp.port.placeholder":`22`,"system.storage.sftp.username":`用户名`,"system.storage.sftp.username.placeholder":`请输入 SFTP 用户名`,"system.storage.sftp.password":`密码`,"system.storage.sftp.password.placeholder":`请输入 SFTP 密码`,"system.storage.sftp.password.tooltip":`如果使用密钥认证可留空`,"system.storage.sftp.root":`根目录`,"system.storage.sftp.root.placeholder":`例如: /var/www/uploads`,"system.storage.sftp.root.tooltip":`SFTP 服务器上的存储根目录`,"system.storage.sftp.timeout":`超时时间`,"system.storage.sftp.timeout.placeholder":`30`,"system.storage.sftp.timeout.suffix":`秒`,"system.storage.sftp.private_key":`私钥内容`,"system.storage.sftp.private_key.placeholder":`粘贴 SSH 私钥内容(可选)`,"system.storage.sftp.private_key.tooltip":`如果使用密钥认证,请粘贴私钥内容`,"system.storage.sftp.passphrase":`私钥密码`,"system.storage.sftp.passphrase.placeholder":`如果私钥有密码保护,请输入`,"system.storage.sftp.passphrase.tooltip":`私钥的密码短语(如果有)`,"system.storage.test.title":`连接测试`,"system.storage.test.current_driver":`当前存储驱动`,"system.storage.test.button":`测试连接`,"system.storage.test.success":`连接测试成功`,"system.storage.test.failed":`连接测试失败`,"system.storage.help.title":`存储驱动说明`,"system.storage.help.local":`本地存储:`,"system.storage.help.local.desc":`文件存储在服务器本地磁盘,适合小型项目。`,"system.storage.help.s3":`S3 / 对象存储:`,"system.storage.help.s3.desc":`兼容 AWS S3、阿里云 OSS、腾讯云 COS、七牛云等,适合大规模文件存储。`,"system.storage.help.ftp":`FTP:`,"system.storage.help.ftp.desc":`通过 FTP 协议连接远程服务器存储文件。`,"system.storage.help.sftp":`SFTP:`,"system.storage.help.sftp.desc":`通过 SSH 安全连接远程服务器,更安全可靠。`,"system.storage.save.success":`配置保存成功`,"system.storage.save.failed":`配置保存失败`},ur={"system.user.page.title":`用户列表`,"system.user.page.description":`通过管理员列表,能够方便的管理系统用户,为用户分配部门与角色`,"system.user.id":`用户ID`,"system.user.username":`用户名`,"system.user.username.required":`用户名为必填项`,"system.user.nickname":`昵称`,"system.user.nickname.required":`昵称为必填项`,"system.user.sex":`性别`,"system.user.sex.0":`男`,"system.user.sex.1":`女`,"system.user.email":`邮箱`,"system.user.email.required":`邮箱为必填项`,"system.user.role":`用户角色`,"system.user.role.required":`用户角色为必填项`,"system.user.dept":`用户部门`,"system.user.dept.required":`用户部门为必填项`,"system.user.status":`状态`,"system.user.status.0":`禁用`,"system.user.status.1":`启用`,"system.user.status.required":`状态为必填项`,"system.user.mobile":`手机号`,"system.user.mobile.required":`手机号为必填项`,"system.user.avatar":`头像`,"system.user.password":`密码`,"system.user.password.required":`密码为必填项`,"system.user.rePassword":`确认密码`,"system.user.rePassword.required":`确认密码为必填项`,"system.user.created_at":`创建时间`,"system.user.updated_at":`更新时间`,"system.user.searchPlaceholder":`请输入昵称、账户、手机号搜索`,"system.user.resetSuccess":`重置成功!`,"system.user.resetPassword":`重置密码`,"system.user.resetButton":`提交重置`},dr={"system.role.page.title":`角色管理`,"system.role.page.description":`管理系统角色,配置角色权限,为用户分配角色`,"system.role.title":`角色管理`,"system.role.tab.users":`用户列表`,"system.role.tab.rules":`权限设置`,"system.role.table.roleName":`角色名称`,"system.role.table.roleName.required":`请输入角色名称`,"system.role.table.sort":`排序`,"system.role.table.sort.required":`请输入排序值`,"system.role.table.userCount":`用户数`,"system.role.table.status":`状态`,"system.role.table.status.required":`请选择状态`,"system.role.table.status.enable":`启用`,"system.role.table.status.disable":`停用`,"system.role.table.description":`角色描述`,"system.role.table.createdAt":`创建时间`,"system.role.table.updatedAt":`更新时间`,"system.role.table.headerTitle":`角色列表`,"system.role.userTable.userId":`用户ID`,"system.role.userTable.username":`用户名`,"system.role.userTable.nickname":`昵称`,"system.role.userTable.email":`邮箱`,"system.role.userTable.mobile":`手机号`,"system.role.userTable.status":`状态`,"system.role.userTable.status.normal":`正常`,"system.role.userTable.status.banned":`禁用`,"system.role.userTable.person":`人`,"system.role.button.expandAll":`展开全部`,"system.role.button.collapseAll":`折叠全部`,"system.role.button.selectAll":`选择全部`,"system.role.button.clearAll":`清空选择`,"system.role.button.invertSelection":`反选`,"system.role.button.saveRules":`保存权限`,"system.role.message.selectRoleFirst":`请先选择角色`,"system.role.message.statusUpdateSuccess":`状态更新成功`,"system.role.message.statusUpdateFailed":`状态更新失败`,"system.role.message.rulesSaveSuccess":`权限保存成功`,"system.role.permission.selectedCount":`已选择 {{count}} 项权限`,"system.role.placeholder.selectRole":`请先选择角色`},fr={"system.rule.description":`管理系统菜单和权限,配置路由、权限项`,"system.rule.routePath":`路由路径`,"system.rule.routePath.required":`路由路径为必填项`,"system.rule.routePath.tooltip":`路由页面访问地址,如为外部链接请直接填写完整URL`,"system.rule.routePath.showTooltip":`路由路径:{{path}}`,"system.rule.icon":`菜单图标`,"system.rule.local":`国际化键值`,"system.rule.local.show":`显示名称`,"system.rule.link":`外部链接`,"system.rule.link.1":`是`,"system.rule.link.0":`否`,"system.rule.type":`菜单类型`,"system.rule.type.menu":`菜单项`,"system.rule.type.route":`路由页面`,"system.rule.type.rule":`权限项`,"system.rule.type.required":`菜单类型为必选项`,"system.rule.parent":`上级菜单`,"system.rule.parent.0":`根级菜单`,"system.rule.parent.required":`上级菜单为必选项`,"system.rule.order":`排序序号`,"system.rule.order.required":`排序序号为必填项`,"system.rule.name":`规则名称`,"system.rule.name.required":`规则名称为必填项`,"system.rule.key":`权限标识`,"system.rule.key.required":`权限标识为必填项`,"system.rule.hidden":`可见状态`,"system.rule.hidden.tooltip":`控制菜单在导航栏中的显示状态(路由和权限功能仍正常生效)`,"system.rule.hidden.0":`隐藏`,"system.rule.hidden.1":`显示`,"system.rule.hidden.updateSuccess":`可见状态更新成功`,"system.rule.status":`启用状态`,"system.rule.status.tooltip":`权限启用状态(禁用后该权限将不参与系统权限验证)`,"system.rule.status.0":`禁用`,"system.rule.status.1":`启用`,"system.rule.status.updateSuccess":`启用状态更新成功`,"system.rule.created_at":`创建时间`,"system.rule.updated_at":`更新时间`,"system.rule.title":`权限管理`,"system.rule.addChildButton":`添加子项`},pr={"system.ai.page.title":`AI 设置`,"system.ai.page.description":`管理 AI 服务商和模型配置,支持多个服务商与默认模型分配`,"system.ai.default":`默认模型`,"system.ai.default.tooltip":`AI 对话、分析等通用任务的默认模型`,"system.ai.provider.api_key":`{{lab}} API Key`,"system.ai.provider.api_key.placeholder":`请输入 API Key`,"system.ai.provider.url":`{{lab}} API 地址`,"system.ai.provider.url.placeholder":`例如: {{url}}`,"system.ai.azure.api_version":`API 版本`,"system.ai.azure.deployment":`部署名`,"system.ai.azure.embedding_deployment":`嵌入部署名`,"system.ai.azure.image_deployment":`图片部署名`,"system.ai.bedrock.region":`AWS 区域`,"system.ai.bedrock.access_key_id":`Access Key ID`,"system.ai.bedrock.secret_access_key":`Secret Access Key`,"system.ai.bedrock.session_token":`Session Token(可选)`,"system.ai.test.title":`连接测试`,"system.ai.test.hint":`点击下方按钮测试当前 AI 服务商的连接状态`,"system.ai.test.button":`测试连接`,"system.ai.test.testing":`正在测试连接...`,"system.ai.test.success":`连接测试成功!`,"system.ai.test.error":`连接测试失败`,"system.ai.save.success":`AI 配置保存成功`},mr={"system.carousel.page.title":`首页轮播图管理`,"system.carousel.page.description":`管理首页轮播图图片及跳转链接`,"system.carousel.id":`ID`,"system.carousel.title":`轮播图标题`,"system.carousel.title.required":`轮播图标题不能为空`,"system.carousel.image":`轮播图片`,"system.carousel.image.required":`轮播图片不能为空`,"system.carousel.linkType":`跳转类型`,"system.carousel.linkType.required":`跳转类型不能为空`,"system.carousel.linkType.link":`链接`,"system.carousel.linkType.category":`分类`,"system.carousel.link":`跳转链接`,"system.carousel.link.placeholder":`请输入跳转链接`,"system.carousel.category":`跳转分类`,"system.carousel.category.placeholder":`请选择分类`,"system.carousel.status":`状态`,"system.carousel.status.required":`状态不能为空`,"system.carousel.status.normal":`启用`,"system.carousel.status.disabled":`禁用`,"system.carousel.sort":`排序`,"system.carousel.createdAt":`创建时间`,"system.carousel.updatedAt":`更新时间`},hr={"system.gridNav.page.title":`首页宫格导航管理`,"system.gridNav.page.description":`管理首页宫格导航图标及跳转链接`,"system.gridNav.id":`ID`,"system.gridNav.title":`导航标题`,"system.gridNav.title.required":`导航标题不能为空`,"system.gridNav.image":`导航图标`,"system.gridNav.image.required":`导航图标不能为空`,"system.gridNav.linkType":`跳转类型`,"system.gridNav.linkType.required":`跳转类型不能为空`,"system.gridNav.linkType.link":`链接`,"system.gridNav.linkType.category":`分类`,"system.gridNav.link":`跳转链接`,"system.gridNav.link.placeholder":`请输入跳转链接`,"system.gridNav.category":`跳转分类`,"system.gridNav.category.placeholder":`请选择分类`,"system.gridNav.status":`状态`,"system.gridNav.status.required":`状态不能为空`,"system.gridNav.status.normal":`启用`,"system.gridNav.status.disabled":`禁用`,"system.gridNav.sort":`排序`,"system.gridNav.createdAt":`创建时间`,"system.gridNav.updatedAt":`更新时间`},gr={"system.category.page.title":`首页分类管理`,"system.category.page.description":`管理首页分类及分类项跳转链接`,"system.category.id":`ID`,"system.category.name":`分类名称`,"system.category.name.required":`分类名称不能为空`,"system.category.status":`状态`,"system.category.status.required":`状态不能为空`,"system.category.status.normal":`启用`,"system.category.status.disabled":`禁用`,"system.category.sort":`排序`,"system.category.createdAt":`创建时间`,"system.category.updatedAt":`更新时间`,"system.category.manageItems":`分类项管理`,"system.category.itemManagement":`分类项管理`,"system.category.backToList":`返回分类列表`,"system.category.selectCategoryFirst":`请先选择分类`,"system.category.item.id":`ID`,"system.category.item.title":`导航标题`,"system.category.item.title.required":`导航标题不能为空`,"system.category.item.image":`导航图标`,"system.category.item.image.required":`导航图标不能为空`,"system.category.item.link":`跳转链接`,"system.category.item.link.placeholder":`请输入跳转链接`,"system.category.item.status":`状态`,"system.category.item.status.required":`状态不能为空`,"system.category.item.status.normal":`启用`,"system.category.item.status.disabled":`禁用`,"system.category.item.sort":`排序`,"system.category.item.createdAt":`创建时间`,"system.category.item.updatedAt":`更新时间`,"system.category.item.createSuccess":`分类项创建成功`,"system.category.item.updateSuccess":`分类项更新成功`},_r={"system.activity.page.title":`活动专区管理`,"system.activity.page.description":`管理首页活动专区图片、描述及跳转链接`,"system.activity.id":`ID`,"system.activity.title":`活动标题`,"system.activity.title.required":`活动标题不能为空`,"system.activity.image":`活动图片`,"system.activity.image.required":`活动图片不能为空`,"system.activity.description":`活动描述`,"system.activity.description.placeholder":`请输入活动描述`,"system.activity.linkType":`跳转类型`,"system.activity.linkType.required":`跳转类型不能为空`,"system.activity.linkType.link":`链接`,"system.activity.linkType.category":`分类`,"system.activity.link":`跳转链接`,"system.activity.link.placeholder":`请输入跳转链接`,"system.activity.category":`跳转分类`,"system.activity.category.placeholder":`请选择分类`,"system.activity.status":`状态`,"system.activity.status.required":`状态不能为空`,"system.activity.status.normal":`启用`,"system.activity.status.disabled":`禁用`,"system.activity.sort":`排序`,"system.activity.createdAt":`创建时间`,"system.activity.updatedAt":`更新时间`},vr={"ai.chat.title":`AI 对话`,"ai.chat.newChat":`新建对话`,"ai.chat.placeholder":`输入您的问题,按 Enter 发送...`,"ai.chat.welcome.title":`有什么可以帮助您的?`,"ai.chat.welcome.description":`我是您的 AI 助手,可以帮您解答问题、编写代码、分析数据等`,"ai.chat.loading":`正在思考...`,"ai.chat.error.send":`发送失败,请重试`,"ai.chat.delete.confirm":`确定要删除这个会话吗?`,"ai.chat.delete.success":`会话已删除`,"ai.chat.empty":`暂无会话,开始一个新的对话吧`,"ai.chat.copy":`复制`,"ai.chat.copy.success":`已复制到剪贴板`,"ai.chat.retry":`重试`,"ai.chat.thinking":`深度思考中...`,"ai.chat.thinking.done":`思考完成`,"ai.chat.attachment.upload":`上传文件`,"ai.chat.attachment.maxCount":`最多上传 {count} 个文件`,"ai.chat.attachment.error":`文件上传失败`,"ai.chat.switchAgent":`切换智能体`,"ai.chat.defaultTitle":`AI 对话`},yr={"ai.conversation.page.title":`AI 会话管理`,"ai.conversation.page.description":`管理系统中的 AI 对话会话及其消息记录`,"ai.conversation.id":`会话 ID`,"ai.conversation.username":`所属用户`,"ai.conversation.title":`会话标题`,"ai.conversation.messageCount":`消息数`,"ai.conversation.createdAt":`创建时间`,"ai.conversation.updatedAt":`更新时间`,"ai.conversation.deleteConfirm":`确定要删除该会话吗?删除后所有消息将被清除。`,"ai.conversation.deleteSuccess":`会话已删除`,"ai.conversation.viewMessages":`查看消息`,"ai.conversation.messageTitle":`会话消息`,"ai.conversation.noUser":`匿名用户`,"ai.conversation.message.id":`消息 ID`,"ai.conversation.message.role":`角色`,"ai.conversation.message.role.user":`用户`,"ai.conversation.message.role.assistant":`助手`,"ai.conversation.message.role.system":`系统`,"ai.conversation.message.agent":`AI 模型`,"ai.conversation.message.content":`消息内容`,"ai.conversation.message.createdAt":`发送时间`,"ai.conversation.message.toolCalls":`工具调用`,"ai.conversation.message.usage":`用量统计`},br={"ai.agent.page.title":`Agent 管理`,"ai.agent.page.description":`管理 AI Agent 的注册与启用状态。Agent 通过数据库 Seeder 注册。`,"ai.agent.update.success":`更新成功`,"ai.agent.update.failed":`更新失败`,"ai.agent.empty":`暂未注册 Agent。`,"ai.agent.goChat":`去对话`},xr={"user.profile.title":`用户设置`,"user.profile.baseInfo":`基本信息`,"user.profile.changePassword":`修改密码`,"user.profile.loginLog":`登录日志`,"user.profile.baseInfo.updateAvatar":`更换头像`,"user.profile.baseInfo.updateAvatarDesc":`支持 JPG/PNG 格式,大小不超过 2MB`,"user.profile.baseInfo.avatarSuccess":`头像上传成功`,"user.profile.baseInfo.success":`更新用户信息成功`,"user.profile.baseInfo.username":`用户名`,"user.profile.baseInfo.username.message":`请输入用户名!`,"user.profile.baseInfo.nickname":`昵称`,"user.profile.baseInfo.nickname.message":`请输入昵称!`,"user.profile.baseInfo.sex":`性别`,"user.profile.baseInfo.sex.0":`男`,"user.profile.baseInfo.sex.1":`女`,"user.profile.baseInfo.bio":`个人简介`,"user.profile.baseInfo.email":`邮箱`,"user.profile.baseInfo.email.typeMessage":`请输入有效的邮箱地址!`,"user.profile.baseInfo.email.requiredMessage":`请输入邮箱!`,"user.profile.baseInfo.mobile":`手机号`,"user.profile.baseInfo.mobile.message":`请输入手机号!`,"user.profile.baseInfo.submit":`保存用户信息`,"user.profile.changePassword.oldPassword":`当前密码`,"user.profile.changePassword.oldPassword.message":`请输入当前密码!`,"user.profile.changePassword.newPassword":`新密码`,"user.profile.changePassword.rePassword":`确认新密码`,"user.profile.changePassword.requiredMessage":`请输入新密码!`,"user.profile.changePassword.minMessage":`密码长度至少8位!`,"user.profile.changePassword.rePassword.message":`两次输入的密码不一致!`,"user.profile.changePassword.submit":`修改密码`,"user.profile.changePassword.success":`更新成功`,"user.profile.loginLog.success":`登录成功`,"user.profile.loginLog.error":`登录失败`,"user.profile.loginLog.empty":`暂无登录日志数据`},Sr={"xin.form.submit":`提交`,"xin.form.reset":`重置`,"xin.form.cancel":`取消`,"xin.form.formList.add":`添加一项`,"xin.form.upload.button":`点击上传`,"xin.form.userSelector.placeholder":`请选择用户`,"xin.form.userSelector.modal.title":`选择用户`,"xin.form.userSelector.modal.okText":`确定`,"xin.form.userSelector.modal.cancelText":`取消`,"xin.form.iconSelector.placeholder":`请选择图标`,"xin.form.iconSelector.modal.title":`选择图标`,"xin.form.iconSelector.tabs.use":`自定义图标`,"xin.form.iconSelector.tabs.suggestion":`网站通用图标`,"xin.form.iconSelector.tabs.direction":`方向性图标`,"xin.form.iconSelector.tabs.editor":`编辑类图标`,"xin.form.iconSelector.tabs.data":`数据类图标`,"xin.form.iconSelector.tabs.logo":`品牌和标识`,"xin.form.iconSelector.tabs.other":`其它图标`,"xin.form.imageUploader.uploadText":`上传图片`,"xin.form.imageUploader.error.notImage":`只能上传图片文件!`,"xin.form.imageUploader.error.sizeExceeded":`图片大小不能超过 {{maxSize}}MB!`,"xin.form.imageUploader.error.dimensionExceeded":`图片尺寸不能超过 {{maxWidth}}x{{maxHeight}}px!`,"xin.form.imageUploader.error.loadFailed":`图片加载失败!`,"xin.form.imageUploader.error.readFailed":`图片读取失败!`},Cr={"xin.table.queryTable":`查询表格`,"xin.table.keywordPlaceholder":`请输入关键字`,"xin.table.keywordEmpty":`请输入搜索内容`,"xin.table.add":`新增`,"xin.table.refresh":`刷新`,"xin.table.columnSettings":`列设置`,"xin.table.showBorder":`显示边框`,"xin.table.hideBorder":`隐藏边框`,"xin.table.density.default":`默认`,"xin.table.density.middle":`适中`,"xin.table.density.compact":`紧凑`,"xin.table.total":`共 {{total}} 条`,"xin.table.operate":`操作栏`,"xin.table.edit":`编辑`,"xin.table.delete":`删除`,"xin.table.deleteConfirm":`你是否要删除 {{id}} 记录?`,"xin.table.deleteOk":`确认删除`,"xin.table.deleteCancel":`取消删除`,"xin.table.deleteSuccess":`删除成功`,"xin.table.form.createTitle":`新增`,"xin.table.form.editTitle":`编辑`,"xin.table.form.close":`关闭`,"xin.table.form.createSuccess":`创建成功!`,"xin.table.form.updateSuccess":`更新成功!`,"xin.table.form.updateKeyUndefined":`更新的主键未定义!`,"xin.table.search.search":`搜索`,"xin.table.search.reset":`重置`,"xin.table.search.expand":`展开`,"xin.table.search.collapse":`收起`},wr={"xin.crud.operate":`操作`,"xin.crud.edit":`编辑`,"xin.crud.delete":`删除`,"xin.crud.add":`新增`,"xin.crud.batchDelete":`批量删除`,"xin.crud.confirm":`确定`,"xin.crud.cancel":`取消`,"xin.crud.deleteConfirm":`确认删除`,"xin.crud.deleteConfirmDesc":`删除后数据将无法恢复,是否确认删除?`,"xin.crud.batchDeleteConfirm":`确认批量删除`,"xin.crud.batchDeleteConfirmDesc":`确定要删除选中的 {{count}} 条数据吗?`,"xin.crud.selectAtLeastOne":`请至少选择一条数据`,"xin.crud.createSuccess":`新增成功`,"xin.crud.updateSuccess":`更新成功`,"xin.crud.deleteSuccess":`删除成功`,"xin.crud.batchDeleteSuccess":`批量删除成功`,"xin.crud.createTitle":`新增`,"xin.crud.editTitle":`编辑`,"xin.crud.total":`共 {{total}} 条`,"xin.crud.yes":`是`,"xin.crud.no":`否`},Tr={"layout.resetTheme":`重置主题`,"layout.saveTheme":`保存主题`,"layout.layoutStyle":`布局样式`,"layout.layoutSide":`左侧导航`,"layout.layoutTop":`顶部导航`,"layout.layoutMix":`混合导航`,"layout.layoutColumns":`双栏导航`,"layout.presetTheme":`预设主题`,"layout.themeLight":`默认`,"layout.themeDark":`暗黑`,"layout.themePink":`桃花缘`,"layout.themeGreen":`知识协作`,"layout.themeAlgorithm":`主题算法`,"layout.algorithmDefault":`默认`,"layout.algorithmDark":`暗黑`,"layout.algorithmDefaultCompact":`默认 + 紧凑`,"layout.algorithmDarkCompact":`暗黑 + 紧凑`,"layout.themeColor":`主题颜色`,"layout.colorPrimary":`主色`,"layout.colorText":`基础文字颜色`,"layout.colorBg":`基础背景颜色`,"layout.colorSuccess":`成功色`,"layout.colorWarning":`警告色`,"layout.colorError":`错误色`,"layout.bodyBg":`内容区域背景色`,"layout.footerBg":`页脚背景色`,"layout.headerBg":`头部背景色`,"layout.headerColor":`头部文字颜色`,"layout.siderBg":`侧边栏背景色`,"layout.siderColor":`侧边栏文字颜色`,"layout.colorBorder":`布局边框颜色`,"layout.styleConfig":`风格配置`,"layout.fixedFooter":`固定页脚`,"layout.borderRadius":`圆角大小`,"layout.controlHeight":`基础控件高度`,"layout.headerPadding":`头部两侧内边距`,"layout.headerHeight":`头部高度`,"layout.siderWeight":`侧边栏宽度`,"layout.bodyPadding":`内容区域内边距`,"layout.systemConfig":`系统配置`,"layout.localRoute":`本地菜单路由`,"layout.profile":`用户设置`,"layout.logout":`退出登录`,"layout.logoutSuccess":`退出成功,正在跳转`,"layout.logoutFailed":`退出登录失败`,"layout.searchPlaceholder":`请输入搜索内容`,"layout.searchConfirm":`确认`,"layout.searchSwitch":`切换`,"layout.searchClose":`关闭`},Er={...Qn,...$n,...er,...tr,...nr,...rr,...ir,...ar,...or,...sr,...cr,...lr,...ur,...dr,...fr,...pr,...mr,...hr,...gr,..._r,...vr,...yr,...br,...xr,...Sr,...Cr,...wr,...Tr},Dr={en:{translation:Zn},zh:{translation:Er}};$.use(qe).init({resources:Dr,lng:localStorage.getItem(`i18nextLng`)||`zh`,fallbackLng:`zh`,debug:!1,interpolation:{escapeValue:!1}});var Or=e(ye(),1),kr=e(ze(),1);Or.default.extend(kr.default);var Ar=document.getElementById(`root`);Je.createRoot(Ar).render((0,L.jsx)(jt,{})); \ No newline at end of file +⛳ 完善的页面组件 - 包含错误页、布局组件等`,"system.info.tag.enterprise":`企业级`,"system.info.tag.ready":`开箱即用`,"system.info.tag.scalable":`可扩展`,"system.info.tag.modern":`现代化`,"system.info.tag.i18n":`国际化`,"system.info.tag.auth":`权限控制`},ir={"system.config.page.title":`网站设置`,"system.config.page.description":`管理网站设置项,支持动态配置系统参数`,"system.config.group.title":`设置组`,"system.config.group.add":`新增`,"system.config.group.create":`新增设置组`,"system.config.group.edit":`编辑设置组`,"system.config.group.delete":`删除`,"system.config.group.deleteConfirm":`确认删除?`,"system.config.group.deleteWarning":`删除设置组将同时删除该组下的所有设置项`,"system.config.group.field.title":`标题`,"system.config.group.field.title.required":`请输入标题`,"system.config.group.field.key":`键`,"system.config.group.field.key.required":`请输入键`,"system.config.group.field.remark":`描述`,"system.config.group.createSuccess":`新增设置组成功`,"system.config.group.updateSuccess":`修改设置组成功`,"system.config.group.deleteSuccess":`删除设置组成功`,"system.config.item.title":`设置项`,"system.config.item.add":`新增设置项`,"system.config.item.create":`新增设置项`,"system.config.item.edit":`编辑设置项`,"system.config.item.delete":`删除`,"system.config.item.deleteConfirm":`确认删除?`,"system.config.item.selectGroup":`请先选择设置组`,"system.config.item.empty":`暂无设置项,请点击"新增设置项"按钮添加`,"system.config.item.field.key":`键`,"system.config.item.field.key.required":`请输入键`,"system.config.item.field.title":`标题`,"system.config.item.field.title.required":`请输入标题`,"system.config.item.field.type":`组件类型`,"system.config.item.field.type.required":`请选择组件类型`,"system.config.item.field.describe":`描述`,"system.config.item.field.options":`选项`,"system.config.item.field.options.tooltip":`单选、多选等组件的选项,例如: 1=选项1 /n 2=选项2`,"system.config.item.field.props":`属性`,"system.config.item.field.props.tooltip":`组件的配置,支持简单的配置,例如: placeholder=请输入 /n maxLength=100`,"system.config.item.field.values":`默认值`,"system.config.item.field.sort":`排序`,"system.config.item.createSuccess":`新增设置项成功`,"system.config.item.updateSuccess":`修改设置项成功`,"system.config.item.deleteSuccess":`删除设置项成功`,"system.config.item.refreshCacheSuccess":`配置缓存刷新成功`,"system.config.component.Input":`输入框`,"system.config.component.TextArea":`文本域`,"system.config.component.InputNumber":`数字输入框`,"system.config.component.Switch":`开关`,"system.config.component.Radio":`单选框`,"system.config.component.Checkbox":`复选框`,"system.config.form.placeholder.input":`请输入`,"system.config.form.placeholder.select":`请选择`,"system.config.form.placeholder.date":`请选择日期`,"system.config.save.button":`保存`,"system.config.refresh.button":`刷新缓存`,"system.config.confirm.ok":`确认`,"system.config.confirm.cancel":`取消`},ar={"system.dept.page.title":`部门管理`,"system.dept.page.description":`管理系统部门,配置部门层级,管理部门用户`,"system.dept.tab.info":`基本信息`,"system.dept.tab.users":`用户列表`,"system.dept.unnamed":`未命名部门`,"system.dept.createSuccess":`新增部门成功!`,"system.dept.updateSuccess":`编辑部门成功!`,"system.dept.deleteSuccess":`批量删除部门成功!`,"system.dept.column.name":`部门名称`,"system.dept.column.name.required":`部门名称必填!`,"system.dept.column.code":`部门编码`,"system.dept.column.code.required":`部门编码必填!`,"system.dept.column.type":`部门类型`,"system.dept.column.type.0":`公司`,"system.dept.column.type.1":`部门`,"system.dept.column.type.2":`岗位`,"system.dept.column.type.required":`部门类型必填!`,"system.dept.column.parent":`上级部门`,"system.dept.column.parent.0":`顶级`,"system.dept.column.parent.required":`上级部门必填!`,"system.dept.column.email":`邮箱`,"system.dept.column.address":`地址`,"system.dept.column.phone":`电话`,"system.dept.column.sort":`排序`,"system.dept.column.sort.required":`排序必填!`,"system.dept.column.status":`状态`,"system.dept.column.status.0":`正常`,"system.dept.column.status.1":`停用`,"system.dept.column.status.required":`状态必填!`,"system.dept.column.remark":`备注`,"system.dept.users.column.id":`用户ID`,"system.dept.users.column.username":`用户名`,"system.dept.users.column.nickname":`用户昵称`,"system.dept.users.column.email":`邮箱`,"system.dept.users.column.mobile":`手机号`,"system.dept.users.column.status":`状态`,"system.dept.users.column.status.0":`启用`,"system.dept.users.column.status.1":`禁用`,"system.dept.createButton":`新增部门`,"system.dept.createModalTitle":`新增部门表单`,"system.dept.createChildrenButton":`添加下级`,"system.dept.checkedMessage":`已选中 {{checked}} 条记录`,"system.dept.unselect":`取消选择`,"system.dept.delete.ok":`删除`,"system.dept.delete.cancel":`取消删除`,"system.dept.delete.title":`删除部门`,"system.dept.delete.description":`你是否要删除这些部门?`,"system.dept.saveInfo":`保存信息`},or={"system.dict.page.title":`字典管理`,"system.dict.page.description":`管理系统字典类型,配置数据字典项`,"system.dict.id":`ID`,"system.dict.name":`字典名称`,"system.dict.name.required":`字典名称不能为空`,"system.dict.code":`字典编码`,"system.dict.code.required":`字典编码不能为空`,"system.dict.renderType":`渲染类型`,"system.dict.renderType.required":`渲染类型不能为空`,"system.dict.renderType.text":`纯文本`,"system.dict.renderType.tag":`标签`,"system.dict.renderType.badge":`徽标`,"system.dict.renderType.switch":`开关`,"system.dict.status":`状态`,"system.dict.status.required":`状态不能为空`,"system.dict.status.normal":`正常`,"system.dict.status.disabled":`停用`,"system.dict.sort":`排序`,"system.dict.describe":`描述`,"system.dict.createdAt":`创建时间`,"system.dict.updatedAt":`更新时间`,"system.dict.item.id":`ID`,"system.dict.item.label":`字典标签`,"system.dict.item.label.required":`字典标签不能为空`,"system.dict.item.value":`字典键值`,"system.dict.item.value.required":`字典键值不能为空`,"system.dict.item.color":`颜色`,"system.dict.item.isDefault":`是否默认`,"system.dict.item.isDefault.required":`是否默认不能为空`,"system.dict.item.isDefault.yes":`是`,"system.dict.item.isDefault.no":`否`,"system.dict.item.status":`状态`,"system.dict.item.status.required":`状态不能为空`,"system.dict.item.status.normal":`正常`,"system.dict.item.status.disabled":`停用`,"system.dict.item.sort":`排序`,"system.dict.item.createTime":`创建时间`,"system.dict.item.updateTime":`更新时间`,"system.dict.refreshCache":`刷新缓存`,"system.dict.refreshSuccess":`字典缓存刷新成功`,"system.dict.manageItems":`字典数据`,"system.dict.itemManagement":`字典数据管理`,"system.dict.item.createSuccess":`字典数据新增成功`,"system.dict.item.updateSuccess":`字典数据更新成功`,"system.dict.backToList":`返回列表`,"system.dict.selectDictFirst":`请从字典列表中选择要管理的字典`},sr={"system.file.page.title":`文件管理`,"system.file.page.description":`管理系统文件,支持文件的上传、下载、删除、重命名等操作`,"system.file.fileFolder":`文件夹`,"system.file.fileName":`文件名`,"system.file.fileType":`类型`,"system.file.fileSize":`大小`,"system.file.preview":`预览`,"system.file.createdAt":`创建时间`,"system.file.updatedAt":`修改时间`,"system.file.deletedAt":`删除时间`,"system.file.action":`操作`,"system.file.download":`下载`,"system.file.delete":`删除`,"system.file.forceDelete":`彻底删除`,"system.file.restore":`恢复`,"system.file.rename":`重命名`,"system.file.move":`移动`,"system.file.copy":`复制`,"system.file.confirmDelete":`确定删除该文件吗?`,"system.file.confirmForceDelete":`确定彻底删除该文件吗?此操作不可恢复!`,"system.file.confirmDeleteFolder":`确定删除该文件夹吗?`,"system.file.confirmRestore":`确定恢复该文件吗?`,"system.file.confirmBatchDelete":`确定删除选中的 {{count}} 个文件吗?`,"system.file.confirmBatchForceDelete":`确定彻底删除选中的 {{count}} 个文件吗?此操作不可恢复!`,"system.file.confirmBatchRestore":`确定恢复选中的 {{count}} 个文件吗?`,"system.file.ok":`确定`,"system.file.cancel":`取消`,"system.file.upload":`上传文件`,"system.file.uploadTitle":`上传文件`,"system.file.uploadFileType":`文件类型`,"system.file.selectFile":`选择文件`,"system.file.uploadProgress":`上传进度`,"system.file.uploadDragText":`点击或拖拽文件到此区域上传`,"system.file.uploadHint":`支持单个或批量上传`,"system.file.selectFileWarning":`请选择要上传的文件`,"system.file.uploadSuccess":`上传成功`,"system.file.deleteSuccess":`删除文件成功`,"system.file.forceDeleteSuccess":`彻底删除文件成功`,"system.file.restoreSuccess":`恢复文件成功`,"system.file.renameSuccess":`重命名成功`,"system.file.moveSuccess":`移动成功`,"system.file.copySuccess":`复制成功`,"system.file.batchDeleteSuccess":`批量删除成功`,"system.file.batchForceDeleteSuccess":`批量彻底删除成功`,"system.file.batchRestoreSuccess":`批量恢复成功`,"system.file.deleteFolderSuccess":`删除文件夹成功`,"system.file.deleteFolderHint":`删除文件夹前请删除文件夹下所有的文件`,"system.file.addFolder":`新增子文件夹`,"system.file.editFolder":`编辑文件夹`,"system.file.deleteFolder":`删除文件夹`,"system.file.addFolderTitle":`新增文件夹`,"system.file.editFolderTitle":`编辑文件夹`,"system.file.saveFolderSuccess":`{{action}}文件夹成功`,"system.file.actionAdd":`新增`,"system.file.actionEdit":`修改`,"system.file.folderName":`文件夹名称`,"system.file.folderNameRequired":`请输入文件夹名称`,"system.file.folderSearchPlaceholder":`输入文件夹名称搜索`,"system.file.parentFolder":`父级文件夹`,"system.file.sort":`排序`,"system.file.sortRequired":`排序必须`,"system.file.describe":`描述`,"system.file.root":`根目录`,"system.file.type.image":`图片`,"system.file.type.audio":`音频`,"system.file.type.video":`视频`,"system.file.type.archive":`压缩包`,"system.file.type.other":`其他`,"system.file.type.document":`文档`,"system.file.trash":`回收站`,"system.file.emptyTrash":`清空回收站`,"system.file.confirmEmptyTrash":`确定清空回收站吗?此操作不可恢复!`,"system.file.emptyTrashSuccess":`清空回收站成功,共删除 {{count}} 个文件`,"system.file.batchDelete":`批量删除`,"system.file.batchForceDelete":`批量彻底删除`,"system.file.batchRestore":`批量恢复`,"system.file.batchMove":`批量移动`,"system.file.batchCopy":`批量复制`,"system.file.noSelected":`请先选择文件`,"system.file.renameTitle":`重命名文件`,"system.file.renameDescription":`你正在重命名文件,请选择输入新的文件名称!`,"system.file.moveTitle":`移动文件`,"system.file.moveDescription":`你正在移动文件,请选择移动到的文件夹`,"system.file.copyTitle":`复制文件`,"system.file.copyDescription":`你正在复制文件,请选择复制到文件的文件夹!`,"system.file.newFileNameRequired":`请输入新文件名`,"system.file.disk":`存储磁盘`,"system.file.loading":`加载中...`,"system.file.refresh":`刷新`,"system.file.totalFiles":`共 {{total}} 个文件`,"system.file.fileDetail":`文件详情`,"system.file.basicInfo":`基本信息`,"system.file.fileExt":`扩展名`,"system.file.filePath":`文件路径`,"system.file.fileGroup":`文件分组`,"system.file.ungrouped":`未分组`,"system.file.accessUrl":`访问链接`,"system.file.storageMethod":`存储方式`},cr={"system.mail.page.title":`邮件设置`,"system.mail.page.description":`邮件配置用于发送邮件,支持故障切换与循环切换`,"system.mail.mode":`模式切换`,"system.mail.mode.single":`单驱动`,"system.mail.mode.failover":`故障切换`,"system.mail.mode.roundrobin":`循环切换`,"system.mail.driver":`邮件驱动`,"system.mail.driver.smtp":`SMTP`,"system.mail.driver.ses":`Amazon SES`,"system.mail.driver.mailgun":`Mailgun`,"system.mail.driver.postmark":`Postmark`,"system.mail.driver.resend":`Resend`,"system.mail.driver.log":`日志`,"system.mail.driver.array":`Array (调试)`,"system.mail.smtp.title":`SMTP 配置`,"system.mail.host":`服务器地址`,"system.mail.host.placeholder":`smtp.example.com`,"system.mail.port":`端口`,"system.mail.port.placeholder":`587`,"system.mail.username":`用户名`,"system.mail.username.placeholder":`your-email@example.com`,"system.mail.password":`密码`,"system.mail.password.placeholder":`邮箱密码或应用密码`,"system.mail.log.title":`日志配置`,"system.mail.log.channel":`日志驱动`,"system.mail.log.channel.placeholder":`mail`,"system.mail.postmark.title":`Postmark 配置`,"system.mail.postmark.token":`Postmark Token`,"system.mail.postmark.token.placeholder":`您的 Postmark API token`,"system.mail.resend.title":`Resend 配置`,"system.mail.resend.key":`Resend API Key`,"system.mail.resend.key.placeholder":`您的 Resend API key`,"system.mail.mailgun.title":`Mailgun 配置`,"system.mail.mailgun.domain":`Mailgun Domain`,"system.mail.mailgun.domain.placeholder":`mg.yourdomain.com`,"system.mail.mailgun.secret":`Mailgun Secret`,"system.mail.mailgun.secret.placeholder":`您的 Mailgun API key`,"system.mail.mailgun.endpoint":`Mailgun Endpoint`,"system.mail.mailgun.endpoint.placeholder":`api.mailgun.net`,"system.mail.ses.title":`SES (Amazon) 配置`,"system.mail.ses.key":`AWS Access Key`,"system.mail.ses.key.placeholder":`AKIA...`,"system.mail.ses.secret":`AWS Secret Key`,"system.mail.ses.secret.placeholder":`您的 AWS secret key`,"system.mail.ses.region":`AWS Region`,"system.mail.ses.region.placeholder":`us-east-1`,"system.mail.ses.token":`AWS Session Token`,"system.mail.ses.token.placeholder":`可选的会话 token`,"system.mail.from_address":`发件人邮箱`,"system.mail.from_address.placeholder":`noreply@example.com`,"system.mail.from_name":`发件人名称`,"system.mail.from_name.placeholder":`您的应用名称`,"system.mail.test.title":`发送测试邮件`,"system.mail.test.to":`收件人邮箱`,"system.mail.test.to.placeholder":`receiver@example.com`,"system.mail.test.send":`发送测试`,"system.mail.test.success":`测试邮件发送成功`,"system.mail.test.failed":`测试邮件发送失败`,"system.mail.save.success":`配置保存成功`,"system.mail.save.failed":`配置保存失败`},lr={"system.storage.page.title":`文件存储配置`,"system.storage.page.description":`配置系统文件存储方式,支持本地存储、S3 对象存储、FTP 及 SFTP 等多种存储方式`,"system.storage.driver":`默认存储驱动`,"system.storage.driver.local":`本地存储 (Local)`,"system.storage.driver.s3":`Amazon S3 / 对象存储`,"system.storage.driver.ftp":`FTP 服务器`,"system.storage.driver.sftp":`SFTP 服务器`,"system.storage.local.title":`本地存储配置`,"system.storage.local.url":`访问 URL`,"system.storage.local.url.placeholder":`例如: https://example.com/storage`,"system.storage.local.url.tooltip":`文件的公开访问 URL 前缀`,"system.storage.s3.title":`S3 / 对象存储配置`,"system.storage.s3.key":`Access Key ID`,"system.storage.s3.key.placeholder":`请输入 Access Key ID`,"system.storage.s3.secret":`Secret Access Key`,"system.storage.s3.secret.placeholder":`请输入 Secret Access Key`,"system.storage.s3.region":`区域 (Region)`,"system.storage.s3.region.placeholder":`例如: us-east-1 或 cn-hangzhou`,"system.storage.s3.bucket":`存储桶 (Bucket)`,"system.storage.s3.bucket.placeholder":`请输入存储桶名称`,"system.storage.s3.endpoint":`端点 (Endpoint)`,"system.storage.s3.endpoint.placeholder":`自定义端点,如阿里云 OSS: oss-cn-hangzhou.aliyuncs.com`,"system.storage.s3.endpoint.tooltip":`使用 AWS S3 时可留空,使用阿里云 OSS、腾讯云 COS 等需要填写`,"system.storage.s3.url":`自定义 URL`,"system.storage.s3.url.placeholder":`自定义文件访问 URL 前缀(可选)`,"system.storage.s3.url.tooltip":`如果使用 CDN,可以在此配置 CDN 域名`,"system.storage.s3.path_style":`路径风格端点`,"system.storage.s3.path_style.tooltip":`某些 S3 兼容服务(如 MinIO)需要启用此选项`,"system.storage.ftp.title":`FTP 服务器配置`,"system.storage.ftp.host":`主机地址`,"system.storage.ftp.host.placeholder":`例如: ftp.example.com`,"system.storage.ftp.port":`端口`,"system.storage.ftp.port.placeholder":`21`,"system.storage.ftp.username":`用户名`,"system.storage.ftp.username.placeholder":`请输入 FTP 用户名`,"system.storage.ftp.password":`密码`,"system.storage.ftp.password.placeholder":`请输入 FTP 密码`,"system.storage.ftp.root":`根目录`,"system.storage.ftp.root.placeholder":`例如: /public_html/uploads`,"system.storage.ftp.root.tooltip":`FTP 服务器上的存储根目录`,"system.storage.ftp.timeout":`超时时间`,"system.storage.ftp.timeout.placeholder":`30`,"system.storage.ftp.timeout.suffix":`秒`,"system.storage.ftp.passive":`被动模式`,"system.storage.ftp.passive.tooltip":`建议开启,适用于大多数网络环境`,"system.storage.ftp.ssl":`SSL/TLS`,"system.storage.ftp.ssl.tooltip":`启用 FTPS 安全连接`,"system.storage.sftp.title":`SFTP 服务器配置`,"system.storage.sftp.host":`主机地址`,"system.storage.sftp.host.placeholder":`例如: sftp.example.com`,"system.storage.sftp.port":`端口`,"system.storage.sftp.port.placeholder":`22`,"system.storage.sftp.username":`用户名`,"system.storage.sftp.username.placeholder":`请输入 SFTP 用户名`,"system.storage.sftp.password":`密码`,"system.storage.sftp.password.placeholder":`请输入 SFTP 密码`,"system.storage.sftp.password.tooltip":`如果使用密钥认证可留空`,"system.storage.sftp.root":`根目录`,"system.storage.sftp.root.placeholder":`例如: /var/www/uploads`,"system.storage.sftp.root.tooltip":`SFTP 服务器上的存储根目录`,"system.storage.sftp.timeout":`超时时间`,"system.storage.sftp.timeout.placeholder":`30`,"system.storage.sftp.timeout.suffix":`秒`,"system.storage.sftp.private_key":`私钥内容`,"system.storage.sftp.private_key.placeholder":`粘贴 SSH 私钥内容(可选)`,"system.storage.sftp.private_key.tooltip":`如果使用密钥认证,请粘贴私钥内容`,"system.storage.sftp.passphrase":`私钥密码`,"system.storage.sftp.passphrase.placeholder":`如果私钥有密码保护,请输入`,"system.storage.sftp.passphrase.tooltip":`私钥的密码短语(如果有)`,"system.storage.test.title":`连接测试`,"system.storage.test.current_driver":`当前存储驱动`,"system.storage.test.button":`测试连接`,"system.storage.test.success":`连接测试成功`,"system.storage.test.failed":`连接测试失败`,"system.storage.help.title":`存储驱动说明`,"system.storage.help.local":`本地存储:`,"system.storage.help.local.desc":`文件存储在服务器本地磁盘,适合小型项目。`,"system.storage.help.s3":`S3 / 对象存储:`,"system.storage.help.s3.desc":`兼容 AWS S3、阿里云 OSS、腾讯云 COS、七牛云等,适合大规模文件存储。`,"system.storage.help.ftp":`FTP:`,"system.storage.help.ftp.desc":`通过 FTP 协议连接远程服务器存储文件。`,"system.storage.help.sftp":`SFTP:`,"system.storage.help.sftp.desc":`通过 SSH 安全连接远程服务器,更安全可靠。`,"system.storage.save.success":`配置保存成功`,"system.storage.save.failed":`配置保存失败`},ur={"system.user.page.title":`用户列表`,"system.user.page.description":`通过管理员列表,能够方便的管理系统用户,为用户分配部门与角色`,"system.user.id":`用户ID`,"system.user.username":`用户名`,"system.user.username.required":`用户名为必填项`,"system.user.nickname":`昵称`,"system.user.nickname.required":`昵称为必填项`,"system.user.sex":`性别`,"system.user.sex.0":`男`,"system.user.sex.1":`女`,"system.user.email":`邮箱`,"system.user.email.required":`邮箱为必填项`,"system.user.role":`用户角色`,"system.user.role.required":`用户角色为必填项`,"system.user.dept":`用户部门`,"system.user.dept.required":`用户部门为必填项`,"system.user.status":`状态`,"system.user.status.0":`禁用`,"system.user.status.1":`启用`,"system.user.status.required":`状态为必填项`,"system.user.mobile":`手机号`,"system.user.mobile.required":`手机号为必填项`,"system.user.avatar":`头像`,"system.user.password":`密码`,"system.user.password.required":`密码为必填项`,"system.user.rePassword":`确认密码`,"system.user.rePassword.required":`确认密码为必填项`,"system.user.created_at":`创建时间`,"system.user.updated_at":`更新时间`,"system.user.searchPlaceholder":`请输入昵称、账户、手机号搜索`,"system.user.resetSuccess":`重置成功!`,"system.user.resetPassword":`重置密码`,"system.user.resetButton":`提交重置`},dr={"system.role.page.title":`角色管理`,"system.role.page.description":`管理系统角色,配置角色权限,为用户分配角色`,"system.role.title":`角色管理`,"system.role.tab.users":`用户列表`,"system.role.tab.rules":`权限设置`,"system.role.table.roleName":`角色名称`,"system.role.table.roleName.required":`请输入角色名称`,"system.role.table.sort":`排序`,"system.role.table.sort.required":`请输入排序值`,"system.role.table.userCount":`用户数`,"system.role.table.status":`状态`,"system.role.table.status.required":`请选择状态`,"system.role.table.status.enable":`启用`,"system.role.table.status.disable":`停用`,"system.role.table.description":`角色描述`,"system.role.table.createdAt":`创建时间`,"system.role.table.updatedAt":`更新时间`,"system.role.table.headerTitle":`角色列表`,"system.role.userTable.userId":`用户ID`,"system.role.userTable.username":`用户名`,"system.role.userTable.nickname":`昵称`,"system.role.userTable.email":`邮箱`,"system.role.userTable.mobile":`手机号`,"system.role.userTable.status":`状态`,"system.role.userTable.status.normal":`正常`,"system.role.userTable.status.banned":`禁用`,"system.role.userTable.person":`人`,"system.role.button.expandAll":`展开全部`,"system.role.button.collapseAll":`折叠全部`,"system.role.button.selectAll":`选择全部`,"system.role.button.clearAll":`清空选择`,"system.role.button.invertSelection":`反选`,"system.role.button.saveRules":`保存权限`,"system.role.message.selectRoleFirst":`请先选择角色`,"system.role.message.statusUpdateSuccess":`状态更新成功`,"system.role.message.statusUpdateFailed":`状态更新失败`,"system.role.message.rulesSaveSuccess":`权限保存成功`,"system.role.permission.selectedCount":`已选择 {{count}} 项权限`,"system.role.placeholder.selectRole":`请先选择角色`},fr={"system.rule.description":`管理系统菜单和权限,配置路由、权限项`,"system.rule.routePath":`路由路径`,"system.rule.routePath.required":`路由路径为必填项`,"system.rule.routePath.tooltip":`路由页面访问地址,如为外部链接请直接填写完整URL`,"system.rule.routePath.showTooltip":`路由路径:{{path}}`,"system.rule.icon":`菜单图标`,"system.rule.local":`国际化键值`,"system.rule.local.show":`显示名称`,"system.rule.link":`外部链接`,"system.rule.link.1":`是`,"system.rule.link.0":`否`,"system.rule.type":`菜单类型`,"system.rule.type.menu":`菜单项`,"system.rule.type.route":`路由页面`,"system.rule.type.rule":`权限项`,"system.rule.type.required":`菜单类型为必选项`,"system.rule.parent":`上级菜单`,"system.rule.parent.0":`根级菜单`,"system.rule.parent.required":`上级菜单为必选项`,"system.rule.order":`排序序号`,"system.rule.order.required":`排序序号为必填项`,"system.rule.name":`规则名称`,"system.rule.name.required":`规则名称为必填项`,"system.rule.key":`权限标识`,"system.rule.key.required":`权限标识为必填项`,"system.rule.hidden":`可见状态`,"system.rule.hidden.tooltip":`控制菜单在导航栏中的显示状态(路由和权限功能仍正常生效)`,"system.rule.hidden.0":`隐藏`,"system.rule.hidden.1":`显示`,"system.rule.hidden.updateSuccess":`可见状态更新成功`,"system.rule.status":`启用状态`,"system.rule.status.tooltip":`权限启用状态(禁用后该权限将不参与系统权限验证)`,"system.rule.status.0":`禁用`,"system.rule.status.1":`启用`,"system.rule.status.updateSuccess":`启用状态更新成功`,"system.rule.created_at":`创建时间`,"system.rule.updated_at":`更新时间`,"system.rule.title":`权限管理`,"system.rule.addChildButton":`添加子项`},pr={"system.ai.page.title":`AI 设置`,"system.ai.page.description":`管理 AI 服务商和模型配置,支持多个服务商与默认模型分配`,"system.ai.default":`默认模型`,"system.ai.default.tooltip":`AI 对话、分析等通用任务的默认模型`,"system.ai.provider.api_key":`{{lab}} API Key`,"system.ai.provider.api_key.placeholder":`请输入 API Key`,"system.ai.provider.url":`{{lab}} API 地址`,"system.ai.provider.url.placeholder":`例如: {{url}}`,"system.ai.azure.api_version":`API 版本`,"system.ai.azure.deployment":`部署名`,"system.ai.azure.embedding_deployment":`嵌入部署名`,"system.ai.azure.image_deployment":`图片部署名`,"system.ai.bedrock.region":`AWS 区域`,"system.ai.bedrock.access_key_id":`Access Key ID`,"system.ai.bedrock.secret_access_key":`Secret Access Key`,"system.ai.bedrock.session_token":`Session Token(可选)`,"system.ai.test.title":`连接测试`,"system.ai.test.hint":`点击下方按钮测试当前 AI 服务商的连接状态`,"system.ai.test.button":`测试连接`,"system.ai.test.testing":`正在测试连接...`,"system.ai.test.success":`连接测试成功!`,"system.ai.test.error":`连接测试失败`,"system.ai.save.success":`AI 配置保存成功`},mr={"system.carousel.page.title":`首页轮播图管理`,"system.carousel.page.description":`管理首页轮播图图片及跳转链接`,"system.carousel.id":`ID`,"system.carousel.title":`轮播图标题`,"system.carousel.title.required":`轮播图标题不能为空`,"system.carousel.image":`轮播图片`,"system.carousel.image.required":`轮播图片不能为空`,"system.carousel.linkType":`跳转类型`,"system.carousel.linkType.required":`跳转类型不能为空`,"system.carousel.linkType.link":`链接`,"system.carousel.linkType.category":`分类`,"system.carousel.link":`跳转链接`,"system.carousel.link.placeholder":`请输入跳转链接`,"system.carousel.category":`跳转分类`,"system.carousel.category.placeholder":`请选择分类`,"system.carousel.status":`状态`,"system.carousel.status.required":`状态不能为空`,"system.carousel.status.normal":`启用`,"system.carousel.status.disabled":`禁用`,"system.carousel.sort":`排序`,"system.carousel.createdAt":`创建时间`,"system.carousel.updatedAt":`更新时间`},hr={"system.gridNav.page.title":`首页宫格导航管理`,"system.gridNav.page.description":`管理首页宫格导航图标及跳转链接`,"system.gridNav.id":`ID`,"system.gridNav.title":`导航标题`,"system.gridNav.title.required":`导航标题不能为空`,"system.gridNav.image":`导航图标`,"system.gridNav.image.required":`导航图标不能为空`,"system.gridNav.linkType":`跳转类型`,"system.gridNav.linkType.required":`跳转类型不能为空`,"system.gridNav.linkType.link":`链接`,"system.gridNav.linkType.category":`分类`,"system.gridNav.link":`跳转链接`,"system.gridNav.link.placeholder":`请输入跳转链接`,"system.gridNav.category":`跳转分类`,"system.gridNav.category.placeholder":`请选择分类`,"system.gridNav.status":`状态`,"system.gridNav.status.required":`状态不能为空`,"system.gridNav.status.normal":`启用`,"system.gridNav.status.disabled":`禁用`,"system.gridNav.sort":`排序`,"system.gridNav.createdAt":`创建时间`,"system.gridNav.updatedAt":`更新时间`},gr={"system.category.page.title":`首页分类管理`,"system.category.page.description":`管理首页分类及分类项跳转链接`,"system.category.id":`ID`,"system.category.name":`分类名称`,"system.category.name.required":`分类名称不能为空`,"system.category.status":`状态`,"system.category.status.required":`状态不能为空`,"system.category.status.normal":`启用`,"system.category.status.disabled":`禁用`,"system.category.sort":`排序`,"system.category.createdAt":`创建时间`,"system.category.updatedAt":`更新时间`,"system.category.manageItems":`分类项管理`,"system.category.itemManagement":`分类项管理`,"system.category.backToList":`返回分类列表`,"system.category.selectCategoryFirst":`请先选择分类`,"system.category.item.id":`ID`,"system.category.item.title":`导航标题`,"system.category.item.title.required":`导航标题不能为空`,"system.category.item.image":`导航图标`,"system.category.item.image.required":`导航图标不能为空`,"system.category.item.link":`跳转链接`,"system.category.item.link.placeholder":`请输入跳转链接`,"system.category.item.tag":`标签`,"system.category.item.tag.placeholder":`输入后按回车添加标签`,"system.category.item.status":`状态`,"system.category.item.status.required":`状态不能为空`,"system.category.item.status.normal":`启用`,"system.category.item.status.disabled":`禁用`,"system.category.item.sort":`排序`,"system.category.item.createdAt":`创建时间`,"system.category.item.updatedAt":`更新时间`,"system.category.item.createSuccess":`分类项创建成功`,"system.category.item.updateSuccess":`分类项更新成功`},_r={"system.activity.page.title":`活动专区管理`,"system.activity.page.description":`管理首页活动专区图片、描述及跳转链接`,"system.activity.id":`ID`,"system.activity.title":`活动标题`,"system.activity.title.required":`活动标题不能为空`,"system.activity.image":`活动图片`,"system.activity.image.required":`活动图片不能为空`,"system.activity.description":`活动描述`,"system.activity.description.placeholder":`请输入活动描述`,"system.activity.linkType":`跳转类型`,"system.activity.linkType.required":`跳转类型不能为空`,"system.activity.linkType.link":`链接`,"system.activity.linkType.category":`分类`,"system.activity.link":`跳转链接`,"system.activity.link.placeholder":`请输入跳转链接`,"system.activity.category":`跳转分类`,"system.activity.category.placeholder":`请选择分类`,"system.activity.status":`状态`,"system.activity.status.required":`状态不能为空`,"system.activity.status.normal":`启用`,"system.activity.status.disabled":`禁用`,"system.activity.sort":`排序`,"system.activity.createdAt":`创建时间`,"system.activity.updatedAt":`更新时间`},vr={"ai.chat.title":`AI 对话`,"ai.chat.newChat":`新建对话`,"ai.chat.placeholder":`输入您的问题,按 Enter 发送...`,"ai.chat.welcome.title":`有什么可以帮助您的?`,"ai.chat.welcome.description":`我是您的 AI 助手,可以帮您解答问题、编写代码、分析数据等`,"ai.chat.loading":`正在思考...`,"ai.chat.error.send":`发送失败,请重试`,"ai.chat.delete.confirm":`确定要删除这个会话吗?`,"ai.chat.delete.success":`会话已删除`,"ai.chat.empty":`暂无会话,开始一个新的对话吧`,"ai.chat.copy":`复制`,"ai.chat.copy.success":`已复制到剪贴板`,"ai.chat.retry":`重试`,"ai.chat.thinking":`深度思考中...`,"ai.chat.thinking.done":`思考完成`,"ai.chat.attachment.upload":`上传文件`,"ai.chat.attachment.maxCount":`最多上传 {count} 个文件`,"ai.chat.attachment.error":`文件上传失败`,"ai.chat.switchAgent":`切换智能体`,"ai.chat.defaultTitle":`AI 对话`},yr={"ai.conversation.page.title":`AI 会话管理`,"ai.conversation.page.description":`管理系统中的 AI 对话会话及其消息记录`,"ai.conversation.id":`会话 ID`,"ai.conversation.username":`所属用户`,"ai.conversation.title":`会话标题`,"ai.conversation.messageCount":`消息数`,"ai.conversation.createdAt":`创建时间`,"ai.conversation.updatedAt":`更新时间`,"ai.conversation.deleteConfirm":`确定要删除该会话吗?删除后所有消息将被清除。`,"ai.conversation.deleteSuccess":`会话已删除`,"ai.conversation.viewMessages":`查看消息`,"ai.conversation.messageTitle":`会话消息`,"ai.conversation.noUser":`匿名用户`,"ai.conversation.message.id":`消息 ID`,"ai.conversation.message.role":`角色`,"ai.conversation.message.role.user":`用户`,"ai.conversation.message.role.assistant":`助手`,"ai.conversation.message.role.system":`系统`,"ai.conversation.message.agent":`AI 模型`,"ai.conversation.message.content":`消息内容`,"ai.conversation.message.createdAt":`发送时间`,"ai.conversation.message.toolCalls":`工具调用`,"ai.conversation.message.usage":`用量统计`},br={"ai.agent.page.title":`Agent 管理`,"ai.agent.page.description":`管理 AI Agent 的注册与启用状态。Agent 通过数据库 Seeder 注册。`,"ai.agent.update.success":`更新成功`,"ai.agent.update.failed":`更新失败`,"ai.agent.empty":`暂未注册 Agent。`,"ai.agent.goChat":`去对话`},xr={"user.profile.title":`用户设置`,"user.profile.baseInfo":`基本信息`,"user.profile.changePassword":`修改密码`,"user.profile.loginLog":`登录日志`,"user.profile.baseInfo.updateAvatar":`更换头像`,"user.profile.baseInfo.updateAvatarDesc":`支持 JPG/PNG 格式,大小不超过 2MB`,"user.profile.baseInfo.avatarSuccess":`头像上传成功`,"user.profile.baseInfo.success":`更新用户信息成功`,"user.profile.baseInfo.username":`用户名`,"user.profile.baseInfo.username.message":`请输入用户名!`,"user.profile.baseInfo.nickname":`昵称`,"user.profile.baseInfo.nickname.message":`请输入昵称!`,"user.profile.baseInfo.sex":`性别`,"user.profile.baseInfo.sex.0":`男`,"user.profile.baseInfo.sex.1":`女`,"user.profile.baseInfo.bio":`个人简介`,"user.profile.baseInfo.email":`邮箱`,"user.profile.baseInfo.email.typeMessage":`请输入有效的邮箱地址!`,"user.profile.baseInfo.email.requiredMessage":`请输入邮箱!`,"user.profile.baseInfo.mobile":`手机号`,"user.profile.baseInfo.mobile.message":`请输入手机号!`,"user.profile.baseInfo.submit":`保存用户信息`,"user.profile.changePassword.oldPassword":`当前密码`,"user.profile.changePassword.oldPassword.message":`请输入当前密码!`,"user.profile.changePassword.newPassword":`新密码`,"user.profile.changePassword.rePassword":`确认新密码`,"user.profile.changePassword.requiredMessage":`请输入新密码!`,"user.profile.changePassword.minMessage":`密码长度至少8位!`,"user.profile.changePassword.rePassword.message":`两次输入的密码不一致!`,"user.profile.changePassword.submit":`修改密码`,"user.profile.changePassword.success":`更新成功`,"user.profile.loginLog.success":`登录成功`,"user.profile.loginLog.error":`登录失败`,"user.profile.loginLog.empty":`暂无登录日志数据`},Sr={"xin.form.submit":`提交`,"xin.form.reset":`重置`,"xin.form.cancel":`取消`,"xin.form.formList.add":`添加一项`,"xin.form.upload.button":`点击上传`,"xin.form.userSelector.placeholder":`请选择用户`,"xin.form.userSelector.modal.title":`选择用户`,"xin.form.userSelector.modal.okText":`确定`,"xin.form.userSelector.modal.cancelText":`取消`,"xin.form.iconSelector.placeholder":`请选择图标`,"xin.form.iconSelector.modal.title":`选择图标`,"xin.form.iconSelector.tabs.use":`自定义图标`,"xin.form.iconSelector.tabs.suggestion":`网站通用图标`,"xin.form.iconSelector.tabs.direction":`方向性图标`,"xin.form.iconSelector.tabs.editor":`编辑类图标`,"xin.form.iconSelector.tabs.data":`数据类图标`,"xin.form.iconSelector.tabs.logo":`品牌和标识`,"xin.form.iconSelector.tabs.other":`其它图标`,"xin.form.imageUploader.uploadText":`上传图片`,"xin.form.imageUploader.error.notImage":`只能上传图片文件!`,"xin.form.imageUploader.error.sizeExceeded":`图片大小不能超过 {{maxSize}}MB!`,"xin.form.imageUploader.error.dimensionExceeded":`图片尺寸不能超过 {{maxWidth}}x{{maxHeight}}px!`,"xin.form.imageUploader.error.loadFailed":`图片加载失败!`,"xin.form.imageUploader.error.readFailed":`图片读取失败!`},Cr={"xin.table.queryTable":`查询表格`,"xin.table.keywordPlaceholder":`请输入关键字`,"xin.table.keywordEmpty":`请输入搜索内容`,"xin.table.add":`新增`,"xin.table.refresh":`刷新`,"xin.table.columnSettings":`列设置`,"xin.table.showBorder":`显示边框`,"xin.table.hideBorder":`隐藏边框`,"xin.table.density.default":`默认`,"xin.table.density.middle":`适中`,"xin.table.density.compact":`紧凑`,"xin.table.total":`共 {{total}} 条`,"xin.table.operate":`操作栏`,"xin.table.edit":`编辑`,"xin.table.delete":`删除`,"xin.table.deleteConfirm":`你是否要删除 {{id}} 记录?`,"xin.table.deleteOk":`确认删除`,"xin.table.deleteCancel":`取消删除`,"xin.table.deleteSuccess":`删除成功`,"xin.table.form.createTitle":`新增`,"xin.table.form.editTitle":`编辑`,"xin.table.form.close":`关闭`,"xin.table.form.createSuccess":`创建成功!`,"xin.table.form.updateSuccess":`更新成功!`,"xin.table.form.updateKeyUndefined":`更新的主键未定义!`,"xin.table.search.search":`搜索`,"xin.table.search.reset":`重置`,"xin.table.search.expand":`展开`,"xin.table.search.collapse":`收起`},wr={"xin.crud.operate":`操作`,"xin.crud.edit":`编辑`,"xin.crud.delete":`删除`,"xin.crud.add":`新增`,"xin.crud.batchDelete":`批量删除`,"xin.crud.confirm":`确定`,"xin.crud.cancel":`取消`,"xin.crud.deleteConfirm":`确认删除`,"xin.crud.deleteConfirmDesc":`删除后数据将无法恢复,是否确认删除?`,"xin.crud.batchDeleteConfirm":`确认批量删除`,"xin.crud.batchDeleteConfirmDesc":`确定要删除选中的 {{count}} 条数据吗?`,"xin.crud.selectAtLeastOne":`请至少选择一条数据`,"xin.crud.createSuccess":`新增成功`,"xin.crud.updateSuccess":`更新成功`,"xin.crud.deleteSuccess":`删除成功`,"xin.crud.batchDeleteSuccess":`批量删除成功`,"xin.crud.createTitle":`新增`,"xin.crud.editTitle":`编辑`,"xin.crud.total":`共 {{total}} 条`,"xin.crud.yes":`是`,"xin.crud.no":`否`},Tr={"layout.resetTheme":`重置主题`,"layout.saveTheme":`保存主题`,"layout.layoutStyle":`布局样式`,"layout.layoutSide":`左侧导航`,"layout.layoutTop":`顶部导航`,"layout.layoutMix":`混合导航`,"layout.layoutColumns":`双栏导航`,"layout.presetTheme":`预设主题`,"layout.themeLight":`默认`,"layout.themeDark":`暗黑`,"layout.themePink":`桃花缘`,"layout.themeGreen":`知识协作`,"layout.themeAlgorithm":`主题算法`,"layout.algorithmDefault":`默认`,"layout.algorithmDark":`暗黑`,"layout.algorithmDefaultCompact":`默认 + 紧凑`,"layout.algorithmDarkCompact":`暗黑 + 紧凑`,"layout.themeColor":`主题颜色`,"layout.colorPrimary":`主色`,"layout.colorText":`基础文字颜色`,"layout.colorBg":`基础背景颜色`,"layout.colorSuccess":`成功色`,"layout.colorWarning":`警告色`,"layout.colorError":`错误色`,"layout.bodyBg":`内容区域背景色`,"layout.footerBg":`页脚背景色`,"layout.headerBg":`头部背景色`,"layout.headerColor":`头部文字颜色`,"layout.siderBg":`侧边栏背景色`,"layout.siderColor":`侧边栏文字颜色`,"layout.colorBorder":`布局边框颜色`,"layout.styleConfig":`风格配置`,"layout.fixedFooter":`固定页脚`,"layout.borderRadius":`圆角大小`,"layout.controlHeight":`基础控件高度`,"layout.headerPadding":`头部两侧内边距`,"layout.headerHeight":`头部高度`,"layout.siderWeight":`侧边栏宽度`,"layout.bodyPadding":`内容区域内边距`,"layout.systemConfig":`系统配置`,"layout.localRoute":`本地菜单路由`,"layout.profile":`用户设置`,"layout.logout":`退出登录`,"layout.logoutSuccess":`退出成功,正在跳转`,"layout.logoutFailed":`退出登录失败`,"layout.searchPlaceholder":`请输入搜索内容`,"layout.searchConfirm":`确认`,"layout.searchSwitch":`切换`,"layout.searchClose":`关闭`},Er={...Qn,...$n,...er,...tr,...nr,...rr,...ir,...ar,...or,...sr,...cr,...lr,...ur,...dr,...fr,...pr,...mr,...hr,...gr,..._r,...vr,...yr,...br,...xr,...Sr,...Cr,...wr,...Tr},Dr={en:{translation:Zn},zh:{translation:Er}};$.use(qe).init({resources:Dr,lng:localStorage.getItem(`i18nextLng`)||`zh`,fallbackLng:`zh`,debug:!1,interpolation:{escapeValue:!1}});var Or=e(ye(),1),kr=e(ze(),1);Or.default.extend(kr.default);var Ar=document.getElementById(`root`);Je.createRoot(Ar).render((0,L.jsx)(jt,{})); \ No newline at end of file diff --git a/public/assets/item-BX4BeOlE.js b/public/assets/item-BX4BeOlE.js new file mode 100644 index 0000000..8d2bd10 --- /dev/null +++ b/public/assets/item-BX4BeOlE.js @@ -0,0 +1 @@ +import{i as e}from"./rolldown-runtime-BgaNhQyE.js";import{Dr as t,t as n}from"./jsx-runtime-ADHq9IcL.js";import{o as r,s as i}from"./chunk-KS7C4IRE-CN93VkYO.js";import{t as a}from"./typography-C2UybztD.js";import{t as o}from"./space-BqavXZJj.js";import{t as s}from"./button-CcpWP-mq.js";import{t as c}from"./LeftOutlined-DolIAuof.js";import{t as l}from"./badge-Cim9D6DD.js";import{n as u}from"./LockOutlined-rb6chlKx.js";import{i as d,s as f}from"./XinForm-CH1TH01p.js";import{t as p}from"./image-CBJbXNqF.js";import{t as m}from"./tag-BMkLMUVK.js";import{t as h}from"./useTranslation-DIuTqE8W.js";import{t as g}from"./XinTable-DP0Q6sQS.js";var _=e(t(),1),v=e(u(),1),y=n(),{Title:b}=a;function x(e){return e?typeof e==`string`?e:e.preview_url||e.file_url||``:``}function S(){let{t:e}=h(),t=r(),[n]=i(),a=n.get(`categoryId`),u=n.get(`categoryName`)||``,[S,C]=(0,_.useState)({id:a?parseInt(a):0,name:decodeURIComponent(u)});(0,_.useEffect)(()=>{a&&C({id:parseInt(a),name:decodeURIComponent(u)})},[a,u]);let w=[{title:e(`system.category.item.id`),dataIndex:`id`,hideInForm:!0,width:80,align:`center`},{title:e(`system.category.item.title`),dataIndex:`title`,valueType:`text`,colProps:{span:12},rules:[{required:!0,message:e(`system.category.item.title.required`)}]},{title:e(`system.category.item.image`),dataIndex:`image_id`,valueType:`image`,colProps:{span:24},rules:[{required:!0,message:e(`system.category.item.image.required`)}],hideInSearch:!0,fieldProps:{action:`/system/file/list/upload`,mode:`single`,maxCount:1,changeType:`id`},render:(e,t)=>{let n=x(t.image);return n?(0,y.jsx)(p,{src:n,width:60,height:60,style:{objectFit:`cover`,borderRadius:4}}):`-`}},{title:e(`system.category.item.link`),dataIndex:`link`,valueType:`text`,colProps:{span:12},hideInSearch:!0,fieldProps:{placeholder:e(`system.category.item.link.placeholder`)}},{title:e(`system.category.item.tag`),dataIndex:`tag`,valueType:`select`,colProps:{span:24},hideInSearch:!0,fieldProps:{mode:`tags`,placeholder:e(`system.category.item.tag.placeholder`)},render:e=>{if(!e)return`-`;let t=Array.isArray(e)?e:[e];return t.length===0?`-`:(0,y.jsx)(o,{size:[4,4],wrap:!0,children:t.map(e=>(0,y.jsx)(m,{color:`blue`,children:e},e))})}},{title:e(`system.category.item.status`),dataIndex:`status`,valueType:`select`,colProps:{span:12},initialValue:0,rules:[{required:!0,message:e(`system.category.item.status.required`)}],fieldProps:{options:[{label:e(`system.category.item.status.normal`),value:0},{label:e(`system.category.item.status.disabled`),value:1}]},render:t=>t===0?(0,y.jsx)(l,{status:`success`,text:e(`system.category.item.status.normal`)}):(0,y.jsx)(l,{status:`error`,text:e(`system.category.item.status.disabled`)})},{title:e(`system.category.item.sort`),dataIndex:`sort`,valueType:`digit`,colProps:{span:12},hideInSearch:!0,initialValue:0,fieldProps:{min:0,style:{width:`100%`}}},{title:e(`system.category.item.createdAt`),dataIndex:`created_at`,render:e=>e?(0,v.default)(e).format(`YYYY-MM-DD HH:mm`):`-`,hideInForm:!0,hideInSearch:!0,width:160}];return S.id?(0,y.jsxs)(o,{orientation:`vertical`,style:{width:`100%`},children:[(0,y.jsxs)(`div`,{children:[(0,y.jsx)(s,{type:`link`,onClick:()=>{t(`/system/category`)},icon:(0,y.jsx)(c,{}),classNames:{root:`p-0 mb-2`},children:e(`system.category.backToList`)}),(0,y.jsx)(b,{level:3,children:(0,y.jsxs)(`span`,{className:`mr-2`,children:[e(`system.category.itemManagement`),` - `,S.name]})})]}),(0,y.jsx)(g,{api:`/system/category/item`,columns:w,rowKey:`id`,accessName:`system.category.item`,formProps:{grid:!0,colProps:{span:12},rowProps:{gutter:[30,0]},layout:`vertical`},modalProps:{width:600},requestParams:e=>({...e,category_id:S.id}),searchShow:!1,handleFinish:async(t,n,r,i)=>(n===`create`?(await d(`/system/category/item`,{...t,tag:t.tag??[],category_id:S.id}),window.$message?.success(e(`system.category.item.createSuccess`))):(await f(`/system/category/item/`+i?.id,{...t,tag:t.tag??[],category_id:S.id}),window.$message?.success(e(`system.category.item.updateSuccess`))),!0)})]}):(0,y.jsx)(`div`,{style:{padding:50,textAlign:`center`},children:(0,y.jsx)(`div`,{style:{marginTop:50,color:`#999`},children:e(`system.category.selectCategoryFirst`)})})}export{S as default}; \ No newline at end of file diff --git a/public/assets/item-CHqLuyYq.js b/public/assets/item-CHqLuyYq.js deleted file mode 100644 index 599314d..0000000 --- a/public/assets/item-CHqLuyYq.js +++ /dev/null @@ -1 +0,0 @@ -import{i as e}from"./rolldown-runtime-BgaNhQyE.js";import{Dr as t,t as n}from"./jsx-runtime-ADHq9IcL.js";import{o as r,s as i}from"./chunk-KS7C4IRE-CN93VkYO.js";import{t as a}from"./typography-C2UybztD.js";import{t as o}from"./space-BqavXZJj.js";import{t as s}from"./button-CcpWP-mq.js";import{t as c}from"./LeftOutlined-DolIAuof.js";import{t as l}from"./badge-Cim9D6DD.js";import{n as u}from"./LockOutlined-rb6chlKx.js";import{i as d,s as f}from"./XinForm-CH1TH01p.js";import{t as p}from"./image-CBJbXNqF.js";import{t as m}from"./useTranslation-DIuTqE8W.js";import{t as h}from"./XinTable-DP0Q6sQS.js";var g=e(t(),1),_=e(u(),1),v=n(),{Title:y}=a;function b(e){return e?typeof e==`string`?e:e.preview_url||e.file_url||``:``}function x(){let{t:e}=m(),t=r(),[n]=i(),a=n.get(`categoryId`),u=n.get(`categoryName`)||``,[x,S]=(0,g.useState)({id:a?parseInt(a):0,name:decodeURIComponent(u)});(0,g.useEffect)(()=>{a&&S({id:parseInt(a),name:decodeURIComponent(u)})},[a,u]);let C=[{title:e(`system.category.item.id`),dataIndex:`id`,hideInForm:!0,width:80,align:`center`},{title:e(`system.category.item.title`),dataIndex:`title`,valueType:`text`,colProps:{span:12},rules:[{required:!0,message:e(`system.category.item.title.required`)}]},{title:e(`system.category.item.image`),dataIndex:`image_id`,valueType:`image`,colProps:{span:24},rules:[{required:!0,message:e(`system.category.item.image.required`)}],hideInSearch:!0,fieldProps:{action:`/system/file/list/upload`,mode:`single`,maxCount:1,changeType:`id`},render:(e,t)=>{let n=b(t.image);return n?(0,v.jsx)(p,{src:n,width:60,height:60,style:{objectFit:`cover`,borderRadius:4}}):`-`}},{title:e(`system.category.item.link`),dataIndex:`link`,valueType:`text`,colProps:{span:12},hideInSearch:!0,fieldProps:{placeholder:e(`system.category.item.link.placeholder`)}},{title:e(`system.category.item.status`),dataIndex:`status`,valueType:`select`,colProps:{span:12},initialValue:0,rules:[{required:!0,message:e(`system.category.item.status.required`)}],fieldProps:{options:[{label:e(`system.category.item.status.normal`),value:0},{label:e(`system.category.item.status.disabled`),value:1}]},render:t=>t===0?(0,v.jsx)(l,{status:`success`,text:e(`system.category.item.status.normal`)}):(0,v.jsx)(l,{status:`error`,text:e(`system.category.item.status.disabled`)})},{title:e(`system.category.item.sort`),dataIndex:`sort`,valueType:`digit`,colProps:{span:12},hideInSearch:!0,initialValue:0,fieldProps:{min:0,style:{width:`100%`}}},{title:e(`system.category.item.createdAt`),dataIndex:`created_at`,render:e=>e?(0,_.default)(e).format(`YYYY-MM-DD HH:mm`):`-`,hideInForm:!0,hideInSearch:!0,width:160}];return x.id?(0,v.jsxs)(o,{orientation:`vertical`,style:{width:`100%`},children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(s,{type:`link`,onClick:()=>{t(`/system/category`)},icon:(0,v.jsx)(c,{}),classNames:{root:`p-0 mb-2`},children:e(`system.category.backToList`)}),(0,v.jsx)(y,{level:3,children:(0,v.jsxs)(`span`,{className:`mr-2`,children:[e(`system.category.itemManagement`),` - `,x.name]})})]}),(0,v.jsx)(h,{api:`/system/category/item`,columns:C,rowKey:`id`,accessName:`system.category.item`,formProps:{grid:!0,colProps:{span:12},rowProps:{gutter:[30,0]},layout:`vertical`},modalProps:{width:600},requestParams:e=>({...e,category_id:x.id}),searchShow:!1,handleFinish:async(t,n,r,i)=>(n===`create`?(await d(`/system/category/item`,{...t,category_id:x.id}),window.$message?.success(e(`system.category.item.createSuccess`))):(await f(`/system/category/item/`+i?.id,{...t,category_id:x.id}),window.$message?.success(e(`system.category.item.updateSuccess`))),!0)})]}):(0,v.jsx)(`div`,{style:{padding:50,textAlign:`center`},children:(0,v.jsx)(`div`,{style:{marginTop:50,color:`#999`},children:e(`system.category.selectCategoryFirst`)})})}export{x as default}; \ No newline at end of file diff --git a/public/index.html b/public/index.html index b2e7d4e..7cac928 100644 --- a/public/index.html +++ b/public/index.html @@ -5,7 +5,7 @@ XinAdmin - +