import{S as e,_ as t,n,r,v as i}from"./index-qRw36dTs.js";const a=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);f(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)};var o={};const s=(e,t,n,r)=>{f(n)&&o[n]||(f(n)&&(o[n]=new Date),a(e,t,n,r))};var c=(e,t)=>()=>{if(e.isInitialized)t();else{let n=()=>{setTimeout(()=>{e.off(`initialized`,n)},0),t()};e.on(`initialized`,n)}};const l=(e,t,n)=>{e.loadNamespaces(t,c(e,n))},u=(e,t,n,r)=>{if(f(n)&&(n=[n]),e.options.preload&&e.options.preload.indexOf(t)>-1)return l(e,n,r);n.forEach(t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,c(e,r))},d=(e,t,n={})=>!t.languages||!t.languages.length?(s(t,`NO_LANGUAGES`,`i18n.languages were undefined or empty`,{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf(`languageChanging`)>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}),f=e=>typeof e==`string`,p=e=>typeof e==`object`&&!!e;var m=e(t());const h=(0,m.createContext)();var g=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},_=i((e=>{var n=t();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useState,o=n.useEffect,s=n.useLayoutEffect,c=n.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=n.useSyncExternalStore===void 0?f:n.useSyncExternalStore})),v=e(i(((e,t)=>{t.exports=_()}))()),y={t:(e,t)=>f(t)?t:p(t)&&f(t.defaultValue)?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,ready:!1},b=()=>()=>{};const x=(e,t={})=>{let{i18n:i}=t,{i18n:a,defaultNS:o}=(0,m.useContext)(h)||{},c=i||a||n();c&&!c.reportNamespaces&&(c.reportNamespaces=new g),c||s(c,`NO_I18NEXT_INSTANCE`,`useTranslation: You will need to pass in an i18next instance by using initReactI18next`);let p=(0,m.useMemo)(()=>({...r(),...c?.options?.react,...t}),[c,t]),{useSuspense:_,keyPrefix:x}=p,S=e||o||c?.options?.defaultNS,C=f(S)?[S]:S||[`translation`],w=(0,m.useMemo)(()=>C,C);c?.reportNamespaces?.addUsedNamespaces?.(w);let T=(0,m.useRef)(0),E=(0,m.useCallback)(e=>{if(!c)return b;let{bindI18n:t,bindI18nStore:n}=p,r=()=>{T.current+=1,e()};return t&&c.on(t,r),n&&c.store.on(n,r),()=>{t&&t.split(` `).forEach(e=>c.off(e,r)),n&&n.split(` `).forEach(e=>c.store.off(e,r))}},[c,p]),D=(0,m.useRef)(),O=(0,m.useCallback)(()=>{if(!c)return y;let e=!!(c.isInitialized||c.initializedStoreOnce)&&w.every(e=>d(e,c,p)),n=t.lng||c.language,r=T.current,i=D.current;if(i&&i.ready===e&&i.lng===n&&i.keyPrefix===x&&i.revision===r)return i;let a={t:c.getFixedT(n,p.nsMode===`fallback`?w:w[0],x),ready:e,lng:n,keyPrefix:x,revision:r};return D.current=a,a},[c,w,x,p,t.lng]),[k,A]=(0,m.useState)(0),{t:j,ready:M}=(0,v.useSyncExternalStore)(E,O,O);(0,m.useEffect)(()=>{if(c&&!M&&!_){let e=()=>A(e=>e+1);t.lng?u(c,t.lng,w,e):l(c,w,e)}},[c,t.lng,w,M,_,k]);let N=c||{},P=(0,m.useRef)(null),F=(0,m.useRef)(),I=e=>{let t=Object.getOwnPropertyDescriptors(e);t.__original&&delete t.__original;let n=Object.create(Object.getPrototypeOf(e),t);if(!Object.prototype.hasOwnProperty.call(n,`__original`))try{Object.defineProperty(n,`__original`,{value:e,writable:!1,enumerable:!1,configurable:!1})}catch{}return n},L=(0,m.useMemo)(()=>{let e=N,t=e?.language,n=e;e&&(P.current&&P.current.__original===e&&F.current===t?n=P.current:(n=I(e),P.current=n,F.current=t));let r=[j,n,M];return r.t=j,r.i18n=n,r.ready=M,r},[j,N,M,N.resolvedLanguage,N.language,N.languages]);if(c&&_&&!M)throw new Promise(e=>{let n=()=>e();t.lng?u(c,t.lng,w,n):l(c,w,n)});return L};export{x as t};