import{g as Me,r as $}from"./react-vendor-0bvDbF03.js";var Ue={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};const He=Me(Ue);var ze=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function de(r){var e={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=r.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(e.name=t[1],(He[t[1]]||r.charAt(r.length-2)==="/")&&(e.voidElement=!0),e.name.startsWith("!--"))){var s=r.indexOf("-->");return{type:"comment",comment:s!==-1?r.slice(4,s):""}}for(var n=new RegExp(ze),i=null;(i=n.exec(r))!==null;)if(i[0].trim())if(i[1]){var a=i[1].trim(),o=[a,""];a.indexOf("=")>-1&&(o=a.split("=")),e.attrs[o[0]]=o[1],n.lastIndex--}else i[2]&&(e.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return e}var Be=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,Je=/^\s*$/,_e=Object.create(null);function Pe(r,e){switch(e.type){case"text":return r+e.content;case"tag":return r+="<"+e.name+(e.attrs?function(t){var s=[];for(var n in t)s.push(n+'="'+t[n]+'"');return s.length?" "+s.join(" "):""}(e.attrs):"")+(e.voidElement?"/>":">"),e.voidElement?r:r+e.children.reduce(Pe,"")+"</"+e.name+">";case"comment":return r+"<!--"+e.comment+"-->"}}var We={parse:function(r,e){e||(e={}),e.components||(e.components=_e);var t,s=[],n=[],i=-1,a=!1;if(r.indexOf("<")!==0){var o=r.indexOf("<");s.push({type:"text",content:o===-1?r:r.substring(0,o)})}return r.replace(Be,function(u,l){if(a){if(u!=="</"+t.name+">")return;a=!1}var c,f=u.charAt(1)!=="/",p=u.startsWith("<!--"),d=l+u.length,h=r.charAt(d);if(p){var L=de(u);return i<0?(s.push(L),s):((c=n[i]).children.push(L),s)}if(f&&(i++,(t=de(u)).type==="tag"&&e.components[t.name]&&(t.type="component",a=!0),t.voidElement||a||!h||h==="<"||t.children.push({type:"text",content:r.slice(d,r.indexOf("<",d))}),i===0&&s.push(t),(c=n[i-1])&&c.children.push(t),n[i]=t),(!f||t.voidElement)&&(i>-1&&(t.voidElement||t.name===u.slice(2,-1))&&(i--,t=i===-1?s:n[i]),!a&&h!=="<"&&h)){c=i===-1?s:n[i].children;var m=r.indexOf("<",d),b=r.slice(d,m===-1?void 0:m);Je.test(b)&&(b=" "),(m>-1&&i+c.length>=0||b!==" ")&&c.push({type:"text",content:b})}}),s},stringify:function(r){return r.reduce(function(e,t){return e+Pe("",t)},"")}};const q=(r,e,t,s)=>{const n=[t,{code:e,...s||{}}];if(r?.services?.logger?.forward)return r.services.logger.forward(n,"warn","react-i18next::",!0);j(n[0])&&(n[0]=`react-i18next:: ${n[0]}`),r?.services?.logger?.warn?r.services.logger.warn(...n):console?.warn&&console.warn(...n)},pe={},Y=(r,e,t,s)=>{j(t)&&pe[t]||(j(t)&&(pe[t]=new Date),q(r,e,t,s))},ke=(r,e)=>()=>{if(r.isInitialized)e();else{const t=()=>{setTimeout(()=>{r.off("initialized",t)},0),e()};r.on("initialized",t)}},oe=(r,e,t)=>{r.loadNamespaces(e,ke(r,t))},ge=(r,e,t,s)=>{if(j(t)&&(t=[t]),r.options.preload&&r.options.preload.indexOf(e)>-1)return oe(r,t,s);t.forEach(n=>{r.options.ns.indexOf(n)<0&&r.options.ns.push(n)}),r.loadLanguages(e,ke(r,s))},Ye=(r,e,t={})=>!e.languages||!e.languages.length?(Y(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0):e.hasLoadedNamespace(r,{lng:t.lng,precheck:(s,n)=>{if(t.bindI18n?.indexOf("languageChanging")>-1&&s.services.backendConnector.backend&&s.isLanguageChangingTo&&!n(s.isLanguageChangingTo,r))return!1}}),j=r=>typeof r=="string",M=r=>typeof r=="object"&&r!==null,Ge=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Qe={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},Xe=r=>Qe[r],Ze=r=>r.replace(Ge,Xe);let le={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Ze};const qe=(r={})=>{le={...le,...r}},Te=()=>le;let je;const et=r=>{je=r},ce=()=>je,ie=(r,e)=>{if(!r)return!1;const t=r.props?.children??r.children;return e?t.length>0:!!t},re=r=>{if(!r)return[];const e=r.props?.children??r.children;return r.props?.i18nIsDynamicList?H(e):e},tt=r=>Array.isArray(r)&&r.every($.isValidElement),H=r=>Array.isArray(r)?r:[r],st=(r,e)=>{const t={...e};return t.props=Object.assign(r.props,e.props),t},Fe=(r,e,t,s)=>{if(!r)return"";let n="";const i=H(r),a=e?.transSupportBasicHtmlNodes?e.transKeepBasicHtmlNodesFor??[]:[];return i.forEach((o,u)=>{if(j(o)){n+=`${o}`;return}if($.isValidElement(o)){const{props:l,type:c}=o,f=Object.keys(l).length,p=a.indexOf(c)>-1,d=l.children;if(!d&&p&&!f){n+=`<${c}/>`;return}if(!d&&(!p||f)||l.i18nIsDynamicList){n+=`<${u}></${u}>`;return}if(p&&f===1&&j(d)){n+=`<${c}>${d}</${c}>`;return}const h=Fe(d,e,t,s);n+=`<${u}>${h}</${u}>`;return}if(o===null){q(t,"TRANS_NULL_VALUE","Passed in a null value as child",{i18nKey:s});return}if(M(o)){const{format:l,...c}=o,f=Object.keys(c);if(f.length===1){const p=l?`${f[0]}, ${l}`:f[0];n+=`{{${p}}}`;return}q(t,"TRANS_INVALID_OBJ","Invalid child - Object should only have keys {{ value, format }} (format is optional).",{i18nKey:s,child:o});return}q(t,"TRANS_INVALID_VAR","Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.",{i18nKey:s,child:o})}),n},nt=(r,e,t,s,n,i)=>{if(e==="")return[];const a=s.transKeepBasicHtmlNodesFor||[],o=e&&new RegExp(a.map(m=>`<${m}`).join("|")).test(e);if(!r&&!o&&!i)return[e];const u={},l=m=>{H(m).forEach(y=>{j(y)||(ie(y)?l(re(y)):M(y)&&!$.isValidElement(y)&&Object.assign(u,y))})};l(r);const c=We.parse(`<0>${e}</0>`),f={...u,...n},p=(m,b,y)=>{const v=re(m),O=h(v,b.children,y);return tt(v)&&O.length===0||m.props?.i18nIsDynamicList?v:O},d=(m,b,y,v,O)=>{m.dummy?(m.children=b,y.push($.cloneElement(m,{key:v},O?void 0:b))):y.push(...$.Children.map([m],S=>{const g={...S.props};return delete g.i18nIsDynamicList,$.createElement(S.type,{...g,key:v,ref:S.props.ref??S.ref},O?null:b)}))},h=(m,b,y)=>{const v=H(m);return H(b).reduce((S,g,C)=>{const A=g.children?.[0]?.content&&t.services.interpolator.interpolate(g.children[0].content,f,t.language);if(g.type==="tag"){let w=v[parseInt(g.name,10)];y.length===1&&!w&&(w=y[0][g.name]),w||(w={});const N=Object.keys(g.attrs).length!==0?st({props:g.attrs},w):w,D=$.isValidElement(N),z=D&&ie(g,!0)&&!g.voidElement,T=o&&M(N)&&N.dummy&&!D,P=M(r)&&Object.hasOwnProperty.call(r,g.name);if(j(N)){const E=t.services.interpolator.interpolate(N,f,t.language);S.push(E)}else if(ie(N)||z){const E=p(N,g,y);d(N,E,S,C)}else if(T){const E=h(v,g.children,y);d(N,E,S,C)}else if(Number.isNaN(parseFloat(g.name)))if(P){const E=p(N,g,y);d(N,E,S,C,g.voidElement)}else if(s.transSupportBasicHtmlNodes&&a.indexOf(g.name)>-1)if(g.voidElement)S.push($.createElement(g.name,{key:`${g.name}-${C}`}));else{const E=h(v,g.children,y);S.push($.createElement(g.name,{key:`${g.name}-${C}`},E))}else if(g.voidElement)S.push(`<${g.name} />`);else{const E=h(v,g.children,y);S.push(`<${g.name}>${E}</${g.name}>`)}else if(M(N)&&!D){const E=g.children[0]?A:null;E&&S.push(E)}else d(N,A,S,C,g.children.length!==1||!A)}else if(g.type==="text"){const w=s.transWrapTextNodes,N=i?s.unescape(t.services.interpolator.interpolate(g.content,f,t.language)):t.services.interpolator.interpolate(g.content,f,t.language);w?S.push($.createElement(w,{key:`${g.name}-${C}`},N)):S.push(N)}return S},[])},L=h([{dummy:!0,children:r||[]}],c,H(r||[]));return re(L[0])},Ie=(r,e,t)=>{const s=r.key||e,n=$.cloneElement(r,{key:s});if(!n.props||!n.props.children||t.indexOf(`${e}/>`)<0&&t.indexOf(`${e} />`)<0)return n;function i(){return $.createElement($.Fragment,null,n)}return $.createElement(i,{key:s})},it=(r,e)=>r.map((t,s)=>Ie(t,s,e)),rt=(r,e)=>{const t={};return Object.keys(r).forEach(s=>{Object.assign(t,{[s]:Ie(r[s],s,e)})}),t},at=(r,e,t,s)=>r?Array.isArray(r)?it(r,e):M(r)?rt(r,e):(Y(t,"TRANS_INVALID_COMPONENTS",'<Trans /> "components" prop expects an object or array',{i18nKey:s}),null):null;function ot({children:r,count:e,parent:t,i18nKey:s,context:n,tOptions:i={},values:a,defaults:o,components:u,ns:l,i18n:c,t:f,shouldUnescape:p,...d}){const h=c||ce();if(!h)return Y(h,"NO_I18NEXT_INSTANCE","Trans: You need to pass in an i18next instance using i18nextReactModule",{i18nKey:s}),r;const L=f||h.t.bind(h)||(z=>z),m={...Te(),...h.options?.react};let b=l||L.ns||h.options?.defaultNS;b=j(b)?[b]:b||["translation"];const y=Fe(r,m,h,s),v=o||y||m.transEmptyNodeValue||s,{hashTransKey:O}=m,S=s||(O?O(y||v):y||v);h.options?.interpolation?.defaultVariables&&(a=a&&Object.keys(a).length>0?{...a,...h.options.interpolation.defaultVariables}:{...h.options.interpolation.defaultVariables});const g=a||e!==void 0&&!h.options?.interpolation?.alwaysFormat||!r?i.interpolation:{interpolation:{...i.interpolation,prefix:"#$?",suffix:"?$#"}},C={...i,context:n||i.context,count:e,...a,...g,defaultValue:v,ns:b},A=S?L(S,C):v,w=at(u,A,h,s),N=nt(w||r,A,h,m,C,p),D=t??m.defaultTransParent;return D?$.createElement(D,d,N):N}const kt={type:"3rdParty",init(r){qe(r.options.react),et(r)}},Ae=$.createContext();class lt{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}function Tt({children:r,count:e,parent:t,i18nKey:s,context:n,tOptions:i={},values:a,defaults:o,components:u,ns:l,i18n:c,t:f,shouldUnescape:p,...d}){const{i18n:h,defaultNS:L}=$.useContext(Ae)||{},m=c||h||ce(),b=f||m?.t.bind(m);return ot({children:r,count:e,parent:t,i18nKey:s,context:n,tOptions:i,values:a,defaults:o,components:u,ns:l||b?.ns||L||m?.options?.defaultNS,i18n:m,t:f,shouldUnescape:p,...d})}const ut=(r,e)=>{const t=$.useRef();return $.useEffect(()=>{t.current=r},[r,e]),t.current},Ve=(r,e,t,s)=>r.getFixedT(e,t,s),ct=(r,e,t,s)=>$.useCallback(Ve(r,e,t,s),[r,e,t,s]),jt=(r,e={})=>{const{i18n:t}=e,{i18n:s,defaultNS:n}=$.useContext(Ae)||{},i=t||s||ce();if(i&&!i.reportNamespaces&&(i.reportNamespaces=new lt),!i){Y(i,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const O=(g,C)=>j(C)?C:M(C)&&j(C.defaultValue)?C.defaultValue:Array.isArray(g)?g[g.length-1]:g,S=[O,{},!1];return S.t=O,S.i18n={},S.ready=!1,S}i.options.react?.wait&&Y(i,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Te(),...i.options.react,...e},{useSuspense:o,keyPrefix:u}=a;let l=r||n||i.options?.defaultNS;l=j(l)?[l]:l||["translation"],i.reportNamespaces.addUsedNamespaces?.(l);const c=(i.isInitialized||i.initializedStoreOnce)&&l.every(O=>Ye(O,i,a)),f=ct(i,e.lng||null,a.nsMode==="fallback"?l:l[0],u),p=()=>f,d=()=>Ve(i,e.lng||null,a.nsMode==="fallback"?l:l[0],u),[h,L]=$.useState(p);let m=l.join();e.lng&&(m=`${e.lng}${m}`);const b=ut(m),y=$.useRef(!0);$.useEffect(()=>{const{bindI18n:O,bindI18nStore:S}=a;y.current=!0,!c&&!o&&(e.lng?ge(i,e.lng,l,()=>{y.current&&L(d)}):oe(i,l,()=>{y.current&&L(d)})),c&&b&&b!==m&&y.current&&L(d);const g=()=>{y.current&&L(d)};return O&&i?.on(O,g),S&&i?.store.on(S,g),()=>{y.current=!1,i&&O?.split(" ").forEach(C=>i.off(C,g)),S&&i&&S.split(" ").forEach(C=>i.store.off(C,g))}},[i,m]),$.useEffect(()=>{y.current&&c&&L(p)},[i,u,c]);const v=[h,i,c];if(v.t=h,v.i18n=i,v.ready=c,c||!c&&!o)return v;throw new Promise(O=>{e.lng?ge(i,e.lng,l,()=>O()):oe(i,l,()=>O())})},x=r=>typeof r=="string",_=()=>{let r,e;const t=new Promise((s,n)=>{r=s,e=n});return t.resolve=r,t.reject=e,t},me=r=>r==null?"":""+r,ft=(r,e,t)=>{r.forEach(s=>{e[s]&&(t[s]=e[s])})},ht=/###/g,ye=r=>r&&r.indexOf("###")>-1?r.replace(ht,"."):r,xe=r=>!r||x(r),W=(r,e,t)=>{const s=x(e)?e.split("."):e;let n=0;for(;n<s.length-1;){if(xe(r))return{};const i=ye(s[n]);!r[i]&&t&&(r[i]=new t),Object.prototype.hasOwnProperty.call(r,i)?r=r[i]:r={},++n}return xe(r)?{}:{obj:r,k:ye(s[n])}},Se=(r,e,t)=>{const{obj:s,k:n}=W(r,e,Object);if(s!==void 0||e.length===1){s[n]=t;return}let i=e[e.length-1],a=e.slice(0,e.length-1),o=W(r,a,Object);for(;o.obj===void 0&&a.length;)i=`${a[a.length-1]}.${i}`,a=a.slice(0,a.length-1),o=W(r,a,Object),o?.obj&&typeof o.obj[`${o.k}.${i}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${i}`]=t},dt=(r,e,t,s)=>{const{obj:n,k:i}=W(r,e,Object);n[i]=n[i]||[],n[i].push(t)},ee=(r,e)=>{const{obj:t,k:s}=W(r,e);if(t&&Object.prototype.hasOwnProperty.call(t,s))return t[s]},pt=(r,e,t)=>{const s=ee(r,t);return s!==void 0?s:ee(e,t)},De=(r,e,t)=>{for(const s in e)s!=="__proto__"&&s!=="constructor"&&(s in r?x(r[s])||r[s]instanceof String||x(e[s])||e[s]instanceof String?t&&(r[s]=e[s]):De(r[s],e[s],t):r[s]=e[s]);return r},U=r=>r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var gt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const mt=r=>x(r)?r.replace(/[&<>"'\/]/g,e=>gt[e]):r;class yt{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}const xt=[" ",",","?","!",";"],St=new yt(20),bt=(r,e,t)=>{e=e||"",t=t||"";const s=xt.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(s.length===0)return!0;const n=St.getRegExp(`(${s.map(a=>a==="?"?"\\?":a).join("|")})`);let i=!n.test(r);if(!i){const a=r.indexOf(t);a>0&&!n.test(r.substring(0,a))&&(i=!0)}return i},ue=(r,e,t=".")=>{if(!r)return;if(r[e])return Object.prototype.hasOwnProperty.call(r,e)?r[e]:void 0;const s=e.split(t);let n=r;for(let i=0;i<s.length;){if(!n||typeof n!="object")return;let a,o="";for(let u=i;u<s.length;++u)if(u!==i&&(o+=t),o+=s[u],a=n[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&u<s.length-1)continue;i+=u-i+1;break}n=a}return n},G=r=>r?.replace("_","-"),Ot={type:"logger",log(r){this.output("log",r)},warn(r){this.output("warn",r)},error(r){this.output("error",r)},output(r,e){console?.[r]?.apply?.(console,e)}};class te{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||Ot,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,s,n){return n&&!this.debug?null:(x(e[0])&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new te(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new te(this.logger,e)}}var I=new te;class ne{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(s=>{this.observers[s]||(this.observers[s]=new Map);const n=this.observers[s].get(t)||0;this.observers[s].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(([n,i])=>{for(let a=0;a<i;a++)n(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([n,i])=>{for(let a=0;a<i;a++)n.apply(n,[e,...t])})}}class be extends ne{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,s,n={}){const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,a=n.ignoreJSONStructure!==void 0?n.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],s&&(Array.isArray(s)?o.push(...s):x(s)&&i?o.push(...s.split(i)):o.push(s)));const u=ee(this.data,o);return!u&&!t&&!s&&e.indexOf(".")>-1&&(e=o[0],t=o[1],s=o.slice(2).join(".")),u||!a||!x(s)?u:ue(this.data?.[e]?.[t],s,i)}addResource(e,t,s,n,i={silent:!1}){const a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let o=[e,t];s&&(o=o.concat(a?s.split(a):s)),e.indexOf(".")>-1&&(o=e.split("."),n=t,t=o[1]),this.addNamespaces(t),Se(this.data,o,n),i.silent||this.emit("added",e,t,s,n)}addResources(e,t,s,n={silent:!1}){for(const i in s)(x(s[i])||Array.isArray(s[i]))&&this.addResource(e,t,i,s[i],{silent:!0});n.silent||this.emit("added",e,t,s)}addResourceBundle(e,t,s,n,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),n=s,s=t,t=o[1]),this.addNamespaces(t);let u=ee(this.data,o)||{};a.skipCopy||(s=JSON.parse(JSON.stringify(s))),n?De(u,s,i):u={...u,...s},Se(this.data,o,u),a.silent||this.emit("added",e,t,s)}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||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(n=>t[n]&&Object.keys(t[n]).length>0)}toJSON(){return this.data}}var Ke={processors:{},addPostProcessor(r){this.processors[r.name]=r},handle(r,e,t,s,n){return r.forEach(i=>{e=this.processors[i]?.process(e,t,s,n)??e}),e}};const Oe={},Le=r=>!x(r)&&typeof r!="boolean"&&typeof r!="number";class se extends ne{constructor(e,t={}){super(),ft(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=I.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const s={...t};return e==null?!1:this.resolve(e,s)?.res!==void 0}extractFromKey(e,t){let s=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;s===void 0&&(s=":");const n=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const a=s&&e.indexOf(s)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!bt(e,s,n);if(a&&!o){const u=e.match(this.interpolator.nestingRegexp);if(u&&u.length>0)return{key:e,namespaces:x(i)?[i]:i};const l=e.split(s);(s!==n||s===n&&this.options.ns.indexOf(l[0])>-1)&&(i=l.shift()),e=l.join(n)}return{key:e,namespaces:x(i)?[i]:i}}translate(e,t,s){let n=typeof t=="object"?{...t}:t;if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof options=="object"&&(n={...n}),n||(n={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,a=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:o,namespaces:u}=this.extractFromKey(e[e.length-1],n),l=u[u.length-1];let c=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;c===void 0&&(c=":");const f=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(f?.toLowerCase()==="cimode")return p?i?{res:`${l}${c}${o}`,usedKey:o,exactUsedKey:o,usedLng:f,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${c}${o}`:i?{res:o,usedKey:o,exactUsedKey:o,usedLng:f,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:o;const d=this.resolve(e,n);let h=d?.res;const L=d?.usedKey||o,m=d?.exactUsedKey||o,b=["[object Number]","[object Function]","[object RegExp]"],y=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,v=!this.i18nFormat||this.i18nFormat.handleAsObject,O=n.count!==void 0&&!x(n.count),S=se.hasDefaultValue(n),g=O?this.pluralResolver.getSuffix(f,n.count,n):"",C=n.ordinal&&O?this.pluralResolver.getSuffix(f,n.count,{ordinal:!1}):"",A=O&&!n.ordinal&&n.count===0,w=A&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${g}`]||n[`defaultValue${C}`]||n.defaultValue;let N=h;v&&!h&&S&&(N=w);const D=Le(N),z=Object.prototype.toString.apply(N);if(v&&N&&D&&b.indexOf(z)<0&&!(x(y)&&Array.isArray(N))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const T=this.options.returnedObjectHandler?this.options.returnedObjectHandler(L,N,{...n,ns:u}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(d.res=T,d.usedParams=this.getUsedParamsDetails(n),d):T}if(a){const T=Array.isArray(N),P=T?[]:{},E=T?m:L;for(const F in N)if(Object.prototype.hasOwnProperty.call(N,F)){const V=`${E}${a}${F}`;S&&!h?P[F]=this.translate(V,{...n,defaultValue:Le(w)?w[F]:void 0,joinArrays:!1,ns:u}):P[F]=this.translate(V,{...n,joinArrays:!1,ns:u}),P[F]===V&&(P[F]=N[F])}h=P}}else if(v&&x(y)&&Array.isArray(h))h=h.join(y),h&&(h=this.extendTranslation(h,e,n,s));else{let T=!1,P=!1;!this.isValidLookup(h)&&S&&(T=!0,h=w),this.isValidLookup(h)||(P=!0,h=o);const F=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&P?void 0:h,V=S&&w!==h&&this.options.updateMissing;if(P||T||V){if(this.logger.log(V?"updateKey":"missingKey",f,l,o,V?w:h),a){const k=this.resolve(o,{...n,keySeparator:!1});k&&k.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 B=[];const X=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&X&&X[0])for(let k=0;k<X.length;k++)B.push(X[k]);else this.options.saveMissingTo==="all"?B=this.languageUtils.toResolveHierarchy(n.lng||this.language):B.push(n.lng||this.language);const fe=(k,K,J)=>{const he=S&&J!==h?J:F;this.options.missingKeyHandler?this.options.missingKeyHandler(k,l,K,he,V,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(k,l,K,he,V,n),this.emit("missingKey",k,l,K,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&O?B.forEach(k=>{const K=this.pluralResolver.getSuffixes(k,n);A&&n[`defaultValue${this.options.pluralSeparator}zero`]&&K.indexOf(`${this.options.pluralSeparator}zero`)<0&&K.push(`${this.options.pluralSeparator}zero`),K.forEach(J=>{fe([k],o+J,n[`defaultValue${J}`]||w)})}):fe(B,o,w))}h=this.extendTranslation(h,e,n,d,s),P&&h===o&&this.options.appendNamespaceToMissingKey&&(h=`${l}${c}${o}`),(P||T)&&this.options.parseMissingKeyHandler&&(h=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${c}${o}`:o,T?h:void 0,n))}return i?(d.res=h,d.usedParams=this.getUsedParamsDetails(n),d):h}extendTranslation(e,t,s,n,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const u=x(e)&&(s?.interpolation?.skipOnVariables!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(u){const f=e.match(this.interpolator.nestingRegexp);l=f&&f.length}let c=s.replace&&!x(s.replace)?s.replace:s;if(this.options.interpolation.defaultVariables&&(c={...this.options.interpolation.defaultVariables,...c}),e=this.interpolator.interpolate(e,c,s.lng||this.language||n.usedLng,s),u){const f=e.match(this.interpolator.nestingRegexp),p=f&&f.length;l<p&&(s.nest=!1)}!s.lng&&n&&n.res&&(s.lng=this.language||n.usedLng),s.nest!==!1&&(e=this.interpolator.nest(e,(...f)=>i?.[0]===f[0]&&!s.context?(this.logger.warn(`It seems you are nesting recursively key: ${f[0]} in key: ${t[0]}`),null):this.translate(...f,t),s)),s.interpolation&&this.interpolator.reset()}const a=s.postProcess||this.options.postProcess,o=x(a)?[a]:a;return e!=null&&o?.length&&s.applyPostProcessor!==!1&&(e=Ke.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e,t={}){let s,n,i,a,o;return x(e)&&(e=[e]),e.forEach(u=>{if(this.isValidLookup(s))return;const l=this.extractFromKey(u,t),c=l.key;n=c;let f=l.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const p=t.count!==void 0&&!x(t.count),d=p&&!t.ordinal&&t.count===0,h=t.context!==void 0&&(x(t.context)||typeof t.context=="number")&&t.context!=="",L=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);f.forEach(m=>{this.isValidLookup(s)||(o=m,!Oe[`${L[0]}-${m}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(Oe[`${L[0]}-${m}`]=!0,this.logger.warn(`key "${n}" for languages "${L.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!!!")),L.forEach(b=>{if(this.isValidLookup(s))return;a=b;const y=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(y,c,b,m,t);else{let O;p&&(O=this.pluralResolver.getSuffix(b,t.count,t));const S=`${this.options.pluralSeparator}zero`,g=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(p&&(y.push(c+O),t.ordinal&&O.indexOf(g)===0&&y.push(c+O.replace(g,this.options.pluralSeparator)),d&&y.push(c+S)),h){const C=`${c}${this.options.contextSeparator}${t.context}`;y.push(C),p&&(y.push(C+O),t.ordinal&&O.indexOf(g)===0&&y.push(C+O.replace(g,this.options.pluralSeparator)),d&&y.push(C+S))}}let v;for(;v=y.pop();)this.isValidLookup(s)||(i=v,s=this.getResource(b,m,v,t))}))})}),{res:s,usedKey:n,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,s,n={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,s,n):this.resourceStore.getResource(e,t,s,n)}getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=e.replace&&!x(e.replace);let n=s?e.replace:e;if(s&&typeof e.count<"u"&&(n.count=e.count),this.options.interpolation.defaultVariables&&(n={...this.options.interpolation.defaultVariables,...n}),!s){n={...n};for(const i of t)delete n[i]}return n}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,t.length)&&e[s]!==void 0)return!0;return!1}}class ve{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=I.create("languageUtils")}getScriptPartFromCode(e){if(e=G(e),!e||e.indexOf("-")<0)return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=G(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(x(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(s=>{if(t)return;const n=this.formatLanguageCode(s);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&e.forEach(s=>{if(t)return;const n=this.getScriptPartFromCode(s);if(this.isSupportedCode(n))return t=n;const i=this.getLanguagePartFromCode(s);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(a=>{if(a===i)return a;if(!(a.indexOf("-")<0&&i.indexOf("-")<0)&&(a.indexOf("-")>0&&i.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===i||a.indexOf(i)===0&&i.length>1))return a})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),x(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let s=e[t];return s||(s=e[this.getScriptPartFromCode(t)]),s||(s=e[this.formatLanguageCode(t)]),s||(s=e[this.getLanguagePartFromCode(t)]),s||(s=e.default),s||[]}toResolveHierarchy(e,t){const s=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),n=[],i=a=>{a&&(this.isSupportedCode(a)?n.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return x(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))):x(e)&&i(this.formatLanguageCode(e)),s.forEach(a=>{n.indexOf(a)<0&&i(this.formatLanguageCode(a))}),n}}const Ne={zero:0,one:1,two:2,few:3,many:4,other:5},Ce={select:r=>r===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Lt{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=I.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const s=G(e==="dev"?"en":e),n=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:s,type:n});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(s,{type:n})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Ce;if(!e.match(/-|_/))return Ce;const u=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(u,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,s={}){return this.getSuffixes(e,s).map(n=>`${t}${n}`)}getSuffixes(e,t={}){let s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?s.resolvedOptions().pluralCategories.sort((n,i)=>Ne[n]-Ne[i]).map(n=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${n}`):[]}getSuffix(e,t,s={}){const n=this.getRule(e,s);return n?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,s))}}const $e=(r,e,t,s=".",n=!0)=>{let i=pt(r,e,t);return!i&&n&&x(t)&&(i=ue(r,t,s),i===void 0&&(i=ue(e,t,s))),i},ae=r=>r.replace(/\$/g,"$$$$");class vt{constructor(e={}){this.logger=I.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:n,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:u,formatSeparator:l,unescapeSuffix:c,unescapePrefix:f,nestingPrefix:p,nestingPrefixEscaped:d,nestingSuffix:h,nestingSuffixEscaped:L,nestingOptionsSeparator:m,maxReplaces:b,alwaysFormat:y}=e.interpolation;this.escape=t!==void 0?t:mt,this.escapeValue=s!==void 0?s:!0,this.useRawValueToEscape=n!==void 0?n:!1,this.prefix=i?U(i):a||"{{",this.suffix=o?U(o):u||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=p?U(p):d||U("$t("),this.nestingSuffix=h?U(h):L||U(")"),this.nestingOptionsSeparator=m||",",this.maxReplaces=b||1e3,this.alwaysFormat=y!==void 0?y:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,s)=>t?.source===s?(t.lastIndex=0,t):new RegExp(s,"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,s,n){let i,a,o;const u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=d=>{if(d.indexOf(this.formatSeparator)<0){const b=$e(t,u,d,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(b,void 0,s,{...n,...t,interpolationkey:d}):b}const h=d.split(this.formatSeparator),L=h.shift().trim(),m=h.join(this.formatSeparator).trim();return this.format($e(t,u,L,this.options.keySeparator,this.options.ignoreJSONStructure),m,s,{...n,...t,interpolationkey:L})};this.resetRegExp();const c=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,f=n?.interpolation?.skipOnVariables!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:d=>ae(d)},{regex:this.regexp,safeValue:d=>this.escapeValue?ae(this.escape(d)):ae(d)}].forEach(d=>{for(o=0;i=d.regex.exec(e);){const h=i[1].trim();if(a=l(h),a===void 0)if(typeof c=="function"){const m=c(e,i,n);a=x(m)?m:""}else if(n&&Object.prototype.hasOwnProperty.call(n,h))a="";else if(f){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${h} for interpolating ${e}`),a="";else!x(a)&&!this.useRawValueToEscape&&(a=me(a));const L=d.safeValue(a);if(e=e.replace(i[0],L),f?(d.regex.lastIndex+=a.length,d.regex.lastIndex-=i[0].length):d.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,s={}){let n,i,a;const o=(u,l)=>{const c=this.nestingOptionsSeparator;if(u.indexOf(c)<0)return u;const f=u.split(new RegExp(`${c}[ ]*{`));let p=`{${f[1]}`;u=f[0],p=this.interpolate(p,a);const d=p.match(/'/g),h=p.match(/"/g);((d?.length??0)%2===0&&!h||h.length%2!==0)&&(p=p.replace(/'/g,'"'));try{a=JSON.parse(p),l&&(a={...l,...a})}catch(L){return this.logger.warn(`failed parsing options string in nesting for key ${u}`,L),`${u}${c}${p}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,u};for(;n=this.nestingRegexp.exec(e);){let u=[];a={...s},a=a.replace&&!x(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let l=!1;if(n[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(n[1])){const c=n[1].split(this.formatSeparator).map(f=>f.trim());n[1]=c.shift(),u=c,l=!0}if(i=t(o.call(this,n[1].trim(),a),a),i&&n[0]===e&&!x(i))return i;x(i)||(i=me(i)),i||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),i=""),l&&(i=u.reduce((c,f)=>this.format(c,f,s.lng,{...s,interpolationkey:n[1].trim()}),i.trim())),e=e.replace(n[0],i),this.regexp.lastIndex=0}return e}}const Nt=r=>{let e=r.toLowerCase().trim();const t={};if(r.indexOf("(")>-1){const s=r.split("(");e=s[0].toLowerCase().trim();const n=s[1].substring(0,s[1].length-1);e==="currency"&&n.indexOf(":")<0?t.currency||(t.currency=n.trim()):e==="relativetime"&&n.indexOf(":")<0?t.range||(t.range=n.trim()):n.split(";").forEach(a=>{if(a){const[o,...u]=a.split(":"),l=u.join(":").trim().replace(/^'+|'+$/g,""),c=o.trim();t[c]||(t[c]=l),l==="false"&&(t[c]=!1),l==="true"&&(t[c]=!0),isNaN(l)||(t[c]=parseInt(l,10))}})}return{formatName:e,formatOptions:t}},we=r=>{const e={};return(t,s,n)=>{let i=n;n&&n.interpolationkey&&n.formatParams&&n.formatParams[n.interpolationkey]&&n[n.interpolationkey]&&(i={...i,[n.interpolationkey]:void 0});const a=s+JSON.stringify(i);let o=e[a];return o||(o=r(G(s),n),e[a]=o),o(t)}},Ct=r=>(e,t,s)=>r(G(t),s)(e);class $t{constructor(e={}){this.logger=I.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const s=t.cacheInBuiltFormats?we:Ct;this.formats={number:s((n,i)=>{const a=new Intl.NumberFormat(n,{...i});return o=>a.format(o)}),currency:s((n,i)=>{const a=new Intl.NumberFormat(n,{...i,style:"currency"});return o=>a.format(o)}),datetime:s((n,i)=>{const a=new Intl.DateTimeFormat(n,{...i});return o=>a.format(o)}),relativetime:s((n,i)=>{const a=new Intl.RelativeTimeFormat(n,{...i});return o=>a.format(o,i.range||"day")}),list:s((n,i)=>{const a=new Intl.ListFormat(n,{...i});return o=>a.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=we(t)}format(e,t,s,n={}){const i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&i[0].indexOf(")")<0&&i.find(o=>o.indexOf(")")>-1)){const o=i.findIndex(u=>u.indexOf(")")>-1);i[0]=[i[0],...i.splice(1,o)].join(this.formatSeparator)}return i.reduce((o,u)=>{const{formatName:l,formatOptions:c}=Nt(u);if(this.formats[l]){let f=o;try{const p=n?.formatParams?.[n.interpolationkey]||{},d=p.locale||p.lng||n.locale||n.lng||s;f=this.formats[l](o,d,{...c,...n,...p})}catch(p){this.logger.warn(p)}return f}else this.logger.warn(`there was no format function for ${l}`);return o},e)}}const wt=(r,e)=>{r.pending[e]!==void 0&&(delete r.pending[e],r.pendingCount--)};class Et extends ne{constructor(e,t,s,n={}){super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=n,this.logger=I.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(s,n.backend,n)}queueLoad(e,t,s,n){const i={},a={},o={},u={};return e.forEach(l=>{let c=!0;t.forEach(f=>{const p=`${l}|${f}`;!s.reload&&this.store.hasResourceBundle(l,f)?this.state[p]=2:this.state[p]<0||(this.state[p]===1?a[p]===void 0&&(a[p]=!0):(this.state[p]=1,c=!1,a[p]===void 0&&(a[p]=!0),i[p]===void 0&&(i[p]=!0),u[f]===void 0&&(u[f]=!0)))}),c||(o[l]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(u)}}loaded(e,t,s){const n=e.split("|"),i=n[0],a=n[1];t&&this.emit("failedLoading",i,a,t),!t&&s&&this.store.addResourceBundle(i,a,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const o={};this.queue.forEach(u=>{dt(u.loaded,[i],a),wt(u,e),t&&u.errors.push(t),u.pendingCount===0&&!u.done&&(Object.keys(u.loaded).forEach(l=>{o[l]||(o[l]={});const c=u.loaded[l];c.length&&c.forEach(f=>{o[l][f]===void 0&&(o[l][f]=!0)})}),u.done=!0,u.errors.length?u.callback(u.errors):u.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(u=>!u.done)}read(e,t,s,n=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:s,tried:n,wait:i,callback:a});return}this.readingCalls++;const o=(l,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(l&&c&&n<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,s,n+1,i*2,a)},i);return}a(l,c)},u=this.backend[s].bind(this.backend);if(u.length===2){try{const l=u(e,t);l&&typeof l.then=="function"?l.then(c=>o(null,c)).catch(o):o(null,l)}catch(l){o(l)}return}return u(e,t,o)}prepareLoading(e,t,s={},n){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();x(e)&&(e=this.languageUtils.toResolveHierarchy(e)),x(t)&&(t=[t]);const i=this.queueLoad(e,t,s,n);if(!i.toLoad.length)return i.pending.length||n(),null;i.toLoad.forEach(a=>{this.loadOne(a)})}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e,t=""){const s=e.split("|"),n=s[0],i=s[1];this.read(n,i,"read",void 0,void 0,(a,o)=>{a&&this.logger.warn(`${t}loading namespace ${i} for language ${n} failed`,a),!a&&o&&this.logger.log(`${t}loaded namespace ${i} for language ${n}`,o),this.loaded(e,a,o)})}saveMissing(e,t,s,n,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${s}" 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(!(s==null||s==="")){if(this.backend?.create){const u={...a,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let c;l.length===5?c=l(e,t,s,n,u):c=l(e,t,s,n),c&&typeof c.then=="function"?c.then(f=>o(null,f)).catch(o):o(null,c)}catch(c){o(c)}else l(e,t,s,n,o,u)}!e||!e[0]||this.store.addResource(e[0],t,s,n)}}}const Ee=()=>({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:r=>{let e={};if(typeof r[1]=="object"&&(e=r[1]),x(r[1])&&(e.defaultValue=r[1]),x(r[2])&&(e.tDescription=r[2]),typeof r[2]=="object"||typeof r[3]=="object"){const t=r[3]||r[2];Object.keys(t).forEach(s=>{e[s]=t[s]})}return e},interpolation:{escapeValue:!0,format:r=>r,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Re=r=>(x(r.ns)&&(r.ns=[r.ns]),x(r.fallbackLng)&&(r.fallbackLng=[r.fallbackLng]),x(r.fallbackNS)&&(r.fallbackNS=[r.fallbackNS]),r.supportedLngs?.indexOf?.("cimode")<0&&(r.supportedLngs=r.supportedLngs.concat(["cimode"])),typeof r.initImmediate=="boolean"&&(r.initAsync=r.initImmediate),r),Z=()=>{},Rt=r=>{Object.getOwnPropertyNames(Object.getPrototypeOf(r)).forEach(t=>{typeof r[t]=="function"&&(r[t]=r[t].bind(r))})};class Q extends ne{constructor(e={},t){if(super(),this.options=Re(e),this.services={},this.logger=I,this.modules={external:[]},Rt(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&&(x(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const s=Ee();this.options={...s,...this.options,...Re(e)},this.options.interpolation={...s.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator);const n=l=>l?typeof l=="function"?new l:l:null;if(!this.options.isClone){this.modules.logger?I.init(n(this.modules.logger),this.options):I.init(null,this.options);let l;this.modules.formatter?l=this.modules.formatter:l=$t;const c=new ve(this.options);this.store=new be(this.options.resources,this.options);const f=this.services;f.logger=I,f.resourceStore=this.store,f.languageUtils=c,f.pluralResolver=new Lt(c,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),l&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(f.formatter=n(l),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new vt(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new Et(n(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",(p,...d)=>{this.emit(p,...d)}),this.modules.languageDetector&&(f.languageDetector=n(this.modules.languageDetector),f.languageDetector.init&&f.languageDetector.init(f,this.options.detection,this.options)),this.modules.i18nFormat&&(f.i18nFormat=n(this.modules.i18nFormat),f.i18nFormat.init&&f.i18nFormat.init(this)),this.translator=new se(this.services,this.options),this.translator.on("*",(p,...d)=>{this.emit(p,...d)}),this.modules.external.forEach(p=>{p.init&&p.init(this)})}if(this.format=this.options.interpolation.format,t||(t=Z),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&l[0]!=="dev"&&(this.options.lng=l[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(l=>{this[l]=(...c)=>this.store[l](...c)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(l=>{this[l]=(...c)=>(this.store[l](...c),this)});const o=_(),u=()=>{const l=(c,f)=>{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),o.resolve(f),t(c,f)};if(this.languages&&!this.isInitialized)return l(null,this.t.bind(this));this.changeLanguage(this.options.lng,l)};return this.options.resources||!this.options.initAsync?u():setTimeout(u,0),o}loadResources(e,t=Z){let s=t;const n=x(e)?e:this.language;if(typeof e=="function"&&(s=e),!this.options.resources||this.options.partialBundledLanguages){if(n?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return s();const i=[],a=o=>{if(!o||o==="cimode")return;this.services.languageUtils.toResolveHierarchy(o).forEach(l=>{l!=="cimode"&&i.indexOf(l)<0&&i.push(l)})};n?a(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(u=>a(u)),this.options.preload?.forEach?.(o=>a(o)),this.services.backendConnector.load(i,this.options.ns,o=>{!o&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),s(o)})}else s(null)}reloadResources(e,t,s){const n=_();return typeof e=="function"&&(s=e,e=void 0),typeof t=="function"&&(s=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),s||(s=Z),this.services.backendConnector.reload(e,t,i=>{n.resolve(),s(i)}),n}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new 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"&&Ke.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 t=0;t<this.languages.length;t++){const s=this.languages[t];if(!(["cimode","dev"].indexOf(s)>-1)&&this.store.hasLanguageSomeTranslations(s)){this.resolvedLanguage=s;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;const s=_();this.emit("languageChanging",e);const n=o=>{this.language=o,this.languages=this.services.languageUtils.toResolveHierarchy(o),this.resolvedLanguage=void 0,this.setResolvedLanguage(o)},i=(o,u)=>{u?this.isLanguageChangingTo===e&&(n(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,s.resolve((...l)=>this.t(...l)),t&&t(o,(...l)=>this.t(...l))},a=o=>{!e&&!o&&this.services.languageDetector&&(o=[]);const u=x(o)?o:o&&o[0],l=this.store.hasLanguageSomeTranslations(u)?u:this.services.languageUtils.getBestMatchFromCodes(x(o)?[o]:o);l&&(this.language||n(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector?.cacheUserLanguage?.(l)),this.loadResources(l,c=>{i(c,l)})};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),s}getFixedT(e,t,s){const n=(i,a,...o)=>{let u;typeof a!="object"?u=this.options.overloadTranslationOptionHandler([i,a].concat(o)):u={...a},u.lng=u.lng||n.lng,u.lngs=u.lngs||n.lngs,u.ns=u.ns||n.ns,u.keyPrefix!==""&&(u.keyPrefix=u.keyPrefix||s||n.keyPrefix);const l=this.options.keySeparator||".";let c;return u.keyPrefix&&Array.isArray(i)?c=i.map(f=>`${u.keyPrefix}${l}${f}`):c=u.keyPrefix?`${u.keyPrefix}${l}${i}`:i,this.t(c,u)};return x(e)?n.lng=e:n.lngs=e,n.ns=t,n.keyPrefix=s,n}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;const s=t.lng||this.resolvedLanguage||this.languages[0],n=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;const a=(o,u)=>{const l=this.services.backendConnector.state[`${o}|${u}`];return l===-1||l===0||l===2};if(t.precheck){const o=t.precheck(this,a);if(o!==void 0)return o}return!!(this.hasResourceBundle(s,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(s,e)&&(!n||a(i,e)))}loadNamespaces(e,t){const s=_();return this.options.ns?(x(e)&&(e=[e]),e.forEach(n=>{this.options.ns.indexOf(n)<0&&this.options.ns.push(n)}),this.loadResources(n=>{s.resolve(),t&&t(n)}),s):(t&&t(),Promise.resolve())}loadLanguages(e,t){const s=_();x(e)&&(e=[e]);const n=this.options.preload||[],i=e.filter(a=>n.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return i.length?(this.options.preload=n.concat(i),this.loadResources(a=>{s.resolve(),t&&t(a)}),s):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";const 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"],s=this.services?.languageUtils||new ve(Ee());return t.indexOf(s.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new Q(e,t)}cloneInstance(e={},t=Z){const s=e.forkResourceStore;s&&delete e.forkResourceStore;const n={...this.options,...e,isClone:!0},i=new Q(n);if((e.debug!==void 0||e.prefix!==void 0)&&(i.logger=i.logger.clone(e)),["store","services","language"].forEach(o=>{i[o]=this[o]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},s){const o=Object.keys(this.store.data).reduce((u,l)=>(u[l]={...this.store.data[l]},u[l]=Object.keys(u[l]).reduce((c,f)=>(c[f]={...u[l][f]},c),u[l]),u),{});i.store=new be(o,n),i.services.resourceStore=i.store}return i.translator=new se(i.services,n),i.translator.on("*",(o,...u)=>{i.emit(o,...u)}),i.init(n,t),i.translator.options=n,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const R=Q.createInstance();R.createInstance=Q.createInstance;R.createInstance;R.dir;R.init;R.loadResources;R.reloadResources;R.use;R.changeLanguage;R.getFixedT;R.t;R.exists;R.setDefaultNamespace;R.hasLoadedNamespace;R.loadNamespaces;R.loadLanguages;export{Tt as T,kt as a,R as i,jt as u};
//# sourceMappingURL=i18n-vendor-Cl4-lKeC.js.map