1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chat-page-evUfHQgD.js","assets/chartjs-vendor-CJ58C3gX.js","assets/rolldown-runtime-ChpBd9eV.js","assets/chat-page-BXqTKTIP.css","assets/education-page-vD6yUpCZ.js","assets/community-page-CrngAMw5.js","assets/community-page-zj3fMWjX.css","assets/dashboard-page-CleTLBe1.js","assets/TradeLogger-DssKv1_B.js","assets/market-core-DitXLvJ-.js","assets/firebase-messaging-DppWBMgs.js","assets/firebase-core-C5QAqJW8.js","assets/markdown-vendor-kC-Y2lDD.js","assets/market-core-15RKgApK.css","assets/index-Bmdbwk2t.js","assets/icons-vendor-Td9zWZcy.js","assets/query-vendor-CO0MAT2b.js","assets/motion-vendor-D6UmbGXS.js","assets/react-icons-vendor-BRFUBoNn.js","assets/trading-charts-lGr1u8E1.js","assets/react-vendor-CQkKcmd6.js","assets/news-page-DagW7rtr.js","assets/lwcharts-vendor-C-uNSiLH.js","assets/news-page-DgF3EPhA.css","assets/index-Bd9q4Xg_.css","assets/EquityCurve-Dnz2u1jN.js","assets/recharts-vendor-CVfFyqZ4.js","assets/lodash-vendor-CQ1T4J8E.js","assets/RuleSuggestion-CZLVrvQo.js","assets/TradeLogger-Dixi-wDS.css","assets/TradeAnalytics-BhuadqLk.js","assets/EmptyStateCard-DQoZwMw_.js","assets/UserProfile-BFOE_bgG.js","assets/BrokerConnectionPanel-6zNYClJf.js","assets/esm-CEASdP_o.js","assets/ApiKeyManager-yW92SfUs.js","assets/FeedbackPage-BAa3lazE.js","assets/AdminPanel-BGcfmGDg.js","assets/ClassRsvpsPanel-Bt_hXz54.js","assets/PricingPage-IklOCXBQ.js","assets/ForPropFirms-BqmpH2A4.js","assets/SolutionPageShell-BeOJYl7J.js","assets/WaveBackground-DcZ5iAEA.js","assets/ForCoaches-BOfUGmTu.js","assets/TradingPage-yT8D2vgC.js"])))=>i.map(i=>d[i]); 2import{o as at,r as He}from"./rolldown-runtime-ChpBd9eV.js";import{Fa as y,La as it,ca as rt,xr as se}from"./chat-page-evUfHQgD.js";import{hu as nt,mu as st,pu as ot}from"./market-core-DitXLvJ-.js";var I=at(it(),1),g=t=>typeof t=="string",W=()=>{let t,e;const a=new Promise((r,i)=>{t=r,e=i});return a.resolve=t,a.reject=e,a},Te=t=>t==null?"":""+t,lt=(t,e,a)=>{t.forEach(r=>{e[r]&&(a[r]=e[r])})},ct=/###/g,we=t=>t&&t.indexOf("###")>-1?t.replace(ct,"."):t,Ee=t=>!t||g(t),$=(t,e,a)=>{const r=g(e)?e.split("."):e;let i=0;for(;i<r.length-1;){if(Ee(t))return{};const n=we(r[i]);!t[n]&&a&&(t[n]=new a),Object.prototype.hasOwnProperty.call(t,n)?t=t[n]:t={},++i}return Ee(t)?{}:{obj:t,k:we(r[i])}},Ae=(t,e,a)=>{const{obj:r,k:i}=$(t,e,Object);if(r!==void 0||e.length===1){r[i]=a;return}let n=e[e.length-1],o=e.slice(0,e.length-1),s=$(t,o,Object);for(;s.obj===void 0&&o.length;)n=`${o[o.length-1]}.${n}`,o=o.slice(0,o.length-1),s=$(t,o,Object),s?.obj&&typeof s.obj[`${s.k}.${n}`]<"u"&&(s.obj=void 0);s.obj[`${s.k}.${n}`]=a},dt=(t,e,a,r)=>{const{obj:i,k:n}=$(t,e,Object);i[n]=i[n]||[],i[n].push(a)},X=(t,e)=>{const{obj:a,k:r}=$(t,e);if(a&&Object.prototype.hasOwnProperty.call(a,r))return a[r]},ut=(t,e,a)=>{const r=X(t,a);return r!==void 0?r:X(e,a)},We=(t,e,a)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in t?g(t[r])||t[r]instanceof String||g(e[r])||e[r]instanceof String?a&&(t[r]=e[r]):We(t[r],e[r],a):t[r]=e[r]);return t},z=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),pt={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},gt=t=>g(t)?t.replace(/[&<>"'\/]/g,e=>pt[e]):t,ht=class{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const e=this.regExpMap.get(t);if(e!==void 0)return e;const a=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,a),this.regExpQueue.push(t),a}},ft=[" ",",","?","!",";"],mt=new ht(20),yt=(t,e,a)=>{e=e||"",a=a||"";const r=ft.filter(o=>e.indexOf(o)<0&&a.indexOf(o)<0);if(r.length===0)return!0;const i=mt.getRegExp(`(${r.map(o=>o==="?"?"\\?":o).join("|")})`);let n=!i.test(t);if(!n){const o=t.indexOf(a);o>0&&!i.test(t.substring(0,o))&&(n=!0)}return n},fe=(t,e,a=".")=>{if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const r=e.split(a);let i=t;for(let n=0;n<r.length;){if(!i||typeof i!="object")return;let o,s="";for(let c=n;c<r.length;++c)if(c!==n&&(s+=a),s+=r[c],o=i[s],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&c<r.length-1)continue;n+=c-n+1;break}i=o}return i},q=t=>t?.replace(/_/g,"-"),bt={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){console?.[t]?.apply?.(console,e)}},vt=class me{constructor(e,a={}){this.init(e,a)}init(e,a={}){this.prefix=a.prefix||"i18next:",this.logger=e||bt,this.options=a,this.debug=a.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,a,r,i){return i&&!this.debug?null:(g(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[a](e))}create(e){return new me(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new me(this.logger,e)}},O=new vt,ie=class{constructor(){this.observers={}}on(t,e){return t.split(" ").forEach(a=>{this.observers[a]||(this.observers[a]=new Map);const r=this.observers[a].get(e)||0;this.observers[a].set(e,r+1)}),this}off(t,e){if(this.observers[t]){if(!e){delete this.observers[t];return}this.observers[t].delete(e)}}emit(t,...e){this.observers[t]&&Array.from(this.observers[t].entries()).forEac
2h(([a,r])=>{for(let i=0;i<r;i++)a(...e)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([a,r])=>{for(let i=0;i<r;i++)a.apply(a,[t,...e])})}},Re=class extends ie{constructor(t,e={ns:["translation"],defaultNS:"translation"}){super(),this.data=t||{},this.options=e,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const e=this.options.ns.indexOf(t);e>-1&&this.options.ns.splice(e,1)}getResource(t,e,a,r={}){const i=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,n=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;t.indexOf(".")>-1?o=t.split("."):(o=[t,e],a&&(Array.isArray(a)?o.push(...a):g(a)&&i?o.push(...a.split(i)):o.push(a)));const s=X(this.data,o);return!s&&!e&&!a&&t.indexOf(".")>-1&&(t=o[0],e=o[1],a=o.slice(2).join(".")),s||!n||!g(a)?s:fe(this.data?.[t]?.[e],a,i)}addResource(t,e,a,r,i={silent:!1}){const n=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let o=[t,e];a&&(o=o.concat(n?a.split(n):a)),t.indexOf(".")>-1&&(o=t.split("."),r=e,e=o[1]),this.addNamespaces(e),Ae(this.data,o,r),i.silent||this.emit("added",t,e,a,r)}addResources(t,e,a,r={silent:!1}){for(const i in a)(g(a[i])||Array.isArray(a[i]))&&this.addResource(t,e,i,a[i],{silent:!0});r.silent||this.emit("added",t,e,a)}addResourceBundle(t,e,a,r,i,n={silent:!1,skipCopy:!1}){let o=[t,e];t.indexOf(".")>-1&&(o=t.split("."),r=a,a=e,e=o[1]),this.addNamespaces(e);let s=X(this.data,o)||{};n.skipCopy||(a=JSON.parse(JSON.stringify(a))),r?We(s,a,i):s={...s,...a},Ae(this.data,o,s),n.silent||this.emit("added",t,e,a)}removeResourceBundle(t,e){this.hasResourceBundle(t,e)&&delete this.data[t][e],this.removeNamespaces(e),this.emit("removed",t,e)}hasResourceBundle(t,e){return this.getResource(t,e)!==void 0}getResourceBundle(t,e){return e||(e=this.options.defaultNS),this.getResource(t,e)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const e=this.getDataByLanguage(t);return!!(e&&Object.keys(e)||[]).find(a=>e[a]&&Object.keys(e[a]).length>0)}toJSON(){return this.data}},Ke={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,a,r,i){return t.forEach(n=>{e=this.processors[n]?.process(e,a,r,i)??e}),e}},$e=Symbol("i18next/PATH_KEY");function kt(){const t=[],e=Object.create(null);let a;return e.get=(r,i)=>(a?.revoke?.(),i===$e?t:(t.push(i),a=Proxy.revocable(r,e),a.proxy)),Proxy.revocable(Object.create(null),e).proxy}function G(t,e){const{[$e]:a}=t(kt()),r=e?.keySeparator??".",i=e?.nsSeparator??":";if(a.length>1&&i){const n=e?.ns,o=Array.isArray(n)?n:null;if(o&&o.length>1&&o.slice(1).includes(a[0]))return`${a[0]}${i}${a.slice(1).join(r)}`}return a.join(r)}var Le={},oe=t=>!g(t)&&typeof t!="boolean"&&typeof t!="number",xe=class qe extends ie{constructor(e,a={}){super(),lt(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","
2i18nFormat","utils"],e,this),this.options=a,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=O.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,a={interpolation:{}}){const r={...a};if(e==null)return!1;const i=this.resolve(e,r);if(i?.res===void 0)return!1;const n=oe(i.res);return!(r.returnObjects===!1&&n)}extractFromKey(e,a){let r=a.nsSeparator!==void 0?a.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator;let n=a.ns||this.options.defaultNS||[];const o=r&&e.indexOf(r)>-1,s=!this.options.userDefinedKeySeparator&&!a.keySeparator&&!this.options.userDefinedNsSeparator&&!a.nsSeparator&&!yt(e,r,i);if(o&&!s){const c=e.match(this.interpolator.nestingRegexp);if(c&&c.length>0)return{key:e,namespaces:g(n)?[n]:n};const l=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(l[0])>-1)&&(n=l.shift()),e=l.join(i)}return{key:e,namespaces:g(n)?[n]:n}}translate(e,a,r){let i=typeof a=="object"?{...a}:a;if(typeof i!="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i=="object"&&(i={...i}),i||(i={}),e==null)return"";typeof e=="function"&&(e=G(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]),e=e.map(E=>typeof E=="function"?G(E,{...this.options,...i}):String(E));const n=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:s,namespaces:c}=this.extractFromKey(e[e.length-1],i),l=c[c.length-1];let u=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;u===void 0&&(u=":");const d=i.lng||this.language,h=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()==="cimode")return h?n?{res:`${l}${u}${s}`,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:`${l}${u}${s}`:n?{res:s,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:s;const f=this.resolve(e,i);let p=f?.res;const v=f?.usedKey||s,m=f?.exactUsedKey||s,k=["[object Number]","[object Function]","[object RegExp]"],P=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,D=!this.i18nFormat||this.i18nFormat.handleAsObject,w=i.count!==void 0&&!g(i.count),F=qe.hasDefaultValue(i),B=w?this.pluralResolver.getSuffix(d,i.count,i):"",U=i.ordinal&&w?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):"",ke=w&&!i.ordinal&&i.count===0,M=ke&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${B}`]||i[`defaultValue${U}`]||i.defaultValue;let _=p;D&&!p&&F&&(_=M);const et=oe(_),tt=Object.prototype.toString.apply(_);if(D&&_&&et&&k.indexOf(tt)<0&&!(g(P)&&Array.isArray(_))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const E=this.options.returnedObjectHandler?this.options.returnedObjectHandler(v,_,{...i,ns:c}):`key '${s} (${this.language})' returned an object instead of string.`;return n?(f.res=E,f.usedParams=this.getUsedParamsDetails(i),f):E}if(o){const E=Array.isArray(_),C=E?[]:{},ne=E?m:v;for(const A in _)if(Object.prototype.hasOwnProperty.call(_,A)){const N=`${ne}${o}${A}`;F&&!p?C[A]=this.translate(N,{...i,defaultValue:oe(M)?M[A]:void 0,joinArrays:!1,ns:c}):C[A]=this.translate(N,{...i,joinArrays:!1,ns:c}),C[A]===N&&(C[A]=_[A])}p=C}}else if(D&&g(P)&&Array.isArray(p))p=p.join(P),p&&(p=this.extendTranslation(p,e,i,r));else{let E=!1,C=!1;!this.isValidLookup(p)&&F&&(E=!0,p=M),this.isValidLookup(p)||(C=!0,p=s);const ne=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&C?void 0:p,A=F&&M!==p&&this.options.updateMissing;if(C||E||A){if(this.logger.log(A?"updateKey":"missingKey",d,l,s,A?M:p),o){const R=this.resolve(s,{...i,keySeparator:!1});R&&R.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 N=[];const Y=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Y&&Y[0])for(let R=0;R<Y.length;R++)N.push(Y[R]);else this.options.saveMissingTo==="all"?N=this.languageUtils.toResolveHierarchy(i.lng||this.language):N.push(i.lng||this.language);const Pe=(R,V,H)=>{const Se=F&&H!==p?H:ne;this.options.missingKeyHandler?this.options.missingKeyHandler(R,l,V,Se,A,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(R,l,V,Se,A,i),this.emit
2("missingKey",R,l,V,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&w?N.forEach(R=>{const V=this.pluralResolver.getSuffixes(R,i);ke&&i[`defaultValue${this.options.pluralSeparator}zero`]&&V.indexOf(`${this.options.pluralSeparator}zero`)<0&&V.push(`${this.options.pluralSeparator}zero`),V.forEach(H=>{Pe([R],s+H,i[`defaultValue${H}`]||M)})}):Pe(N,s,M))}p=this.extendTranslation(p,e,i,f,r),C&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${l}${u}${s}`),(C||E)&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${s}`:s,E?p:void 0,i))}return n?(f.res=p,f.usedParams=this.getUsedParamsDetails(i),f):p}extendTranslation(e,a,r,i,n){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const c=g(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(c){const d=e.match(this.interpolator.nestingRegexp);l=d&&d.length}let u=r.replace&&!g(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(u={...this.options.interpolation.defaultVariables,...u}),e=this.interpolator.interpolate(e,u,r.lng||this.language||i.usedLng,r),c){const d=e.match(this.interpolator.nestingRegexp),h=d&&d.length;l<h&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...d)=>n?.[0]===d[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${d[0]} in key: ${a[0]}`),null):this.translate(...d,a),r)),r.interpolation&&this.interpolator.reset()}const o=r.postProcess||this.options.postProcess,s=g(o)?[o]:o;return e!=null&&s?.length&&r.applyPostProcessor!==!1&&(e=Ke.handle(s,e,a,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,a={}){let r,i,n,o,s;return g(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(c=>typeof c=="function"?G(c,{...this.options,...a}):c)),e.forEach(c=>{if(this.isValidLookup(r))return;const l=this.extractFromKey(c,a),u=l.key;i=u;let d=l.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const h=a.count!==void 0&&!g(a.count),f=h&&!a.ordinal&&a.count===0,p=a.context!==void 0&&(g(a.context)||typeof a.context=="number")&&a.context!=="",v=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);d.forEach(m=>{this.isValidLookup(r)||(s=m,!Le[`${v[0]}-${m}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(s)&&(Le[`${v[0]}-${m}`]=!0,this.logger.warn(`key "${i}" for languages "${v.join(", ")}" won't get resolved as namespace "${s}" 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!!!")),v.forEach(k=>{if(this.isValidLookup(r))return;o=k;const P=[u];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(P,u,k,m,a);else{let w;h&&(w=this.pluralResolver.getSuffix(k,a.count,a));const F=`${this.options.pluralSeparator}zero`,B=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(a.ordinal&&w.indexOf(B)===0&&P.push(u+w.replace(B,this.options.pluralSeparator)),P.push(u+w),f&&P.push(u+F)),p){const U=`${u}${this.options.contextSeparator||"_"}${a.context}`;P.push(U),h&&(a.ordinal&&w.indexOf(B)===0&&P.push(U+w.replace(B,this.options.pluralSeparator)),P.push(U+w),f&&P.push(U+F))}}let D;for(;D=P.pop();)this.isValidLookup(r)||(n=D,r=this.getResource(k,m,D,a))}))})}),{res:r,usedKey:i,exactUsedKey:n,usedLng:o,usedNS:s}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,a,r,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,a,r,i):this.resourceStore.getResource(e,a,r,i)}
2getUsedParamsDetails(e={}){const a=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!g(e.replace);let i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const n of a)delete i[n]}return i}static hasDefaultValue(e){const a="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&a===r.substring(0,12)&&e[r]!==void 0)return!0;return!1}},Ce=class{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=O.create("languageUtils")}getScriptPartFromCode(t){if(t=q(t),!t||t.indexOf("-")<0)return null;const e=t.split("-");return e.length===2||(e.pop(),e[e.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(e.join("-"))}getLanguagePartFromCode(t){if(t=q(t),!t||t.indexOf("-")<0)return t;const e=t.split("-");return this.formatLanguageCode(e[0])}formatLanguageCode(t){if(g(t)&&t.indexOf("-")>-1){let e;try{e=Intl.getCanonicalLocales(t)[0]}catch{}return e&&this.options.lowerCaseLng&&(e=e.toLowerCase()),e||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let e;return t.forEach(a=>{if(e)return;const r=this.formatLanguageCode(a);(!this.options.supportedLngs||this.isSupportedCode(r))&&(e=r)}),!e&&this.options.supportedLngs&&t.forEach(a=>{if(e)return;const r=this.getScriptPartFromCode(a);if(this.isSupportedCode(r))return e=r;const i=this.getLanguagePartFromCode(a);if(this.isSupportedCode(i))return e=i;e=this.options.supportedLngs.find(n=>{if(n===i)return n;if(!(n.indexOf("-")<0&&i.indexOf("-")<0)&&(n.indexOf("-")>0&&i.indexOf("-")<0&&n.substring(0,n.indexOf("-"))===i||n.indexOf(i)===0&&i.length>1))return n})}),e||(e=this.getFallbackCodes(this.options.fallbackLng)[0]),e}getFallbackCodes(t,e){if(!t)return[];if(typeof t=="function"&&(t=t(e)),g(t)&&(t=[t]),Array.isArray(t))return t;if(!e)return t.default||[];let a=t[e];return a||(a=t[this.getScriptPartFromCode(e)]),a||(a=t[this.formatLanguageCode(e)]),a||(a=t[this.getLanguagePartFromCode(e)]),a||(a=t.default),a||[]}toResolveHierarchy(t,e){const a=this.getFallbackCodes((e===!1?[]:e)||this.options.fallbackLng||[],t),r=[],i=n=>{n&&(this.isSupportedCode(n)?r.push(n):this.logger.warn(`rejecting language code not found in supportedLngs: ${n}`))};return g(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&i(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&i(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&i(this.getLanguagePartFromCode(t))):g(t)&&i(this.formatLanguageCode(t)),a.forEach(n=>{r.indexOf(n)<0&&i(this.formatLanguageCode(n))}),r}},Ie={zero:0,one:1,two:2,few:3,many:4,other:5},_e={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})},Pt=class{constructor(t,e={}){this.languageUtils=t,this.options=e,this.logger=O.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(t,e={}){const a=q(t==="dev"?"en":t),r=e.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:a,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let n;try{n=new Intl.PluralRules(a,{type:r})}catch{if(typeof Intl>"u")return this.logger.error("No Intl support, please use an Intl polyfill!"),_e;if(!t.match(/-|_/))return _e;const s=this.languageUtils.getLanguagePartFromCode(t);n=this.getRule(s,e)}return this.pluralRulesCache[i]=n,n}needsPlural(t,e={}){let a=this.getRule(t,e);return a||(a=this.getRule("dev",e)),a?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(t,e,a={}
2){return this.getSuffixes(t,a).map(r=>`${e}${r}`)}getSuffixes(t,e={}){let a=this.getRule(t,e);return a||(a=this.getRule("dev",e)),a?a.resolvedOptions().pluralCategories.sort((r,i)=>Ie[r]-Ie[i]).map(r=>`${this.options.prepend}${e.ordinal?`ordinal${this.options.prepend}`:""}${r}`):[]}getSuffix(t,e,a={}){const r=this.getRule(t,a);return r?`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${r.select(e)}`:(this.logger.warn(`no plural rule found for: ${t}`),this.getSuffix("dev",e,a))}},Oe=(t,e,a,r=".",i=!0)=>{let n=ut(t,e,a);return!n&&i&&g(a)&&(n=fe(t,a,r),n===void 0&&(n=fe(e,a,r))),n},le=t=>t.replace(/\$/g,"$$$$"),De=class{constructor(t={}){this.logger=O.create("interpolator"),this.options=t,this.format=t?.interpolation?.format||(e=>e),this.init(t)}init(t={}){t.interpolation||(t.interpolation={escapeValue:!0});const{escape:e,escapeValue:a,useRawValueToEscape:r,prefix:i,prefixEscaped:n,suffix:o,suffixEscaped:s,formatSeparator:c,unescapeSuffix:l,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:h,nestingSuffix:f,nestingSuffixEscaped:p,nestingOptionsSeparator:v,maxReplaces:m,alwaysFormat:k}=t.interpolation;this.escape=e!==void 0?e:gt,this.escapeValue=a!==void 0?a:!0,this.useRawValueToEscape=r!==void 0?r:!1,this.prefix=i?z(i):n||"{{",this.suffix=o?z(o):s||"}}",this.formatSeparator=c||",",this.unescapePrefix=l?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":l||"",this.nestingPrefix=d?z(d):h||z("$t("),this.nestingSuffix=f?z(f):p||z(")"),this.nestingOptionsSeparator=v||",",this.maxReplaces=m||1e3,this.alwaysFormat=k!==void 0?k:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(e,a)=>e?.source===a?(e.lastIndex=0,e):new RegExp(a,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(t,e,a,r){let i,n,o;const s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=d=>{if(d.indexOf(this.formatSeparator)<0){const v=Oe(e,s,d,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(v,void 0,a,{...r,...e,interpolationkey:d}):v}const h=d.split(this.formatSeparator),f=h.shift().trim(),p=h.join(this.formatSeparator).trim();return this.format(Oe(e,s,f,this.options.keySeparator,this.options.ignoreJSONStructure),p,a,{...r,...e,interpolationkey:f})};this.resetRegExp();const l=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:d=>le(d)},{regex:this.regexp,safeValue:d=>this.escapeValue?le(this.escape(d)):le(d)}].forEach(d=>{for(o=0;i=d.regex.exec(t);){const h=i[1].trim();if(n=c(h),n===void 0)if(typeof l=="function"){const p=l(t,i,r);n=g(p)?p:""}else if(r&&Object.prototype.hasOwnProperty.call(r,h))n="";else if(u){n=i[0];continue}else this.logger.warn(`missed to pass in variable ${h} for interpolating ${t}`),n="";else!g(n)&&!this.useRawValueToEscape&&(n=Te(n));const f=d.safeValue(n);if(t=t.replace(i[0],f),u?(d.regex.lastIndex+=n.length,d.regex.lastIndex-=i[0].length):d.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),t}nest(t,e,a={}){let r,i,n;const o=(s,c)=>{const l=this.nestingOptionsSeparator;if(s.indexOf(l)<0)return s;const u=s.split(new RegExp(`${z(l)}[ ]*{`));let d=`{${u[1]}`;s=u[0],d=this.interpolate(d,n);const h=d.match(/'/g),f=d.match(/"/g);((h?.length??0)%2===0&&!f||(f?.length??0)%2!==0)&&(d=d.replace(/'/g,'"'));try{n=JSON.parse(d),c&&(n={...c,...n})}catch(p){return this.logger.warn(`failed parsing options string in nesting for key ${s}`,p),`${s}${l}${d}`}return n.defaultValue&&n.defaultValue.indexOf(this.prefix)>-1&&delete n.defaultValue,s};for(;r=this.nestingRegexp.exec(t);){let s=[];n={...a},n=n.replace&&!g(n.replace)?n.replace:n,n.applyPostProcessor=!1,delete n.defaultValue;const 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(l=>
2l.trim()).filter(Boolean),r[1]=r[1].slice(0,c)),i=e(o.call(this,r[1].trim(),n),n),i&&r[0]===t&&!g(i))return i;g(i)||(i=Te(i)),i||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${t}`),i=""),s.length&&(i=s.reduce((l,u)=>this.format(l,u,a.lng,{...a,interpolationkey:r[1].trim()}),i.trim())),t=t.replace(r[0],i),this.regexp.lastIndex=0}return t}},St=t=>{let e=t.toLowerCase().trim();const a={};if(t.indexOf("(")>-1){const r=t.split("(");e=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?a.currency||(a.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?a.range||(a.range=i.trim()):i.split(";").forEach(n=>{if(n){const[o,...s]=n.split(":"),c=s.join(":").trim().replace(/^'+|'+$/g,""),l=o.trim();a[l]||(a[l]=c),c==="false"&&(a[l]=!1),c==="true"&&(a[l]=!0),isNaN(c)||(a[l]=parseInt(c,10))}})}return{formatName:e,formatOptions:a}},Ne=t=>{const e={};return(a,r,i)=>{let n=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(n={...n,[i.interpolationkey]:void 0});const o=r+JSON.stringify(n);let s=e[o];return s||(s=t(q(r),i),e[o]=s),s(a)}},Tt=t=>(e,a,r)=>t(q(a),r)(e),wt=class{constructor(t={}){this.logger=O.create("formatter"),this.options=t,this.init(t)}init(t,e={interpolation:{}}){this.formatSeparator=e.interpolation.formatSeparator||",";const a=e.cacheInBuiltFormats?Ne:Tt;this.formats={number:a((r,i)=>{const n=new Intl.NumberFormat(r,{...i});return o=>n.format(o)}),currency:a((r,i)=>{const n=new Intl.NumberFormat(r,{...i,style:"currency"});return o=>n.format(o)}),datetime:a((r,i)=>{const n=new Intl.DateTimeFormat(r,{...i});return o=>n.format(o)}),relativetime:a((r,i)=>{const n=new Intl.RelativeTimeFormat(r,{...i});return o=>n.format(o,i.range||"day")}),list:a((r,i)=>{const n=new Intl.ListFormat(r,{...i});return o=>n.format(o)})}}add(t,e){this.formats[t.toLowerCase().trim()]=e}addCached(t,e){this.formats[t.toLowerCase().trim()]=Ne(e)}format(t,e,a,r={}){const i=e.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&i[0].indexOf(")")<0&&i.find(n=>n.indexOf(")")>-1)){const n=i.findIndex(o=>o.indexOf(")")>-1);i[0]=[i[0],...i.splice(1,n)].join(this.formatSeparator)}return i.reduce((n,o)=>{const{formatName:s,formatOptions:c}=St(o);if(this.formats[s]){let l=n;try{const u=r?.formatParams?.[r.interpolationkey]||{},d=u.locale||u.lng||r.locale||r.lng||a;l=this.formats[s](n,d,{...c,...r,...u})}catch(u){this.logger.warn(u)}return l}else this.logger.warn(`there was no format function for ${s}`);return n},t)}},Et=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)},At=class extends ie{constructor(t,e,a,r={}){super(),this.backend=t,this.store=e,this.services=a,this.languageUtils=a.languageUtils,this.options=r,this.logger=O.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?.(a,r.backend,r)}queueLoad(t,e,a,r){const i={},n={},o={},s={};return t.forEach(c=>{let l=!0;e.forEach(u=>{const d=`${c}|${u}`;!a.reload&&this.store.hasResourceBundle(c,u)?this.state[d]=2:this.state[d]<0||(this.state[d]===1?n[d]===void 0&&(n[d]=!0):(this.state[d]=1,l=!1,n[d]===void 0&&(n[d]=!0),i[d]===void 0&&(i[d]=!0),s[u]===void 0&&(s[u]=!0)))}),l||(o[c]=!0)}),(Object.keys(i).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(n),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(t,e,a){const r=t.split("|"),i=r[0],n=r[1];e&&this.emit("failedLoading",i,n,e),!e&&a&&this.store.addResourceBundle(i,n,a,void 0,void 0,{skipCopy:!0}),this.state[t]=e?-1:2,e&&a&&(this.state[t]=0);const o={};this.queue.forEach(s=>{dt(s.loaded,[i],n),Et(s,t),e&&s.errors.push(e),s.pendingCount===0&&!s.done&&(Object.keys(s.loaded).forEach(c=>{o[c]||(o[c]={});const l=s.loaded[c];l.length&&l.forEach(u=>{o[c][u]===void 0&&(o[c][u]=!0)})}),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())}
2),this.emit("loaded",o),this.queue=this.queue.filter(s=>!s.done)}read(t,e,a,r=0,i=this.retryTimeout,n){if(!t.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:e,fcName:a,tried:r,wait:i,callback:n});return}this.readingCalls++;const o=(c,l)=>{if(this.readingCalls--,this.waitingReads.length>0){const u=this.waitingReads.shift();this.read(u.lng,u.ns,u.fcName,u.tried,u.wait,u.callback)}if(c&&l&&r<this.maxRetries){setTimeout(()=>{this.read.call(this,t,e,a,r+1,i*2,n)},i);return}n(c,l)},s=this.backend[a].bind(this.backend);if(s.length===2){try{const c=s(t,e);c&&typeof c.then=="function"?c.then(l=>o(null,l)).catch(o):o(null,c)}catch(c){o(c)}return}return s(t,e,o)}prepareLoading(t,e,a={},r){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();g(t)&&(t=this.languageUtils.toResolveHierarchy(t)),g(e)&&(e=[e]);const i=this.queueLoad(t,e,a,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(n=>{this.loadOne(n)})}load(t,e,a){this.prepareLoading(t,e,{},a)}reload(t,e,a){this.prepareLoading(t,e,{reload:!0},a)}loadOne(t,e=""){const a=t.split("|"),r=a[0],i=a[1];this.read(r,i,"read",void 0,void 0,(n,o)=>{n&&this.logger.warn(`${e}loading namespace ${i} for language ${r} failed`,n),!n&&o&&this.logger.log(`${e}loaded namespace ${i} for language ${r}`,o),this.loaded(t,n,o)})}saveMissing(t,e,a,r,i,n={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(e)){this.logger.warn(`did not save key "${a}" as the namespace "${e}" 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(!(a==null||a==="")){if(this.backend?.create){const s={...n,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let l;c.length===5?l=c(t,e,a,r,s):l=c(t,e,a,r),l&&typeof l.then=="function"?l.then(u=>o(null,u)).catch(o):o(null,l)}catch(l){o(l)}else c(t,e,a,r,o,s)}!t||!t[0]||this.store.addResource(t[0],e,a,r)}}},ce=()=>({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:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),g(t[1])&&(e.defaultValue=t[1]),g(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const a=t[3]||t[2];Object.keys(a).forEach(r=>{e[r]=a[r]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Fe=t=>(g(t.ns)&&(t.ns=[t.ns]),g(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),g(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs?.indexOf?.("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),typeof t.initImmediate=="boolean"&&(t.initAsync=t.initImmediate),t),J=()=>{},Rt=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(e=>{typeof t[e]=="function"&&(t[e]=t[e].bind(t))})},Ye="__i18next_supportNoticeShown",Lt=()=>!!(typeof globalThis<"u"&&globalThis[Ye]||typeof process<"u"&&{}.I18NEXT_NO_SUPPORT_NOTICE||typeof process<"u"),xt=()=>{typeof globalThis<"u"&&(globalThis[Ye]=!0)},Ct=t=>!!(t?.modules?.backend?.name?.indexOf("Locize")>0||t?.modules?.backend?.constructor?.name?.indexOf("Locize")>0||t?.options?.backend?.backends&&t.options.backend.backends.some(e=>e?.name?.indexOf("Locize")>0||e?.constructor?.name?.indexOf("Locize")>0)||t?.options?.backend?.projectId||t?.options?.backend?.backendOptions&&t.options.backend.backendOptions.some(e=>e?.projectId)),It=class Z extends ie{constructor(e={},a){if(super(),this.options=Fe(e),this.services={},this.logger=O,this.modules={external:[]},Rt(this),a&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,a),this;setTimeout(()=>{this.init(e,a)},0)}}init(e={},a){this.isInitializing=!0,typeof e=="function"&&(a=e,e={}),e.defaultNS==null&&e.ns&&(g(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const r=ce();this.options={...r,...this.options,...Fe(e)},this.options.interpolation={...r.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=r.overloadTranslationOptionHandler),this.options.showSupportNotice!==!1&&!Ct(this)&&!Lt()&&(typeof console<"u"&&typeof console.info<"u"&&console.info("ð
2 i18next is made possible by our own product, Locize â consider powering your project with managed localization (AI, CDN, integrations): https://locize.com ð"),xt());const i=s=>s?typeof s=="function"?new s:s:null;if(!this.options.isClone){this.modules.logger?O.init(i(this.modules.logger),this.options):O.init(null,this.options);let s;this.modules.formatter?s=this.modules.formatter:s=wt;const c=new Ce(this.options);this.store=new Re(this.options.resources,this.options);const l=this.services;l.logger=O,l.resourceStore=this.store,l.languageUtils=c,l.pluralResolver=new Pt(c,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.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"),s&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(l.formatter=i(s),l.formatter.init&&l.formatter.init(l,this.options),this.options.interpolation.format=l.formatter.format.bind(l.formatter)),l.interpolator=new De(this.options),l.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},l.backendConnector=new At(i(this.modules.backend),l.resourceStore,l,this.options),l.backendConnector.on("*",(u,...d)=>{this.emit(u,...d)}),this.modules.languageDetector&&(l.languageDetector=i(this.modules.languageDetector),l.languageDetector.init&&l.languageDetector.init(l,this.options.detection,this.options)),this.modules.i18nFormat&&(l.i18nFormat=i(this.modules.i18nFormat),l.i18nFormat.init&&l.i18nFormat.init(this)),this.translator=new xe(this.services,this.options),this.translator.on("*",(u,...d)=>{this.emit(u,...d)}),this.modules.external.forEach(u=>{u.init&&u.init(this)})}if(this.format=this.options.interpolation.format,a||(a=J),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const s=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);s.length>0&&s[0]!=="dev"&&(this.options.lng=s[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(s=>{this[s]=(...c)=>this.store[s](...c)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(s=>{this[s]=(...c)=>(this.store[s](...c),this)});const n=W(),o=()=>{const s=(c,l)=>{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),n.resolve(l),a(c,l)};if(this.languages&&!this.isInitialized)return s(null,this.t.bind(this));this.changeLanguage(this.options.lng,s)};return this.options.resources||!this.options.initAsync?o():setTimeout(o,0),n}loadResources(e,a=J){let r=a;const i=g(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(i?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const n=[],o=s=>{s&&s!=="cimode"&&this.services.languageUtils.toResolveHierarchy(s).forEach(c=>{c!=="cimode"&&n.indexOf(c)<0&&n.push(c)})};i?o(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(s=>o(s)),this.options.preload?.forEach?.(s=>o(s)),this.services.backendConnector.load(n,this.options.ns,s=>{!s&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(s)})}else r(null)}reloadResources(e,a,r){const i=W();return typeof e=="function"&&(r=e,e=void 0),typeof a=="function"&&(r=a,a=void 0),e||(e=this.languages),a||(a=this.options.ns),r||(r=J),this.services.backendConnector.reload(e,a,n=>{i.resolve(),r(n)}),i}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 a=0;a<this.languages.length;a++){const r=this.languages[a];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,a){this.isLanguageChangingTo=e;const r=W();
2this.emit("languageChanging",e);const i=s=>{this.language=s,this.languages=this.services.languageUtils.toResolveHierarchy(s),this.resolvedLanguage=void 0,this.setResolvedLanguage(s)},n=(s,c)=>{c?this.isLanguageChangingTo===e&&(i(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,r.resolve((...l)=>this.t(...l)),a&&a(s,(...l)=>this.t(...l))},o=s=>{!e&&!s&&this.services.languageDetector&&(s=[]);const c=g(s)?s:s&&s[0],l=this.store.hasLanguageSomeTranslations(c)?c:this.services.languageUtils.getBestMatchFromCodes(g(s)?[s]:s);l&&(this.language||i(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector?.cacheUserLanguage?.(l)),this.loadResources(l,u=>{n(u,l)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?o(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(e),r}getFixedT(e,a,r){const i=(n,o,...s)=>{let c;typeof o!="object"?c=this.options.overloadTranslationOptionHandler([n,o].concat(s)):c={...o},c.lng=c.lng||i.lng,c.lngs=c.lngs||i.lngs,c.ns=c.ns||i.ns,c.keyPrefix!==""&&(c.keyPrefix=c.keyPrefix||r||i.keyPrefix);const l={...this.options,...c};typeof c.keyPrefix=="function"&&(c.keyPrefix=G(c.keyPrefix,l));const u=this.options.keySeparator||".";let d;return c.keyPrefix&&Array.isArray(n)?d=n.map(h=>(typeof h=="function"&&(h=G(h,l)),`${c.keyPrefix}${u}${h}`)):(typeof n=="function"&&(n=G(n,l)),d=c.keyPrefix?`${c.keyPrefix}${u}${n}`:n),this.t(d,c)};return g(e)?i.lng=e:i.lngs=e,i.ns=a,i.keyPrefix=r,i}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,a={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;
2if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=a.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,n=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const o=(s,c)=>{const l=this.services.backendConnector.state[`${s}|${c}`];return l===-1||l===0||l===2};if(a.precheck){const s=a.precheck(this,o);if(s!==void 0)return s}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(r,e)&&(!i||o(n,e)))}loadNamespaces(e,a){const r=W();return this.options.ns?(g(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),a&&a(i)}),r):(a&&a(),Promise.resolve())}loadLanguages(e,a){const r=W();g(e)&&(e=[e]);const i=this.options.preload||[],n=e.filter(o=>i.indexOf(o)<0&&this.services.languageUtils.isSupportedCode(o));return n.length?(this.options.preload=i.concat(n),this.loadResources(o=>{r.resolve(),a&&a(o)}),r):(a&&a(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const i=new Intl.Locale(e);if(i&&i.getTextInfo){const n=i.getTextInfo();if(n&&n.direction)return n.direction}}catch{}const a=["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"],r=this.services?.languageUtils||new Ce(ce());return e.toLowerCase().indexOf("-latn")>1?"ltr":a.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},a){const r=new Z(e,a);return r.createInstance=Z.createInstance,r}cloneInstance(e={},a=J){const r=e.forkResourceStore;r&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},n=new Z(i);if((e.debug!==void 0||e.prefix!==void 0)&&(n.logger=n.logger.clone(e)),["store","services","language"].forEach(o=>{n[o]=this[o]}),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},r&&(n.store=new Re(Object.keys(this.store.data).reduce((o,s)=>(o[s]={...this.store.data[s]},o[s]=Object.keys(o[s]).reduce((c,l)=>(c[l]={...o[s][l]},c),o[s]),o),{}),i),n.services.resourceStore=n.store),e.interpolation){const o={...ce().interpolation,...this.options.interpolation,...e.interpolation},s={...i,interpolation:o};n.services.interpolator=new De(s)}return n.translator=new xe(n.services,i),n.translator.on("*",(o,...s)=>{n.emit(o,...s)}),n.init(i,a),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}},S=It.createInstance(),Pa=S.createInstance,Sa=S.dir,Ta=S.init,wa=S.loadResources,Ea=S.reloadResources,Aa=S.use,Ra=S.changeLanguage,La=S.getFixedT,xa=S.t,Ca=S.exists,Ia=S.setDefaultNamespace,_a=S.hasLoadedNamespace,Oa=S.loadNamespaces,Da=S.loadLanguages,Je=(()=>{try{return localStorage.getItem("appLanguage")||"en"}catch{return"en"}})(),_t={en:{translation:{nav:{home:"Home",today:"Today",ledger:"Ledger",anal
2ytics:"Analytics",agent:"Agent",agentStudio:"Agent Studio",strategyLab:"Strategy Lab",lab:"Lab",learn:"Learn",chat:"Chat",more:"More",notifications:"Notifications",tradingContext:"Trading Context",community:"Community",feedback:"Feedback",browseFirms:"Browse Firms",upgrade:"Upgrade"},common:{save:"Save",cancel:"Cancel",confirm:"Confirm",edit:"Edit",delete:"Delete",close:"Close",back:"Back",next:"Next",done:"Done",skip:"Skip",continue:"Continue",letsGo:"Let's go",loading:"Loadingâ¦",error:"Error",success:"Success",apply:"Apply",reset:"Reset",search:"Search",yes:"Yes",no:"No"},settings:{title:"Settings",subtitle:"Manage your trading preferences and account security",appearance:"Appearance",language:"Language",languageDesc:"Choose your preferred display language. Applied instantly â works on mobile and iOS app with no reload.",theme:"Theme",themePreference:"Production-Grade Theme System",themeDesc:"Our theme system is designed for professional traders with seamless transitions, accessibility compliance, and optimized performance for all UI elements including modals, charts, and text.",lightMode:"Light Mode",darkMode:"Dark Mode",notifications:"Notifications",account:"Account",applyLanguage:"Ap
2ply Language",resetToEnglish:"Reset to English",currentLanguage:"Current language",searchLanguage:"Search languageâ¦",changesAutosaved:"Changes are saved automatically",tabs:{appearance:"Appearance",riskRules:"Risk Rules",integrations:"Integrations",notifications:"Notifications",security:"Security",support:"Support",referral:"Referral"}},market:{open:"Open",closed:"Closed",premarket:"Pre-market",afterhours:"After-hours",weekend:"Weekend",regular:"Regular"},trading:{trade:"Trade",trades:"Trades",profit:"Profit",loss:"Loss",winRate:"Win Rate",pnl:"P&L",entry:"Entry",exit:"Exit",size:"Size",setup:"Setup",notes:"Notes"},today:{goodMorning:"Good Morning",goodAfternoon:"Good Afternoon",goodEvening:"Good Evening",todaysFocus:"Today's Focus",confirmFocus:"Confirm Focus",yesFocused:"Yes, I'm focused",noActiveIssues:"No active issues.",stayDisciplined:"Stay disciplined"},enforcement:{cooldown:"Cooldown",locked:"Locked",warn:"Warning",cooldownActive:"Cooldown Active",remaining:"remaining",tradingPaused:"Trading paused"},dashboard:{welcome:"Welcome, {{name}}",quickActions:"Quick Actions",loadingDashboard:"Loading dashboardâ¦",actions:{startSession:"Start Session",ledger:"Ledger",watchlist:"Watchlist",analytics:"Analytics",learn:"Learn",ideaHub:"Idea Hub",chat:"Chat",agent:"Agent"},stats:{todaysPnl:"Today's P&L",thisWeek:"This Week",totalPnl:"Total P&L",winRate:"Win Rate",profitFactor:"Profit Factor",winStreak:"Win Streak",noTradesToday:"No trades today",tradesCount:"{{count}} trades",totalTrades:"{{count}} total trades",consecutiveWins:"Consecutive wins",consecutiveLosses:"Consecutive losses",excellent:"Excellent",profitable:"Profitable",needsWork:"Needs work",logTradesToSee:"Log trades to see"}},onboarding:{progress:{personalize:"Personalize",connect:"Connect",activate:"Activate"},steps:{language:{title:"Choose your language",subtitle:"Redline will use this everywhere â you can change it later in Settings."},welcome:{title:"Welcome to Redline",subtitle:"Two minutes to personalize your discipline system."},profile:{title:"About you",subtitle:"Pick the path that matches how you trade."},goal:{title:"What are you here for?",subtitle:"Your goal shapes which rules we recommend."},propfirm:{title:"Which firm are you with?",subtitle:"We mirror their published rules into your guardrails."},risk:{title:"Set your guardrails",subtitle:"These are the rules Redline enforces automatically."},broker:{title:"Connect a broker",subtitle:"Auto-imports your trades so journaling is effortless."},appLock:{title:"Lock your broker apps",subtitle:"Optional â iOS only. Block broker apps when a rule breaks."},plan:{title:"Choose your plan",subtitle:"Pick the plan that fits how you trade."},orgJoin:{title:"Join your desk",subtitle:"Use the invite code your mentor sent you."},orgCreate:{title:"Spin up your desk",subtitle:"You can invite mentees right after this."},firstAction:{title:"Take your first action",subtitle:"A real or paper trade â either works."}},v3:{steps:{aboutYou:{title:"About you",subtitle:"Four quick picks â they tune your guardrails and coaching."},journey:{title:"Your unlock journey",subtitle:"Ten trades open the full toolkit. Here is the road."},firstAction:{title:"Log trade 1 of 10",subtitle:"Real or paper â either starts your unlock counter."}},welcome:{headline:"Trade with discipline.",sub:"Redline enforces your rules so one bad day never becomes a blown account. Two minutes to set up.",pathLabel:"How do you trade?"}}},analytics:{totalPnl:"Total P/L",winRate:"Win Rate",trades:"Trades",profitFactor:"Profit Factor",discipline:"Discipline",tradeDna:"Trade DNA",tradeDnaSubtitle:"Your unique trading fingerprint",traderLabel:"{{level}} Trader",analysisWindow:"Analysis window:",tabs:{overview:"Overview",performance:"Performance",patterns:"Patterns",execution:"Execution",risk:"Risk",psychology:"Psychology"},levels:{beginner:"Beginner",intermediate:"Intermediate",advanced:"Advanced",expert:"Expert"}},agent:{studio:"Agent Studio",liveCount:"{{count}} live",tagline:"Study your style. Trade like you.",onboarding:"Onboarding",apiDocs:"API Docs",apiKeys:"API Keys",council:"Council",councilAll:"All three, together",myBots:"My Bots",fromBacktests:"From your backtests",provisioning:"Provisioning your agentsâ¦",settingUp:"Setting up agentâ¦",chat:"Chat",agentInfo:"Agent Info",pipeline:"Pipeline",shareChart:"Ctrl+V to share a chart"},education:{sections:{dashboard:"Dashboard",videos:"Videos",courses:"Courses",books:"Books",glossary:"Glossary",strategies:"Strategies",psychology:"Psychology"},descriptions:{},yourProgress:"Your Progress",dayStreak:"{{count}} day streak",videos:"Videos",learned:"Learned",courses:"Courses",hours:"Hours",streak:"Streak",searchPlaceholder:"Searchâ¦"},chat:{tabs:{direct:"Direct",groups:"Groups",mentors:"Mentors"},searchPlaceholder:"Search messages...",nav:{messages:"Messages",tickerX:"TickerX",rooms:"Rooms"},selectConversation:"Select a conversation to start chatting"},community:{title:"Trading Community",subtitle:"Share insights ⢠Learn from traders ⢠Grow together",marketOpen:"Market Open",marketClosed:"Market Closed",finishCoachingToPost:"Finish coaching to post",shareYourTrade:"Share Your Trade",leaderboard:"Leaderboard",rankedByPnl:"Ranked by P&L",tabs:{feed:"Feed"}},feedback:{titlePart1:"Feedback",titlePart2:"Loop",subtitle:"Shape the future of Redline",liveRoadmap:"Live roadmap · We read every submission",stats:{submitted:"Submitted",implemented:"Implemented",upvotes:"Upvotes",rank:"Rank"},moreToNext:"{{count}} more to {{next}}",tabs:{submit:"Submit",browse:"Browse & Vote",browseShort:"Browse",roadmap:"Roadmap",admin:"Admin",adminPanel:"Admin Panel"},shareTitle:"Share Your Feedback",shareSubtitle:"Your ideas help shape Redline",typeQuestion:"What type of feedback?"},news:{title:"News",searchTickerPlaceholder:"Search ticker...",askJeffAnything:"Ask Jeff Anything",multiAiPowered:"Multi-AI Powered",chatAboutTrades:"Chat with Jeff about your trades, opportunities, and market context",chatPersonalMentor:"Your personal trading mentor with complete access to your profile",liveMarketData:"Live Market Data"},profile:{traderRank:"Trader Rank",next:"Next:",traderSubtitle:"{{level}} Trader",profitable:"PROFITABLE",developing:"DEVELOPING",totalPnl:"Total P&L",totalProfitGenerated:"Total Profit Generated",totalLossIncurred:"Total Loss Incurred",traderLevel:"Trader Level",tiers:{rookie:"Rookie",silver:"Silver",gold:"Gold",platinum:"Platinum",diamond:"Diamond",legend:"Legend"}}}},es:{translation:{nav:{home:"Inicio",today:"Hoy",ledger:"Registro",analytics:"Análisis",agent:"Agente",agentStudio:"Estudio del Agente",learn:"Aprender",chat:"Chat",more:"Más",notifications:"Notificaciones",tradingContext:"Contexto de Trading",community:"Comunidad",feedback:"Comentarios",browseFirms:"Explorar Firmas",upgrade:"Mejorar"},common:{save:"Guardar",cancel:"Cancelar",confirm:"Confirmar",edit:"Editar",delete:"Eliminar",close:"Cerrar",back:"Atrás",
2next:"Siguiente",done:"Listo",skip:"Omitir",continue:"Continuar",letsGo:"Vamos",loading:"Cargandoâ¦",error:"Error",success:"Ãxito",apply:"Aplicar",reset:"Restablecer",search:"Buscar",yes:"SÃ",no:"No"},settings:{title:"Configuración",subtitle:"Gestiona tus preferencias de trading y seguridad de la cuenta",appearance:"Apariencia",language:"Idioma",languageDesc:"Elige tu idioma preferido. Se aplica al instante â funciona en móvil e iOS sin recargar.",theme:"Tema",themePreference:"Sistema de Temas Profesional",themeDesc:"Nuestro sistema de temas está diseñado para traders profesionales con transiciones fluidas, cumplimiento de accesibilidad y rendimiento optimizado para todos los elementos.",lightMode:"Modo Claro",darkMode:"Modo Oscuro",notifications:"Notificaciones",account:"Cuenta",applyLanguage:"Aplicar idioma",resetToEnglish:"Restablecer a inglés",currentLanguage:"Idioma actual",searchLanguage:"Buscar idiomaâ¦",changesAutosaved:"Los cambios se guardan automáticamente",tabs:{appearance:"Apariencia",riskRules:"Reglas de Riesgo",integrations:"Integraciones",notifications:"Notificaciones",security:"Seguridad",support:"Soporte",referral:"Referidos"}},market:{open:"Abierto",closed:"Cerrado",premarket:"Pre-mercado",afterhours:"Fuera de horario",weekend:"Fin de semana",regular:"Regular"},trading:{trade:"Operación",trades:"Operaciones",profit:"Ganancia",loss:"Pérdida",winRate:"Tasa de éxito",pnl:"G/P",entry:"Entrada",exit:"Salida",size:"Tamaño",setup:"Configuración",notes:"Notas"},today:{goodMorning:"Buenos dÃas",goodAfternoon:"Buenas tardes",goodEvening:"Buenas noches",todaysFocus:"Enfoque del dÃa",confirmFocus:"Confirmar enfoque",yesFocused:"SÃ, estoy enfocado",noActiveIssues:"Sin problemas activos.",stayDisciplined:"Mantén la disciplina"},enforcement:{cooldown:"Enfriamiento",locked:"Bloqueado",warn:"Advertencia",cooldownActive:"Enfriamiento activo",remaining:"restante",tradingPaused:"Trading en pausa"},dashboard:{welcome:"Bienvenido, {{name}}",quickActions:"Acciones rápidas",loadingDashboard:"Cargando panelâ¦",actions:{startSession:"Iniciar sesión",ledger:"Registro",watchlist:"Lista de seguimiento",analytics:"Análisis",learn:"Aprender",ideaHub:"Centro de ideas",chat:"Chat",agent:"Agente"},stats:{todaysPnl:"P&G de hoy",thisWeek:"Esta semana",totalPnl:"P&G total",winRate:"Tasa de aciertos",profitFactor:"Factor de beneficio",winStreak:"Racha ganadora",noTradesToday:"Sin operaciones hoy",tradesCount:"{{count}} operaciones",totalTrades:"{{count}} operaciones totales",consecutiveWins:"Victorias consecutivas",consecutiveLosses:"Pérdidas consecutivas",excellent:"Excelente",profitable:"Rentable",needsWork:"Necesita mejorar",logTradesToSee:"Registra operaciones para ver"}},onboarding:{progress:{personalize:"Personalizar",connect:"Conectar",activate:"Activar"},steps:{language:{title:"Elige tu idioma",subtitle:"Redline lo usará en todas partes â puedes cambiarlo más tarde en Configuración."},welcome:{title:"Bienvenido a Redline",subtitle:"Dos minutos para personalizar tu sistema de disciplina."},profile:{title:"Sobre ti",subtitle:"Elige el camino que se ajusta a cómo operas."},goal:{title:"¿Para qué estás aquÃ?",subtitle:"Tu objetivo determina qué reglas recomendamos."},propfirm:{title:"¿Con qué firma operas?",subtitle:"Reflejamos sus reglas publicadas en tus lÃmites."},risk:{title:"Define tus lÃmites",subtitle:"Estas son las reglas que Redline aplica automáticamente."},broker:{title:"Conecta un bróker",subtitle:"Importa automáticamente tus operaciones para un journaling sin esfuerzo."},appLock:{title:"Bloquea apps de tu bróker",subtitle:"Opcional â solo iOS. Bloquea las apps cuando rompas una regla."},plan:{title:"Elige tu plan",subtitle:"Empieza gratis o desbloquea el coach completo."},orgJoin:{title:"Ãnete a tu equipo",subtitle:"Usa el código de invitación que te envió tu mentor."},orgCreate:{title:"Crea tu equipo",subtitle:"Podrás invitar mentees justo después."},firstAction:{title:"Realiza tu primera acción",subtitle:"Una operación real o en papel â ambas funcionan."}},v3:{steps:{aboutYou:{title:"Sobre ti",subtitle:"Cuatro selecciones rápidas â ajustan tus lÃmites y coaching."},journey:{title:"Tu camino de desbloqueo",subtitle:"Diez operaciones abren el kit completo. Este es el camino."},firstAction:{title:"Registra la operación 1 de 10",subtitle:"Real o en papel â ambas inician tu contador."}},welcome:{headline:"Opera con disciplina.",sub:"Redline aplica tus reglas para que un mal dÃa nunca arruine tu cuenta. Dos minutos para configurar.",pathLabel:"¿Cómo operas?"}}},analytics:{totalPnl:"G/P Total",winRate:"Tasa de éxito",trades:"Operaciones",profitFactor:"Factor de beneficio",discipline:"Disciplina",tradeDna:"ADN de Trading",tradeDnaSubtitle:"Tu huella única de trading",traderLabel:"Trader {{level}}",analysisWindow:"Ventana de análisis:",tabs:{overview:"Resumen",performance:"Ren
2dimiento",patterns:"Patrones",execution:"Ejecución",risk:"Riesgo",psychology:"PsicologÃa"},levels:{beginner:"Principiante",intermediate:"Intermedio",advanced:"Avanzado",expert:"Experto"}},agent:{studio:"Estudio del Agente",liveCount:"{{count}} activos",tagline:"Estudia tu estilo. Opera como tú.",onboarding:"Inducción",apiDocs:"Documentación API",apiKeys:"Claves API",council:"Consejo",councilAll:"Los tres juntos",myBots:"Mis Bots",fromBacktests:"De tus backtests",provisioning:"Aprovisionando tus agentesâ¦",settingUp:"Configurando agenteâ¦",chat:"Chat",agentInfo:"Info del Agente",pipeline:"TuberÃa",shareChart:"Ctrl+V para compartir un gráfico"},education:{sections:{dashboard:"Panel",videos:"Videos",courses:"Cursos",books:"Libros",glossary:"Glosario",strategies:"Estrategias",psychology:"PsicologÃa"},descriptions:{},yourProgress:"Tu progreso",dayStreak:"Racha de {{count}} dÃas",videos:"Videos",learned:"Aprendido",courses:"Cursos",hours:"Horas",streak:"Racha",searchPlaceholder:"Buscarâ¦"},chat:{tabs:{direct:"Directos",groups:"Grupos",mentors:"Mentores"},searchPlaceholder:"Buscar mensajes...",nav:{messages:"Mensajes",tickerX:"TickerX",rooms:"Salas"},selectConversation:"Selecciona una conversación para empezar a chatear"},community:{title:"Comunidad de Trading",subtitle:"Comparte insights ⢠Aprende de traders ⢠Crece juntos",marketOpen:"Mercado Abierto",marketClosed:"Mercado Cerrado",finishCoachingToPost:"Termina el coaching para publicar",shareYourTrade:"Comparte tu operación",leaderboard:"Clasificación",rankedByPnl:"Ordenado por G&P",tabs:{feed:"Feed"}},feedback:{titlePart1:"Bucle de",titlePart2:"Feedback",subtitle:"Da forma al futuro de Redline",liveRoadmap:"Roadmap en vivo · Leemos cada propuesta",stats:{submitted:"Enviados",implemented:"Implementados",upvotes:"Votos",rank:"Rango"},moreToNext:"{{count}} más para {{next}}",tabs:{submit:"Enviar",browse:"Explorar y Votar",browseShort:"Explorar",roadmap:"Roadmap",admin:"Admin",adminPanel:"Panel de Admin"},shareTitle:"Comparte tu Feedback",shareSubtitle:"Tus ideas ayudan a moldear Redline",typeQuestion:"¿Qué tipo de feedback?"},news:{title:"Noticias",searchTickerPlaceholder:"Buscar ticker...",askJeffAnything:"Pregúntale a Jeff",multiAiPowered:"Multi-IA",chatAboutTrades:"Chatea con Jeff sobre tus operaciones, oportunidades y contexto del mercado",chatPersonalMentor:"Tu mentor personal de trading con acceso completo a tu perfil",liveMarketData:"Datos del Mercado en Vivo"},profile:{traderRank:"Rango de Trader",next:"Siguiente:",traderSubtitle:"Trader {{level}}",profitable:"RENTABLE",developing:"EN DESARROLLO",totalPnl:"G&P Total",totalProfitGenerated:"Beneficio Total Generado",totalLossIncurred:"Pérdida Total Incurrida",traderLevel:"Nivel de Trader",tiers:{rookie:"Novato",silver:"Plata",gold:"Oro",platinum:"Platino",diamond:"Diamante",legend:"Leyenda"}}}},pt:{translation:{nav:{home:"InÃcio",today:"Hoje",ledger:"Diário",analytics:"Análises",agent:"Agente",agentStudio:"Estúdio do Agente",learn:"Aprender",chat:"Chat",more:"Mais",notifications:"Notificações",tradingContext:"Contexto de Trading",community:"Comunidade",feedback:"Feedback",browseFirms:"Explorar Firmas",upgrade:"Upgrade"},common:{save:"Salvar",cancel:"Cancelar",confirm:"Confirmar",edit:"Editar",delete:"Excluir",close:"Fechar",back:"Voltar",next:"Próximo",done:"ConcluÃdo",skip:"Pular",continue:"Continuar",letsGo:"Vamos lá",loading:"Carregandoâ¦",error:"Erro",success:"Sucesso",apply:"Aplicar",reset:"Redefinir",search:"Pesquisar",yes:"Sim",no:"Não"},settings:{title:"Configurações",subtitle:"Gerencie suas preferências de trading e segurança da conta",appearance:"Aparência",language:"Idioma",languageDesc:"Escolha seu idioma preferido. Aplicado instantaneamente â funciona em mobile e iOS sem recarregar.",theme:"Tema",themePreference:"Sistema de Temas Profissional",themeDesc:"Nosso sistema de temas foi projetado para traders profissionais com transições suaves, conformidade de acessibilidade e desempenho otimizado para todos os elementos.",lightMode:"Modo Claro",darkMode:"Modo Escuro",notifications:"Notificações",account:"Conta",applyLanguage:"Aplicar idioma",resetToEnglish:"Redefinir para inglês",currentLanguage:"Idioma atual",searchLanguage:"Pesquisar idiomaâ¦",changesAutosaved:"As alterações são salvas automaticamente",tabs:{appearance:"Aparência",riskRules:"Regras de Risco",integrations:"Integrações",notifications:"Notificações",security:"Segurança",support:"Suporte",referral:"Indicações"}}
2,market:{open:"Aberto",closed:"Fechado",premarket:"Pré-mercado",afterhours:"Após o expediente",weekend:"Fim de semana",regular:"Regular"},trading:{trade:"Operação",trades:"Operações",profit:"Lucro",loss:"Perda",winRate:"Taxa de acerto",pnl:"L/P",entry:"Entrada",exit:"SaÃda",size:"Tamanho",setup:"Configuração",notes:"Notas"},today:{goodMorning:"Bom dia",goodAfternoon:"Boa tarde",goodEvening:"Boa noite",todaysFocus:"Foco de hoje",confirmFocus:"Confirmar foco",yesFocused:"Sim, estou focado",noActiveIssues:"Sem problemas ativos.",stayDisciplined:"Mantenha a disciplina"},enforcement:{cooldown:"Resfriamento",locked:"Bloqueado",warn:"Aviso",cooldownActive:"Resfriamento ativo",remaining:"restante",tradingPaused:"Trading pausado"},dashboard:{welcome:"Bem-vindo, {{name}}",quickActions:"Ações rápidas",loadingDashboard:"Carregando painelâ¦",actions:{startSession:"Iniciar sessão",ledger:"Diário",watchlist:"Lista de observação",analytics:"Análises",learn:"Aprender",ideaHub:"Central de ideias",chat:"Chat",agent:"Agente"},stats:{todaysPnl:"L&P de hoje",thisWeek:"Esta semana",totalPnl:"L&P total",winRate:"Taxa de acertos",profitFactor:"Fator de lucro",winStreak:"Sequência de vitórias",noTradesToday:"Sem operações hoje",tradesCount:"{{count}} operações",totalTrades:"{{count}} operações no total",consecutiveWins:"Vitórias consecutivas",consecutiveLosses:"Derrotas consecutivas",excellent:"Excelente",profitable:"Lucrativo",needsWork:"Precisa melhorar",logTradesToSee:"Registre operações para ver"}},onboarding:{progress:{personalize:"Personalizar",connect:"Conectar",activate:"Ativar"},steps:{language:{title:"Escolha seu idioma",subtitle:"O Redline o usará em todos os lugares â você pode alterá-lo mais tarde nas Configurações."},welcome:{title:"Bem-vindo ao Redline",subtitle:"Dois minutos para personalizar seu sistema de disciplina."},profile:{title:"Sobre você",subtitle:"Escolha o caminho que corresponde a como você opera."},goal:{title:"Para que você está aqui?",subtitle:"Seu objetivo molda quais regras recomendamos."},propfirm:{title:"Com qual firma você opera?",subtitle:"Espelhamos as regras publicadas deles em seus limites."},risk:{title:"Defina seus limites",subtitle:"Estas são as regras que o Redline aplica automaticamente."},broker:{title:"Conecte uma corretora",subtitle:"Importa automaticamente suas operações para um journaling sem esforço."},appLock:{title:"Bloqueie apps da corretora",subtitle:"Opcional â apenas iOS. Bloqueia apps quando uma regra é quebrada."},plan:{title:"Escolha seu plano",subtitle:"Comece grátis ou desbloqueie o coach completo."},orgJoin:{title:"Entre na sua mesa",subtitle:"Use o código de convite que seu mentor enviou."},orgCreate:{title:"Crie sua mesa",subtitle:"Você poderá convidar mentees logo após isto."},firstAction:{title:"Faça sua primeira ação",subtitle:"Uma operação real ou em papel â ambas funcionam."}},v3:{steps:{aboutYou:{title:"Sobre você",subtitle:"Quatro escolhas rápidas â ajustam seus limites e coaching."},journey:{title:"Sua jornada de desbloqueio",subtitle:"Dez operações abrem o kit completo. Este é o caminho."},firstAction:{title:"Registre a operação 1 de 10",subtitle:"Real ou em papel â ambas iniciam seu contador."}},welcome:{headline:"Opere com disciplina.",sub:"O Redline aplica suas regras para que um dia ruim nunca destrua sua conta. Dois minutos para configurar.",pathLabel:"Como você opera?"}}},analytics:{totalPnl:"L/P Total",winRate:"Taxa de acerto",trades:"Operações",profitFactor:"Fator de lucro",discipline:"Disciplina",tradeDna:"DNA de Trading",tradeDnaSubtitle:"Sua impressão digital única de trading",traderLabel:"Trader {{level}}",analysisWindow:"Janela de análise:",tabs:{overview:"Visão geral",performance:"Desempenho",patterns:"Padrões",execution:"Execução",risk:"Risco",psychology:"Psicologia"},levels:{beginner:"Iniciante",intermediate:"Intermediário",advanced:"Avançado",expert:"Especialista"}},agent:{studio:"Estúdio do Agente",liveCount:"{{count}} ativos",tagline:"Estude seu estilo. Opere como você.",onboarding:"Integração",apiDocs:"Documentação API",apiKeys:"Chaves API",council:"Conselho",councilAll:"Os três juntos",myBots:"Meus Bots",fromBacktests:"Dos seus backtests",provisioning:"Provisionando seus agentesâ¦",settingUp:"Configurando agenteâ¦",chat:"Chat",agentInfo:"Info do Agente",pipeline:"Pipeline",shareChart:"Ctrl+V para compartilhar um gráfico"},education:{sections:{dashboard:"Painel",videos:"VÃdeos",courses:"Cursos",books:"Livros",glossary:"Glossário",strategies:"Estratégias",psychology:"Psicologia"},descriptions:{},yourProgress:"Seu progresso",dayStreak:"Sequência de {{count}} dias",videos:"VÃdeos",learned:"Aprendido",courses:"Cursos",hours:"Horas",streak:"Sequência",searchPlaceholder:"Pesquisarâ¦"},chat:{tabs:{direct:"Direto",groups:"Grupos",mentors:"Mentores"},searchPlaceholder:"Pesquisar mensagens...",nav:{messages:"Mensagens",tickerX:"TickerX",rooms:"Salas"},selectConversation:"Selecione uma conversa para começar a conversar"}
2,community:{title:"Comunidade de Trading",subtitle:"Compartilhe insights ⢠Aprenda com traders ⢠Cresça junto",marketOpen:"Mercado Aberto",marketClosed:"Mercado Fechado",finishCoachingToPost:"Termine o coaching para postar",shareYourTrade:"Compartilhe sua operação",leaderboard:"Classificação",rankedByPnl:"Classificado por L&P",tabs:{feed:"Feed"}},feedback:{titlePart1:"Ciclo de",titlePart2:"Feedback",subtitle:"Molde o futuro do Redline",liveRoadmap:"Roadmap ao vivo · Lemos cada envio",stats:{submitted:"Enviados",implemented:"Implementados",upvotes:"Votos",rank:"Rank"},moreToNext:"{{count}} mais para {{next}}",tabs:{submit:"Enviar",browse:"Explorar e Votar",browseShort:"Explorar",roadmap:"Roadmap",admin:"Admin",adminPanel:"Painel de Admin"},shareTitle:"Compartilhe seu feedback",shareSubtitle:"Suas ideias ajudam a moldar o Redline",typeQuestion:"Que tipo de feedback?"},news:{title:"NotÃcias",searchTickerPlaceholder:"Buscar ticker...",askJeffAnything:"Pergunte ao Jeff",multiAiPowered:"Multi-IA",chatAboutTrades:"Converse com Jeff sobre suas operações, oportunidades e contexto do mercado",chatPersonalMentor:"Seu mentor pessoal de trading com acesso completo ao seu perfil",liveMarketData:"Dados de Mercado ao Vivo"},profile:{traderRank:"Rank do Trader",next:"Próximo:",traderSubtitle:"Trader {{level}}",profitable:"LUCRATIVO",developing:"EM DESENVOLVIMENTO",totalPnl:"L&P Total",totalProfitGenerated:"Lucro Total Gerado",totalLossIncurred:"Perda Total Incorrida",traderLevel:"NÃvel de Trader",tiers:{rookie:"Iniciante",silver:"Prata",gold:"Ouro",platinum:"Platina",diamond:"Diamante",legend:"Lenda"}}}},fr:{translation:{nav:{home:"Accueil",today:"Aujourd'hui",ledger:"Registre",analytics:"Analyses",agent:"Agent",agentStudio:"Studio d'Agent",learn:"Apprendre",chat:"Messagerie",more:"Plus",notifications:"Notifications",tradingContext:"Contexte de Trading",community:"Communauté",feedback:"Retours",browseFirms:"Parcourir les Firmes",upgrade:"Améliorer"},common:{save:"Enregistrer",cancel:"Annuler",confirm:"Confirmer",edit:"Modifier",delete:"Supprimer",close:"Fermer",back:"Retour",next:"Suivant",done:"Terminé",skip:"Ignorer",continue:"Continuer",letsGo:"C'est parti",loading:"Chargementâ¦",error:"Erreur",success:"Succès",apply:"Appliquer",reset:"Réinitialiser",search:"Rechercher",yes:"Oui",no:"Non"},settings:{title:"Paramètres",subtitle:"Gérez vos préférences de trading et la sécurité de votre compte",appearance:"Apparence",language:"Langue",languageDesc:"Choisissez votre langue préférée. Appliquée instantanément â fonctionne sur mobile et iOS sans rechargement.",theme:"Thème",themePreference:"Système de Thème Professionnel",themeDesc:"Notre système de thème est conçu pour les traders professionnels avec des transitions fluides, la conformité d'accessibilité et des performances optimisées pour tous les éléments.",lightMode:"Mode Clair",darkMode:"Mode Sombre",notifications:"Notifications",account:"Compte",applyLanguage:"Ap
2pliquer la langue",resetToEnglish:"Réinitialiser en anglais",currentLanguage:"Langue actuelle",searchLanguage:"Rechercher une langueâ¦",changesAutosaved:"Les modifications sont enregistrées automatiquement",tabs:{appearance:"Apparence",riskRules:"Règles de Risque",integrations:"Intégrations",notifications:"Notifications",security:"Sécurité",support:"Support",referral:"Parrainage"}},market:{open:"Ouvert",closed:"Fermé",premarket:"Pré-marché",afterhours:"Après-heures",weekend:"Week-end",regular:"Régulier"},trading:{trade:"Trade",trades:"Trades",profit:"Profit",loss:"Perte",winRate:"Taux de réussite",pnl:"G/P",entry:"Entrée",exit:"Sortie",size:"Taille",setup:"Stratégie",notes:"Notes"},today:{goodMorning:"Bonjour",goodAfternoon:"Bon après-midi",goodEvening:"Bonsoir",todaysFocus:"Objectif du jour",confirmFocus:"Confirmer l'objectif",yesFocused:"Oui, je suis concentré",noActiveIssues:"Aucun problème actif.",stayDisciplined:"Restez discipliné"},enforcement:{cooldown:"Refroidissement",locked:"Verrouillé",warn:"Avertissement",cooldownActive:"Refroidissement actif",remaining:"restant",tradingPaused:"Trading en pause"},dashboard:{welcome:"Bienvenue, {{name}}",quickActions:"Actions rapides",loadingDashboard:"Chargement du tableau de bordâ¦",actions:{startSession:"Démarrer la session",ledger:"Registre",watchlist:"Liste de suivi",analytics:"Analyses",learn:"Apprendre",ideaHub:"Centre d'idées",chat:"Chat",agent:"Agent"},stats:{todaysPnl:"P&P d'aujourd'hui",thisWeek:"Cette semaine",totalPnl:"P&P total",winRate:"Taux de réussite",profitFactor:"Facteur de profit",winStreak:"Série gagnante",noTradesToday:"Aucun trade aujourd'hui",tradesCount:"{{count}} trades",totalTrades:"{{count}} trades au total",consecutiveWins:"Victoires consécutives",consecutiveLosses:"Pertes consécutives",excellent:"Excellent",profitable:"Rentable",needsWork:"à améliorer",logTradesToSee:"Enregistrez des trades pour voir"}},onboarding:{progress:{personalize:"Personnaliser",connect:"Connecter",activate:"Activer"},steps:{language:{title:"Choisissez votre langue",subtitle:"Redline l'utilisera partout â vous pourrez la changer plus tard dans Paramètres."},welcome:{title:"Bienvenue sur Redline",subtitle:"Deux minutes pour personnaliser votre système de discipline."},profile:{title:"à propos de vous",subtitle:"Choisissez le parcours qui correspond à votre style."},goal:{title:"Pourquoi êtes-vous ici ?",subtitle:"Votre objectif détermine les règles que nous recommandons."},propfirm:{title:"Avec quelle firme tradez-vous ?",subtitle:"Nous reflétons leurs règles publiées dans vos garde-fous."},risk:{title:"Définissez vos garde-fous",subtitle:"Ce sont les règles que Redline applique automatiquement."},broker:{title:"Connectez un courtier",subtitle:"Importe automatiquement vos trades pour un journal sans effort."},appLock:{title:"Verrouillez les apps de courtier",subtitle:"Optionnel â iOS uniquement. Bloque les apps en cas de violation."},plan:{title:"Choisissez votre plan",subtitle:"Commencez gratuitement ou débloquez le coach complet."},orgJoin:{title:"Rejoignez votre desk",subtitle:"Utilisez le code d'invitation envoyé par votre mentor."},orgCreate:{title:"Créez votre desk",subtitle:"Vous pourrez inviter des mentees juste après."},firstAction:{title:"Faites votre première action",subtitle:"Un trade réel ou papier â les deux fonctionnent."}},v3:{steps:{aboutYou:{title:"à propos de vous",subtitle:"Quatre choix rapides â ils ajustent vos garde-fous et votre coaching."},journey:{title:"Votre parcours de déblocage",subtitle:"Dix trades ouvrent la boîte à outils complète. Voici la route."},firstAction:{title:"Enregistrez le trade 1 sur 10",subtitle:"Réel ou papier â les deux lancent votre compteur."}},welcome:{headline:"Tradez avec discipline.",sub:"Redline applique vos règles pour qu'une mauvaise journée ne détruise jamais votre compte. Deux minutes pour configurer.",pathLabel:"Comment tradez-vous ?"}}},analytics:{totalPnl:"G/P Total",winRate:"Taux de réussite",trades:"Trades",profitFactor:"Facteur de profit",discipline:"Discipline",tradeDna:"ADN de Trading",tradeDnaSubtitle:"Votre empreinte de trading unique",traderLabel:"Trader {{level}}",analysisWindow:"Fenêtre d'analyse :",tabs:{overview:"Aperçu",performance:"Performance",patterns:"Motifs",execution:"Exécution",risk:"Risque",psychology:"Psychologie"},levels:{beginner:"Débutant",intermediate:"Intermédiaire",advanced:"Avancé",expert:"Expert"}},agent:{studio:"Studio d'Agent",liveCount:"{{count}} en direct",tagline:"Ãtudiez votre style. Tradez comme vous.",onboarding:"Intégration",apiDocs:"Docs API",apiKeys:"Clés API",council:"Conseil",councilAll:"Les trois ensemble",myBots:"Mes Bots",fromBacktests:"De vos backtests",provisioning:"Provisionnement de vos agentsâ¦",settingUp:"Configuration de l'agentâ¦",chat:"Chat",agentInfo:"Infos de l'agent",pipeline:"Pipeline",shareChart:"Ctrl+V pour partager un graphique"},education:{sections:{dashboard:"Tableau de bord",videos:"Vidéos",courses:"Cours",books:"Livres",glossary:"Glossaire",strategies:"Stratég
2ies",psychology:"Psychologie"},descriptions:{},yourProgress:"Votre progression",dayStreak:"Série de {{count}} jours",videos:"Vidéos",learned:"Appris",courses:"Cours",hours:"Heures",streak:"Série",searchPlaceholder:"Rechercherâ¦"},chat:{tabs:{direct:"Direct",groups:"Groupes",mentors:"Mentors"},searchPlaceholder:"Rechercher des messages...",nav:{messages:"Messages",tickerX:"TickerX",rooms:"Salles"},selectConversation:"Sélectionnez une conversation pour commencer à discuter"},community:{title:"Communauté de Trading",subtitle:"Partagez des insights ⢠Apprenez des traders ⢠Grandissez ensemble",marketOpen:"Marché Ouvert",marketClosed:"Marché Fermé",finishCoachingToPost:"Terminez le coaching pour publier",shareYourTrade:"Partagez votre trade",leaderboard:"Classement",rankedByPnl:"Classé par G&P",tabs:{feed:"Fil"}},feedback:{titlePart1:"Boucle de",titlePart2:"Feedback",subtitle:"Façonnez l'avenir de Redline",liveRoadmap:"Roadmap en direct · Nous lisons chaque soumission",stats:{submitted:"Soumis",implemented:"Implémentés",upvotes:"Votes",rank:"Rang"},moreToNext:"{{count}} de plus pour {{next}}",tabs:{submit:"Soumettre",browse:"Parcourir et Voter",browseShort:"Parcourir",roadmap:"Roadmap",admin:"Admin",adminPanel:"Panneau d'admin"},shareTitle:"Partagez vos retours",shareSubtitle:"Vos idées aident à façonner Redline",typeQuestion:"Quel type de feedback ?"},news:{title:"Actualités",searchTickerPlaceholder:"Rechercher un ticker...",askJeffAnything:"Demandez à Jeff",multiAiPowered:"Multi-IA",chatAboutTrades:"Discutez avec Jeff de vos trades, opportunités et contexte de marché",chatPersonalMentor:"Votre mentor de trading personnel avec accès complet à votre profil",liveMarketData:"Données de Marché en Direct"},profile:{traderRank:"Rang de Trader",next:"Suivant :",traderSubtitle:"Trader {{level}}",profitable:"RENTABLE",developing:"EN DÃVELOPPEMENT",totalPnl:"G&P Total",totalProfitGenerated:"Profit Total Généré",totalLossIncurred:"Perte Totale Subie",traderLevel:"Niveau de Trader",tiers:{rookie:"Recrue",silver:"Argent",gold:"Or",platinum:"Platine",diamond:"Diamant",legend:"Légende"}}}},de:{translation:{nav:{home:"Start",today:"Heute",ledger:"Handelsbuch",analytics:"Analysen",agent:"Agent",agentStudio:"Agent Studio",learn:"Lernen",chat:"Chat",more:"Mehr",notifications:"Benachrichtigungen",tradingContext:"Trading-Kontext",community:"Community",feedback:"Feedback",browseFirms:"Firmen durchsuchen",upgrade:"Upgrade"},common:{save:"Speichern",cancel:"Abbrechen",confirm:"Bestätigen",edit:"Bearbeiten",delete:"Löschen",close:"SchlieÃen",back:"Zurück",next:"Weiter",done:"Fertig",skip:"Ãberspringen",continue:"Weiter",letsGo:"Los gehtâs",loading:"Lädtâ¦",error:"Fehler",success:"Erfolg",apply:"Anwenden",reset:"Zurücksetzen",search:"Suchen",yes:"Ja",no:"Nein"},settings:{title:"Einstellungen",subtitle:"Verwalten Sie Ihre Trading-Präferenzen und Kontosicherheit",appearance:"Erscheinungsbild",language:"Sprache",languageDesc:"Wählen Sie Ihre bevorzugte Sprache. Sofort angewendet â funktioniert auf Mobil und iOS ohne Neuladen.",theme:"Thema",themePreference:"Professionelles Theme-System",themeDesc:"Unser Theme-System ist für professionelle Trader konzipiert mit nahtlosen Ãbergängen, Barrierefreiheit und optimierter Leistung für alle Elemente.",lightMode:"Heller Modus",darkMode:"Dunkler Modus",notifications:"Benachrichtigungen",account:"Konto",applyLanguage:"Sprache anwenden",resetToEnglish:"Auf Englisch zurücksetzen",currentLanguage:"Aktuelle Sprache",searchLanguage:"Sprache suchenâ¦",changesAutosaved:"Ãnderungen werden automatisch gespeichert",tabs:{appearance:"Erscheinungsbild",riskRules:"Risiko-Regeln",integrations:"Integrationen",notifications:"Benachrichtigungen",security:"Sicherheit",support:"Support",referral:"Empfehlungen"}},market:{open:"Offen",closed:"Geschlossen",premarket:"Vormarkt",afterhours:"Nachbörslich",weekend:"Wochenende",regular:"Regulär"},trading:{trade:"Trade",trades:"Trades",profit:"Gewinn",loss:"Verlust",winRate:"Gewinnrate",pnl:"G/V",entry:"Einstieg",exit:"Ausstieg",size:"GröÃe",setup:"Setup",notes:"Notizen"},today:{goodMorning:"Guten Morgen",goodAfternoon:"Guten Tag",goodEvening:"Guten Abend",todaysFocus:"Tagesziel",confirmFocus:"Ziel bestätigen",yesFocused:"Ja, ich bin fokussiert",noActiveIssues:"Keine aktiven Probleme.",stayDisciplined:"Bleib diszipliniert"},enforcement:{cooldown:"Abkühlphase",locked:"Gesperrt",warn:"Warnung",cooldownActive:"Abkühlphase aktiv",remaining:"verbleibend",tradingPaused:"Trading pausiert"},dashboard:{welcome:"Willkommen, {{name}}",quickActions:"Schnellaktionen",loadingDashboard:"Dashboard wird geladenâ¦",actions:{startSession:"Sitzung starten",ledger:"Handelsbuch",watchlist:"Watchlist",analytics:"Analysen",learn:"Lernen",ideaHub:"Ideen-Hub",chat:"Chat",agent:"Agent"},stats:{todaysPnl:"G&V heute",thisWeek:"Diese Woche",totalPnl:"Gesamt-G&V",winRate:"Trefferquote",profitFactor:"Profit-Faktor",winStreak:"Gewinnserie",noTradesToday:"Heute keine Trades",tradesCount:"{{count}} Trades",totalTrades:"{{count}} Trades insgesamt",consecutiveWins:"Gewinne in Folge",consecutiveLosses:"Verluste in Folge",excellent:"Ausgezeichnet",profitable:"Profitabel",needsWork:"Verbesserungsbedarf",logTradesToSee:"Trades erfassen, um zu sehen"}},onboarding:{progress:{personalize:"Personalisieren",connect:"Verbinden",activate:"Aktivieren"},steps:{language:{title:"Wählen Sie Ihre Sprache",subtitle:"Redline verwendet sie überall â Sie können sie später in den Einstellungen ändern."},welcome:{title:"Willkommen bei Redline",subtitle:"Zwei Minuten, um Ihr Disziplinsystem zu personalisieren."},profile:{title:"Ãber Sie",subtitle:"Wählen Sie den Weg, der zu Ihrem Trading-Stil passt."},goal:{title:"Warum sind Sie hier?",subtitle:"Ihr Ziel bestimmt, welche Regeln wir empfehlen."},propfirm:{title:"Mit welcher Firma traden Sie?",subtitle:"Wir spiegeln deren veröffentlichte Regeln in Ihre Leitplanken."},risk:{title:"Legen Sie Ihre Leitplanken fest",subtitle:"Das sind die Regeln, die Redline automatisch durchsetzt."},broker:{title:"Broker verbinden",subtitle:"Importiert Ihre Trades automatisch für müheloses Journaling."},appLock:{title:"Broker-Apps sperren",subtitle:"Optional â nur iOS. Sperrt Broker-Apps bei RegelverstoÃ."},plan:{title:"Wählen Sie Ihren Plan",subtitle:"Kostenlos starten oder den vollen Co
2ach freischalten."},orgJoin:{title:"Treten Sie Ihrem Desk bei",subtitle:"Verwenden Sie den Einladungscode Ihres Mentors."},orgCreate:{title:"Erstellen Sie Ihr Desk",subtitle:"Mentees können Sie direkt danach einladen."},firstAction:{title:"Machen Sie Ihre erste Aktion",subtitle:"Ein echter oder Papier-Trade â beides funktioniert."}},v3:{steps:{aboutYou:{title:"Ãber Sie",subtitle:"Vier schnelle Auswahlen â sie kalibrieren Ihre Leitplanken und Ihr Coaching."},journey:{title:"Ihre Freischalt-Reise",subtitle:"Zehn Trades öffnen das volle Toolkit. Hier ist der Weg."},firstAction:{title:"Trade 1 von 10 protokollieren",subtitle:"Echt oder Papier â beides startet Ihren Zähler."}},welcome:{headline:"Handeln Sie mit Disziplin.",sub:"Redline setzt Ihre Regeln durch, damit ein schlechter Tag nie das Konto sprengt. Zwei Minuten Einrichtung.",pathLabel:"Wie handeln Sie?"}}},analytics:{totalPnl:"G/V Gesamt",winRate:"Trefferquote",trades:"Trades",profitFactor:"Profit-Faktor",discipline:"Disziplin",tradeDna:"Trade-DNA",tradeDnaSubtitle:"Ihr einzigartiger Trading-Fingerabdruck",traderLabel:"{{level}} Trader",analysisWindow:"Analysefenster:",tabs:{overview:"Ãbersicht",performance:"Leistung",patterns:"Muster",execution:"Ausführung",risk:"Risiko",psychology:"Psychologie"},levels:{beginner:"Anfänger",intermediate:"Fortgeschritten",advanced:"Profi",expert:"Experte"}},agent:{studio:"Agent Studio",liveCount:"{{count}} live",tagline:"Studiere deinen Stil. Trade wie du.",onboarding:"Einführung",apiDocs:"API-Dokumente",apiKeys:"API-Schlüssel",council:"Rat",councilAll:"Alle drei zusammen",myBots:"Meine Bots",fromBacktests:"Aus deinen Backtests",provisioning:"Bereitstellung deiner Agentenâ¦",settingUp:"Agent wird eingerichtetâ¦",chat:"Chat",agentInfo:"Agent-Info",pipeline:"Pipeline",shareChart:"Strg+V, um einen Chart zu teilen"},education:{sections:{dashboard:"Dashboard",videos:"Videos",courses:"Kurse",books:"Bücher",glossary:"Glossar",strategies:"Strategien",psychology:"Psychologie"},descriptions:{},yourProgress:"Dein Fortschritt",dayStreak:"{{count}}-Tage-Serie",videos:"Videos",learned:"Gelernt",courses:"Kurse",hours:"Stunden",streak:"Serie",searchPlaceholder:"Suchenâ¦"},chat:{tabs:{direct:"Direkt",groups:"Gruppen",mentors:"Mentoren"},searchPlaceholder:"Nachrichten suchen...",nav:{messages:"Nachrichten",tickerX:"TickerX",rooms:"Räume"},selectConversation:"Wähle eine Konversation, um zu chatten"},community:{title:"Trading-Community",subtitle:"Teile Insights ⢠Lerne von Tradern ⢠Wachse zusammen",marketOpen:"Markt geöffnet",marketClosed:"Markt geschlossen",finishCoachingToPost:"Coaching beenden, um zu posten",shareYourTrade:"Teile deinen Trade",leaderboard:"Bestenliste",rankedByPnl:"Sortiert nach G&V",tabs:{feed:"Feed"}},feedback:{titlePart1:"Feedback-",titlePart2:"Schleife",subtitle:"Gestalte die Zukunft von Redline",liveRoadmap:"Live-Roadmap · Wir lesen jede Einreichung",stats:{submitted:"Eingereicht",implemented:"Umgesetzt",upvotes:"Upvotes",rank:"Rang"},moreToNext:"{{count}} mehr bis {{next}}",tabs:{submit:"Einreichen",browse:"Durchsuchen & Abstimmen",browseShort:"Durchsuchen",roadmap:"Roadmap",admin:"Admin",adminPanel:"Admin-Panel"},shareTitle:"Teile dein Feedback",shareSubtitle:"Deine Ideen prägen Redline",typeQuestion:"Welche Art von Feedback?"},news:{title:"Nachrichten",searchTickerPlaceholder:"Ticker suchen...",askJeffAnything:"Frag Jeff alles",multiAiPowered:"Multi-KI-betrieben",chatAboutTrades:"Chatte mit Jeff über deine Trades, Chancen und Marktkontext",chatPersonalMentor:"Dein persönlicher Trading-Mentor mit vollem Zugriff auf dein Profil",liveMarketData:"Live-Marktdaten"},profile:{traderRank:"Trader-Rang",next:"Nächster:",traderSubtitle:"{{level}} Trader",profitable:"PROFITABEL",developing:"IN ENTWICKLUNG",totalPnl:"Gesamt-G&V",totalProfitGenerated:"Erzeugter Gesamtgewinn",totalLossIncurred:"Erlittener Gesamtverlust",traderLevel:"Trader-Level",tiers:{rookie:"Anfänger",silver:"Silber",gold:"Gold",platinum:"Platin",diamond:"Diamant",legend:"Legende"}}}},ar:{translation:{nav:{home:"Ø§ÙØ±Ø¦ÙØ³ÙØ©",today:"اÙÙÙÙ
",ledger:"Ø§ÙØ³Ø¬Ù",analytics:"Ø§ÙØªØÙÙÙØ§Øª",agent:"اÙÙÙÙÙ",agentStudio:"Ø§Ø³ØªÙØ¯Ù٠اÙÙÙÙÙ",learn:"تعÙÙ
",chat:"Ø§ÙØ¯Ø±Ø¯Ø´Ø©",more:"اÙÙ
Ø²ÙØ¯",notifications:"Ø§ÙØ¥Ø´Ø¹Ø§Ø±Ø§Øª",tradingContext:"Ø³ÙØ§Ù Ø§ÙØªØ¯Ø§ÙÙ",community:"اÙÙ
جتÙ
ع",feedback:"اÙÙ
ÙØ§ØØ¸Ø§Øª",browseFirms:"ØªØµÙØ Ø§ÙØ´Ø±Ùات",upgrade:"ترÙÙØ©"},common:{save:"ØÙظ",cancel:"Ø¥ÙØºØ§Ø¡",confirm:"تأÙÙØ¯",edit:"تعدÙÙ",delete:"ØØ°Ù",close:"Ø¥ØºÙØ§Ù",back:"Ø±Ø¬ÙØ¹",next:"Ø§ÙØªØ§ÙÙ",done:"تÙ
",skip:"تخطÙÙ",continue:"Ù
تابعة",letsGo:"ÙÙØ§ Ø¨ÙØ§",loading:"Ø¬Ø§Ø±Ù Ø§ÙØªØÙ
ÙÙâ¦",error:"خطأ",success:"ÙØ¬Ø§Ø",apply:"تطبÙÙ",reset:"إعادة تعÙÙÙ",search:"Ø¨ØØ«",yes:"ÙØ¹Ù
",no:"ÙØ§"},settings:{title:"Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª",subtitle:"إدارة ØªÙØ¶ÙÙØ§Øª Ø§ÙØªØ¯Ø§ÙÙ ÙØ£Ù
Ø§Ù Ø§ÙØØ³Ø§Ø¨",appearance:"اÙÙ
Ø¸ÙØ±",language:"اÙÙØºØ©",languageDesc:"اختر ÙØºØªÙ اÙÙ
ÙØ¶ÙØ©. ÙÙØ·Ø¨ÙÙÙ ÙÙØ±Ø§Ù â ÙØ¹Ù
٠عÙÙ Ø§ÙØ¬Ùا٠٠iOS دÙ٠إعادة تØÙ
ÙÙ.",theme:"Ø§ÙØ³Ù
Ø©",themePreference:"ÙØ¸Ø§Ù
Ø§ÙØ³Ù
ات Ø§ÙØ§ØØªØ±Ø§ÙÙ",themeDesc:"تÙ
تصÙ
ÙÙ
ÙØ¸Ø§Ù
Ø§ÙØ³Ù
ات ÙØ¯ÙÙØ§ ÙÙÙ
تداÙÙÙ٠اÙÙ
ØØªØ±ÙÙÙ Ù
ع Ø§ÙØªÙØ§ÙØ§Øª Ø³ÙØ³Ø© ÙØªÙاÙ٠إÙ
ÙØ§ÙÙØ© اÙÙØµÙÙ ÙØ£Ø¯Ø§Ø¡ Ù
ØØ³ÙÙ ÙØ¬Ù
ÙØ¹ Ø§ÙØ¹Ùاصر.",lightMode:"اÙÙØ¶Ø¹ اÙÙØ§ØªØ",darkMode:"اÙÙØ¶Ø¹ Ø§ÙØ¯Ø§ÙÙ",notifications:"Ø§ÙØ¥Ø´Ø¹Ø§Ø±Ø§Øª",account:"Ø§ÙØØ³Ø§Ø¨",applyLanguage:"تطبÙ٠اÙÙØºØ©",resetToEnglish:"إعادة Ø§ÙØªØ¹ÙÙ٠إÙÙ Ø§ÙØ¥ÙجÙÙØ²ÙØ©",currentLanguage:"اÙÙØºØ© Ø§ÙØØ§ÙÙØ©",searchLanguage:"Ø§Ø¨ØØ« Ø¹Ù ÙØºØ©â¦",changesAutosaved:"ÙØªÙ
ØÙظ Ø§ÙØªØºÙÙØ±Ø§Øª تÙÙØ§Ø¦ÙاÙ",tabs:{appearance:"اÙÙ
Ø¸ÙØ±",riskRules:"ÙÙØ§Ø¹Ø¯ اÙÙ
خاطر",integrations:"Ø§ÙØªÙاÙ
ÙØ§Øª",notifications:"Ø§ÙØ¥Ø´Ø¹Ø§Ø±Ø§Øª",security:"Ø§ÙØ£Ù
اÙ",support:"Ø§ÙØ¯Ø¹Ù
",referral:"Ø§ÙØ¥ØØ§Ùات"}},market:{open:"Ù
ÙØªÙØ",closed:"Ù
غÙÙ",premarket:"Ù
ا ÙØ¨Ù Ø§ÙØ³ÙÙ",afterhours:"Ù
ا بعد Ø§ÙØ¯ÙاÙ
",weekend:"Ø¹Ø·ÙØ© ÙÙØ§ÙØ© Ø§ÙØ£Ø³Ø¨Ùع",regular:"عادÙ"},trading:{trade:"صÙÙØ©",trades:"Ø§ÙØµÙÙØ§Øª",profit:"ربØ",loss:"خسارة",winRate:"ÙØ³Ø¨Ø© اÙÙÙØ²",pnl:"Ø§ÙØ±Ø¨Ø/Ø§ÙØ®Ø³Ø§Ø±Ø©",entry:"Ø§ÙØ¯Ø®ÙÙ",exit:"Ø§ÙØ®Ø±Ùج",size:"Ø§ÙØØ¬Ù
",setup:"Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯",notes:"Ù
ÙØ§ØØ¸Ø§Øª"},today:{goodMorning:"ØµØ¨Ø§Ø Ø§ÙØ®Ùر",goodAfternoon:"Ù
ساء Ø§ÙØ®Ùر",goodEvening:"Ù
ساء اÙÙÙØ±",todaysFocus:"ترÙÙØ² اÙÙÙÙ
",confirmFocus:"تأÙÙØ¯ Ø§ÙØªØ±ÙÙØ²",yesFocused:"ÙØ¹Ù
Ø Ø£ÙØ§ Ù
رÙÙØ²",noActiveIssues:"ÙØ§ ØªÙØ¬Ø¯ Ù
Ø´ÙÙØ§Øª Ù
2شطة.",stayDisciplined:"ابÙÙ Ù
ÙØ¶Ø¨Ø·Ø§Ù"},enforcement:{cooldown:"ÙØªØ±Ø© ØªÙØ¯Ø¦Ø©",locked:"Ù
ÙÙÙ",warn:"ØªØØ°Ùر",cooldownActive:"ÙØªØ±Ø© Ø§ÙØªÙدئة ÙØ´Ø·Ø©",remaining:"Ù
تبÙÙ",tradingPaused:"Ø§ÙØªØ¯Ø§ÙÙ Ù
تÙÙÙ Ù
Ø¤ÙØªØ§Ù"},dashboard:{welcome:"Ù
Ø±ØØ¨ÙØ§Ø {{name}}",quickActions:"إجراءات Ø³Ø±ÙØ¹Ø©",loadingDashboard:"جار٠تØÙ
ÙÙ ÙÙØØ© Ø§ÙØªØÙÙ
â¦",actions:{startSession:"بدء Ø§ÙØ¬Ùسة",ledger:"Ø§ÙØ³Ø¬Ù",watchlist:"ÙØ§Ø¦Ù
Ø© اÙÙ
تابعة",analytics:"Ø§ÙØªØÙÙÙØ§Øª",learn:"تعÙÙ
",ideaHub:"Ù
Ø±ÙØ² Ø§ÙØ£ÙÙØ§Ø±",chat:"Ø§ÙØ¯Ø±Ø¯Ø´Ø©",agent:"اÙÙÙÙÙ"},stats:{todaysPnl:"ربØ/خسارة اÙÙÙÙ
",thisWeek:"ÙØ°Ø§ Ø§ÙØ£Ø³Ø¨Ùع",totalPnl:"إجÙ
اÙÙ Ø§ÙØ±Ø¨Ø/Ø§ÙØ®Ø³Ø§Ø±Ø©",winRate:"ÙØ³Ø¨Ø© اÙÙÙØ²",profitFactor:"عاÙ
Ù Ø§ÙØ±Ø¨Ø",winStreak:"Ø³ÙØ³ÙØ© Ø§ÙØ§Ùتصارات",noTradesToday:"ÙØ§ ØªÙØ¬Ø¯ صÙÙØ§Øª اÙÙÙÙ
",tradesCount:"{{count}} صÙÙØ§Øª",totalTrades:"{{count}} إجÙ
اÙÙ Ø§ÙØµÙÙØ§Øª",consecutiveWins:"Ø§ÙØªØµØ§Ø±Ø§Øª Ù
تتاÙÙØ©",consecutiveLosses:"خسائر Ù
تتاÙÙØ©",excellent:"Ù
Ù
تاز",profitable:"Ù
ربØ",needsWork:"ÙØØªØ§Ø¬ Ø¥ÙÙ ØªØØ³ÙÙ",logTradesToSee:"سج٠صÙÙØ§Øª ÙØ±Ø¤ÙØ© Ø§ÙØ¨ÙØ§ÙØ§Øª"}},onboarding:{progress:{personalize:"Ø§ÙØªØ®ØµÙص",connect:"Ø§ÙØ±Ø¨Ø·",activate:"Ø§ÙØªÙعÙÙ"},steps:{language:{title:"اختر ÙØºØªÙ",subtitle:"Ø³ÙØ³ØªØ®Ø¯Ù
ÙØ§ Redline ÙÙ ÙÙ Ù
ÙØ§Ù â ÙÙ
ÙÙ٠تغÙÙØ±Ùا ÙØ§ØÙا٠Ù
Ù Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª."},welcome:{title:"Ù
Ø±ØØ¨Ø§Ù ب٠ÙÙ Redline",subtitle:"دÙÙÙØªØ§Ù ÙØªØ®ØµÙص ÙØ¸Ø§Ù
Ø§ÙØ§Ùضباط Ø§ÙØ®Ø§Øµ بÙ."},profile:{title:"عÙÙ",subtitle:"اختر اÙÙ
سار Ø§ÙØ°Ù ÙØ·Ø§Ø¨Ù أسÙÙØ¨ تداÙÙÙ."},goal:{title:"ÙÙ
اذا Ø£ÙØª ÙÙØ§Ø",subtitle:"ÙØ¯ÙÙ ÙØØ¯Ø¯ اÙÙÙØ§Ø¹Ø¯ Ø§ÙØªÙ ÙÙØµÙ Ø¨ÙØ§."},propfirm:{title:"Ù
ع Ø£Ù Ø´Ø±ÙØ© تتداÙÙØ",subtitle:"ÙØ¹Ùس ÙÙØ§Ø¹Ø¯ÙÙ
اÙÙ
ÙØ´Ùرة ÙÙ ØØ¯Ùد Ø§ÙØÙ
Ø§ÙØ© Ø§ÙØ®Ø§ØµØ© بÙ."},risk:{title:"ØØ¯Ø¯ ØØ¯ÙدÙ",subtitle:"ÙØ°Ù Ù٠اÙÙÙØ§Ø¹Ø¯ Ø§ÙØªÙ ÙØ·Ø¨ÙÙÙØ§ Redline تÙÙØ§Ø¦ÙاÙ."},broker:{title:"اربط ÙØ³ÙطاÙ",subtitle:"ÙØ³ØªÙرد صÙÙØ§ØªÙ تÙÙØ§Ø¦Ùا٠ÙÙØµØ¨Ø Ø§ÙØªØ¯ÙÙ٠سÙÙØ§Ù."},appLock:{title:"اÙÙ٠تطبÙÙØ§Øª اÙÙØ³ÙØ·",subtitle:"Ø§Ø®ØªÙØ§Ø±Ù â iOS ÙÙØ·. ÙØØ¬Ø¨ تطبÙÙØ§Øª اÙÙØ³ÙØ· Ø¹ÙØ¯ خر٠اÙÙØ§Ø¹Ø¯Ø©."},plan:{title:"اختر خطتÙ",subtitle:"ابدأ Ù
Ø¬Ø§ÙØ§Ù Ø£Ù Ø§ÙØªØ ÙØ§Ù
٠اÙÙ
Ø¯Ø±ÙØ¨."},orgJoin:{title:"Ø§ÙØ¶Ù
Ø¥ÙÙ ÙØ±ÙÙÙ",subtitle:"استخدÙ
رÙ
ز Ø§ÙØ¯Ø¹ÙØ© Ø§ÙØ°Ù أرسÙÙ Ù
رشدÙ."},orgCreate:{title:"Ø£ÙØ´Ø¦ ÙØ±ÙÙÙ",subtitle:"ÙÙ
ÙÙÙ Ø¯Ø¹ÙØ© اÙÙ
تدربÙÙ Ù
باشرة بعد ذÙÙ."},firstAction:{title:"ÙÙ
بأÙ٠إجراء ÙÙ",subtitle:"صÙÙØ© ØÙÙÙÙØ© Ø£Ù ÙØ±ÙÙØ© â ÙÙØ§ÙÙ
ا ÙØµÙØ."}}},analytics:{totalPnl:"إجÙ
اÙÙ Ø§ÙØ±Ø¨Ø/Ø§ÙØ®Ø³Ø§Ø±Ø©",winRate:"ÙØ³Ø¨Ø© اÙÙÙØ²",trades:"Ø§ÙØµÙÙØ§Øª",profitFactor:"عاÙ
Ù Ø§ÙØ±Ø¨Ø",discipline:"Ø§ÙØ§Ùضباط",tradeDna:"ØÙ
ض ÙÙÙÙ ÙÙØªØ¯Ø§ÙÙ",tradeDnaSubtitle:"بصÙ
ت٠اÙÙØ±Ùدة ÙÙ Ø§ÙØªØ¯Ø§ÙÙ",traderLabel:"Ù
تداÙÙ {{level}}",analysisWindow:"ÙØ§Ùذة Ø§ÙØªØÙÙÙ:",tabs:{overview:"ÙØ¸Ø±Ø© عاÙ
Ø©",performance:"Ø§ÙØ£Ø¯Ø§Ø¡",patterns:"Ø§ÙØ£ÙÙ
اط",execution:"Ø§ÙØªÙÙÙØ°",risk:"اÙÙ
خاطر",psychology:"عÙÙ
اÙÙÙØ³"},levels:{beginner:"Ù
بتدئ",intermediate:"Ù
ØªÙØ³Ø·",advanced:"Ù
ØªÙØ¯Ù
",expert:"Ø®Ø¨ÙØ±"}},agent:{studio:"Ø§Ø³ØªÙØ¯Ù٠اÙÙÙÙÙ",liveCount:"{{count}} ÙØ´Ø·",tagline:"ادرس أسÙÙØ¨Ù. تداÙÙ Ù
Ø«ÙÙ.",onboarding:"Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯",apiDocs:"ÙØ«Ø§Ø¦Ù API",apiKeys:"Ù
ÙØ§ØªÙØ API",council:"اÙÙ
Ø¬ÙØ³",councilAll:"Ø§ÙØ«Ùاثة Ù
Ø¹ÙØ§",myBots:"Ø±ÙØ¨ÙتاتÙ",fromBacktests:"Ù
Ù Ø§Ø®ØªØ¨Ø§Ø±Ø§ØªÙ Ø§ÙØ±Ø¬Ø¹ÙØ©",provisioning:"جار٠تÙÙÙØ± اÙÙÙÙØ§Ø¡â¦",settingUp:"جار٠إعداد اÙÙÙÙÙâ¦",chat:"Ø§ÙØ¯Ø±Ø¯Ø´Ø©",agentInfo:"Ù
عÙÙÙ
ات اÙÙÙÙÙ",pipeline:"خط Ø§ÙØ£ÙØ§Ø¨ÙØ¨",shareChart:"Ctrl+V ÙÙ
Ø´Ø§Ø±ÙØ© Ø§ÙØ±Ø³Ù
Ø§ÙØ¨ÙاÙÙ"},education:{sections:{dashboard:"ÙÙØØ© Ø§ÙØªØÙÙ
",videos:"ÙÙØ¯ÙÙÙØ§Øª",courses:"Ø§ÙØ¯Ùرات",books:"اÙÙØªØ¨",glossary:"اÙÙ
سرد",strategies:"Ø§ÙØ§Ø³ØªØ±Ø§ØªÙØ¬ÙØ§Øª",psychology:"عÙÙ
اÙÙÙØ³"},descriptions:{},yourProgress:"ØªÙØ¯Ù
Ù",dayStreak:"Ø³ÙØ³ÙØ© {{count}} Ø£ÙØ§Ù
",videos:"ÙÙØ¯ÙÙÙØ§Øª",learned:"Ù
ÙØªØ¹ÙÙÙÙ
",courses:"Ø¯ÙØ±Ø§Øª",hours:"ساعات",streak:"Ø³ÙØ³ÙØ©",searchPlaceholder:"Ø¨ØØ«â¦"},chat:{tabs:{direct:"Ù
باشر",groups:"Ù
جÙ
ÙØ¹Ø§Øª",mentors:"Ù
رشدÙÙ"},searchPlaceholder:"Ø¨ØØ« ÙÙ Ø§ÙØ±Ø³Ø§Ø¦Ù...",nav:{messages:"Ø§ÙØ±Ø³Ø§Ø¦Ù",tickerX:"TickerX",rooms:"Ø§ÙØºØ±Ù"},selectConversation:"اختر Ù
ØØ§Ø¯Ø«Ø© ÙØ¨Ø¯Ø¡ Ø§ÙØ¯Ø±Ø¯Ø´Ø©"}
2,community:{title:"Ù
جتÙ
ع Ø§ÙØªØ¯Ø§ÙÙ",subtitle:"Ø´Ø§Ø±Ù Ø§ÙØ±Ø¤Ù ⢠تعÙÙ
Ù
٠اÙÙ
تداÙÙÙ٠⢠اÙÙ
Ù Ù
Ø¹ÙØ§",marketOpen:"Ø§ÙØ³ÙÙ Ù
ÙØªÙØ",marketClosed:"Ø§ÙØ³ÙÙ Ù
غÙÙ",finishCoachingToPost:"Ø£ÙÙÙ Ø§ÙØªØ¯Ø±Ùب ÙÙÙØ´Ø±",shareYourTrade:"شار٠صÙÙØªÙ",leaderboard:"اÙÙ
تصدرÙÙ",rankedByPnl:"Ù
رتبة ØØ³Ø¨ Ø§ÙØ±Ø¨Ø/Ø§ÙØ®Ø³Ø§Ø±Ø©",tabs:{feed:"اÙÙ
ÙØ¬Ø²"}},feedback:{titlePart1:"ØÙÙØ©",titlePart2:"اÙÙ
ÙØ§ØØ¸Ø§Øª",subtitle:"Ø´ÙÙÙ Ù
Ø³ØªÙØ¨Ù Redline",liveRoadmap:"خارطة طرÙÙ ØÙØ© · ÙÙØ±Ø£ ÙÙ Ø§ÙØªØ±Ø§Ø",stats:{submitted:"اÙÙ
ÙØ±Ø³ÙÙØ©",implemented:"اÙÙ
ÙÙÙÙÙØ°Ø©",upvotes:"Ø§ÙØªØµÙÙØªØ§Øª",rank:"Ø§ÙØªØ±ØªÙب"},moreToNext:"{{count}} اÙÙ
Ø²ÙØ¯ ÙÙÙØµÙ٠إÙÙ {{next}}",tabs:{submit:"إرساÙ",browse:"ØªØµÙØ ÙØµÙÙØª",browseShort:"ØªØµÙØ",roadmap:"Ø§ÙØ®Ø§Ø±Ø·Ø©",admin:"اÙÙ
سؤÙÙ",adminPanel:"ÙÙØØ© اÙÙ
سؤÙÙ"},shareTitle:"شار٠Ù
ÙØ§ØØ¸Ø§ØªÙ",shareSubtitle:"Ø£ÙÙØ§Ø±Ù تساعد Ù٠تشÙÙÙ Redline",typeQuestion:"Ù
ا ÙÙØ¹ اÙÙ
ÙØ§ØØ¸Ø§ØªØ"},news:{title:"Ø§ÙØ£Ø®Ø¨Ø§Ø±",searchTickerPlaceholder:"Ø§Ø¨ØØ« ع٠رÙ
ز...",askJeffAnything:"اسأ٠جÙÙ Ø£Ù Ø´ÙØ¡",multiAiPowered:"Ù
دعÙÙ
Ø¨Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·Ùاع٠اÙÙ
تعدد",chatAboutTrades:"دردش Ù
ع جÙÙ ØÙ٠صÙÙØ§ØªÙ ÙÙØ±ØµÙ ÙØ³ÙØ§Ù Ø§ÙØ³ÙÙ",chatPersonalMentor:"Ù
Ø±Ø´Ø¯Ù Ø§ÙØ´Ø®ØµÙ ÙÙØªØ¯Ø§ÙÙ Ù
ع ÙØµÙÙ ÙØ§Ù
٠إÙÙ Ù
ÙÙÙ",liveMarketData:"Ø¨ÙØ§Ùات Ø§ÙØ³Ù٠اÙÙ
باشرة"},profile:{traderRank:"رتبة اÙÙ
تداÙÙ",next:"Ø§ÙØªØ§ÙÙ:",traderSubtitle:"Ù
تداÙÙ {{level}}",profitable:"Ù
ربØ",developing:"ÙÙØ¯ Ø§ÙØªØ·ÙÙØ±",totalPnl:"إجÙ
اÙÙ Ø§ÙØ±Ø¨Ø/Ø§ÙØ®Ø³Ø§Ø±Ø©",totalProfitGenerated:"إجÙ
اÙÙ Ø§ÙØ±Ø¨Ø اÙÙ
ÙÙØ´Ø£",totalLossIncurred:"إجÙ
اÙÙ Ø§ÙØ®Ø³Ø§Ø±Ø© اÙÙ
ØªÙØ¨Ø¯Ø©",traderLevel:"Ù
ستÙ٠اÙÙ
تداÙÙ",tiers:{rookie:"Ù
بتدئ",silver:"ÙØ¶Ù",gold:"Ø°ÙØ¨Ù",platinum:"Ø¨ÙØ§ØªÙÙÙ",diamond:"Ù
اسÙ",legend:"Ø£Ø³Ø·ÙØ±Ø©"}}}},zh:{translation:{nav:{home:"主页",today:"仿¥",ledger:"è´¦æ¬",analytics:"åæ",agent:"婿",agentStudio:"婿工ä½å®¤",learn:"å¦ä¹ ",chat:"è天",more:"æ´å¤",notifications:"éç¥",tradingContext:"交æèæ¯",community:"社åº",feedback:"åé¦",browseFirms:"æµè§å
¬å¸",upgrade:"å级"},common:{save:"ä¿å",cancel:"åæ¶",confirm:"确认",edit:"ç¼è¾",delete:"å é¤",close:"å
³é",back:"è¿å",next:"ä¸ä¸æ¥",done:"宿",skip:"è·³è¿",continue:"ç»§ç»",letsGo:"å¼å§",loading:"å è½½ä¸â¦",error:"é误",success:"æå",apply:"åºç¨",reset:"éç½®",search:"æç´¢",yes:"æ¯",no:"å¦"},settings:{title:"设置",subtitle:"ç®¡çæ¨ç交æå好åè´¦æ·å®å
¨",appearance:"å¤è§",language:"è¯è¨",languageDesc:"éæ©æ¨çé¦éè¯è¨ã峿¶çæââå¨ç§»å¨ç«¯å iOS åºç¨ä¸æ ééæ°å è½½ã",theme:"主é¢",themePreference:"ä¸ä¸ä¸»é¢ç³»ç»",themeDesc:"æä»¬ç主é¢ç³»ç»ä¸ä¸ºä¸ä¸äº¤æè
è®¾è®¡ï¼æä¾æ ç¼è¿æ¸¡ãå¯è®¿é®æ§åè§åé对ææå
ç´ çä¼åæ§è½ã",lightMode:"æµ
è²æ¨¡å¼",darkMode:"æ·±è²æ¨¡å¼",notifications:"éç¥",account:"è´¦æ·",applyLanguage:"åºç¨è¯è¨",resetToEnglish:"é置为è±è¯",currentLanguage:"å½åè¯è¨",searchLanguage:"æç´¢è¯è¨â¦",changesAutosaved:"æ´æ¹èªå¨ä¿å",tabs:{appearance:"å¤è§",riskRules:"é£é©è§å",integrations:"éæ",notifications:"éç¥",security:"å®å
¨",support:"æ¯æ",referral:"æ¨è"}},market:{open:"å¼ç",closed:"æ¶ç",premarket:"çå",afterhours:"çå",weekend:"卿«",regular:"æ£å¸¸"},trading:{trade:"交æ",trades:"交æè®°å½",profit:"çå©",loss:"äºæ",winRate:"èç",pnl:"çäº",entry:"å
¥åº",exit:"åºåº",size:"è§æ¨¡",setup:"çç¥",notes:"夿³¨"},today:{goodMorning:"æ©ä¸å¥½",goodAfternoon:"ä¸å好",goodEvening:"æä¸å¥½",todaysFocus:"仿¥éç¹",confirmFocus:"确认éç¹",yesFocused:"æ¯çï¼æä¸æ³¨äº",noActiveIssues:"æ²¡ææ´»è·é®é¢ã",stayDisciplined:"ä¿æçºªå¾"},enforcement:{cooldown:"å·éæ",locked:"å·²éå®",warn:"è¦å",cooldownActive:"å·éæè¿è¡ä¸",remaining:"å©ä½",tradingPaused:"交ææå"},dashboard:{welcome:"欢è¿ï¼{{name}}",quickActions:"å¿«æ·æä½",loadingDashboard:"æ£å¨å 载仪表æ¿â¦",actions:{startSession:"å¼å§äº¤æ",ledger:"è´¦æ¬",w
2atchlist:"èªéè¡",analytics:"åæ",learn:"å¦ä¹ ",ideaHub:"çµæä¸å¿",chat:"è天",agent:"婿"},stats:{todaysPnl:"仿¥çäº",thisWeek:"æ¬å¨",totalPnl:"æ»çäº",winRate:"èç",profitFactor:"çå©å å",winStreak:"è¿è",noTradesToday:"仿¥æ 交æ",tradesCount:"{{count}} ç¬äº¤æ",totalTrades:"æ»è®¡ {{count}} ç¬äº¤æ",consecutiveWins:"è¿ç»çå©",consecutiveLosses:"è¿ç»äºæ",excellent:"ä¼ç§",profitable:"çå©",needsWork:"éè¦æ¹è¿",logTradesToSee:"è®°å½äº¤æä»¥æ¥ç"}},onboarding:{progress:{personalize:"个æ§å",connect:"è¿æ¥",activate:"æ¿æ´»"},steps:{language:{title:"éæ©æ¨çè¯è¨",subtitle:'Redline å°å¨åå¤ä½¿ç¨æ¤è¯è¨ââæ¨å¯ä»¥ç¨åå¨"设置"䏿´æ¹ã'},welcome:{title:"æ¬¢è¿æ¥å° Redline",subtitle:"åªé两åéï¼ä¸ªæ§åæ¨ç纪å¾ç³»ç»ã"},profile:{title:"å
³äºæ¨",subtitle:"鿩䏿¨ç交æé£æ ¼å¹é
çè·¯å¾ã"},goal:{title:"æ¨æ¥æ¤ç®çï¼",subtitle:"æ¨çç®æ å³å®æä»¬æ¨èåªäºè§åã"},propfirm:{title:"æ¨å¨åªå®¶å
¬å¸äº¤æï¼",subtitle:"æä»¬å°ä»ä»¬å
¬å¸çè§åéå为æ¨çæ¤æ ã"},risk:{title:"设置æ¨çæ¤æ ",subtitle:"è¿äºæ¯ Redline èªå¨æ§è¡çè§åã"},broker:{title:"è¿æ¥ç»çºªå",subtitle:"èªå¨å¯¼å
¥æ¨ç交æï¼è®©è®°è´¦æ¯«ä¸è´¹åã"},appLock:{title:"éå®ç»çºªååºç¨",subtitle:"å¯éââä»
é iOSãè¿åè§åæ¶é»æ¢ç»çºªååºç¨ã"},plan:{title:"éæ©æ¨ç计å",subtitle:"å
è´¹å¼å§æè§£é宿´æç»ã"},orgJoin:{title:"å å
¥æ¨çå·¥ä½å°",subtitle:"ä½¿ç¨æ¨å¯¼å¸åéçé请ç ã"},orgCreate:{title:"å建æ¨çå·¥ä½å°",subtitle:"宿åå¯ç«å³é请å¦åã"},firstAction:{title:"宿æ¨ç第ä¸ä¸ªå¨ä½",subtitle:"çå®ææ¨¡æäº¤æââä»»ä¸ç§é½å¯ä»¥ã"}}},analytics:{totalPnl:"æ»çäº",winRate:"èç",trades:"交æ",profitFactor:"çå©å å",discipline:"纪å¾",tradeDna:"交æDNA",tradeDnaSubtitle:"æ¨ç¬ç¹ç交ææçº¹",traderLabel:"{{level}}交æè
",analysisWindow:"åæçªå£ï¼",tabs:{overview:"æ¦è§",performance:"ä¸ç»©",patterns:"模å¼",execution:"æ§è¡",risk:"é£é©",psychology:"å¿ç"},levels:{beginner:"æ°æ",intermediate:"ä¸çº§",advanced:"é«çº§",expert:"ä¸å®¶"}},agent:{studio:"婿工ä½å®¤",liveCount:"{{count}} å¨çº¿",tagline:"ç ç©¶æ¨ç飿 ¼ã忍䏿 ·äº¤æã",onboarding:"å
¥é¨",apiDocs:"API ææ¡£",apiKeys:"API å¯é¥",council:"çäºä¼",councilAll:"ä¸è
åä¸",myBots:"æçæºå¨äºº",fromBacktests:"æ¥èªæ¨çåæµ",provisioning:"æ£å¨é
ç½®æ¨ç婿â¦",settingUp:"æ£å¨è®¾ç½®å©æâ¦",chat:"è天",agentInfo:"å©æä¿¡æ¯",pipeline:"管é",shareChart:"Ctrl+V å享å¾è¡¨"},education:{sections:{dashboard:"仪表æ¿",videos:"è§é¢",courses:"课ç¨",books:"书ç±",glossary:"æ¯è¯è¡¨",strategies:"çç¥",psychology:"å¿ç"},descriptions:{},yourProgress:"æ¨çè¿åº¦",dayStreak:"è¿ç» {{count}} 天",videos:"è§é¢",learned:"å·²å¦",courses:"课ç¨",hours:"å°æ¶",streak:"è¿è",searchPlaceholder:"æç´¢â¦"},chat:{tabs:{direct:"ç§è",groups:"群ç»",mentors:"导å¸"},searchPlaceholder:"æç´¢æ¶æ¯...",nav:{messages:"æ¶æ¯",tickerX:"TickerX",rooms:"æ¿é´"},selectConversation:"éæ©ä¼è¯å¼å§è天"},community:{title:"交æç¤¾åº",subtitle:"å享è§è§£ ⢠å交æè
å¦ä¹ ⢠å
±åæé¿",marketOpen:"å¼ç",marketClosed:"æ¶ç",finishCoachingToPost:"宿è¾
导ååå¸",shareYourTrade:"å享æ¨ç交æ",leaderboard:"æè¡æ¦",rankedByPnl:"æçäºæå",tabs:{feed:"卿"}},feedback:{titlePart1:"åé¦",titlePart2:"åè·¯",subtitle:"å¡é Redline çæªæ¥",liveRoadmap:"宿¶è·¯çº¿å¾ · æä»¬é
读æ¯ä¸ªæäº¤",stats:{submitted:"å·²æäº¤",implemented:"å·²å®ç°",upvotes:"ç¹èµ",rank:"æå"},moreToNext:"å {{count}} 个åè³ {{next}}",tabs:{submit:"æäº¤",browse:"æµè§åæç¥¨",browseShort:"æµè§",roadmap:"路线å¾",admin:"管çå",adminPanel:"管ç颿¿"},shareTitle:"å享æ¨çåé¦",shareSubtitle:"æ¨çæ³æ³å¡é Redline",typeQuestion:"ä»ä¹ç±»åçåé¦ï¼"},news:{title:"æ°é»",searchTickerPlaceholder:"æç´¢ä»£ç ...",askJeffAnything:"é® Jeff ä»»ä½äº",multiAiPowered:"å¤ AI 驱å¨",chatAboutTrades:"ä¸ Jeff èèæ¨ç交æãæºä¼åå¸åºèæ¯",chatPersonalMentor:"æ¨çç§äººäº¤æå¯¼å¸ï¼å®å
¨è®¿é®æ¨çä¸ªäººèµæ",liveMarketData:"宿¶å¸åºæ°æ®"},profile:{traderRank:"交æè
ç级",next:"ä¸ä¸ä¸ªï¼",traderSubtitle:"{{level}}交æè
",profitable:"çå©",developing:"åå±ä¸",totalPnl:"æ»çäº",totalProfitGenerated:"æ»çå©",totalLossIncurred:"æ»äºæ",traderLevel:"交æè
级å«",tiers:{rookie:"æ°æ",silver:"ç½é¶",gold:"é»é",platinum:"ç½é",diamond:"é»ç³",legend:"ä¼ å¥"}}}},ja:{translation:{nav:{home:"ãã¼ã ",today:"仿¥",ledger:"åå¼å¸³",analytics:"åæ",agent:"ã¨ã¼ã¸ã§ã³ã",agentStudio:"ã¨ã¼ã¸ã§ã³ãã¹ã¿ã¸ãª",learn:"å¦ç¿",chat:"ãã£ãã",more:"ãã®ä»",notifications:"éç¥",tradingContext:"åå¼ã³ã³ããã¹ã",community:"ã³ãã¥ããã£",feedback:"ãã£ã¼ãããã¯",browseFirms:"ä¼ç¤¾ãæ¢ã",upgrade:"ã¢ããã°ã¬ã¼ã"},common:{save:"ä¿å",cancel:"ãã£ã³ã»ã«",confirm:"確èª",edit:"ç·¨é",delete:"åé¤",close:"éãã",back:"æ»ã",next:"次ã¸",done:"å®äº",skip:"ã¹ããã",continue:"ç¶è¡",letsGo:"ã¯ããã",loading:"èªã¿è¾¼ã¿ä¸â¦",error:"ã¨ã©ã¼",success:"æå",a
2pply:"é©ç¨",reset:"ãªã»ãã",search:"æ¤ç´¢",yes:"ã¯ã",no:"ããã"},settings:{title:"è¨å®",subtitle:"ãã¬ã¼ãè¨å®ã¨ã¢ã«ã¦ã³ãã»ãã¥ãªãã£ã管ç",appearance:"å¤è¦³",language:"è¨èª",languageDesc:"表示è¨èªã鏿ãã¾ãã峿é©ç¨ â ã¢ãã¤ã«/iOSã§åèªã¿è¾¼ã¿ä¸è¦ã",theme:"ãã¼ã",themePreference:"ãã仿§ã®ãã¼ãã·ã¹ãã ",themeDesc:"å½ç¤¾ã®ãã¼ãã·ã¹ãã ã¯ãã·ã¼ã ã¬ã¹ãªé·ç§»ãã¢ã¯ã»ã·ããªãã£æºæ ããã¹ã¦ã®è¦ç´ ã®æé©åãããããã©ã¼ãã³ã¹ã§ããã®ãã¬ã¼ãã¼åãã«è¨è¨ããã¦ãã¾ãã",lightMode:"ã©ã¤ãã¢ã¼ã",darkMode:"ãã¼ã¯ã¢ã¼ã",notifications:"éç¥",account:"ã¢ã«ã¦ã³ã",applyLanguage:"è¨èªãé©ç¨",resetToEnglish:"è±èªã«ãªã»ãã",currentLanguage:"ç¾å¨ã®è¨èª",searchLanguage:"è¨èªãæ¤ç´¢â¦",changesAutosaved:"夿´ã¯èªåçã«ä¿åããã¾ã",tabs:{appearance:"å¤è¦³",riskRules:"ãªã¹ã¯ã«ã¼ã«",integrations:"飿º",notifications:"éç¥",security:"ã»ãã¥ãªãã£",support:"ãµãã¼ã",referral:"ç´¹ä»"}},market:{open:"éå ´",closed:"éå ´",premarket:"ãã¬ãã¼ã±ãã",afterhours:"æéå¤åå¼",weekend:"鱿«",regular:"é常"},trading:{trade:"åå¼",trades:"åå¼ä¸è¦§",profit:"å©ç",loss:"æå¤±",winRate:"åç",pnl:"æç",entry:"ã¨ã³ããªã¼",exit:"ã¤ã°ã¸ãã",size:"ãµã¤ãº",setup:"ã»ããã¢ãã",notes:"ã¡ã¢"},today:{goodMorning:"ãã¯ãããããã¾ã",goodAfternoon:"ããã«ã¡ã¯",goodEvening:"ããã°ãã¯",todaysFocus:"仿¥ã®ãã©ã¼ã«ã¹",confirmFocus:"ãã©ã¼ã«ã¹ã確èª",yesFocused:"ã¯ããéä¸ãã¦ãã¾ã",noActiveIssues:"åé¡ã¯ããã¾ããã",stayDisciplined:"è¦å¾ãä¿ã¡ã¾ããã"},enforcement:{cooldown:"ã¯ã¼ã«ãã¦ã³",locked:"ããã¯ä¸",warn:"è¦å",cooldownActive:"ã¯ã¼ã«ãã¦ã³ä¸",remaining:"æ®ã",tradingPaused:"ãã¬ã¼ã䏿忢"},dashboard:{welcome:"ããããã{{name}}ãã",quickActions:"ã¯ã¤ãã¯ã¢ã¯ã·ã§ã³",loadingDashboard:"ããã·ã¥ãã¼ããèªã¿è¾¼ã¿ä¸â¦",actions:{startSession:"ã»ãã·ã§ã³éå§",ledger:"åå¼å¸³",watchlist:"ã¦ã©ãããªã¹ã",analytics:"åæ",learn:"å¦ç¿",ideaHub:"ã¢ã¤ãã¢ãã",chat:"ãã£ãã",agent:"ã¨ã¼ã¸ã§ã³ã"},stats:{todaysPnl:"æ¬æ¥ã®æç",thisWeek:"ä»é±",totalPnl:"ç·æç",winRate:"åç",profitFactor:"ãããã£ãããã¡ã¯ã¿ã¼",winStreak:"é£å",noTradesToday:"æ¬æ¥ã®åå¼ãªã",tradesCount:"{{count}} ä»¶ã®åå¼",totalTrades:"åè¨ {{count}} ä»¶ã®åå¼",consecutiveWins:"é£åä¸",consecutiveLosses:"飿ä¸",excellent:"åªç§",profitable:"å©çãã",needsWork:"è¦æ¹å",logTradesToSee:"åå¼ãè¨é²ãã¦è¡¨ç¤º"}},onboarding:{progress:{personalize:"ãã¼ã½ãã©ã¤ãº",connect:"æ¥ç¶",activate:"ã¢ã¯ãã£ãã¼ã"},steps:{language:{title:"è¨èªã鏿",subtitle:"Redline ã¯ãã®è¨èªããã¹ã¦ã§ä½¿ç¨ãã¾ã â å¾ã§è¨å®ãã夿´ã§ãã¾ãã"},welcome:{title:"Redline ã¸ãããã",subtitle:"2åã§è¦å¾ã·ã¹ãã ããã¼ã½ãã©ã¤ãºã"},profile:{title:"ããªãã«ã¤ãã¦",subtitle:"ããªãã®ãã¬ã¼ãã¹ã¿ã¤ã«ã«åãéãé¸ãã§ãã ããã"},goal:{title:"ããã«æ¥ãç®çã¯ï¼",subtitle:"ç®æ¨ãæ¨å¥¨ã«ã¼ã«ã決å®ãã¾ãã"},propfirm:{title:"ã©ã®ä¼ç¤¾ã§ãã¬ã¼ãï¼",subtitle:"å
¬éã«ã¼ã«ãã¬ã¼ãã¬ã¼ã«ã«åæ ãã¾ãã"},risk:{title:"ã¬ã¼ãã¬ã¼ã«ãè¨å®",subtitle:"ãããã Redline ãèªåã§é©ç¨ããã«ã¼ã«ã§ãã"},broker:{title:"ããã¼ã«ã¼ãæ¥ç¶",subtitle:"ãã¬ã¼ããèªåã¤ã³ãã¼ããã¸ã£ã¼ããªã³ã°ã楽ã«ã"},appLock:{title:"ããã¼ã«ã¼ã¢ããªãããã¯",subtitle:"ä»»æ â iOSã®ã¿ãã«ã¼ã«éåæã«ã¢ããªããããã¯ã"},plan:{title:"ãã©ã³ã鏿",subtitle:"ç¡æã§éå§ãã¾ãã¯å®å
¨ãªã³ã¼ããè§£é¤ã"},orgJoin:{title:"ãã¹ã¯ã«åå ",subtitle:"ã¡ã³ã¿ã¼ããéãããæå¾
ã³ã¼ãã使ç¨ã"},orgCreate:{title:"ãã¹ã¯ã使",subtitle:"ãã®ç´å¾ã«ã¡ã³ãã£ã¼ãæå¾
ã§ãã¾ãã"},firstAction:{title:"æåã®ã¢ã¯ã·ã§ã³ãå®è¡",subtitle:"å®ãã¬ã¼ãã§ãç´ãã¬ã¼ãã§ãOKã"}}},analytics:{totalPnl:"ç·æç",winRate:"åç",trades:"ãã¬ã¼ã",profitFactor:"ãããã£ãããã¡ã¯ã¿ã¼",discipline:"è¦å¾",tradeDna:"ãã¬ã¼ãDNA",tradeDnaSubtitle:"ããªãç¬èªã®ãã¬ã¼ãã£ã³ã°æç´",traderLabel:"{{level}}ãã¬ã¼ãã¼",analysisWindow:"åææéï¼",tabs:{overview:"æ¦è¦",performance:"ããã©ã¼ãã³ã¹",patterns:"ãã¿ã¼ã³",execution:"å·è¡",risk:"ãªã¹ã¯",psychology:"å¿ç"},levels:{beginner:"åå¿è
",intermediate:"ä¸ç´è
",advanced:"ä¸ç´è
",expert
2:"ã¨ãã¹ãã¼ã"}},agent:{studio:"ã¨ã¼ã¸ã§ã³ãã¹ã¿ã¸ãª",liveCount:"{{count}} ã©ã¤ã",tagline:"ããªãã®ã¹ã¿ã¤ã«ãå¦ã¶ãããªãã®ããã«ãã¬ã¼ãã",onboarding:"ãªã³ãã¼ãã£ã³ã°",apiDocs:"APIããã¥ã¡ã³ã",apiKeys:"APIãã¼",council:"ã«ã¦ã³ã·ã«",councilAll:"3ã¤å
¨ã¦ä¸ç·ã«",myBots:"ãã¤ããã",fromBacktests:"ããã¯ãã¹ããã",provisioning:"ã¨ã¼ã¸ã§ã³ããæºåä¸â¦",settingUp:"ã¨ã¼ã¸ã§ã³ãè¨å®ä¸â¦",chat:"ãã£ãã",agentInfo:"ã¨ã¼ã¸ã§ã³ãæ
å ±",pipeline:"ãã¤ãã©ã¤ã³",shareChart:"Ctrl+Vã§ãã£ã¼ãå
±æ"},education:{sections:{dashboard:"ããã·ã¥ãã¼ã",videos:"åç»",courses:"ã³ã¼ã¹",books:"æ¸ç±",glossary:"ç¨èªé",strategies:"æ¦ç¥",psychology:"å¿ç"},descriptions:{},yourProgress:"ããªãã®é²æ",dayStreak:"{{count}}æ¥é£ç¶",videos:"åç»",learned:"ç¿å¾",courses:"ã³ã¼ã¹",hours:"æé",streak:"é£ç¶",searchPlaceholder:"æ¤ç´¢â¦"},chat:{tabs:{direct:"ãã¤ã¬ã¯ã",groups:"ã°ã«ã¼ã",mentors:"ã¡ã³ã¿ã¼"},searchPlaceholder:"ã¡ãã»ã¼ã¸ãæ¤ç´¢...",nav:{messages:"ã¡ãã»ã¼ã¸",tickerX:"TickerX",rooms:"ã«ã¼ã "},selectConversation:"ãã£ãããå§ããã«ã¯ä¼è©±ã鏿"},community:{title:"ãã¬ã¼ãã£ã³ã°ã³ãã¥ããã£",subt
2itle:"ã¤ã³ãµã¤ããå
±æ ⢠ãã¬ã¼ãã¼ããå¦ã¶ ⢠å
±ã«æé·",marketOpen:"å¸å ´ãªã¼ãã³",marketClosed:"å¸å ´ã¯ãã¼ãº",finishCoachingToPost:"æç¨¿ããã«ã¯ã³ã¼ãã³ã°ãå®äº",shareYourTrade:"ãã¬ã¼ããå
±æ",leaderboard:"ãªã¼ãã¼ãã¼ã",rankedByPnl:"æçé ",tabs:{feed:"ãã£ã¼ã"}},feedback:{titlePart1:"ãã£ã¼ãããã¯",titlePart2:"ã«ã¼ã",subtitle:"Redlineã®æªæ¥ãå½¢ä½ã",liveRoadmap:"ã©ã¤ããã¼ãããã · ãã¹ã¦ã®æåºãèªã¿ã¾ã",stats:{submitted:"éä¿¡æ¸ã¿",implemented:"å®è£
æ¸ã¿",upvotes:"è³æ",rank:"ã©ã³ã¯"},moreToNext:"{{next}}ã¾ã§ãã¨{{count}}",tabs:{submit:"éä¿¡",browse:"é²è¦§ã¨æç¥¨",browseShort:"é²è¦§",roadmap:"ãã¼ãããã",admin:"管ç",adminPanel:"管çããã«"},shareTitle:"ãã£ã¼ãããã¯ãå
±æ",shareSubtitle:"ããªãã®ã¢ã¤ãã¢ãRedlineãå½¢ä½ã",typeQuestion:"ã©ã®ã¿ã¤ãã®ãã£ã¼ãããã¯ï¼"},news:{title:"ãã¥ã¼ã¹",searchTickerPlaceholder:"ãã£ãã«ã¼æ¤ç´¢...",askJeffAnything:"Jeffã«ä½ã§ãèã",multiAiPowered:"ãã«ãAIæè¼",chatAboutTrades:"Jeffã¨ããªãã®ãã¬ã¼ããæ©ä¼ãå¸å ´ç¶æ³ã«ã¤ãã¦è©±ã",chatPersonalMentor:"ãããã£ã¼ã«ã«å®å
¨ã¢ã¯ã»ã¹ã§ãããã¼ã½ãã«ãã¬ã¼ãã£ã³ã°ã¡ã³ã¿ã¼",liveMarketData:"ã©ã¤ããã¼ã±ãããã¼ã¿"},profile:{traderRank:"ãã¬ã¼ãã¼ã©ã³ã¯",next:"次ï¼",traderSubtitle:"{{level}}ãã¬ã¼ãã¼",profitable:"å©çãã",developing:"çºå±ä¸",totalPnl:"ç·æç",totalProfitGenerated:"ç·å©ççæ",totalLossIncurred:"ç·æå¤±",traderLevel:"ãã¬ã¼ãã¼ã¬ãã«",tiers:{rookie:"ã«ã¼ãã¼",silver:"ã·ã«ãã¼",gold:"ã´ã¼ã«ã",platinum:"ãã©ãã",diamond:"ãã¤ã¤ã¢ã³ã",legend:"ã¬ã¸ã§ã³ã"}}}},ko:{translation:{nav:{home:"í",today:"ì¤ë",ledger:"ê±°ëì¥",analytics:"ë¶ì",agent:"ìì´ì í¸",agentStudio:"ìì´ì í¸ ì¤íëì¤",learn:"íìµ",chat:"ì±í
",more:"ë 보기",notifications:"ì림",tradingContext:"ê±°ë 컨í
ì¤í¸",community:"커뮤ëí°",feedback:"í¼ëë°±",browseFirms:"íì¬ íì",upgrade:"ì
ê·¸ë ì´ë"},common:{save:"ì ì¥",cancel:"ì·¨ì",confirm:"íì¸",edit:"í¸ì§",delete:"ìì ",close:"ë«ê¸°",back:"ë¤ë¡",next:"ë¤ì",done:"ìë£",skip:"ê±´ëë°ê¸°",continue:"ê³ì",letsGo:"ìì",loading:"ë¡ë© ì¤â¦",error:"ì¤ë¥",success:"ì±ê³µ",apply:"ì ì©",reset:"ì´ê¸°í",search:"ê²ì",yes:"ì",no:"ìëì¤"}
2,settings:{title:"ì¤ì ",subtitle:"í¸ë ì´ë© íê²½ ì¤ì ê³¼ ê³ì ë³´ì ê´ë¦¬",appearance:"ì¸ê´",language:"ì¸ì´",languageDesc:"ì í¸íë ì¸ì´ë¥¼ ì ííì¸ì. ì¦ì ì ì© â 모ë°ì¼ê³¼ iOS ì±ìì ìë¡ê³ 침 ìì´ ìë.",theme:"í
ë§",themePreference:"íë¡íì
ë í
ë§ ìì¤í
",themeDesc:"ì í¬ í
ë§ ìì¤í
ì ì 문 í¸ë ì´ë를 ìí´ ë§¤ëë¬ì´ ì í, ì ê·¼ì± ì¤ì, 모ë ììì ëí ìµì íë ì±ë¥ì¼ë¡ ì¤ê³ëììµëë¤.",lightMode:"ë¼ì´í¸ 모ë",darkMode:"ë¤í¬ 모ë",notifications:"ì림",account:"ê³ì ",applyLanguage:"ì¸ì´ ì ì©",resetToEnglish:"ìì´ë¡ ì´ê¸°í",currentLanguage:"íì¬ ì¸ì´",searchLanguage:"ì¸ì´ ê²ìâ¦",changesAutosaved:"ë³ê²½ ì¬íì ìëì¼ë¡ ì ì¥ë©ëë¤",tabs:{appearance:"ì¸ê´",riskRules:"리ì¤í¬ ê·ì¹",integrations:"íµí©",notifications:"ì림",security:"ë³´ì",support:"ì§ì",referral:"ì¶ì²"}},market:{open:"ê°ì¥",closed:"í´ì¥",premarket:"í리ë§ì¼",afterhours:"ìê°ì¸ ê±°ë",weekend:"주ë§",regular:"ì ê·"},trading:{trade:"ê±°ë",trades:"ê±°ë ë´ì",profit:"ì´ìµ",loss:"ìì¤",winRate:"ì¹ë¥ ",pnl:"ììµ",entry:"ì§ì
",exit:"ì²ì°",size:"ìë",setup:"ì ëµ",notes:"ë©ëª¨"},today:{goodMorning:"ì¢ì ì침",goodAfternoon:"ìë
íì¸ì",goodEvening:"ìë
íì¸ì",todaysFocus:"ì¤ëì ì§ì¤",confirmFocus:"ì§ì¤ íì¸",yesFocused:"ë¤, ì§ì¤íê³ ìì´ì",noActiveIssues:"íì± ë¬¸ì ìì.",stayDisciplined:"ê·ì¨ì ì ì§íì¸ì"},enforcement:{cooldown:"쿨ë¤ì´",locked:"ì ê¹",warn:"ê²½ê³ ",cooldownActive:"쿨ë¤ì´ ì¤",remaining:"ë¨ì",tradingPaused:"ê±°ë ì¼ìì ì§"},dashboard:{welcome:"íìí©ëë¤, {{name}}ë",quickActions:"ë¹ ë¥¸ ìì
",loadingDashboard:"ëìë³´ë를 ë¶ë¬ì¤ë ì¤â¦",actions:{startSession:"ì¸ì
ìì",ledger:"ê±°ëì¥",watchlist:"ê´ì¬ ì¢
목",anal
2ytics:"ë¶ì",learn:"íìµ",ideaHub:"ìì´ëì´ íë¸",chat:"ì±í
",agent:"ìì´ì í¸"},stats:{todaysPnl:"ì¤ëì ììµ",thisWeek:"ì´ë² 주",totalPnl:"ì´ ììµ",winRate:"ì¹ë¥ ",profitFactor:"ììµ í©í°",winStreak:"ì°ì¹",noTradesToday:"ì¤ë ê±°ë ìì",tradesCount:"{{count}}ê±´ ê±°ë",totalTrades:"ì´ {{count}}ê±´ ê±°ë",consecutiveWins:"ì°ì ì¹ë¦¬",consecutiveLosses:"ì°ì í¨ë°°",excellent:"íë¥í¨",profitable:"ììµì± ìì",needsWork:"ê°ì íì",logTradesToSee:"ê±°ë를 기ë¡íì¬ íì¸"}},onboarding:{progress:{personalize:"ê°ì¸í",connect:"ì°ê²°",activate:"íì±í"},steps:{language:{title:"ì¸ì´ ì í",subtitle:"Redlineì´ ëª¨ë ê³³ìì ì¬ì© â ëì¤ì ì¤ì ìì ë³ê²½ ê°ë¥í©ëë¤."},welcome:{title:"Redlineì ì¤ì ê²ì íìí©ëë¤",subtitle:"ê·ì¨ ìì¤í
ì 2ë¶ ìì ê°ì¸ííì¸ì."},profile:{title:"ë¹ì ì ëí´",subtitle:"ê±°ë ì¤íì¼ì ë§ë ê²½ë¡ë¥¼ ì ííì¸ì."},goal:{title:"ì¬ê¸° ì¨ ì´ì ë?",subtitle:"목íê° ì¶ì² ê·ì¹ì ê²°ì í©ëë¤."},propfirm:{title:"ì´ë¤ íì¬ìì ê±°ë?",subtitle:"ê³µê°ë ê·ì¹ì ê°ëë ì¼ë¡ ë°ìí©ëë¤."}
2,risk:{title:"ê°ëë ì¼ ì¤ì ",subtitle:"Redlineì´ ìëì¼ë¡ ì ì©íë ê·ì¹ì
ëë¤."},broker:{title:"ë¸ë¡ì»¤ ì°ê²°",subtitle:"ê±°ë를 ìë ê°ì ¸ì ì ëë§ì´ ì¬ìì§ëë¤."},appLock:{title:"ë¸ë¡ì»¤ ì± ì ê¸",subtitle:"ì í â iOS ì ì©. ê·ì¹ ìë° ì ì±ì ì°¨ë¨í©ëë¤."},plan:{title:"íë ì í",subtitle:"무ë£ë¡ ììíê±°ë ì ì²´ ì½ì¹ë¥¼ ì ê¸ í´ì ."},orgJoin:{title:"ë°ì¤í¬ ì°¸ì¬",subtitle:"ë©í ê° ë³´ë¸ ì´ë ì½ë를 ì¬ì©íì¸ì."},orgCreate:{title:"ë°ì¤í¬ ë§ë¤ê¸°",subtitle:"ë°ë¡ íì ë©í°ë¥¼ ì´ëí ì ììµëë¤."},firstAction:{title:"첫 ë²ì§¸ ì¡ì
ìí",subtitle:"ì¤ê±°ë ëë íì´í¼ ê±°ë 모ë ê°ë¥."}}},analytics:{totalPnl:"ì´ ììµ",winRate:"ì¹ë¥ ",trades:"ê±°ë",profitFactor:"ììµ í©í°",discipline:"ê·ì¨",tradeDna:"ê±°ë DNA",tradeDnaSubtitle:"ë¹ì ì ê³ ì í í¸ë ì´ë© ì§ë¬¸",traderLabel:"{{level}} í¸ë ì´ë",analysisWindow:"ë¶ì 기ê°:",tabs:{overview:"ê°ì",performance:"ì±ê³¼",patterns:"í¨í´",execution:"ì¤í",risk:"리ì¤í¬",psychology:"ì¬ë¦¬"},levels:{beginner:"ì´ë³´ì",intermediate:"ì¤ê¸ì",advanced:"ê³ ê¸ì",expert:"ì 문ê°"}},agent:{studio:"ìì´ì í¸ ì¤íëì¤",liveCount:"{{count}} íì±",tagline:"ë¹ì ì ì¤íì¼ì ì°êµ¬íì¸ì. ë¹ì ì²ë¼ ê±°ëíì¸ì.",onboarding:"ì¨ë³´ë©",apiDocs:"API 문ì",apiKeys:"API í¤",council:"ì¹´ì´ì¬",councilAll:"ì
ì´ í¨ê»",myBots:"ë´ ë´",fromBacktests:"ë°±í
ì¤í¸ìì",provisioning:"ìì´ì í¸ íë¡ë¹ì ë ì¤â¦",settingUp:"ìì´ì í¸ ì¤ì ì¤â¦",chat:"ì±í
",agentInfo:"ìì´ì í¸ ì ë³´",pipeline:"íì´íë¼ì¸",shareChart:"Ctrl+Vë¡ ì°¨í¸ ê³µì "},education:{sections:{dashboard:"ëìë³´ë",videos:"ë¹ëì¤",courses:"ê°ì¢",books:"ëì",glossary:"ì©ì´ì§",strategies:"ì ëµ",psychology:"ì¬ë¦¬"},descriptions:{},yourProgress:"ë¹ì ì ì§í",dayStreak:"{{count}}ì¼ ì°ì",videos:"ë¹ëì¤",learned:"íìµ",courses:"ê°ì¢",hours:"ìê°",streak:"ì°ì",searchPlaceholder:"ê²ìâ¦"},chat:{tabs:{direct:"ë¤ì´ë í¸",groups:"그룹",mentors:"ë©í "},searchPlaceholder:"ë©ìì§ ê²ì...",nav:{messages:"ë©ìì§",tickerX:"TickerX",rooms:"룸"},selectConversation:"ëí를 ì ííì¬ ì±í
ìì"}
2,community:{title:"í¸ë ì´ë© 커뮤ëí°",subtitle:"ì¸ì¬ì´í¸ ê³µì ⢠í¸ë ì´ëìê² ë°°ì°ê¸° ⢠í¨ê» ì±ì¥",marketOpen:"ì¥ ê°ì¥",marketClosed:"ì¥ ë§ê°",finishCoachingToPost:"ê²ìíë ¤ë©´ ì½ì¹ ìë£",shareYourTrade:"ê±°ë ê³µì ",leaderboard:"리ëë³´ë",rankedByPnl:"ììµ ìì",tabs:{feed:"í¼ë"}},feedback:{titlePart1:"í¼ëë°±",titlePart2:"루í",subtitle:"Redlineì 미ë를 ë§ë¤ì´ê°ì¸ì",liveRoadmap:"ì¤ìê° ë¡ëë§µ · 모ë ì ì¶ì ì½ìµëë¤",stats:{submitted:"ì ì¶ë¨",implemented:"구íë¨",upvotes:"ì°¬ì±",rank:"ìì"},moreToNext:"{{next}}ê¹ì§ {{count}}ê° ë",tabs:{submit:"ì ì¶",browse:"ëë¬ë³´ê³ í¬í",browseShort:"ëë¬ë³´ê¸°",roadmap:"ë¡ëë§µ",admin:"ê´ë¦¬ì",adminPanel:"ê´ë¦¬ì í¨ë"},shareTitle:"í¼ëë°± ê³µì ",shareSubtitle:"ë¹ì ì ìì´ëì´ê° Redlineì ë§ëëë¤",typeQuestion:"ì´ë¤ ì¢
ë¥ì í¼ëë°±ì
ëê¹?"},news:{title:"ë´ì¤",searchTickerPlaceholder:"í°ì»¤ ê²ì...",askJeffAnything:"Jeffìê² ë¬¼ì´ë³´ì¸ì",multiAiPowered:"ë©í° AI 기ë°",chatAboutTrades:"ê±°ë, 기í, ìì¥ ìí©ì ëí´ Jeffì ì±í
",chatPersonalMentor:"íë¡íì ìì í ì¡ì¸ì¤ ê¶íì´ ìë ê°ì¸ í¸ë ì´ë© ë©í ",liveMarketData:"ì¤ìê° ìì¥ ë°ì´í°"},profile:{traderRank:"í¸ë ì´ë ë±ê¸",next:"ë¤ì:",traderSubtitle:"{{level}} í¸ë ì´ë",profitable:"ììµì±",developing:"ê°ë° ì¤",totalPnl:"ì´ ììµ",totalProfitGenerated:"ìì±ë ì´ ììµ",totalLossIncurred:"ë°ìí ì´ ìì¤",traderLevel:"í¸ë ì´ë ë 벨",tiers:{rookie:"루í¤",silver:"ì¤ë²",gold:"골ë",platinum:"íëí°ë",diamond:"ë¤ì´ì몬ë",legend:"ë ì ë"}}}},ru:{translation:{nav:{home:"ÐлавнаÑ",today:"СегоднÑ",ledger:"ÐÑÑнал",analytics:"ÐналиÑика",agent:"ÐгенÑ",agentStudio:"СÑÑÐ´Ð¸Ñ Ð°Ð³ÐµÐ½Ñа",learn:"ÐбÑÑение",chat:"ЧаÑ",more:"ÐÑÑ",notifications:"УведомлениÑ",tradingContext:"ТоÑговÑй конÑекÑÑ",community:"СообÑеÑÑво",feedback:"ÐÑзÑвÑ",browseFirms:"ÐÐ±Ð·Ð¾Ñ ÑиÑм",upgrade:"УлÑÑÑиÑÑ"},common:{save:"СоÑ
ÑаниÑÑ",cancel:"ÐÑмена",confirm:"ÐодÑвеÑдиÑÑ",edit:"ÐзмениÑÑ",delete:"УдалиÑÑ",close:"ÐакÑÑÑÑ",back:"Ðазад",next:"Ðалее",done:"ÐоÑово",skip:"ÐÑопÑÑÑиÑÑ",continue:"ÐÑодолжиÑÑ",letsGo:"ÐоеÑ
али",loading:"ÐагÑÑзкаâ¦",error:"ÐÑибка",success:"УÑпеÑно",apply:"ÐÑимениÑÑ",reset:"СбÑоÑиÑÑ",search:"ÐоиÑк",yes:"Ðа",no:"ÐеÑ"},settings:{title:"ÐаÑÑÑойки",subtitle:"УпÑавлÑйÑе ÑоÑговÑми наÑÑÑойками и безопаÑноÑÑÑÑ Ð°ÐºÐºÐ°ÑнÑа",appearance:"ÐнеÑний вид",language:"ЯзÑк",languageDesc:"ÐÑбеÑиÑе пÑедпоÑÑиÑелÑнÑй ÑзÑк. ÐÑименÑеÑÑÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾ â ÑабоÑÐ°ÐµÑ Ð½Ð° мобилÑном и iOS без пеÑезагÑÑзки.",theme:"Тема",themePreference:"ÐÑоÑеÑÑионалÑÐ½Ð°Ñ ÑиÑÑема Ñем",themeDesc:"ÐаÑа ÑиÑÑема Ñем ÑазÑабоÑана Ð´Ð»Ñ Ð¿ÑоÑеÑÑионалÑнÑÑ
ÑÑейдеÑов Ñ Ð¿Ð»Ð°Ð²Ð½Ñми пеÑеÑ
одами, ÑооÑвеÑÑÑвием доÑÑÑпноÑÑи и опÑимизиÑованной пÑоизводиÑелÑноÑÑÑÑ Ð´Ð»Ñ Ð²ÑеÑ
ÑлеменÑов.",lightMode:"СвеÑÐ»Ð°Ñ Ñема",darkMode:"ТÑÐ¼Ð½Ð°Ñ Ñема",notifications:"УведомлениÑ",account:"ÐккаÑнÑ",applyLanguage:"ÐÑимениÑÑ ÑзÑк",resetToEnglish:"СбÑоÑиÑÑ Ð½Ð° английÑкий",currentLanguage:"ТекÑÑий ÑзÑк",searchLanguage:"ÐайÑи ÑзÑкâ¦",changesAutosaved:"ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑоÑ
ÑанÑÑÑÑÑ Ð°Ð²ÑомаÑиÑеÑки",tabs:{appearance:"ÐнеÑний вид",riskRules:"ÐÑавила ÑиÑка",integrations:"ÐнÑегÑаÑии",notifications:"УведомлениÑ",security:"ÐезопаÑноÑÑÑ",support:"ÐоддеÑжка",referral:"РеÑеÑалÑ"}},market:{open:"ÐÑкÑÑÑ",closed:"ÐакÑÑÑ",premarket:"ÐÑедбиÑжевой",afterhours:"ÐоÑле закÑÑÑиÑ",weekend:"ÐÑÑ
однÑе",regular:"ÐÑÐ½Ð¾Ð²Ð½Ð°Ñ ÑеÑÑиÑ
2"},trading:{trade:"Сделка",trades:"Сделки",profit:"ÐÑибÑлÑ",loss:"УбÑÑок",winRate:"ÐÑоÑÐµÐ½Ñ ÑÑпеÑ
а",pnl:"Ð/У",entry:"ÐÑ
од",exit:"ÐÑÑ
од",size:"ÐбÑÑм",setup:"СÑÑаÑегиÑ",notes:"ÐамеÑки"},today:{goodMorning:"ÐобÑое ÑÑÑо",goodAfternoon:"ÐобÑÑй денÑ",goodEvening:"ÐобÑÑй веÑеÑ",todaysFocus:"ФокÑÑ Ð´Ð½Ñ",confirmFocus:"ÐодÑвеÑдиÑÑ ÑокÑÑ",yesFocused:"Ðа, Ñ ÑоÑÑедоÑоÑен",noActiveIssues:"ÐÐµÑ Ð°ÐºÑивнÑÑ
пÑоблем.",stayDisciplined:"СоÑ
ÑанÑйÑе диÑÑиплинÑ"},enforcement:{cooldown:"ÐÑлдаÑн",locked:"ÐаблокиÑовано",warn:"ÐÑедÑпÑеждение",cooldownActive:"ÐÑлдаÑн акÑивен",remaining:"оÑÑалоÑÑ",tradingPaused:"ТоÑÐ³Ð¾Ð²Ð»Ñ Ð¿ÑиоÑÑановлена"},dashboard:{welcome:"ÐобÑо пожаловаÑÑ, {{name}}",quickActions:"ÐÑÑÑÑÑе дейÑÑвиÑ",loadingDashboard:"ÐагÑÑзка панелиâ¦",actions:{startSession:"ÐаÑаÑÑ ÑеÑÑиÑ",ledger:"ÐÑÑнал",watchlist:"СпиÑок наблÑдениÑ",analytics:"ÐналиÑика",learn:"ÐбÑÑение",ideaHub:"ЦенÑÑ Ð¸Ð´ÐµÐ¹",chat:"ЧаÑ",agent:"ÐгенÑ"},stats:{todaysPnl:"Ð/У ÑегоднÑ",thisWeek:"Ðа ÑÑой неделе",totalPnl:"ÐбÑий Ð/У",winRate:"ÐÑоÑÐµÐ½Ñ Ð¿Ð¾Ð±ÐµÐ´",profitFactor:"ÐÑоÑиÑ-ÑакÑоÑ",winStreak:"СеÑÐ¸Ñ Ð¿Ð¾Ð±ÐµÐ´",noTradesToday:"Ð¡ÐµÐ³Ð¾Ð´Ð½Ñ Ñделок неÑ",tradesCount:"{{count}} Ñделок",totalTrades:"ÐÑего {{count}} Ñделок",consecutiveWins:"Ðобед подÑÑд",consecutiveLosses:"ÐоÑажений подÑÑд",excellent:"ÐÑлиÑно",profitable:"ÐÑибÑлÑно",needsWork:"ТÑебÑÐµÑ ÑабоÑÑ",logTradesToSee:"ÐапиÑÑвайÑе Ñделки, ÑÑÐ¾Ð±Ñ ÑвидеÑÑ"}},onboarding:{progress:{personalize:"ÐеÑÑонализаÑиÑ",connect:"ÐодклÑÑение",activate:"ÐкÑиваÑиÑ"},steps:{language:{title:"ÐÑбеÑиÑе ÑзÑк",subtitle:"Redline бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ ÐµÐ³Ð¾ везде â можно ÑмениÑÑ Ð¿Ð¾Ð·Ð¶Ðµ в ÐаÑÑÑойкаÑ
."},welcome:{title:"ÐобÑо пожаловаÑÑ Ð² Redline",subtitle:"Ðве минÑÑÑ, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑÑонализиÑоваÑÑ Ð²Ð°ÑÑ ÑиÑÑÐµÐ¼Ñ Ð´Ð¸ÑÑиплинÑ."},profile:{title:"РваÑ",subtitle:"ÐÑбеÑиÑе пÑÑÑ, ÑооÑвеÑÑÑвÑÑÑий ваÑÐµÐ¼Ñ ÑÑÐ¸Ð»Ñ ÑоÑговли."},goal:{title:"ÐаÑем Ð²Ñ Ð·Ð´ÐµÑÑ?",subtitle:"ÐаÑа ÑÐµÐ»Ñ Ð¾Ð¿ÑеделÑеÑ, какие пÑавила Ð¼Ñ ÑекомендÑем."},propfirm:{title:"С какой ÑиÑмой ÑабоÑаеÑе?",subtitle:"ÐÑ Ð¾ÑÑажаем иÑ
опÑбликованнÑе пÑавила в ваÑиÑ
огÑаждениÑÑ
."},risk:{title:"ÐаÑÑÑойÑе огÑаждениÑ",subtitle:"ÐÑо пÑавила, коÑоÑÑе Redline пÑименÑÐµÑ Ð°Ð²ÑомаÑиÑеÑки."},broker:{title:"ÐодклÑÑиÑе бÑокеÑа",subtitle:"ÐвÑомаÑиÑеÑкий импоÑÑ Ñделок Ð´Ð»Ñ Ñдобного жÑÑналиÑованиÑ."},appLock:{title:"ÐлокиÑовка пÑиложений бÑокеÑа",subtitle:"ÐеобÑзаÑелÑно â ÑолÑко iOS. ÐлокиÑÑÐµÑ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ñи наÑÑÑении пÑавила."},plan:{title:"ÐÑбеÑиÑе план",subtitle:"ÐаÑниÑе беÑплаÑно или ÑазблокиÑÑйÑе полного коÑÑа."},orgJoin:{title:"ÐÑиÑоединиÑÑÑÑ Ðº команде",subtitle:"ÐÑполÑзÑйÑе код пÑиглаÑÐµÐ½Ð¸Ñ Ð¾Ñ Ð²Ð°Ñего наÑÑавника."},orgCreate:{title:"СоздайÑе ÑÐ²Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ",subtitle:"ÐÑ ÑможеÑе пÑиглаÑиÑÑ Ð¿Ð¾Ð´Ð¾Ð¿ÐµÑнÑÑ
ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле."},firstAction:{title:"СделайÑе пеÑвÑй Ñаг",subtitle:"РеалÑÐ½Ð°Ñ Ð¸Ð»Ð¸ бÑÐ¼Ð°Ð¶Ð½Ð°Ñ Ñделка â подойдÑÑ Ð»ÑбаÑ."}}},analytics:{totalPnl:"ÐбÑий Ð/У",winRate:"ÐÑоÑÐµÐ½Ñ ÑÑпеÑ
а",trades:"Сделки",profitFactor:"ÐÑоÑиÑ-ÑакÑоÑ",discipline:"ÐиÑÑиплина",tradeDna:"ÐÐРТÑейдинга",tradeDnaSubtitle:"ÐÐ°Ñ ÑникалÑнÑй ÑоÑговÑй оÑпеÑаÑок",traderLabel:"ТÑÐµÐ¹Ð´ÐµÑ ÑÑÐ¾Ð²Ð½Ñ {{level}}",analysisWindow:"Ðкно анализа:",tabs:{overview:"ÐбзоÑ",performance:"РезÑлÑÑаÑÑ",patterns:"ÐаÑÑеÑнÑ",execution:"ÐÑполнение",risk:"РиÑк",psychology:"ÐÑиÑ
ологиÑ"},levels:{beginner:"ÐаÑинаÑÑий",intermediate:"СÑедний",advanced:"ÐÑодвинÑÑÑй",expert:"ÐкÑпеÑÑ"}},agent:{studio:"СÑÑÐ´Ð¸Ñ Ð°Ð³ÐµÐ½Ñа",liveCount:"{{count}} акÑивнÑÑ
",tagline:"ÐзÑÑайÑе Ñвой ÑÑилÑ. ТоÑгÑйÑе как вÑ.",onboarding:"Ðведение",apiDocs:"ÐокÑменÑаÑÐ¸Ñ API",apiKeys:"ÐлÑÑи API",council:"СовеÑ",councilAll:"ÐÑе ÑÑое вмеÑÑе",myBots:"Ðои боÑÑ",fromBacktests:"Ðз ваÑиÑ
бÑкÑеÑÑов",provisioning:"ÐодгоÑовка ваÑиÑ
агенÑовâ¦",settingUp:"ÐаÑÑÑойка агенÑаâ¦",chat:"ЧаÑ",agentInfo:"ÐнÑо об агенÑе",pipeline:"Ðайплайн",shareChart:"Ctrl+V ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð´ÐµÐ»Ð¸ÑÑÑÑ Ð³ÑаÑиком"},education:{sections:{dashboard:"ÐанелÑ",videos:"Ðидео",courses:"ÐÑÑÑÑ",books:"Ðниги",glossary:"ÐлоÑÑаÑий",strategies:"СÑÑаÑегии",psychology:"ÐÑиÑ
ологиÑ"},descriptions:{},yourProgress:"ÐÐ°Ñ Ð¿ÑогÑеÑÑ",dayStreak:"СеÑÐ¸Ñ {{count}} дн.",videos:"Ðидео",learned:"ÐзÑÑено",courses:"ÐÑÑÑÑ",hours:"ЧаÑÑ",streak:"СеÑиÑ",searchPlaceholder:"ÐоиÑкâ¦"},chat:{tabs:{direct:"ÐиÑнÑе",groups:"ÐÑÑппÑ",mentors:"ÐенÑоÑÑ"},searchPlaceholder:"ÐоиÑк ÑообÑений...",nav:{messages:"СообÑениÑ",tickerX:"TickerX",rooms:"ÐомнаÑÑ"},selectConversation:"ÐÑбеÑиÑе диалог Ð´Ð»Ñ Ð½Ð°Ñала ÑаÑа"},community:{title:"СообÑеÑÑво ÑÑейдеÑов",subtitle:"ÐелиÑеÑÑ Ð¸Ð½ÑайÑами ⢠УÑиÑеÑÑ Ñ ÑÑейдеÑов ⢠РаÑÑиÑе вмеÑÑе",marketOpen:"Ð Ñнок оÑкÑÑÑ",marketClosed:"Ð Ñнок закÑÑÑ",finishCoachingToPost:"ÐавеÑÑиÑе коÑÑинг, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑбликоваÑÑ",shareYourTrade:"ÐоделиÑÑÑÑ Ñделкой",leaderboard:"ТаблиÑа лидеÑов",rankedByPnl:"СоÑÑиÑовка по Ð&У",tabs:{feed:"ÐенÑа"}},feedback:{titlePart1:"Цикл",titlePart2:"ÐбÑаÑной ÑвÑзи",subt
2itle:"ФоÑмиÑÑйÑе бÑдÑÑее Redline",liveRoadmap:"Ðивой Ñоадмап · ÐÑ ÑиÑаем каждое пÑедложение",stats:{submitted:"ÐÑпÑавлено",implemented:"Реализовано",upvotes:"ÐолоÑа",rank:"Ранг"},moreToNext:"ÐÑÑ {{count}} до {{next}}",tabs:{submit:"ÐÑпÑавиÑÑ",browse:"ÐÐ±Ð·Ð¾Ñ Ð¸ голоÑование",browseShort:"ÐбзоÑ",roadmap:"Роадмап",admin:"Ðдмин",adminPanel:"Ðдмин-панелÑ"},shareTitle:"ÐоделиÑеÑÑ Ð¾ÑзÑвом",shareSubtitle:"ÐаÑи идеи ÑоÑмиÑÑÑÑ Redline",typeQuestion:"Ðакой Ñип оÑзÑва?"},news:{title:"ÐовоÑÑи",searchTickerPlaceholder:"ÐоиÑк ÑикеÑа...",askJeffAnything:"СпÑоÑиÑе ÐжеÑÑа",multiAiPowered:"ÐÑлÑÑи-ÐÐ",chatAboutTrades:"ÐбÑÑдиÑе Ñ ÐжеÑÑом ваÑи Ñделки, возможноÑÑи и конÑекÑÑ ÑÑнка",chatPersonalMentor:"ÐÐ°Ñ Ð»Ð¸ÑнÑй ÑоÑговÑй менÑÐ¾Ñ Ñ Ð¿Ð¾Ð»Ð½Ñм доÑÑÑпом к ваÑÐµÐ¼Ñ Ð¿ÑоÑилÑ",liveMarketData:"ÐивÑе ÑÑноÑнÑе даннÑе"},profile:{traderRank:"Ранг ÑÑейдеÑа",next:"Ðалее:",traderSubtitle:"ТÑÐµÐ¹Ð´ÐµÑ ÑÑÐ¾Ð²Ð½Ñ {{level}}",profitable:"ÐÐ ÐÐЫÐЬÐЫÐ",developing:"Ð ÐÐÐÐÐÐЮЩÐÐСЯ",totalPnl:"ÐбÑий Ð&У",totalProfitGenerated:"ÐбÑÐ°Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½Ð°Ñ Ð¿ÑибÑлÑ",totalLossIncurred:"ÐбÑий понеÑÑннÑй ÑбÑÑок",traderLevel:"УÑÐ¾Ð²ÐµÐ½Ñ ÑÑейдеÑа",tiers:{rookie:"ÐовиÑок",silver:"СеÑебÑо",gold:"ÐолоÑо",platinum:"ÐлаÑина",diamond:"ÐÑиллианÑ",legend:"Ðегенда"}}}},hi:{translation:{nav:{home:"हà¥à¤®",today:"à¤à¤",ledger:"लà¥à¤à¤°",analytics:"विशà¥à¤²à¥à¤·à¤£",agent:"à¤à¤à¥à¤à¤",agentStudio:"à¤à¤à¥à¤à¤ सà¥à¤à¥à¤¡à¤¿à¤¯à¥",learn:"सà¥à¤à¥à¤",chat:"à¤à¥à¤",more:"à¤à¤°",notifications:"सà¥à¤à¤¨à¤¾à¤à¤",tradingContext:"à¤à¥à¤°à¥à¤¡à¤¿à¤à¤ सà¤à¤¦à¤°à¥à¤",community:"समà¥à¤¦à¤¾à¤¯",feedback:"फ़à¥à¤¡à¤¬à¥à¤",browseFirms:"फरà¥à¤® बà¥à¤°à¤¾à¤à¤à¤¼ à¤à¤°à¥à¤",upgrade:"à¤
पà¤à¥à¤°à¥à¤¡"},common:{save:"सहà¥à¤à¥à¤",cancel:"रदà¥à¤¦ à¤à¤°à¥à¤",confirm:"पà¥à¤·à¥à¤à¤¿ à¤à¤°à¥à¤",edit:"सà¤à¤ªà¤¾à¤¦à¤¿à¤¤ à¤à¤°à¥à¤",delete:"हà¤à¤¾à¤à¤",close:"बà¤à¤¦ à¤à¤°à¥à¤",back:"वापस",next:"à¤
à¤à¤²à¤¾",done:"पà¥à¤°à¥à¤£",skip:"à¤à¥à¤¡à¤¼à¥à¤",continue:"à¤à¤¾à¤°à¥ रà¤à¥à¤",letsGo:"à¤à¤²à¤¿à¤",loading:"लà¥à¤¡ हॠरहा हà¥â¦",error:"तà¥à¤°à¥à¤à¤¿",success:"सफलता",apply:"लाà¤à¥ à¤à¤°à¥à¤",reset:"रà¥à¤¸à¥à¤",search:"à¤à¥à¤à¥à¤",yes:"हाà¤",no:"नहà¥à¤"},settings:{title:"सà¥à¤à¤¿à¤à¤à¥à¤¸",subtitle:"à¤
पनॠà¤à¥à¤°à¥à¤¡à¤¿à¤à¤ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤à¤¤à¤¾à¤à¤ à¤à¤° à¤à¤¾à¤¤à¤¾ सà¥à¤°à¤à¥à¤·à¤¾ पà¥à¤°à¤¬à¤à¤§à¤¿à¤¤ à¤à¤°à¥à¤",appearance:"दिà¤à¤¾à¤µà¤",language:"à¤à¤¾à¤·à¤¾",languageDesc:"à¤
पनॠपसà¤à¤¦à¥à¤¦à¤¾ à¤à¤¾à¤·à¤¾ à¤à¥à¤¨à¥à¤à¥¤ तà¥à¤°à¤à¤¤ लाà¤à¥ â मà¥à¤¬à¤¾à¤à¤² à¤à¤° iOS पर बिना रà¥à¤²à¥à¤¡ à¤à¥ à¤à¤¾à¤® à¤à¤°à¤¤à¤¾ हà¥à¥¤",theme:"थà¥à¤®",themePreference:"पà¥à¤°à¥à¤¡à¤à¥à¤¶à¤¨-à¤à¥à¤°à¥à¤¡ थà¥à¤® सिसà¥à¤à¤®",themeDesc:"हमारा थà¥à¤® सिसà¥à¤à¤® पà¥à¤¶à¥à¤µà¤° à¤à¥à¤°à¥à¤¡à¤°à¥à¤¸ à¤à¥ लिठसहठà¤à¥à¤°à¤¾à¤à¤à¤¼à¤¿à¤¶à¤¨, पहà¥à¤à¤ à¤
नà¥à¤ªà¤¾à¤²à¤¨ à¤à¤° सà¤à¥ ततà¥à¤µà¥à¤ à¤à¥ लिठà¤
नà¥à¤à¥à¤²à¤¿à¤¤ पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ à¤à¥ साथ डिà¤à¤¼à¤¾à¤à¤¨ à¤à¤¿à¤¯à¤¾ à¤à¤¯à¤¾ हà¥à¥¤",lightMode:"लाà¤à¤ मà¥à¤¡",darkMode:"डारà¥à¤ मà¥à¤¡",notifications:"सà¥à¤à¤¨à¤¾à¤à¤",account:"à¤à¤¾à¤¤à¤¾",applyLanguage:"à¤à¤¾à¤·à¤¾ लाà¤à¥ à¤à¤°à¥à¤",resetToEnglish:"à¤
à¤à¤à¥à¤°à¥à¤à¤¼à¥ पर रà¥à¤¸à¥à¤ à¤à¤°à¥à¤",currentLanguage:"वरà¥à¤¤à¤®à¤¾à¤¨ à¤à¤¾à¤·à¤¾",searchLanguage:"à¤à¤¾à¤·à¤¾ à¤à¥à¤à¥à¤â¦",changesAutosaved:"परिवरà¥à¤¤à¤¨ सà¥à¤µà¤à¤¾à¤²à¤¿à¤¤ रà¥à¤ª सॠसहà¥à¤à¥ à¤à¤¾à¤¤à¥ हà¥à¤",tabs:{appearance:"दिà¤à¤¾à¤µà¤",riskRules:"à¤à¥à¤à¤¿à¤® नियम",integrations:"à¤à¤à¥à¤à¤°à¤£",notifications:"सà¥à¤à¤¨à¤¾à¤à¤",security:"सà¥à¤°à¤à¥à¤·à¤¾",support:"समरà¥à¤¥à¤¨",referral:"रà¥à¤«à¤°à¤²"}},market:{open:"à¤à¥à¤²à¤¾",closed:"बà¤à¤¦",premarket:"पà¥à¤°à¥-मारà¥à¤à¥à¤",afterhours:"à¤à¤«à¥à¤à¤°-à¤à¤µà¤°à¥à¤¸",weekend:"सपà¥à¤¤à¤¾à¤¹à¤¾à¤à¤¤",regular:"नियमित"},trading:{trade:"à¤à¥à¤°à¥à¤¡",trades:"à¤à¥à¤°à¥à¤¡",profit:"लाà¤",loss:"हानि",winRate:"à¤à¥à¤¤ दर",pnl:"लाà¤/हाà
2¤¨à¤¿",entry:"पà¥à¤°à¤µà¥à¤¶",exit:"निà¤à¤¾à¤¸",size:"à¤à¤à¤¾à¤°",setup:"सà¥à¤à¤
प",notes:"नà¥à¤à¥à¤¸"},today:{goodMorning:"सà¥à¤ªà¥à¤°à¤à¤¾à¤¤",goodAfternoon:"नमसà¥à¤¤à¥",goodEvening:"शà¥à¤ सà¤à¤§à¥à¤¯à¤¾",todaysFocus:"à¤à¤ à¤à¤¾ फà¥à¤à¤¸",confirmFocus:"फà¥à¤à¤¸ à¤à¥ पà¥à¤·à¥à¤à¤¿ à¤à¤°à¥à¤",yesFocused:"हाà¤, मà¥à¤ à¤à¥à¤à¤¦à¥à¤°à¤¿à¤¤ हà¥à¤",noActiveIssues:"à¤à¥à¤ सà¤à¥à¤°à¤¿à¤¯ समसà¥à¤¯à¤¾ नहà¥à¤à¥¤",stayDisciplined:"à¤
नà¥à¤¶à¤¾à¤¸à¤¿à¤¤ रहà¥à¤"},enforcement:{cooldown:"à¤à¥à¤²à¤¡à¤¾à¤à¤¨",locked:"लà¥à¤à¥à¤¡",warn:"à¤à¥à¤¤à¤¾à¤µà¤¨à¥",cooldownActive:"à¤à¥à¤²à¤¡à¤¾à¤à¤¨ सà¤à¥à¤°à¤¿à¤¯",remaining:"शà¥à¤·",tradingPaused:"à¤à¥à¤°à¥à¤¡à¤¿à¤à¤ रà¥à¤à¥ हà¥à¤ हà¥"},dashboard:{welcome:"सà¥à¤µà¤¾à¤à¤¤ हà¥, {{name}}",quickActions:"तà¥à¤µà¤°à¤¿à¤¤ à¤à¤¾à¤°à¥à¤¯",loadingDashboard:"डà¥à¤¶à¤¬à¥à¤°à¥à¤¡ लà¥à¤¡ हॠरहा हà¥â¦",actions:{startSession:"सतà¥à¤° शà¥à¤°à¥ à¤à¤°à¥à¤",ledger:"लà¥à¤à¤°",watchlist:"वà¥à¤à¤²à¤¿à¤¸à¥à¤",analytics:"विशà¥à¤²à¥à¤·à¤£",learn:"सà¥à¤à¥à¤",ideaHub:"à¤à¤à¤¡à¤¿à¤¯à¤¾ हब",chat:"à¤à¥à¤",agent:"à¤à¤à¥à¤à¤"},stats:{todaysPnl:"à¤à¤ à¤à¤¾ लाà¤/हानि",thisWeek:"à¤à¤¸ सपà¥à¤¤à¤¾à¤¹",totalPnl:"à¤à¥à¤² लाà¤/हानि",winRate:"à¤à¥à¤¤ दर",profitFactor:"लाठà¤à¤¾à¤°à¤",winStreak:"à¤à¥à¤¤ à¤à¥ लà¤à¥à¤°",noTradesToday:"à¤à¤ à¤à¥à¤ à¤à¥à¤°à¥à¤¡ नहà¥à¤",tradesCount:"{{count}} à¤à¥à¤°à¥à¤¡",totalTrades:"à¤à¥à¤² {{count}} à¤à¥à¤°à¥à¤¡",consecutiveWins:"लà¤à¤¾à¤¤à¤¾à¤° à¤à¥à¤¤",consecutiveLosses:"लà¤à¤¾à¤¤à¤¾à¤° हार",excellent:"à¤à¤¤à¥à¤à¥à¤·à¥à¤",profitable:"लाà¤à¤¦à¤¾à¤¯à¤",needsWork:"सà¥à¤§à¤¾à¤° à¤à¤µà¤¶à¥à¤¯à¤",logTradesToSee:"दà¥à¤à¤¨à¥ à¤à¥ लिठà¤à¥à¤°à¥à¤¡ दरà¥à¤ à¤à¤°à¥à¤"}},onboarding:{progress:{personalize:"वà¥à¤¯à¤à¥à¤¤à¤¿à¤à¤¤ à¤à¤°à¥à¤",connect:"à¤à¤¨à¥à¤à¥à¤ à¤à¤°à¥à¤",activate:"सà¤à¥à¤°à¤¿à¤¯ à¤à¤°à¥à¤"},steps:{language:{title:"à¤
पनॠà¤à¤¾à¤·à¤¾ à¤à¥à¤¨à¥à¤",subtitle:"Redline à¤à¤¸à¥ हर à¤à¤à¤¹ à¤à¤ªà¤¯à¥à¤ à¤à¤°à¥à¤à¤¾ â à¤à¤ª à¤à¤¸à¥ बाद मà¥à¤ सà¥à¤à¤¿à¤à¤à¥à¤¸ मà¥à¤ बदल सà¤à¤¤à¥ हà¥à¤à¥¤"},welcome:{title:"Redline मà¥à¤ à¤à¤ªà¤à¤¾ सà¥à¤µà¤¾à¤à¤¤ हà¥",subtitle:"à¤
पनॠà¤
नà¥à¤¶à¤¾à¤¸à¤¨ सिसà¥à¤à¤® à¤à¥ वà¥à¤¯à¤à¥à¤¤à¤¿à¤à¤¤ à¤à¤°à¤¨à¥ à¤à¥ लिठदॠमिनà¤à¥¤"},profile:{title:"à¤à¤ªà¤à¥ बारॠमà¥à¤",subtitle:"à¤
पनॠà¤à¥à¤°à¥à¤¡à¤¿à¤à¤ शà¥à¤²à¥ सॠमà¥à¤² à¤à¤¾à¤¨à¥ वाला रासà¥à¤¤à¤¾ à¤à¥à¤¨à¥à¤à¥¤"},goal:{title:"à¤à¤ª यहाठà¤à¥à¤¯à¥à¤ हà¥à¤?",subtitle:"à¤à¤ªà¤à¤¾ लà¤à¥à¤·à¥à¤¯ तय à¤à¤°à¤¤à¤¾ हॠà¤à¤¿ हम à¤à¥à¤¨ सॠनियम सà¥à¤à¤¾à¤à¤à¤à¥à¥¤"},propfirm:{title:"à¤à¤¿à¤¸ फरà¥à¤® à¤à¥ साथ à¤à¥à¤°à¥à¤¡ à¤à¤°à¤¤à¥ हà¥à¤?",subtitle:"हम à¤à¤¨à¤à¥ पà¥à¤°à¤à¤¾à¤¶à¤¿à¤¤ नियमà¥à¤ à¤à¥ à¤à¤ªà¤à¥ à¤à¤¾à¤°à¥à¤¡à¤°à¥à¤²à¥à¤¸ मà¥à¤ दरà¥à¤¶à¤¾à¤¤à¥ हà¥à¤à¥¤"},risk:{title:"à¤
पनॠà¤à¤¾à¤°à¥à¤¡à¤°à¥à¤²à¥à¤¸ सà¥à¤ à¤à¤°à¥à¤",subtitle:"यॠवॠनियम हà¥à¤ à¤à¤¿à¤¨à¥à¤¹à¥à¤ Redline सà¥à¤µà¤à¤¾à¤²à¤¿à¤¤ रà¥à¤ª सॠलाà¤à¥ à¤à¤°à¤¤à¤¾ हà¥à¥¤"},broker:{title:"बà¥à¤°à¥à¤à¤° à¤à¤¨à¥à¤à¥à¤ à¤à¤°à¥à¤",subtitle:"à¤à¤ªà¤à¥ à¤à¥à¤°à¥à¤¡à¥à¤¸ à¤à¥ सà¥à¤µà¤à¤¾à¤²à¤¿à¤¤ रà¥à¤ª सॠà¤à¤¯à¤¾à¤¤ à¤à¤°à¤¤à¤¾ हॠताà¤à¤¿ à¤à¤°à¥à¤¨à¤²à¤¿à¤à¤ à¤à¤¸à¤¾à¤¨ हà¥à¥¤"},appLock:{title:"बà¥à¤°à¥à¤à¤° à¤à¤ªà¥à¤¸ लà¥à¤ à¤à¤°à¥à¤",subtitle:"वà¥à¤à¤²à¥à¤ªà¤¿à¤ â à¤à¥à¤µà¤² iOS। नियम à¤à¥à¤à¤¨à¥ पर बà¥à¤°à¥à¤à¤° à¤à¤ªà¥à¤¸ बà¥à¤²à¥à¤ à¤à¤°à¤¤à¤¾ हà¥à¥¤"},plan:{title:"à¤
पनॠयà¥à¤à¤¨à¤¾ à¤à¥à¤¨à¥à¤",subtitle:"मà¥
2फ़à¥à¤¤ शà¥à¤°à¥ à¤à¤°à¥à¤ या पà¥à¤°à¥à¤£ à¤à¥à¤ à¤
नलà¥à¤ à¤à¤°à¥à¤à¥¤"},orgJoin:{title:"à¤
पनॠडà¥à¤¸à¥à¤ सॠà¤à¥à¤¡à¤¼à¥à¤",subtitle:"à¤
पनॠमà¥à¤à¤à¤° दà¥à¤µà¤¾à¤°à¤¾ à¤à¥à¤à¤¾ à¤à¤¯à¤¾ à¤à¤®à¤à¤¤à¥à¤°à¤£ à¤à¥à¤¡ à¤à¤ªà¤¯à¥à¤ à¤à¤°à¥à¤à¥¤"},orgCreate:{title:"à¤
पना डà¥à¤¸à¥à¤ बनाà¤à¤",subtitle:"à¤à¤¸à¤à¥ तà¥à¤°à¤à¤¤ बाद à¤à¤ª मà¥à¤à¤à¥à¤à¤¼ à¤à¥ à¤à¤®à¤à¤¤à¥à¤°à¤¿à¤¤ à¤à¤° सà¤à¤¤à¥ हà¥à¤à¥¤"},firstAction:{title:"à¤
पनॠपहलॠà¤à¤¾à¤°à¥à¤°à¤µà¤¾à¤ à¤à¤°à¥à¤",subtitle:"à¤à¤ वासà¥à¤¤à¤µà¤¿à¤ या पà¥à¤ªà¤° à¤à¥à¤°à¥à¤¡ â दà¥à¤¨à¥à¤ à¤à¤¾à¤® à¤à¤°à¤¤à¥ हà¥à¤à¥¤"}}},analytics:{totalPnl:"à¤à¥à¤² लाà¤/हानि",winRate:"à¤à¥à¤¤ दर",trades:"à¤à¥à¤°à¥à¤¡",profitFactor:"लाठà¤à¤¾à¤°à¤",discipline:"à¤
नà¥à¤¶à¤¾à¤¸à¤¨",tradeDna:"à¤à¥à¤°à¥à¤¡ डà¥à¤à¤¨à¤",tradeDnaSubtitle:"à¤à¤ªà¤à¥ à¤
नà¥à¤ ॠà¤à¥à¤°à¥à¤¡à¤¿à¤à¤ à¤à¤¾à¤ª",traderLabel:"{{level}} à¤à¥à¤°à¥à¤¡à¤°",analysisWindow:"विशà¥à¤²à¥à¤·à¤£ विà¤à¤¡à¥:",tabs:{overview:"à¤
वलà¥à¤à¤¨",performance:"पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨",patterns:"पà¥à¤à¤°à¥à¤¨",execution:"निषà¥à¤ªà¤¾à¤¦à¤¨",risk:"à¤à¥à¤à¤¿à¤®",psychology:"मनà¥à¤µà¤¿à¤à¥à¤à¤¾à¤¨"},levels:{beginner:"शà¥à¤°à¥à¤à¤¤à¥",intermediate:"मधà¥à¤¯à¤µà¤°à¥à¤¤à¥",advanced:"à¤à¤¨à¥à¤¨à¤¤",expert:"विशà¥à¤·à¤à¥à¤"}},agent:{studio:"à¤à¤à¥à¤à¤ सà¥à¤à¥à¤¡à¤¿à¤¯à¥",liveCount:"{{count}} सà¤à¥à¤°à¤¿à¤¯",tagline:"à¤
पनॠशà¥à¤²à¥ à¤à¤¾ à¤
धà¥à¤¯à¤¯à¤¨ à¤à¤°à¥à¤à¥¤ à¤à¤ª à¤à¥à¤¸à¥ à¤à¥à¤°à¥à¤¡ à¤à¤°à¥à¤à¥¤",onboarding:"à¤à¤¨à¤¬à¥à¤°à¥à¤¡à¤¿à¤à¤",apiDocs:"API दसà¥à¤¤à¤¾à¤µà¥à¤à¤¼",apiKeys:"API à¤à¥à¤à¤à¥",council:"à¤à¤¾à¤à¤à¤¸à¤¿à¤²",councilAll:"तà¥à¤¨à¥à¤ à¤à¤ साथ",myBots:"मà¥à¤°à¥ बà¥à¤",fromBacktests:"à¤à¤ªà¤à¥ बà¥à¤à¤à¥à¤¸à¥à¤ सà¥",provisioning:"à¤à¤ªà¤à¥ à¤à¤à¥à¤à¤ तà¥à¤¯à¤¾à¤° à¤à¤¿à¤ à¤à¤¾ रहॠहà¥à¤â¦",settingUp:"à¤à¤à¥à¤à¤ सà¥à¤ à¤à¤¿à¤¯à¤¾ à¤à¤¾ रहा हà¥â¦",chat:"à¤à¥à¤",agentInfo:"à¤à¤à¥à¤à¤ à¤à¤¾à¤¨à¤à¤¾à¤°à¥",pipeline:"पाà¤à¤ªà¤²à¤¾à¤à¤¨",shareChart:"à¤à¤¾à¤°à¥à¤ साà¤à¤¾ à¤à¤°à¤¨à¥ à¤à¥ लिठCtrl+V"},education:{sections:{dashboard:"डà¥à¤¶à¤¬à¥à¤°à¥à¤¡",videos:"वà¥à¤¡à¤¿à¤¯à¥",courses:"पाठà¥à¤¯à¤à¥à¤°à¤®",books:"पà¥à¤¸à¥à¤¤à¤à¥à¤",glossary:"शबà¥à¤¦à¤¾à¤µà¤²à¥",strategies:"रणनà¥à¤¤à¤¿à¤¯à¤¾à¤",psychology:"मनà¥à¤µà¤¿à¤à¥à¤à¤¾à¤¨"},descriptions:{},yourProgress:"à¤à¤ªà¤à¥ पà¥à¤°à¤à¤¤à¤¿",dayStreak:"{{count}} दिन à¤à¥ लà¤à¥à¤°",videos:"वà¥à¤¡à¤¿à¤¯à¥",learned:"सà¥à¤à¤¾",courses:"पाठà¥à¤¯à¤à¥à¤°à¤®",hours:"à¤à¤à¤à¥",streak:"लà¤à¥à¤°",searchPlaceholder:"à¤à¥à¤à¥à¤â¦"},chat:{tabs:{direct:"सà¥à¤§à¤¾",groups:"समà¥à¤¹",mentors:"à¤
2®à¥à¤à¤à¤°"},searchPlaceholder:"सà¤à¤¦à¥à¤¶ à¤à¥à¤à¥à¤...",nav:{messages:"सà¤à¤¦à¥à¤¶",tickerX:"TickerX",rooms:"रà¥à¤®"},selectConversation:"à¤à¥à¤ शà¥à¤°à¥ à¤à¤°à¤¨à¥ à¤à¥ लिठवारà¥à¤¤à¤¾à¤²à¤¾à¤ª à¤à¥à¤¨à¥à¤"},community:{title:"à¤à¥à¤°à¥à¤¡à¤¿à¤à¤ समà¥à¤¦à¤¾à¤¯",subtitle:"à¤
à¤à¤¤à¤°à¥à¤¦à¥à¤·à¥à¤à¤¿ साà¤à¤¾ à¤à¤°à¥à¤ ⢠à¤à¥à¤°à¥à¤¡à¤°à¥à¤¸ सॠसà¥à¤à¥à¤ ⢠साथ बढ़à¥à¤",marketOpen:"बाà¤à¤¾à¤° à¤à¥à¤²à¤¾",marketClosed:"बाà¤à¤¾à¤° बà¤à¤¦",finishCoachingToPost:"पà¥à¤¸à¥à¤ à¤à¤°à¤¨à¥ à¤à¥ लिठà¤à¥à¤à¤¿à¤à¤ पà¥à¤°à¥ à¤à¤°à¥à¤",shareYourTrade:"à¤
पना à¤à¥à¤°à¥à¤¡ साà¤à¤¾ à¤à¤°à¥à¤",leaderboard:"लà¥à¤¡à¤°à¤¬à¥à¤°à¥à¤¡",rankedByPnl:"लाà¤/हानि à¤à¥ à¤
नà¥à¤¸à¤¾à¤°",tabs:{feed:"फ़à¥à¤¡"}},feedback:{titlePart1:"फ़à¥à¤¡à¤¬à¥à¤",titlePart2:"लà¥à¤ª",subtitle:"Redline à¤à¤¾ à¤à¤µà¤¿à¤·à¥à¤¯ à¤à¤à¤¾à¤° दà¥à¤",liveRoadmap:"लाà¤à¤µ रà¥à¤¡à¤®à¥à¤ª · हम हर सबमिशन पढ़तॠहà¥à¤",stats:{submitted:"सबमिठà¤à¤¿à¤ à¤à¤",implemented:"लाà¤à¥ à¤à¤¿à¤ à¤à¤",upvotes:"à¤
पवà¥à¤",rank:"रà¥à¤à¤"},moreToNext:"{{next}} तठ{{count}} à¤à¤°",tabs:{submit:"सबमिà¤",browse:"बà¥à¤°à¤¾à¤à¤à¤¼ à¤à¤° वà¥à¤",browseShort:"बà¥à¤°à¤¾à¤à¤à¤¼",roadmap:"रà¥à¤¡à¤®à¥à¤ª",admin:"वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤",adminPanel:"वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤ पà¥à¤¨à¤²"},shareTitle:"à¤
पना फ़à¥à¤¡à¤¬à¥à¤ साà¤à¤¾ à¤à¤°à¥à¤",shareSubtitle:"à¤à¤ªà¤à¥ विà¤à¤¾à¤° Redline à¤à¥ à¤à¤à¤¾à¤° दà¥à¤¤à¥ हà¥à¤",typeQuestion:"à¤à¤¿à¤¸ पà¥à¤°à¤à¤¾à¤° à¤à¤¾ फ़à¥à¤¡à¤¬à¥à¤?"},news:{title:"समाà¤à¤¾à¤°",searchTickerPlaceholder:"à¤à¤¿à¤à¤° à¤à¥à¤à¥à¤...",askJeffAnything:"Jeff सॠà¤à¥à¤ à¤à¥ पà¥à¤à¥à¤",multiAiPowered:"मलà¥à¤à¥-AI सà¤à¤à¤¾à¤²à¤¿à¤¤",chatAboutTrades:"Jeff सॠà¤
पनॠà¤à¥à¤°à¥à¤¡, à¤
वसरà¥à¤ à¤à¤° बाà¤à¤¾à¤° सà¤à¤¦à¤°à¥à¤ à¤à¥ बारॠमà¥à¤ बात à¤à¤°à¥à¤",chatPersonalMentor:"à¤à¤ªà¤à¥ पà¥à¤°à¥à¤«à¤¼à¤¾à¤à¤² तठपà¥à¤°à¥à¤£ पहà¥à¤à¤ वाला वà¥à¤¯à¤à¥à¤¤à¤¿à¤à¤¤ à¤à¥à¤°à¥à¤¡à¤¿à¤à¤ मà¥à¤à¤à¤°",liveMarketData:"लाà¤à¤µ मारà¥à¤à¥à¤ डà¥à¤à¤¾"},profile:{traderRank:"à¤à¥à¤°à¥à¤¡à¤° रà¥à¤à¤",next:"à¤
à¤à¤²à¤¾:",traderSubtitle:"{{level}} à¤à¥à¤°à¥à¤¡à¤°",profitable:"लाà¤à¤¦à¤¾à¤¯à¤",developing:"विà¤à¤¾à¤¸à¤¶à¥à¤²",totalPnl:"à¤à¥à¤² लाà¤/हानि",totalProfitGenerated:"à¤à¥à¤² लाठà¤à¤¤à¥à¤ªà¤¨à¥à¤¨",totalLossIncurred:"à¤à¥à¤² हानि हà¥à¤",traderLevel:"à¤à¥à¤°à¥à¤¡à¤° सà¥à¤¤à¤°",tiers:{rookie:"नà¥à¤¸à¤¿à¤à¤¿à¤¯à¤¾",silver:"सिलà¥à¤µà¤°",gold:"à¤à¥à¤²à¥à¤¡",platinum:"पà¥à¤²à¥à¤à¤¿à¤¨à¤®",diamond:"डायमà¤à¤¡",legend:"लà¥à¤à¥à¤à¤¡"}}}},tr:{translation:{nav:{home:"Ana Sayfa",today:"Bugün",ledger:"Defter",analytics:"Analitik",agent:"Ajan",agentStudio:"Ajan Stüdyosu",learn:"ÃÄren",chat:"Sohbet",more:"Daha fazla",notifications:"Bildirimler",tradingContext:"İÅlem BaÄlamı",community:"Topluluk",feedback:"Geri Bildirim",browseFirms:"Firmaları KeÅfet",upgrade:"Yükselt"},common:{save:"Kaydet",cancel:"İptal",confirm:"Onayla",edit:"Düzenle",delete:"Sil",close:"Kapat",back:"Geri",next:"İleri",done:"Tamam",skip:"Atla",continue:"Devam",letsGo:"BaÅlayalım",loading:"Yükleniyorâ¦",error:"Hata",success:"BaÅarılı",apply:"Uygula",reset:"Sıfırla",search:"Ara",yes:"Evet",no:"Hayır"},settings:{title:"Ayarlar",subtitle:"İÅlem tercihlerinizi ve hesap güvenliÄinizi yönetin",appearance:"Görünüm",language:"Dil",languageDesc:"Tercih ettiÄiniz dili seçin. Anında uygulanır â mobil ve iOS uygulamasında yeniden yükleme gerekmez.",theme:"Tema",themePreference:"Ãretim Sınıfı Tema Sistemi",themeDesc:"Tema sistemimiz, kesintisiz geçiÅler, eriÅilebilirlik uyumluluÄu ve tüm öÄeler için optimize edilmiÅ performansla profesyonel traderlar için tasarlandı.",lightMode:"Açık Mod",darkMode:"Koyu Mod",notifications:"Bildirimler",account:"Hesap",applyLanguage:"Dili Uygula",resetToEnglish:"İngilizce'ye Sıfırla",currentLanguage:"Mevcut dil",searchLanguage:"Dil araâ¦",changesAutosaved:"DeÄiÅiklikler otomatik olarak kaydedilir",tabs:{appearance:"Görünüm",riskRules:"Risk Kuralları",integrations:"Entegrasyonlar",notifications:"Bildirimler",security:"Güvenlik",supp
2ort:"Destek",referral:"Tavsiye"}},market:{open:"Açık",closed:"Kapalı",premarket:"Piyasa öncesi",afterhours:"Piyasa sonrası",weekend:"Hafta sonu",regular:"Normal"},trading:{trade:"İÅlem",trades:"İÅlemler",profit:"Kâr",loss:"Zarar",winRate:"BaÅarı oranı",pnl:"K/Z",entry:"GiriÅ",exit:"ÃıkıÅ",size:"Boyut",setup:"Kurulum",notes:"Notlar"},today:{goodMorning:"Günaydın",goodAfternoon:"İyi günler",goodEvening:"İyi akÅamlar",todaysFocus:"Günün OdaÄı",confirmFocus:"OdaÄı Onayla",yesFocused:"Evet, odaklandım",noActiveIssues:"Aktif sorun yok.",stayDisciplined:"Disiplinli kalın"},enforcement:{cooldown:"Bekleme",locked:"Kilitli",warn:"Uyarı",cooldownActive:"Bekleme aktif",remaining:"kaldı",tradingPaused:"İÅlem duraklatıldı"},dashboard:{welcome:"HoÅ geldiniz, {{name}}",quickActions:"Hızlı iÅlemler",loadingDashboard:"Panel yükleniyorâ¦",actions:{startSession:"Oturumu baÅlat",ledger:"Defter",watchlist:"İzleme listesi",analytics:"Analitik",learn:"ÃÄren",ideaHub:"Fikir merkezi",chat:"Sohbet",agent:"Ajan"},stats:{todaysPnl:"Bugünkü K&Z",thisWeek:"Bu hafta",totalPnl:"Toplam K&Z",winRate:"Kazanma oranı",profitFactor:"Kâr faktörü",winStreak:"Galibiyet serisi",noTradesToday:"Bugün iÅlem yok",tradesCount:"{{count}} iÅlem",totalTrades:"Toplam {{count}} iÅlem",consecutiveWins:"Ãst üste galibiyet",consecutiveLosses:"Ãst üste kayıp",excellent:"Mükemmel",profitable:"Kârlı",needsWork:"İyileÅtirme gerek",logTradesToSee:"Görmek için iÅlem kaydedin"}},onboarding:{progress:{personalize:"KiÅiselleÅtir",connect:"BaÄlan",activate:"EtkinleÅtir"},steps:{language:{title:"Dilinizi seçin",subtitle:"Redline bunu her yerde kullanacak â Ayarlardan sonra deÄiÅtirebilirsiniz."},welcome:{title:"Redline'a hoÅ geldiniz",subtitle:"Disiplin sisteminizi kiÅiselleÅtirmek için iki dakika."},profile:{title:"Sizin hakkınızda",subtitle:"İÅlem stilinize uygun yolu seçin."},goal:{title:"Neden buradasınız?",subtitle:"Hedefiniz hangi kuralları önereceÄimizi belirler."},propfirm:{title:"Hangi firmadasınız?",subtitle:"Yayımlanan kuralları korumalarınıza yansıtırız."},risk:{title:"Korumalarınızı belirleyin",subtitle:"Redline'ın otomatik uyguladıÄı kurallardır."},broker:{title:"Broker baÄlayın",subtitle:"İÅlemlerinizi otomatik içe aktarır, kayıt tutmayı kolaylaÅtırır."},appLock:{title:"Broker uygulamalarını kilitle",subtitle:"İsteÄe baÄlı â yalnızca iOS. Kural ihlalinde uygulamaları engeller."},plan:{title:"Planınızı seçin",subtitle:"Ãcretsiz baÅlayın veya tam koçu açın."},orgJoin:{title:"Masanıza katılın",subtitle:"Mentörünüzün gönderdiÄi davet kodunu kullanın."},orgCreate:{title:"Masanızı oluÅturun",subtitle:"Hemen ardından menteeleri davet edebilirsiniz."},firstAction:{title:"İlk iÅleminizi yapın",subtitle:"Gerçek veya kaÄıt iÅlem â her ikisi de olur."}}},analytics:{totalPnl:"Toplam K/Z",winRate:"Kazanma oranı",trades:"İÅlemler",profitFactor:"Kâr faktörü",discipline:"Disiplin",tradeDna:"İÅlem DNA",tradeDnaSubtitle:"Benzersiz iÅlem parmak iziniz",traderLabel:"{{level}} Trader",analysisWindow:"Analiz penceresi:",tabs:{overview:"Genel bakıÅ",performance:"Performans",patterns:"Desenler",execution:"Yürütme",risk:"Risk",psychology:"Psikoloji"},levels:{beginner:"BaÅlangıç",intermediate:"Orta",advanced:"İleri",expert:"Uzman"}},agent:{studio:"Ajan Stüdyosu",liveCount:"{{count}} aktif",tagline:"Stilinizi inceleyin. Siz gibi iÅlem yapın.",onboarding:"TanıÅma",apiDocs:"API Belgeleri",apiKeys:"API Anahtarları",council:"Konsey",councilAll:"Ãçü birlikte",myBots:"Botlarım",fromBacktests:"Backtest'lerinizden",provisioning:"Ajanlarınız hazırlanıyorâ¦",settingUp:"Ajan ayarlanıyorâ¦",chat:"Sohbet",agentInfo:"Ajan Bilgisi",pipeline:"Hat",shareChart:"Grafik payla
2Åmak için Ctrl+V"},education:{sections:{dashboard:"Panel",videos:"Videolar",courses:"Kurslar",books:"Kitaplar",glossary:"Sözlük",strategies:"Stratejiler",psychology:"Psikoloji"},descriptions:{},yourProgress:"İlerlemeniz",dayStreak:"{{count}} gün serisi",videos:"Videolar",learned:"ÃÄrenilen",courses:"Kurslar",hours:"Saatler",streak:"Seri",searchPlaceholder:"Araâ¦"},chat:{tabs:{direct:"Direkt",groups:"Gruplar",mentors:"Mentorlar"},searchPlaceholder:"Mesaj ara...",nav:{messages:"Mesajlar",tickerX:"TickerX",rooms:"Odalar"},selectConversation:"Sohbete baÅlamak için bir konuÅma seçin"},community:{title:"Trading TopluluÄu",subtitle:"İçgörü paylaÅın ⢠Traderlardan öÄrenin ⢠Birlikte büyüyün",marketOpen:"Piyasa Açık",marketClosed:"Piyasa Kapalı",finishCoachingToPost:"PaylaÅmak için koçluÄu tamamlayın",shareYourTrade:"İÅleminizi PaylaÅın",leaderboard:"Liderlik Tablosu",rankedByPnl:"K&Z'ye göre sıralandı",tabs:{feed:"AkıÅ"}},feedback:{titlePart1:"Geri Bildirim",titlePart2:"Döngüsü",subtitle:"Redline'ın geleceÄini Åekillendirin",liveRoadmap:"Canlı yol haritası · Her gönderiyi okuyoruz",stats:{submitted:"Gönderildi",implemented:"Uygulandı",upvotes:"Oylar",rank:"Sıra"},moreToNext:"{{next}} için {{count}} daha",tabs:{submit:"Gönder",browse:"Gözat ve Oyla",browseShort:"Gözat",roadmap:"Yol Haritası",admin:"Yönetici",adminPanel:"Yönetici Paneli"},shareTitle:"Geri bildiriminizi paylaÅın",shareSubtitle:"Fikirleriniz Redline'ı Åekillendirir",typeQuestion:"Ne tür bir geri bildirim?"},news:{title:"Haberler",searchTickerPlaceholder:"Ticker ara...",askJeffAnything:"Jeff'e Her Åeyi Sor",multiAiPowered:"Ãoklu-YZ Destekli",chatAboutTrades:"Jeff ile iÅlemleriniz, fırsatlarınız ve piyasa baÄlamı hakkında sohbet edin",chatPersonalMentor:"Profilinize tam eriÅimi olan kiÅisel trading mentorunuz",liveMarketData:"Canlı Piyasa Verileri"},profile:{traderRank:"Trader Sıralaması",next:"Sonraki:",traderSubtitle:"{{level}} Trader",profitable:"KÃRLI",developing:"GELİÅMEKTE",totalPnl:"Toplam K&Z",totalProfitGenerated:"Toplam Ãretilen Kâr",totalLossIncurred:"Toplam UÄranan Zarar",traderLevel:"Trader Seviyesi",tiers:{rookie:"Ãaylak",silver:"GümüÅ",gold:"Altın",platinum:"Platin",diamond:"Elmas",legend:"Efsane"}}}}},Ot=new Set(["ar","he","fa","ur"]);function be(t){try{if(typeof document>"u")return;const e=String(t||"en").split("-")[0].toLowerCase();document.documentElement.lang=e,document.documentElement.dir=Ot.has(e)?"rtl":"ltr"}catch{}}S.use(rt).init({resources:_t,lng:Je,fallbackLng:"en",defaultNS:"translation",interpolation:{escapeValue:!1},load:"languageOnly",react:{useSuspense:!1}});be(Je);S.on("languageChanged",be);function Dt(t){S.changeLanguage(t);try{localStorage.setItem("appLanguage",t)}catch{}be(t)}var Nt=()=>{const t=[],e=[],a=[];return t.forEach(r=>{const i={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_BUNNY_STREAM_CDN_HOSTNAME:"",VITE_BUNNY_STREAM_LIBRARY_ID:"",VITE_CLOUDINARY_API_KEY:"792168997276235",VITE_CLOUDINARY_AUTO_CHAPTERS:"false",VITE_CLOUDINARY_AUTO_TRANSCRIPTION:"false",VITE_CLOUDINARY_CLOUD_NAME:"dcn9lwlnl",VITE_CLOUDINARY_CURRICULUM_FOLDER:"education/curriculum",VITE_CLOUDINARY_DEFAULT_QUALITY:"auto",VITE_CLOUDINARY_EDUCATION_FOLDER:"education",VITE_CLOUDINARY_FOLDER_PROTECTION:"true",VITE_CLOUDINARY_HD_SIZE:"1280x720",VITE_CLOUDINARY_MAX_FILE_SIZE:"104857600",VITE_CLOUDINARY_PATTERNS_FOLDER:"education/patterns",VITE_CLOUDINARY_PREVIEW_SIZE:"640x480",VITE_CLOUDINARY_RESOURCES_FOLDER:"education/resources",VITE_CLOUDINARY_SECURE_DELIVERY:"true",VITE_CLOUDINARY_SIGNED_UPLOADS:"true",VITE_CLOUDINARY_THUMBNAIL_SIZE:"400x300",VITE_CLOUDINARY_UPLOAD_PRESET:"education_videos",VITE_CLOUDINARY_VIDEO_ANALYSIS:"false",VITE_CLOUDINARY_WEBHOOK_URL:"https://TradeIntelX.com/api/cloudinary-webhook",VITE_FIREBASE_API_KEY:"AIzaSyBKmutM0ialeKxZvGaKx56rISFCKpBdmf4",VITE_FIREBASE_APPCHECK_RECAPTCHA_ENTERPRISE_SITE_KEY:"6Ldgr1otAAAAAMmGTScAjg_dV6RryIOFI8uoS4_b",VITE_FIREBASE_APP_ID:"1:788757341214:web:7c3644d2c33d975cf5fa0f",VITE_FIREBASE_AUTH_DOMAIN:"tradeintelx.com",VITE_FIREBASE_MESSAGING_SENDER_ID:"788757341214",VITE_FIREBASE_PROJECT_ID:"tradeintexd",VITE_FIREBASE_STORAGE_BUCKET:"tradeintexd.firebasestorage.app",VITE_FIREBASE_VAPID_KEY:"BDSH9vbHuJvu6JaHv8q7zAdKrYUDtj4yJ0nEsXY3m5URM8xE8p-mdb0tUqI36M6ZJwzcxxqh4-0l5jw8iVr0q3M",VITE_FUNCTIONS_BASE_URL:"https://us-central1-tradeintexd.cloudfunctions.net",VITE_POSTHOG_HOST:"https://us.i.posthog.com",VITE_POSTHOG_KEY:"phc_vHUP4AhtyuGUdQ2TxcKhwbuXz4rSVQDXBGHVNP67fjcN",VITE_SCHWAB_CLIENT_ID:"94GerGJLoAtjijuEluYSmPrQ998MTOc0",VITE_SCHWAB_REDIRECT_URI:"https://tradeintelx.com/callback",VITE_STRIPE_ELITE_ANNUAL_PRICE_ID:"price_1TSRzREutrlrWeRrQutiWcRs",VITE_STRIPE_ELITE_PRICE_ID:"price_1TPAzWEutrlrWeRrjpFWu58F",VITE_STRIPE_ELITE_PRODUCT_ID:"prod_UMnSzHgdPhQSsP",VITE_STRIPE_ORG_BROKERAGE_PRICE_ID:"price_1TskViEutrlrWeRrQh77F74S",VITE_STRIPE_ORG_BROKERAGE_PRODUCT_ID:"prod_UsVWjoaIqmu1d7",VITE_STRIPE_ORG_EDUCATOR_GROWTH_PRICE_ID:"price_1TskVkEutrlrWeRryK7ZbVd0",VITE_STRIPE_ORG_EDUCATOR_GROWTH_PRODUCT_ID:"prod_UsVWqOMdBoAGV3",VITE_STRIPE_ORG_EDUCATOR_SCALE_PRICE_ID:"price_1TskVlEutrlrWeRrf1RSddHc",VITE_STRIPE_ORG_EDUCATOR_SCALE_PRODUCT_ID:"prod_UsVWf8n0W3WCh8",VITE_STRIPE_ORG_EDUCATOR_STARTER_PRICE_ID:"price_1TskVjEutrlrWeRrMEZnwE7z",VITE_STRIPE_ORG_EDUCATOR_STARTER_PRODUCT_ID:"prod_UsVWlnZLOgV5YO",VITE_STRIPE_ORG_PROP_FIRM_PRICE_ID:"price_1TskVgEutrlrWeRrbLNgn
2BVH",VITE_STRIPE_ORG_PROP_FIRM_PRODUCT_ID:"prod_UsVWF5rs0Natw8",VITE_STRIPE_ORG_RIA_PRICE_ID:"price_1TskVmEutrlrWeRru4rcaVru",VITE_STRIPE_ORG_RIA_PRODUCT_ID:"prod_UsVWoi5qVOLWWI",VITE_STRIPE_PRO_ANNUAL_PRICE_ID:"price_1TSRwtEutrlrWeRrOU6kb5mC",VITE_STRIPE_PRO_PRICE_ID:"price_1TPAykEutrlrWeRrhhxJEhAk",VITE_STRIPE_PRO_PRODUCT_ID:"prod_UMnSx7Ncp5qCYc",VITE_STRIPE_PUBLISHABLE_KEY:"pk_live_51TPASiEutrlrWeRrRvhP2UisgMV8VGLICrNDrcmnklzVfbxFHSbWM6Zb3pbEPjmUB9mvFuEjGryruYbb5cSnKjMe00FNfRiqIz",VITE_TENOR_API_KEY:"AIzaSyAyimkuYQYF_FXVALexPuGQctUWRURdCYQ",VITE_TRADELOCKER_REST_ENDPOINT:"https://demo.tradelocker.com",VITE_TRADELOCKER_WS_ENDPOINT:"https://demo.tradelocker.com",VITE_USE_ACCOUNT_STATE_ORCHESTRATOR:"true"}[r];!i||i.trim()===""?e.push(r):a.push({name:r,hasValue:!0,preview:i.substring(0,8)+"..."})}),{isValid:e.length===0,missing:e,present:a,summary:`${a.length}/${t.length} API keys configured`}},Na=()=>{const t=Nt();return t.isValid?console.log("â
All API keys configured:",t.summary):(console.warn("â ï¸ Missing API Keys:",t.missing),console.log("Add these to your .env file:"),t.missing.forEach(e=>{console.log(`${e}=your_api_key_here`)})),t},ee=new Map,ye=!1,j=null,Qe=()=>{let t=0;ee.forEach((e,a)=>{if(e.scope==="route"){try{e.unsubscribe(),t++}catch{}ee.delete(a)}}),t>0&&console.log(`[NavPerf] Cleaned up ${t} route listeners`)},Me=()=>{ee.forEach((t,e)=>{try{t.unsubscribe()}catch{}}),ee.clear(),console.log("[NavPerf] All listeners cleaned up")},Fa=()=>{ye=!0,j&&clearTimeout(j),j=setTimeout(()=>{ye=!1},3e3)},Ma=()=>{ye=!1,j&&(clearTimeout(j),j=null)},de=!1,Ft=()=>{if("memory"in performance){const t=performance.memory;if(t.usedJSHeapSize/t.jsHeapSizeLimit>.9&&!de)return console.warn("[NavPerf] High memory pressure detected, cleaning up..."),de=!0,Qe(),"caches"in window&&caches.keys().then(e=>{e.forEach(a=>{(a.includes("image")||a.includes("media"))&&caches.delete(a)})}),setTimeout(()=>{de=!1},3e4),!0}return!1},Va=()=>{const t=setInterval(Ft,3e4),e=()=>{document.hidden&&Qe()};document.addEventListener("visibilitychange",e);const a=()=>{Me()};return window.addEventListener("beforeunload",a),()=>{clearInterval(t),document.removeEventListener("visibilitychange",e),window.removeEventListener("beforeunload",a),Me()}};typeof window<"u"&&(window.makeUserAdmin=async(t=null,e=null)=>{try{const a=se.currentUser;if(!a)return console.error("â No user is currently logged in"),!1;const r=t||a.email,i=e||a.uid;return!r||!i?(console.error("â Email and user ID are required"),!1):(console.log("ð Making user admin:",r),await nt(i,r,a.uid)?(console.log("â
Admin access granted successfully!"),console.log("ð¤ User:",r),console.log("ð Please refresh the page to see changes"),!0):(console.log("â Failed to grant admin access"),!1))}catch(a){return console.error("â Error making user admin:",a),!1}},window.initializeFirstAdmin=async()=>{try{const t=se.currentUser;return t?(console.log("ð Initializing first admin..."),await st(t)?(console.log("â
First admin initialized successfully!"),console.log("ð Please refresh the page to access admin panel"),!0):(console.log("â ï¸ Admin already exists or initialization failed"),!1)):(console.error("â No user is currently logged in"),!1)}catch(t){return console.error("â Error initializing admin:",t),!1}},window.checkMyAdminStatus=async()=>{try{const t=se.currentUser;if(!t)return console.error("â No user is currently logged in"),!1;console.log("ð Checking admin status for:",t.email);const e=await ot(t.uid);return console.log(e?"â
You are an admin!":"â You are not an admin"),e}catch(t){return console.error("â Error checking admin status:",t),!1}},window.adminHelp=()=>{console.log(`
3ð§ Admin Setup Functions: 4 51. Initialize First Admin (run this first): 6 â await window.initializeFirstAdmin() 7 82. Make Current User Admin: 9 â await window.makeUserAdmin() 10 113. Make Another User Admin: 12 â await window.makeUserAdmin('[email protected]', 'userUID') 13 144. Check Your Admin Status: 15 â await window.checkMyAdminStatus() 16 17ð Instructions: 181. Make sure you're logged into your account 192. Open browser console (F12 â Console tab) 203. Run: await window.initializeFirstAdmin() 214. Refresh the page 225. Go to /admin in the URL 23 24ð Security Note: 25- Only the first user can initialize admin access 26- Additional admins must be granted by existing admins 27- Admin functions are only available in development 28 `)},console.log("ð¡ï¸ Admin Setup Functions Loaded!"),console.log("ð Run window.adminHelp() for instructions"));var za={makeUserAdmin:window.makeUserAdmin,initializeFirstAdmin:window.initializeFirstAdmin,checkMyAdminStatus:window.checkMyAdminStatus,adminHelp:window.adminHelp},Mt={async forceSyncViolations(){try{const{useAuthStore:t}=await y(async()=>{const{useAuthStore:r}=await import("./chat-page-evUfHQgD.js").then(i=>i.gr);return{useAuthStore:r}},__vite__mapDeps([0,1,2,3])),e=t.getState().user?.uid;if(!e){console.error("â No user logged in");return}console.log("ð§ Force syncing violations for user:",e);const{syncUserViolationState:a}=await y(async()=>{const{syncUserViolationState:r}=await import("./education-page-vD6yUpCZ.js").then(i=>i.o);return{syncUserViolationState:r}},__vite__mapDeps([4,2,0,1,3,5,6,7]));await a(e),console.log("â Sync complete - banner should update within 2 seconds")}catch(t){console.error("â Sync failed:",t)}},async forceClearStaleViolations(){try{const{useAuthStore:t}=await y(async()=>{const{useAuthStore:l}=await import("./chat-page-evUfHQgD.js").then(u=>u.gr);return{useAuthStore:l}},__vite__mapDeps([0,1,2,3])),{doc:e,getDoc:a,updateDoc:r,serverTimestamp:i}=await y(async()=>{const{doc:l,getDoc:u,updateDoc:d,serverTimestamp:h}=await import("./chat-page-evUfHQgD.js").then(f=>f.fi);return{doc:l,getDoc:u,updateDoc:d,serverTimestamp:h}},__vite__mapDeps([0,1,2,3])),{db:n}=await y(async()=>{const{db:l}=await import("./chat-page-evUfHQgD.js").then(u=>u.Cr);return{db:l}},__vite__mapDeps([0,1,2,3])),o=t.getState().user?.uid;if(!o){console.error("â No user logged in");return}console.log("ð§ Force clearing stale violations from accountState...");const s=await a(e(n,"users",o,"educationProfile","data"));if(!s.exists()){console.error("â No education profile found");return}const c=s.data().violationCount??0;if(console.log("ð educationProfile violationCount:",c),c>0){console.warn("â ï¸ Education profile shows active violations. This fix is only for clearing stale accountState when educationProfile is clean.");return}await r(e(n,"accountState",o),{activeViolations:[],violationCount:0,state:"NORMAL",currentState:"NORMAL",requiresRemediation:!1,canTrade:!0,canLogTrades:!0,canStartSession:!0,canAccessAnalytics:!0,canPost:!0,blockedSurfaces:[],updatedAt:i(),syncSource:"admin_force_clear_stale"}),console.log("â Stale violations cleared from accountState"),console.log("ð Page should update within 2 seconds...")}catch(t){console.error("â Force clear failed:",t)}},async checkViolationState(){try{const{useAuthStore:t}=await y(async()=>{const{useAuthStore:m}=await import("./chat-page-evUfHQgD.js").then(k=>k.gr);return{useAuthStore:m}},__vite__mapDeps([0,1,2,3])),{useViolationEnforcementStore:e}=await y(async()=>{const{useViolationEnforcementStore:m}=await import("./chat-page-evUfHQgD.js").then(k=>k.Q);return{useViolationEnforcementStore:m}},__vite__mapDeps([0,1,2,3])),{doc:a,getDoc:r}=await y(async()=>{const{doc:m,getDoc:k}=await import("./chat-page-evUfHQgD.js").then(P=>P.fi);return{doc:m,getDoc:k}},__vite__mapDeps([0,1,2,3])),{db:i}=await y(async()=>{const{db:m}=await import("./chat-page-evUfHQgD.js").then(k=>k.Cr);return{db:m}},__vite__mapDeps([0,1,2,3])),n=t.getState().user?.uid;if(!n){console.error("â No user logged in");return}const o=e.getState();console.log("ð ViolationEnforcementStore:",{violationCount:o.violations.length,activeViolations:o.activeViolations(),activePlan:o.activePlan});const s=await r(a(i,"accountState",n));if(s.exists()){const m=s.data();console.log("ð accountState doc:",{state:m.state,activeViolations:m.activeViolations,syncSource:m.syncSource,updatedAt:m.updatedAt?.toDate?.()})}else console.log("ð accountState doc: DOES NOT EXIST");const c=await r(a(i,"users",n,"educationProfile","data"));if(c.exists()){const m=c.data();console.log("ð educationProfile:",{violationCount:m.violationCount,unresolved:m.unresolved,violationBaselineDate:m.violationBaselineDate?.toDate?.()})}const{collection:l,query:u,getDocs:d,where:h}=await y(async()=>{const{collection:m,query:k,getDocs:P,where:D}=await import("./chat-page-evUfHQgD.js").then(w=>
28w.fi);return{collection:m,query:k,getDocs:P,where:D}},__vite__mapDeps([0,1,2,3])),f=l(i,"users",n,"violations"),p=await d(f),v=await d(u(f,h("resolvedAt","==",null)));console.log("ð Violations collection:",{total:p.size,unresolved:v.size,docs:v.docs.map(m=>({id:m.id,code:m.data().code,resolvedAt:m.data().resolvedAt,clearedAt:m.data().clearedAt}))})}catch(t){console.error("â State check failed:",t)}}};typeof window<"u"&&(window.adminDebug=Mt,console.log("â
Admin debug utilities loaded. Use: window.adminDebug.forceSyncViolations() or window.adminDebug.checkViolationState()"));var Ba=He({initializeMemoryCleanup:()=>Ut,prefetchAllRoutes:()=>zt,prefetchRoute:()=>te,setupLinkPrefetching:()=>Bt}),ue=new Set,pe=new Map,Vt={"/":()=>y(()=>import("./dashboard-page-CleTLBe1.js").then(t=>t.n),__vite__mapDeps([7,2,0,1,3,5,6])),"/dashboard":()=>y(()=>import("./dashboard-page-CleTLBe1.js").then(t=>t.n),__vite__mapDeps([7,2,0,1,3,5,6])),"/trade-logger":()=>y(()=>import("./TradeLogger-DssKv1_B.js"),__vite__mapDeps([8,9,1,2,0,3,10,11,4,5,6,7,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])),"/trade-analytics":()=>y(()=>import("./TradeAnalytics-BhuadqLk.js"),__vite__mapDeps([30,9,1,2,0,3,10,11,4,5,6,7,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,31])),"/chat":()=>y(()=>import("./chat-page-evUfHQgD.js").then(t=>t.t),__vite__mapDeps([0,1,2,3])),"/news":()=>y(()=>import("./news-page-DagW7rtr.js").then(t=>t.t),__vite__mapDeps([21,9,1,2,0,3,10,11,4,5,6,7,12,13,15,22,23])),"/education":()=>y(()=>import("./education-page-vD6yUpCZ.js").then(t=>t.t),__vite__mapDeps([4,2,0,1,3,5,6,7])),"/community":()=>y(()=>import("./community-page-CrngAMw5.js").then(t=>t.t),__vite__mapDeps([5,2,0,1,3,6])),"/profile":()=>y(()=>import("./UserProfile-BFOE_bgG.js"),__vite__mapDeps([32,9,1,2,0,3,10,11,4,5,6,7,12,13,15,33,34,35])),"/feedback":()=>y(()=>import("./FeedbackPage-BAa3lazE.js"),__vite__mapDeps([36,9,1,2,0,3,10,11,4,5,6,7,12,13,15])),"/admin":()=>y(()=>import("./AdminPanel-BGcfmGDg.js"),__vite__mapDeps([37,9,1,2,0,3,10,11,4,5,6,7,12,13,15,38])),"/pricing":()=>y(()=>import("./PricingPage-IklOCXBQ.js"),__vite__mapDeps([39,9,1,2,0,3,10,11,4,5,6,7,12,13,14,15,16,17,18,19,20,21,22,23,24])),"/for-prop-firms":()=>y(()=>import("./ForPropFirms-BqmpH2A4.js"),__vite__mapDeps([40,2,0,1,3,41,14,9,10,11,4,5,6,7,12,13,15,16,17,18,19,20,21,22,23,24,42])),"/for-coaches":()=>y(()=>import("./ForCoaches-BOfUGmTu.js"),__vite__mapDeps([43,2,0,1,3,41,14,9,10,11,4,5,6,7,12,13,15,16,17,18,19,20,21,22,23,24,42])),"/for-educators":()=>y(()=>import("./ForCoaches-BOfUGmTu.js"),__vite__mapDeps([43,2,0,1,3,41,14,9,10,11,4,5,6,7,12,13,15,16,17,18,19,20,21,22,23,24,42])),"/social":()=>y(()=>import("./community-page-CrngAMw5.js").then(t=>t.r),__vite__mapDeps([5,2,0,1,3,6])),"/trading":()=>y(()=>import("./TradingPage-yT8D2vgC.js"),__vite__mapDeps([44,2,0,1,3,5,6]))},te=t=>{const e=t.split("?")[0].split("#")[0];if(ue.has(e))return pe.get(e)||Promise.resolve();const a=Vt[e];if(a){ue.add(e);const r=a().then(i=>(pe.set(e,i),i)).catch(i=>{ue.delete(e),console.warn(`Failed to prefetch ${e}:`,i)});return pe.set(e,r),r}return Promise.resolve()},zt=()=>{((a,r=0)=>{"requestIdleCallback"in window?window.requestIdleCallback(()=>{a.forEach((i,n)=>{setTimeout(()=>te(i),n*500+r)})},{timeout:5e3}):setTimeout(()=>{a.forEach((i,n)=>{setTimeout(()=>te(i),n*800+r)})},2e3)})(["/trade-logger","/"],1e3)},Bt=()=>{const t=e=>{const a=e.target;if(!a||typeof a.closest!="function")return;const r=a.closest("a[href]");if(r){const i=r.getAttribute("href");i&&i.startsWith("/")&&!i.includes(":")&&te(i)}};return document.addEventListener("mouseenter",t,{capture:!0,passive:!0}),document.addEventListener("touchstart",t,{capture:!0,passive:!0}),document.addEventListener("focusin",t,{capture:!0,passive:!0}),()=>{document.removeEventListener("mouseenter",t),document.removeEventListener("touchstart",t),document.removeEventListener("focusin",t)}},ge=null,Ve=Date.now(),Ut=()=>{const t=()=>{Ve=Date.now()};return window.addEventListener("click",t,{passive:!0}),window.addEventListener("scroll",t,{passive:!0}),window.addEventListener("keydown",t,{passive:!0}),window.addEventListener("touchstart",t,{passive:!0}),ge=setInterval(()=>{Date.now()-Ve>300*1e3&&Gt()},120*1e3),()=>{ge&&clearInterval(ge)}},Gt=()=>{if("caches"in window,window.gc)try{window.gc()}catch{}document.dispatchEvent(new CustomEvent("app:memoryCleanup")),console.log("ð§¹ Memory cleanup performed")},jt=["/signin","/signup","/forgot-password"],Ht=["/","/for-prop-firms","/for-coaches","/for-educators"],Wt=["/pricing","/rsvp","/support","/help","/redeem","/privacy","/terms","/cookies","/dpa"];function Ua({user:t,pathname:e}){return jt.includes(e)||e==="/onboarding"||Ht.includes(e)&&!t?"none":!t&&Wt.includes(e)?"marketing":"app"}var Ga=He({HapticType:()=>x,haptic:()=>re,hapticLight:()=>$t,hapticPullThreshold:()=>Yt,hapticSuccess:()=>qt}),Kt=()=>typeof navigator<"u"&&"vibrate"in navigator,x={LIGHT:"light",MEDIUM:"medium",HEAVY:"heavy",SUCCESS:"success",WARNING:"warning",ERROR:"error",SELECTION:"selection"},ze={[x.LIGHT]:[10],[x.MEDIUM]:[20],[x.HEAVY]:[30],[x.SUCCESS]:[10,50,10],[x.WARNING]:[20,40,20],[x.ERROR]:[30,50,30,50,30],[x.SELECTION]:[5]},re=(t=x.LIGHT)=>{if(!Kt())return;const e=ze[t]||ze[x.LIGHT];try{navigator.vibrate(e)}catch(a){console.debug("Haptic feedback failed:",a)}},$t=()=>re(x.LIGHT),qt=()=>re(x.SUCCESS),Yt=()=>re(x.MEDIUM);typeof window<"u"&&(window.React=I.default,window.useState=I.useState,window.useEffect=I.useEffect,window.useMemo=I.useMemo,window.useCallback=I.useCallback,window.useRef=I.useRef,window.useContext=I.useContext,window.createContext=I.createContext,window.memo=I.memo,window.lazy=I.lazy,window.Suspense=I.Suspense);var Jt=class{constructor(){this.originalConsoleError=console.error,this.originalConsoleWarn=console.warn,this.extensionErrors=new Set,this.init()}init(){console.error=(...t)=>{if(this.isExtensionError(t)){this.handleExtensionError(t);return}this.isExpectedPermissionError(t)||this.originalConsoleError.apply(console,t)},console.warn=(...t)=>{if(this.isExtensionWarning(t)){this.handleExtensionWarning(t);return}this.isExpectedPermissionError(t)||this.originalConsoleWarn.apply(console,t)},this.setupRuntimeErrorHandling()}isExtensionError(t){const e=t.join(" ").toLowerCase();return["chrome-extension://","extension context invalidated","message channel closed","receiving end does not exist","could not establish connection","extension port disconnected","error in event handler","unchecked runtime.lasterror"].some(a=>e.includes(a))}isExpectedPermissionError(t){const e=t.join(" ").toLowerCase();return["permission denied for members listener","permission denied for violations listener","permission denied for account requests listener","permission denied for organization listener","permission denied fetching members","permission denied fetching org stats","permission denied fetching member stats","permission denied fetching account requests","user may
28not be a member","this is expected during auth transitions","error listening to broker accounts","missing or insufficient permissions","state drift: accountstate","state transition:","signature is invalid","token validation error","gethmstoken","failed to join room","failed to join call","failed to create 100ms room","not connected to any room"].some(a=>e.includes(a))}isExtensionWarning(t){const e=t.join(" ").toLowerCase();return["chrome-extension://","extension","manifest v2 is deprecated"].some(a=>e.includes(a))}handleExtensionError(t){const e=t.join(" ");this.extensionErrors.has(e)||this.extensionErrors.add(e)}handleExtensionWarning(t){const e=t.join(" ");this.extensionErrors.has(e)||this.extensionErrors.add(e)}setupRuntimeErrorHandling(){if(typeof chrome<"u"&&chrome.runtime)try{chrome.runtime.onMessage.addListener((t,e,a)=>{try{return!1}catch{return!1}})}catch{}window.addEventListener("error",t=>{this.isExtensionRelatedError(t)&&(t.preventDefault(),this.handleExtensionError([t.message]))}),window.addEventListener("unhandledrejection",t=>{this.isExtensionRelatedError(t)&&(t.preventDefault(),this.handleExtensionError([t.reason]))})}isExtensionRelatedError(t){const e=t.message||t.reason||"";return this.isExtensionError([e])}destroy(){console.error=this.originalConsoleError,console.warn=this.originalConsoleWarn}getStats(){return{filteredErrors:this.extensionErrors.size,errors:Array.from(this.extensionErrors)}}},Qt=null;typeof window<"u"&&(Qt=new Jt);var Zt=class{constructor(){this.frameRate=60,this.frameDrops=0,this.performanceLevel="high",this.isMonitoring=!1,this.frameHistory=[],this.maxHistoryLength=30,this.init()}init(){this.detectDeviceCapabilities(),this.startMonitoring(),this.setupPerformanceObserver()}detectDeviceCapabilities(){const t=/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),e=navigator.deviceMemory&&navigator.deviceMemory<4,a=navigator.hardwareConcurrency&&navigator.hardwareConcurrency<4;t&&(e||a)?this.performanceLevel="low":t?this.performanceLevel="medium":this.performanceLevel="high",console.log(`ð Performance level: ${this.performanceLevel}`),this.applyPerformanceOptimizations()}startMonitoring(){let t=performance.now(),e=0;const a=r=>{if(!this.isMonitoring)return;e++;const i=r-t;i>=1e3&&(this.frameRate=Math.round(e*1e3/i),this.frameHistory.push(this.frameRate),this.frameHistory.length>this.maxHistoryLength&&this.frameHistory.shift(),this.analyzePerformance(),e=0,t=r),requestAnimationFrame(a)};this.isMonitoring=!0,requestAnimationFrame(a)}analyzePerformance(){const t=this.frameHistory.reduce((e,a)=>e+a,0)/this.frameHistory.length;t<45?(this.frameDrops++,this.frameDrops>3&&this.downgradePerformance()):t>55&&this.performanceLevel!=="high"&&this.upgradePerformance()}downgradePerformance(){if(this.performanceLevel==="low"){this.frameDrops=0;return}console.log(`â¬ï¸ Downgrading performance due to frame drops (${this.frameRate}fps)`),this.performanceLevel==="high"?this.performanceLevel="medium":this.performanceLevel==="medium"&&(this.performanceLevel="low"),this.applyPerformanceOptimizations(),this.frameDrops=0}upgradePerformance(){console.log(`â¬ï¸ Upgrading performance (${this.frameRate}fps)`),this.performanceLevel==="low"?this.performanceLevel="medium":this.performanceLevel==="medium"&&(this.performanceLevel="high"),this.applyPerformanceOptimizations()}applyPerformanceOptimizations(){switch(document.documentElement.setAttribute("data-performance",this.performanceLevel),this.performanceLevel){case"low":this.applyLowPerformanceMode();break;case"medium":this.applyMediumPerformanceMode();break;case"high":this.applyHighPerformanceMode();break}}applyLowPerformanceMode(){document.body.classList.add("performance-low"),document.body.classList.remove("performance-medium","performance-high"),document.documentElement.style.setProperty("--animation-duration","0.1s"),document.documentElement.style.setProperty("--transition-duration","0.1s")}applyMediumPerformanceMode(){document.body.classList.add("performance-medium"),document.body.classList.remove("performance-low","performance-high"),document.documentElement.style.setProperty("--animation-duration","0.2s"),document.documentElement.style.setProperty("--transition-duration","0.2s")}applyHighPerformanceMode(){document.body.classList.add("performance-high"),document.body.classList.remove("performance-low","performance-medium"),document.documentElement.style.setProperty("--animation-duration","0.3s"),document.documentElement.style.setProperty("--transition-duration","0.3s")}setupPerformanceObserver(){}getPerformanceLevel(){return this.performanceLevel}getCurrentFrameRate(){return this.frameRate}getStats(){return{performanceLevel:this.performanceLevel,frameRate:this.frameRate,frameDrops:this.frameDrops,averageFrameRate:this.frameHistory.reduce((t,e)=>t+e,0)/this.frameHistory.length||0}}setPerformanceLevel(t){["low","medium","high"].includes(t)&&(this.performanceLevel=t,this.applyPerformanceOptimizations())}stop(){this.isMonitoring=!1}},Xt=null;typeof window<"u"&&(Xt=new Zt);var ja=()=>{typeof window<"u"&&"requestIdleCallback"in window&&window.requestIdleCallback(()=>{y(()=>import("./TradeLogger-DssKv1_B.js"),__vite__mapDeps([8,9,1,2,0,3,10,11,4,5,6,7,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])),y(()=>import("./TradeAnalytics-BhuadqLk.js"),__vite__mapDeps([30,9,1,2,0,3,10,11,4,5,6,7,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,31])),y(()=>import("./chat-page-evUfHQgD.js").then(t=>t.t),__vite__mapDeps([0,1,2,3]))})},ea=new Set(["en","es","pt","fr","de","ar","zh","zh-CN","zh-TW","ja","ko","ru","hi","tr"]),ta=[{code:"en",name:"English",native:"English",flag:"ðºð¸"},{code:"es",name:"Spanish",native:"Español",flag:"ðªð¸"},{code:"zh-CN",name:"Chinese (Simplified)",native:"䏿ï¼ç®ä½ï¼",flag:"ð¨ð³"},{code:"zh-TW",name:"Chinese (Traditional)",native:"䏿ï¼ç¹é«ï¼",flag:"ð¹ð¼"},{code:"ar",name:"Arabic",native:"Ø§ÙØ¹Ø±Ø¨ÙØ©",flag:"ð¸ð¦"},{code:"fr",name:"French",native:"Français",flag:"ð«ð·"},{code:"de",name:"German",native:"Deutsch",flag:"ð©ðª"},{code:"hi",name:"Hindi",native:"हिनà¥à¤¦à¥",flag:"ð®ð³"},{code:"ja",name:"Japanese",native:"æ¥æ¬èª",flag:"ð¯ðµ"},{code:"ko",name:"Korean",native:"íêµì´",flag:"ð°ð·"},{code:"pt",name:"Portuguese",native:"Português",flag:"ð§ð·"},{code:"ru",name:"Russian",native:"Ð ÑÑÑкий",flag:"ð·ðº"},{code:"it",name:"Italian",native:"Italiano",flag:"ð®ð¹"},{code:"nl",name:"Dutch",native:"Nederlands",flag:"ð³ð±"},{code:"pl",name:"Polish",native:"Polski",flag:"ðµð±"},{code:"tr",name:"Turkish",native:"Türkçe",flag:"ð¹ð·"},{code:"vi",name:"Vietnamese",native:"Tiếng Viá»t",flag:"ð»ð³"},{code:"th",name:"Thai",native:"ภาษาà¹à¸à¸¢",flag:"ð¹ð"},{code:"id",name:"Indonesian",native:"Bahasa Indonesia",flag:"ð®ð©"},{code:"ms",name:"Malay",native:"Bahasa Melayu",flag:"ð²ð¾"},{code:"sv",name:"Swedish",native:"Svenska",flag:"ð¸ðª"},{code:"da",name:"Danish",native:"Dansk",flag:"ð©ð°"},{code:"fi",name:"Finnish",native:"Suomi",flag:"ð«ð®"},{code:"no",name:"Norwegian",native:"Norsk",flag:"ð³ð´"}
28,{code:"uk",name:"Ukrainian",native:"УкÑаÑнÑÑка",flag:"ðºð¦"},{code:"el",name:"Greek",native:"Îλληνικά",flag:"ð¬ð·"},{code:"ro",name:"Romanian",native:"RomânÄ",flag:"ð·ð´"},{code:"hu",name:"Hungarian",native:"Magyar",flag:"ððº"},{code:"cs",name:"Czech",native:"ÄeÅ¡tina",flag:"ð¨ð¿"},{code:"he",name:"Hebrew",native:"×¢×ר×ת",flag:"ð®ð±"},{code:"fa",name:"Persian",native:"ÙØ§Ø±Ø³Û",flag:"ð®ð·"},{code:"bn",name:"Bengali",native:"বাà¦à¦²à¦¾",flag:"ð§ð©"},{code:"ta",name:"Tamil",native:"தமிழà¯",flag:"ð®ð³"},{code:"tl",name:"Filipino",native:"Filipino",flag:"ðµð"},{code:"sw",name:"Swahili",native:"Kiswahili",flag:"ð°ðª"},{code:"af",name:"Afrikaans",native:"Afrikaans",flag:"ð¿ð¦"}],Ha=ta.filter(t=>ea.has(t.code)),aa="appLanguage";function Wa(){try{return localStorage.getItem(aa)||"en"}catch{return"en"}}function Ka(t="en"){try{Dt(t||"en")}catch(e){console.error("Language switch failed:",e)}}function he(t,e){if(!t||t.length<e)return[];const a=2/(e+1);let r=t.slice(0,e).reduce((n,o)=>n+o,0)/e;const i=[r];for(let n=e;n<t.length;n++)r=t[n]*a+r*(1-a),i.push(r);return i}function ia(t,e=14){if(!t||t.length<e+1)return null;const a=t.map(o=>o.close);let r=0,i=0;for(let o=1;o<=e;o++){const s=a[o]-a[o-1];s>0?r+=s:i+=Math.abs(s)}r/=e,i/=e;for(let o=e+1;o<a.length;o++){const s=a[o]-a[o-1];r=(r*(e-1)+Math.max(s,0))/e,i=(i*(e-1)+Math.max(-s,0))/e}if(i===0)return 100;const n=r/i;return parseFloat((100-100/(1+n)).toFixed(2))}function ra(t,e=12,a=26,r=9){const i={macd:null,signal:null,histogram:null};if(!t||t.length<a+r)return i;const n=t.map(f=>f.close),o=he(n,e),s=he(n,a),c=a-e;if(o.length<c+s.length)return i;const l=s.map((f,p)=>o[p+c]-f);if(l.length<r)return i;const u=he(l,r);if(!u.length)return i;const d=l[l.length-1],h=u[u.length-1];return{macd:parseFloat(d.toFixed(4)),signal:parseFloat(h.toFixed(4)),histogram:parseFloat((d-h).toFixed(4)),aboveZero:d>0,bullishCross:d>h}}function na(t,e=20,a=2){const r={upper:null,middle:null,lower:null,bandwidth:null,percentB:null};if(!t||t.length<e)return r;const i=t.map(p=>p.close),n=i.slice(-e),o=n.reduce((p,v)=>p+v,0)/e,s=n.reduce((p,v)=>p+(v-o)**2,0)/e,c=Math.sqrt(s),l=o+a*c,u=o-a*c,d=i[i.length-1],h=o>0?parseFloat(((l-u)/o*100).toFixed(2)):null,f=l-u>0?parseFloat(((d-u)/(l-u)).toFixed(4)):null;return{upper:parseFloat(l.toFixed(4)),middle:parseFloat(o.toFixed(4)),lower:parseFloat(u.toFixed(4)),bandwidth:h,percentB:f,upperTouch:d>=l*.995,lowerTouch:d<=u*1.005,squeeze:h!==null&&h<12}}function sa(t,e=14){if(!t||t.length<e+1)return null;const a=[];for(let i=1;i<t.length;i++){const n=t[i-1].close;a.push(Math.max(t[i].high-t[i].low,Math.abs(t[i].high-n),Math.abs(t[i].low-n)))}if(a.length<e)return null;let r=a.slice(0,e).reduce((i,n)=>i+n,0)/e;for(let i=e;i<a.length;i++)r=(r*(e-1)+a[i])/e;return parseFloat(r.toFixed(4))}function $a(t){if(!t||t.length<15)return null;const e=ia(t),a=ra(t),r=na(t),i=sa(t);return{rsi:e,macd:a.macd,macdSignal:a.signal,macdHistogram:a.histogram,macdAboveZero:a.aboveZero,macdBullishCross:a.bullishCross,bbUpper:r.upper,bbMiddle:r.middle,bbLower:r.lower,bbBandwidth:r.bandwidth,bbPercentB:r.percentB,bbUpperTouch:r.upperTouch,bbLowerTouch:r.lowerTouch,bbSqueeze:r.squeeze,atr:i,sparkline:t.slice(-7).map(n=>n.close)}}async function oa({fetchPage:t,onBatch:e,maxDocs:a=1/0,maxBatches:r=1e4}={}){if(typeof t!="function")throw new TypeError("paginate: fetchPage must be a function");let i,n=0,o=0,s=!1,c=!1;for(;o<r;){const l=await t(i),u=l&&l.docs||[];if(u.length===0)break;o+=1;let d=u;const h=a-n;if(u.length>h&&(d=u.slice(0,Math.max(0,h)),s=!0),n+=d.length,e&&d.length&&await e(d,o-1)===!1){c=!0;break}if(s||!l.nextCursor)break;i=l.nextCursor}return{total:n,batches:o,truncated:s,stoppedEarly:c}}async function qa(t){const e=[];return await oa({...t,onBatch:async(a,r)=>{if(e.push(...a),t.onBatch)return t.onBatch(a,r)}}),e}var Ze={position:"top-right",autoClose:4e3,hideProgressBar:!1,closeOnClick:!0,pauseOnHover:!0,draggable:!0};({...Ze});({...Ze});var Ya=(t,e={})=>{},Ja=(t,e={})=>{},Qa=(t,e={})=>{},Be={"auth/email-already-in-use":"This email is already registered. Try signing in instead.","auth/invalid-email":"Please enter a valid email address.","auth/operation-not-allowed":"This sign-in method is not enabled. Please contact support.","auth/weak-password":"Password is too weak. Use at least 8 characters with letters and numbers.","auth/user-disabled":"This account has been disabled. Please contact support.","auth/user-not-found":"No account found with this email. Please sign up first.","auth/wrong-password":"Incorrect password. Please try again or reset your password.","auth/invalid-credential":"Invalid credentials. Please check your email and password.","auth/invalid-login-credentials":"Invalid email or password.","auth/too-many-requests":"Too many failed attempts. Please wait a few minutes and try again.","auth/network-request-failed":"Network error. Please check your connection.","auth/popup-closed-by-user":null,"auth/cancelled-popup-request":null,"auth/user-cancelled":null,"auth/web-storage-unsupported":"Please enable cookies and storage to sign in.","auth/popup-blocked":"Popup was blocked. Please allow popups for this site.","auth/account-exists-with-different-credential":"An account already exists with this email using a different sign-in method.","auth/credential-already-in-use":"This sign-in method is already linked to another account.","auth/requires-recent-login":"For security, please sign in again to continue.","auth/expired-action-code":"This link has expired. Please request a new one.","auth/invalid-action-code":"This link is invali
28d or has already been used.","auth/missing-email":"Please enter your email address.","auth/missing-password":"Please enter your password.","auth/internal-error":"Something went wrong. Please try again in a moment.","auth/timeout":"Request timed out. Please try again.","auth/quota-exceeded":"Service is busy right now. Please try again shortly.","auth/unauthorized-domain":"This domain is not authorized for sign-in.",1e3:null,1001:null,ASAuthorizationErrorCanceled:null,"apple/cancelled":null},Ue={"permission-denied":"You don't have permission to do that.",unauthenticated:"Please sign in to continue.","not-found":"We couldn't find what you were looking for.","already-exists":"That already exists.","resource-exhausted":"Service is busy. Please try again in a moment.","failed-precondition":"This action can't be completed right now.",aborted:"That action was interrupted. Please try again.","out-of-range":"That value is out of range.",unimplemented:"This feature isn't available yet.",internal:"Something went wrong on our end. Please try again.",unavailable:"Service is temporarily unavailable. Please try again shortly.","data-loss":"Something went wrong. Please refresh and try again.","deadline-exceeded":"That took too long. Please try again.",cancelled:null},Za=(t,e="Something went wrong. Please try again.")=>{if(!t)return e;const a=(t.code||t?.error?.code||"").toString(),r=(t.message||"").toString();if(a in Be)return Be[a];const i=a.replace(/^[a-z]+\//i,"");if(i in Ue)return Ue[i];const n=r.toLowerCase();return/cancel/.test(n)&&/(popup|user|sign|auth)/.test(n)?null:/network|fetch failed|err_network|timeout/.test(n)?"Network error. Please check your connection.":/permission|forbidden|unauthorized/.test(n)?"You don't have permission to do that.":/quota|rate limit|too many/.test(n)?"You're doing that too fast. Please wait a moment.":e},ae="rememberedCredential",ve="redline_remembered_credential",la=3600*24*365;function ca(){try{const t=document.cookie.split("; ").find(e=>e.startsWith(`${ve}=`));return t?decodeURIComponent(t.slice(30)):null}catch{return null}}function Xe(t){try{document.cookie=`${ve}=${encodeURIComponent(t)}; max-age=${la}; path=/; SameSite=Lax`}catch{}}function da(){try{document.cookie=`${ve}=; max-age=0; path=/; SameSite=Lax`}catch{}}function Xa(){let t=null;try{t=localStorage.getItem(ae)}catch{}const e=ca(),a=t||e||null;if(!a)return null;if(!t)try{localStorage.setItem(ae,a)}catch{}return e||Xe(a),a}function ei(t){const e=String(t||"").trim();if(!e)return ua();try{localStorage.setItem(ae,e)}catch{}Xe(e)}function ua(){try{localStorage.removeItem(ae)}catch{}da()}function pa(t={}){const e=t.accountNumber||t.accountId||t.providerAccountId;return e?String(e):t.type==="paper"||t.provider==="paper"?String(t.id||""):""}function ga(t={}){const e=pa(t);return e.length>4?e.slice(-4):e}function ha(t={}){const e=t.type==="paper"||t.provider==="paper",a=String(t.env||t.environment||(e?"paper":"")).toLowerCase().trim();return a==="live"||a==="prod"||a==="production"?"LIVE":a==="paper"?"PAPER":a==="demo"?"DEMO":a==="staging"||a==="stg"?"STAGING":null}function fa(t={}){return t.displayName||t.name||t.provider||t.id||"Account"}function ti(t={}){const e=fa(t),a=ga(t),r=ha(t);return[e,a?`â¢â¢${a}`:null,r].filter(Boolean).join(" · ")}var ma={symbol:["symbol","ticker","Symbol","Ticker"],entryPrice:["entryPrice","entry","openPrice","open_price"],exitPrice:["exitPrice","exit","closePrice","close_price"],quantity:["quantity","qty","size","positionSize","contracts","shares"],stopPrice:["stopPrice","stopLoss","stop_loss","stop"],maxLossAmount:["maxLossAmount","maxLoss","max_loss"],riskPercent:["riskPercent","riskPct","risk_percent"],takeProfit:["takeProfit","targetPrice","take_profit","target"],grossPnL:["grossPnL","grossPL","grossPnl","pl","pnl","profitLoss","profit_loss"],entryDate:["entryDate","entryTime","entry_time","openTime","open_time"],exitDate:["exitDate","exitTime","exit_time","closeTime","close_time"],direction:["direction","tradeType","side","trade_type"],assetClass:["assetClass","marketType","market","asset_class"],setupType:["setupType","setup","strategy"],tradingSession:["tradingSession","session","trading_session"],emotionalStateEntry:["emotionalStateEntry","entryEmotion","emotionalState","emotion"],emotionalStateExit:["emotionalStateExit","exitEmotion"],setupRating:["setupRating","setup_rating"],wasChased:["wasChased","was_chased","chased"],hadValidInvalidation:["hadValidInvalidation","had_valid_invalidation","thesisInvalidated"]};function b(t,e){const a=ma[e]||[e];for(const r of a)if(t[r]!==void 0&&t[r]!==null&&t[r]!=="")return t[r]}function L(t){if(t==null||t==="")return null;const e=parseFloat(t);return isNaN(e)?null:e}function T(t){return t==null?"":String(t)}function Q(t){return t===!0||t==="true"||t===1}function Ge(t){if(!t)return"";if(typeof t=="string")return t.split("T")[0]||t;let e;if(t?.toDate&&typeof t.toDate=="function")try{e=t.toDate()}catch{return""}else t instanceof Date?e=t:t?.seconds&&(e=new Date(t.seconds*1e3));return e instanceof Date&&!isNaN(e.getTime())?e.toISOString().split("T")[0]:""}function ai(t){if(!t||typeof t!="object")return console.warn("hydrateTrade: Invalid input",t),ya();const e=typeof t.data=="function"?{id:t.id,...t.data()}:t,a={tradeId:T(e.id||e.tradeId),symbol:T(b(e,"symbol")).toUpperCase(),assetClass:T(b(e,"assetClass"))||"Stocks",direction:T(b(e,"direction"))||"long",entryPrice:L(b(e,"entryPrice")),exitPrice:L(b(e,"exitPrice")),quantity:L(b(e,"quantity")),entryDate:Ge(b(e,"entryDate")),exitDate:Ge(b(e,"exitDate")),status:T(e.status)||(e.exitPrice?"closed":"open"),grossPnL:L(b(e,"grossPnL")),fees:L(e.fees||e.commission),stopPrice:L(b(e,"stopPrice")),maxLossAmount:L(b(e,"maxLossAmount")),riskPercent:L(b(e,"riskPercent")),takeProfit:L(b(e,"takeProfit")),riskAmount:L(e.riskAmount),plannedRR:L(e.plannedRR||e.riskRewardRatio),setupType:T(b(e,"setupType")),followedRules:e.followedRules!==!1,setupRating:L(b(e,"setupRating")),confidence:L(e.confidence),wasChased:Q(b(e,"wasChased")),tradingSession:T(b(e,"tradingSession")),preTradePlan:T(e.preTradePlan),exitReason:T(e.exitReason),hadValidInvalidation:Q(b(e,"hadValidInvalidation")),emotionalStateEntry:T(b(e,"emotionalStateEntry")),emotionalStateExit:T(b(e,"emotionalStateExit")),marketTrend:T(e.marketTrend),volatility:T(e.volatility),tags:Array.isArray(e.tags)?e.tags:[],notes:T(e.notes),source:T(e.source||e.importSource),locked:Q(e.locked),violations:Array.isArray(e.violations)?e.violations:[],violationAcknowledged:Q(e.violationAcknowledged)};return a.hasRiskDefined=!!(a.stopPrice||a.maxLossAmount||a.riskPercent),a.hasPrices=!!(a.entryPrice&&a.exitPrice),a.isImported=a.source==="import"||a.source==="auto"||a.locked,console.log("ð HYDRATE
28D TRADE:",{symbol:a.symbol,stopPrice:a.stopPrice,maxLossAmount:a.maxLossAmount,riskPercent:a.riskPercent,hasRiskDefined:a.hasRiskDefined,grossPnL:a.grossPnL,hasPrices:a.hasPrices}),a}function ya(){return{tradeId:"",symbol:"",assetClass:"Stocks",direction:"long",entryPrice:null,exitPrice:null,quantity:null,entryDate:"",exitDate:"",status:"open",grossPnL:null,fees:null,stopPrice:null,maxLossAmount:null,riskPercent:null,takeProfit:null,riskAmount:null,plannedRR:null,setupType:"",followedRules:!0,setupRating:null,confidence:null,wasChased:!1,tradingSession:"",preTradePlan:"",exitReason:"",hadValidInvalidation:!1,emotionalStateEntry:"",emotionalStateExit:"",marketTrend:"",volatility:"",tags:[],notes:"",locked:!1,violations:[],violationAcknowledged:!1,hasRiskDefined:!1,hasPrices:!1,isImported:!1,source:"manual",sourceMeta:{broker:null,accountId:null,importBatchId:null,externalTradeId:null,externalOrderId:null},dedupe:{fingerprintV1:null,matchKey:null},link:{canonicalTradeId:null,mergedIntoId:null,mergeStatus:"standalone"},tradeStatus:"draft"}}var je={id:null,tradeId:null,symbol:"",ticker:"",direction:"long",tradeType:"long",entryPrice:null,exitPrice:null,quantity:null,positionSize:null,status:"open",marketType:"Stocks",assetClass:"Stocks",market:"Stocks",entryDate:null,exitDate:null,entryTime:null,exitTime:null,createdAt:null,updatedAt:null,pl:null,grossPnL:null,plPercent:null,fees:null,commission:null,setupGrade:null,invalidation:{type:null,value:null},intent:{planId:null,planExists:!1,followedPlan:null},riskStateAtEntry:"NORMAL",riskStateReasonsAtEntry:[],signalTags:[],signalMeta:{gradeSkipped:!1,invalidationMissing:!1,planMissing:!1,gateSkipped:!1},dataCoverage:{required:0,recommended:0,optional:0},stopLoss:null,stopPrice:null,maxLossAmount:null,maxLoss:null,riskPercent:null,takeProfit:null,riskAmount:null,plannedRR:null,
28setupType:null,setup:null,setupRating:null,confidence:null,wasChased:null,tradingSession:null,session:null,preTradePlan:null,exitReason:null,emotionalStateEntry:null,emotionalStateExit:null,entryEmotion:null,exitEmotion:null,emotionalState:null,marketTrend:null,volatility:null,vixLevel:null,marketRegime:null,tags:[],notes:"",optionType:null,optionStrike:null,optionExpiry:null,contractMonth:null,tickSize:null,tickValue:null,contractMultiplier:null,currencyPair:null,pipValue:null,ruleId:null,playbookId:null,source:"manual",locked:!1,needsEnrichment:!0,violations:[],violationAcknowledged:!1,schemaVersion:2,sessionId:null,aiAnalysis:null,hadValidInvalidation:null};function ii(t){if(!t||typeof t!="object")return console.warn("[ensureTradeContract] Invalid input, returning default contract"),{...je};const e={};for(const[a,r]of Object.entries(je)){const i=t[a];r!==null&&typeof r=="object"&&!Array.isArray(r)?e[a]={...r,...i&&typeof i=="object"?i:{}}:Array.isArray(r)?e[a]=Array.isArray(i)?i:r:i!==void 0?e[a]=i:e[a]=r}return e.id=e.id||e.tradeId||t.id,e.tradeId=e.tradeId||e.id,console.log("[ensureTradeContract] Contract enforced:",{id:e.id,symbol:e.symbol,hasInvalidation:e.invalidation?.type!==null,hasIntent:e.intent?.planId!==null||e.intent?.planExists,hasRiskState:e.riskStateAtEntry}),e}var K={PREMARKET:"Premarket",OPENING_RANGE:"Opening Range",MIDDAY_GRIND:"Midday Grind",POWER_HOUR:"Power Hour",POST_MARKET:"Post-Market"},ri={[K.PREMARKET]:{start:0,end:9.5},[K.OPENING_RANGE]:{start:9.5,end:10.5},[K.MIDDAY_GRIND]:{start:10.5,end:15},[K.POWER_HOUR]:{start:15,end:16},[K.POST_MARKET]:{start:16,end:24}};export{Na as A,zt as C,Ma as D,Qe as E,Va as O,Ut as S,Ba as T,ja as _,ua as a,Ga as b,Za as c,Ya as d,qa as f,Ka as g,Wa as h,ti as i,Fa as k,Ja as l,Ha as m,ii as n,Xa as o,$a as p,ai as r,ei as s,K as t,Qa as u,$t as v,te as w,Ua as x,Yt as y};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.