@amd-gaia/agent-ui 0.25.4-rc.9 → 0.25.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AdvancedSettings-Dkjf4LIp.js +1 -0
- package/dist/assets/ConnectorsPane-CIV89VVI.js +1 -0
- package/dist/assets/{DocumentLibrary-D3FbBLgb.js → DocumentLibrary-2IMvlsjP.js} +2 -2
- package/dist/assets/{FileBrowser-DoZvZBAZ.js → FileBrowser-DMnjs5do.js} +4 -4
- package/dist/assets/MemoryDashboard-BAqXtg9o.js +1 -0
- package/dist/assets/MobileAccessModal-CrtIKCP3.js +2 -0
- package/dist/assets/ScheduleManager-D_KcT6nO.js +1 -0
- package/dist/assets/api-D5mTAXjB.js +4 -0
- package/dist/assets/index-B7tI0eKR.css +1 -0
- package/dist/assets/index-CsgZhHsw.js +80 -0
- package/dist/assets/useT-CtECS-vp.js +3 -0
- package/dist/assets/{zap-nquO2dVq.js → zap-FkXztfRB.js} +1 -1
- package/dist/index.html +4 -4
- package/dist/sw.js +1 -1
- package/main.cjs +126 -20
- package/package.json +1 -1
- package/preload.cjs +8 -0
- package/services/auto-updater.cjs +26 -3
- package/services/backend-supervisor.cjs +150 -0
- package/services/port-manager.cjs +3 -0
- package/services/quit-guard.cjs +9 -0
- package/services/tray-host.cjs +84 -0
- package/services/tray-manager.cjs +33 -7
- package/dist/assets/AdvancedSettings-Pil1Flfe.js +0 -1
- package/dist/assets/ConnectorsPane-D3tAB0fM.js +0 -1
- package/dist/assets/MemoryDashboard-BVs69AmP.js +0 -1
- package/dist/assets/MobileAccessModal-bBzOCo4o.js +0 -2
- package/dist/assets/ScheduleManager-BN8h4kt3.js +0 -1
- package/dist/assets/api-CiSwuQUq.js +0 -4
- package/dist/assets/index-B2qlJogW.css +0 -1
- package/dist/assets/index-DL8_h-hw.js +0 -78
- package/dist/assets/useT-BTgbCEQm.js +0 -3
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{r as e,t}from"./rolldown-runtime-XKyaHtl9.js";var n=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.for(`react.view_transition`),m=Symbol.iterator;function h(e){return typeof e!=`object`||!e?null:(e=m&&e[m]||e[`@@iterator`],typeof e==`function`?e:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,v={};function y(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function b(){}b.prototype=y.prototype;function x(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}var S=x.prototype=new b;S.constructor=x,_(S,y.prototype),S.isPureReactComponent=!0;var C=Array.isArray;function w(){}var T={H:null,A:null,T:null,S:null},E=Object.prototype.hasOwnProperty;function D(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function O(e,t){return D(e.type,t,e.props)}function k(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ee(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?ee(``+e.key):t.toString(36)}function te(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(w,w):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function M(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,M(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,C(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),M(o,r,i,``,function(e){return e})):o!=null&&(k(o)&&(o=O(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(C(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=M(a,r,i,s,o);else if(u=h(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=M(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return M(te(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function N(e,t,n){if(e==null)return e;var r=[],i=0;return M(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ne(e){if(e._status===-1){var t=e._result,n=t();n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t,n.status===void 0&&(n.status=`fulfilled`,n.value=t))},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t,n.status===void 0&&(n.status=`rejected`,n.reason=t))}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var re=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)};function P(e){var t=T.T,n={};n.types=t===null?null:t.types,T.T=n;try{var r=e(),i=T.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(w,re)}catch(e){re(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),T.T=t}}function ie(e){var t=T.T;if(t!==null){var n=t.types;n===null?t.types=[e]:n.indexOf(e)===-1&&n.push(e)}else P(ie.bind(null,e))}var ae={map:N,forEach:function(e,t,n){N(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return N(e,function(){t++}),t},toArray:function(e){return N(e,function(e){return e})||[]},only:function(e){if(!k(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ae,e.Component=y,e.Fragment=r,e.Profiler=a,e.PureComponent=x,e.StrictMode=i,e.Suspense=l,e.ViewTransition=p,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return T.H.useMemoCache(e)}},e.addTransitionType=ie,e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=_({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!E.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return D(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)E.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return D(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=k,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:ne}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=P,e.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},e.use=function(e){return T.H.use(e)},e.useActionState=function(e,t,n){return T.H.useActionState(e,t,n)},e.useCallback=function(e,t){return T.H.useCallback(e,t)},e.useContext=function(e){return T.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return T.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return T.H.useEffect(e,t)},e.useEffectEvent=function(e){return T.H.useEffectEvent(e)},e.useId=function(){return T.H.useId()},e.useImperativeHandle=function(e,t,n){return T.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return T.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return T.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return T.H.useMemo(e,t)},e.useOptimistic=function(e,t){return T.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return T.H.useReducer(e,t,n)},e.useRef=function(e){return T.H.useRef(e)},e.useState=function(e){return T.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return T.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return T.H.useTransition()},e.version=`19.3.1`})),r=t(((e,t)=>{t.exports=n()})),i=e(r(),1),a=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function o(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:a(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var s=e=>{let t=``,n=!1;for(let r of e)r===`-`||r===`_`||r<=` `?n=t.length>0:(t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1);return t},c=e=>{let t=s(e);return t.charAt(0).toUpperCase()+t.slice(1)},l=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),u={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function d(e){return e!=null}function f(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??u.width,a=e.size??e.height??u.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],f=t.includeDefaultClasses===!1?l(...c):l(`lucide`,...s,...c),p=t.absoluteStrokeWidth?Number(t.strokeWidth??u[`stroke-width`])*Number(e.size??e.width??u.width)/Number(t.size??t.width??u.width):t.strokeWidth??u[`stroke-width`];return[`svg`,{...Object.entries(u).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&d(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&d(t.width)&&{[r(`width`)]:t.width},...`height`in t&&d(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:p,...f&&{[r(`class`)]:f},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function p(e,t={}){return f(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var m=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},h=(0,i.createContext)({}),g=()=>(0,i.useContext)(h),_=(0,i.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:a,absoluteStrokeWidth:o,nonScalingStroke:s,className:c=``,children:u,iconNode:d=[],icon:f={node:d,aliases:[],size:24},...h},_)=>{let{size:v=24,strokeWidth:y=2,absoluteStrokeWidth:b=!1,nonScalingStroke:x=!1,color:S=`currentColor`,className:C=``}=g()??{},w=!!u||m(h),[T,E,D=[]]=p(f,{color:e??S,width:n??t??v,height:r??t??v,strokeWidth:a??y,absoluteStrokeWidth:o??b,nonScalingStroke:s??x,className:l(C,c),hasA11yProp:w,attributes:h});return(0,i.createElement)(T,{ref:_,...E},[...D.map(([e,t])=>(0,i.createElement)(e,t)),...Array.isArray(u)?u:[u]])});function v(e,t=[],n=[]){let r=typeof e==`string`?o(e,t,n):e,a=(0,i.forwardRef)(({className:e,...t},n)=>(0,i.createElement)(_,{ref:n,icon:r,className:e,...t}));return r.name&&(a.displayName=c(r.name)),a}var y=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},b=(e=>e?y(e):y),x=e=>e;function S(e,t=x){let n=i.useSyncExternalStore(e.subscribe,i.useCallback(()=>t(e.getState()),[e,t]),()=>t(e.getInitialState()));return i.useDebugValue(n),n}var C=e=>{let t=b(e),n=e=>S(t,e);return Object.assign(n,t),n},w=(e=>e?C(e):C);function T(){return typeof window>`u`||typeof window.matchMedia!=`function`?`dark`:window.matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`}function E(e){return e===`system`?T():e}var D={light:`#FAF9F7`,dark:`#1A1917`};function O(e){document.documentElement.setAttribute(`data-theme`,e);let t=document.querySelector(`meta[name="theme-color"]`);t?t.setAttribute(`content`,D[e]):console.error(`applyTheme: index.html declares no <meta name="theme-color">, so the browser frame keeps its default colour instead of the app canvas. Restore the tag in src/gaia/apps/webui/index.html.`)}function k(){let e=window.gaiaWindow?.titleBar;e&&e!==`native`&&(document.documentElement.dataset.titlebar=e)}var ee=`.settings-overlay, .modal-overlay, .model-needed-overlay, .confirm-overlay, .version-picker-overlay, .cp-overlay`,A=()=>[...document.querySelectorAll(ee)];function j(e){let t=e.trim(),n=t.match(/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i)?.[1];if(n){let[e,t,r,i=`ff`]=n.length<=4?[...n].map(e=>e+e):n.match(/../g);return[parseInt(e,16),parseInt(t,16),parseInt(r,16),parseInt(i,16)/255]}let r=t.match(/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:\s*[,/]\s*([\d.]+)(%?))?\s*\)$/i);if(r){let e=r[4]===void 0?1:Number(r[4])/(r[5]?100:1);return[Number(r[1]),Number(r[2]),Number(r[3]),e]}throw Error(`Title bar: cannot read the color "${e}"; use a hex or rgb() value in src/styles/index.css.`)}function te(e,t){let[n,r,i]=j(e);for(let e of t){let[t,a,o,s]=j(e);[n,r,i]=[n+(t-n)*s,r+(a-r)*s,i+(o-i)*s]}return`#${[n,r,i].map(e=>Math.round(e).toString(16).padStart(2,`0`)).join(``)}`}function M(){if(window.gaiaWindow?.titleBar!==`overlay`)return;let e=A().length;new MutationObserver(()=>{A().length!==e&&(e=A().length,N())}).observe(document.body,{childList:!0,subtree:!0})}function N(){let e=document.documentElement,t=getComputedStyle(e),n=t.getPropertyValue(`--bg-primary`).trim(),r=e.dir===`rtl`?t.getPropertyValue(`--bg-sidebar`).trim():n,i=t.getPropertyValue(`--text-primary`).trim();if(window.gaiaWindow?.titleBar===`overlay`&&r&&i){let e=A().map(e=>getComputedStyle(e).backgroundColor),t={color:te(r,e),symbolColor:te(i,e)};window.gaiaWindow.setColors(t).catch(e=>{console.error(`syncTitleBar: the desktop window controls did not take the colors`,e)})}e.dataset.palette&&n&&document.querySelector(`meta[name="theme-color"]`)?.setAttribute(`content`,n)}var ne=[{id:`default`,name:`Warm gray`,swatch:[`#FAF9F7`,`#B08D57`,`#D4B47E`]},{id:`stone`,name:`Stone and ink`,swatch:[`#FAFAF9`,`#2B2B29`,`#E4E4E0`]},{id:`marble`,name:`Blue marble`,swatch:[`#F8FAFC`,`#1F5FA8`,`#5B9BE6`]},{id:`glacier`,name:`Glacier`,swatch:[`#F7FAFA`,`#2C6E78`,`#5FB4BF`]},{id:`forest`,name:`Forest floor`,swatch:[`#F8F9F7`,`#3A6B48`,`#7DBA8C`]},{id:`sage`,name:`Sage and mist`,swatch:[`#F9F9F7`,`#5E7A63`,`#9BB5A0`]},{id:`basalt`,name:`Basalt and lichen`,swatch:[`#F8F8F6`,`#6B7A2E`,`#B4C36A`]},{id:`gold`,name:`Graphite and gold`,swatch:[`#F7F7F8`,`#D9A300`,`#F2C230`]},{id:`dusk`,name:`Dusk`,swatch:[`#F9F9FB`,`#4F5A9C`,`#97A1E0`]}],re=new Set([...ne.map(e=>e.id),`custom`]),P={accent:`#1F5FA8`,base:`#6B7A8C`},ie=/^#[0-9a-fA-F]{6}$/,ae=e=>typeof e==`string`&&ie.test(e),F=e=>[1,3,5].map(t=>parseInt(e.slice(t,t+2),16)),oe=e=>`#`+e.map(e=>Math.max(0,Math.min(255,Math.round(e))).toString(16).padStart(2,`0`)).join(``).toUpperCase(),I=(e,t,n)=>{let r=F(e),i=F(t);return oe([0,1,2].map(e=>r[e]+(i[e]-r[e])*n))},se=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4},ce=e=>{let[t,n,r]=F(e).map(se);return .2126*t+.7152*n+.0722*r};function le(e,t){let[n,r]=[ce(e),ce(t)].sort((e,t)=>t-e);return(n+.05)/(r+.05)}function L(e,t,n,r){let i=e;for(let a=.02;Math.min(...t.map(e=>le(i,e)))<n&&a<=1;a+=.02)i=I(e,r,a);return i}var R=(e,t)=>{let[n,r,i]=F(e);return`rgba(${n}, ${r}, ${i}, ${t})`};function ue(e,t){let n=t===`dark`,r=n?`#FFFFFF`:`#000000`,i=n?I(`#151515`,e.base,.1):I(`#FAFAFA`,e.base,.06),a=I(n?`#111111`:`#F1F1F1`,e.base,.1),o=n?I(`#ECECEC`,e.base,.06):I(`#1B1B1B`,e.base,.12),s=n?I(i,o,.06):`#FFFFFF`,c=I(i,o,n?.09:.06),l=I(i,o,n?.14:.1),u=I(i,o,n?.11:.07),d=I(i,a,.5),f=n?I(i,`#000000`,.15):I(i,a,.8),p=[i,a,s,c,d,u,f,l],m=L(n?I(`#A3A3A3`,e.base,.12):I(`#5E5E5E`,e.base,.18),p,4.6,r),h=L(I(i,o,n?.24:.26),[i,s,a],1.6,r),g=L(e.accent,[i],3,r),_=L(g,[i,s,a],4.6,r),v=I(s,g,n?.22:.14),y=I(s,g,n?.3:.22);return{"--bg-primary":i,"--bg-secondary":d,"--bg-tertiary":u,"--bg-sidebar":a,"--bg-input":s,"--bg-card":s,"--bg-hover":c,"--bg-active":l,"--bg-user-msg":s,"--bg-recessed":f,"--text-primary":o,"--text-secondary":m,"--text-muted":m,"--border":h,"--border-light":h,"--border-recessed":h,"--accent":_,"--accent-light":I(g,`#FFFFFF`,.18),"--accent-solid":g,"--accent-dim":R(g,.16),"--accent-dim2":R(g,.08),"--accent-selection":R(g,.26),"--accent-ring":R(g,.38),"--accent-fill":v,"--accent-fill-text":L(_,[v,y],4.6,r),"--accent-fill-hover":y,"--tint-subtle":R(o,.03),"--tint-hover":R(o,n?.06:.05),...n?{"--text-inverse":i,"--switch-knob":o}:{}}}var de=Object.keys(ue(P,`dark`));function z(e,t,n){let r=document.documentElement;for(let e of de)r.style.removeProperty(e);if(e==="default"?delete r.dataset.palette:r.dataset.palette=e,e===`custom`)for(let[e,i]of Object.entries(ue(t,n)))r.style.setProperty(e,i);N()}var fe={api:`#4fc3f7`,store:`#ce93d8`,chat:`#81c784`,stream:`#ffb74d`,ui:`#90a4ae`,doc:`#a1887f`,system:`#e57373`,nav:`#fff176`},pe={api:`fetch`,store:`state`,chat:`chat`,stream:`stream`,ui:`ui`,doc:`docs`,system:`sys`,nav:`nav`},B=(()=>{try{if(localStorage.getItem(`gaia-debug`)===`true`)return!0;if(typeof location<`u`){let e=new URLSearchParams(location.search);if(e.has(`debug`)||e.has(`verbose`))return!0}}catch{}return!1})();function V(){let e=new Date;return e.toLocaleTimeString(`en-US`,{hour12:!1})+`.`+String(e.getMilliseconds()).padStart(3,`0`)}function H(e){let t=fe[e]||`#ccc`,n=`%c[${pe[e]||e}]`,r=`color: ${t}; font-weight: bold;`,i=`color: #888; font-weight: normal;`;return{info:(e,...t)=>{if(!B)return;let a=V();t.length>0?console.log(`${n} %c${a} %c${e}`,r,i,`color: inherit;`,...t):console.log(`${n} %c${a} %c${e}`,r,i,`color: inherit;`)},warn:(e,...t)=>{let a=V();console.warn(`${n} %c${a} %c${e}`,r,i,`color: inherit;`,...t)},error:(e,...t)=>{let a=V();console.error(`${n} %c${a} %c${e}`,r,i,`color: inherit;`,...t)},debug:(e,...t)=>{if(!B)return;let a=V();console.debug(`${n} %c${a} %c${e}`,r,i,`color: #999;`,...t)},timed:(e,t,...a)=>{if(!B)return;let o=Math.round(performance.now()-t),s=V(),c=o>2e3?`color: #e57373;`:o>500?`color: #ffb74d;`:`color: #81c784;`;a.length>0?console.log(`${n} %c${s} %c${e} %c(${o}ms)`,r,i,`color: inherit;`,c,...a):console.log(`${n} %c${s} %c${e} %c(${o}ms)`,r,i,`color: inherit;`,c)},time:()=>performance.now()}}var U={api:H(`api`),store:H(`store`),chat:H(`chat`),stream:H(`stream`),ui:H(`ui`),doc:H(`doc`),system:H(`system`),nav:H(`nav`)};function me(e){console.log(`%c GAIA %c v`+e+` %c Local AI Desktop`,`background: #7A5A22; color: white; font-weight: bold; padding: 4px 8px; border-radius: 4px 0 0 4px;`,`background: #333; color: #fff; padding: 4px 8px;`,`background: #1a1a1a; color: #888; padding: 4px 8px; border-radius: 0 4px 4px 0;`),console.log(B?`%cVerbose logging enabled. Categories: [fetch] [state] [chat] [stream] [ui] [docs] [sys] [nav]`:`%cVerbose logging: add ?debug to URL or run localStorage.setItem("gaia-debug","true")`,`color: #666; font-style: italic;`)}var he={meta:{code:`ar`,nativeName:`العربية`,englishName:`Arabic`,dir:`rtl`,showEnglishInBrackets:!0},messages:{"sidebar.label":`المحادثات`,"sidebar.expand":`توسيع الشريط الجانبي`,"sidebar.collapse":`طي الشريط الجانبي`,"sidebar.search":`البحث في المحادثات`,"sidebar.newChat":`محادثة جديدة`,"sidebar.memory":`الذاكرة`,"sidebar.schedules":`المهام المجدولة`,"sidebar.documents":`المستندات`,"sidebar.recent":`المحادثات الأخيرة`,"sidebar.noMatch":`لا توجد محادثات مطابقة.`,"sidebar.searching":`جارٍ البحث داخل المحادثات…`,"sidebar.searchCapped":`نعرض أحدث {n} محادثة تذكر هذا. اكتب المزيد لتضييق النتائج.`,"sidebar.matchCount.one":`المحادثات المطابقة: {n}`,"sidebar.matchCount.other":`المحادثات المطابقة: {n}`,"sidebar.empty":`لا توجد محادثات بعد.`,"sidebar.group.needsYou":`بانتظارك`,"sidebar.group.pinned":`المثبّتة`,"sidebar.group.today":`اليوم`,"sidebar.group.yesterday":`أمس`,"sidebar.group.prev7":`آخر 7 أيام`,"sidebar.group.prev30":`آخر 30 يومًا`,"sidebar.group.older":`أقدم`,"sidebar.hideBackground":`إخفاء عمليات الخلفية`,"sidebar.showBackground.one":`إظهار عمليات الخلفية: {n}`,"sidebar.showBackground.other":`إظهار عمليات الخلفية: {n}`,"sidebar.notifications":`الإشعارات`,"sidebar.notificationsUnread":`الإشعارات، غير المقروءة: {n}`,"sidebar.mobileAccess":`الوصول من الهاتف`,"sidebar.mobileAccessOn":`الوصول من الهاتف مفعّل`,"mobileAccess.installTitle":`أبقِ GAIA على هاتفك`,"mobileAccess.installSteps":`بعد فتح GAIA، أضِفه إلى الشاشة الرئيسية: في Safari، أو Chrome على iPhone، اضغط على مشاركة ثم إضافة إلى الشاشة الرئيسية. في Chrome على Android، افتح القائمة ⋮ واضغط على إضافة إلى الشاشة الرئيسية.`,"mobileAccess.linkLifetime":`يتوقف هذا الرابط عن العمل عند إيقاف الوصول من الهاتف. في كل مرة تشغّله، امسح الرمز الجديد. إذا لم يعد GAIA على شاشتك الرئيسية يتصل، فافتح الرابط الجديد وأضِفه مرة أخرى.`,"sidebar.settings":`الإعدادات`,"modelStatus.fallbackName":`النموذج`,"modelStatus.pillAria.loaded":`{text}، النموذج محمّل`,"modelStatus.pillAria.warming":`{text}، النموذج قيد التجهيز`,"modelStatus.pillAria.idle":`{text}، النموذج غير محمّل`,"modelStatus.pillAria.stopped":`{text}، النموذج متوقف`,"modelStatus.sentTo":`يُرسَل سجل المحادثة إلى {name}`,"modelStatus.runsHere":`يعمل على هذا الجهاز`,"modelStatus.label":`حالة النموذج`,"modelStatus.checking":`جارٍ التحقق من النموذج…`,"modelStatus.state.loaded":`محمّل`,"modelStatus.state.loadedAnswering":`محمّل · يجيب الآن`,"modelStatus.state.warming":`قيد التجهيز`,"modelStatus.state.idle":`غير محمّل — سيُحمَّل مع رسالتك التالية`,"modelStatus.state.stopped":`خادم النموذج متوقف`,"modelStatus.cloudLine":`تستخدم الرسائل الجديدة {name} في السحابة. النموذج المحلي أدناه.`,"modelStatus.model":`النموذج`,"modelStatus.runsOn":`يعمل على`,"modelStatus.memory":`الذاكرة`,"modelStatus.context":`نافذة السياق`,"modelStatus.memoryUsed":`يستخدم النموذج {size}`,"modelStatus.memoryFree":`المتاح: {size}`,"modelStatus.memoryTotal":`{size} ({source})`,"modelStatus.unknown":`غير معروف`,"modelStatus.expected":`{label} (متوقع)`,"modelStatus.confirm":`سيُعيد هذا تحميل {name} على Lemonade الخاص بك على {url}. تتوقف التطبيقات الأخرى التي تستخدمه أثناء إعادة التحميل.`,"modelStatus.theModel":`النموذج`,"modelStatus.cancel":`إلغاء`,"modelStatus.reloadIt":`إعادة التحميل`,"modelStatus.settings":`إعدادات النموذج`,"modelStatus.restart":`إعادة التشغيل`,"modelStatus.restarting":`جارٍ إعادة التشغيل…`,"modelStatus.busyWarmUp":`يجهّز GAIA النموذج لمحادثة جديدة. أعِد تشغيله بعد انتهاء ذلك.`,"modelStatus.busyRequest":`النموذج يجيب عن طلب. أعِد تشغيله بعد انتهاء ذلك.`,"modelStatus.startServer":`تشغيل خادم النموذج وتحميل النموذج`,"modelStatus.reload":`إعادة تحميل النموذج بحجم السياق الخاص به`,"row.status.running":`قيد التشغيل`,"row.status.queued":`بانتظار معالج الرسومات`,"row.status.waiting":`بانتظارك`,"row.status.done":`اكتملت`,"row.status.failed":`فشلت`,"row.unread":`غير مقروءة`,"row.private":`محادثة خاصة`,"row.rename":`إعادة تسمية`,"row.renameAria":`إعادة تسمية {title}`,"row.saveName":`حفظ الاسم`,"row.cancelRename":`إلغاء إعادة التسمية`,"row.moreActions":`مزيد من الإجراءات لـ {title}`,"row.actions":`إجراءات المحادثة`,"row.pin":`تثبيت`,"row.unpin":`إلغاء التثبيت`,"row.pinToTop":`تثبيت في الأعلى`,"row.pinAria":`تثبيت {title}`,"row.unpinAria":`إلغاء تثبيت {title}`,"row.delete":`حذف`,"row.deleteAria":`حذف {title}`,"row.deleteConfirm":`حذف؟`,"row.confirmDeleteAria":`تأكيد حذف {title}`,"row.clickAgain":`انقر مرة أخرى للحذف`,"row.deleteMemoryNote":`يزيلها هذا من الذاكرة أيضًا. يبقى ما تعلّمه GAIA عنك في «About you».`,"row.tapAgain":`{label} اضغط مرة أخرى`,"newChat.label":`محادثة جديدة`,"newChat.greeting.morning":`صباح الخير. ما الذي سنعمل عليه؟`,"newChat.greeting.afternoon":`مساء الخير. ما الذي سنعمل عليه؟`,"newChat.greeting.evening":`مساء الخير. ما الذي سنعمل عليه؟`,"newChat.warmup.ready":`جارٍ تجهيز GAIA… {s} ث`,"newChat.warmup.loading":`جارٍ تحميل {model}… {s} ث`,"newChat.warmup.loadingOn":`جارٍ تحميل {model} على {where}… {s} ث`,"device.gpu":`معالج الرسومات GPU`,"device.npu":`المعالج العصبي NPU`,"device.cpu":`المعالج المركزي CPU`,"newChat.assistantUnavailable":`لم يبدأ مساعد GAIA بعد.`,"newChat.tryAgain":`إعادة المحاولة`,"newChat.details":`التفاصيل`,"newChat.docs.forChat":`مستندات هذه المحادثة`,"newChat.docs.dontAttach":`عدم إرفاق {name}`,"newChat.docs.more.one":`مستندات أخرى في مكتبتك: {n}.`,"newChat.docs.more.other":`مستندات أخرى في مكتبتك: {n}.`,"newChat.docs.library.one":`عدد المستندات في مكتبتك: {n}، ولا تبحث هذه المحادثة إلا في المستندات التي ترفقها بها.`,"newChat.docs.library.other":`عدد المستندات في مكتبتك: {n}، ولا تبحث هذه المحادثة إلا في المستندات التي ترفقها بها.`,"newChat.docs.attachIt":`إرفاقه`,"newChat.docs.attachAll":`إرفاق المستندات كلها ({n})`,"newChat.docs.choose":`اختيار`,"newChat.setupFailed.title":`لم يكتمل الإعداد الأولي لـ GAIA، لذا ستفشل المحادثة التي تستخدم نموذج هذا الجهاز.`,"newChat.setupFailed.hint":`استخدم نموذجًا سحابيًا، أو اختر نموذجًا أصغر.`,"newChat.setupFailed.choose":`اختيار نموذج`,"newChat.cardsLabel":`أفكار للبدء`,"card.document-brief.title":`اسأل عن مستنداتك`,"card.document-brief.note.one":`المستندات المفهرسة: {n}`,"card.document-brief.note.other":`المستندات المفهرسة: {n}`,"card.inbox-triage.title":`فرز بريدي الوارد`,"card.inbox-triage.note":`حساب البريد المتصل`,"card.research-report.title":`البحث في موضوع`,"card.research-report.note":`تقرير موثّق بالمصادر من الويب`,"card.coding.title":`العمل على الشيفرة`,"card.coding.note":`في {folder}`,"card.summarize.title":`تلخيص محتوى`,"card.summarize.note":`مستند أو نص تفريغ أو رسالة بريد`,"card.check-in.title":`المتابعة`,"card.check-in.note":`تابع من حيث توقفت`,"composer.placeholder":`اسأل GAIA عن أي شيء`,"composer.reply":`الرد على GAIA`,"composer.queueNext":`أضف رسالتك التالية إلى قائمة الانتظار`,"composer.starting":`جارٍ تشغيل GAIA…`,"composer.heldLabel":`رسالة بانتظار الإرسال`,"composer.heldUntilStarted":`ستُرسل بعد اكتمال تشغيل GAIA.`,"composer.message":`الرسالة`,"composer.attached":`الملفات المرفقة`,"composer.uploading":`جارٍ الرفع…`,"composer.remove":`إزالة {name}`,"composer.tooLong":`الرسالة أطول من أن تُرسل: عدد الأحرف {sent} والحد الأقصى {max}.`,"composer.tooLongHint":`احفظها في ملف وأرفقه بزر +، وسيتمكن GAIA من قراءتها كاملة.`,"composer.attach":`إرفاق ملفات`,"composer.queue":`إضافة الرسالة إلى قائمة الانتظار`,"composer.queueTitle":`أضفها إلى قائمة الانتظار لتُرسل عند انتهاء هذا الرد (Enter)`,"composer.stop":`إيقاف`,"composer.stopping":`جارٍ الإيقاف…`,"composer.send":`إرسال`,"composer.private":`خاصة`,"composer.memoryOn":`الذاكرة مفعّلة`,"composer.memoryOff":`الذاكرة متوقفة`,"composer.memoryUnknown":`حالة الذاكرة غير معروفة`,"composer.memoryOffTitle":`الذاكرة متوقفة في الإعدادات، لذا لا تُحفظ أي محادثة في الذاكرة`,"composer.memoryUnknownTitle":`تعذّرت قراءة إعداد الذاكرة. فعّل المحادثة الخاصة لإبقاء هذه المحادثة خارج الذاكرة في كل الأحوال.`,"composer.privateOn":`تفعيل المحادثة الخاصة`,"composer.privateOnTitle":`تفعيل المحادثة الخاصة. لن تُحفظ في الذاكرة.`,"composer.privateOff":`إيقاف المحادثة الخاصة`,"composer.privateOffTitle":`إيقاف المحادثة الخاصة. لن تُحفظ هذه المحادثة في الذاكرة.`,"agentNotice.missing":`وكيل GAIA غير مثبّت، لذا لا يمكن بدء محادثات جديدة بعد.`,"agentNotice.install":`تثبيت وكيل GAIA`,"agentNotice.installing":`جارٍ تثبيت وكيل GAIA… {percent}%`,"agentNotice.failed":`تعذّر تثبيت وكيل GAIA: {error}`,"agentNotice.retry":`إعادة المحاولة`,"agentNotice.noBuild":`لا يتوفر إصدار من وكيل GAIA لهذا الكمبيوتر بعد، لذا لا تتوفر المحادثة هنا.`,"msg.sent":`أُرسلت في {time}`,"msg.replied":`تم الرد في {time}`,"msg.thinking":`جارٍ التفكير...`,"live.readingRequest":`جارٍ قراءة طلبك`,"live.readingResults":`جارٍ قراءة نتائج الأدوات`,"live.reasoning":`جارٍ الاستدلال`,"live.reasoningWords":`جارٍ الاستدلال — الكلمات حتى الآن: {n}`,"live.loadingModel":`جارٍ تحميل {model} في الذاكرة`,"live.downloadingModel":`جارٍ تنزيل {model}`,"live.reconnectingServer":`جارٍ إعادة الاتصال بخادم النموذج…`,"live.reconnectingStream":`انقطع الاتصال. جارٍ إعادة الاتصال (المحاولة {attempt} من {max})…`,"live.waitingStart":`بانتظار أن يبدأ GAIA هذه الإجابة…`,"live.modelWaitHint":`ما زلنا بانتظار النموذج، ولم يصل أي رد بعد. يُعاد إرسال الطلب إلى النموذج المستضاف إذا بقي صامتًا، ثم يتوقف مع رسالة خطأ. اضغط «إيقاف» لإنهائه الآن.`,"live.localModelWaitHint":`ما زلنا بانتظار النموذج، ولم يصل أي رد بعد. قد تستغرق قراءة طلب طويل دقيقة أو أكثر على هذا الكمبيوتر. اضغط «إيقاف» لإنهائه الآن.`,"msg.resend":`إعادة إرسال الرسالة`,"msg.copy":`نسخ الرسالة`,"msg.copied":`تم النسخ!`,"msg.copiedAria":`تم النسخ إلى الحافظة`,"msg.delete":`حذف الرسالة`,"msg.confirmDelete":`انقر مرة أخرى للتأكيد`,"msg.confirmDeleteAria":`تأكيد حذف الرسالة`,"msg.error":`حدث خطأ ما`,"msg.tryAgain":`حاول مجددًا`,"chatError.context":`هذه المحادثة أطول مما يستطيع النموذج قراءته دفعة واحدة. ابدأ محادثة جديدة، أو اسأل عن مستندات أقل، ثم اسأل مجددًا.`,"chatError.modelServer":`لم يستجب خادم النماذج. افتح الإعدادات ← النموذج للتحقق منه، ثم حاول مجددًا.`,"chatError.connection":`انقطع الاتصال بـ GAIA. تحقّق من أن GAIA ما زال يعمل، ثم حاول مجددًا.`,"chatError.timeout":`انتهت مهلة الطلب. جرّب سؤالًا أقصر، أو نموذجًا أسرع من الإعدادات ← النموذج.`,"chatError.resendFailed":`لم تُرسَل رسالتك مجددًا`,"chatError.resendStale":`تغيّرت هذه المحادثة منذ فتحها، لذا لم يُرسَل شيء. أعد فتح المحادثة، ثم حاول مجددًا.`,"chatError.unknown":`حدث خطأ ما أثناء إجابة GAIA. حاول مجددًا؛ وإن تكرر ذلك، أبلغ عنه عبر الرابط أدناه.`,"chatError.gaiaStopped":`توقّف GAIA قبل أن يُكمل هذه الإجابة. عندما يعمل GAIA مجددًا، اضغط «حاول مجددًا».`,"chatError.liveViewLost":`فُقد العرض المباشر لهذه الإجابة: انقطع الاتصال بـ GAIA (عدد المرات: {n}). قد تكتمل الإجابة رغم ذلك. أعد فتح هذه المحادثة بعد دقيقة لرؤيتها.`,"msg.cutOff.interrupted":`انقطعت هذه الإجابة عندما أُغلق GAIA.`,"msg.cutOff.cancelled":`انقطعت هذه الإجابة قبل أن تكتمل.`,"msg.cutOff.noReply":`انتهت هذه الإجابة قبل أن يتمكن GAIA من حفظ ردّ.`,"msg.cutOff.toolsRan":`قبل أن تتوقف، كانت قد بدأت تشغيل هذه الأدوات: {tools}.`,"request.gaiaUnreachable":`تعذّر الوصول إلى GAIA حاليًا.`,"turnChanges.loadError":`تعذّر التحقق من تغييرات الملفات في هذا الدور: {error}`,"msg.showAll":`عرض الكل`,"msg.showLess":`عرض أقل`,"msg.stopped":`تم الإيقاف`,"msg.stoppedUnconfirmed":`تم الإيقاف. لم يؤكد GAIA الإيقاف، لذا قد تنقص بعض الخطوات هنا. أعد تحميل المحادثة لترى ما حفظه.`,"msg.stoppedError":`تم الإيقاف. أبلغ GAIA عن خطأ أثناء الإيقاف: {error}`,"msg.about":`حول هذه الإجابة`,"msg.timestamp":`وقت الرسالة`,"answer.answeredIn":`اكتملت الإجابة خلال {time}`,"answer.answeredInPlace":`اكتملت الإجابة خلال {time} {place}`,"answer.stoppedAfter":`توقّفت بعد {time}`,"answer.stoppedAfterPlace":`توقّفت بعد {time} {place}`,"answer.interruptedAfter":`انقطعت بعد {time}`,"answer.interruptedAfterPlace":`انقطعت بعد {time} {place}`,"answer.answeredPlace":`اكتملت الإجابة {place}`,"answer.ranPlace":`جرى التشغيل {place}`,"answer.firstWord":`أول كلمة بعد {time}`,"answer.firstWordLead":`أول كلمة بعد {time}`,"answer.steps.one":`الخطوات: {n}`,"answer.steps.other":`الخطوات: {n}`,"answer.place.on":`على {device}`,"answer.place.pair":`{a} و{b}`,"answer.place.thisPc":`على هذا الحاسوب`,"answer.place.via":`عبر {provider}`,"answer.duration.underSecond":`أقل من ثانية`,"answer.duration.sec":`{n} s`,"answer.duration.min":`{n} min`,"answer.duration.minSec":`{m} min {s} s`,"answer.duration.ms":`{n} ms`,"answer.exact.total":`الوقت الإجمالي {time}`,"answer.exact.firstToken":`أول رمز بعد {time}`,"answer.exact.tokens":`الرموز: {flow}`,"answer.exact.rate":`رموز في الثانية: {n}`,"answer.details":`التفاصيل`,"code.copy":`نسخ`,"citation.open":`فتح {name}`,"citation.openPage":`فتح الصفحة {page}`,"code.copied":`تم النسخ`,"code.copyAria":`نسخ الشيفرة`,"retry.button":`إعادة المحاولة بنموذج آخر`,"retry.head":`إعادة المحاولة باستخدام…`,"media.showFull":`عرض بالحجم الكامل`,"media.showSmaller":`عرض بحجم أصغر`,"media.audioUnplayable":`تعذّر تشغيل هذا الصوت. ربما نُقل الملف أو حُذف.`,"activity.thinking":`جارٍ التفكير`,"activity.thought":`فكّر`,"activity.thoughtFor":`فكّر لمدة {time}`,"activity.waiting":`بانتظارك`,"activity.usedSkill":`استخدم مهارة {name}`,"activity.blocked":`محظور بموجب السياسة`,"activity.hitError":`واجه خطأ`,"activity.madePlan":`وضع خطة`,"activity.thoughtThrough":`فكّر في الأمر`,"activity.summarySep":`، `,"activity.summaryMore":`{list} و{n} أخرى`,"activity.filterPlaceholder":`تصفية الخطوات…`,"activity.filterByTool":`التصفية حسب اسم الأداة`,"activity.filterByStatus":`التصفية حسب الحالة`,"activity.filter.all":`الكل`,"activity.filter.success":`نجحت`,"activity.filter.error":`خطأ`,"activity.identicalCalls":`استدعاءات متطابقة: {n}`,"activity.detail.tool":`الأداة`,"activity.detail.via":`عبر {server}`,"activity.detail.arguments":`الوسائط`,"activity.detail.output":`المخرجات`,"activity.detail.error":`خطأ`,"activity.detail.result":`النتيجة`,"activity.truncated":`اقتُطعت المخرجات لتجاوزها الحد المسموح`,"activity.files.more":`+{n} أخرى`,"activity.files.showing":`عرض {shown} من أصل {total} ملف`,"activity.files.file":`ملف {n}`,"activity.plan":`الخطة`,"activity.planDone":`اكتمل {done} من {total}`,"activity.planItem":`{status}: {text}`,"activity.planStatus.done":`اكتملت`,"activity.planStatus.running":`قيد التنفيذ`,"activity.planStatus.failed":`فشلت`,"activity.planStatus.stopped":`توقفت`,"activity.planStatus.pending":`لم تبدأ`,"activity.errorOccurred":`حدث خطأ`,"activity.policy.title":`درع السياسات`,"activity.policy.tool":`الأداة`,"activity.policy.rules":`القواعد`,"activity.policy.policy":`السياسة`,"activity.policy.receipt":`الإيصال`,"activity.policy.receiptUnavailable":`الإيصال غير متاح`,"activity.chunks":`المقاطع المسترجعة: {n}`,"activity.chunkPage":`ص {page}`,"activity.terminal":`الطرفية`,"activity.exit":`رمز الخروج {code}`,"activity.copyOutput":`نسخ المخرجات`,"activity.copyOutputAria":`نسخ مخرجات الأمر`,"activity.noOutput":`لا توجد مخرجات`,"activity.openPath":`فتح: {path}`,"tool.failed":`تعذّر: {label}`,"tool.unfinished":`لم يكتمل: {label}`,"tool.default.done":`استخدم أداة`,"tool.default.active":`استخدام أداة`,"tool.mcp.done":`أداة MCP`,"tool.mcp.active":`تشغيل أداة MCP`,"tool.named.done":`استخدم {what}`,"tool.named.active":`استخدام {what}`,"tool.search_file.done":`بحث في الملفات`,"tool.search_file.active":`البحث في الملفات`,"tool.search_files.done":`بحث في الملفات`,"tool.search_files.active":`البحث في الملفات`,"tool.search_file_content.done":`بحث في المحتوى`,"tool.search_file_content.active":`البحث في المحتوى`,"tool.search_directory.done":`بحث في المجلد`,"tool.search_directory.active":`البحث في المجلد`,"tool.read_file.done":`قرأ ملفًا`,"tool.read_file.active":`قراءة ملف`,"tool.write_file.done":`كتب ملفًا`,"tool.write_file.active":`كتابة ملف`,"tool.get_file_info.done":`اطّلع على معلومات الملف`,"tool.get_file_info.active":`جلب معلومات الملف`,"tool.browse_directory.done":`استعرض المجلد`,"tool.browse_directory.active":`استعراض المجلد`,"tool.list_directory.done":`اطّلع على محتويات المجلد`,"tool.list_directory.active":`سرد محتويات المجلد`,"tool.list_recent_files.done":`اطّلع على الملفات الأخيرة`,"tool.list_recent_files.active":`سرد الملفات الأخيرة`,"tool.analyze_data_file.done":`حلّل البيانات`,"tool.analyze_data_file.active":`تحليل البيانات`,"tool.run_shell_command.done":`نفّذ أمرًا`,"tool.run_shell_command.active":`تنفيذ أمر`,"tool.execute_code.done":`نفّذ الشيفرة`,"tool.execute_code.active":`تنفيذ الشيفرة`,"tool.query_documents.done":`استعلم في المستندات`,"tool.query_documents.active":`الاستعلام في المستندات`,"tool.query_specific_file.done":`استعلم في ملف`,"tool.query_specific_file.active":`الاستعلام في ملف`,"tool.search_indexed_chunks.done":`بحث في المقاطع`,"tool.search_indexed_chunks.active":`البحث في المقاطع`,"tool.semantic_search.done":`بحث في المستندات`,"tool.semantic_search.active":`البحث في المستندات`,"tool.evaluate_retrieval.done":`قيّم نتائج الاسترجاع`,"tool.evaluate_retrieval.active":`تقييم نتائج الاسترجاع`,"tool.index_document.done":`فهرس مستندًا`,"tool.index_document.active":`فهرسة مستند`,"tool.index_documents.done":`فهرس المستندات`,"tool.index_documents.active":`فهرسة المستندات`,"tool.index_directory.done":`فهرس المجلد`,"tool.index_directory.active":`فهرسة المجلد`,"tool.index_file.done":`فهرس ملفًا`,"tool.index_file.active":`فهرسة ملف`,"tool.list_indexed_documents.done":`استعرض المستندات`,"tool.list_indexed_documents.active":`استعراض المستندات`,"tool.summarize_document.done":`لخّص المستند`,"tool.summarize_document.active":`تلخيص المستند`,"tool.dump_document.done":`استخرج النص`,"tool.dump_document.active":`استخراج النص`,"tool.rag_status.done":`تحقّق من حالة RAG`,"tool.rag_status.active":`التحقق من حالة RAG`,"tool.add_watch_directory.done":`أضاف مجلدًا للمراقبة`,"tool.add_watch_directory.active":`إضافة مجلد للمراقبة`,"tool.web_search.done":`بحث في الويب`,"tool.web_search.active":`البحث في الويب`,"tool.search_web.done":`بحث في الويب`,"tool.search_web.active":`البحث في الويب`,"tool.fetch_page.done":`قرأ صفحة ويب`,"tool.fetch_page.active":`قراءة صفحة ويب`,"tool.fetch_webpage.done":`قرأ صفحة ويب`,"tool.fetch_webpage.active":`قراءة صفحة ويب`,"tool.analyze_data.done":`حلّل البيانات`,"tool.analyze_data.active":`تحليل البيانات`,"tool.find_files.done":`عثر على ملفات`,"tool.find_files.active":`البحث عن ملفات`,"tool.edit_file.done":`حرّر ملفًا`,"tool.edit_file.active":`تحرير ملف`,"tool.recall.done":`استرجع من الذاكرة`,"tool.recall.active":`الاسترجاع من الذاكرة`,"tool.remember.done":`حفظ في الذاكرة`,"tool.remember.active":`الحفظ في الذاكرة`,"tool.update_memory.done":`حدّث الذاكرة`,"tool.update_memory.active":`تحديث الذاكرة`,"tool.forget.done":`حذف من الذاكرة`,"tool.forget.active":`الحذف من الذاكرة`,"tool.forget_everything.done":`محا الذاكرة كلها`,"tool.forget_everything.active":`محو الذاكرة كلها`,"tool.search_past_conversations.done":`بحث في المحادثات السابقة`,"tool.search_past_conversations.active":`البحث في المحادثات السابقة`,"tool.request_user_input.done":`طرح سؤالًا عليك`,"tool.request_user_input.active":`طرح سؤال عليك`,"tool.load_skill.done":`استخدم مهارة`,"tool.load_skill.active":`تحميل مهارة`,"tool.unload_skill.done":`وضع مهارة جانبًا`,"tool.unload_skill.active":`إبعاد مهارة`,"tool.list_skills.done":`تحقّق من المهارات`,"tool.list_skills.active":`التحقق من المهارات`,"tool.search_skill_hub.done":`بحث في المهارات`,"tool.search_skill_hub.active":`البحث في المهارات`,"tool.install_skill.done":`ثبّت مهارة`,"tool.install_skill.active":`تثبيت مهارة`,"tool.capture_skill.done":`حفظ مهارة`,"tool.capture_skill.active":`حفظ المهارة`,"tool.remove_skill.done":`أزال مهارة`,"tool.remove_skill.active":`إزالة مهارة`,"tool.skill_status.done":`تحقّق من مهارة`,"tool.skill_status.active":`التحقق من مهارة`,"docs.title":`مكتبة المستندات`,"docs.close":`إغلاق مكتبة المستندات`,"docs.untitledChat":`محادثة بلا عنوان`,"docs.addTo":`إضافة المستندات إلى`,"docs.thisChat":`هذه المحادثة: {chat}`,"docs.nextChat":`محادثتك الجديدة التالية`,"docs.nextChatOnly":`تُرفق المستندات التي تضيفها هنا بمحادثتك الجديدة التالية.`,"docs.hint":`لا تبحث المحادثة إلا في المستندات المرفقة بها.`,"docs.drop":`أفلت الملفات هنا لفهرستها`,"docs.dropHint":`ملفات PDF وTXT وMD والشيفرة البرمجية، وأكثر من 50 صيغة أخرى`,"docs.pathPlaceholder":`أو أدخل مسار ملف أو مجلد: {example}`,"docs.pathAria":`مسار الملف المراد فهرسته`,"docs.index":`فهرسة`,"docs.browse":`تصفح الملفات`,"docs.browseTitle":`تصفح الملفات على هذا الجهاز`,"docs.count.one":`المستندات: {n}`,"docs.count.other":`المستندات: {n}`,"docs.chunks.one":`المقاطع: {n}`,"docs.chunks.other":`المقاطع: {n}`,"docs.empty":`لم تتم فهرسة أي مستندات بعد`,"docs.emptyHint":`أفلت الملفات أعلاه أو أدخل مسار ملف`,"docs.indexingFile":`جارٍ فهرسة {name}...`,"docs.indexingFolder":`جارٍ فهرسة المستندات في {name}...`,"docs.willAttach":`سيُرفق {name} بمحادثتك الجديدة التالية.`,"docs.attached":`تم إرفاق {name} بـ {chat}.`,"docs.indexing":`جارٍ الفهرسة...`,"docs.indexingLabel":`جارٍ الفهرسة`,"docs.progress.reading":`قراءة الصفحة {done} من {total}`,"docs.progress.readingCount":`قراءة الصفحة {done}`,"docs.progress.embedding":`تضمين المقاطع: {done} من {total}`,"docs.progress.embeddingCount":`تضمين المقطع {done}`,"docs.cancelIndexing":`إلغاء الفهرسة`,"docs.cancelIndexingAria":`إلغاء فهرسة {name}`,"docs.cancel":`إلغاء`,"docs.failed":`فشلت`,"docs.cantRead":`تتعذّر قراءته`,"docs.failedAria":`فشلت: {error}`,"docs.indexingFailed":`فشلت الفهرسة`,"docs.retry":`إعادة المحاولة`,"docs.retrying":`جارٍ إعادة المحاولة…`,"docs.retryTitle":`إعادة محاولة الفهرسة`,"docs.retryTitleFix":`إعادة محاولة الفهرسة (أصلح الملف أولًا، وإلا فستفشل مجددًا)`,"docs.retryAria":`إعادة محاولة فهرسة {name}`,"docs.noReason":`لم يسجّل GAIA السبب. أعد المحاولة لترى الخطأ.`,"docs.cancelled":`أُلغيت`,"docs.missing":`الملف مفقود`,"docs.indexedAt":`تاريخ الفهرسة: {time}`,"docs.openFolder":`فتح المجلد: {path}`,"docs.openFolderAria":`فتح المجلد الذي يحتوي على {name}`,"docs.useIn":`استخدامه في {chat}`,"docs.useNext":`استخدامه في محادثتك التالية`,"docs.attachAria":`إرفاق {name} بـ {chat}`,"docs.attachNextAria":`إرفاق {name} بمحادثتك التالية`,"docs.remove":`إزالة`,"docs.removeAria":`إزالة {name}`,"docs.dismissFolder":`إغلاق نتيجة فهرسة المجلد`,"time.justNow":`الآن`,"time.minutesAgo":`قبل {n} د`,"time.hoursAgo":`قبل {n} س`,"time.yesterday":`أمس`,"time.daysAgo":`قبل {n} ي`,"sp.label":`لوحة الجلسة`,"sp.resize":`تغيير حجم لوحة الجلسة`,"sp.title":`هذه المحادثة`,"sp.close":`إغلاق لوحة الجلسة`,"sp.closeShort":`إغلاق`,"sp.show":`إظهار لوحة الجلسة`,"sp.hide":`إخفاء لوحة الجلسة`,"sp.showWarn":`إظهار لوحة الجلسة: تعذّر الحصول على بيانات مباشرة`,"sp.section.answer":`هذه الإجابة`,"sp.section.context":`السياق والأداء`,"sp.checking":`جارٍ التحقق…`,"sp.open":`فتح`,"sp.showInFolder":`إظهار في المجلد`,"sp.goToTurn":`الانتقال إلى الدور`,"sp.cancel":`إلغاء`,"sp.couldntOpen":`تعذّر فتح {name}: {error}`,"sp.gone":`لم يعد موجودًا على القرص`,"rail.pending":`جارٍ العمل على هذه الإجابة. ستظهر هنا مصادرها وملفاتها ووجهة بياناتها عند انتهائها.`,"rail.noLive":`تعذّر الحصول على بيانات مباشرة`,"rail.noLiveWhy":`فشلت كل عمليات البحث على الويب في هذا الدور، لذا لا تستند الإجابة إلى معلومات حديثة.`,"rail.error":`تعذّر تجميع مصادر هذا الدور وتفاصيله: {error}`,"rail.sources":`المصادر`,"rail.searchResult":`نتيجة بحث`,"rail.pages.one":`ص {list}`,"rail.pages.other":`الصفحات {list}`,"rail.passages.one":`المقاطع: {n}`,"rail.passages.other":`المقاطع: {n}`,"rail.files":`الملفات`,"rail.changedSince":`تغيّر منذ هذا الدور`,"rail.checkFailed":`تعذّر التحقق مما إذا كانت هذه الملفات قد تغيّرت: {error}`,"rail.thisTurn":`هذا الدور`,"rail.model":`النموذج`,"rail.cloudModel":`{name} (سحابي)`,"rail.thisPc":`هذا الجهاز`,"rail.notReported":`لم يُبلَّغ عنه`,"rail.documents":`المستندات`,"rail.docsSent":`جرى البحث على هذا الجهاز. وأُرسلت المقاطع المستخدمة إلى {provider}.`,"rail.docsLocal":`قُرئت على هذا الجهاز وبقيت فيه.`,"rail.docsSearched":`جرى البحث على هذا الجهاز.`,"rail.websites":`المواقع`,"rail.noSites":`لا شيء من أدوات الويب في GAIA`,"rail.cost":`التكلفة`,"rail.costLocal":`لا رسوم سحابية`,"rail.costAbout":"نحو ${usd} بسعر القائمة","rail.costUnknownModel":`غير معروفة لهذا النموذج`,"rail.costUnknown":`غير معروفة`,"rail.costUnreported":`لم يُبلَّغ عنها لهذه الإجابة`,"rail.costUnreportedStopped":`لم يُبلَّغ عنها، لأن الإجابة أُوقفت`,"env.title":`البيئة`,"env.offline":`غير متصل`,"env.runsOn":`يعمل على`,"env.cloudPlace":`{name} (سحابي)`,"env.notKnownYet":`غير معروف بعد`,"env.thisPc":`هذا الجهاز`,"env.notLoaded":`{model} · غير محمّل الآن`,"env.inUse":`المستخدم: {gb} غيغابايت`,"env.inUseUnknown":`الذاكرة المستخدمة غير معروفة`,"env.free":`المتاح: {gb} غيغابايت`,"env.reach":`الملفات التي يمكن لـ GAIA الوصول إليها`,"env.readWrite":`يمكنه القراءة والكتابة`,"env.flagshipScope":`هذه المجلدات هي نقطة بداية GAIA وليست حدًا: يمكنه أيضًا فتح مجلدات داخل مجلد المستخدم، مجلدًا تلو الآخر، لكن لا يفتح مجلد المستخدم كله دفعة واحدة. وفي وضع السؤال يستأذنك قبل فتح مجلد جديد أو تغيير أي شيء.`,"env.agentScope":`هذه المجلدات هي نقطة بداية وكيل هذه المحادثة، وهو يطبّق حدوده الخاصة.`,"env.foldersError":`تعذّرت قراءة مجلدات هذه المحادثة: {error}`,"env.nothing":`لا شيء بعد. لا يمكن لـ GAIA قراءة أي مجلد أو الكتابة فيه في هذه المحادثة.`,"env.fewerFiles":`إظهار ملفات أقل`,"env.allFiles":`إظهار كل الملفات ({n})`,"env.ownProcess":`يعمل وكيل هذه المحادثة في عملية مستقلة، لذا لا يمكن تغيير مجلداته من هنا.`,"env.removed":`أُزيل: {names}. يُمنع GAIA من الوصول إليه حتى تضيفه مجددًا.`,"env.addFolder":`إضافة مجلد`,"env.remove":`إزالة {path} من هذه المحادثة`,"env.removeShort":`إزالة من هذه المحادثة`,"env.source.added":`أضفته أنت`,"env.source.gaia_documents":`مجلد مستندات GAIA`,"env.source.scratch":`مجلد GAIA المؤقت`,"env.source.document":`مستند في هذه المحادثة`,"env.source.working_folder":`المجلد الذي بدأ منه GAIA`,"env.source.approved":`وافقت عليه خلال هذه المحادثة`,"env.source.allowed_paths":`محدد عبر GAIA_ALLOWED_PATHS`,"env.internet":`الإنترنت`,"env.internetFor":`الإنترنت لهذه المحادثة`,"env.on":`مفعّل`,"env.off":`متوقف`,"env.offBlocked":`متوقف: البحث على الويب والصفحات محظورة`,"env.phone":`الوصول من الهاتف`,"env.stopping":`جارٍ الإيقاف…`,"env.starting":`جارٍ التشغيل…`,"env.phoneConnected":`{name} متصل`,"env.noPhone":`لا يوجد هاتف متصل بعد`,"env.qr":`إظهار رمز QR`,"env.permission":`وضع الأذونات`,"env.ask":`السؤال`,"env.fullAccessWarn":`يتيح الوصول الكامل لـ GAIA تغيير الملفات وتشغيل الأوامر على هذا الجهاز دون استئذان.`,"env.turnOn":`تفعيله`,"perm.ask":`السؤال قبل التنفيذ`,"perm.askNote":`يستأذنك GAIA قبل تعديل الملفات أو تشغيل الأوامر أو استخدام أدوات تُحدث تغييرات.`,"perm.full":`وصول كامل`,"perm.fullNote":`يشغّل كل أداة وأمر دون استئذان، في هذه المحادثة فقط.`,"offline.text":`غير متصل: الإنترنت متوقف لهذه المحادثة، لذا لن يبحث GAIA في الويب ولن يفتح الصفحات.`,"offline.error":`تعذّر تفعيله: {error}`,"offline.turnOn":`تفعيل`,"out.title":`المخرجات`,"out.kind.file":`ملف`,"out.kind.export":`تصدير`,"out.kind.image":`صورة`,"out.kind.document":`مستند مفهرس`,"out.kind.memory":`ذاكرة محفوظة`,"out.kind.schedule":`مهمة مجدولة`,"out.change.created":`أُنشئ`,"out.change.edited":`عُدّل`,"out.change.deleted":`حُذف`,"out.kindChanged":`{kind}: {change}`,"out.justNow":`الآن`,"out.minAgo":`قبل {n} د`,"out.hAgo":`قبل {n} س`,"out.undone":`تم التراجع`,"out.listError":`تعذّر سرد ما أنتجته هذه المحادثة: {error}`,"out.empty":`لا شيء بعد. تظهر هنا الملفات والمستندات والصور والذكريات التي تنشئها هذه المحادثة.`,"out.listLabel":`ما أنتجته هذه المحادثة`,"out.notLoaded":`هذا الدور غير محمّل في المحادثة حاليًا.`,"out.goToAria":`الانتقال إلى الدور الذي أنشأ {name}`,"out.fewer":`إظهار أقل`,"out.more":`إظهار المزيد ({n})`,"tools.title":`معلومات الوكيل`,"tools.listLabel":`الأدوات التي يمكن لوكيل هذه المحادثة استخدامها`,"tools.listError":`تعذّر سرد أدوات هذا الوكيل: {error}`,"tools.empty":`لا يملك هذا الوكيل أدوات: يجيب من النموذج وحده.`,"tools.notRunning":`وكيل هذه المحادثة لا يعمل بعد. يبدأ مع رسالتك التالية، وتظهر أدواته هنا بعد ذلك.`,"tools.cat.mcp":`الموصلات`,"tools.cat.skill":`المهارات`,"tools.cat.agent":`مدمجة`,"chg.title":`التغييرات`,"chg.files.one":`الملفات: {n}`,"chg.files.other":`الملفات: {n}`,"chg.summary":`{files} · +{add} −{del}`,"chg.total":`{files} تغيّرت، +{add} −{del}`,"chg.error":`تعذّر حصر تغييرات هذه المحادثة: {error}`,"chg.uncounted.one":`ملفات ثنائية أو كبيرة لم تُعدّ أسطرها: {n}`,"chg.uncounted.other":`ملفات ثنائية أو كبيرة لم تُعدّ أسطرها: {n}`,"chg.pending":`ما زال الرد قيد التشغيل؛ تُضاف تغييراته عند انتهائه.`,"chg.edited":`عُدّل`,"chg.created":`أُنشئ`,"chg.deleted":`حُذف`,"chg.turns":`الأدوار: {n}`,"chg.outside":`تغيّر خارج GAIA: {when}`,"chg.goToLast":`الانتقال إلى آخر دور غيّر {name}`,"chg.review":`مراجعة التغييرات`,"chg.wait":`انتظر حتى ينتهي الرد`,"chg.undoing":`جارٍ التراجع…`,"chg.undoAll":`التراجع عن الكل`,"chg.confirmLabel":`تأكيد التراجع عن الكل`,"chg.confirm.one":`إعادة {files} إلى ما كانت عليه قبل هذه المحادثة؟ سيُتراجع عن تغييرات الملفات في كل الأدوار.`,"chg.confirm.other":`إعادة {files} إلى ما كانت عليه قبل هذه المحادثة؟ سيُتراجع عن تغييرات الملفات في كل الأدوار.`,"chg.undoAnyway":`التراجع على أي حال وفقدان تلك التغييرات`,"chg.keep":`الإبقاء عليها`,"chg.gitError":`تعذّر التحقق من وجود مستودع git: {error}`,"pick.label":`إضافة مجلد إلى هذه المحادثة`,"pick.title":`إضافة مجلد`,"pick.note":`سيتمكن GAIA من قراءة كل ما في المجلد الذي تختاره والكتابة فيه، في هذه المحادثة فقط.`,"pick.path":`مسار المجلد`,"pick.go":`انتقال`,"pick.onlyHidden":`لا توجد هنا إلا مجلدات مخفية. فعّل «إظهار المخفي» لرؤيتها.`,"pick.none":`لا توجد مجلدات بالداخل.`,"pick.loading":`جارٍ التحميل…`,"perm.chipAria":`وضع الأذونات: {mode}`,"perm.fullLower":`وصول كامل`,"perm.askLower":`السؤال قبل التنفيذ`,"prompt.allowOnce":`السماح مرة واحدة`,"prompt.allowForChat":`السماح في هذه المحادثة`,"prompt.alwaysAllow":`السماح دائمًا بـ {scope} في هذه المحادثة`,"prompt.deny":`رفض`,"prompt.details":`التفاصيل`,"prompt.in":`في`,"prompt.showAllLines":`عرض كل الأسطر ({n})`,"prompt.showLess":`عرض أقل`,"prompt.timer":`يُرفض تلقائيًا عند انتهاء الوقت`,"prompt.expired":`لم تُجب في الوقت المحدد، فأُبلغ GAIA بالرفض.`,"prompt.repeated.one":`سبق أن سمحت بهذا مرة واحدة.`,"prompt.repeated.other":`عدد المرات التي سمحت فيها بهذا من قبل: {n}.`,"prompt.alwaysHint":`يوقف «السماح دائمًا» السؤال عن {scope} في هذه المحادثة.`,"prompt.title.tool":`هل تسمح بـ {tool}؟`,"prompt.title.toolId":`هل تسمح لـ GAIA باستخدام {tool}؟`,"prompt.needsOk":`يحتاج GAIA إلى موافقتك قبل {tool}.`,"prompt.path.title.file":`هل تسمح لـ GAIA باستخدام هذا الملف؟`,"prompt.path.title.folder":`هل تسمح لـ GAIA باستخدام هذا المجلد؟`,"prompt.path.title.location":`هل تسمح لـ GAIA باستخدام هذا الموقع؟`,"prompt.path.titleAlso.file":`هل تسمح لـ GAIA أيضًا باستخدام هذا الملف؟`,"prompt.path.titleAlso.folder":`هل تسمح لـ GAIA أيضًا باستخدام هذا المجلد؟`,"prompt.path.titleAlso.location":`هل تسمح لـ GAIA أيضًا باستخدام هذا الموقع؟`,"prompt.path.ask":`يريد GAIA استخدام {what}. لا تستطيع هذه المحادثة الوصول إليه بعد. هل تسمح به في هذه المحادثة؟`,"prompt.path.askAlso":`لإتمام ما سمحت به للتو، يحتاج GAIA أيضًا إلى {what}. لا تستطيع هذه المحادثة الوصول إليه بعد. هل تسمح به في هذه المحادثة؟`,"prompt.path.what.file":`الملف {path}`,"prompt.path.what.folder":`المجلد {path} وكل ما فيه`,"prompt.path.what.new":`{path}، وهو غير موجود بعد`,"prompt.path.what.unknown":`ملف أو مجلد خارج هذه المحادثة`,"pick.showHidden":`إظهار المخفي`,"pick.up":`مستوى واحد للأعلى`,"pick.use":`استخدام هذا المجلد`,"ctx.sheetAria":`السياق والأداء`,"ctx.unknown":`غير معروف`,"ctx.tokens":`الرموز: {n}`,"ctx.rate":`{n} رمز/ث`,"ctx.rateTitle":`{n} رمز في الثانية`,"ctx.cloud":`سحابي`,"ctx.cloudVia":`سحابي · {provider}`,"ctx.notLoadedNow":`غير محمّل الآن`,"ctx.took":`استغرق`,"ctx.tookHint":`من إرسال الرسالة حتى حفظ الإجابة`,"ctx.split":`التوزيع`,"ctx.inModel":`داخل النموذج`,"ctx.runningTools":`تشغيل الأدوات`,"ctx.waitingOnYou":`بانتظارك`,"ctx.gaiaItself":`GAIA نفسه`,"ctx.inGaia":`داخل GAIA`,"ctx.inGaiaHint":`كل ما لم يكن النموذج: الأدوات وانتظارك وعمل GAIA نفسه`,"ctx.src.server":`أبلغ عنه خادم النموذج`,"ctx.src.client":`قاسه GAIA على البث، بما في ذلك الشبكة`,"ctx.toolOutside":`عمل أدوات خارج خطوة`,"ctx.firstWord":`أول كلمة`,"ctx.in":`خلال`,"ctx.readingPrompt":`قراءة الطلب`,"ctx.readingHint":`الملء المسبق: رموز الطلب الجديدة على زمن أول رمز`,"ctx.tooFewTitle":`الرموز الجديدة أقل من أن تعطي سرعة قراءة؛ والباقي جاء من الذاكرة المؤقتة`,"ctx.onlyNew":`رموز جديدة فقط: {n}`,"ctx.approx":`تقريبي`,"ctx.approxTitle":`قاسه GAIA من أول كلمة، لذا يشمل وقت الشبكة والانتظار`,"ctx.writing":`كتابة الإجابة`,"ctx.writingHint":`سرعة التوليد، موزونة بعدد الرموز`,"ctx.tokensInOut":`الرموز الداخلة والخارجة`,"ctx.cache":`مُعاد من الذاكرة المؤقتة`,"ctx.cacheHint":`رموز الطلب التي لم يحتج الخادم إلى قراءتها مجددًا`,"ctx.modelCalls":`استدعاءات النموذج`,"ctx.toolCalls":`استدعاءات الأدوات`,"ctx.none":`لا شيء`,"ctx.loads":`تحميلات النموذج`,"ctx.costLocalTitle":`يعمل على هذا الجهاز`,"ctx.costLocal":`$0 · على هذا الجهاز`,"ctx.costUnreported":`لم يُبلَّغ عنها`,"ctx.listPriceTitle":"${usd} بسعر القائمة","ctx.about":"نحو ${usd}","ctx.turns":`الأدوار المقيسة`,"ctx.totalTime":`الوقت الإجمالي`,"ctx.unpricedTitle":`أدوار بلا تقدير للتكلفة: {n}، لأن النموذج بلا سعر معروف أو لم يُبلَّغ عن استخدامه`,"ctx.unpriced":"${usd} + {n} بلا تسعير","ctx.live":`حاضر في النافذة`,"ctx.putAway":`أُبعد`,"ctx.putAwayHint":`نتائج أدوات أقدم نُقلت خارج الطلب؛ وما زالت قابلة للقراءة`,"ctx.results.one":`النتائج: {n}`,"ctx.results.other":`النتائج: {n}`,"ctx.summarized":`لُخّص`,"ctx.summarizedHint":`دُمجت أدوار أقدم في ملخص متجدد؛ ويبقى الأصل محفوظًا`,"ctx.earlier.one":`الأدوار السابقة: {n}`,"ctx.earlier.other":`الأدوار السابقة: {n}`,"ctx.summarizedNote":`لُخّصت الرسائل السابقة، وما زال البحث فيها ممكنًا.`,"ctx.filling":`النافذة تمتلئ. تُنقل نتائج الأدوات الأقدم خارج الطلب وتبقى قابلة للقراءة، وقد تخرج أقدم الأدوار من نطاق رؤية النموذج. لكنها تبقى محفوظة، ويمكنك أن تطلب من GAIA استرجاعها.`,"ctx.context":`السياق`,"ctx.measuring":`جارٍ القياس…`,"ctx.used":`المستخدم {pct}%`,"ctx.of":`من`,"ctx.tokensWord":`رمز`,"ctx.windowTitle":`يسمح GAIA بهذا القدر من النافذة، لذا تخرج الأدوار الأقدم من الرؤية أبكر مما يحتاجه النموذج`,"ctx.gaiaUses":`يستخدم GAIA`,"ctx.ofModel":`من أصل نافذة النموذج البالغة`,"ctx.freeRow":`متاح`,"ctx.reserve":`منها محجوز للرد`,"ctx.exactTokenizer":`عُدّ كل جزء بمُرمِّز {model} نفسه.`,"ctx.estimated":`تقديري: {reason}`,"ctx.sharedTokenizer":`عُدّ بمُرمِّز مشترك.`,"ctx.lastRequest":`حمل الطلب الأخير {n} رمزًا كما عدّها خادم النموذج، بما في ذلك تنسيق المحادثة.`,"ctx.onDemand":`أدوات إضافية تُحمَّل عند الحاجة فقط: {n}`,"ctx.sentNow":`المُرسلة الآن: {n}. لا تكلّف هذه شيئًا حتى يحتاجها دور ما:`,"ctx.hood":`التفاصيل التقنية`,"ctx.show":`عرض`,"ctx.lastTurn":`آخر دور`,"ctx.memory":`ذاكرة النموذج`,"ctx.memoryHint":`أوزان النموذج + ذاكرة KV المؤقتة عند هذه النافذة؛ والذاكرة المتاحة الآن`,"ctx.gbModel":`النموذج {gb} غيغابايت`,"ctx.gbCache":`الذاكرة المؤقتة {gb} غيغابايت`,"ctx.freeUnknown":`المتاح غير معروف`,"ctx.afterNext":`يظهر بعد إجابة GAIA التالية في هذه المحادثة.`,"ctx.latestAnswer":`آخر إجابة:`,"ctx.notMeasured":`لم تُقَس.`,"ctx.meter.aria":`السياق ممتلئ بنسبة {pct}%: {used} من {window} رمز`,"ctx.meter.title":`مدى امتلاء نافذة سياق النموذج`,"ctx.meter.titleCapped":`مدى امتلاء نافذة السياق التي يستخدمها GAIA: يستخدم GAIA {gaia} من أصل نافذة النموذج البالغة {model}`,"ctx.meter.capNote":`يستخدم GAIA {gaia} من أصل نافذة النموذج البالغة {model}`,"ctx.meter.window":`نافذة السياق`,"ctx.meter.part.system":`تعليمات النظام`,"ctx.meter.part.tools":`الأدوات`,"ctx.meter.part.documents":`المستندات`,"ctx.meter.part.history":`المحادثة`,"ctx.meter.part.query":`رسالتك`,"ctx.meter.reserve":`محجوز للرد`,"ctx.meter.inView.one":`الأدوار السابقة في نطاق الرؤية: {n}`,"ctx.meter.inView.other":`الأدوار السابقة في نطاق الرؤية: {n}`,"ctx.meter.hidden.one":`؛ والأقدم خارج نطاق الرؤية: {n}`,"ctx.meter.hidden.other":`؛ والأقدم خارج نطاق الرؤية: {n}`,"ctx.meter.exact":`عُدّت بمُرمِّز النموذج نفسه.`,"ctx.meter.estimates":`تقديرات.`,"ctx.meter.saved":`تبقى الأدوار الأقدم محفوظة ويمكن استرجاعها.`,"ctx.meter.details":`التفاصيل: السياق والأداء`,"ctx.meter.warning.one":`المحادثة تملأ سياق النموذج. قد يخرج أقدم دور من نطاق رؤية النموذج تاليًا:`,"ctx.meter.warning.other":`المحادثة تملأ سياق النموذج. أقدم الأدوار التي قد تخرج من نطاق رؤية النموذج تاليًا ({n}):`,"ctx.meter.warningSaved":`تبقى محفوظة، ويمكنك أن تطلب من GAIA استرجاعها.`,"settings.title":`الإعدادات`,"settings.sections":`أقسام الإعدادات`,"settings.close":`إغلاق الإعدادات`,"settings.loading":`جارٍ التحميل…`,"settings.section.general":`عام`,"settings.section.model":`النموذج`,"settings.section.permissions":`الأذونات`,"settings.section.skills":`المهارات`,"settings.section.connectors":`الموصلات`,"settings.section.memory":`الذاكرة`,"settings.section.notifications":`الإشعارات`,"settings.section.privacy":`الخصوصية`,"settings.section.advanced":`متقدم`,"settings.language":`اللغة`,"settings.languageHint":`تغيّر تسميات التطبيق واتجاه تخطيطه، لا اللغة التي يجيب بها GAIA.`,"settings.appearance":`المظهر`,"settings.theme.light":`فاتح`,"settings.theme.dark":`داكن`,"settings.theme.system":`مطابقة النظام`,"settings.colors":`الألوان`,"palette.default":`رمادي دافئ`,"palette.stone":`حجر وحبر`,"palette.marble":`رخام أزرق`,"palette.glacier":`جليد`,"palette.forest":`أرض الغابة`,"palette.sage":`مريمية وضباب`,"palette.basalt":`بازلت وأشنة`,"palette.gold":`جرافيت وذهب`,"palette.dusk":`غسق`,"settings.colors.custom":`مخصص`,"settings.colors.accent":`اللون المميز`,"settings.colors.accentHint":`الأزرار والروابط ومؤشر التركيز`,"settings.colors.base":`صبغة الخلفية`,"settings.colors.baseHint":`اللون الذي تميل إليه الدرجات الرمادية`,"settings.colors.reset":`إعادة تعيين`,"settings.colors.hint":`تتكيّف ألوان النص تلقائيًا ليبقى كل شيء مقروءًا في الوضعين الفاتح والداكن.`,"settings.shortcuts":`اختصارات لوحة المفاتيح`,"settings.shortcut.send":`إرسال`,"settings.shortcut.newLine":`سطر جديد`,"settings.shortcut.stop":`إيقاف الإجابة`,"settings.shortcut.newChat":`محادثة جديدة`,"settings.shortcut.search":`البحث في المحادثات`,"settings.shortcut.sidebar":`إظهار الشريط الجانبي أو إخفاؤه`,"settings.shortcut.settings":`الإعدادات`,"setup.rail.label":`خطوات الإعداد`,"setup.stopped":`توقف الإعداد.`,"setup.check.heading":`جارٍ فحص هذا الجهاز`,"setup.check.headingDone":`تم فحص هذا الجهاز`,"setup.check.lede":`يستغرق هذا بضع ثوانٍ. لن يُنزَّل شيء بعد.`,"setup.check.ledeDone":`هذا ما وجده الإعداد. لم يُنزَّل شيء بعد.`,"setup.checks.count":`الفحوصات المكتملة: {done} من {total}`,"setup.checks.device":`المعالج وGPU وNPU`,"setup.checks.npu":`Ryzen AI NPU`,"setup.checks.memory":`الذاكرة`,"setup.checks.disk":`مساحة القرص`,"setup.checks.diskValue":`{size} متاحة`,"setup.checks.server":`محرك الذكاء الاصطناعي`,"setup.checks.serverFound":`Lemonade {version} · {whose}`,"setup.checks.serverChoose":`اختر أدناه`,"setup.checks.backends":`النماذج المناسبة لهذا الجهاز`,"setup.checks.backendsValue":`{models} متاحًا، {downloaded} موجود بالفعل`,"setup.plan.step":`إعدادك`,"setup.plan.title":`إعدادك`,"setup.plan.lede":`نموذج الذكاء الاصطناعي هو الجزء من GAIA الذي يجيبك. إليك النموذج الذي نقترحه لهذا الجهاز.`,"setup.plan.label":`الإعداد الموصى به`,"setup.plan.recommended":`موصى به لهذا الجهاز`,"setup.plan.yours":`اختيارك لهذا الجهاز`,"setup.plan.run":`شغّل {name} على هذا الجهاز`,"setup.plan.runsOn":`يعمل على`,"setup.plan.cpu":`معالج هذا الجهاز`,"setup.plan.why.evaluated":`اختيار GAIA المختبَر لجهاز مثل هذا.`,"setup.plan.why.fits":`يناسب هذا الجهاز: يحتاج إلى {need} من الذاكرة، ولدى هذا الجهاز {have} للنماذج.`,"setup.plan.why.noImagesNpu":`قراءة الصور معطلة: نموذج وحدة NPU لا يقرأ الصور.`,"setup.plan.why.private":`يعمل دون اتصال، وتبقى محادثاتك على هذا الجهاز.`,"setup.plan.why.bigger":`{name} نموذج أكبر يجيب بشكل أفضل، لكنه يحتاج إلى نحو {need} من الذاكرة ولدى هذا الجهاز {have}.`,"setup.plan.start":`تنزيل وبدء`,"setup.plan.startNoDownload":`اختبار وبدء`,"setup.plan.customize":`تخصيص`,"setup.plan.cloud":`استخدام نموذج سحابي`,"setup.plan.whatDownloads":`عرض كل ما سيتم تنزيله`,"setup.again.notNow":`ليس الآن`,"setup.pc.step":`هذا الجهاز`,"setup.pc.backend.installed":`مثبتة`,"setup.pc.backend.available":`تُنزَّل عند الحاجة`,"setup.pc.backend.unsupported":`غير مدعومة هنا`,"setup.gpu.title":`ذاكرة GPU`,"setup.gpu.lede":`اختياري. لا يغيّر GAIA شيئًا ما لم تختر حجمًا جديدًا.`,"setup.models.step":`النماذج`,"setup.models.gpu":`ذاكرة الرسومات (GPU): {gpu} من أصل {total} في هذا الجهاز. المزيد يتيح تشغيل نماذج أكبر.`,"setup.label.verified":`موثّق`,"setup.label.untested":`غير مختبر`,"setup.job.chat":`المحادثة`,"setup.job.verifiedNote":`النماذج الموثّقة اختبرها GAIA على أجهزة مثل هذا.`,"setup.job.untestedNote":`استخدام النماذج غير المختبرة على مسؤوليتك. قد تعمل، لكن الأدوات أو المستندات أو الصور قد لا تعمل جيدًا.`,"setup.job.untestedPicked":`سيستخدم GAIA هذا النموذج، لكننا لم نختبره. يمكنك التبديل من الإعدادات في أي وقت.`,"setup.job.vision":`قراءة الصور`,"setup.job.visionBuiltIn":`يتولى ذلك {name}`,"setup.job.nothingMore":`لا شيء آخر للتنزيل`,"setup.job.otherVision":`اختر نموذجًا آخر للصور`,"setup.job.hideVision":`إخفاء نماذج الصور الأخرى`,"setup.job.visionOffNpu":`يعمل {name} على وحدة NPU التي لا تقرأ الصور، لذا قراءة الصور معطلة. لقراءة الصور، اختر الرسوميات (GPU) أعلاه.`,"setup.job.visionNeeded":`لا يستطيع {name} قراءة الصور، لذا اخترنا نموذجًا لهذه المهمة.`,"setup.job.useChatForVision":`استخدام نموذج المحادثة`,"setup.job.skipVision":`التخطي الآن`,"setup.job.skipVisionNote":`قراءة الصور تحتاج إلى نموذج يرى الصور. سيسألك GAIA قبل تنزيل واحد.`,"setup.job.documents":`المستندات والذاكرة`,"setup.job.documentsOff":`بدونه يبقى البحث في المستندات والذاكرة معطلًا حتى تضيفه من الإعدادات.`,"setup.job.extras":`إضافات اختيارية`,"setup.job.extrasNote":`معطلة افتراضيًا. يسألك GAIA قبل تنزيلها عند أول حاجة إليها.`,"setup.job.speech":`تحويل الكلام إلى نص`,"setup.job.speechNote":`للتحدث مع GAIA ونسخ الصوت`,"setup.job.voice":`تحويل النص إلى كلام`,"setup.job.voiceNote":`ليقرأ GAIA الإجابات بصوت عالٍ`,"setup.job.images":`إنشاء الصور`,"setup.job.imagesNote":`ينشئ صورًا من وصف`,"setup.job.imagesBlocked":`لا تتوفر هذه الميزة في {name} بعد. اختر نموذج محادثة أكبر لاستخدامها.`,"setup.get.title":`ما ستحصل عليه`,"setup.get.offNpu":`معطلة على وحدة NPU`,"setup.get.off":`معطل حاليًا`,"setup.get.on":`مفعّل`,"setup.get.voice":`الصوت`,"setup.get.notAvailable":`غير متاح مع نموذج المحادثة هذا`,"setup.key.title":`ربط مزود سحابي`,"setup.key.provider":`المزود السحابي`,"setup.key.gatewayOff":`غير متاح: يتطلب شبكة AMD أو VPN.`,"setup.key.checkAgain":`التحقق من بوابة AMD مرة أخرى`,"setup.key.getOne":`احصل على مفتاح في دقيقة تقريبًا`,"setup.key.step1":`افتح مفاتيح Fireworks API، ثم سجّل الدخول أو أنشئ حسابًا.`,"setup.key.step2":`أنشئ مفتاح API جديدًا وانسخه.`,"setup.key.step3":`الصقه هنا. يختبره GAIA قبل حفظه.`,"setup.key.gatewayHelp":`كيفية الحصول على مفتاح AMD LLM Gateway`,"setup.key.where":`يبقى مفتاحك على هذا الجهاز، في التخزين الآمن لنظامك.`,"setup.key.usersServer":`يستخدم GAIA هذا المزود كما هو مضبوط في خادم Lemonade لديك. ولا يرسل مفتاحًا إلى خادمك ولا يغيّر إعداده.`,"setup.key.placeholder":`الصق مفتاح API (اتركه فارغًا لاستخدام مفتاح حفظته من قبل)`,"setup.key.label":`مفتاح API`,"setup.key.connect":`اختبار واتصال`,"setup.key.testing":`جارٍ اختبار مفتاحك…`,"setup.download.step":`التنزيل`,"setup.download.lede":`إليك كل ما سيصل إلى هذا الجهاز. يمكنك تركه يعمل والعودة لاحقًا.`,"setup.download.starting":`جارٍ بدء التنزيلات…`,"setup.contents.title":`كل ما يتم إعداده`,"setup.contents.from":`من`,"setup.contents.sizeOnDownload":`يظهر الحجم عند البدء`,"setup.contents.working":`قيد التنفيذ`,"setup.contents.ready":`جاهز`,"setup.contents.failed":`فشل`,"setup.contents.alreadyHere":`موجود بالفعل`,"setup.contents.waiting":`في الانتظار`,"setup.component.server":`محرك الذكاء الاصطناعي`,"setup.component.serverNote":`يشغّل نماذج الذكاء الاصطناعي على هذا الجهاز (Lemonade).`,"setup.component.backend":`دعم الرسومات`,"setup.component.backendNote":`يتيح للنماذج استخدام شريحة الرسومات أو المعالج (llama.cpp).`,"setup.component.agent":`مساعد GAIA`,"setup.component.agentNote":`المساعد الذي يخطط لطلباتك وينفذها.`,"setup.optional.title":`اختياري`,"setup.optional.lede":`أضفها الآن ليتم تنزيلها واختبارها بعد البقية، أو أضفها لاحقًا من الإعدادات.`,"setup.optional.add":`إضافة`,"setup.optional.added":`تمت الإضافة`,"setup.test.step":`الاختبار`,"setup.test.title":`اختبار كل شيء`,"setup.test.lede":`التنزيل ليس دليلًا على العمل، لذا يشغّل GAIA كل جزء فعليًا.`,"setup.test.count":`الاختبارات المكتملة: {done} من {total}`,"setup.test.job.server":`محرك الذكاء الاصطناعي يستجيب`,"setup.test.job.chat":`المحادثة: التحميل والإجابة`,"setup.test.job.vision":`قراءة الصور: تحديد لون صورة اختبار`,"setup.test.job.embedding":`المستندات والذاكرة: يقرأ جملة اختبار`,"setup.test.job.speech":`تحويل الكلام إلى نص: نسخ صوت اختبار`,"setup.test.job.voice":`تحويل النص إلى كلام: نطق جملة`,"setup.test.job.image_creation":`إنشاء الصور: إنشاء صورة اختبار`,"setup.test.job.agent":`محادثة حقيقية مع GAIA`,"setup.test.running":`قيد التشغيل`,"setup.test.waiting":`في الانتظار`,"setup.test.passed":`نجح`,"setup.test.passedIn":`نجح، {seconds} ث`,"setup.test.failed":`فشل`,"setup.test.skipped":`غير موجود على هذا الجهاز`,"setup.test.failedHelp":`لم يعمل شيء ما، لذا GAIA غير جاهز بعد. تنزيلاتك آمنة.`,"setup.test.why.memory":`لا توجد ذاكرة حرة كافية لتحميله الآن.`,"setup.test.cancelled":`توقف الاختبار. تنزيلاتك آمنة؛ أعد الاختبار متى كنت مستعدًا.`,"setup.interrupted":`توقف الإعداد عند إعادة تشغيل GAIA. ما نُزِّل محفوظ، لذا يمكنك المتابعة من حيث توقف.`,"setup.test.why.broken":`لم يُحمَّل ملف النموذج. إعادة تنزيله تحل ذلك عادةً.`,"setup.test.why.brokenYours":`لم يُحمَّل النموذج على محرك الذكاء الاصطناعي الخاص بك. جرّب نموذجًا آخر، أو تحقق من النموذج في محركك.`,"setup.test.why.answer":`حُمِّل النموذج لكنه أعطى إجابة فارغة أو خاطئة. أعد الاختبار، أو اختر نموذجًا آخر.`,"setup.test.why.window":`حُمِّل النموذج بمساحة للمحادثة أقل مما يحتاجه GAIA. أغلق التطبيقات الأخرى وأعد الاختبار، أو اختر نموذجًا أصغر.`,"setup.test.why.stuck":`توقف عن الاستجابة قبل انتهاء الاختبار.`,"setup.test.why.missing":`مساعد GAIA غير موجود على هذا الجهاز. أعد الاختبار لتثبيته.`,"setup.test.why.hub":`تعذّر على GAIA تنزيل مساعده. تحقق من اتصالك بالإنترنت، ثم أعد الاختبار لتثبيته.`,"setup.test.why.agent":`لم يُجب مساعد GAIA عن رسالة اختبار.`,"setup.test.why.other":`لم يعمل هذا الجزء.`,"setup.test.failedMemory":`لا تتوفر ذاكرة كافية على هذا الجهاز الآن. أغلق التطبيقات الثقيلة وحاول مجددًا، أو اختر نموذجًا أصغر.`,"setup.test.tryAgain":`إعادة الاختبار`,"setup.test.chooseAnother":`اختيار نموذج آخر`,"setup.test.downloadAgain":`تنزيل {name} مجددًا`,"setup.test.downloadItAgain":`تنزيله مجددًا`,"setup.ready.step":`جاهز`,"setup.ready.heading":`GAIA جاهز`,"setup.ready.tasks":`أو ابدأ بأحد هذه:`,"settings.section.setup":`الإعداد`,"settings.setup.lede":`كل ما اخترته عند إعداد GAIA. غيّر شيئًا واحدًا أو أعد الخطوات كلها.`,"settings.setup.ready":`جاهز`,"settings.setup.running":`يعمل بنموذج {name}`,"settings.setup.runAgain":`تشغيل الإعداد مرة أخرى`,"settings.setup.where":`مكان تشغيل GAIA`,"settings.setup.chatRuns":`نموذج المحادثة`,"settings.setup.cloudKeys":`مفاتيح السحابة`,"settings.setup.detected":`ما اكتشفه GAIA`,"settings.setup.server":`خادم النماذج`,"settings.setup.serverOwn":`خادم Lemonade الخاص بـ GAIA`,"settings.setup.serverYours":`خادم Lemonade الخاص بك`,"settings.setup.models":`النماذج على هذا الجهاز`,"settings.setup.modelsValue":`المثبتة: {n}، {size}`,"settings.setup.context":`نافذة السياق`,"settings.setup.after":`بعد الإعداد`,"settings.setup.signIn":`البدء عند تسجيل الدخول`,"settings.setup.confirmTitle":`هل تريد تشغيل الإعداد مرة أخرى؟`,"settings.setup.confirmBody":`تبقى نماذجك ومفاتيحك ومحادثاتك. لن يتغير شيء حتى تختار شيئًا جديدًا.`,"settings.setup.confirmYes":`بدء الإعداد`,"modelNeeded.dialog":`تنزيل نموذج`,"modelNeeded.title.chat":`تحتاج المحادثة إلى نموذج`,"modelNeeded.title.vision":`تحتاج قراءة هذه الصورة إلى نموذج رؤية`,"modelNeeded.title.embedding":`يحتاج البحث في المستندات إلى نموذج`,"modelNeeded.title.speech":`يحتاج تحويل الكلام إلى نص إلى نموذج`,"modelNeeded.title.voice":`تحتاج القراءة بصوت عالٍ إلى نموذج`,"modelNeeded.title.image_creation":`يحتاج إنشاء الصور إلى نموذج`,"modelNeeded.free":`المتاح:`,"modelNeeded.waits":`تبقى رسالتك هنا حتى يصبح جاهزًا.`,"modelNeeded.starting":`جارٍ بدء التنزيل…`,"modelNeeded.failed":`توقف التنزيل.`,"modelNeeded.lowDisk":`يحتاج إلى {need}، والمتاح {free} فقط. حرّر {freeUp} أولًا، أو نزّله على أي حال.`,"modelNeeded.off.npu.title":`لا يستطيع GAIA قراءة الصور على وحدة NPU`,"modelNeeded.off.npu.body":`يعمل نموذج المحادثة على وحدة NPU التي لا تقرأ الصور. سيجيب GAIA دون النظر إلى الصورة. لقراءة الصور، انقل نموذج المحادثة إلى وحدة GPU من الإعدادات › النموذج.`,"modelNeeded.off.send":`إرسال بدون الصورة`,"modelNeeded.notNow":`ليس الآن`,"modelNeeded.download":`تنزيل ومتابعة`,"setup.server.ownFailed":`تعذّر على GAIA تنزيل محرك الذكاء الاصطناعي الخاص به أو تشغيله. تحقق من اتصالك بالإنترنت، ثم حاول مجددًا.`,"setup.server.unreachable":`محرك الذكاء الاصطناعي الذي اخترته لـ GAIA لا يستجيب.`,"setup.server.tooOld":`محرك الذكاء الاصطناعي الذي اخترته لـ GAIA أقدم مما يحتاجه GAIA. حدّثه، أو استخدم محرك GAIA الخاص بدلًا من ذلك.`,"setup.server.useGaia":`استخدام خادم GAIA بدلًا من ذلك`,"setup.server.useGaiaNote":`يحتفظ خادم Lemonade الخاص بـ GAIA بنسخته من النماذج.`,"setup.system.unread":`تعذرت قراءة عتاد هذا الجهاز. سيواصل الإعداد فحصه أثناء التقدم.`,"setup.purpose.chat":`يجيب عن رسائلك ويشغّل أدوات GAIA`,"setup.purpose.vision":`يقرأ الصور ولقطات الشاشة`,"setup.purpose.embedding":`يبحث في مستنداتك ويتذكر الأشياء`,"setup.purpose.speech":`يحوّل الكلام والتسجيلات إلى نص`,"setup.purpose.voice":`يقرأ الإجابات بصوت عالٍ`,"setup.purpose.image_creation":`ينشئ صورًا من وصف`,"setup.ready.extraFailed":`فشل في الاختبار وقد لا يعمل: {job}. يمكنك تغييره من الإعدادات.`,"setup.ready.extraNotFetched":`لم يُنزَّل: {names}. يمكنك إضافته من الإعدادات ← الإعداد.`,"setup.offer.checkFailed":`تعذّر التحقق مما إذا كان هذا الجهاز يشغّل محرك ذكاء اصطناعي. تحقّق مجددًا، أو تابع وسيثبّت GAIA محركه الخاص.`,"setup.offer.keyRejected":`لم يُقبل هذا المفتاح. أدخل المفتاح الذي شُغّل به محرك الذكاء الاصطناعي، أو ثبّت محرك GAIA الخاص.`,"setup.server.howToStart":`كيفية تشغيله`,"setup.server.setOutside":`يوجّه إعداد خارج التطبيق GAIA إلى محرك الذكاء الاصطناعي هذا، لذا لا يمكن للإعداد التبديل من هنا.`,"setup.offer.noAnswer":`تعذر التحقق من تشغيل خادم Lemonade في {url}: لم يستجب في الوقت المحدد.`,"setup.offer.checkAgain":`التحقق مرة أخرى`,"setup.offer.looking":`جارٍ البحث عن خادم Lemonade تشغّله…`,"setup.offer.usingYours":`سيستخدم GAIA محرك الذكاء الاصطناعي على {url} ولن يثبّت محركه الخاص.`,"setup.offer.usingOwn":`سيثبّت GAIA محرك الذكاء الاصطناعي الخاص به.`,"setup.offer.label":`استخدام خادم Lemonade الخاص بك`,"setup.offer.title":`وجد GAIA محرك ذكاء اصطناعي يعمل بالفعل على هذا الجهاز. هل تستخدمه أم تثبّت محرك GAIA الخاص؟`,"setup.offer.whatGaiaDoes":`ما يفعله GAIA على خادمك`,"setup.offer.whatGaiaDoesText":`ينزّل GAIA نماذجه ويشغّلها على خادمك، ويترك إعدادات الخادم ونماذجك كما هي.`,"setup.offer.keyPlaceholder":`مفتاح API الذي شُغّل به خادم Lemonade`,"setup.offer.keyLabel":`مفتاح Lemonade API`,"setup.offer.tooOld":`محرك الذكاء الاصطناعي على هذا الجهاز أقدم مما يحتاجه GAIA، لذا يثبّت GAIA محركه الخاص. يبقى محركك كما هو.`,"setup.offer.useMine":`استخدام الموجود لديّ`,"setup.offer.useOwn":`تثبيت محرك GAIA الخاص`,"setup.title":`إعداد GAIA`,"setup.lede.start":`بضع دقائق من الإعداد، ثم محادثتك الأولى.`,"setup.lede.running":`جارٍ الإعداد. يستمر الإعداد حتى لو انتقلت إلى نافذة أخرى.`,"setup.lede.done":`كل شيء جاهز.`,"setup.upgrading.notice":`جارٍ تحديث خادم النماذج المحلي…`,"setup.upgrading.failed":"تعذّر على GAIA تحديث خادم النماذج المحلي، لذا قد لا تستجيب المحادثات. حاول مرة أخرى، أو شغّل `gaia init` في الطرفية لمعرفة السبب. التفاصيل: {error}","setup.upgrading.retry":`حاول مرة أخرى`,"setup.check.title":`فحص هذا الجهاز`,"setup.where.title":`اختر مكان تشغيل GAIA`,"setup.where.local":`على هذا الجهاز`,"setup.where.localNote":`خاص. تعمل النماذج على عتاد AMD لديك؛ لا يغادر شيء هذا الجهاز.`,"setup.where.fireworksNote":`نماذج سحابية أسرع وأكبر. تحتاج إلى مفتاح API؛ يُرسَل سجل المحادثة إلى Fireworks AI.`,"setup.where.amdNote":`لموظفي AMD. تحتاج إلى مفتاح البوابة؛ يُرسَل سجل المحادثة إلى البوابة.`,"setup.server.install":`تثبيت خادم النماذج المحلي`,"setup.server.aboutMinute":`نحو دقيقة واحدة`,"setup.server.yours":`استخدام خادم Lemonade الخاص بك`,"setup.backToGaia":`العودة إلى GAIA`,"setup.back":`رجوع`,"setup.nav.prev":`الخطوة السابقة`,"setup.nav.next":`الخطوة التالية`,"setup.found.title":`ما وجده الإعداد`,"setup.found.models":`النماذج التي يمكن للإعداد تنزيلها هنا`,"setup.found.col.model":`النموذج`,"setup.found.col.job":`المهمة`,"setup.found.col.tested":`مختبر`,"setup.found.col.size":`الحجم`,"setup.found.notDownloaded":`غير منزّل`,"setup.found.hardware":`العتاد`,"setup.found.col.runtime":`بيئة التشغيل`,"setup.found.col.device":`الجهاز`,"setup.found.col.version":`الإصدار`,"setup.found.col.state":`الحالة`,"setup.found.openFailed":`تعذّر فتح المجلد: {error}`,"setup.found.build.release_candidate":`إصدار مرشّح`,"setup.found.build.local":`بناء محلي`,"setup.found.build.source":`من المصدر`,"setup.found.changeMemory":`تغيير طريقة تقسيم الذاكرة`,"setup.found.runsOn":`يشغّل النماذج على`,"setup.found.memory":`الذاكرة المتاحة للنماذج`,"setup.found.memoryOf":`{size} من {total}`,"setup.found.space":`المساحة المتاحة للنماذج`,"setup.found.software":`البرامج`,"setup.found.modelsFolder":`فتح مجلد النماذج`,"setup.found.gaiaFolder":`فتح بيانات GAIA وسجلاتها`,"setup.found.details":`كل التفاصيل`,"setup.checks.allPassed":`اجتازت كل الفحوص ({n})`,"setup.found.copy":`نسخ هذه التفاصيل`,"setup.found.copied":`تم النسخ`,"setup.found.copyFailed":`تعذّر النسخ`,"setup.found.agent":`مساعد GAIA`,"setup.found.agentLater":`يُثبَّت أثناء الإعداد`,"setup.found.server":`محرك الذكاء الاصطناعي`,"setup.found.serverOwn":`خادم GAIA الخاص`,"setup.found.serverYours":`خادمك`,"setup.found.runtime":`يشغّل النماذج باستخدام`,"setup.found.os":`نظام التشغيل`,"setup.found.cpu":`المعالج`,"setup.found.gpu":`الرسومات`,"setup.found.npu":`وحدة NPU`,"setup.found.none":`لم يُعثر على شيء`,"setup.found.cores":`{cores} نواة، {threads} مسار`,"setup.found.unknown":`غير متوفر`,"setup.nav.stepOf":`الخطوة {n} من {total}`,"setup.next":`التالي`,"setup.nav.label":`التنقل بين خطوات الإعداد`,"setup.nav.toLive":`العودة إلى {step}`,"setup.nav.runGoing":`الإعداد قيد التشغيل. لتغيير هذا، ألغِه أو انتظر حتى ينتهي.`,"setup.continue":`متابعة`,"setup.continueAnyway":`المتابعة على أي حال`,"setup.cancel":`إلغاء`,"setup.finish":`إنهاء الإعداد`,"setup.tryAgain":`إعادة المحاولة`,"setup.reconnect":`إعادة الاتصال`,"setup.lostContact":`انقطع الاتصال بـ GAIA: {error}`,"setup.progressUnread":`تعذّرت قراءة تقدّم الإعداد: {error}`,"setup.key.noModels":`تم الاتصال، لكن المزوّد لم يذكر أي نماذج محادثة.`,"setup.keepTrying":`واصل المحاولة إذا انقطع الاتصال (حتى دقيقتين)`,"setup.resume.banner":`لم يكتمل التنزيل في المرة السابقة. يتابع بدء التنزيل من حيث توقف.`,"setup.failedLead":`حدث خطأ ما. حاول مجددًا؛ توضح التفاصيل ما حدث.`,"setup.resume.resume":`استئناف`,"setup.models.title":`اختر نماذجك`,"setup.backend.title":`التشغيل على`,"setup.backend.gpu":`الرسومات (GPU)`,"setup.backend.npu":`Ryzen AI NPU`,"setup.backend.hint":`الـGPU هو الأسرع. الـNPU شريحة ذكاء اصطناعي منخفضة الطاقة تترك الرسومات متاحة. اختيار أحدهما يختار نموذج الدردشة الخاص به أدناه.`,"setup.backend.hintNoNpu":`تعمل الدردشة على رسومات هذا الجهاز (GPU).`,"setup.backend.hintNpuUnusable":`تعمل الدردشة على رسومات هذا الجهاز (GPU). لا تستطيع وحدة Ryzen AI NPU في هذا الجهاز تشغيل نماذج GAIA.`,"setup.npu.notReady":`في هذا الجهاز وحدة معالجة عصبية Ryzen AI NPU، لكنها غير مهيأة لتشغيل النماذج بعد:`,"setup.npu.problem.driver":`برنامج تشغيل الوحدة العصبية (amdxdna) غير محمَّل.`,"setup.npu.fix.driver":`يأتي مع Linux 6.14 وما بعده. حدِّث النواة، أو ثبِّت برنامج تشغيل NPU من AMD لتوزيعتك، ثم أعد تشغيل الجهاز.`,"setup.npu.problem.device":`برنامج تشغيل الوحدة العصبية محمَّل، لكن الوحدة لم تبدأ العمل.`,"setup.npu.fix.device":`السبب غالبًا برنامج ثابت (firmware) مفقود أو قديم للوحدة. حدِّث حزمة linux-firmware في توزيعتك، ثم أعد تشغيل الجهاز.`,"setup.npu.problem.firmware":`إصدار البرنامج الثابت للوحدة العصبية {version}، وهي تحتاج 1.1 أو أحدث.`,"setup.npu.fix.firmware":`حدِّث حزمة linux-firmware في توزيعتك، أو حزمة برنامج تشغيل NPU من AMD، ثم أعد تشغيل الجهاز.`,"setup.npu.problem.runtime":`لم تعمل بيئة تشغيل الوحدة العصبية (FastFlowLM): {detail}`,"setup.npu.fix.runtime":`أعد تشغيل الجهاز وتحقّق مرة أخرى. إن استمر الفشل، ففي سجل GAIA الخطأ كاملًا للإبلاغ عنه.`,"setup.npu.problem.access":`لا يستطيع حسابك فتح الوحدة العصبية ({device}).`,"setup.npu.fix.access":`امنح حسابك صلاحية القراءة والكتابة عليها، ثم سجِّل الخروج وادخل من جديد.`,"setup.npu.fix.accessGroup":`أضف حسابك إلى المجموعة {group}، ثم سجِّل الخروج وادخل من جديد.`,"setup.npu.problem.memlock":`حد الذاكرة المقفلة {limit}، والوحدة العصبية تحتاجه بلا حد.`,"setup.npu.fix.memlock":`يستطيع GAIA رفعه لجميع مستخدمي هذا الجهاز مرة واحدة بكلمة مرور المسؤول، ثم أعد تشغيل الجهاز.`,"setup.npu.problem.memlockStill":`حد الذاكرة المقفلة ما زال {limit}.`,"setup.npu.fix.memlockRestart":`رفع GAIA الحد لجميع مستخدمي هذا الجهاز. أعد تشغيل الجهاز لإتمام ذلك.`,"setup.npu.problem.memlockStuck":`حد الذاكرة المقفلة ما زال {limit} بعد إعادة التشغيل.`,"setup.npu.fix.memlockStuck":`إعداد آخر على هذا الجهاز يضع حدًا أدنى بعد إعداد GAIA، غالبًا DefaultLimitMEMLOCK في /etc/systemd/user.conf. يشرح دليل NPU في GAIA كيف تجده.`,"setup.npu.fixMemlock":`ارفع الحد`,"setup.npu.fixError.cancelled":`أُغلقت نافذة كلمة مرور المسؤول، فلم يتغير شيء. حاول مرة أخرى وأدخل كلمة مرور المسؤول.`,"setup.npu.fixError.timeout":`لم يُجَب على نافذة كلمة مرور المسؤول في الوقت المحدد. حاول مرة أخرى.`,"setup.npu.fixError.notAuthorized":`تعذّر على GAIA إظهار نافذة كلمة مرور المسؤول هنا، أو أن هذا الحساب غير مسموح له باستخدامها. شغّل GAIA من سطح المكتب، أو اطلب من المسؤول اتباع دليل NPU في GAIA.`,"setup.npu.fixError.noPkexec":`لا يستطيع GAIA طلب كلمة مرور المسؤول على هذا الجهاز لأن polkit غير مثبت. يشرح دليل NPU في GAIA خطوات رفع الحد يدويًا.`,"setup.npu.fixError.failed":`تعذّر على GAIA رفع الحد. التفاصيل في سجل GAIA، ويشرح دليل NPU في GAIA خطوات ذلك يدويًا.`,"setup.npu.meanwhile":`إلى ذلك الحين تعمل الدردشة على الرسومات (GPU). يشرح دليل NPU في GAIA الخطوات لكل توزيعة Linux.`,"setup.npu.recheck":`تحقّق مرة أخرى`,"setup.npu.recheckFailed":`تعذّر على GAIA التحقق من الوحدة العصبية مرة أخرى. تأكد من أن خادم النماذج يعمل، ثم حاول مرة أخرى.`,"setup.models.lede":`هذه هي النماذج التي سيستخدمها GAIA على هذا الجهاز. ألغِ تحديد ما لا تريده؛ يمكنك إضافتها لاحقًا من الإعدادات.`,"setup.models.cloudLede":`تعمل المحادثة في السحابة. ما زال GAIA يحتاج إلى هذا النموذج الصغير على هذا الجهاز للبحث في ملفاتك وتذكّر الأشياء.`,"setup.models.cloudNote":`النماذج السحابية لا تحتاج إلى تنزيل.`,"setup.models.loading":`جارٍ قراءة النماذج على هذا الجهاز…`,"setup.models.listFailed":`تعذّرت قراءة قائمة النماذج من محرك الذكاء الاصطناعي: {reason}`,"setup.models.useRecommended":`استخدام المجموعة الموصى بها`,"setup.models.useRecommendedNote":`المجموعة الموصى بها هي قائمة الإعداد نفسه لهذا الجهاز. لا يستطيع GAIA معرفة مدى ملاءمة كل نموذج حتى تُقرأ القائمة.`,"setup.models.allPresent":`كل شيء موجود بالفعل على هذا الجهاز.`,"setup.models.change":`تغيير النماذج`,"setup.models.resetRecommended":`تحديد النماذج الموصى بها فقط`,"setup.models.neverDeletes":`إلغاء التحديد لا يحذف أي نموذج أبدًا.`,"setup.models.more":`نماذج أخرى يمكن لـ GAIA تنزيلها: {n}`,"setup.models.moreLabel":`نماذج أخرى يمكن لـ GAIA تنزيلها`,"setup.models.installed":`نماذج أخرى لديك بالفعل ({n})`,"setup.models.installedLabel":`نماذج أخرى لديك بالفعل`,"setup.models.search":`البحث في النماذج`,"setup.models.useAsDefault":`استخدامه نموذجًا للمحادثة`,"setup.models.defaultChat":`نموذج المحادثة الافتراضي`,"setup.models.noChat":`لم يُختر نموذج للمحادثة`,"setup.models.noChatReason":`اختر نموذج محادثة واحدًا على الأقل، أو اختر مزوّدًا سحابيًا في الخطوة 2.`,"setup.models.npu":`NPU`,"setup.models.recommended":`موصى به لهذا الجهاز`,"setup.models.fitUnknown":`الملاءمة غير معروفة`,"setup.models.purpose.chat":`محادثة`,"setup.models.purpose.vision":`الصور`,"setup.models.purpose.documents":`مستندات`,"setup.models.line.chat":`يجيب عن محادثاتك.`,"setup.models.line.vision":`يقرأ الصور ولقطات الشاشة.`,"setup.models.line.documents":`يتيح لـ GAIA البحث في ملفاتك وتذكّر الأشياء.`,"setup.models.fit.ok":`يحتاج إلى نحو {need} من الذاكرة؛ لدى هذا الجهاز {have} للنماذج.`,"setup.models.fit.unknown":`تعذّر على GAIA قراءة ذاكرة هذا الجهاز، لذا لا يستطيع معرفة ما إذا كان هذا النموذج مناسبًا.`,"setup.models.status.onPc":`على هذا الجهاز`,"setup.models.status.download":`تنزيل {size}`,"setup.models.status.partial":`نُزّل جزئيًا، يتبقى {size}`,"setup.models.status.sizeUnknown":`الحجم غير معروف`,"setup.models.status.downloading":`جارٍ تنزيل {done} من {total}`,"setup.models.warn.tooBig":`يحتاج إلى نحو {need}؛ لدى هذا الجهاز {have}. قد يكون بطيئًا جدًا أو يفشل في التحميل.`,"setup.models.warn.npu":`يعمل فقط على وحدة Ryzen AI NPU، ولا توجد على هذا الجهاز وحدة NPU يمكنها تشغيله.`,"setup.models.warn.backend":`لا يستطيع محرك الذكاء الاصطناعي على هذا الجهاز تشغيل هذا النوع من النماذج.`,"setup.models.cantRun.chat":`لا يمكن تشغيل {name} على هذا الجهاز. {why} اختر نموذج دردشة آخر.`,"setup.models.cantRun.other":`لا يمكن تشغيل {name} على هذا الجهاز. {why} ألغِ تحديده للمتابعة.`,"setup.models.warn.tooBigNoNumbers":`قد لا يعمل على هذا الجهاز: قد يحتاج إلى ذاكرة أكثر مما لدى هذا الجهاز للنماذج.`,"setup.blocked":`لا يستطيع هذا الجهاز تشغيل نماذج GAIA كما هو. توضح التفاصيل السبب؛ ويظل النموذج السحابي يعمل.`,"setup.download.working":`جارٍ الإعداد…`,"setup.found.noticed":`لاحظ الإعداد أمرًا بشأن هذا الجهاز`,"setup.models.warn.vision":`من دون {name}، لا يستطيع GAIA قراءة الصور أو لقطات الشاشة. يمكنك إضافته لاحقًا من الإعدادات.`,"setup.models.warn.documents":`من دون {name}، لا يستطيع GAIA البحث في ملفاتك أو تذكّر الأشياء. يمكنك إضافته لاحقًا من الإعدادات.`,"setup.summary.label":`إجمالي التنزيل`,"setup.summary.download":`التنزيل`,"setup.summary.free":`المساحة الحرة`,"setup.summary.freeOn":`المساحة الحرة على {drive}`,"setup.summary.after":`بعد التنزيل`,"setup.summary.sizeUnknown":`الحجم غير معروف`,"setup.summary.freeUnknown":`المساحة الحرة غير معروفة`,"setup.summary.theDrive":`قرص النماذج`,"setup.summary.short":`يلزم {need}؛ المتاح {free} فقط على {drive}. حرّر {freeUp}، أو ألغِ تحديد نماذج أخرى.`,"setup.summary.shortDrop":`يلزم {need}؛ المتاح {free} فقط على {drive}. حرّر {freeUp} أو ألغِ تحديد {name} (يوفّر {saves}).`,"setup.summary.spoken":`التنزيل {download}. يتبقى {after} حرة بعده.`,"setup.summary.spokenNoDisk":`التنزيل {download}. المساحة الحرة غير معروفة.`,"setup.summary.spokenUnknown":`حجم التنزيل غير معروف.`,"setup.confirm.noFitOne":`قد لا يناسب {name} هذا الجهاز. هل تريد تنزيله على أي حال؟`,"setup.confirm.noFitMany":`قد لا تناسب بعض النماذج هذا الجهاز. هل تريد تنزيلها على أي حال؟`,"setup.confirm.noFitServerTitle":`قد لا يعمل هذا النموذج على هذا الجهاز`,"setup.confirm.lowDiskTitle":`لا توجد مساحة حرة كافية على القرص`,"setup.confirm.downloadAnyway":`التنزيل على أي حال`,"setup.confirm.useAnyway":`استخدامه على أي حال`,"setup.confirm.pickSmaller":`اختيار نموذج أصغر`,"setup.confirm.changeModels":`تغيير النماذج`,"setup.download.title":`جارٍ التنزيل`,"setup.plan.diskAfter":`المساحة المتبقية بعده`,"setup.job.lede":`اختر ما تستخدمه كل مهمة. لن يبدأ أي تنزيل حتى تتابع.`,"setup.download.verifying":`جارٍ التحقق من تحميل النماذج…`,"setup.download.finishNote":`اكتملت التنزيلات. «إنهاء الإعداد» يتحقق من أنها تُحمَّل.`,"setup.download.stoppedBeforeCheck":`توقف الإعداد قبل أن يتحقق من تحميل النماذج. احتُفظ بها؛ «إنهاء الإعداد» يتحقق منها الآن.`,"setup.state.queued":`في الانتظار`,"setup.state.downloading":`جارٍ التنزيل`,"setup.state.verifying":`جارٍ التحقق`,"setup.state.ready":`جاهز`,"setup.state.failed":`فشل`,"setup.state.skipped":`تم التخطي`,"setup.state.cancelled":`أُلغي`,"setup.state.unchecked":`اكتمل التنزيل`,"setup.progress.overallLabel":`التنزيل الإجمالي`,"setup.progress.overallPct":`الإجمالي {n}%`,"setup.progress.percent":`{n} بالمئة`,"setup.progress.of":`{done} من {total}`,"setup.progress.left":`يتبقى {eta}`,"setup.progress.estimating":`جارٍ التقدير…`,"setup.progress.failedCount":`فشل: {n}`,"setup.progress.rowLabel":`{name}، {state}`,"setup.progress.waitingCheck":`اكتمل التنزيل. يتحقق GAIA من تحميله بعد انتهاء البقية.`,"setup.progress.unchecked":`اكتمل التنزيل واحتُفظ به. يتحقق GAIA من تحميله عند إنهاء الإعداد.`,"setup.redownload.title":`تنزيل {name} من جديد؟`,"setup.redownload.body":`نُزّل {name} لكنه لم يُحمَّل. يحذف GAIA النسخة الموجودة على هذا الجهاز وينزّله من جديد ({size}).`,"setup.redownload.confirm":`الحذف والتنزيل من جديد`,"setup.redownload.keep":`الإبقاء عليه`,"setup.progress.checkingLoad":`جارٍ التحقق من تحميله…`,"setup.progress.checkingFor":`جارٍ التحقق من تحميله… {n} ث`,"setup.progress.keptPartial":`احتُفظ بـ {done}. يتابع الاستئناف من هناك.`,"setup.progress.retrying":`انقطع الاتصال. تُعاد المحاولة لمدة {n} ثانية أخرى…`,"setup.progress.stalled":`لا بيانات منذ {n} ثانية. ما زالت المحاولة جارية…`,"setup.progress.stuck":`يبدو أن التنزيل متوقف. إعادة المحاولة؟`,"setup.progress.details":`التفاصيل`,"setup.progress.logFor":`سجل تنزيل {name}`,"setup.logs.title":`سجلات الإعداد`,"setup.logs.check":`سجل الفحوص`,"setup.logs.download":`سجل التنزيل`,"setup.logs.test":`سجل الاختبار`,"setup.logs.report":`حفظ تقرير لاستكشاف الأخطاء`,"setup.logs.reportNote":`سجلات الإعداد وسجلات GAIA وتفاصيل هذا الكمبيوتر في ملف واحد. لا تُضمَّن المفاتيح المحفوظة، لكن السجلات تُضاف كما هي، فراجعه قبل إرفاقه بالبلاغ.`,"setup.logs.reportSaved":`تم الحفظ ({size}). توجد نسخة أيضًا في`,"setup.logs.reportFailed":`تعذّر حفظ التقرير: {error}`,"setup.progress.retry":`إعادة المحاولة`,"setup.progress.resume":`استئناف`,"setup.progress.resumeAll":`استئناف الكل`,"setup.progress.retryLater":`تصبح إعادة المحاولة متاحة بعد انتهاء التنزيلات الأخرى.`,"setup.progress.skipModel":`تخطي هذا النموذج`,"setup.progress.cancel":`إلغاء`,"setup.progress.keepsGoing":`تستمر التنزيلات حتى لو انتقلت إلى نافذة أخرى.`,"setup.progress.cancelTitle":`إيقاف التنزيل؟`,"setup.progress.cancelBody":`تبقى النماذج المكتملة. ويُحتفظ بالتنزيلات الجزئية لتتمكن من الاستئناف.`,"setup.progress.cancelConfirm":`إيقاف`,"setup.progress.cancelKeep":`متابعة التنزيل`,"setup.progress.announceState":`{name}: {state}`,"setup.progress.announceFailed":`فشل تنزيل {name}.`,"setup.progress.announceOverall":`اكتمل {n} بالمئة من التنزيلات.`,"setup.fail.network":`انقطع الاتصال أثناء تنزيل {name}. اضغط «إعادة المحاولة» للمتابعة من حيث توقف.`,"setup.fail.diskFull":`نفدت مساحة القرص بعد {done} من {name}. حرّر {need} واضغط «إعادة المحاولة». لم يُفقد شيء؛ يتابع التنزيل من حيث توقف.`,"setup.fail.verify":`نُزّل {name} لكنه لم يُحمَّل. «إعادة المحاولة» تحذفه وتنزّله من جديد.`,"setup.fail.testMemory":`نُزّل {name}، لكن لم تكن في هذا الجهاز ذاكرة متاحة كافية لاختباره. أغلق بعض التطبيقات، ثم اضغط «إعادة المحاولة» لاختباره من جديد. لن يُنزَّل شيء مرة أخرى.`,"setup.fail.testStuck":`نُزّل {name}، لكن خادم النماذج لم يستجب قبل انتهاء اختباره. اضغط «إعادة المحاولة» لاختباره من جديد. لن يُنزَّل شيء مرة أخرى.`,"setup.fail.testAnswer":`حُمّل {name}، لكن اختباره لم يُرجع شيئًا صالحًا. تجد ما أرجعه في «التفاصيل». اضغط «إعادة المحاولة» لاختباره من جديد. لن يُنزَّل شيء مرة أخرى.`,"setup.fail.testWindow":`حُمّل {name} بنافذة سياق أصغر مما يحتاجه GAIA. اضغط «إعادة المحاولة» لاختباره من جديد. لن يُنزَّل شيء مرة أخرى.`,"setup.fail.pathTooLong":`تعذّر على Windows حفظ {name}: مسار مجلد النماذج طويل جدًا. فعّل المسارات الطويلة في Windows، أو استخدم مجلد نماذج بمسار أقصر، ثم اضغط إعادة المحاولة.`,"setup.fail.lemonade":`تعذّر على GAIA تنزيل {name}. التفاصيل تذكر السبب.`,"setup.eta.sec":`نحو {n} ث`,"setup.eta.min":`نحو {n} د`,"setup.eta.long":`أكثر من ساعتين`,"setup.eta.secSpoken":`يتبقى نحو {n} ثانية`,"setup.eta.minSpoken":`يتبقى نحو {n} دقيقة`,"setup.ready.answersLocal":`يجيب {model} على هذا الجهاز.`,"setup.ready.answersCloud":`يجيب {model} في السحابة.`,"setup.ready.start":`ابدأ المحادثة`,"setup.ready.chat":`المحادثة`,"setup.ready.vision":`قراءة الصور`,"setup.ready.visionOff":`متوقفة. أضف {name} من الإعدادات لقراءة الصور.`,"setup.ready.documents":`المستندات والذاكرة`,"setup.ready.notInstalled":`غير مثبّت (أضفه لاحقًا من الإعدادات)`,"setup.ready.gpu":`ذاكرة GPU`,"setup.ready.gpuNow":`أصبحت ذاكرة GPU الآن {gb}.`,"setup.ready.gpuChanged":`تغيّرت ذاكرة GPU.`,"engine.title":`تجهيز GAIA`,"engine.lede":`يحدث هذا مرة واحدة بعد التثبيت أو التحديث، وقد يستغرق بضع دقائق.`,"engine.stage.preChecks":`فحص جهازك`,"engine.stage.ensureUv":`تجهيز أداة التثبيت`,"engine.stage.createVenv":`تجهيز مساحة عمل GAIA`,"engine.stage.installPackage":`تثبيت GAIA`,"engine.stage.verify":`إنهاء التثبيت`,"engine.stage.agentRefresh":`تحديث وكيل GAIA`,"engine.stage.start":`بدء تشغيل GAIA`,"engine.stage.neutral":`إعداد GAIA`,"engine.failed.title":`تعذّر إكمال تثبيت GAIA`,"engine.continueWithout":`المتابعة بالوكيل الحالي`,"engine.failed.agentTitle":`تعذّر تحديث وكيل GAIA`,"engine.hint.disk":`أخلِ بعض المساحة على القرص، ثم أعد المحاولة.`,"engine.hint.network":`تحقق من اتصالك بالإنترنت، ثم أعد المحاولة.`,"engine.hint.tls":`لا تثق شبكتك بشهادة خادم التنزيل، وهذا يعني عادةً وجود خادم وكيل تابع للشركة. اطلب من فريق تقنية المعلومات اعتمادها، ثم أعد المحاولة.`,"engine.hint.locked":`لا يزال برنامج آخر يفتح ملفات GAIA. أغلق تطبيقات GAIA والطرفيات الأخرى، أو أعد تشغيل الكمبيوتر، ثم أعد المحاولة.`,"engine.hint.daemon":`لا تزال خدمة GAIA الخلفية قيد التشغيل، وليست لها نافذة لإغلاقها. أعد تشغيل الكمبيوتر، ثم أعد المحاولة.`,"engine.locked.gaia":`نسخة أخرى من GAIA ({name}، شُغّلت من {folder}) تفتح ملفات GAIA.`,"engine.locked.gaiaNoFolder":`نسخة أخرى من GAIA ({name}) تفتح ملفات GAIA.`,"engine.locked.other":`برنامج آخر ({name}، في {folder}) يفتح ملفات GAIA.`,"engine.locked.otherNoFolder":`برنامج آخر ({name}) يفتح ملفات GAIA.`,"engine.locked.closeThen":`أغلقه، ثم أعد المحاولة.`,"engine.locked.closeThenMany":`أغلقها، ثم أعد المحاولة.`,"engine.locked.close":`أغلقه وتابِع`,"engine.locked.closeMany":`أغلقها وتابِع`,"engine.hint.agent":`تحقق من اتصالك بالإنترنت، ثم أعد المحاولة. محادثاتك ونماذجك في أمان.`,"engine.hint.other":`أعد المحاولة. إذا استمر الفشل، فستجد السجل في التفاصيل.`,"engine.tryAgain":`إعادة المحاولة`,"engine.details":`التفاصيل`,"engine.openLog":`فتح ملف السجل`,"gpu.title":`امنح GPU ذاكرة أكبر`,"gpu.settingsTitle":`ذاكرة GPU`,"gpu.body":`يتشارك هذا الجهاز {total} بين المعالج (CPU) والرسومات (GPU). لدى الـGPU الآن {gpu}. تعمل نماذج الذكاء الاصطناعي على الـGPU، لذا فالمزيد هنا يعني نماذج أكبر.`,"gpu.split.aria":`تقسيم الذاكرة: المعالج {cpu}، GPU {gpu}`,"gpu.split.gpu":`GPU {gb}`,"gpu.split.added":`إضافة {gb}`,"gpu.split.ariaTarget":`تقسيم الذاكرة بعد التغيير: المعالج {cpu}، GPU {gpu} (الآن {now})`,"gpu.split.cpu":`المعالج {gb}`,"gpu.presets.label":`ذاكرة GPU`,"gpu.presets.gpu":`GPU {gb}`,"gpu.presets.recommended":`مُوصى به`,"gpu.presets.max":`الحد الأقصى`,"gpu.maxWarn":`يترك الحد الأقصى {cpu} لنظام {os} وتطبيقاتك. قد تبطؤ التطبيقات الكبيرة وعلامات تبويب المتصفح الكثيرة أو تنفد ذاكرتها.`,"gpu.keepRecommended":`المُوصى به: إبقاء التقسيم الحالي. {model} يعمل عليه بالفعل، لذا فزيادة ذاكرة GPU اختيارية.`,"gpu.unlock.one":`مع {gb} لـ GPU، يصبح {a} مناسبًا.`,"gpu.unlock.two":`مع {gb} لـ GPU، يصبح {a} و{b} مناسبين.`,"gpu.unlock.none":`مع {gb} لـ GPU، تُحمَّل النماذج الأكبر أسرع وتتسع لمحادثات أطول.`,"gpu.reserve":`يحتفظ GAIA بما لا يقل عن {gb} لنظام {os} وتطبيقاتك.`,"gpu.needs":`تغييره يحتاج إلى إذن المسؤول وإعادة التشغيل.`,"gpu.noPresets":`لا يستطيع هذا الجهاز منح GPU ذاكرة أكبر مع إبقاء ما يكفي للنظام.`,"gpu.apply":`تطبيق`,"gpu.showMe":`أرني كيف`,"gpu.skip":`التخطي الآن`,"gpu.undo":`تراجع`,"gpu.ok":`حسنًا`,"gpu.tryAgain":`إعادة المحاولة`,"gpu.keep":`الإبقاء على {gb}`,"gpu.waiting":`في انتظار الإذن…`,"gpu.applied":`تم. أعد تشغيل جهازك لاستخدام {gb}.`,"gpu.appliedAny":`تم. أعد تشغيل جهازك لاستخدام ذاكرة GPU الجديدة.`,"gpu.denied":`لم يُمنح الإذن، لذا لم يتغير شيء.`,"gpu.consent.title":`منح GPU {gb}؟`,"gpu.consent.titleAny":`منح GPU ذاكرة أكبر؟`,"gpu.consent.body":`سيغيّر GAIA الإعداد {name} فيصبح لدى GPU {gb}. يحتاج هذا إلى إذن المسؤول وإعادة التشغيل. لا يتغير شيء آخر، ويمكنك التراجع عنه من الإعدادات.`,"gpu.consent.bodyAny":`سيغيّر GAIA الإعداد {name} فيصبح لدى GPU ذاكرة أكبر. يحتاج هذا إلى إذن المسؤول وإعادة التشغيل. لا يتغير شيء آخر، ويمكنك التراجع عنه من الإعدادات.`,"gpu.consent.saved":`لدى GPU الآن {gb}. يحفظ GAIA هذا الإعداد لتتمكن من التراجع.`,"gpu.revert.title":`التراجع عن تغيير ذاكرة GPU؟`,"gpu.revert.body":`سيعيد GAIA ذاكرة GPU إلى ما كانت عليه قبل أن يغيّرها. يحتاج هذا إلى إذن المسؤول وإعادة التشغيل.`,"gpu.pending.restart":`أعد تشغيل جهازك لاستخدام {gb}.`,"gpu.pending.restartAny":`أعد تشغيل جهازك لاستخدام ذاكرة GPU الجديدة.`,"gpu.pending.restartHow":`لا يعيد GAIA تشغيله بنفسه أبدًا؛ احفظ عملك أولًا.`,"gpu.pending.downloadsFirst":`يمكن أن تبدأ التنزيلات الآن؛ أعد التشغيل عند انتهائها.`,"gpu.pending.tookEffect":`أصبحت ذاكرة GPU الآن {gb}.`,"gpu.pending.notApplied":`ما زال الجهاز يُبلغ عن {gb}. ربما لم يُطبَّق التغيير. أعد المحاولة، أو اتبع الخطوات لضبطه بنفسك.`,"gpu.guided.lede":`لمنح GPU {gb}:`,"gpu.guided.loading":`جارٍ جلب الخطوات لهذا الجهاز…`,"gpu.guided.done":`فعلت ذلك`,"gpu.guided.back":`رجوع`,"gpu.copy":`نسخ`,"gpu.copied":`تم النسخ`,"gpu.copyAria":`نسخ {what}`,"gpu.copyFailed":`تعذّر النسخ: {reason}. حدّد النص وانسخه بدلًا من ذلك.`,"settings.models.title":`النماذج على هذا الجهاز`,"settings.models.warn.kept":`يبقى {name} على هذا الجهاز. إلغاء تحديده يمنع الإعداد فقط من تنزيله مجددًا؛ «إزالة» تحذفه.`,"settings.models.warn.vision":`من دون {name}، لا يستطيع GAIA قراءة الصور أو لقطات الشاشة. حدّده لتنزيله.`,"settings.models.warn.documents":`من دون {name}، لا يستطيع GAIA البحث في ملفاتك أو تذكّر الأشياء. حدّده لتنزيله.`,"settings.models.lede":`حدّد ما تريده على هذا الجهاز. تُنزَّل النماذج المحددة الناقصة عند التطبيق؛ وإلغاء التحديد لا يحذف أي نموذج.`,"settings.models.apply":`تطبيق التغييرات`,"settings.models.applyDownload":`تطبيق: تنزيل {size}`,"settings.models.applying":`جارٍ الحفظ…`,"settings.models.applied":`تم الحفظ.`,"settings.models.remove":`إزالة`,"settings.models.removeAria":`إزالة {name}`,"settings.models.removeTitle":`إزالة {name}؟`,"settings.models.removeBody":`يحرّر هذا {size}. يمكنك تنزيله مرة أخرى.`,"settings.models.removeVision":`يحرّر هذا {size} ويوقف قراءة الصور. يمكنك تنزيله مرة أخرى.`,"settings.models.removeConfirm":`إزالة`,"settings.models.keep":`الإبقاء عليه`,"settings.models.removed":`أُزيل {name}؛ تحررت {size}.`,"settings.models.unavailable":`خادم النماذج المحلي لا يستجيب، لذا لا يستطيع GAIA عرض النماذج على هذا الجهاز بعد.`,"settings.models.downloads":`التنزيلات`,"settings.memory.lede":`يتذكر GAIA الحقائق والتفضيلات والمحادثات السابقة عبر المحادثات، على هذا الجهاز فقط. لا تُحفظ المحادثات الخاصة (أيقونة العين في المحادثة) أبدًا.`,"settings.memory.remember":`التذكر عبر المحادثات`,"settings.memory.dashboard":`فتح لوحة الذاكرة`,"settings.memory.dashboardHint":`ابحث فيما يتذكره GAIA وعدّله وانسه.`,"settings.privacy.whereTitle":`مكان بياناتك`,"settings.privacy.stays":`تبقى المحادثات والمستندات والذاكرة على هذا الجهاز.`,"settings.privacy.remote":`تأتي الإجابات الآن من {name}، لذا تُرسل إليه كل رسالة وسجل المحادثة.`,"settings.privacy.local":`تُنشأ الإجابات الآن على هذا الجهاز أيضًا.`,"settings.privacy.unknown":`لا يستطيع GAIA الآن معرفة ما إذا كانت الإجابات تُنشأ على هذا الجهاز أو لدى مزوّد سحابي.`,"settings.privacy.dataFolder":`مجلد البيانات`,"settings.privacy.undo":`سجل التراجع`,"settings.privacy.deleteTitle":`حذف المحادثات`,"settings.privacy.deleteWarning":`يحذف كل محادثة ورسائلها ويزيلها من الذاكرة. تبقى المستندات، ويبقى ما تعلّمه GAIA عنك في «About you».`,"settings.privacy.delete":`حذف كل المحادثات`,"settings.privacy.nothingToDelete":`لا توجد محادثات لحذفها بعد.`,"settings.privacy.deleteConfirm":`انقر مرة أخرى لحذف كل المحادثات`,"settings.privacy.deleted":`حُذفت كل المحادثات.`,"settings.privacy.deleteFailed":`تعذّر حذف المحادثات: {n}. السبب: {reason}`,"settings.permissions.lede":`يسألك GAIA قبل تغيير الملفات أو تشغيل الأوامر أو استخدام أدوات تعمل نيابة عنك.`,"settings.permissions.perChat":`اختر وضعًا لكل محادثة من الدرع بجوار مربع الرسالة. يشمل «السماح دائمًا» إجراءً واحدًا محددًا في محادثة واحدة وينتهي عند إعادة تشغيل GAIA.`,"settings.permissions.newChats":`المحادثات الجديدة`,"settings.permissions.fullAccess":`بدء المحادثات الجديدة بوصول كامل`,"settings.permissions.on":`مفعّل. تشغّل كل محادثة جديدة الأوامر وتغيّر الملفات دون سؤال. تحتفظ المحادثات المفتوحة بوضعها.`,"settings.permissions.off":`غير مفعّل. تسأل المحادثات الجديدة قبل تغيير الملفات أو تشغيل الأوامر. تحتفظ المحادثات المفتوحة بوضعها.`,"settings.permissions.warning":`يتيح الوصول الكامل لـ GAIA تغيير الملفات أو حذفها وتشغيل الأوامر على هذا الجهاز دون سؤالك أولًا، في كل محادثة جديدة، حتى توقفه. قد يُحدث خطأ أو تعليمات ضارة في مستند يقرأه ضررًا حقيقيًا. هذا هو الإعداد نفسه لأمر /full-access always في TUI.`,"settings.permissions.turnOn":`تفعيل الوصول الكامل للمحادثات الجديدة`,"settings.permissions.turnOff":`إيقاف الوصول الكامل`,"settings.permissions.none":`لا توجد محادثة بوصول كامل أو بإجراء مسموح دون سؤال.`,"settings.permissions.chats":`محادثات بوصول إضافي`,"settings.permissions.revoke":`إلغاء`,"settings.permissions.revokeAria":`إلغاء {name}`,"settings.permissions.revokeAll":`إلغاء الكل في هذه المحادثة`,"settings.alerts.lede":`عندما تحتاج إليك محادثة لا تنظر إليها أو تنتهي. يُحتسب الإشعار المنبثق في الشارة أيضًا.`,"settings.alerts.when":`التنبيهات`,"settings.alerts.approval":`تحتاج إلى موافقتك`,"settings.alerts.question":`لديها سؤال`,"settings.alerts.finished":`انتهت`,"settings.alerts.banner":`إشعار`,"settings.alerts.badge":`شارة`,"settings.alerts.off":`إيقاف`,"settings.alerts.allow":`السماح بالإشعارات في هذا المتصفح`,"settings.alerts.unsupported":`لا يستطيع هذا المتصفح عرض الإشعارات؛ تظهر التنبيهات في قائمة المحادثات فقط.`,"settings.alerts.blocked":`يحظر هذا المتصفح إشعارات GAIA. اسمح بالإشعارات لهذا الموقع من إعدادات الموقع في المتصفح.`,"settings.alerts.sound":`تشغيل صوت`,"settings.alerts.flash":`وميض شريط المهام عندما لا يكون GAIA في المقدمة`,"settings.alerts.keepAwakeTitle":`إبقاء الجهاز مستيقظًا`,"settings.alerts.keepAwake":`إبقاء الجهاز مستيقظًا أثناء عمل GAIA`,"settings.alerts.battery":`على البطارية، اسمح بالسكون تحت`,"settings.alerts.never":`أبدًا`,"settings.alerts.screen":`يمكن للشاشة أن تنطفئ؛ يُمنع السكون فقط.`,"settings.alerts.desktopOnly":`تحتاج هذه الميزة إلى تطبيق GAIA لسطح المكتب.`,"settings.skills.lede":`تعلّم المهارات GAIA عملًا: سير عمل أو أداة سطر أوامر أو نوع مستند.`,"settings.skills.how":`يحمّل GAIA المهارة عندما يحتاجها الطلب، ويحتفظ بما يتعلمه أثناء استخدامها. توضع مهاراتك في {path}، لكل مهارة مجلد فيه ملف SKILL.md.`,"settings.skills.bundled":`مضمّنة في GAIA`,"settings.skills.bundledNote":`تأتي مع GAIA.`,"settings.skills.yours":`مهاراتك`,"settings.skills.yoursNote":`من مجلد {path}.`,"settings.skills.yoursEmpty":`لا يوجد شيء بعد. أضف مجلدًا فيه ملف SKILL.md إلى {path} وأعد فتح هذه الصفحة.`,"settings.skills.project":`من هذا المشروع`,"settings.skills.projectNote":`في مجلد {path} للمشروع الذي يعمل عليه GAIA. تُحمَّل تعليماتها؛ وتبقى الأدوات والأوامر التي تطلبها متوقفة حتى تستوردها.`,"settings.skills.import":`من Claude Code`,"settings.skills.importNote":`موجودة في مجلدات مهارات Claude Code. يقرؤها GAIA في مكانها ولا يغيّرها.`,"settings.skills.alwaysOn":`مفعّلة دائمًا`,"settings.skills.useAria":`استخدام {name} في محادثة جديدة`,"settings.skills.search":`البحث في المهارات`,"settings.skills.none":`لا توجد مهارات مثبتة.`,"settings.skills.skipped":`تم تخطيها، تعذّرت قراءتها`,"settings.advanced.status":`حالة النظام`,"settings.advanced.checking":`جارٍ فحص النظام...`,"settings.advanced.modelServer":`خادم النماذج`,"settings.advanced.running":`يعمل`,"settings.advanced.runningAt":`يعمل v{version}`,"settings.advanced.unavailable":`الحالة غير متاحة`,"settings.advanced.notRunning":`لا يعمل`,"settings.advanced.notInstalled":`غير مثبّت`,"settings.advanced.notInstalledHint":`أعدّه لتشغيل النماذج على هذا الجهاز. ما زالت مزوّدات السحابة تعمل.`,"settings.advanced.notRunningHint":`يبدأ عادة من تلقاء نفسه. تعود النماذج على هذا الجهاز للعمل عند عودته.`,"settings.advanced.queryFailed":`تعذّر الاستعلام عنه: {reason}`,"settings.advanced.noneLoaded":`لا يوجد نموذج محمّل`,"settings.advanced.loadsFirst":`لم يُحمَّل بعد — يُحمَّل مع أول رسالة.`,"settings.advanced.expected":`المتوقع: {name}`,"settings.advanced.disk":`مساحة القرص الحرة`,"settings.advanced.diskLow":`تحتاج النماذج المحلية إلى نحو {need} — المتاح {size} فقط`,"settings.advanced.notDownloaded":`النموذج غير منزَّل.`,"settings.advanced.notDownloadedHint":`{name} هو النموذج المحلي الافتراضي لـ GAIA (نحو {need}).`,"settings.advanced.downloading":`جارٍ التنزيل…`,"settings.advanced.wrongModel":`حُمّل نموذج غير صحيح.`,"settings.advanced.smallContext":`نافذة السياق صغيرة جدًا.`,"settings.advanced.loadHint":`حمّل {name} بسياق {size} رمز.`,"settings.advanced.loading":`جارٍ التحميل…`,"settings.advanced.load":`تحميل النموذج`,"settings.advanced.details":`تفاصيل أكثر`,"settings.advanced.modelSize":`حجم النموذج`,"settings.advanced.device":`الجهاز`,"settings.advanced.context":`نافذة السياق`,"settings.advanced.capabilities":`القدرات`,"settings.advanced.embedding":`نموذج التضمين`,"settings.advanced.available":`متاح`,"settings.advanced.notLoaded":`غير محمّل`,"settings.advanced.memory":`الذاكرة المتاحة`,"settings.advanced.unknown":`غير معروف`,"settings.advanced.processor":`المعالج`,"settings.advanced.corrupted":`إذا كان ملف النموذج تالفًا:`,"settings.advanced.redownload":`فرض إعادة التنزيل`,"settings.advanced.unreachable":`تعذّر الوصول إلى GAIA. تحقق من أنه ما زال يعمل.`,"settings.advanced.serverTitle":`إعدادات خادم النماذج`,"settings.advanced.serverHint":`الخادم الذي يستخدمه GAIA وعنوانه وواجهة llama.cpp الخلفية.`,"settings.advanced.customTitle":`معرّف نموذج مخصص`,"settings.advanced.customHint":`شغّل أي نموذج يعرفه الخادم المحلي بمعرّفه.`,"settings.advanced.customDesc":`اتركه فارغًا لاستخدام النموذج المختار في قسم النموذج.`,"settings.advanced.customPlaceholder":`استخدام النموذج المختار في قسم النموذج`,"settings.advanced.customAria":`تجاوز النموذج المخصص`,"settings.advanced.customSave":`حفظ النموذج المخصص`,"settings.advanced.customIds":`يقبل معرّف نموذج Lemonade (مثل Qwen3-4B-Instruct-2507-GGUF) أو معرّف HuggingFace (مثل unsloth/Qwen3-4B-GGUF).`,"settings.advanced.save":`حفظ`,"settings.advanced.saved":`تم الحفظ`,"settings.advanced.saveFailed":`تعذّر الحفظ`,"settings.advanced.dynamicTitle":`تجريبي: الأدوات الديناميكية`,"settings.advanced.dynamicDesc":`يقلّص قائمة الأدوات في كل دور إلى مجموعة مطابقة دلاليًا لتسريع أول استجابة. لا ينطبق هذا على وكيل GAIA بعد.`,"settings.advanced.dynamicEnable":`تفعيل تحميل الأدوات الديناميكي`,"settings.advanced.dynamicOn":`تفعيل الأدوات الديناميكية`,"settings.advanced.dynamicOff":`إيقاف الأدوات الديناميكية`,"settings.advanced.dynamicLocked":`يتحكم فيه GAIA_DYNAMIC_TOOLS — أزل متغير البيئة هذا لتغييره هنا.`,"settings.advanced.mcp":`خوادم MCP`,"settings.advanced.tools.one":`الأدوات: {n}`,"settings.advanced.tools.other":`الأدوات: {n}`,"settings.advanced.about":`محادثة ذكاء اصطناعي تضع الخصوصية أولًا لأجهزة AMD Ryzen AI.`,"settings.connectors.scope.gmailRead":`قراءة الرسائل`,"settings.connectors.scope.gmailModify":`تنظيم الرسائل (أرشفة وتصنيف وحذف)`,"settings.connectors.scope.gmailSend":`إرسال الرسائل نيابة عنك`,"settings.connectors.scope.gmailCompose":`كتابة الرسائل`,"settings.connectors.scope.calendarRead":`عرض أحداث التقويم`,"settings.connectors.scope.calendarEvents":`إنشاء أحداث التقويم والرد عليها`,"settings.connectors.scope.driveRead":`قراءة ملفات Google Drive`,"settings.connectors.scope.driveFile":`إدارة ملفات Drive التي أنشأها هذا التطبيق`,"settings.connectors.scope.sheetsRead":`قراءة جداول Google`,"settings.connectors.scope.sheets":`تعديل جداول Google`,"settings.connectors.scope.openid":`التعرف عليك`,"settings.connectors.scope.email":`رؤية عنوان بريدك الإلكتروني`,"settings.connectors.scope.profile":`رؤية معلومات ملفك الأساسية`,"settings.connectors.scope.outlookMail":`قراءة بريد Outlook وتنظيمه (أرشفة وتصنيف وحذف)`,"settings.connectors.scope.outlookSend":`إرسال بريد Outlook نيابة عنك`,"settings.connectors.scope.outlookCalendar":`إنشاء أحداث تقويم Outlook والرد عليها`,"settings.connectors.scope.outlookCalendarRead":`عرض أحداث تقويم Outlook`,"settings.connectors.scope.microsoftProfile":`قراءة ملفك الأساسي في Microsoft`,"settings.connectors.lede":`اربط الحسابات وخوادم MCP ليستخدمها GAIA نيابة عنك، واختر ما يُسمح له بفعله مع كل منها.`,"settings.connectors.search":`البحث في الموصلات`,"settings.connectors.none":`لا توجد موصلات متاحة.`,"settings.connectors.noMatch":`لا توجد موصلات مطابقة.`,"settings.connectors.connected":`متصلة`,"settings.connectors.accounts":`الحسابات`,"settings.connectors.accountsHint":`سجّل الدخول ليصل GAIA إلى بريدك وتقويمك وملفاتك.`,"settings.connectors.servers":`خوادم MCP`,"settings.connectors.serversHint":`أضف أدوات من خدمات أخرى.`,"settings.connectors.agentServers":`خوادم الوكلاء المخصصين`,"settings.connectors.notRevoked":`قُطع الاتصال محليًا، لكن المزوّد لم يؤكد الإلغاء ({reason}). قد يظل ظاهرًا كمتصل في أذونات التطبيقات بحسابك.`,"settings.connectors.localOnly":`قُطع الاتصال محليًا. {reason}`,"settings.connectors.noRevokeApi":`قُطع الاتصال محليًا. لا يوفر هذا المزوّد واجهة لإلغاء الوصول عن بُعد — أزل GAIA من صفحة التطبيقات المتصلة بحسابك لإلغائه بالكامل.`,"settings.connectors.setupRequired":`يتطلب إعدادًا`,"settings.connectors.disabled":`معطّل`,"settings.connectors.configured":`مُعدّ`,"settings.connectors.deviceFailed":`فشل تسجيل الدخول بالرمز.`,"settings.connectors.required":`مطلوب: {fields}`,"settings.connectors.firstSetup":`الإعداد الأول — أدخل بيانات عميل OAuth أدناه. تُخزَّن مشفرة في سلسلة مفاتيح النظام ويُعاد استخدامها للاتصالات القادمة.`,"settings.connectors.grantOnConnect":`امنح هؤلاء الوكلاء حق الوصول عند الاتصال:`,"settings.connectors.grantLater":`يمكنك تغيير ذلك في أي وقت من أذونات الوكلاء أدناه.`,"settings.connectors.disconnect":`قطع الاتصال`,"settings.connectors.saveConnect":`حفظ واتصال`,"settings.connectors.code":`تسجيل الدخول برمز`,"settings.connectors.codeTitle":`أدخل رمزًا قصيرًا في عنوان ويب — دون إعادة توجيه أو تسجيل تطبيق`,"settings.connectors.learnMore":`معرفة المزيد`,"settings.connectors.goTo":`أدخل هذا الرمز في`,"settings.connectors.copyCode":`نسخ الرمز`,"settings.connectors.waiting":`في انتظار تسجيل الدخول…`,"settings.connectors.savedClient":`العميل المحفوظ: {id}`,"settings.connectors.envClient":`من البيئة: {id}`,"settings.connectors.noClient":`لم يُعدّ عميل OAuth`,"settings.connectors.clientRequired":`معرّف العميل مطلوب.`,"settings.connectors.client":`عميل OAuth`,"settings.connectors.clientHelp":`استخدم عميل OAuth الخاص بك — يُحفظ مشفرًا في سلسلة مفاتيح النظام (المخزن نفسه لأمر gaia connectors configure) ويُعاد استخدامه للاتصالات القادمة. لا تُستخدم متغيرات البيئة إلا عند عدم وجود عميل محفوظ.`,"settings.connectors.saveClient":`حفظ العميل`,"settings.connectors.active":`نشط`,"settings.connectors.disableServer":`تعطيل خادم MCP هذا`,"settings.connectors.enableServer":`تفعيل خادم MCP هذا`,"settings.connectors.disabledHelp":`تبقى بيانات الاعتماد وأذونات الوكلاء محفوظة. أعد التفعيل لإتاحة أدوات هذا الخادم مجددًا.`,"settings.connectors.enterValue":`أدخل القيمة`,"settings.connectors.docs":`التوثيق`,"settings.connectors.via":`عبر {name}`,"settings.connectors.readOnly":`للقراءة فقط`,"settings.connectors.editConfig":`عدّل ملف mcp_servers.json الخاص بالوكيل لتغيير هذا الخادم.`,"settings.connectors.grants":`أذونات الوكلاء`,"settings.connectors.noGrants":`لا يحتاج أي وكيل إلى هذا الموصل.`,"settings.connectors.activeFor":`نشط لـ`,"settings.connectors.activationHelp":`يحدد التفعيل الوكلاء الذين يرون أدوات هذا الموصل. ينشئ التفعيل دون إذن سابق إذنًا تلقائيًا.`,"settings.connectors.toolsVisible":`الأدوات ظاهرة لهذا الوكيل`,"settings.connectors.toolsHidden":`الأدوات مخفية عن هذا الوكيل`,"settings.connectors.actions":`إجراءات الموصل`,"settings.connectors.disable":`تعطيل`,"settings.connectors.enable":`تفعيل`,"banner.serverStopped":`خادم النماذج لا يعمل.`,"banner.finishSetup":`أعدّ النماذج على هذا الجهاز، أو اختر نموذجًا سحابيًا من الإعدادات.`,"settings.errors.setUpLocal":`إعداد النماذج المحلية`,"settings.errors.notInstalledTitle":`لم تُعدّ النماذج على هذا الجهاز بعد`,"settings.errors.notInstalled":`يحتاج GAIA إلى خادم نماذج لتشغيل النماذج على هذا الجهاز، وسيثبّته الإعداد نيابة عنك. ما زالت مزوّدات السحابة تعمل.`,"settings.errors.serverDownTitle":`لا يستطيع GAIA الوصول إلى خادم النماذج`,"settings.errors.serverDown":`لن تتوفر النماذج على هذا الجهاز حتى يعود. يبدأ عادة من تلقاء نفسه، لذا قد يزول هذا بعد لحظة. ما زالت مزوّدات السحابة تعمل.`,"settings.errors.details":`تفاصيل تقنية`,"settings.ctx.serverDown":`يمكنك تغيير حجم السياق عند عودة خادم النماذج.`,"settings.undo.readFailed":`تعذّرت قراءة إعدادات سجل التراجع: {reason}`,"settings.undo.saved":`تم الحفظ. أُزيل سجل التراجع الأقدم الذي يتجاوز هذه الحدود.`,"settings.undo.fix":`لم يُحفظ. صحّح الحد المحدد أعلاه.`,"settings.undo.hint":`قبل أن يغيّر GAIA ملفًا يحتفظ بنسخة منه لتتمكن من التراجع. تُحذف النسخ الأقدم من الحد الزمني أو التي تتجاوز حد المساحة (الأقدم أولًا). لا يحذف حد المساحة آخر دور أبدًا.`,"settings.undo.days":`مدة الاحتفاظ (بالأيام)`,"settings.undo.daysError":`مدة الاحتفاظ: أدخل عددًا صحيحًا من الأيام من 1 إلى 365.`,"settings.undo.mb":`الحد الأقصى للمساحة (MB)`,"settings.undo.mbError":`الحد الأقصى: أدخل عددًا صحيحًا بوحدة MB من 10 إلى 100,000.`,"settings.undo.inUse":`المستخدم`,"settings.undo.used.one":`{size} للأدوار ({n}) في`,"settings.undo.used.other":`{size} للأدوار ({n}) في`,"settings.desktop.title":`تطبيق سطح المكتب`,"settings.desktop.tray":`علبة النظام`,"settings.desktop.menuBar":`شريط القوائم`,"settings.desktop.keepRunning":`مواصلة التشغيل عند إغلاق النافذة`,"settings.desktop.keepRunningHint":`يبقى GAIA في {tray} مع تحميل نموذجك. للخروج استخدم قائمة {tray}.`,"settings.desktop.startOnLogin":`تشغيل GAIA عند تسجيل الدخول`,"settings.desktop.startOnLoginHint":`تبدأ أول محادثة في يومك دون انتظار فتح GAIA.`,"settings.desktop.startMinimized":`البدء في {tray}`,"settings.desktop.startMinimizedHint":`يفتح GAIA دون نافذته. استخدم أيقونته في {tray} لإظهاره.`,"settings.desktop.readFailed":`تعذّرت قراءة إعدادات سطح المكتب: {reason}`,"settings.server.readFailed":`تعذّرت معرفة خادم النماذج الذي يستخدمه GAIA`,"settings.server.usesEnv":`يستخدم GAIA خادم Lemonade في {url}، المحدد عبر LEMONADE_BASE_URL.`,"settings.server.usesYours":`يستخدم GAIA خادم Lemonade الخاص بك في {url}.`,"settings.server.usesOwn":`يستخدم GAIA خادم Lemonade الخاص به.`,"settings.server.unsetEnv":`أزل LEMONADE_BASE_URL وأعد تشغيل GAIA لتغيير هذا هنا.`,"settings.server.useYours":`هل تشغّل Lemonade بالفعل؟ استخدمه ليبقى على هذا الجهاز خادم واحد ونسخة واحدة من كل نموذج.`,"settings.server.address":`عنوان خادم Lemonade`,"settings.server.key":`مفتاح API لـ Lemonade`,"settings.server.keySaved":`مفتاح API (اتركه فارغًا للإبقاء على المحفوظ)`,"settings.server.keyOptional":`مفتاح API إن كان مطلوبًا`,"settings.server.checking":`جارٍ الفحص…`,"settings.server.use":`استخدام هذا الخادم`,"settings.server.useOwn":`استخدام خادم GAIA`,"settings.server.needsKey":`يحتاج إلى مفتاح API`,"settings.server.notSwitched":`لم يتم التبديل`,"settings.server.ownerGaia":`خادم Lemonade الخاص بـ GAIA`,"settings.server.ownerUser":`خادم Lemonade الخاص بك`,"settings.server.ownerRemote":`Lemonade على جهاز آخر`,"settings.server.kind.speechRecognition":`نموذج التعرف على الكلام`,"settings.server.kind.embedding":`نموذج التضمين`,"settings.server.kind.image":`نموذج الصور`,"settings.server.kind.language":`النموذج اللغوي`,"settings.server.kind.reranker":`نموذج إعادة الترتيب`,"settings.server.kind.speech":`نموذج الكلام`,"settings.server.kind.vision":`نموذج الرؤية`,"settings.server.kind.threeD":`نموذج ثلاثي الأبعاد`,"settings.server.kindOther":`نموذج {kind}`,"settings.server.loadedModel":`النموذج المحمّل`,"settings.server.unknownModel":`نموذج غير معروف`,"settings.server.savedBackend":`تم الحفظ. يُطبَّق عند تحميل نموذج المحادثة في المرة القادمة.`,"settings.server.reloading":`جارٍ إعادة تحميل {name}. أعد فتح هذه اللوحة بعد لحظة لرؤية الواجهة الخلفية.`,"settings.server.changeModel":`تغيير النموذج`,"settings.server.checkingServer":`جارٍ فحص خادم النماذج…`,"settings.server.server":`الخادم`,"settings.server.addressShort":`العنوان`,"settings.server.chatModel":`نموذج المحادثة`,"settings.server.runsOn":`يعمل على`,"settings.server.backend":`واجهة llama.cpp الخلفية لنماذج المحادثة`,"settings.server.backendShort":`واجهة llama.cpp الخلفية`,"settings.server.noBackends":`Vulkan، الواجهة الخلفية للرسوميات التي اختبرها GAIA، غير متاحة من Lemonade هذا على هذا الجهاز، فلا يوجد ما يمكن اختياره.`,"settings.server.backendHint":`الواجهات الخلفية التي اختبرها GAIA على هذا الجهاز. يُطبَّق عند تحميل نموذج المحادثة في المرة القادمة، ويحتفظ نموذج التضمين بواجهته الخلفية. تعمل نماذج NPU على FastFlowLM: اختر واحدًا من تغيير النموذج.`,"settings.server.installable":`يُنزَّل {names} عند أول استخدام.`,"settings.server.reload":`إعادة تحميل نموذج المحادثة الآن`,"settings.price.unknown":`السعر غير معروف`,"settings.price.perMillion":`{input} للإدخال · {output} للإخراج لكل مليون رمز`,"settings.price.loadFailed":`تعذّر تحميل الأسعار: {reason}`,"settings.price.loading":`جارٍ تحميل الأسعار…`,"settings.price.unknownSentence":`السعر غير معروف.`,"settings.price.payProvider":`تدفع للمزوّد مقابل ما تستخدمه.`,"settings.spend.loading":`جارٍ تحميل إنفاق هذا الشهر…`,"settings.spend.aria":`الإنفاق السحابي`,"settings.spend.title":`الإنفاق السحابي هذا الشهر`,"settings.spend.ofLimit":`من حدك البالغ {limit}`,"settings.spend.turns.one":`أدوار المحادثة السحابية: {n}، بسعر القائمة`,"settings.spend.turns.other":`أدوار المحادثة السحابية: {n}، بسعر القائمة`,"settings.spend.unpriced.one":`إضافة إلى أدوار ({n}) على نماذج بسعر غير معروف، غير محتسبة أعلاه.`,"settings.spend.unpriced.other":`إضافة إلى أدوار ({n}) على نماذج بسعر غير معروف، غير محتسبة أعلاه.`,"settings.spend.unreported.one":`إضافة إلى أدوار ({n}) لم يُبلَّغ عن استخدامها، مثل إجابة أُوقفت، غير محتسبة أعلاه.`,"settings.spend.unreported.other":`إضافة إلى أدوار ({n}) لم يُبلَّغ عن استخدامها، مثل إجابات أُوقفت، غير محتسبة أعلاه.`,"settings.spend.near":`اقتربت من حدك. يتوقف GAIA قبل المحادثة السحابية عند بلوغه.`,"settings.spend.reached":`بلغت حدك، لذا توقفت المحادثات السحابية حتى الشهر القادم. ما زالت النماذج على هذا الجهاز تعمل.`,"settings.spend.allow":`السماح بالمزيد هذا الشهر`,"settings.spend.allowed":`تجاوزت حدك؛ لقد سمحت بالمزيد هذا الشهر.`,"settings.spend.limit":`الحد الشهري ($)`,"settings.spend.noLimit":`بلا حد`,"settings.spend.removeLimit":`إزالة الحد`,"settings.spend.how":`يحسب المحادثات السحابية في واجهة GAIA بسعر القائمة، دون خصومات التخزين المؤقت. فاتورة المزوّد هي المرجع النهائي. لا تُحتسب الأدوار التي تفشل أو تتوقف قبل الرد. النماذج ذات السعر غير المعروف، مثل AMD LLM Gateway، لا تضيف شيئًا إلى المجموع، لكنها تتوقف أيضًا عند بلوغ الحد.`,"settings.model.inUseTitle":`النموذج المستخدم`,"settings.model.noneInUse":`لم يُختر نموذج بعد. اختر واحدًا أدناه.`,"settings.model.cloud":`سحابي`,"settings.model.loaded":`محمّل`,"settings.model.downloaded":`تم التنزيل`,"settings.model.notDownloaded":`غير منزَّل`,"settings.model.fits":`يناسب هذا الجهاز`,"settings.model.custom":`أضفته بنفسك`,"settings.model.contextChip":`السياق {size}`,"settings.model.switch":`تبديل النموذج`,"settings.model.switchPlaceholder":`اختر نموذجًا`,"settings.model.whereRuns":`مكان تشغيل GAIA`,"settings.model.howItWorks":`كيف يعمل هذا`,"settings.model.lede":`يعمل GAIA على هذا الجهاز افتراضيًا. ولا تُستخدم مزوّدات السحابة إلا عند اختيار أحد نماذجها.`,"settings.model.devices":`يعمل كل نموذج حيث صُمّم للعمل: نماذج GGUF على GPU ونماذج FLM على NPU.`,"settings.model.memory":`الذاكرة المتاحة للنماذج: {memory}.`,"settings.model.prices":`الأسعار`,"settings.model.models":`النماذج`,"settings.model.search":`البحث في النماذج`,"settings.model.noMatch":`لا توجد نماذج مطابقة.`,"settings.model.noModels":`لا توجد نماذج بعد. أضف نموذجًا من Hugging Face أدناه، أو اختر ما تريد تنزيله.`,"settings.model.groupDownloaded":`تم تنزيلها`,"settings.model.groupAvailable":`متاحة للتنزيل`,"settings.model.groupUnavailable":`غير متاحة على هذا الجهاز`,"settings.model.showAll":`عرض كل النماذج`,"settings.model.showRecommended":`عرض النماذج الموصى بها`,"settings.model.details":`التفاصيل`,"settings.model.expected":`{label} (متوقع)`,"settings.model.sizeOnDisk":`{size} على القرص`,"settings.model.sizeDownload":`تنزيل {size}`,"settings.model.speed":`{speed} مقيسة هنا`,"settings.model.contextTokens":`السياق {size} رمزًا`,"settings.model.cantRun":`لا يمكن تشغيله هنا: {reason}`,"settings.model.measured":`القياس: {evidence}`,"settings.model.from":`من {url}`,"settings.model.inUse":`قيد الاستخدام`,"settings.model.use":`استخدام`,"settings.model.useAria":`استخدام {name}`,"settings.model.download":`تنزيل`,"settings.model.downloadAria":`تنزيل {name}`,"settings.model.downloadingAria":`جارٍ تنزيل {name}`,"settings.model.removeDownload":`إزالة وحذف التنزيل`,"settings.model.switched":`تستخدم الرسائل الجديدة {name}، ويبقى هذا الاختيار بعد إعادة التشغيل.`,"settings.model.removed":`أُزيل {name} وتنزيله.`,"settings.model.removedLast":`أُزيل {name} وتنزيله. تستخدم الرسائل الجديدة نموذجك الافتراضي.`,"settings.model.removedDefault":`أُزيل {name} وتنزيله. كان نموذجك الافتراضي، لذا يحل محله النموذج الافتراضي لـ GAIA.`,"settings.model.added":`أُضيف {name}. اختر «تنزيل» لجلبه، ثم «استخدام».`,"settings.ctx.label":`حجم السياق`,"settings.ctx.automatic":`تلقائي`,"settings.ctx.automaticAt":`تلقائي ({size})`,"settings.ctx.tokens":`{size} رمز`,"settings.ctx.automaticSize":`الحجم التلقائي`,"settings.ctx.about":`عن حجم السياق`,"settings.ctx.explain":`حتى {size}، وهو أقصى ما يتسع له {name} على هذا الجهاز ({memory}). تستهلك النافذة الأكبر ذاكرة أكثر. يعيد GAIA تحميل النموذج لتطبيقها، إلا على Lemonade تشغّله بنفسك.`,"settings.ctx.loadedAt":`محمّل الآن بحجم {size}.`,"settings.ctx.checking":`جارٍ فحص أحجام السياق…`,"settings.ctx.applying":`جارٍ التطبيق…`,"settings.ctx.reloading":`جارٍ إعادة تحميل {name} بحجم {size}. تتوقف المحادثة مؤقتًا حتى يعود.`,"settings.ctx.alreadyLoaded":`تم الحفظ. {name} محمّل بالفعل بحجم {size}، فلا حاجة لإعادة التحميل.`,"settings.ctx.warmUp":`تم الحفظ. يجهّز GAIA النموذج لمحادثة جديدة، لذا ينتقل {name} إلى {size} عند تحميله في المرة القادمة.`,"settings.ctx.busy":`تم الحفظ. يجيب GAIA الآن، لذا ينتقل {name} إلى {size} عند تحميله في المرة القادمة.`,"settings.ctx.ownServer":`تم الحفظ. لا يعيد GAIA تحميل النماذج على خادمك الخاص؛ سيستخدم {name} الحجم {size} عند تحميله في المرة القادمة.`,"settings.ctx.restarting":`تم الحفظ. تجري إعادة تحميل بالفعل؛ يُطبَّق هذا الحجم عند تحميل النموذج في المرة القادمة.`,"settings.ctx.nextLoad":`تم الحفظ. يُطبَّق عند تحميل هذا النموذج في المرة القادمة.`,"settings.custom.title":`إضافة نموذج من Hugging Face`,"settings.custom.hint":`الصق رابط نموذج GGUF أو FastFlowLM (NPU). يتحقق GAIA قبل إضافته من أنه نموذج محادثة يستطيع خادم النماذج تشغيله ومن أنه يناسب هذا الجهاز. يبدأ التنزيل عند اختيار «تنزيل».`,"settings.custom.check":`فحص`,"settings.custom.checks":`الفحوص`,"settings.custom.passed":`نجح`,"settings.custom.failed":`فشل`,"settings.custom.allPassed":`نجحت كل الفحوص: {n}`,"settings.custom.warnings":`التحذيرات`,"settings.custom.warning":`تحذير`,"settings.custom.quantization":`التكميم`,"settings.custom.tooLarge":`أكبر من قدرة هذا الجهاز`,"settings.custom.add":`إضافة {name}`,"settings.custom.theModel":`النموذج`,"settings.models.manage":`إدارة التنزيلات ومساحة القرص`,"settings.models.manageHint":`اختر ما يبقى على هذا الجهاز، وأزل التنزيلات، وعيّن نموذج المحادثة الافتراضي.`,"settings.key.title":`مفتاح API`,"settings.key.connected":`متصل`,"settings.key.notConnected":`غير متصل`,"settings.key.connectedDot":`متصل`,"settings.key.none":`لا يوجد مفتاح بعد.`,"settings.key.waitingOs":`في انتظار سماح نظام التشغيل بقراءة المفتاح المحفوظ.`,"settings.key.setIn":`مضبوط في {name}`,"settings.key.savedAria":`مفتاح API المحفوظ لـ {name}`,"settings.key.fieldAria":`مفتاح API لـ {name}`,"settings.key.gatewayUrl":`عنوان البوابة`,"settings.key.gatewayPlaceholder":`عنوان البوابة (الافتراضي https://llm-api.amd.com/Unified/v1)`,"settings.key.headerName":`اسم ترويسة المصادقة`,"settings.key.headerPlaceholder":`ترويسة المصادقة (الافتراضية Ocp-Apim-Subscription-Key)`,"settings.key.reconnect":`إعادة الاتصال`,"settings.key.removeAsk":`إزالة هذا المفتاح؟`,"settings.key.remove":`إزالة المفتاح`,"settings.key.replace":`استبدال`,"settings.key.paste":`الصق مفتاح API`,"settings.key.pasteNew":`الصق مفتاحك الجديد`,"settings.key.save":`حفظ المفتاح`,"settings.key.connect":`اتصال`,"settings.key.cancel":`إلغاء`,"settings.key.checkAgain":`تحقق مرة أخرى`,"settings.key.sessionOnly":`متصل لهذه الجلسة فقط — تعذّر الاحتفاظ بالمفتاح: {reason}`,"settings.key.knownModels":`لا يستطيع {name} عرض نماذجه الآن. مفتاحك ما زال يعمل، لذا اتصل GAIA باستخدام النماذج التي يعرفها.`,"settings.key.knownList":`لا يستطيع {name} عرض نماذجه الآن، لذا يعرض GAIA النماذج التي يعرفها. مفتاحك ما زال يعمل، لكن هذه القائمة قد تكون قديمة.`,"settings.key.kept":`تم الاتصال. سيُحتفظ بالمفتاح للمرة القادمة.`,"settings.key.connectedDone":`تم الاتصال.`,"settings.key.cleared":`مُسح المفتاح هنا وللجلسات القادمة. يبقى مفتاح البيئة فعّالًا إن كان مضبوطًا.`,"download.chip":`جارٍ التنزيل {done} من {count} · {pct}%`,"download.chipFailed":`فشل أحد التنزيلات`,"download.chipAria":`تنزيلات النماذج. افتح الإعدادات لعرضها.`,"update.chip.installFailed":`لم يُثبَّت التحديث`,"update.chip.installFailedRetry":`لم يُثبَّت التحديث. حاول مرة أخرى`,"update.chip.installFailedDetail":`لم يُثبَّت GAIA {target}، لذا ما زلت تستخدم {from}.`,"update.chip.dismiss":`إغلاق إشعار التحديث`,"update.chip.dismissError":`إغلاق خطأ التحديث`,"update.chip.downloading":`جارٍ تنزيل التحديث… {pct}%`,"update.chip.preparing":`جارٍ تجهيز التحديث…`,"update.chip.downloadingTitle":`جارٍ تنزيل التحديث {version}…`,"update.chip.availableTitle":`يتوفر إصدار جديد.`,"update.chip.updateFailed":`فشل التحديث. حاول مرة أخرى`,"update.chip.available":`GAIA {version} متوفر`,"update.chip.updateNow":`حدّث الآن`,"update.chip.restartTitle":`انقر لإعادة التشغيل وتطبيق التحديث`,"update.chip.restartFailed":`فشلت إعادة التشغيل. حاول مرة أخرى`,"update.chip.ready":`التحديث جاهز. أعد التشغيل لتطبيقه`,"update.chip.checkFailed":`فشل التحقق من التحديثات`,"update.chip.startFailed":`لم يبدأ GAIA بشكل صحيح بعد التحديث`,"update.chip.goBack":`الرجوع إلى {version}`,"update.status.checking":`جارٍ التحقق من التحديثات…`,"update.status.available":`GAIA {version} متوفر.`,"update.status.downloading":`جارٍ تنزيل GAIA {version}… {pct}%`,"update.status.preparing":`جارٍ تجهيز GAIA {version} للتثبيت…`,"update.status.downloaded":`GAIA {version} جاهز. أعد التشغيل لإكمال التثبيت.`,"update.status.error":`فشل التحقق من التحديثات: {reason}`,"update.status.unknownError":`خطأ غير معروف`,"update.status.noChannel":`لا يوجد بعد إصدار من GAIA ينشر تحديثًا لسطح المكتب على هذا النظام.`,"update.status.disabled":`التحديثات متوقفة في هذا التثبيت (GAIA_DISABLE_UPDATE=1).`,"update.status.upToDate":`GAIA محدّث.`,"update.settings.title":`التحديثات`,"update.settings.running":`الإصدار قيد التشغيل: GAIA {version}.`,"update.settings.unknownVersion":`غير معروف`,"update.settings.auto":`تثبيت التحديثات تلقائيًا`,"update.settings.autoHint":`معطّل افتراضيًا لأن GAIA يتغير بسرعة، فأنت تختار وقت التحديث. تتبع واجهة الطرفية الإعداد نفسه.`,"update.settings.rc":`تضمين الإصدارات المرشحة`,"update.settings.rcHint":`اعرض أيضًا الإصدارات التجريبية (vX.Y.Z-rcN) قبل أن تصبح إصدارًا نهائيًا. معطّل افتراضيًا.`,"update.settings.rcHintRunning":`هذا إصدار مرشح، لذا تُعرض الأحدث منه في كل الأحوال.`,"update.settings.pinned":`مثبّت على {version}، لذا التحديثات متوقفة مؤقتًا.`,"update.settings.unpin":`إلغاء التثبيت على هذا الإصدار`,"update.settings.updateTo":`التحديث إلى {version}`,"update.settings.restart":`إعادة التشغيل للتثبيت`,"update.settings.check":`التحقق من التحديثات`,"update.settings.pick":`تثبيت إصدار محدد…`,"update.settings.goBack":`الرجوع إلى GAIA {version}`,"update.settings.goBackHint":`إذا سبّب هذا التحديث مشكلات، فارجع إلى الإصدار السابق. تتوقف التحديثات مؤقتًا حتى تلغي تثبيته.`,"update.settings.installFailed":`لم يُثبَّت GAIA {target}، لذا ما زلت تستخدم {from}. حاول مرة أخرى وستعرض نافذة المثبّت ما يحدث، أو نزّله من {url}.`,"update.settings.lastCheckError":`لم يكتمل آخر تحقق تلقائي: {reason}`,"update.settings.failed":`فشل {action}: {reason}`,"update.action.saveAuto":`حفظ إعداد التحديث التلقائي`,"update.action.saveRc":`حفظ إعداد الإصدارات المرشحة`,"update.action.resume":`استئناف التحديثات`,"update.action.download":`تنزيل التحديث`,"update.action.restart":`إعادة التشغيل للتثبيت`,"update.action.check":`التحقق من التحديثات`,"update.action.goBack":`الرجوع إلى الإصدار السابق`,"update.picker.title":`تثبيت إصدار محدد`,"update.picker.close":`إغلاق`,"update.picker.loading":`جارٍ تحميل الإصدارات…`,"update.picker.browse":`تصفح الإصدارات على GitHub`,"update.picker.browseAll":`تصفح كل الإصدارات على GitHub`,"update.picker.listAria":`الإصدارات المتاحة`,"update.picker.installed":`مثبّت`,"update.picker.pinned":`مثبّت عليه`,"update.picker.rowInstalled":`{version}، مثبّت`,"update.picker.rowPinned":`{version}، مثبّت عليه`,"update.picker.recent":`عرض أحدث {n}.`,"update.picker.confirm":`سيؤدي هذا إلى تثبيت v{version} وإعادة تشغيل التطبيق.`,"update.picker.confirmNote":`سيبقى GAIA على v{version}: تتوقف التحديثات مؤقتًا حتى تلغي تثبيته من الإعدادات ← التحديثات.`,"update.picker.back":`رجوع`,"update.picker.install":`تثبيت وإعادة تشغيل`,"update.picker.starting":`جارٍ بدء التنزيل…`,"update.picker.noBridge":`الاتصال غير متاح. أعد تشغيل التطبيق.`,"update.picker.failed":`تعذّر تثبيت ذلك الإصدار: {reason}`,"update.err.diskSpace":`يحتاج GAIA إلى نحو {need} من المساحة الحرة لتثبيت هذا التحديث، وفي هذا القرص {free} فقط. حرّر بعض المساحة، ثم أعد التشغيل من شارة التحديث.`,"update.err.offline":`يحتاج GAIA إلى الإنترنت لإكمال هذا التحديث. اتصل بالإنترنت، ثم أعد التشغيل من شارة التحديث.`,"update.err.checkBusy":`يجري التحقق من التحديثات الآن. حاول مرة أخرى بعد قليل.`,"update.err.configBusy":`يحفظ تطبيق GAIA آخر إعدادات التحديث الآن. حاول مرة أخرى بعد قليل.`,"update.err.saveFailed":`تعذّر على GAIA حفظ الإعداد في {path}: {reason}`,"update.err.pinFailed":`تعذّر على GAIA حفظ اختيار الإصدار في {path}، لذا لم يُثبَّت شيء: {reason}`,"update.err.noInstaller":`لا يتوفر مثبّت لـ GAIA {tag} لهذا الجهاز. نزّله من {url} بدلًا من ذلك.`,"update.err.noEarlier":`لا يوجد إصدار أقدم من GAIA للرجوع إليه على هذا الجهاز. اختر واحدًا من «تثبيت إصدار محدد»، أو نزّله من {url}.`,"update.err.downloadFailed":`فشل تنزيل GAIA {version}: {reason}`,"update.err.failedWith":`{reason}`,"update.err.notPaused":`التحديثات غير متوقفة.`,"update.err.stillPinned":`ما زال مثبّتًا على {tag}.`,"update.err.pinStuck":`ما زال GAIA مثبّتًا على {tag} لأن {path} تعذّر تغييره ({reason}). أصلح ذلك الملف، ثم اختر «إلغاء التثبيت على هذا الإصدار».`,"update.err.withNote":`{error} {note}`,"mobile.ngrokRequired":`ngrok مطلوب`,"mobile.setupTitle":`إعداد ngrok (مرة واحدة)`,"mobile.setupIntro":`يستخدم الوصول من الهاتف ngrok للوصول إلى هذا الجهاز من هاتفك.`,"mobile.setupInstall":`ثبّته بالأمر أدناه، ثم اضغط «إعادة المحاولة».`,"mobile.setupDownload":`نزّله لنظامك، ثم اضغط «إعادة المحاولة».`,"mobile.installCommand":`أمر تثبيت ngrok`,"mobile.copyCommand":`نسخ الأمر`,"mobile.copy":`نسخ`,"mobile.copied":`تم النسخ`,"mobile.downloadPage":`صفحة تنزيل ngrok`,"mobile.retry":`إعادة المحاولة`,"schedules.title":`المهام المجدولة`,"schedules.close":`إغلاق المهام المجدولة`,"schedules.new":`مهمة مجدولة جديدة`,"schedules.when":`موعد التشغيل`,"schedules.whenPlaceholder":`اكتب الموعد بالإنجليزية…
|
|
2
|
-
أمثلة: "every 30m"، "daily at 9pm"، "every hour from 8am to 6pm on weekdays"`,"schedules.parsing":`جارٍ قراءة الموعد…`,"schedules.notUnderstood":`لم يفهم GAIA هذا الموعد.`,"schedules.nextRun":`التشغيل التالي: {when}`,"schedules.name":`الاسم`,"schedules.namePlaceholder":`اسم المهمة (مثل daily-summary)`,"schedules.prompt":`الطلب`,"schedules.promptPlaceholder":`الطلب الذي يُنفَّذ في كل تشغيل…`,"schedules.cancel":`إلغاء`,"schedules.create":`إنشاء المهمة`,"schedules.creating":`جارٍ الإنشاء…`,"schedules.createFailed":`تعذّر إنشاء المهمة المجدولة`,"schedules.list":`المهام الحالية`,"schedules.dismissError":`إغلاق رسالة الخطأ`,"schedules.loading":`جارٍ تحميل المهام المجدولة…`,"schedules.loadFailed":`تعذّر تحميل المهام المجدولة`,"schedules.empty":`لا توجد مهام مجدولة بعد. أنشئ مهمة للبدء.`,"schedules.status.active":`نشطة`,"schedules.status.paused":`متوقفة مؤقتًا`,"schedules.status.cancelled":`ملغاة`,"schedules.card.runs":`مرات التشغيل: {n}`,"schedules.card.errors":`الأخطاء: {n}`,"schedules.card.last":`آخر تشغيل: {when}`,"schedules.card.next":`التشغيل التالي: {when}`,"schedules.card.lastFailed":`فشل آخر تشغيل: {error}`,"schedules.card.openChat":`فتح المحادثة`,"schedules.card.openChatTitle":`فتح محادثة هذه المهمة`,"schedules.card.runNow":`تشغيل الآن`,"schedules.card.runNowTitle":`شغّلها مرة واحدة الآن لتجربتها. يبقى موعد تشغيلها التالي كما هو.`,"schedules.card.running":`قيد التشغيل…`,"schedules.card.pause":`إيقاف مؤقت`,"schedules.card.resume":`استئناف`,"schedules.card.delete":`حذف`,"schedules.card.confirmDelete":`تأكيد الحذف؟`,"schedules.history":`سجل التشغيل`,"schedules.historyLoading":`جارٍ التحميل…`,"schedules.historyEmpty":`لم تُشغَّل بعد`,"schedules.noOutput":`(بلا مخرجات)`,"schedules.time.never":`لا يوجد`,"schedules.time.inSeconds":`بعد {n} ث`,"schedules.time.inMinutes":`بعد {n} د`,"schedules.time.inHours":`بعد {n} س`,"schedules.time.inDays":`بعد {n} ي`,"schedules.time.clockIn":`{clock} ({relative})`,"schedules.hours":`من {start} إلى {end}`,"schedules.days.weekdays":`من الاثنين إلى الجمعة`,"schedules.days.weekends":`السبت والأحد`,"schedules.days.every":`كل يوم`,"schedules.days.join":`، `,"schedules.day.0":`الاثنين`,"schedules.day.1":`الثلاثاء`,"schedules.day.2":`الأربعاء`,"schedules.day.3":`الخميس`,"schedules.day.4":`الجمعة`,"schedules.day.5":`السبت`,"schedules.day.6":`الأحد`,"schedules.span.second.one":`ثانية`,"schedules.span.second.two":`ثانيتين`,"schedules.span.second.few":`{n} ثوانٍ`,"schedules.span.second.many":`{n} ثانية`,"schedules.span.second.other":`{n} ثانية`,"schedules.span.minute.one":`دقيقة`,"schedules.span.minute.two":`دقيقتين`,"schedules.span.minute.few":`{n} دقائق`,"schedules.span.minute.many":`{n} دقيقة`,"schedules.span.minute.other":`{n} دقيقة`,"schedules.span.hour.one":`ساعة`,"schedules.span.hour.two":`ساعتين`,"schedules.span.hour.few":`{n} ساعات`,"schedules.span.hour.many":`{n} ساعة`,"schedules.span.hour.other":`{n} ساعة`,"schedules.span.day.one":`يوم`,"schedules.span.day.two":`يومين`,"schedules.span.day.few":`{n} أيام`,"schedules.span.day.many":`{n} يومًا`,"schedules.span.day.other":`{n} يوم`,"schedules.span.week.one":`أسبوع`,"schedules.span.week.two":`أسبوعين`,"schedules.span.week.few":`{n} أسابيع`,"schedules.span.week.many":`{n} أسبوعًا`,"schedules.span.week.other":`{n} أسبوع`,"schedules.desc.every":`كل {span}`,"schedules.desc.everyOn":`كل {span}، {days}`,"schedules.desc.window":`كل {span}، {hours}`,"schedules.desc.windowOn":`كل {span}، {hours}، {days}`,"schedules.desc.daily":`يوميًا`,"schedules.desc.weekdays":`من الاثنين إلى الجمعة`,"schedules.desc.weekends":`السبت والأحد`,"schedules.desc.onDays":`كل {days}`,"schedules.desc.at":`{when} الساعة {time}`,"schedules.desc.days.weekdays":`من الاثنين إلى الجمعة`,"schedules.desc.days.weekends":`السبت والأحد`,"schedules.desc.days.every":`كل يوم`,"schedules.desc.dayJoin":` و`,"schedules.desc.dayList.one":`يوم {days}`,"schedules.desc.dayList.two":`يومي {days}`,"schedules.desc.dayList.few":`أيام {days}`,"schedules.desc.dayList.many":`أيام {days}`,"schedules.desc.dayList.other":`أيام {days}`,"schedules.dayName.0":`الاثنين`,"schedules.dayName.1":`الثلاثاء`,"schedules.dayName.2":`الأربعاء`,"schedules.dayName.3":`الخميس`,"schedules.dayName.4":`الجمعة`,"schedules.dayName.5":`السبت`,"schedules.dayName.6":`الأحد`,"mem.title":`الذاكرة`,"mem.beta":`تجريبي`,"mem.back":`رجوع`,"mem.refresh":`تحديث`,"mem.refreshAria":`تحديث لوحة الذاكرة`,"mem.tab.about":`عنك`,"mem.tab.goals":`الأهداف`,"mem.tab.profile":`إعداد الملف الشخصي`,"mem.tab.advanced":`متقدم`,"mem.loading":`جارٍ التحميل…`,"mem.loadingData":`جارٍ تحميل بيانات الذاكرة…`,"mem.loadFailed":`تعذّر تحميل بيانات الذاكرة. هل الخادم الخلفي يعمل؟`,"mem.retry":`إعادة المحاولة`,"mem.cancel":`إلغاء`,"mem.on":`تشغيل`,"mem.off":`إيقاف`,"mem.running":`جارٍ التشغيل…`,"mem.saving":`جارٍ الحفظ…`,"mem.listSeparator":`، `,"mem.offAdvanced":`الذاكرة متوقفة. شغّلها من الإعدادات أدناه ليتذكّر GAIA ما تخبره به.`,"mem.rel.secondsAgo":`قبل {n} ث`,"mem.rel.now":`الآن`,"mem.rel.inSeconds":`بعد {n} ث`,"mem.rel.inMinutes":`بعد {n} د`,"mem.rel.inHours":`بعد {n} س`,"mem.rel.tomorrow":`غدًا`,"mem.rel.inDays":`بعد {n} ي`,"mem.cat.fact":`معلومة`,"mem.cat.preference":`تفضيل`,"mem.cat.error":`خطأ`,"mem.cat.skill":`مهارة`,"mem.cat.note":`ملاحظة`,"mem.cat.reminder":`تذكير`,"mem.status.pending_approval":`بانتظار الموافقة`,"mem.status.queued":`في الانتظار`,"mem.status.in_progress":`قيد التنفيذ`,"mem.status.completed":`مكتمل`,"mem.status.failed":`فشل`,"mem.status.rejected":`مرفوض`,"mem.status.cancelled":`ملغى`,"mem.status.blocked":`متعطّل`,"mem.priority.low":`منخفضة`,"mem.priority.medium":`متوسطة`,"mem.priority.high":`عالية`,"mem.role.user":`أنت`,"mem.role.assistant":`المساعد`,"mem.domain.work":`العمل`,"mem.domain.technical":`تقني`,"mem.domain.personal":`شخصي`,"mem.domain.general":`عام`,"mem.about.title":`ما يعرفه GAIA عنك`,"mem.about.intro":`يستخدم GAIA هذه المعلومات في كل محادثة. عدّل أي شيء غير صحيح، أو اطلب نسيانه ليتوقف GAIA عن استخدامه.`,"mem.about.off":`الذاكرة متوقفة، لذا لا يحفظ GAIA أي شيء عنك.`,"mem.about.turnOn":`تشغيلها من «متقدم»`,"mem.about.group.preferences":`التفضيلات`,"mem.about.group.about":`عنك`,"mem.about.group.reminders":`التذكيرات`,"mem.about.group.notes":`الملاحظات`,"mem.about.kind":`النوع`,"mem.about.kind.preference":`تفضيل`,"mem.about.kind.reminder":`تذكير`,"mem.about.kind.note":`ملاحظة`,"mem.about.addPlaceholder":`أخبر GAIA بشيء عنك، مثل «أفضّل الإجابات القصيرة»`,"mem.about.addLabel":`شيء ينبغي أن يعرفه GAIA عنك`,"mem.about.add":`إضافة`,"mem.about.forgotten":`نُسي: «{content}»، ولن يتعلّمه GAIA مجددًا من المحادثات القديمة.`,"mem.about.forgottenSensitive":`نُسيت ذكرى حساسة، ولن يتعلّمها GAIA مجددًا من المحادثات القديمة.`,"mem.about.undo":`تراجع`,"mem.about.loadFailed":`تعذّر تحميل ذكرياتك: {error}`,"mem.about.retry":`حاول مجددًا`,"mem.about.empty":`لم يحفظ GAIA أي شيء عنك بعد.`,"mem.about.emptyHint":`أخبره في محادثة («تذكّر أنني أسكن في كالغاري») أو أضف شيئًا أعلاه.`,"mem.about.editLabel":`تعديل الذكرى`,"mem.about.save":`حفظ`,"mem.about.cancel":`إلغاء`,"mem.about.showSensitive":`حساسة، إظهار`,"mem.about.sensitiveMemory":`ذكرى حساسة`,"mem.about.edit":`تعديل`,"mem.about.editAria":`تعديل: {name}`,"mem.about.forget":`نسيان`,"mem.about.forgetAria":`نسيان: {name}`,"mem.about.meta":`{source} · {when}`,"mem.about.updated":`تم التحديث`,"mem.about.saved":`تم الحفظ`,"mem.about.editFailed":`تعذّر حفظ التغيير: {error}`,"mem.about.forgetFailed":`تعذّر نسيان ذلك: {error}`,"mem.about.restoreFailed":`تعذّرت استعادته: {error}`,"mem.about.addFailed":`تعذّر حفظه: {error}`,"mem.source.user":`أضفته بنفسك`,"mem.source.tool":`طلبت من GAIA أن يتذكّره`,"mem.source.llm_extract":`التُقط من محادثة`,"mem.source.consolidation":`من محادثة أقدم`,"mem.source.inferred":`من إعداد ملفك الشخصي`,"mem.source.discovery":`وُجد على هذا الجهاز أثناء إعداد الملف الشخصي`,"mem.source.other":`محفوظ`,"mem.day.today":`اليوم`,"mem.day.yesterday":`أمس`,"mem.day.daysAgo":`قبل {n} ي`,"mem.due.upcoming":`موعده {when}`,"mem.due.past":`كان موعده {when}`,"mem.coverage.title":`الإدخالات المفهرسة للبحث: {n} من {total}`,"mem.coverage.label":`مفهرس للبحث: {pct}`,"mem.maint.label":`إجراءات الصيانة`,"mem.maint.consolidate":`دمج الجلسات`,"mem.maint.consolidating":`جارٍ الدمج…`,"mem.maint.rebuildEmbeddings":`إعادة بناء التضمينات`,"mem.maint.rebuilding":`جارٍ إعادة البناء…`,"mem.maint.reconcile":`مطابقة الذاكرة`,"mem.maint.reconciling":`جارٍ المطابقة…`,"mem.maint.refreshSystem":`تحديث معلومات النظام`,"mem.maint.refreshing":`جارٍ التحديث…`,"mem.maint.rebuildFts":`إعادة بناء فهارس البحث النصي`,"mem.stat.stored":`المحفوظ`,"mem.stat.addedToday":`أُضيف اليوم: {n}`,"mem.stat.categoryCount":`{category}: {n}`,"mem.stat.noEntries":`لا توجد إدخالات`,"mem.stat.retrieved":`المسترجع`,"mem.stat.avgRecall":`متوسط الاسترجاع لكل ذكرى: {n}`,"mem.stat.noRecalls":`لم يُسترجع شيء بعد`,"mem.stat.sessions":`الجلسات`,"mem.stat.totalTurns":`إجمالي الأدوار: {n}`,"mem.stat.toolCalls":`استدعاءات الأدوات`,"mem.stat.toolsExclMemory":`الأدوات: {n}، دون أدوات الذاكرة`,"mem.stat.toolsNotLogged":`لا تُسجَّل أدوات الذاكرة (remember وrecall وغيرها)`,"mem.stat.successRate":`نسبة النجاح`,"mem.stat.errors":`الأخطاء: {n}`,"mem.stat.noToolCalls":`لا توجد استدعاءات أدوات بعد`,"mem.activity.title":`النشاط`,"mem.activity.range":`فترة النشاط`,"mem.activity.day1":`يوم واحد`,"mem.activity.days7":`7 أيام`,"mem.activity.days30":`30 يومًا`,"mem.activity.conversations":`المحادثات: {n}`,"mem.activity.toolCalls":`استدعاءات الأدوات: {n}`,"mem.activity.learned":`ما تعلّمه: {n}`,"mem.activity.empty":`لا توجد بيانات نشاط بعد`,"mem.legend.conversations":`المحادثات`,"mem.legend.knowledge":`المعرفة`,"mem.legend.errors":`الأخطاء`,"mem.knowledge.title":`مستعرض المعرفة`,"mem.knowledge.add":`إضافة`,"mem.knowledge.addTitle":`إضافة ذكرى`,"mem.knowledge.filterCategory":`التصفية حسب الفئة`,"mem.knowledge.clear":`مسح`,"mem.knowledge.clearAria":`مسح عوامل تصفية الفئات`,"mem.knowledge.filterContext":`التصفية حسب السياق`,"mem.knowledge.allContexts":`كل السياقات`,"mem.knowledge.filterEntity":`التصفية حسب الكيان`,"mem.knowledge.allEntities":`كل الكيانات`,"mem.knowledge.search":`البحث في الذكريات`,"mem.knowledge.searchPlaceholder":`ابحث في الذكريات…`,"mem.knowledge.superseded":`المستبدلة`,"mem.knowledge.supersededTitle":`إظهار الإدخالات التي حلّت محلها نسخ أحدث`,"mem.knowledge.embedded":`مفهرس للبحث`,"mem.knowledge.embedMissing":`غير مفهرس للبحث`,"mem.knowledge.filterBy":`التصفية حسب {entity}`,"mem.knowledge.noMatch":`لا توجد ذكريات مطابقة`,"mem.knowledge.empty":`لا توجد ذكريات محفوظة بعد`,"mem.form.contentPlaceholder":`ما الذي ينبغي أن يتذكّره الوكيل؟`,"mem.form.domainPlaceholder":`مثل python أو frontend`,"mem.form.entityPlaceholder":`مثل person:sarah_chen`,"mem.form.dueAt":`الموعد`,"mem.form.dueAtPlaceholder":`بصيغة ISO 8601، مثل 2026-03-25T09:00:00-07:00`,"mem.form.sensitive":`حساسة`,"mem.form.sensitiveHint":`وضع علامة «حساسة» (لا تُضمَّن في موجّه النظام)`,"mem.form.update":`تحديث`,"mem.form.save":`حفظ`,"mem.col.category":`الفئة`,"mem.col.content":`المحتوى`,"mem.col.context":`السياق`,"mem.col.entity":`الكيان`,"mem.col.confidence":`الثقة`,"mem.col.source":`المصدر`,"mem.col.updated":`آخر تحديث`,"mem.col.created":`تاريخ الإنشاء`,"mem.col.due":`الموعد`,"mem.row.edit":`تعديل`,"mem.row.markSensitive":`وضع علامة «حساسة»`,"mem.row.unmarkSensitive":`إزالة علامة «حساسة»`,"mem.row.copyId":`نسخ المعرّف`,"mem.row.delete":`حذف`,"mem.row.clickAgain":`انقر مجددًا للحذف`,"mem.row.deleteAria":`حذف الذكرى`,"mem.row.confirmDeleteAria":`تأكيد حذف الذكرى`,"mem.row.deleteConfirm":`حذف؟`,"mem.detail.id":`المعرّف`,"mem.detail.domain":`المجال`,"mem.detail.useCount":`مرات الاستخدام`,"mem.detail.lastUsed":`آخر استخدام`,"mem.detail.remindedAt":`وقت التذكير`,"mem.detail.supersededBy":`حلّ محله`,"mem.detail.metadata":`البيانات الوصفية`,"mem.detail.fullContent":`المحتوى الكامل`,"mem.page.range":`من {from} إلى {to} من أصل {total}`,"mem.page.previous":`الصفحة السابقة`,"mem.page.next":`الصفحة التالية`,"mem.tools.title":`أداء الأدوات`,"mem.tools.note":`دون أدوات الذاكرة`,"mem.tools.noteTitle":`لا تُسجَّل remember وrecall وupdate_memory وforget وforget_everything وsearch_past_conversations`,"mem.tools.tool":`الأداة`,"mem.tools.calls":`الاستدعاءات`,"mem.tools.success":`النجاح`,"mem.tools.denied":`المرفوضة`,"mem.tools.avgTime":`متوسط الوقت`,"mem.tools.lastError":`آخر خطأ`,"mem.tools.empty":`لم تُسجَّل استدعاءات أدوات بعد`,"mem.upcoming.title":`القادم والمتأخر`,"mem.upcoming.due":`الموعد: {when}`,"mem.upcoming.overdue":`متأخر: {when}`,"mem.upcoming.empty":`لا شيء قادم أو متأخر`,"mem.conv.title":`سجل المحادثات`,"mem.conv.search":`البحث في المحادثات`,"mem.conv.searchPlaceholder":`ابحث في المحادثات…`,"mem.conv.clearSearch":`مسح البحث`,"mem.conv.noMatch":`لا توجد محادثات تطابق «{query}»`,"mem.conv.consolidated":`مدمجة`,"mem.conv.turns.one":`الأدوار: {n}`,"mem.conv.turns.other":`الأدوار: {n}`,"mem.conv.empty":`لا يوجد سجل محادثات في الذاكرة`,"mem.conv.openChat":`فتح المحادثة`,"mem.conv.close":`إغلاق المحادثة`,"mem.conv.noTurns":`لم يُعثر على أدوار`,"mem.settings.title":`الإعدادات`,"mem.settings.memory":`تفعيل الذاكرة`,"mem.settings.memoryDesc":`عند الإيقاف، لا تُحفظ أي معرفة أو بيانات محادثات في أي جلسة (وضع التصفح الخفي للجميع).`,"mem.settings.memoryOn":`الذاكرة مفعّلة`,"mem.settings.memoryOff":`الذاكرة متوقفة`,"mem.settings.mcp":`وصول MCP إلى الذاكرة`,"mem.settings.mcpDesc":`إتاحة أدوات الذاكرة للقراءة فقط لعملاء MCP (لتصحيح الأخطاء واستكشافها). يتطلب إعادة تشغيل خادم MCP.`,"mem.settings.mcpToggle":`تبديل وصول MCP إلى الذاكرة`,"mem.settings.discovery":`استكشاف النظام`,"mem.settings.discoveryDesc":`السماح لـ GAIA بفحص نظامك بحثًا عن معلومات العتاد والبرامج والبيئة لتخصيص الإجابات.`,"mem.settings.discoveryToggle":`تبديل استكشاف النظام`,"mem.settings.reinit":`إعادة تهيئة الذاكرة`,"mem.settings.reinitDesc":`مسح كل الذكريات والمحادثات وسجلات الأدوات، ثم إعادة جمع معلومات النظام. لا يمكن التراجع عن ذلك.`,"mem.settings.reinitButton":`إعادة التهيئة`,"mem.settings.reinitConfirm":`نعم، أعد التهيئة`,"mem.settings.deleteAll":`حذف كل الذكريات`,"mem.settings.deleteAllDesc":`مسح كل إدخالات المعرفة وسجل المحادثات وسجلات الأدوات نهائيًا. تبقى المهارات التي تعلّمها GAIA لأداء المهام. لا يمكن التراجع عن ذلك.`,"mem.settings.deleteButton":`حذف الكل`,"mem.settings.deleteConfirm":`نعم، احذف الكل`,"mem.settings.sure":`هل أنت متأكد؟`,"mem.beta.memory.title":`تفعيل ذاكرة الوكيل؟`,"mem.beta.memory.desc":`ذاكرة الوكيل ما زالت قيد التطوير. بتفعيلها:`,"mem.beta.memory.local":`تُحفظ المحادثات والمعلومات محليًا على هذا الجهاز`,"mem.beta.memory.lost":`قد تضيع البيانات المحفوظة أثناء التحديثات`,"mem.beta.memory.disable":`يمكنك إيقافها في أي وقت من لوحة الإعدادات هذه`,"mem.beta.memory.confirm":`تفعيل الذاكرة`,"mem.beta.mcp.title":`تفعيل وصول MCP إلى الذاكرة؟`,"mem.beta.mcp.desc":`يتيح هذا بيانات الذاكرة لعملاء MCP الخارجيين:`,"mem.beta.mcp.read":`يستطيع عملاء MCP قراءة ذكرياتك المحفوظة (قراءة فقط)`,"mem.beta.mcp.restart":`يتطلب إعادة تشغيل خادم MCP ليسري`,"mem.beta.mcp.debug":`مخصّص لتصحيح الأخطاء واستكشافها فقط`,"mem.beta.mcp.confirm":`تفعيل وصول MCP`,"mem.beta.discovery.title":`تفعيل استكشاف النظام؟`,"mem.beta.discovery.desc":`يفحص هذا نظامك لتخصيص الإجابات:`,"mem.beta.discovery.collects":`يجمع معلومات العتاد والبرامج والبيئة`,"mem.beta.discovery.scans":`يفحص الملفات ومستودعات git وسجل المتصفح وإعدادات SSH`,"mem.beta.discovery.local":`تبقى كل البيانات محليًا على هذا الجهاز`,"mem.beta.discovery.confirm":`تفعيل الاستكشاف`,"mem.footer.database":`قاعدة البيانات`,"mem.footer.avgConfidence":`متوسط الثقة: {n}`,"mem.footer.entities":`الكيانات: {n}`,"mem.footer.sensitive":`الحساسة: {n}`,"mem.toast.server":`{message}`,"mem.toast.notEmbedded":`حُفظ، لكنه لم يُفهرس للبحث`,"mem.toast.created":`أُنشئت الذكرى`,"mem.toast.createFailed":`تعذّر إنشاء الذكرى: {error}`,"mem.toast.updated":`حُدّثت الذكرى`,"mem.toast.updateFailed":`تعذّر تحديث الذكرى: {error}`,"mem.toast.deleted":`حُذفت الذكرى`,"mem.toast.deleteFailed":`تعذّر حذف الذكرى: {error}`,"mem.toast.markedSensitive":`وُضعت علامة «حساسة»`,"mem.toast.unmarkedSensitive":`أُزيلت علامة «حساسة»`,"mem.toast.sensitiveFailed":`تعذّر تغيير علامة «حساسة»: {error}`,"mem.toast.idCopied":`نُسخ المعرّف إلى الحافظة`,"mem.toast.copyFailed":`تعذّر نسخ المعرّف: {error}`,"mem.toast.consolidated":`الجلسات المدمجة: {sessions}، والعناصر المستخرجة: {items}`,"mem.toast.consolidateFailed":`تعذّر دمج الجلسات: {error}`,"mem.toast.backfilled":`التضمينات المضافة: {n}`,"mem.toast.backfilledMissing":`التضمينات المضافة: {n} (كان الناقص منها {missing})`,"mem.toast.rebuildFailed":`تعذّرت إعادة بناء التضمينات: {error}`,"mem.toast.reconciled":`الأزواج المفحوصة: {pairs}، المؤكَّدة: {reinforced}، المتعارضة: {contradicted}`,"mem.toast.reconcileFailed":`تعذّرت مطابقة الذاكرة: {error}`,"mem.toast.ftsRebuilt":`أُعيد بناء فهارس البحث النصي`,"mem.toast.ftsFailed":`تعذّرت إعادة بناء فهارس البحث النصي: {error}`,"mem.toast.systemDisabled":`جمع معلومات النظام متوقف، فعّله من الإعدادات`,"mem.toast.systemRefreshed":`حُدّثت معلومات النظام. المعلومات المحدّثة: {n}`,"mem.toast.systemFailed":`تعذّر تحديث معلومات النظام: {error}`,"mem.toast.memoryEnabled":`فُعّلت الذاكرة`,"mem.toast.mcpEnabled":`فُعّل وصول MCP إلى الذاكرة`,"mem.toast.discoveryEnabled":`فُعّل استكشاف النظام. معلومات النظام المجمّعة: {n}`,"mem.toast.discoveryScanFailed":`فُعّل استكشاف النظام لكن الفحص فشل: {error}`,"mem.toast.settingFailed":`تعذّر تغيير الإعداد: {error}`,"mem.toast.reinitialized":`أُعيدت التهيئة. الإدخالات الممسوحة: {cleared}، ومعلومات النظام المستعادة: {stored}`,"mem.toast.reinitFailed":`تعذّرت إعادة تهيئة الذاكرة: {error}`,"mem.toast.cleared":`حُذف. إدخالات المعرفة: {knowledge}، والمحادثات: {conversations}`,"mem.toast.clearFailed":`تعذّر مسح الذاكرة: {error}`,"mem.disc.title":`استكشاف النظام`,"mem.disc.desc":`افحص نظامك لاكتشاف التطبيقات والمشاريع وأنماط الاستخدام.`,"mem.disc.run":`تشغيل الاستكشاف`,"mem.disc.saved":`حُفظ في الذاكرة. العناصر: {n}`,"mem.disc.saveFailed":`تعذّر حفظ العناصر المكتشفة: {error}`,"mem.disc.empty":`لم يُكتشف أي عنصر.`,"mem.inf.title":`استنتاج الملف الشخصي بالذكاء الاصطناعي`,"mem.inf.desc":`استخدم النموذج اللغوي المحلي لاستنتاج معلومات عن ملفك الشخصي من بياناتك.`,"mem.inf.note":`يتطلب تشغيل Lemonade Server.`,"mem.inf.browser":`تضمين سجل المتصفح`,"mem.inf.run":`تشغيل الاستنتاج`,"mem.inf.saved":`حُفظ في الذاكرة. الاستنتاجات: {n}`,"mem.inf.saveFailed":`تعذّر حفظ الاستنتاجات: {error}`,"mem.inf.empty":`لم يُستنتج أي شيء.`,"mem.review.title":`المراجعة والحفظ`,"mem.review.saveSelected":`حفظ المحدد ({n})`,"mem.review.selectAll":`تحديد الكل`,"mem.review.none":`لا شيء`,"mem.log.found":`وُجد: {content}`,"mem.log.insight":`استنتاج: {content}`,"mem.log.error":`خطأ: {message}`,"mem.log.discoveryDone":`اكتمل. العناصر المكتشفة: {n}.`,"mem.log.inferenceDone":`اكتمل. الاستنتاجات: {n}.`,"mem.log.parseFailed":`تعذّرت قراءة بيانات الحدث.`,"mem.log.discoveryConnection":`خطأ في الاتصال. هل خادم GAIA يعمل؟`,"mem.log.inferenceConnection":`خطأ في الاتصال. هل Lemonade Server يعمل؟`,"mem.goals.suggested":`أهداف اقترحها الوكيل: {n}. راجعها قبل التنفيذ`,"mem.goals.reject":`رفض`,"mem.goals.accept":`قبول`,"mem.goals.new":`هدف جديد`,"mem.goals.titlePlaceholder":`عنوان الهدف`,"mem.goals.descPlaceholder":`الوصف: ما الذي ينبغي أن يعمل الوكيل على تحقيقه؟`,"mem.goals.priorityLow":`أولوية منخفضة`,"mem.goals.priorityMedium":`أولوية متوسطة`,"mem.goals.priorityHigh":`أولوية عالية`,"mem.goals.create":`إنشاء`,"mem.goals.loading":`جارٍ تحميل الأهداف…`,"mem.goals.empty":`لا توجد أهداف بعد. أنشئ هدفًا أو دع الوكيل يقترح أهدافًا في الوضع المستقل.`,"mem.goals.source.agent_inferred":`استنتجه الوكيل`,"mem.goals.source.agent_scheduled":`جدوله الوكيل`,"mem.goals.deleteAria":`حذف الهدف {title}`,"mem.goals.noTasks":`لا توجد مهام بعد، وسيقسّم الوكيل الهدف إلى مهام عندما يبدأ.`,"mem.goals.failed":`{what}: {error}`,"mem.goals.rejectFailed":`تعذّر رفض الهدف`,"mem.goals.acceptFailed":`تعذّر قبول الهدف`,"mem.goals.createFailed":`تعذّر إنشاء الهدف`,"mem.goals.cancelFailed":`تعذّر إلغاء الهدف`,"mem.goals.deleteFailed":`تعذّر حذف الهدف`}},ge={"sidebar.label":`Chats`,"sidebar.expand":`Expand sidebar`,"sidebar.collapse":`Collapse sidebar`,"sidebar.search":`Search chats`,"sidebar.newChat":`New chat`,"sidebar.memory":`Memory`,"sidebar.schedules":`Scheduled tasks`,"sidebar.documents":`Documents`,"sidebar.recent":`Recent chats`,"sidebar.noMatch":`No chats match.`,"sidebar.searching":`Searching inside chats…`,"sidebar.searchCapped":`Showing the {n} newest chats that mention this. Type more to narrow it down.`,"sidebar.matchCount.one":`{n} chat matches`,"sidebar.matchCount.other":`{n} chats match`,"sidebar.empty":`No chats yet.`,"sidebar.group.needsYou":`Needs you`,"sidebar.group.pinned":`Pinned`,"sidebar.group.today":`Today`,"sidebar.group.yesterday":`Yesterday`,"sidebar.group.prev7":`Previous 7 days`,"sidebar.group.prev30":`Previous 30 days`,"sidebar.group.older":`Older`,"sidebar.hideBackground":`Hide background runs`,"sidebar.showBackground.one":`Show {n} background run`,"sidebar.showBackground.other":`Show {n} background runs`,"sidebar.notifications":`Notifications`,"sidebar.notificationsUnread":`Notifications, {n} unread`,"sidebar.mobileAccess":`Mobile access`,"sidebar.mobileAccessOn":`Mobile access is on`,"mobileAccess.installTitle":`Keep GAIA on your phone`,"mobileAccess.installSteps":`Once GAIA opens, add it to your home screen: in Safari, or Chrome on iPhone, tap Share, then Add to Home Screen. In Chrome on Android, open the ⋮ menu and tap Add to Home screen.`,"mobileAccess.linkLifetime":`This link stops working when mobile access stops. Each time you start it, scan the new code. If GAIA on your home screen no longer connects, open the new link and add it again.`,"sidebar.settings":`Settings`,"modelStatus.fallbackName":`Model`,"modelStatus.pillAria.loaded":`{text}, model loaded`,"modelStatus.pillAria.warming":`{text}, model warming up`,"modelStatus.pillAria.idle":`{text}, model not loaded`,"modelStatus.pillAria.stopped":`{text}, model stopped`,"modelStatus.sentTo":`Chat history is sent to {name}`,"modelStatus.runsHere":`Runs on this PC`,"modelStatus.label":`Model status`,"modelStatus.checking":`Checking the model…`,"modelStatus.state.loaded":`Loaded`,"modelStatus.state.loadedAnswering":`Loaded · answering`,"modelStatus.state.warming":`Warming up`,"modelStatus.state.idle":`Not loaded — it loads with your next message`,"modelStatus.state.stopped":`Model server stopped`,"modelStatus.cloudLine":`New messages use {name} in the cloud. Local model below.`,"modelStatus.model":`Model`,"modelStatus.runsOn":`Runs on`,"modelStatus.memory":`Memory`,"modelStatus.context":`Context window`,"modelStatus.memoryUsed":`{size} used by the model`,"modelStatus.memoryFree":`{size} free`,"modelStatus.memoryTotal":`{size} ({source})`,"modelStatus.unknown":`unknown`,"modelStatus.expected":`{label} (expected)`,"modelStatus.confirm":`This reloads {name} on your Lemonade at {url}. Other apps using it are interrupted while it reloads.`,"modelStatus.theModel":`the model`,"modelStatus.cancel":`Cancel`,"modelStatus.reloadIt":`Reload it`,"modelStatus.settings":`Model settings`,"modelStatus.restart":`Restart`,"modelStatus.restarting":`Restarting…`,"modelStatus.busyWarmUp":`GAIA is getting the model ready for a new chat. Restart it once that finishes.`,"modelStatus.busyRequest":`The model is answering a request. Restart it once that finishes.`,"modelStatus.startServer":`Start the model server and load the model`,"modelStatus.reload":`Reload the model at its context size`,"row.status.running":`Running`,"row.status.queued":`Waiting for the GPU`,"row.status.waiting":`Waiting for you`,"row.status.done":`Done`,"row.status.failed":`Failed`,"row.unread":`unread`,"row.private":`Private chat`,"row.rename":`Rename`,"row.renameAria":`Rename {title}`,"row.saveName":`Save name`,"row.cancelRename":`Cancel rename`,"row.moreActions":`More actions for {title}`,"row.actions":`Chat actions`,"row.pin":`Pin`,"row.unpin":`Unpin`,"row.pinToTop":`Pin to top`,"row.pinAria":`Pin {title}`,"row.unpinAria":`Unpin {title}`,"row.delete":`Delete`,"row.deleteAria":`Delete {title}`,"row.deleteConfirm":`Delete?`,"row.confirmDeleteAria":`Confirm delete {title}`,"row.clickAgain":`Click again to delete`,"row.deleteMemoryNote":`This also removes it from Memory. What GAIA learned about you stays in About you.`,"row.tapAgain":`{label} Tap again`,"newChat.label":`New chat`,"newChat.greeting.morning":`Good morning. What should we work on?`,"newChat.greeting.afternoon":`Good afternoon. What should we work on?`,"newChat.greeting.evening":`Good evening. What should we work on?`,"newChat.warmup.ready":`Getting GAIA ready… {s}s`,"newChat.warmup.loading":`Loading {model}… {s}s`,"newChat.warmup.loadingOn":`Loading {model} on {where}… {s}s`,"device.gpu":`your GPU`,"device.npu":`your NPU`,"device.cpu":`the CPU`,"newChat.assistantUnavailable":`GAIA’s assistant didn’t start yet.`,"newChat.tryAgain":`Try again`,"newChat.details":`Details`,"newChat.docs.forChat":`Documents for this chat`,"newChat.docs.dontAttach":`Don't attach {name}`,"newChat.docs.more.one":`{n} more document in your library.`,"newChat.docs.more.other":`{n} more documents in your library.`,"newChat.docs.library.one":`Your library has {n} document; this chat can search only the ones you attach.`,"newChat.docs.library.other":`Your library has {n} documents; this chat can search only the ones you attach.`,"newChat.docs.attachIt":`Attach it`,"newChat.docs.attachAll":`Attach all {n}`,"newChat.docs.choose":`Choose`,"newChat.setupFailed.title":`GAIA’s first-run setup didn’t finish, so a chat on this PC’s model will fail.`,"newChat.setupFailed.hint":`Use a cloud model, or pick a smaller one.`,"newChat.setupFailed.choose":`Choose a model`,"newChat.cardsLabel":`Things to try`,"card.document-brief.title":`Ask about your documents`,"card.document-brief.note.one":`{n} indexed document`,"card.document-brief.note.other":`{n} indexed documents`,"card.inbox-triage.title":`Triage my inbox`,"card.inbox-triage.note":`Your connected mail account`,"card.research-report.title":`Research a topic`,"card.research-report.note":`A cited report from the web`,"card.coding.title":`Work on code`,"card.coding.note":`In {folder}`,"card.summarize.title":`Summarize something`,"card.summarize.note":`A document, transcript or email`,"card.check-in.title":`Check in`,"card.check-in.note":`Pick up where you left off`,"composer.placeholder":`Ask GAIA anything`,"composer.reply":`Reply to GAIA`,"composer.queueNext":`Queue your next message`,"composer.starting":`GAIA is starting…`,"composer.heldLabel":`Message waiting to send`,"composer.heldUntilStarted":`Sends once GAIA has started.`,"composer.message":`Message`,"composer.attached":`Attached files`,"composer.uploading":`Uploading…`,"composer.remove":`Remove {name}`,"composer.tooLong":`Too long to send: {sent} of {max} characters.`,"composer.tooLongHint":`Save it as a file and attach it with +, and GAIA can read all of it.`,"composer.attach":`Attach files`,"composer.queue":`Queue message`,"composer.queueTitle":`Queue it to send when this reply ends (Enter)`,"composer.stop":`Stop`,"composer.stopping":`Stopping…`,"composer.send":`Send`,"composer.private":`Private`,"composer.memoryOn":`Memory on`,"composer.memoryOff":`Memory off`,"composer.memoryUnknown":`Memory unknown`,"composer.memoryOffTitle":`Memory is off in Settings, so no chat is saved to memory`,"composer.memoryUnknownTitle":`Couldn't read the memory setting. Turn on private chat to keep this chat out of memory either way.`,"composer.privateOn":`Turn on private chat`,"composer.privateOnTitle":`Turn on private chat. It won't be saved to memory.`,"composer.privateOff":`Turn off private chat`,"composer.privateOffTitle":`Turn off private chat. This chat won't be saved to memory.`,"agentNotice.missing":`The GAIA agent isn't installed, so new chats can't start yet.`,"agentNotice.install":`Install GAIA agent`,"agentNotice.installing":`Installing the GAIA agent… {percent}%`,"agentNotice.failed":`The GAIA agent could not be installed: {error}`,"agentNotice.retry":`Try again`,"agentNotice.noBuild":`No GAIA agent build for this PC yet, so chat isn't available here.`,"msg.sent":`Sent {time}`,"msg.replied":`Replied {time}`,"msg.thinking":`Thinking...`,"live.readingRequest":`Reading your request`,"live.readingResults":`Reading the tool results`,"live.reasoning":`Reasoning`,"live.reasoningWords":`Reasoning — {n} words so far`,"live.loadingModel":`Loading {model} into memory`,"live.downloadingModel":`Downloading {model}`,"live.reconnectingServer":`Reconnecting to the model server…`,"live.reconnectingStream":`Connection lost. Reconnecting (attempt {attempt} of {max})…`,"live.waitingStart":`Waiting for GAIA to start this answer…`,"live.modelWaitHint":`Still waiting on the model — nothing has come back yet. A hosted model that stays silent is retried, then stopped with an error. Press Stop to end it now.`,"live.localModelWaitHint":`Still waiting on the model — nothing has come back yet. A long prompt can take a minute or more to read on this PC. Press Stop to end it now.`,"msg.resend":`Resend message`,"msg.copy":`Copy message`,"msg.copied":`Copied!`,"msg.copiedAria":`Copied to clipboard`,"msg.delete":`Delete message`,"msg.confirmDelete":`Click again to confirm`,"msg.confirmDeleteAria":`Confirm delete message`,"msg.error":`Something went wrong`,"msg.tryAgain":`Try again`,"chatError.context":`This conversation is longer than the model can read at once. Start a new chat, or ask about fewer documents, then ask again.`,"chatError.modelServer":`The model server did not answer. Open Settings → Model to check it, then try again.`,"chatError.connection":`Lost the connection to GAIA. Check that GAIA is still running, then try again.`,"chatError.timeout":`The request timed out. Try a shorter question, or a faster model in Settings → Model.`,"chatError.resendFailed":`Your message was not sent again`,"chatError.resendStale":`This chat changed since it was opened, so nothing was sent. Reopen the chat, then try again.`,"chatError.unknown":`Something went wrong while GAIA was answering. Try again; if it keeps happening, report it with the link below.`,"chatError.gaiaStopped":`GAIA stopped before it finished this answer. Once GAIA is running again, press Try again.`,"chatError.liveViewLost":`Lost the live view of this answer: the connection to GAIA dropped {n} times. The answer may still finish. Reopen this chat in a minute to see it.`,"msg.cutOff.interrupted":`This answer was interrupted when GAIA closed.`,"msg.cutOff.cancelled":`This answer was interrupted before it finished.`,"msg.cutOff.noReply":`This answer ended before GAIA could save a reply.`,"msg.cutOff.toolsRan":`Before it stopped, it had started these tools: {tools}.`,"request.gaiaUnreachable":`GAIA can't be reached right now.`,"turnChanges.loadError":`Could not check this turn's file changes: {error}`,"msg.showAll":`Show all`,"msg.showLess":`Show less`,"msg.stopped":`Stopped`,"msg.stoppedUnconfirmed":`Stopped. GAIA did not confirm the stop, so some steps may be missing here. Reload the chat to see what it saved.`,"msg.stoppedError":`Stopped. GAIA reported an error while stopping: {error}`,"msg.about":`About this answer`,"msg.timestamp":`Message timestamp`,"answer.answeredIn":`Answered in {time}`,"answer.answeredInPlace":`Answered in {time} {place}`,"answer.stoppedAfter":`Stopped after {time}`,"answer.stoppedAfterPlace":`Stopped after {time} {place}`,"answer.interruptedAfter":`Interrupted after {time}`,"answer.interruptedAfterPlace":`Interrupted after {time} {place}`,"answer.answeredPlace":`Answered {place}`,"answer.ranPlace":`Ran {place}`,"answer.firstWord":`first word in {time}`,"answer.firstWordLead":`First word in {time}`,"answer.steps.one":`{n} step`,"answer.steps.other":`{n} steps`,"answer.place.on":`on {device}`,"answer.place.pair":`{a} and {b}`,"answer.place.thisPc":`on this PC`,"answer.place.via":`via {provider}`,"answer.duration.underSecond":`under a second`,"answer.duration.sec":`{n} s`,"answer.duration.min":`{n} min`,"answer.duration.minSec":`{m} min {s} s`,"answer.duration.ms":`{n} ms`,"answer.exact.total":`Total time {time}`,"answer.exact.firstToken":`First token {time}`,"answer.exact.tokens":`{flow} tokens`,"answer.exact.rate":`{n} tokens/s`,"answer.details":`Details`,"code.copy":`Copy`,"citation.open":`Open {name}`,"citation.openPage":`Open page {page}`,"code.copied":`Copied`,"code.copyAria":`Copy code`,"retry.button":`Retry with another model`,"retry.head":`Retry with…`,"media.showFull":`Show full size`,"media.showSmaller":`Show smaller`,"media.audioUnplayable":`This audio can't be played. The file may have been moved or deleted.`,"activity.thinking":`Thinking`,"activity.thought":`Thought`,"activity.thoughtFor":`Thought for {time}`,"activity.waiting":`Waiting for you`,"activity.usedSkill":`Used {name} skill`,"activity.blocked":`Blocked by policy`,"activity.hitError":`Hit an error`,"activity.madePlan":`Made a plan`,"activity.thoughtThrough":`Thought it through`,"activity.summarySep":`, `,"activity.summaryMore":`{list} and {n} more`,"activity.filterPlaceholder":`Filter steps…`,"activity.filterByTool":`Filter by tool name`,"activity.filterByStatus":`Filter by status`,"activity.filter.all":`All`,"activity.filter.success":`Success`,"activity.filter.error":`Error`,"activity.identicalCalls":`{n} identical calls`,"activity.detail.tool":`Tool`,"activity.detail.via":`via {server}`,"activity.detail.arguments":`Arguments`,"activity.detail.output":`Output`,"activity.detail.error":`Error`,"activity.detail.result":`Result`,"activity.truncated":`Output was truncated (exceeded size limit)`,"activity.files.more":`+{n} more`,"activity.files.showing":`Showing {shown} of {total} files`,"activity.files.file":`File {n}`,"activity.plan":`Plan`,"activity.planDone":`{done} of {total} done`,"activity.planItem":`{status}: {text}`,"activity.planStatus.done":`Done`,"activity.planStatus.running":`Running`,"activity.planStatus.failed":`Failed`,"activity.planStatus.stopped":`Stopped`,"activity.planStatus.pending":`Not started`,"activity.errorOccurred":`An error occurred`,"activity.policy.title":`Policy Shield`,"activity.policy.tool":`Tool`,"activity.policy.rules":`Rules`,"activity.policy.policy":`Policy`,"activity.policy.receipt":`Receipt`,"activity.policy.receiptUnavailable":`Receipt unavailable`,"activity.chunks":`Retrieved Chunks ({n})`,"activity.chunkPage":`p.{page}`,"activity.terminal":`Terminal`,"activity.exit":`exit {code}`,"activity.copyOutput":`Copy output`,"activity.copyOutputAria":`Copy command output`,"activity.noOutput":`No output`,"activity.openPath":`Open: {path}`,"tool.failed":`{label} failed`,"tool.unfinished":`{label} didn't finish`,"tool.default.done":`Used tool`,"tool.default.active":`Using tool`,"tool.mcp.done":`MCP tool`,"tool.mcp.active":`Running MCP tool`,"tool.named.done":`Used {what}`,"tool.named.active":`Using {what}`,"tool.search_file.done":`Searched files`,"tool.search_file.active":`Searching files`,"tool.search_files.done":`Searched files`,"tool.search_files.active":`Searching files`,"tool.search_file_content.done":`Searched content`,"tool.search_file_content.active":`Searching content`,"tool.search_directory.done":`Searched directory`,"tool.search_directory.active":`Searching directory`,"tool.read_file.done":`Read file`,"tool.read_file.active":`Reading file`,"tool.write_file.done":`Wrote file`,"tool.write_file.active":`Writing file`,"tool.get_file_info.done":`Got file info`,"tool.get_file_info.active":`Getting file info`,"tool.browse_directory.done":`Browsed directory`,"tool.browse_directory.active":`Browsing directory`,"tool.list_directory.done":`Listed directory`,"tool.list_directory.active":`Listing directory`,"tool.list_recent_files.done":`Listed recent files`,"tool.list_recent_files.active":`Listing recent files`,"tool.analyze_data_file.done":`Analyzed data`,"tool.analyze_data_file.active":`Analyzing data`,"tool.run_shell_command.done":`Ran command`,"tool.run_shell_command.active":`Running command`,"tool.execute_code.done":`Executed code`,"tool.execute_code.active":`Executing code`,"tool.query_documents.done":`Queried documents`,"tool.query_documents.active":`Querying documents`,"tool.query_specific_file.done":`Queried file`,"tool.query_specific_file.active":`Querying file`,"tool.search_indexed_chunks.done":`Searched chunks`,"tool.search_indexed_chunks.active":`Searching chunks`,"tool.semantic_search.done":`Searched documents`,"tool.semantic_search.active":`Searching documents`,"tool.evaluate_retrieval.done":`Evaluated retrieval`,"tool.evaluate_retrieval.active":`Evaluating retrieval`,"tool.index_document.done":`Indexed document`,"tool.index_document.active":`Indexing document`,"tool.index_documents.done":`Indexed documents`,"tool.index_documents.active":`Indexing documents`,"tool.index_directory.done":`Indexed directory`,"tool.index_directory.active":`Indexing directory`,"tool.index_file.done":`Indexed file`,"tool.index_file.active":`Indexing file`,"tool.list_indexed_documents.done":`Listed documents`,"tool.list_indexed_documents.active":`Listing documents`,"tool.summarize_document.done":`Summarized`,"tool.summarize_document.active":`Summarizing`,"tool.dump_document.done":`Extracted text`,"tool.dump_document.active":`Extracting text`,"tool.rag_status.done":`Checked RAG status`,"tool.rag_status.active":`Checking RAG`,"tool.add_watch_directory.done":`Added watch dir`,"tool.add_watch_directory.active":`Adding watch dir`,"tool.web_search.done":`Searched web`,"tool.web_search.active":`Searching web`,"tool.search_web.done":`Searched web`,"tool.search_web.active":`Searching web`,"tool.fetch_page.done":`Read web page`,"tool.fetch_page.active":`Reading web page`,"tool.fetch_webpage.done":`Read web page`,"tool.fetch_webpage.active":`Reading web page`,"tool.analyze_data.done":`Analyzed data`,"tool.analyze_data.active":`Analyzing data`,"tool.find_files.done":`Found files`,"tool.find_files.active":`Finding files`,"tool.edit_file.done":`Edited file`,"tool.edit_file.active":`Editing file`,"tool.recall.done":`Recalled memory`,"tool.recall.active":`Recalling memory`,"tool.remember.done":`Saved to memory`,"tool.remember.active":`Saving to memory`,"tool.update_memory.done":`Updated memory`,"tool.update_memory.active":`Updating memory`,"tool.forget.done":`Deleted from memory`,"tool.forget.active":`Deleting from memory`,"tool.forget_everything.done":`Erased all memory`,"tool.forget_everything.active":`Erasing all memory`,"tool.search_past_conversations.done":`Searched past chats`,"tool.search_past_conversations.active":`Searching past chats`,"tool.request_user_input.done":`Asked you`,"tool.request_user_input.active":`Asking you`,"tool.load_skill.done":`Used skill`,"tool.load_skill.active":`Loading skill`,"tool.unload_skill.done":`Put away skill`,"tool.unload_skill.active":`Putting away skill`,"tool.list_skills.done":`Checked skills`,"tool.list_skills.active":`Checking skills`,"tool.search_skill_hub.done":`Searched skills`,"tool.search_skill_hub.active":`Searching skills`,"tool.install_skill.done":`Installed skill`,"tool.install_skill.active":`Installing skill`,"tool.capture_skill.done":`Saved skill`,"tool.capture_skill.active":`Saving skill`,"tool.remove_skill.done":`Removed skill`,"tool.remove_skill.active":`Removing skill`,"tool.skill_status.done":`Checked skill`,"tool.skill_status.active":`Checking skill`,"docs.title":`Document library`,"docs.close":`Close document library`,"docs.untitledChat":`Untitled chat`,"docs.addTo":`Add documents to`,"docs.thisChat":`This chat: {chat}`,"docs.nextChat":`Your next new chat`,"docs.nextChatOnly":`Documents you add here are attached to your next new chat.`,"docs.hint":`A chat searches only the documents attached to it.`,"docs.drop":`Drop files here to index`,"docs.dropHint":`PDF, TXT, MD, code files, and 50+ formats`,"docs.pathPlaceholder":`Or enter a file or folder path: {example}`,"docs.pathAria":`File path to index`,"docs.index":`Index`,"docs.browse":`Browse files`,"docs.browseTitle":`Browse files on this computer`,"docs.count.one":`{n} document`,"docs.count.other":`{n} documents`,"docs.chunks.one":`{n} chunk`,"docs.chunks.other":`{n} chunks`,"docs.empty":`No documents indexed yet`,"docs.emptyHint":`Drop files above or enter a file path`,"docs.indexingFile":`Indexing {name}...`,"docs.indexingFolder":`Indexing the documents in {name}...`,"docs.willAttach":`{name} will be attached to your next new chat.`,"docs.attached":`Attached {name} to {chat}.`,"docs.indexing":`Indexing...`,"docs.indexingLabel":`Indexing`,"docs.progress.reading":`Reading page {done} of {total}`,"docs.progress.readingCount":`Reading page {done}`,"docs.progress.embedding":`Embedding {done} of {total}`,"docs.progress.embeddingCount":`Embedding chunk {done}`,"docs.cancelIndexing":`Cancel indexing`,"docs.cancelIndexingAria":`Cancel indexing {name}`,"docs.cancel":`Cancel`,"docs.failed":`Failed`,"docs.cantRead":`Can't be read`,"docs.failedAria":`Failed: {error}`,"docs.indexingFailed":`Indexing failed`,"docs.retry":`Retry`,"docs.retrying":`Retrying…`,"docs.retryTitle":`Retry indexing`,"docs.retryTitleFix":`Retry indexing (fix the file first, or this fails again)`,"docs.retryAria":`Retry indexing {name}`,"docs.noReason":`GAIA didn't record why. Retry to see the error.`,"docs.cancelled":`Cancelled`,"docs.missing":`File missing`,"docs.indexedAt":`Indexed: {time}`,"docs.openFolder":`Open folder: {path}`,"docs.openFolderAria":`Open containing folder for {name}`,"docs.useIn":`Use in {chat}`,"docs.useNext":`Use in your next chat`,"docs.attachAria":`Attach {name} to {chat}`,"docs.attachNextAria":`Attach {name} to your next chat`,"docs.remove":`Remove`,"docs.removeAria":`Remove {name}`,"docs.dismissFolder":`Dismiss folder indexing result`,"time.justNow":`just now`,"time.minutesAgo":`{n}m ago`,"time.hoursAgo":`{n}h ago`,"time.yesterday":`yesterday`,"time.daysAgo":`{n}d ago`,"sp.label":`Session panel`,"sp.resize":`Resize session panel`,"sp.title":`This chat`,"sp.close":`Close session panel`,"sp.closeShort":`Close`,"sp.show":`Show session panel`,"sp.hide":`Hide session panel`,"sp.showWarn":`Show session panel: couldn't get live data`,"sp.section.answer":`This answer`,"sp.section.context":`Context & performance`,"sp.checking":`Checking…`,"sp.open":`Open`,"sp.showInFolder":`Show in folder`,"sp.goToTurn":`Go to turn`,"sp.cancel":`Cancel`,"sp.couldntOpen":`Couldn't open {name}: {error}`,"sp.gone":`No longer on disk`,"rail.pending":`Working on this answer. Its sources, files and where its data went appear here when it finishes.`,"rail.noLive":`Couldn't get live data`,"rail.noLiveWhy":`Every web lookup this turn failed, so the answer isn't based on current information.`,"rail.error":`Couldn't put together this turn's sources and details: {error}`,"rail.sources":`Sources`,"rail.searchResult":`search result`,"rail.pages.one":`p. {list}`,"rail.pages.other":`pp. {list}`,"rail.passages.one":`{n} passage`,"rail.passages.other":`{n} passages`,"rail.files":`Files`,"rail.changedSince":`Changed since this turn`,"rail.checkFailed":`Couldn't check whether these files changed: {error}`,"rail.thisTurn":`This turn`,"rail.model":`Model`,"rail.cloudModel":`{name} (cloud)`,"rail.thisPc":`This PC`,"rail.notReported":`Not reported`,"rail.documents":`Documents`,"rail.docsSent":`Searched on this PC. The passages used were sent to {provider}.`,"rail.docsLocal":`Read on this PC and stayed here.`,"rail.docsSearched":`Searched on this PC.`,"rail.websites":`Websites`,"rail.noSites":`None from GAIA's web tools`,"rail.cost":`Cost`,"rail.costLocal":`No cloud charges`,"rail.costAbout":"About ${usd} at list price","rail.costUnknownModel":`Not known for this model`,"rail.costUnknown":`Not known`,"rail.costUnreported":`Not reported for this answer`,"rail.costUnreportedStopped":`Not reported, as the answer was stopped`,"env.title":`Environment`,"env.offline":`Offline`,"env.runsOn":`Runs on`,"env.cloudPlace":`{name} (cloud)`,"env.notKnownYet":`Not known yet`,"env.thisPc":`This PC`,"env.notLoaded":`{model} · not loaded right now`,"env.inUse":`{gb} GB in use`,"env.inUseUnknown":`Memory in use unknown`,"env.free":`{gb} GB free`,"env.reach":`Files GAIA can reach`,"env.readWrite":`Can read and write`,"env.flagshipScope":`These folders are where GAIA starts, not a limit: it can also open folders inside your user folder, one at a time, but never the whole user folder at once. In Ask mode it asks before it opens a new folder or changes anything.`,"env.agentScope":`These folders are where this chat's agent starts; it applies its own limits.`,"env.foldersError":`Couldn't read this chat's folders: {error}`,"env.nothing":`Nothing yet. GAIA can't read or write any folder in this chat.`,"env.fewerFiles":`Show fewer files`,"env.allFiles":`Show all {n} files`,"env.ownProcess":`This chat's agent runs as its own process, so its folders can't be changed from here.`,"env.removed":`Removed: {names}. GAIA is refused there until you add it back.`,"env.addFolder":`Add folder`,"env.remove":`Remove {path} from this chat`,"env.removeShort":`Remove from this chat`,"env.source.added":`Added by you`,"env.source.gaia_documents":`GAIA's documents folder`,"env.source.scratch":`GAIA's scratch folder`,"env.source.document":`Document in this chat`,"env.source.working_folder":`Folder GAIA started in`,"env.source.approved":`Approved during this chat`,"env.source.allowed_paths":`Set by GAIA_ALLOWED_PATHS`,"env.internet":`Internet`,"env.internetFor":`Internet for this chat`,"env.on":`On`,"env.off":`Off`,"env.offBlocked":`Off: web search and pages are blocked`,"env.phone":`Phone access`,"env.stopping":`Stopping…`,"env.starting":`Starting…`,"env.phoneConnected":`{name} connected`,"env.noPhone":`No phone connected yet`,"env.qr":`Show QR code`,"env.permission":`Permission mode`,"env.ask":`Ask`,"env.fullAccessWarn":`Full access lets GAIA change files and run commands on this PC without asking.`,"env.turnOn":`Turn it on`,"perm.ask":`Ask before acting`,"perm.askNote":`GAIA asks before it edits files, runs commands or uses tools that change things.`,"perm.full":`Full access`,"perm.fullNote":`Runs every tool and command without asking, in this chat only.`,"offline.text":`Offline: internet is off for this chat, so GAIA won't search the web or open pages.`,"offline.error":`Couldn't turn it on: {error}`,"offline.turnOn":`Turn on`,"out.title":`Outputs`,"out.kind.file":`File`,"out.kind.export":`Export`,"out.kind.image":`Image`,"out.kind.document":`Indexed document`,"out.kind.memory":`Memory saved`,"out.kind.schedule":`Scheduled task`,"out.change.created":`created`,"out.change.edited":`edited`,"out.change.deleted":`deleted`,"out.kindChanged":`{kind} {change}`,"out.justNow":`just now`,"out.minAgo":`{n} min ago`,"out.hAgo":`{n} h ago`,"out.undone":`Undone`,"out.listError":`Couldn't list what this chat produced: {error}`,"out.empty":`Nothing yet. Files, documents, images and memories this chat makes appear here.`,"out.listLabel":`What this chat produced`,"out.notLoaded":`That turn isn't loaded in the chat right now.`,"out.goToAria":`Go to the turn that made {name}`,"out.fewer":`Show fewer`,"out.more":`Show {n} more`,"tools.title":`Agent info`,"tools.listLabel":`Tools this chat's agent can use`,"tools.listError":`Couldn't list this agent's tools: {error}`,"tools.empty":`This agent has no tools: it answers from the model alone.`,"tools.notRunning":`This chat's agent isn't running yet. It starts with your next message, and its tools show here after that.`,"tools.cat.mcp":`Connectors`,"tools.cat.skill":`Skills`,"tools.cat.agent":`Built in`,"chg.title":`Changes`,"chg.files.one":`{n} file`,"chg.files.other":`{n} files`,"chg.summary":`{files} · +{add} −{del}`,"chg.total":`{files} changed, +{add} −{del}`,"chg.error":`Couldn't total this chat's changes: {error}`,"chg.uncounted.one":`{n} binary or large file not line-counted`,"chg.uncounted.other":`{n} binary or large files not line-counted`,"chg.pending":`A reply is still running; its changes are added when it ends.`,"chg.edited":`Edited`,"chg.created":`Created`,"chg.deleted":`Deleted`,"chg.turns":`{n} turns`,"chg.outside":`Changed outside GAIA: {when}`,"chg.goToLast":`Go to the last turn that changed {name}`,"chg.review":`Review changes`,"chg.wait":`Wait for the reply to finish`,"chg.undoing":`Undoing…`,"chg.undoAll":`Undo all`,"chg.confirmLabel":`Confirm undo all`,"chg.confirm.one":`Put {files} back the way it was before this chat? Every turn's file changes are undone.`,"chg.confirm.other":`Put {files} back the way they were before this chat? Every turn's file changes are undone.`,"chg.undoAnyway":`Undo anyway and lose those changes`,"chg.keep":`Keep them`,"chg.gitError":`Couldn't check for a git repository: {error}`,"pick.label":`Add a folder to this chat`,"pick.title":`Add a folder`,"pick.note":`GAIA will be able to read and write everything in the folder you pick, in this chat only.`,"pick.path":`Folder path`,"pick.go":`Go`,"pick.onlyHidden":`Only hidden folders here. Turn on Show hidden to see them.`,"pick.none":`No folders inside.`,"pick.loading":`Loading…`,"perm.chipAria":`Permission mode: {mode}`,"perm.fullLower":`full access`,"perm.askLower":`ask before acting`,"prompt.allowOnce":`Allow once`,"prompt.allowForChat":`Allow for this chat`,"prompt.alwaysAllow":`Always allow {scope} in this chat`,"prompt.deny":`Deny`,"prompt.details":`Details`,"prompt.in":`in`,"prompt.showAllLines":`Show all {n} lines`,"prompt.showLess":`Show less`,"prompt.timer":`Denied automatically when the time runs out`,"prompt.expired":`No answer in time, so GAIA was told no.`,"prompt.repeated.one":`You've allowed this once already.`,"prompt.repeated.other":`You've allowed this {n} times already.`,"prompt.alwaysHint":`Always allow stops asking about {scope} in this chat.`,"prompt.title.tool":`Allow {tool}?`,"prompt.title.toolId":`Allow GAIA to use {tool}?`,"prompt.needsOk":`GAIA needs your OK before {tool}.`,"prompt.path.title.file":`Let GAIA use this file?`,"prompt.path.title.folder":`Let GAIA use this folder?`,"prompt.path.title.location":`Let GAIA use this location?`,"prompt.path.titleAlso.file":`Also let GAIA use this file?`,"prompt.path.titleAlso.folder":`Also let GAIA use this folder?`,"prompt.path.titleAlso.location":`Also let GAIA use this location?`,"prompt.path.ask":`GAIA wants to use {what}. This chat can't reach it yet. Allow it for this chat?`,"prompt.path.askAlso":`To do what you just allowed, GAIA also needs {what}. This chat can't reach it yet. Allow it for this chat?`,"prompt.path.what.file":`the file {path}`,"prompt.path.what.folder":`the folder {path} and everything in it`,"prompt.path.what.new":`{path}, which doesn't exist yet`,"prompt.path.what.unknown":`a file or folder outside this chat`,"pick.showHidden":`Show hidden`,"pick.up":`Up one level`,"pick.use":`Use this folder`,"ctx.sheetAria":`Context and performance`,"ctx.unknown":`unknown`,"ctx.tokens":`{n} tokens`,"ctx.rate":`{n} tokens/s`,"ctx.rateTitle":`{n} tokens per second`,"ctx.cloud":`Cloud`,"ctx.cloudVia":`Cloud · {provider}`,"ctx.notLoadedNow":`Not loaded now`,"ctx.took":`Took`,"ctx.tookHint":`From sending the message to the answer being saved`,"ctx.split":`split`,"ctx.inModel":`In the model`,"ctx.runningTools":`Running tools`,"ctx.waitingOnYou":`Waiting on you`,"ctx.gaiaItself":`GAIA itself`,"ctx.inGaia":`In GAIA`,"ctx.inGaiaHint":`Everything that was not the model: tools, waiting on you, and GAIA's own work`,"ctx.src.server":`Reported by the model server`,"ctx.src.client":`Measured by GAIA on the stream, network included`,"ctx.toolOutside":`tool work outside a step`,"ctx.firstWord":`First word`,"ctx.in":`in`,"ctx.readingPrompt":`Reading the prompt`,"ctx.readingHint":`Prefill: new prompt tokens over time to first token`,"ctx.tooFewTitle":`Too few new tokens to give a reading speed; the rest came from the cache`,"ctx.onlyNew":`only {n} new tokens`,"ctx.approx":`approx.`,"ctx.approxTitle":`Measured by GAIA from the first word, so it includes network and queue time`,"ctx.writing":`Writing the answer`,"ctx.writingHint":`Generation speed, weighted by tokens`,"ctx.tokensInOut":`Tokens in → out`,"ctx.cache":`Reused from cache`,"ctx.cacheHint":`Prompt tokens the server did not have to read again`,"ctx.modelCalls":`Model calls`,"ctx.toolCalls":`Tool calls`,"ctx.none":`none`,"ctx.loads":`Model loads`,"ctx.costLocalTitle":`Runs on this PC`,"ctx.costLocal":`$0 · on this PC`,"ctx.costUnreported":`Not reported`,"ctx.listPriceTitle":"${usd} at list price","ctx.about":"about ${usd}","ctx.turns":`Turns measured`,"ctx.totalTime":`Total time`,"ctx.unpricedTitle":`{n} turn(s) with no cost estimate: the model has no known price, or its usage wasn’t reported`,"ctx.unpriced":"${usd} + {n} unpriced","ctx.live":`Live in the window`,"ctx.putAway":`Put away`,"ctx.putAwayHint":`Older tool results moved out of the prompt; still readable`,"ctx.results.one":`{n} result`,"ctx.results.other":`{n} results`,"ctx.summarized":`Summarized`,"ctx.summarizedHint":`Older turns folded into a running summary; the originals stay saved`,"ctx.earlier.one":`{n} earlier turn`,"ctx.earlier.other":`{n} earlier turns`,"ctx.summarizedNote":`Earlier messages summarized — still searchable.`,"ctx.filling":`The window is filling up. Older tool results move out of the prompt and stay readable, and the oldest turns may drop out of the model's view. They stay saved, and you can ask GAIA to recall them.`,"ctx.context":`Context`,"ctx.measuring":`Measuring…`,"ctx.used":`{pct}% used`,"ctx.of":`of`,"ctx.tokensWord":`tokens`,"ctx.windowTitle":`GAIA admits this much of the window, so older turns drop out of view sooner than the model would need`,"ctx.gaiaUses":`GAIA uses`,"ctx.ofModel":`of the model's`,"ctx.freeRow":`Free`,"ctx.reserve":`of which kept for the reply`,"ctx.exactTokenizer":`Each part counted with {model}'s own tokenizer.`,"ctx.estimated":`Estimated: {reason}`,"ctx.sharedTokenizer":`counted with a shared tokenizer.`,"ctx.lastRequest":`The last request carried {n} tokens as the model server counted them, chat formatting included.`,"ctx.onDemand":`{n} more tools load only when needed`,"ctx.sentNow":`Sent now: {n}. These cost nothing until a turn needs them:`,"ctx.hood":`Under the hood`,"ctx.show":`Show`,"ctx.lastTurn":`Last turn`,"ctx.memory":`Model memory`,"ctx.memoryHint":`Model weights + KV cache at this window; free memory now`,"ctx.gbModel":`{gb} GB model`,"ctx.gbCache":`{gb} GB cache`,"ctx.freeUnknown":`free unknown`,"ctx.afterNext":`Shown after GAIA's next answer in this chat.`,"ctx.latestAnswer":`Latest answer:`,"ctx.notMeasured":`It was not measured.`,"ctx.meter.aria":`Context {pct}% full: {used} of {window} tokens`,"ctx.meter.title":`How full the model's context window is`,"ctx.meter.titleCapped":`How full GAIA's context window is: GAIA uses {gaia} of the model's {model}`,"ctx.meter.capNote":`GAIA uses {gaia} of the model's {model}`,"ctx.meter.window":`Context window`,"ctx.meter.part.system":`System prompt`,"ctx.meter.part.tools":`Tools`,"ctx.meter.part.documents":`Documents`,"ctx.meter.part.history":`Conversation`,"ctx.meter.part.query":`Your message`,"ctx.meter.reserve":`Kept free for the reply`,"ctx.meter.inView.one":`{n} earlier turn is in view`,"ctx.meter.inView.other":`{n} earlier turns are in view`,"ctx.meter.hidden.one":`; {n} older is out of view`,"ctx.meter.hidden.other":`; {n} older are out of view`,"ctx.meter.exact":`Counted with the model's tokenizer.`,"ctx.meter.estimates":`Estimates.`,"ctx.meter.saved":`Older turns stay saved and can be recalled.`,"ctx.meter.details":`Details: context & performance`,"ctx.meter.warning.one":`The conversation is filling the model's context. The oldest turn may drop out of the model's view next:`,"ctx.meter.warning.other":`The conversation is filling the model's context. The oldest {n} turns may drop out of the model's view next:`,"ctx.meter.warningSaved":`They stay saved, and you can ask GAIA to recall them.`,"settings.title":`Settings`,"settings.sections":`Settings sections`,"settings.close":`Close settings`,"settings.loading":`Loading…`,"settings.section.general":`General`,"settings.section.model":`Model`,"settings.section.permissions":`Permissions`,"settings.section.skills":`Skills`,"settings.section.connectors":`Connectors`,"settings.section.memory":`Memory`,"settings.section.notifications":`Notifications`,"settings.section.privacy":`Privacy`,"settings.section.advanced":`Advanced`,"settings.language":`Language`,"settings.languageHint":`Changes the app’s labels and layout, not the language GAIA answers in.`,"settings.appearance":`Appearance`,"settings.theme.light":`Light`,"settings.theme.dark":`Dark`,"settings.theme.system":`Match system`,"settings.colors":`Colors`,"palette.default":`Warm gray`,"palette.stone":`Stone and ink`,"palette.marble":`Blue marble`,"palette.glacier":`Glacier`,"palette.forest":`Forest floor`,"palette.sage":`Sage and mist`,"palette.basalt":`Basalt and lichen`,"palette.gold":`Graphite and gold`,"palette.dusk":`Dusk`,"settings.colors.custom":`Custom`,"settings.colors.accent":`Accent`,"settings.colors.accentHint":`Buttons, links and focus`,"settings.colors.base":`Background tint`,"settings.colors.baseHint":`The color the grays lean toward`,"settings.colors.reset":`Reset`,"settings.colors.hint":`Text colors adjust on their own so everything stays readable in light and dark.`,"settings.shortcuts":`Keyboard shortcuts`,"settings.shortcut.send":`Send`,"settings.shortcut.newLine":`New line`,"settings.shortcut.stop":`Stop the answer`,"settings.shortcut.newChat":`New chat`,"settings.shortcut.search":`Search chats`,"settings.shortcut.sidebar":`Show or hide the sidebar`,"settings.shortcut.settings":`Settings`,"setup.rail.label":`Setup steps`,"setup.stopped":`Setup stopped.`,"setup.check.heading":`Checking this PC`,"setup.check.headingDone":`This PC is checked`,"setup.check.lede":`This takes a few seconds. Nothing downloads yet.`,"setup.check.ledeDone":`Here's what setup found. Nothing has downloaded yet.`,"setup.checks.count":`Checks done: {done} of {total}`,"setup.checks.device":`Processor, GPU and NPU`,"setup.checks.npu":`Ryzen AI NPU`,"setup.checks.memory":`Memory`,"setup.checks.disk":`Disk space`,"setup.checks.diskValue":`{size} free`,"setup.checks.server":`AI engine`,"setup.checks.serverFound":`Lemonade {version} · {whose}`,"setup.checks.serverChoose":`Choose below`,"setup.checks.backends":`Models for this PC`,"setup.checks.backendsValue":`{models} available, {downloaded} already here`,"setup.plan.step":`Your setup`,"setup.plan.title":`Your setup`,"setup.plan.lede":`An AI model is the part of GAIA that answers you. Here's the one we suggest for this PC.`,"setup.plan.label":`Recommended setup`,"setup.plan.recommended":`Recommended for this PC`,"setup.plan.yours":`Your choice for this PC`,"setup.plan.run":`Run {name} on this PC`,"setup.plan.runsOn":`Runs on`,"setup.plan.cpu":`This PC's processor`,"setup.plan.why.evaluated":`GAIA's tested pick for a PC like this one.`,"setup.plan.why.fits":`Fits this PC: needs {need} of memory, and this PC has {have} for models.`,"setup.plan.why.noImagesNpu":`Reading images is off: the NPU model doesn't read images.`,"setup.plan.why.private":`Works offline, and your chats stay on this PC.`,"setup.plan.why.bigger":`{name} is a bigger model that answers better, but it needs about {need} of memory and this PC has {have}.`,"setup.plan.start":`Download and start`,"setup.plan.startNoDownload":`Test and start`,"setup.plan.customize":`Customize`,"setup.plan.cloud":`Use a cloud model`,"setup.plan.whatDownloads":`See everything that will be downloaded`,"setup.again.notNow":`Not now`,"setup.pc.step":`This PC`,"setup.pc.backend.installed":`Installed`,"setup.pc.backend.available":`Downloads when needed`,"setup.pc.backend.unsupported":`Not supported here`,"setup.gpu.title":`GPU memory`,"setup.gpu.lede":`Optional. GAIA changes nothing unless you pick a new size.`,"setup.models.step":`Models`,"setup.models.gpu":`Graphics (GPU) memory: {gpu} of this PC's {total}. More lets bigger models fit.`,"setup.label.verified":`Verified`,"setup.label.untested":`Untested`,"setup.job.chat":`Chat`,"setup.job.verifiedNote":`Verified models are tested by GAIA on PCs like this one.`,"setup.job.untestedNote":`Untested models are used at your own risk. They may run, but tools, documents or images might not work well.`,"setup.job.untestedPicked":`GAIA will use this model, but we haven't tested it. You can switch in Settings at any time.`,"setup.job.vision":`Reading images`,"setup.job.visionBuiltIn":`Handled by {name}`,"setup.job.nothingMore":`Nothing more to download`,"setup.job.otherVision":`Choose a different model for images`,"setup.job.hideVision":`Hide the other models for images`,"setup.job.visionOffNpu":`{name} runs on the NPU, which doesn't read images, so reading images is off. To read images, choose Graphics (GPU) above.`,"setup.job.visionNeeded":`{name} can't read images, so we picked a model for that job.`,"setup.job.useChatForVision":`Use the chat model`,"setup.job.skipVision":`Skip for now`,"setup.job.skipVisionNote":`Reading images needs a model that can see. GAIA will ask before downloading one.`,"setup.job.documents":`Documents and memory`,"setup.job.documentsOff":`Without it, document search and memory stay off until you add it in Settings.`,"setup.job.extras":`Optional extras`,"setup.job.extrasNote":`Off by default. GAIA asks before downloading these the first time you need them.`,"setup.job.speech":`Speech to text`,"setup.job.speechNote":`For talking to GAIA and transcribing audio`,"setup.job.voice":`Text to speech`,"setup.job.voiceNote":`So GAIA can read answers aloud`,"setup.job.images":`Creating images`,"setup.job.imagesNote":`Makes pictures from a description`,"setup.job.imagesBlocked":`{name} doesn't have this feature yet. Choose a larger chat model to use it.`,"setup.get.title":`What you'll get`,"setup.get.offNpu":`Off on the NPU`,"setup.get.off":`Off for now`,"setup.get.on":`On`,"setup.get.voice":`Voice`,"setup.get.notAvailable":`Not available with this chat model`,"setup.key.title":`Connect a cloud provider`,"setup.key.provider":`Cloud provider`,"setup.key.gatewayOff":`Unavailable: needs AMD's network or VPN.`,"setup.key.checkAgain":`Check the AMD gateway again`,"setup.key.getOne":`Get a key in about a minute`,"setup.key.step1":`Open Fireworks API keys, then sign in or create an account.`,"setup.key.step2":`Create a new API key and copy it.`,"setup.key.step3":`Paste it here. GAIA tests it before saving.`,"setup.key.gatewayHelp":`How to get an AMD LLM Gateway key`,"setup.key.where":`Your key stays on this PC, in your system's secure storage.`,"setup.key.usersServer":`GAIA uses this provider as your Lemonade Server already has it set up. It doesn't send your server a key or change its setup.`,"setup.key.placeholder":`Paste your API key (leave blank to use one you saved before)`,"setup.key.label":`API key`,"setup.key.connect":`Test and connect`,"setup.key.testing":`Testing your key…`,"setup.download.step":`Download`,"setup.download.lede":`Here's everything coming to this PC. You can leave this running and come back.`,"setup.download.starting":`Starting the downloads…`,"setup.contents.title":`Everything being set up`,"setup.contents.from":`From`,"setup.contents.sizeOnDownload":`Size shown when it starts`,"setup.contents.working":`In progress`,"setup.contents.ready":`Ready`,"setup.contents.failed":`Failed`,"setup.contents.alreadyHere":`Already here`,"setup.contents.waiting":`Waiting`,"setup.component.server":`AI engine`,"setup.component.serverNote":`Runs the AI models on this PC (Lemonade).`,"setup.component.backend":`Graphics support`,"setup.component.backendNote":`Lets the models use your graphics chip or processor (llama.cpp).`,"setup.component.agent":`GAIA assistant`,"setup.component.agentNote":`The assistant that plans and carries out your requests.`,"setup.optional.title":`Optional`,"setup.optional.lede":`Add these now and they're fetched and tested after the rest, or add them later in Settings.`,"setup.optional.add":`Add`,"setup.optional.added":`Added`,"setup.test.step":`Test`,"setup.test.title":`Testing everything`,"setup.test.lede":`A download isn't proof it works, so GAIA runs each part for real.`,"setup.test.count":`Tests done: {done} of {total}`,"setup.test.job.server":`AI engine answers`,"setup.test.job.chat":`Chat: loads and answers`,"setup.test.job.vision":`Reading images: names a test image's colour`,"setup.test.job.embedding":`Documents and memory: reads a test sentence`,"setup.test.job.speech":`Speech to text: transcribes a test sound`,"setup.test.job.voice":`Text to speech: speaks a sentence`,"setup.test.job.image_creation":`Creating images: makes a test picture`,"setup.test.job.agent":`A real chat with GAIA`,"setup.test.running":`Running`,"setup.test.waiting":`Waiting`,"setup.test.passed":`Passed`,"setup.test.passedIn":`Passed, {seconds} s`,"setup.test.failed":`Failed`,"setup.test.skipped":`Not on this PC`,"setup.test.failedHelp":`Something didn't work, so GAIA isn't ready yet. Your downloads are safe.`,"setup.test.why.memory":`Not enough free memory to load it right now.`,"setup.test.cancelled":`Testing stopped. Your downloads are safe; test again when you are ready.`,"setup.interrupted":`Setup stopped when GAIA restarted. What had downloaded is kept, so you can pick up where it left off.`,"setup.test.why.broken":`The model file didn't load. Downloading it again usually fixes this.`,"setup.test.why.brokenYours":`The model didn't load on your AI engine. Try another model, or check the model in your AI engine.`,"setup.test.why.answer":`The model loaded but gave an empty or wrong answer. Test again, or choose another model.`,"setup.test.why.window":`The model loaded with less room for a conversation than GAIA needs. Close other apps and test again, or choose a smaller model.`,"setup.test.why.stuck":`It stopped responding before the test finished.`,"setup.test.why.missing":`GAIA's assistant isn't on this PC. Test again to install it.`,"setup.test.why.hub":`GAIA couldn't download its assistant. Check your internet connection, then test again to install it.`,"setup.test.why.agent":`GAIA's assistant didn't answer a test message.`,"setup.test.why.other":`This part didn't work.`,"setup.test.failedMemory":`This PC doesn't have enough free memory right now. Close memory-heavy apps and try again, or choose a smaller model.`,"setup.test.tryAgain":`Test again`,"setup.test.chooseAnother":`Choose another model`,"setup.test.downloadAgain":`Download {name} again`,"setup.test.downloadItAgain":`Download it again`,"setup.ready.step":`Ready`,"setup.ready.heading":`GAIA is ready`,"setup.ready.tasks":`Or start with one of these:`,"settings.section.setup":`Setup`,"settings.setup.lede":`Everything you chose when you set up GAIA. Change one thing, or go through it again.`,"settings.setup.ready":`Ready`,"settings.setup.running":`Running {name}`,"settings.setup.runAgain":`Run setup again`,"settings.setup.where":`Where GAIA runs`,"settings.setup.chatRuns":`Chat model`,"settings.setup.cloudKeys":`Cloud keys`,"settings.setup.detected":`What GAIA detected`,"settings.setup.server":`Model server`,"settings.setup.serverOwn":`GAIA's own Lemonade`,"settings.setup.serverYours":`Your Lemonade Server`,"settings.setup.models":`Models on this PC`,"settings.setup.modelsValue":`Installed: {n}, {size}`,"settings.setup.context":`Context window`,"settings.setup.after":`After setup`,"settings.setup.signIn":`Start at sign-in`,"settings.setup.confirmTitle":`Run setup again?`,"settings.setup.confirmBody":`Your downloaded models, keys and chats stay. Nothing changes until you choose something new.`,"settings.setup.confirmYes":`Start setup`,"modelNeeded.dialog":`Download a model`,"modelNeeded.title.chat":`Chatting needs a model`,"modelNeeded.title.vision":`Reading this image needs a vision model`,"modelNeeded.title.embedding":`Searching documents needs a model`,"modelNeeded.title.speech":`Speech to text needs a model`,"modelNeeded.title.voice":`Reading aloud needs a model`,"modelNeeded.title.image_creation":`Creating images needs a model`,"modelNeeded.free":`Free:`,"modelNeeded.waits":`Your message stays here until it's ready.`,"modelNeeded.starting":`Starting the download…`,"modelNeeded.failed":`The download stopped.`,"modelNeeded.lowDisk":`Needs {need}; only {free} free. Free {freeUp} first, or download anyway.`,"modelNeeded.off.npu.title":`GAIA can't read images on the NPU`,"modelNeeded.off.npu.body":`Your chat model runs on the NPU, which doesn't read images. GAIA will answer without looking at the image. To read images, switch the chat model to the GPU in Settings › Model.`,"modelNeeded.off.send":`Send without the image`,"modelNeeded.notNow":`Not now`,"modelNeeded.download":`Download and continue`,"setup.server.ownFailed":`GAIA couldn't download or start its AI engine. Check your internet connection, then try again.`,"setup.server.unreachable":`The AI engine you chose for GAIA isn't answering.`,"setup.server.tooOld":`The AI engine you chose for GAIA is older than GAIA needs. Update it, or use GAIA's own instead.`,"setup.server.useGaia":`Use GAIA's own instead`,"setup.server.useGaiaNote":`GAIA's own Lemonade Server keeps its own copy of the models.`,"setup.system.unread":`This PC's hardware couldn't be read. Setup still checks it as it goes.`,"setup.purpose.chat":`Answers your messages and runs GAIA's tools`,"setup.purpose.vision":`Reads images and screenshots`,"setup.purpose.embedding":`Searches your documents and remembers things`,"setup.purpose.speech":`Turns speech and recordings into text`,"setup.purpose.voice":`Reads answers aloud`,"setup.purpose.image_creation":`Creates pictures from a description`,"setup.ready.extraFailed":`Failed its test, so it may not work: {job}. You can change it in Settings.`,"setup.ready.extraNotFetched":`Not downloaded: {names}. You can add it in Settings → Setup.`,"setup.offer.checkFailed":`Couldn't check whether this PC already runs an AI engine. Check again, or carry on and GAIA installs its own.`,"setup.offer.keyRejected":`That key wasn't accepted. Enter the key your AI engine was started with, or install GAIA's own.`,"setup.server.howToStart":`How to start it`,"setup.server.setOutside":`A setting outside the app points GAIA at this AI engine, so setup can't switch from here.`,"setup.offer.noAnswer":`Couldn't check whether your Lemonade Server at {url} is running: it didn't answer in time.`,"setup.offer.checkAgain":`Check again`,"setup.offer.looking":`Looking for a Lemonade Server you already run…`,"setup.offer.usingYours":`GAIA will use the AI engine at {url} and won't install its own.`,"setup.offer.usingOwn":`GAIA will install its own AI engine.`,"setup.offer.label":`Use your Lemonade Server`,"setup.offer.title":`GAIA found an AI engine already running on this PC. Use it, or install GAIA's own?`,"setup.offer.whatGaiaDoes":`What GAIA does on your server`,"setup.offer.whatGaiaDoesText":`GAIA downloads and runs its models on your server. It leaves your server's settings and your own models as they are.`,"setup.offer.keyPlaceholder":`The API key your Lemonade Server was started with`,"setup.offer.keyLabel":`Lemonade API key`,"setup.offer.tooOld":`This PC's AI engine is older than GAIA needs, so GAIA installs its own. Yours stays as it is.`,"setup.offer.useMine":`Use the one I have`,"setup.offer.useOwn":`Install GAIA's own`,"setup.title":`Set up GAIA`,"setup.lede.start":`A few minutes of setup, then your first chat.`,"setup.lede.running":`Setting things up. Setup keeps going if you switch away.`,"setup.lede.done":`All set.`,"setup.upgrading.notice":`Updating the local model server…`,"setup.upgrading.failed":"GAIA couldn't update its local model server, so chats may not answer. Try again, or run `gaia init` in a terminal to see why. Details: {error}","setup.upgrading.retry":`Try again`,"setup.check.title":`Check this PC`,"setup.where.title":`Choose where GAIA runs`,"setup.where.local":`On this PC`,"setup.where.localNote":`Private. Models run on your AMD hardware; nothing leaves this machine.`,"setup.where.fireworksNote":`Faster, larger cloud models. Needs an API key; chat history is sent to Fireworks AI.`,"setup.where.amdNote":`For AMD employees. Needs a gateway key; chat history is sent to the gateway.`,"setup.server.install":`Install the local model server`,"setup.server.aboutMinute":`about 1 minute`,"setup.server.yours":`Use your Lemonade Server`,"setup.back":`Back`,"setup.nav.prev":`Previous step`,"setup.nav.next":`Next step`,"setup.found.title":`What setup found`,"setup.found.models":`Models setup can download here`,"setup.found.col.model":`Model`,"setup.found.col.job":`Job`,"setup.found.col.tested":`Tested`,"setup.found.col.size":`Size`,"setup.found.notDownloaded":`Not downloaded`,"setup.found.hardware":`Hardware`,"setup.found.col.runtime":`Runtime`,"setup.found.col.device":`Device`,"setup.found.col.version":`Version`,"setup.found.col.state":`Status`,"setup.found.openFailed":`Couldn't open the folder: {error}`,"setup.found.build.release_candidate":`Release candidate`,"setup.found.build.local":`Local build`,"setup.found.build.source":`From source`,"setup.found.changeMemory":`Change how memory is split`,"setup.found.runsOn":`Runs models on`,"setup.found.memory":`Memory for models`,"setup.found.memoryOf":`{size} of {total}`,"setup.found.space":`Free space for models`,"setup.found.software":`Software`,"setup.found.modelsFolder":`Open the models folder`,"setup.found.gaiaFolder":`Open GAIA's data and logs`,"setup.found.details":`All details`,"setup.checks.allPassed":`All {n} checks passed`,"setup.found.copy":`Copy these details`,"setup.found.copied":`Copied`,"setup.found.copyFailed":`Couldn't copy`,"setup.found.agent":`GAIA assistant`,"setup.found.agentLater":`Installed during setup`,"setup.found.server":`AI engine`,"setup.found.serverOwn":`GAIA's own`,"setup.found.serverYours":`Yours`,"setup.found.runtime":`Runs models with`,"setup.found.os":`Operating system`,"setup.found.cpu":`Processor`,"setup.found.gpu":`Graphics`,"setup.found.npu":`NPU`,"setup.found.none":`None found`,"setup.found.cores":`{cores} cores, {threads} threads`,"setup.found.unknown":`Not reported`,"setup.nav.stepOf":`Step {n} of {total}`,"setup.next":`Next`,"setup.nav.label":`Move between setup steps`,"setup.nav.toLive":`Back to {step}`,"setup.nav.runGoing":`Setup is running. To change this, cancel it or wait until it finishes.`,"setup.backToGaia":`Back to GAIA`,"setup.continue":`Continue`,"setup.continueAnyway":`Continue anyway`,"setup.cancel":`Cancel`,"setup.finish":`Finish setup`,"setup.tryAgain":`Try again`,"setup.reconnect":`Reconnect`,"setup.lostContact":`Lost contact with GAIA: {error}`,"setup.progressUnread":`Could not read setup progress: {error}`,"setup.key.noModels":`Connected, but the provider listed no chat models.`,"setup.keepTrying":`Keep trying if the connection drops (up to 2 minutes)`,"setup.resume.banner":`Last time’s download didn’t finish. Starting the download picks up where it stopped.`,"setup.failedLead":`Something went wrong. Try again; Details say what happened.`,"setup.resume.resume":`Resume`,"setup.models.title":`Choose your models`,"setup.backend.title":`Run on`,"setup.backend.gpu":`Graphics (GPU)`,"setup.backend.npu":`Ryzen AI NPU`,"setup.backend.hint":`The GPU is fastest. The NPU is a low-power AI chip that leaves the graphics free. Picking one picks its chat model below.`,"setup.backend.hintNoNpu":`Chat runs on this PC's graphics (GPU).`,"setup.backend.hintNpuUnusable":`Chat runs on this PC's graphics (GPU). This PC's Ryzen AI NPU can't run GAIA's models.`,"setup.npu.notReady":`This PC has a Ryzen AI NPU, but it isn't set up to run models yet:`,"setup.npu.problem.driver":`The NPU driver (amdxdna) isn't loaded.`,"setup.npu.fix.driver":`It comes with Linux 6.14 and later. Update the kernel, or install AMD's NPU driver for your distribution, then restart the PC.`,"setup.npu.problem.device":`The NPU driver is loaded, but the NPU didn't start.`,"setup.npu.fix.device":`This is most often missing or old NPU firmware. Update your distribution's linux-firmware package, then restart the PC.`,"setup.npu.problem.firmware":`The NPU firmware is version {version}, and the NPU needs 1.1 or later.`,"setup.npu.fix.firmware":`Update your distribution's linux-firmware package, or AMD's NPU driver package, then restart the PC.`,"setup.npu.problem.runtime":`The NPU runtime (FastFlowLM) didn't run: {detail}`,"setup.npu.fix.runtime":`Restart the PC and check again. If it still fails, GAIA's log has the full error to report.`,"setup.npu.problem.access":`Your account can't open the NPU ({device}).`,"setup.npu.fix.access":`Give your account read and write access to it, then sign out and back in.`,"setup.npu.fix.accessGroup":`Add your account to the {group} group, then sign out and back in.`,"setup.npu.problem.memlock":`The locked-memory limit is {limit}, and the NPU needs it unlimited.`,"setup.npu.fix.memlock":`GAIA can raise it for everyone on this PC, once, with an administrator password; then restart the PC.`,"setup.npu.problem.memlockStill":`The locked-memory limit is still {limit}.`,"setup.npu.fix.memlockRestart":`GAIA has raised it for everyone on this PC. Restart the PC to finish.`,"setup.npu.problem.memlockStuck":`The locked-memory limit is still {limit} after a restart.`,"setup.npu.fix.memlockStuck":`Something on this PC sets a lower limit after GAIA's, often DefaultLimitMEMLOCK in /etc/systemd/user.conf. GAIA's NPU guide shows how to find it.`,"setup.npu.fixMemlock":`Raise the limit`,"setup.npu.fixError.cancelled":`The administrator prompt was closed, so nothing changed. Try again and enter an administrator password.`,"setup.npu.fixError.timeout":`The administrator prompt wasn't answered in time. Try again.`,"setup.npu.fixError.notAuthorized":`GAIA couldn't show an administrator prompt here, or this account isn't allowed to use one. Run GAIA from the desktop, or ask an administrator to follow GAIA's NPU guide.`,"setup.npu.fixError.noPkexec":`GAIA can't ask for the administrator password on this PC because polkit isn't installed. GAIA's NPU guide has the steps to raise the limit by hand.`,"setup.npu.fixError.failed":`GAIA couldn't raise the limit. The GAIA log has the details, and GAIA's NPU guide has the steps to do it by hand.`,"setup.npu.meanwhile":`Until then chat runs on the graphics (GPU). GAIA's NPU guide has the steps for each Linux distribution.`,"setup.npu.recheck":`Check again`,"setup.npu.recheckFailed":`GAIA couldn't check the NPU again. Make sure the model server is running, then try again.`,"setup.models.lede":`These are the models GAIA will use on this PC. Untick any you don’t want; you can add them later in Settings.`,"setup.models.cloudLede":`Chat runs in the cloud. GAIA still needs this small model on this PC to search your files and remember things.`,"setup.models.cloudNote":`Cloud models need no download.`,"setup.models.loading":`Reading the models on this PC…`,"setup.models.listFailed":`Couldn’t read the model list from the AI engine: {reason}`,"setup.models.useRecommended":`Use the recommended set`,"setup.models.useRecommendedNote":`The recommended set is setup’s own list for this PC. GAIA can’t tell how each one fits until the list can be read.`,"setup.models.allPresent":`Everything is already on this PC.`,"setup.models.change":`Change models`,"setup.models.resetRecommended":`Tick only the recommended models`,"setup.models.neverDeletes":`Unticking never deletes a model.`,"setup.models.more":`More models GAIA can download ({n})`,"setup.models.moreLabel":`More models GAIA can download`,"setup.models.installed":`Other models you already have ({n})`,"setup.models.installedLabel":`Other models you already have`,"setup.models.search":`Search models`,"setup.models.useAsDefault":`Use as the chat model`,"setup.models.defaultChat":`Default chat model`,"setup.models.noChat":`No chat model picked`,"setup.models.noChatReason":`Pick at least one chat model, or choose a cloud provider in step 2.`,"setup.models.npu":`NPU`,"setup.models.recommended":`Recommended for this PC`,"setup.models.fitUnknown":`Fit unknown`,"setup.models.purpose.chat":`Chat`,"setup.models.purpose.vision":`Images`,"setup.models.purpose.documents":`Documents`,"setup.models.line.chat":`Answers your chats.`,"setup.models.line.vision":`Reads images and screenshots.`,"setup.models.line.documents":`Lets GAIA search your files and remember things.`,"setup.models.fit.ok":`Needs about {need} of memory; this PC has {have} for models.`,"setup.models.fit.unknown":`GAIA couldn’t read this PC’s memory, so it can’t tell if this fits.`,"setup.models.status.onPc":`On this PC`,"setup.models.status.download":`Download {size}`,"setup.models.status.partial":`Partly downloaded, {size} left`,"setup.models.status.sizeUnknown":`Size unknown`,"setup.models.status.downloading":`Downloading {done} of {total}`,"setup.models.warn.tooBig":`Needs about {need}; this PC has {have}. It may be very slow or fail to load.`,"setup.models.warn.npu":`Runs only on a Ryzen AI NPU, and this PC has none that can run it.`,"setup.models.warn.backend":`This PC's AI engine can't run this kind of model.`,"setup.models.cantRun.chat":`{name} can't run on this PC. {why} Choose another chat model.`,"setup.models.cantRun.other":`{name} can't run on this PC. {why} Untick it to continue.`,"setup.models.warn.tooBigNoNumbers":`May not run on this PC: it may need more memory than this PC has for models.`,"setup.blocked":`This PC can't run GAIA's models as it is. Details say why; a cloud model still works.`,"setup.download.working":`Setting things up…`,"setup.found.noticed":`Setup noticed something about this PC`,"setup.models.warn.vision":`Without {name}, GAIA can’t read images or screenshots. You can add it later in Settings.`,"setup.models.warn.documents":`Without {name}, GAIA can’t search your files or remember things. You can add it later in Settings.`,"setup.summary.label":`Download total`,"setup.summary.download":`Download`,"setup.summary.free":`Free`,"setup.summary.freeOn":`Free on {drive}`,"setup.summary.after":`After`,"setup.summary.sizeUnknown":`Size unknown`,"setup.summary.freeUnknown":`Free space unknown`,"setup.summary.theDrive":`the model drive`,"setup.summary.short":`Needs {need}; only {free} free on {drive}. Free {freeUp}, or untick more models.`,"setup.summary.shortDrop":`Needs {need}; only {free} free on {drive}. Free {freeUp} or untick {name} (saves {saves}).`,"setup.summary.spoken":`Download {download}. {after} free after.`,"setup.summary.spokenNoDisk":`Download {download}. Free space unknown.`,"setup.summary.spokenUnknown":`Download size unknown.`,"setup.confirm.noFitOne":`{name} may not fit this PC. Download it anyway?`,"setup.confirm.noFitMany":`Some models may not fit this PC. Download them anyway?`,"setup.confirm.noFitServerTitle":`This model may not run on this PC`,"setup.confirm.lowDiskTitle":`Not enough free disk space`,"setup.confirm.downloadAnyway":`Download anyway`,"setup.confirm.useAnyway":`Use it anyway`,"setup.confirm.pickSmaller":`Pick a smaller one`,"setup.confirm.changeModels":`Change models`,"setup.download.title":`Downloading`,"setup.plan.diskAfter":`Space left after`,"setup.job.lede":`Pick what each job uses. Nothing downloads until you continue.`,"setup.download.verifying":`Checking that the models load…`,"setup.download.finishNote":`The downloads are done. Finish setup checks that they load.`,"setup.download.stoppedBeforeCheck":`Setup stopped before it could check that the models load. They are kept; Finish setup checks them now.`,"setup.state.queued":`Queued`,"setup.state.downloading":`Downloading`,"setup.state.verifying":`Checking`,"setup.state.ready":`Ready`,"setup.state.failed":`Failed`,"setup.state.skipped":`Skipped`,"setup.state.cancelled":`Cancelled`,"setup.state.unchecked":`Downloaded`,"setup.progress.overallLabel":`Overall download`,"setup.progress.overallPct":`Overall {n}%`,"setup.progress.percent":`{n} percent`,"setup.progress.of":`{done} of {total}`,"setup.progress.left":`{eta} left`,"setup.progress.estimating":`Estimating…`,"setup.progress.failedCount":`Failed: {n}`,"setup.progress.rowLabel":`{name}, {state}`,"setup.progress.waitingCheck":`Downloaded. GAIA checks that it loads once the others finish.`,"setup.progress.unchecked":`Downloaded and kept. GAIA checks that it loads when you finish setup.`,"setup.redownload.title":`Download {name} again?`,"setup.redownload.body":`{name} downloaded but didn’t load. GAIA deletes the copy on this PC and downloads it again ({size}).`,"setup.redownload.confirm":`Delete and download again`,"setup.redownload.keep":`Keep it`,"setup.progress.checkingLoad":`Checking that it loads…`,"setup.progress.checkingFor":`Checking that it loads… {n} s`,"setup.progress.keptPartial":`{done} kept. Resume continues from there.`,"setup.progress.retrying":`The connection dropped. Trying again for {n} more seconds…`,"setup.progress.stalled":`No data for {n} seconds. Still trying…`,"setup.progress.stuck":`The download seems stuck. Retry?`,"setup.progress.details":`Details`,"setup.progress.logFor":`Download log for {name}`,"setup.logs.title":`Setup logs`,"setup.logs.check":`Checks log`,"setup.logs.download":`Download log`,"setup.logs.test":`Test log`,"setup.logs.report":`Save a troubleshooting report`,"setup.logs.reportNote":`Setup's logs, GAIA's logs and this PC's details in one file. Saved keys aren't included, but logs go in as they are, so look it over before you attach it to a report.`,"setup.logs.reportSaved":`Saved ({size}). A copy is also in`,"setup.logs.reportFailed":`Couldn't save the report: {error}`,"setup.progress.retry":`Retry`,"setup.progress.resume":`Resume`,"setup.progress.resumeAll":`Resume all`,"setup.progress.retryLater":`Retry becomes available once the other downloads finish.`,"setup.progress.skipModel":`Skip this model`,"setup.progress.cancel":`Cancel`,"setup.progress.keepsGoing":`Downloads keep going if you switch away.`,"setup.progress.cancelTitle":`Stop downloading?`,"setup.progress.cancelBody":`Finished models stay. Partial downloads are kept so you can resume.`,"setup.progress.cancelConfirm":`Stop`,"setup.progress.cancelKeep":`Keep downloading`,"setup.progress.announceState":`{name}: {state}`,"setup.progress.announceFailed":`{name} failed to download.`,"setup.progress.announceOverall":`Downloads {n} percent done.`,"setup.fail.network":`The connection dropped while downloading {name}. Press Retry to continue from where it stopped.`,"setup.fail.diskFull":`Ran out of disk space after {done} of {name}. Free {need} and press Retry. Nothing was lost; the download continues from where it stopped.`,"setup.fail.verify":`{name} downloaded but didn’t load. Retry deletes it and downloads it again.`,"setup.fail.testMemory":`{name} is downloaded, but this PC didn’t have enough free memory to test it. Close some apps, then press Retry to test it again. Nothing is downloaded again.`,"setup.fail.testStuck":`{name} is downloaded, but the model server didn’t answer before its test finished. Press Retry to test it again. Nothing is downloaded again.`,"setup.fail.testAnswer":`{name} loaded, but its test got nothing usable back. Details has what it returned. Press Retry to test it again. Nothing is downloaded again.`,"setup.fail.testWindow":`{name} loaded with a smaller context window than GAIA needs. Press Retry to test it again. Nothing is downloaded again.`,"setup.fail.pathTooLong":`Windows couldn't save {name}: the path to the models folder is too long. Turn on long file paths in Windows, or use a models folder with a shorter path, then press Retry.`,"setup.fail.lemonade":`GAIA couldn’t download {name}. Details has the reason.`,"setup.eta.sec":`about {n} sec`,"setup.eta.min":`about {n} min`,"setup.eta.long":`over 2 hours`,"setup.eta.secSpoken":`about {n} seconds left`,"setup.eta.minSpoken":`about {n} minutes left`,"setup.ready.answersLocal":`{model} answers on this PC.`,"setup.ready.answersCloud":`{model} answers in the cloud.`,"setup.ready.start":`Start chatting`,"setup.ready.chat":`Chat`,"setup.ready.vision":`Reading images`,"setup.ready.visionOff":`Off. Add {name} in Settings to read images.`,"setup.ready.documents":`Documents and memory`,"setup.ready.notInstalled":`Not installed (add later in Settings)`,"setup.ready.gpu":`GPU memory`,"setup.ready.gpuNow":`GPU memory is now {gb}.`,"setup.ready.gpuChanged":`GPU memory changed.`,"engine.title":`Getting GAIA ready`,"engine.lede":`This runs once after an install or update. It can take a few minutes.`,"engine.stage.preChecks":`Checking your PC`,"engine.stage.ensureUv":`Getting the installer ready`,"engine.stage.createVenv":`Preparing GAIA’s workspace`,"engine.stage.installPackage":`Installing GAIA`,"engine.stage.verify":`Finishing up`,"engine.stage.agentRefresh":`Updating the GAIA agent`,"engine.stage.start":`Starting GAIA`,"engine.stage.neutral":`Setting up GAIA`,"engine.failed.title":`GAIA couldn’t finish installing`,"engine.continueWithout":`Continue with the current agent`,"engine.failed.agentTitle":`GAIA couldn’t update its agent`,"engine.hint.disk":`Free up some disk space, then try again.`,"engine.hint.network":`Check your internet connection, then try again.`,"engine.hint.tls":`Your network doesn’t trust the download server’s certificate, which usually means a company proxy. Ask your IT team to trust it, then try again.`,"engine.hint.locked":`Another program still has GAIA’s files open. Close other GAIA apps and terminals, or restart your PC, then try again.`,"engine.hint.daemon":`GAIA’s background service is still running and has no window to close. Restart your PC, then try again.`,"engine.locked.gaia":`Another copy of GAIA ({name}, started from {folder}) has GAIA’s files open.`,"engine.locked.gaiaNoFolder":`Another copy of GAIA ({name}) has GAIA’s files open.`,"engine.locked.other":`Another program ({name}, in {folder}) has GAIA’s files open.`,"engine.locked.otherNoFolder":`Another program ({name}) has GAIA’s files open.`,"engine.locked.closeThen":`Close it, then try again.`,"engine.locked.closeThenMany":`Close them, then try again.`,"engine.locked.close":`Close it and continue`,"engine.locked.closeMany":`Close them and continue`,"engine.hint.agent":`Check your internet connection, then try again. Your chats and models are safe.`,"engine.hint.other":`Try again. If it keeps failing, Details has the log.`,"engine.tryAgain":`Try again`,"engine.details":`Details`,"engine.openLog":`Open log file`,"gpu.title":`Give the GPU more memory`,"gpu.settingsTitle":`GPU memory`,"gpu.body":`This PC shares {total} between the processor (CPU) and graphics (GPU). The GPU has {gpu} now. AI models run on the GPU, so more here means bigger models.`,"gpu.split.aria":`Memory split: CPU {cpu}, GPU {gpu}`,"gpu.split.gpu":`GPU {gb}`,"gpu.split.added":`Added {gb}`,"gpu.split.ariaTarget":`Memory split after the change: CPU {cpu}, GPU {gpu} (now {now})`,"gpu.split.cpu":`CPU {gb}`,"gpu.presets.label":`GPU memory`,"gpu.presets.gpu":`GPU {gb}`,"gpu.presets.recommended":`Recommended`,"gpu.presets.max":`Max`,"gpu.maxWarn":`Max leaves {cpu} for {os} and your apps. Big apps and many browser tabs may slow down or run out of memory.`,"gpu.keepRecommended":`Recommended: keep the current split. {model} already fits, so more GPU memory is optional.`,"gpu.unlock.one":`With {gb} for the GPU, {a} fits.`,"gpu.unlock.two":`With {gb} for the GPU, {a} and {b} fit.`,"gpu.unlock.none":`With {gb} for the GPU, bigger models load faster and hold longer chats.`,"gpu.reserve":`GAIA keeps at least {gb} for {os} and your apps.`,"gpu.needs":`Changing it needs administrator permission and a restart.`,"gpu.noPresets":`This PC can’t give the GPU more memory and still keep enough for the system.`,"gpu.apply":`Apply`,"gpu.showMe":`Show me how`,"gpu.skip":`Skip for now`,"gpu.undo":`Undo`,"gpu.ok":`OK`,"gpu.tryAgain":`Try again`,"gpu.keep":`Keep {gb}`,"gpu.waiting":`Waiting for permission…`,"gpu.applied":`Done. Restart your PC to use {gb}.`,"gpu.appliedAny":`Done. Restart your PC to use the new GPU memory.`,"gpu.denied":`Permission wasn’t given, so nothing changed.`,"gpu.consent.title":`Give the GPU {gb}?`,"gpu.consent.titleAny":`Give the GPU more memory?`,"gpu.consent.body":`GAIA will change {name} so the GPU has {gb}. This needs administrator permission and a restart. Nothing else changes, and you can change it back in Settings.`,"gpu.consent.bodyAny":`GAIA will change {name} so the GPU has more memory. This needs administrator permission and a restart. Nothing else changes, and you can change it back in Settings.`,"gpu.consent.saved":`The GPU has {gb} now. GAIA saves this setting so you can undo.`,"gpu.revert.title":`Undo the GPU memory change?`,"gpu.revert.body":`GAIA will put GPU memory back the way it was before GAIA changed it. This needs administrator permission and a restart.`,"gpu.pending.restart":`Restart your PC to use {gb}.`,"gpu.pending.restartAny":`Restart your PC to use the new GPU memory.`,"gpu.pending.restartHow":`GAIA never restarts it for you; save your work first.`,"gpu.pending.downloadsFirst":`Downloads can start now; restart when they finish.`,"gpu.pending.tookEffect":`GPU memory is now {gb}.`,"gpu.pending.notApplied":`The PC still reports {gb}. The change may not have applied. Try again, or follow the steps to set it yourself.`,"gpu.guided.lede":`To give the GPU {gb}:`,"gpu.guided.loading":`Getting the steps for this PC…`,"gpu.guided.done":`I’ve done this`,"gpu.guided.back":`Back`,"gpu.copy":`Copy`,"gpu.copied":`Copied`,"gpu.copyAria":`Copy {what}`,"gpu.copyFailed":`Couldn’t copy: {reason}. Select the text and copy it instead.`,"settings.models.title":`Models on this PC`,"settings.models.warn.kept":`{name} stays on this PC. Unticking it only stops setup from downloading it again; Remove deletes it.`,"settings.models.warn.vision":`Without {name}, GAIA can’t read images or screenshots. Tick it to download it.`,"settings.models.warn.documents":`Without {name}, GAIA can’t search your files or remember things. Tick it to download it.`,"settings.models.lede":`Tick what you want on this PC. Ticked models that are missing download when you apply; unticking never deletes one.`,"settings.models.apply":`Apply changes`,"settings.models.applyDownload":`Apply: download {size}`,"settings.models.applying":`Saving…`,"settings.models.applied":`Saved.`,"settings.models.remove":`Remove`,"settings.models.removeAria":`Remove {name}`,"settings.models.removeTitle":`Remove {name}?`,"settings.models.removeBody":`This frees {size}. You can download it again.`,"settings.models.removeVision":`This frees {size} and turns off reading images. You can download it again.`,"settings.models.removeConfirm":`Remove`,"settings.models.keep":`Keep`,"settings.models.removed":`Removed {name}; {size} freed.`,"settings.models.unavailable":`The local model server isn’t answering, so GAIA can’t list the models on this PC yet.`,"settings.models.downloads":`Downloads`,"settings.memory.lede":`GAIA remembers facts, preferences and past conversations across chats, on this PC only. Private chats (the eye icon in a chat) are never remembered.`,"settings.memory.remember":`Remember across chats`,"settings.memory.dashboard":`Open the memory dashboard`,"settings.memory.dashboardHint":`Search, edit and forget what GAIA remembers.`,"settings.privacy.whereTitle":`Where your data is`,"settings.privacy.stays":`Chats, documents and memory stay on this PC.`,"settings.privacy.remote":`Right now answers come from {name}, so each message and the chat history are sent there.`,"settings.privacy.local":`Right now answers are generated on this PC too.`,"settings.privacy.unknown":`GAIA can't tell right now whether answers are generated on this PC or by a cloud provider.`,"settings.privacy.dataFolder":`Data folder`,"settings.privacy.undo":`Undo history`,"settings.privacy.deleteTitle":`Delete chats`,"settings.privacy.deleteWarning":`Deletes every chat and its messages, and removes them from Memory. Documents are kept, and what GAIA learned about you stays in About you.`,"settings.privacy.delete":`Delete all chats`,"settings.privacy.nothingToDelete":`No chats to delete yet.`,"settings.privacy.deleteConfirm":`Click again to delete all chats`,"settings.privacy.deleted":`All chats deleted.`,"settings.privacy.deleteFailed":`Could not delete {n} chat(s): {reason}`,"settings.permissions.lede":`GAIA asks before it changes files, runs commands, or uses tools that act on your behalf.`,"settings.permissions.perChat":`Pick a mode per chat from the shield next to the message box. “Always allow” covers one exact action in one chat and ends when GAIA restarts.`,"settings.permissions.newChats":`New chats`,"settings.permissions.fullAccess":`Start new chats in full access`,"settings.permissions.on":`On. Every new chat runs commands and changes files without asking. Chats already open keep their mode.`,"settings.permissions.off":`Off. New chats ask before they change files or run commands. Chats already open keep their mode.`,"settings.permissions.warning":`Full access lets GAIA change or delete files and run commands on this PC without asking you first, in every new chat, until you turn this off. A mistake or a bad instruction in a document it reads can do real damage. This is the same setting as the TUI’s /full-access always.`,"settings.permissions.turnOn":`Turn on full access for new chats`,"settings.permissions.turnOff":`Turn off full access`,"settings.permissions.none":`No chat has full access or anything allowed without asking.`,"settings.permissions.chats":`Chats with extra access`,"settings.permissions.revoke":`Revoke`,"settings.permissions.revokeAria":`Revoke {name}`,"settings.permissions.revokeAll":`Revoke all in this chat`,"settings.alerts.lede":`When a chat you aren't looking at needs you or finishes. A banner also counts on the badge.`,"settings.alerts.when":`Alerts`,"settings.alerts.approval":`Needs your approval`,"settings.alerts.question":`Has a question`,"settings.alerts.finished":`Finished`,"settings.alerts.banner":`Banner`,"settings.alerts.badge":`Badge`,"settings.alerts.off":`Off`,"settings.alerts.allow":`Allow banners in this browser`,"settings.alerts.unsupported":`This browser can't show banners; alerts appear in the chat list only.`,"settings.alerts.blocked":`This browser blocks banners from GAIA. Allow notifications for this site in the browser’s site settings.`,"settings.alerts.sound":`Play a sound`,"settings.alerts.flash":`Flash the taskbar when GAIA isn't focused`,"settings.alerts.keepAwakeTitle":`Keep awake`,"settings.alerts.keepAwake":`Keep the PC awake while GAIA works`,"settings.alerts.battery":`On battery, let it sleep below`,"settings.alerts.never":`Never`,"settings.alerts.screen":`The screen can still turn off; only sleep is held off.`,"settings.alerts.desktopOnly":`Keep-awake needs the GAIA desktop app.`,"settings.skills.lede":`Skills teach GAIA a job: a workflow, a CLI, a document type.`,"settings.skills.how":`GAIA loads a skill when a request needs it, and keeps the lessons it learns while using it. Your own skills go in {path}, one folder each with a SKILL.md file.`,"settings.skills.bundled":`Built into GAIA`,"settings.skills.bundledNote":`Ship with GAIA.`,"settings.skills.yours":`Yours`,"settings.skills.yoursNote":`From your {path} folder.`,"settings.skills.yoursEmpty":`None yet. Add a folder with a SKILL.md file to {path} and reopen this page.`,"settings.skills.project":`From this project`,"settings.skills.projectNote":`In the {path} folder of the project GAIA is working in. Their instructions load; any tools or commands they ask for stay off until you import them.`,"settings.skills.import":`From Claude Code`,"settings.skills.importNote":`Found in your Claude Code skill folders. GAIA reads them in place and does not change them.`,"settings.skills.alwaysOn":`Always on`,"settings.skills.useAria":`Use {name} in a new chat`,"settings.skills.search":`Search skills`,"settings.skills.none":`No skills are installed.`,"settings.skills.skipped":`Skipped, could not be read`,"settings.advanced.status":`System status`,"settings.advanced.checking":`Checking system...`,"settings.advanced.modelServer":`Model server`,"settings.advanced.running":`Running`,"settings.advanced.runningAt":`Running v{version}`,"settings.advanced.unavailable":`Status unavailable`,"settings.advanced.notRunning":`Not Running`,"settings.advanced.notInstalled":`Not Installed`,"settings.advanced.notInstalledHint":`Set it up to run models on this PC. Cloud providers still work.`,"settings.advanced.notRunningHint":`It normally starts on its own. Models on this PC work again once it is back.`,"settings.advanced.queryFailed":`Could not query it: {reason}`,"settings.advanced.noneLoaded":`None loaded`,"settings.advanced.loadsFirst":`None loaded yet — it loads with the first message.`,"settings.advanced.expected":`Expected: {name}`,"settings.advanced.disk":`Disk space free`,"settings.advanced.diskLow":`Local models need about {need} — only {size} free`,"settings.advanced.notDownloaded":`Model not downloaded.`,"settings.advanced.notDownloadedHint":`{name} is GAIA’s default local model (about {need}).`,"settings.advanced.downloading":`Downloading…`,"settings.advanced.wrongModel":`Wrong model loaded.`,"settings.advanced.smallContext":`Context window too small.`,"settings.advanced.loadHint":`Load {name} with {size} token context.`,"settings.advanced.loading":`Loading…`,"settings.advanced.load":`Load Model`,"settings.advanced.details":`More details`,"settings.advanced.modelSize":`Model Size`,"settings.advanced.device":`Device`,"settings.advanced.context":`Context Window`,"settings.advanced.capabilities":`Capabilities`,"settings.advanced.embedding":`Embedding Model`,"settings.advanced.available":`Available`,"settings.advanced.notLoaded":`Not loaded`,"settings.advanced.memory":`Memory available`,"settings.advanced.unknown":`unknown`,"settings.advanced.processor":`Processor`,"settings.advanced.corrupted":`If the model file is corrupted:`,"settings.advanced.redownload":`Force Re-download`,"settings.advanced.unreachable":`Could not reach GAIA. Check that it is still running.`,"settings.advanced.serverTitle":`Model server settings`,"settings.advanced.serverHint":`Which server GAIA uses, its address and llama.cpp backend.`,"settings.advanced.customTitle":`Custom model ID`,"settings.advanced.customHint":`Run any model the local server knows by its ID.`,"settings.advanced.customDesc":`Leave empty to use the model chosen under Model.`,"settings.advanced.customPlaceholder":`Use the model chosen under Model`,"settings.advanced.customAria":`Custom model override`,"settings.advanced.customSave":`Save custom model`,"settings.advanced.customIds":`Accepts a Lemonade model ID (e.g. Qwen3-4B-Instruct-2507-GGUF) or a HuggingFace ID (e.g. unsloth/Qwen3-4B-GGUF).`,"settings.advanced.save":`Save`,"settings.advanced.saved":`Saved`,"settings.advanced.saveFailed":`Could not save`,"settings.advanced.dynamicTitle":`Beta: Dynamic Tools`,"settings.advanced.dynamicDesc":`Trim each turn’s tool list to a semantically-matched subset to speed up the first response. It does not apply to the GAIA agent yet.`,"settings.advanced.dynamicEnable":`Enable dynamic tool loading`,"settings.advanced.dynamicOn":`Enable dynamic tools`,"settings.advanced.dynamicOff":`Disable dynamic tools`,"settings.advanced.dynamicLocked":`Controlled by GAIA_DYNAMIC_TOOLS — unset that environment variable to change this here.`,"settings.advanced.mcp":`MCP Servers`,"settings.advanced.tools.one":`{n} tool`,"settings.advanced.tools.other":`{n} tools`,"settings.advanced.about":`Privacy-first AI chat for AMD Ryzen AI PCs.`,"settings.connectors.scope.gmailRead":`Read emails`,"settings.connectors.scope.gmailModify":`Organize emails (archive, label, trash)`,"settings.connectors.scope.gmailSend":`Send emails on your behalf`,"settings.connectors.scope.gmailCompose":`Compose emails`,"settings.connectors.scope.calendarRead":`View calendar events`,"settings.connectors.scope.calendarEvents":`Create & respond to calendar events`,"settings.connectors.scope.driveRead":`Read Google Drive files`,"settings.connectors.scope.driveFile":`Manage Drive files created by this app`,"settings.connectors.scope.sheetsRead":`Read Google Sheets`,"settings.connectors.scope.sheets":`Edit Google Sheets`,"settings.connectors.scope.openid":`Identify you`,"settings.connectors.scope.email":`See your email address`,"settings.connectors.scope.profile":`See your basic profile info`,"settings.connectors.scope.outlookMail":`Read & organize Outlook mail (archive, label, trash)`,"settings.connectors.scope.outlookSend":`Send Outlook mail on your behalf`,"settings.connectors.scope.outlookCalendar":`Create & respond to Outlook calendar events`,"settings.connectors.scope.outlookCalendarRead":`View Outlook calendar events`,"settings.connectors.scope.microsoftProfile":`Read your basic Microsoft profile`,"settings.connectors.lede":`Connect accounts and MCP servers so GAIA can use them on your behalf. Choose what GAIA may do with each one.`,"settings.connectors.search":`Search connectors`,"settings.connectors.none":`No connectors are available.`,"settings.connectors.noMatch":`No connectors match.`,"settings.connectors.connected":`Connected`,"settings.connectors.accounts":`Accounts`,"settings.connectors.accountsHint":`Sign in so GAIA can reach your mail, calendar and files.`,"settings.connectors.servers":`MCP servers`,"settings.connectors.serversHint":`Add tools from other services.`,"settings.connectors.agentServers":`Custom agent servers`,"settings.connectors.notRevoked":`Disconnected locally, but the provider did not confirm the revoke ({reason}). It may still show as connected in your account's app permissions.`,"settings.connectors.localOnly":`Disconnected locally. {reason}`,"settings.connectors.noRevokeApi":`Disconnected locally. This provider has no API to revoke access remotely — remove GAIA from your account's connected-apps page if you want to fully revoke it.`,"settings.connectors.setupRequired":`Setup required`,"settings.connectors.disabled":`Disabled`,"settings.connectors.configured":`Configured`,"settings.connectors.deviceFailed":`Device sign-in failed.`,"settings.connectors.required":`Required: {fields}`,"settings.connectors.firstSetup":`First-time setup — provide your OAuth client credentials below. They’re stored encrypted in your OS keyring and reused for future connections.`,"settings.connectors.grantOnConnect":`Grant access to these agents when you connect:`,"settings.connectors.grantLater":`You can change these any time under Per-agent grants below.`,"settings.connectors.disconnect":`Disconnect`,"settings.connectors.saveConnect":`Save & Connect`,"settings.connectors.code":`Sign in with a code`,"settings.connectors.codeTitle":`Enter a short code at a URL — no browser redirect or app registration needed`,"settings.connectors.learnMore":`Learn more`,"settings.connectors.goTo":`Enter this code at`,"settings.connectors.copyCode":`Copy code`,"settings.connectors.waiting":`Waiting for sign-in…`,"settings.connectors.savedClient":`Saved client: {id}`,"settings.connectors.envClient":`From environment: {id}`,"settings.connectors.noClient":`No OAuth client configured`,"settings.connectors.clientRequired":`Client ID is required.`,"settings.connectors.client":`OAuth client`,"settings.connectors.clientHelp":`Bring your own OAuth client — saved encrypted in your OS keyring (same store as gaia connectors configure) and reused for future connections. Environment variables are only used when no saved client exists.`,"settings.connectors.saveClient":`Save client`,"settings.connectors.active":`Active`,"settings.connectors.disableServer":`Disable this MCP server`,"settings.connectors.enableServer":`Enable this MCP server`,"settings.connectors.disabledHelp":`Credentials and per-agent grants are preserved. Re-enable to make this server's tools available again.`,"settings.connectors.enterValue":`Enter value`,"settings.connectors.docs":`Docs`,"settings.connectors.via":`via {name}`,"settings.connectors.readOnly":`read-only`,"settings.connectors.editConfig":`Edit the agent's mcp_servers.json to change this server.`,"settings.connectors.grants":`Per-agent grants`,"settings.connectors.noGrants":`No agents require access to this connector.`,"settings.connectors.activeFor":`Active for`,"settings.connectors.activationHelp":`Activations gate which agents see this connector's tools. Activating without a prior grant auto-creates one.`,"settings.connectors.toolsVisible":`Tools visible to this agent`,"settings.connectors.toolsHidden":`Tools hidden from this agent`,"settings.connectors.actions":`Connector actions`,"settings.connectors.disable":`Disable`,"settings.connectors.enable":`Enable`,"banner.serverStopped":`The model server isn't running.`,"banner.finishSetup":`Set up models on this PC, or choose a cloud model in Settings.`,"settings.errors.setUpLocal":`Set up local models`,"settings.errors.notInstalledTitle":`Models on this PC aren't set up yet`,"settings.errors.notInstalled":`GAIA needs a model server to run models on this PC, and setup installs it for you. Cloud providers still work.`,"settings.errors.serverDownTitle":`GAIA can't reach its model server`,"settings.errors.serverDown":`Models on this PC are unavailable until it is back. It normally starts on its own, so this can clear in a moment. Cloud providers still work.`,"settings.errors.details":`Technical details`,"settings.ctx.serverDown":`You can change the context size once the model server is back.`,"settings.undo.readFailed":`Could not read undo history settings: {reason}`,"settings.undo.saved":`Saved. Older undo history beyond these limits was removed.`,"settings.undo.fix":`Not saved. Fix the limit marked above.`,"settings.undo.hint":`Before GAIA changes a file it keeps a copy, so you can undo a turn. Copies older than the time limit, or past the space limit (oldest first), are deleted. The space limit never deletes the latest turn.`,"settings.undo.days":`Keep for (days)`,"settings.undo.daysError":`Keep for: enter a whole number of days from 1 to 365.`,"settings.undo.mb":`Use at most (MB)`,"settings.undo.mbError":`Use at most: enter a whole number of MB from 10 to 100,000.`,"settings.undo.inUse":`In use`,"settings.undo.used.one":`{size} for {n} turn in`,"settings.undo.used.other":`{size} for {n} turns in`,"settings.desktop.title":`Desktop app`,"settings.desktop.tray":`tray`,"settings.desktop.menuBar":`menu bar`,"settings.desktop.keepRunning":`Keep running when the window closes`,"settings.desktop.keepRunningHint":`GAIA stays in the {tray} with your model loaded. Quit from the {tray} menu.`,"settings.desktop.startOnLogin":`Start GAIA when you sign in`,"settings.desktop.startOnLoginHint":`Your first chat of the day starts without waiting for GAIA to open.`,"settings.desktop.startMinimized":`Start in the {tray}`,"settings.desktop.startMinimizedHint":`GAIA opens without its window. Use the {tray} icon to show it.`,"settings.desktop.readFailed":`Couldn't read the desktop settings: {reason}`,"settings.server.readFailed":`Could not read which model server GAIA uses`,"settings.server.usesEnv":`GAIA uses the Lemonade Server at {url}, set by LEMONADE_BASE_URL.`,"settings.server.usesYours":`GAIA uses your Lemonade Server at {url}.`,"settings.server.usesOwn":`GAIA uses its own Lemonade Server.`,"settings.server.unsetEnv":`Unset LEMONADE_BASE_URL and restart GAIA to change this here.`,"settings.server.useYours":`Already run Lemonade? Use it, so this PC keeps one server and one copy of each model.`,"settings.server.address":`Lemonade Server address`,"settings.server.key":`Lemonade API key`,"settings.server.keySaved":`API key (blank keeps the saved one)`,"settings.server.keyOptional":`API key, if it needs one`,"settings.server.checking":`Checking…`,"settings.server.use":`Use this server`,"settings.server.useOwn":`Use GAIA’s own`,"settings.server.needsKey":`Needs the API key`,"settings.server.notSwitched":`Not switched`,"settings.server.ownerGaia":`GAIA's own Lemonade`,"settings.server.ownerUser":`Your Lemonade`,"settings.server.ownerRemote":`Lemonade on another machine`,"settings.server.kind.speechRecognition":`Speech recognition model`,"settings.server.kind.embedding":`Embedding model`,"settings.server.kind.image":`Image model`,"settings.server.kind.language":`Language model`,"settings.server.kind.reranker":`Reranker model`,"settings.server.kind.speech":`Speech model`,"settings.server.kind.vision":`Vision model`,"settings.server.kind.threeD":`3D model`,"settings.server.kindOther":`{kind} model`,"settings.server.loadedModel":`Loaded model`,"settings.server.unknownModel":`Unknown model`,"settings.server.savedBackend":`Saved. It applies the next time the chat model loads.`,"settings.server.reloading":`Reloading {name}. Reopen this panel in a moment to see its backend.`,"settings.server.changeModel":`Change model`,"settings.server.checkingServer":`Checking the model server…`,"settings.server.server":`Server`,"settings.server.addressShort":`Address`,"settings.server.chatModel":`Chat model`,"settings.server.runsOn":`Runs on`,"settings.server.backend":`llama.cpp backend for chat models`,"settings.server.backendShort":`llama.cpp backend`,"settings.server.noBackends":`Vulkan, the GPU backend GAIA has tested, isn't available from this Lemonade on this PC, so there is nothing to choose.`,"settings.server.backendHint":`The backends GAIA has tested on this PC. Applies the next time a chat model loads; the embedding model keeps its own backend. NPU models run on FastFlowLM: choose one in Change model.`,"settings.server.installable":`{names} downloads on first use.`,"settings.server.reload":`Reload chat model now`,"settings.price.unknown":`price unknown`,"settings.price.perMillion":`{input} in · {output} out per 1M tokens`,"settings.price.loadFailed":`Prices could not be loaded: {reason}`,"settings.price.loading":`Loading prices…`,"settings.price.unknownSentence":`Price unknown.`,"settings.price.payProvider":`You pay the provider for what you use.`,"settings.spend.loading":`Loading this month’s spending…`,"settings.spend.aria":`Cloud spending`,"settings.spend.title":`Cloud spending this month`,"settings.spend.ofLimit":`of your {limit} limit`,"settings.spend.turns.one":`{n} cloud chat turn, at list price`,"settings.spend.turns.other":`{n} cloud chat turns, at list price`,"settings.spend.unpriced.one":`Plus {n} turn on models with an unknown price, not included above.`,"settings.spend.unpriced.other":`Plus {n} turns on models with an unknown price, not included above.`,"settings.spend.unreported.one":`Plus {n} turn whose usage wasn’t reported, such as a stopped answer, not included above.`,"settings.spend.unreported.other":`Plus {n} turns whose usage wasn’t reported, such as stopped answers, not included above.`,"settings.spend.near":`Close to your limit. GAIA stops before a cloud chat once it’s reached.`,"settings.spend.reached":`You’ve reached your limit, so cloud chats are stopped until next month. Models on this PC still work.`,"settings.spend.allow":`Allow more this month`,"settings.spend.allowed":`Over your limit; you allowed more for this month.`,"settings.spend.limit":`Monthly limit ($)`,"settings.spend.noLimit":`No limit`,"settings.spend.removeLimit":`Remove limit`,"settings.spend.how":`Counts cloud chats in GAIA’s Agent UI at list price, without cache discounts. Your provider’s bill is the final word. Turns that fail or are stopped before a reply aren’t counted. Models with an unknown price, like the AMD LLM Gateway’s, add nothing to the total, but are stopped too once the limit is reached.`,"settings.model.inUseTitle":`Model in use`,"settings.model.noneInUse":`No model is chosen yet. Pick one below.`,"settings.model.cloud":`Cloud`,"settings.model.loaded":`Loaded`,"settings.model.downloaded":`Downloaded`,"settings.model.notDownloaded":`Not downloaded`,"settings.model.fits":`Fits this PC`,"settings.model.custom":`Added by you`,"settings.model.contextChip":`Context {size}`,"settings.model.switch":`Switch model`,"settings.model.switchPlaceholder":`Choose a model`,"settings.model.whereRuns":`Where GAIA runs`,"settings.model.howItWorks":`How this works`,"settings.model.lede":`GAIA runs on this PC by default. Cloud providers are used only when you pick one of their models.`,"settings.model.devices":`Each model runs where it was built to: GGUF models on the GPU, FLM models on the NPU.`,"settings.model.memory":`Memory for models: {memory}.`,"settings.model.prices":`Prices`,"settings.model.models":`Models`,"settings.model.search":`Search models`,"settings.model.noMatch":`No models match.`,"settings.model.noModels":`No models yet. Add one from Hugging Face below, or choose what to download.`,"settings.model.groupDownloaded":`Downloaded`,"settings.model.groupAvailable":`Available to download`,"settings.model.groupUnavailable":`Not available on this PC`,"settings.model.showAll":`Show all models`,"settings.model.showRecommended":`Show recommended models`,"settings.model.details":`Details`,"settings.model.expected":`{label} (expected)`,"settings.model.sizeOnDisk":`{size} on disk`,"settings.model.sizeDownload":`{size} download`,"settings.model.speed":`{speed} measured here`,"settings.model.contextTokens":`Context {size} tokens`,"settings.model.cantRun":`Can't run here: {reason}`,"settings.model.measured":`Measured: {evidence}`,"settings.model.from":`From {url}`,"settings.model.inUse":`In use`,"settings.model.use":`Use`,"settings.model.useAria":`Use {name}`,"settings.model.download":`Download`,"settings.model.downloadAria":`Download {name}`,"settings.model.downloadingAria":`Downloading {name}`,"settings.model.removeDownload":`Remove and delete download`,"settings.model.switched":`New messages use {name}. It is remembered across restarts.`,"settings.model.removed":`Removed {name} and its download.`,"settings.model.removedLast":`Removed {name} and its download. New messages use your default model.`,"settings.model.removedDefault":`Removed {name} and its download. It was your default model, so GAIA's own default takes its place.`,"settings.model.added":`Added {name}. Choose Download to fetch it, then Use.`,"settings.ctx.label":`Context size`,"settings.ctx.automatic":`Automatic`,"settings.ctx.automaticAt":`Automatic ({size})`,"settings.ctx.tokens":`{size} tokens`,"settings.ctx.automaticSize":`the automatic size`,"settings.ctx.about":`About context size`,"settings.ctx.explain":`Up to {size}, the most {name} can hold on this PC ({memory}). A larger window uses more memory. GAIA reloads the model to apply it, except on a Lemonade you run yourself.`,"settings.ctx.loadedAt":`Loaded now at {size}.`,"settings.ctx.checking":`Checking context sizes…`,"settings.ctx.applying":`Applying…`,"settings.ctx.reloading":`Reloading {name} at {size}. Chat pauses until it's back.`,"settings.ctx.alreadyLoaded":`Saved. {name} is already loaded at {size}, so nothing reloads.`,"settings.ctx.warmUp":`Saved. GAIA is getting the model ready for a new chat, so {name} switches to {size} the next time it loads.`,"settings.ctx.busy":`Saved. GAIA is answering right now, so {name} switches to {size} the next time it loads.`,"settings.ctx.ownServer":`Saved. GAIA doesn't reload models on your own server; {name} uses {size} the next time it loads.`,"settings.ctx.restarting":`Saved. A reload is already running; this size applies the next time the model loads.`,"settings.ctx.nextLoad":`Saved. It applies the next time this model loads.`,"settings.custom.title":`Add a model from Hugging Face`,"settings.custom.hint":`Paste the link to a GGUF or FastFlowLM (NPU) model. GAIA checks that it is a chat model your model server can run and that it fits this PC before adding it. It downloads when you choose Download.`,"settings.custom.check":`Check`,"settings.custom.checks":`Checks`,"settings.custom.passed":`Passed`,"settings.custom.failed":`Failed`,"settings.custom.allPassed":`All {n} checks passed`,"settings.custom.warnings":`Warnings`,"settings.custom.warning":`Warning`,"settings.custom.quantization":`Quantization`,"settings.custom.tooLarge":`too large for this PC`,"settings.custom.add":`Add {name}`,"settings.custom.theModel":`The model`,"settings.models.manage":`Manage downloads and disk space`,"settings.models.manageHint":`Choose what stays on this PC, remove downloads, and set the default chat model.`,"settings.key.title":`API key`,"settings.key.connected":`Connected`,"settings.key.notConnected":`Not connected`,"settings.key.connectedDot":`connected`,"settings.key.none":`No key yet.`,"settings.key.waitingOs":`Waiting for the OS to allow reading the saved key.`,"settings.key.setIn":`Set in {name}`,"settings.key.savedAria":`Saved {name} API key`,"settings.key.fieldAria":`{name} API key`,"settings.key.gatewayUrl":`Gateway URL`,"settings.key.gatewayPlaceholder":`Gateway URL (default https://llm-api.amd.com/Unified/v1)`,"settings.key.headerName":`Auth header name`,"settings.key.headerPlaceholder":`Auth header (default Ocp-Apim-Subscription-Key)`,"settings.key.reconnect":`Reconnect`,"settings.key.removeAsk":`Remove this key?`,"settings.key.remove":`Remove key`,"settings.key.replace":`Replace`,"settings.key.paste":`Paste API key`,"settings.key.pasteNew":`Paste your new key`,"settings.key.save":`Save key`,"settings.key.connect":`Connect`,"settings.key.cancel":`Cancel`,"settings.key.checkAgain":`Check again`,"settings.key.sessionOnly":`Connected for this session only — the key could not be kept: {reason}`,"settings.key.knownModels":`{name} can't list its models right now. Your key still works, so GAIA connected using models it already knows.`,"settings.key.knownList":`{name} can't list its models right now, so GAIA is showing models it already knows. Your key still works, but this list may be out of date.`,"settings.key.kept":`Connected. The key is kept for next time.`,"settings.key.connectedDone":`Connected.`,"settings.key.cleared":`Key cleared, here and for future sessions. An environment key, if set, stays active.`,"download.chip":`Downloading {done} of {count} · {pct}%`,"download.chipFailed":`A download failed`,"download.chipAria":`Model downloads. Open Settings to see them.`,"update.chip.installFailed":`The update didn't install`,"update.chip.installFailedRetry":`The update didn't install — try again`,"update.chip.installFailedDetail":`GAIA {target} didn't install, so you're still on {from}.`,"update.chip.dismiss":`Dismiss update notification`,"update.chip.dismissError":`Dismiss update error`,"update.chip.downloading":`Downloading update… {pct}%`,"update.chip.preparing":`Getting the update ready…`,"update.chip.downloadingTitle":`Downloading update {version}…`,"update.chip.availableTitle":`A new version is available.`,"update.chip.updateFailed":`Update failed — try again`,"update.chip.available":`GAIA {version} is available`,"update.chip.updateNow":`Update now`,"update.chip.restartTitle":`Click to restart and apply the update`,"update.chip.restartFailed":`Restart failed — try again`,"update.chip.ready":`Update ready — restart to apply`,"update.chip.checkFailed":`Update check failed`,"update.chip.startFailed":`GAIA didn't start properly after updating`,"update.chip.goBack":`Go back to {version}`,"update.status.checking":`Checking for updates…`,"update.status.available":`GAIA {version} is available.`,"update.status.downloading":`Downloading GAIA {version}… {pct}%`,"update.status.preparing":`Getting GAIA {version} ready to install…`,"update.status.downloaded":`GAIA {version} is ready — restart to finish installing.`,"update.status.error":`Update check failed: {reason}`,"update.status.unknownError":`unknown error`,"update.status.noChannel":`No GAIA release publishes a desktop update for this platform yet.`,"update.status.disabled":`Updates are turned off for this install (GAIA_DISABLE_UPDATE=1).`,"update.status.upToDate":`GAIA is up to date.`,"update.settings.title":`Updates`,"update.settings.running":`Running GAIA {version}.`,"update.settings.unknownVersion":`unknown`,"update.settings.auto":`Install updates automatically`,"update.settings.autoHint":`Off by default while GAIA is changing quickly — you choose when to update. The Terminal UI follows the same setting.`,"update.settings.rc":`Include release candidates`,"update.settings.rcHint":`Also offer test builds (vX.Y.Z-rcN) before they become a final release. Off by default.`,"update.settings.rcHintRunning":`This is a release candidate, so newer ones are offered either way.`,"update.settings.pinned":`Pinned to {version}, so updates are paused.`,"update.settings.unpin":`Unpin`,"update.settings.updateTo":`Update to {version}`,"update.settings.restart":`Restart to install`,"update.settings.check":`Check for updates`,"update.settings.pick":`Install a specific version…`,"update.settings.goBack":`Go back to GAIA {version}`,"update.settings.goBackHint":`If this update causes problems, go back to the version you had before. Updates pause until you unpin it.`,"update.settings.installFailed":`GAIA {target} didn't install, so you're still on {from}. Try again and the installer's window will show what happens, or download it from {url}.`,"update.settings.lastCheckError":`The last automatic check didn't finish: {reason}`,"update.settings.failed":`{action} failed: {reason}`,"update.action.saveAuto":`Saving the auto-update setting`,"update.action.saveRc":`Saving the release-candidate setting`,"update.action.resume":`Resuming updates`,"update.action.download":`Downloading the update`,"update.action.restart":`Restarting to install`,"update.action.check":`Checking for updates`,"update.action.goBack":`Going back`,"update.picker.title":`Install a specific version`,"update.picker.close":`Close`,"update.picker.loading":`Loading releases…`,"update.picker.browse":`Browse releases on GitHub`,"update.picker.browseAll":`Browse all releases on GitHub`,"update.picker.listAria":`Available releases`,"update.picker.installed":`Installed`,"update.picker.pinned":`Pinned`,"update.picker.rowInstalled":`{version} — installed`,"update.picker.rowPinned":`{version} — pinned`,"update.picker.recent":`Showing the {n} most recent.`,"update.picker.confirm":`This will install v{version} and restart the app.`,"update.picker.confirmNote":`GAIA will stay on v{version}: updates are paused until you unpin it in Settings → Updates.`,"update.picker.back":`Back`,"update.picker.install":`Install & restart`,"update.picker.starting":`Starting download…`,"update.picker.noBridge":`Bridge unavailable — please restart the app.`,"update.picker.failed":`Failed to install that version: {reason}`,"update.err.diskSpace":`GAIA needs about {need} free to install this update, and this disk has {free}. Free some space, then restart from the update chip.`,"update.err.offline":`GAIA needs the internet to finish this update. Connect, then restart from the update chip.`,"update.err.checkBusy":`An update check is already running. Try again in a moment.`,"update.err.configBusy":`Another GAIA app is saving update settings. Try again in a moment.`,"update.err.saveFailed":`GAIA couldn't save the setting to {path}: {reason}`,"update.err.pinFailed":`GAIA couldn't save the version choice to {path}, so nothing was installed: {reason}`,"update.err.noInstaller":`GAIA {tag} has no installer for this PC. Download it from {url} instead.`,"update.err.noEarlier":`There's no earlier GAIA version to go back to on this PC. Pick one under Install a specific version, or download it from {url}.`,"update.err.downloadFailed":`Downloading GAIA {version} failed: {reason}`,"update.err.failedWith":`{reason}`,"update.err.notPaused":`Updates aren't paused.`,"update.err.stillPinned":`Still pinned to {tag}.`,"update.err.pinStuck":`GAIA is still pinned to {tag} because {path} couldn't be changed ({reason}). Fix that file, then choose Unpin.`,"update.err.withNote":`{error} {note}`,"mobile.ngrokRequired":`ngrok required`,"mobile.setupTitle":`Set up ngrok (one-time)`,"mobile.setupIntro":`Mobile access uses ngrok to reach this PC from your phone.`,"mobile.setupInstall":`Install it with the command below, then press Retry.`,"mobile.setupDownload":`Download it for your system, then press Retry.`,"mobile.installCommand":`ngrok install command`,"mobile.copyCommand":`Copy command`,"mobile.copy":`Copy`,"mobile.copied":`Copied`,"mobile.downloadPage":`ngrok download page`,"mobile.retry":`Retry`,"schedules.title":`Scheduled tasks`,"schedules.close":`Close schedule manager`,"schedules.new":`New schedule`,"schedules.when":`When to run`,"schedules.whenPlaceholder":`Describe your schedule in natural language...
|
|
3
|
-
Examples: "every 30m", "daily at 9pm", "every hour from 8am to 6pm on weekdays"`,"schedules.parsing":`Parsing...`,"schedules.notUnderstood":`GAIA didn't understand that schedule.`,"schedules.nextRun":`Next run: {when}`,"schedules.name":`Name`,"schedules.namePlaceholder":`Schedule name (e.g. daily-summary)`,"schedules.prompt":`Prompt`,"schedules.promptPlaceholder":`Prompt to execute on each run...`,"schedules.cancel":`Cancel`,"schedules.create":`Create Schedule`,"schedules.creating":`Creating...`,"schedules.createFailed":`Failed to create schedule`,"schedules.list":`Active schedules`,"schedules.dismissError":`Dismiss error`,"schedules.loading":`Loading schedules...`,"schedules.loadFailed":`Failed to load schedules`,"schedules.empty":`No scheduled tasks yet. Create one to get started.`,"schedules.status.active":`active`,"schedules.status.paused":`paused`,"schedules.status.cancelled":`cancelled`,"schedules.card.runs":`Runs: {n}`,"schedules.card.errors":`Errors: {n}`,"schedules.card.last":`Last: {when}`,"schedules.card.next":`Next: {when}`,"schedules.card.lastFailed":`Last run failed: {error}`,"schedules.card.openChat":`Open Chat`,"schedules.card.openChatTitle":`Open chat session`,"schedules.card.runNow":`Run now`,"schedules.card.runNowTitle":`Run it once now, to try it. Its next scheduled run stays as it is.`,"schedules.card.running":`Running…`,"schedules.card.pause":`Pause`,"schedules.card.resume":`Resume`,"schedules.card.delete":`Delete`,"schedules.card.confirmDelete":`Confirm?`,"schedules.history":`Execution history`,"schedules.historyLoading":`Loading...`,"schedules.historyEmpty":`No executions yet`,"schedules.noOutput":`(no output)`,"schedules.time.never":`never`,"schedules.time.inSeconds":`in {n}s`,"schedules.time.inMinutes":`in {n}m`,"schedules.time.inHours":`in {n}h`,"schedules.time.inDays":`in {n}d`,"schedules.time.clockIn":`{clock} ({relative})`,"schedules.hours":`{start} - {end}`,"schedules.days.weekdays":`Weekdays`,"schedules.days.weekends":`Weekends`,"schedules.days.every":`Every day`,"schedules.days.join":`, `,"schedules.day.0":`Mon`,"schedules.day.1":`Tue`,"schedules.day.2":`Wed`,"schedules.day.3":`Thu`,"schedules.day.4":`Fri`,"schedules.day.5":`Sat`,"schedules.day.6":`Sun`,"schedules.span.second.one":`second`,"schedules.span.second.two":`{n} seconds`,"schedules.span.second.few":`{n} seconds`,"schedules.span.second.many":`{n} seconds`,"schedules.span.second.other":`{n} seconds`,"schedules.span.minute.one":`minute`,"schedules.span.minute.two":`{n} minutes`,"schedules.span.minute.few":`{n} minutes`,"schedules.span.minute.many":`{n} minutes`,"schedules.span.minute.other":`{n} minutes`,"schedules.span.hour.one":`hour`,"schedules.span.hour.two":`{n} hours`,"schedules.span.hour.few":`{n} hours`,"schedules.span.hour.many":`{n} hours`,"schedules.span.hour.other":`{n} hours`,"schedules.span.day.one":`day`,"schedules.span.day.two":`{n} days`,"schedules.span.day.few":`{n} days`,"schedules.span.day.many":`{n} days`,"schedules.span.day.other":`{n} days`,"schedules.span.week.one":`week`,"schedules.span.week.two":`{n} weeks`,"schedules.span.week.few":`{n} weeks`,"schedules.span.week.many":`{n} weeks`,"schedules.span.week.other":`{n} weeks`,"schedules.desc.every":`Every {span}`,"schedules.desc.everyOn":`Every {span} on {days}`,"schedules.desc.window":`Every {span}, {hours}`,"schedules.desc.windowOn":`Every {span}, {hours}, {days}`,"schedules.desc.daily":`Daily`,"schedules.desc.weekdays":`Weekdays`,"schedules.desc.weekends":`Weekends`,"schedules.desc.onDays":`Every {days}`,"schedules.desc.at":`{when} at {time}`,"schedules.desc.days.weekdays":`weekdays`,"schedules.desc.days.weekends":`weekends`,"schedules.desc.days.every":`every day`,"schedules.desc.dayJoin":`, `,"schedules.desc.dayList.one":`{days}`,"schedules.desc.dayList.two":`{days}`,"schedules.desc.dayList.few":`{days}`,"schedules.desc.dayList.many":`{days}`,"schedules.desc.dayList.other":`{days}`,"schedules.dayName.0":`Monday`,"schedules.dayName.1":`Tuesday`,"schedules.dayName.2":`Wednesday`,"schedules.dayName.3":`Thursday`,"schedules.dayName.4":`Friday`,"schedules.dayName.5":`Saturday`,"schedules.dayName.6":`Sunday`,"mem.title":`Memory`,"mem.beta":`BETA`,"mem.back":`Back`,"mem.refresh":`Refresh`,"mem.refreshAria":`Refresh dashboard`,"mem.tab.about":`About you`,"mem.tab.goals":`Goals`,"mem.tab.profile":`Profile setup`,"mem.tab.advanced":`Advanced`,"mem.loading":`Loading…`,"mem.loadingData":`Loading memory data...`,"mem.loadFailed":`Failed to load memory data. Is the backend running?`,"mem.retry":`Retry`,"mem.cancel":`Cancel`,"mem.on":`On`,"mem.off":`Off`,"mem.running":`Running...`,"mem.saving":`Saving...`,"mem.listSeparator":`, `,"mem.offAdvanced":`Memory is off. Turn it on in Settings below to let GAIA remember what you tell it.`,"mem.rel.secondsAgo":`{n}s ago`,"mem.rel.now":`now`,"mem.rel.inSeconds":`in {n}s`,"mem.rel.inMinutes":`in {n}m`,"mem.rel.inHours":`in {n}h`,"mem.rel.tomorrow":`tomorrow`,"mem.rel.inDays":`in {n}d`,"mem.cat.fact":`Fact`,"mem.cat.preference":`Preference`,"mem.cat.error":`Error`,"mem.cat.skill":`Skill`,"mem.cat.note":`Note`,"mem.cat.reminder":`Reminder`,"mem.status.pending_approval":`awaiting approval`,"mem.status.queued":`queued`,"mem.status.in_progress":`in progress`,"mem.status.completed":`completed`,"mem.status.failed":`failed`,"mem.status.rejected":`rejected`,"mem.status.cancelled":`cancelled`,"mem.status.blocked":`blocked`,"mem.priority.low":`low`,"mem.priority.medium":`medium`,"mem.priority.high":`high`,"mem.role.user":`user`,"mem.role.assistant":`assistant`,"mem.domain.work":`work`,"mem.domain.technical":`technical`,"mem.domain.personal":`personal`,"mem.domain.general":`general`,"mem.about.title":`What GAIA knows about you`,"mem.about.intro":`GAIA uses these in every chat. Edit anything that's wrong, or forget it so GAIA stops using it.`,"mem.about.off":`Memory is off, so GAIA isn't saving anything about you.`,"mem.about.turnOn":`Turn it on in Advanced`,"mem.about.group.preferences":`Preferences`,"mem.about.group.about":`About you`,"mem.about.group.reminders":`Reminders`,"mem.about.group.notes":`Notes`,"mem.about.kind":`Kind`,"mem.about.kind.preference":`Preference`,"mem.about.kind.reminder":`Reminder`,"mem.about.kind.note":`Note`,"mem.about.addPlaceholder":`Tell GAIA something about you, e.g. “I prefer short answers”`,"mem.about.addLabel":`Something GAIA should know about you`,"mem.about.add":`Add`,"mem.about.forgotten":`Forgotten: “{content}” — GAIA won't learn it again from old chats.`,"mem.about.forgottenSensitive":`Forgotten: a sensitive memory — GAIA won't learn it again from old chats.`,"mem.about.undo":`Undo`,"mem.about.loadFailed":`Couldn't load your memories: {error}`,"mem.about.retry":`Try again`,"mem.about.empty":`GAIA hasn't saved anything about you yet.`,"mem.about.emptyHint":`Tell it in a chat (“remember that I live in Calgary”) or add something above.`,"mem.about.editLabel":`Edit memory`,"mem.about.save":`Save`,"mem.about.cancel":`Cancel`,"mem.about.showSensitive":`Sensitive — show`,"mem.about.sensitiveMemory":`sensitive memory`,"mem.about.edit":`Edit`,"mem.about.editAria":`Edit: {name}`,"mem.about.forget":`Forget`,"mem.about.forgetAria":`Forget: {name}`,"mem.about.meta":`{source} · {when}`,"mem.about.updated":`Updated`,"mem.about.saved":`Saved`,"mem.about.editFailed":`Couldn't save the change: {error}`,"mem.about.forgetFailed":`Couldn't forget that: {error}`,"mem.about.restoreFailed":`Couldn't restore it: {error}`,"mem.about.addFailed":`Couldn't save it: {error}`,"mem.source.user":`You added this`,"mem.source.tool":`You asked GAIA to remember this`,"mem.source.llm_extract":`Picked up in a chat`,"mem.source.consolidation":`From an older chat`,"mem.source.inferred":`From your profile setup`,"mem.source.discovery":`Found on this PC during profile setup`,"mem.source.other":`Saved`,"mem.day.today":`today`,"mem.day.yesterday":`yesterday`,"mem.day.daysAgo":`{n} days ago`,"mem.due.upcoming":`Due {when}`,"mem.due.past":`Was due {when}`,"mem.coverage.title":`{n} of {total} entries embedded`,"mem.coverage.label":`{pct} embedded`,"mem.maint.label":`Maintenance actions`,"mem.maint.consolidate":`Consolidate Sessions`,"mem.maint.consolidating":`Consolidating...`,"mem.maint.rebuildEmbeddings":`Rebuild Embeddings`,"mem.maint.rebuilding":`Rebuilding...`,"mem.maint.reconcile":`Reconcile Memory`,"mem.maint.reconciling":`Reconciling...`,"mem.maint.refreshSystem":`Refresh System Context`,"mem.maint.refreshing":`Refreshing...`,"mem.maint.rebuildFts":`Rebuild FTS Indexes`,"mem.stat.stored":`Stored`,"mem.stat.addedToday":`+{n} today`,"mem.stat.categoryCount":`{category}: {n}`,"mem.stat.noEntries":`No entries`,"mem.stat.retrieved":`Retrieved`,"mem.stat.avgRecall":`avg {n}x per memory`,"mem.stat.noRecalls":`No recalls yet`,"mem.stat.sessions":`Sessions`,"mem.stat.totalTurns":`{n} total turns`,"mem.stat.toolCalls":`Tool Calls`,"mem.stat.toolsExclMemory":`{n} tools, excl. memory`,"mem.stat.toolsNotLogged":`Memory tools (remember, recall, ...) are not logged`,"mem.stat.successRate":`Success Rate`,"mem.stat.errors":`{n} errors`,"mem.stat.noToolCalls":`No tool calls yet`,"mem.activity.title":`Activity`,"mem.activity.range":`Activity range`,"mem.activity.day1":`1D`,"mem.activity.days7":`7D`,"mem.activity.days30":`30D`,"mem.activity.conversations":`{n} conversations`,"mem.activity.toolCalls":`{n} tool calls`,"mem.activity.learned":`{n} learned`,"mem.activity.empty":`No activity data yet`,"mem.legend.conversations":`Conversations`,"mem.legend.knowledge":`Knowledge`,"mem.legend.errors":`Errors`,"mem.knowledge.title":`Knowledge Browser`,"mem.knowledge.add":`Add`,"mem.knowledge.addTitle":`Add a memory entry`,"mem.knowledge.filterCategory":`Filter by category`,"mem.knowledge.clear":`Clear`,"mem.knowledge.clearAria":`Clear category filters`,"mem.knowledge.filterContext":`Filter by context`,"mem.knowledge.allContexts":`All Contexts`,"mem.knowledge.filterEntity":`Filter by entity`,"mem.knowledge.allEntities":`All Entities`,"mem.knowledge.search":`Search memories`,"mem.knowledge.searchPlaceholder":`Search memories...`,"mem.knowledge.superseded":`Superseded`,"mem.knowledge.supersededTitle":`Show entries that have been superseded by newer versions`,"mem.knowledge.embedded":`Embedded`,"mem.knowledge.embedMissing":`Embedding missing`,"mem.knowledge.filterBy":`Filter by {entity}`,"mem.knowledge.noMatch":`No matching memories`,"mem.knowledge.empty":`No memories stored yet`,"mem.form.contentPlaceholder":`What should the agent remember?`,"mem.form.domainPlaceholder":`e.g., python, frontend`,"mem.form.entityPlaceholder":`e.g., person:sarah_chen`,"mem.form.dueAt":`Due At`,"mem.form.dueAtPlaceholder":`ISO 8601 (e.g., 2026-03-25T09:00:00-07:00)`,"mem.form.sensitive":`Sensitive`,"mem.form.sensitiveHint":`Mark as sensitive (excluded from system prompt)`,"mem.form.update":`Update`,"mem.form.save":`Save`,"mem.col.category":`Category`,"mem.col.content":`Content`,"mem.col.context":`Context`,"mem.col.entity":`Entity`,"mem.col.confidence":`Confidence`,"mem.col.source":`Source`,"mem.col.updated":`Updated`,"mem.col.created":`Created`,"mem.col.due":`Due`,"mem.row.edit":`Edit`,"mem.row.markSensitive":`Mark sensitive`,"mem.row.unmarkSensitive":`Unmark sensitive`,"mem.row.copyId":`Copy ID`,"mem.row.delete":`Delete`,"mem.row.clickAgain":`Click again to delete`,"mem.row.deleteAria":`Delete memory`,"mem.row.confirmDeleteAria":`Confirm delete memory`,"mem.row.deleteConfirm":`Delete?`,"mem.detail.id":`ID`,"mem.detail.domain":`Domain`,"mem.detail.useCount":`Use Count`,"mem.detail.lastUsed":`Last Used`,"mem.detail.remindedAt":`Reminded At`,"mem.detail.supersededBy":`Superseded By`,"mem.detail.metadata":`Metadata`,"mem.detail.fullContent":`Full Content`,"mem.page.range":`{from}–{to} of {total}`,"mem.page.previous":`Previous page`,"mem.page.next":`Next page`,"mem.tools.title":`Tool Performance`,"mem.tools.note":`excludes memory tools`,"mem.tools.noteTitle":`remember, recall, update_memory, forget, forget_everything and search_past_conversations are not logged`,"mem.tools.tool":`Tool`,"mem.tools.calls":`Calls`,"mem.tools.success":`Success`,"mem.tools.denied":`Denied`,"mem.tools.avgTime":`Avg Time`,"mem.tools.lastError":`Last Error`,"mem.tools.empty":`No tool calls recorded yet`,"mem.upcoming.title":`Upcoming & Overdue`,"mem.upcoming.due":`Due: {when}`,"mem.upcoming.overdue":`OVERDUE: {when}`,"mem.upcoming.empty":`Nothing upcoming or overdue`,"mem.conv.title":`Conversation History`,"mem.conv.search":`Search conversations`,"mem.conv.searchPlaceholder":`Search conversations...`,"mem.conv.clearSearch":`Clear search`,"mem.conv.noMatch":`No conversations match “{query}”`,"mem.conv.consolidated":`Consolidated`,"mem.conv.turns.one":`{n} turn`,"mem.conv.turns.other":`{n} turns`,"mem.conv.empty":`No conversation history in memory`,"mem.conv.openChat":`Open chat`,"mem.conv.close":`Close conversation`,"mem.conv.noTurns":`No turns found`,"mem.settings.title":`Settings`,"mem.settings.memory":`Memory enabled`,"mem.settings.memoryDesc":`When disabled, no knowledge or conversation data is stored during any session (global incognito).`,"mem.settings.memoryOn":`Memory is enabled`,"mem.settings.memoryOff":`Memory is disabled`,"mem.settings.mcp":`MCP memory access`,"mem.settings.mcpDesc":`Expose read-only memory tools to MCP clients (for debug/troubleshooting). Requires MCP server restart.`,"mem.settings.mcpToggle":`Toggle MCP memory access`,"mem.settings.discovery":`System discovery`,"mem.settings.discoveryDesc":`Allow GAIA to scan your system for hardware, software, and environment information to personalize responses.`,"mem.settings.discoveryToggle":`Toggle system discovery`,"mem.settings.reinit":`Re-initialize memory`,"mem.settings.reinitDesc":`Wipe all memories, conversations, and tool logs, then re-collect system information. This cannot be undone.`,"mem.settings.reinitButton":`Re-initialize`,"mem.settings.reinitConfirm":`Yes, re-initialize`,"mem.settings.deleteAll":`Delete all memories`,"mem.settings.deleteAllDesc":`Permanently wipe all knowledge entries, conversation history, and tool logs. Skills GAIA learned for doing tasks are kept. This cannot be undone.`,"mem.settings.deleteButton":`Delete All`,"mem.settings.deleteConfirm":`Yes, delete all`,"mem.settings.sure":`Are you sure?`,"mem.beta.memory.title":`Enable Agent Memory?`,"mem.beta.memory.desc":`Agent memory is a work-in-progress. By enabling it:`,"mem.beta.memory.local":`Conversations and facts are stored locally on this machine`,"mem.beta.memory.lost":`Stored data may be lost during updates`,"mem.beta.memory.disable":`You can disable it at any time from this settings panel`,"mem.beta.memory.confirm":`Enable Memory`,"mem.beta.mcp.title":`Enable MCP Memory Access?`,"mem.beta.mcp.desc":`This exposes memory data to external MCP clients:`,"mem.beta.mcp.read":`MCP clients can read your stored memories (read-only)`,"mem.beta.mcp.restart":`Requires an MCP server restart to take effect`,"mem.beta.mcp.debug":`Intended for debugging and troubleshooting only`,"mem.beta.mcp.confirm":`Enable MCP Access`,"mem.beta.discovery.title":`Enable System Discovery?`,"mem.beta.discovery.desc":`This scans your system to personalize responses:`,"mem.beta.discovery.collects":`Collects hardware, software, and environment information`,"mem.beta.discovery.scans":`Scans files, git repos, browser history, and SSH config`,"mem.beta.discovery.local":`All data stays local on this machine`,"mem.beta.discovery.confirm":`Enable Discovery`,"mem.footer.database":`Database`,"mem.footer.avgConfidence":`Avg confidence: {n}`,"mem.footer.entities":`{n} entities`,"mem.footer.sensitive":`{n} sensitive`,"mem.toast.server":`{message}`,"mem.toast.notEmbedded":`Saved, but not embedded`,"mem.toast.created":`Memory created successfully`,"mem.toast.createFailed":`Couldn't create the memory: {error}`,"mem.toast.updated":`Memory updated`,"mem.toast.updateFailed":`Couldn't update the memory: {error}`,"mem.toast.deleted":`Memory deleted`,"mem.toast.deleteFailed":`Couldn't delete the memory: {error}`,"mem.toast.markedSensitive":`Marked as sensitive`,"mem.toast.unmarkedSensitive":`Unmarked as sensitive`,"mem.toast.sensitiveFailed":`Couldn't change the sensitive flag: {error}`,"mem.toast.idCopied":`ID copied to clipboard`,"mem.toast.copyFailed":`Couldn't copy the ID: {error}`,"mem.toast.consolidated":`Consolidated {sessions} sessions, extracted {items} items`,"mem.toast.consolidateFailed":`Couldn't consolidate sessions: {error}`,"mem.toast.backfilled":`Backfilled {n} embeddings`,"mem.toast.backfilledMissing":`Backfilled {n} embeddings ({missing} were missing)`,"mem.toast.rebuildFailed":`Couldn't rebuild embeddings: {error}`,"mem.toast.reconciled":`Checked {pairs} pairs: {reinforced} reinforced, {contradicted} contradicted`,"mem.toast.reconcileFailed":`Couldn't reconcile memory: {error}`,"mem.toast.ftsRebuilt":`FTS indexes rebuilt successfully`,"mem.toast.ftsFailed":`Couldn't rebuild FTS indexes: {error}`,"mem.toast.systemDisabled":`System context collection is disabled — enable it in settings`,"mem.toast.systemRefreshed":`System context refreshed: {n} facts updated`,"mem.toast.systemFailed":`Couldn't refresh system context: {error}`,"mem.toast.memoryEnabled":`Memory enabled`,"mem.toast.mcpEnabled":`MCP memory access enabled`,"mem.toast.discoveryEnabled":`System discovery enabled — {n} system facts collected`,"mem.toast.discoveryScanFailed":`System discovery enabled but scan failed: {error}`,"mem.toast.settingFailed":`Couldn't change the setting: {error}`,"mem.toast.reinitialized":`Re-initialized: cleared {cleared} entries, restored {stored} system facts`,"mem.toast.reinitFailed":`Couldn't re-initialize memory: {error}`,"mem.toast.cleared":`Deleted {knowledge} knowledge entries, {conversations} conversations`,"mem.toast.clearFailed":`Couldn't clear memory: {error}`,"mem.disc.title":`System Discovery`,"mem.disc.desc":`Scan your system to discover apps, projects, and usage patterns.`,"mem.disc.run":`Run Discovery`,"mem.disc.saved":`Saved {n} items to memory`,"mem.disc.saveFailed":`Couldn't save the discovered items: {error}`,"mem.disc.empty":`No items discovered.`,"mem.inf.title":`AI Profile Inference`,"mem.inf.desc":`Use the local LLM to generate profile insights from your data.`,"mem.inf.note":`Requires Lemonade Server running.`,"mem.inf.browser":`Include browser history`,"mem.inf.run":`Run Inference`,"mem.inf.saved":`Saved {n} insights to memory`,"mem.inf.saveFailed":`Couldn't save the insights: {error}`,"mem.inf.empty":`No insights generated.`,"mem.review.title":`Review & Save`,"mem.review.saveSelected":`Save Selected ({n})`,"mem.review.selectAll":`Select All`,"mem.review.none":`None`,"mem.log.found":`Found: {content}`,"mem.log.insight":`Insight: {content}`,"mem.log.error":`Error: {message}`,"mem.log.discoveryDone":`Done. {n} items discovered.`,"mem.log.inferenceDone":`Done. {n} insights generated.`,"mem.log.parseFailed":`Failed to parse event data.`,"mem.log.discoveryConnection":`Connection error. Is the GAIA server running?`,"mem.log.inferenceConnection":`Connection error. Is Lemonade Server running?`,"mem.goals.suggested":`Agent suggested {n} goal(s) — review before execution`,"mem.goals.reject":`Reject`,"mem.goals.accept":`Accept`,"mem.goals.new":`New Goal`,"mem.goals.titlePlaceholder":`Goal title`,"mem.goals.descPlaceholder":`Description — what should the agent work toward?`,"mem.goals.priorityLow":`Low priority`,"mem.goals.priorityMedium":`Medium priority`,"mem.goals.priorityHigh":`High priority`,"mem.goals.create":`Create`,"mem.goals.loading":`Loading goals...`,"mem.goals.empty":`No goals yet. Create one or let the agent suggest goals in autonomous mode.`,"mem.goals.source.agent_inferred":`agent inferred`,"mem.goals.source.agent_scheduled":`agent scheduled`,"mem.goals.deleteAria":`Delete goal {title}`,"mem.goals.noTasks":`No tasks yet — the agent will break this down when it starts.`,"mem.goals.failed":`{what}: {error}`,"mem.goals.rejectFailed":`Couldn't reject the goal`,"mem.goals.acceptFailed":`Couldn't accept the goal`,"mem.goals.createFailed":`Couldn't create the goal`,"mem.goals.cancelFailed":`Couldn't cancel the goal`,"mem.goals.deleteFailed":`Couldn't delete the goal`},W={meta:{code:`en`,nativeName:`English`,englishName:`English`,dir:`ltr`,showEnglishInBrackets:!1},messages:ge},_e=[W,he],ve=W.meta.code,ye=new Map(_e.map(e=>[e.meta.code,e]));function be(e){return typeof e==`string`&&ye.has(e)}function G(e){let t=ye.get(e);if(!t)throw Error(`Unknown UI locale "${e}". Registered: ${[...ye.keys()].join(`, `)}. Add it to LOCALES in src/i18n/registry.ts.`);return t}var K=``,xe=``,Se=``,q=``,Ce=/[\u2066-\u2069]/g;function J(e,t){return`${t===`rtl`?xe:K}${e}${q}`}function we(e){return e.replace(Ce,``)}function Te(e,t,n){return G(e).meta.dir===`rtl`?`${t} ${J(`(${n})`,`ltr`)}`:`${t} (${n})`}function Ee(e){return e.nativeName===e.englishName?e.nativeName:e.dir===`rtl`?`${J(e.nativeName,`rtl`)} ${J(`(${e.englishName})`,`ltr`)}`:`${e.nativeName} (${e.englishName})`}var De=(e,t)=>({ref:e,params:t});function Y(e,t,n,r=!1){return e.messages[t].replace(/\{(\w+)\}/g,(i,a)=>{let o=n?.[a];if(o===void 0)throw Error(`Message "${t}" needs a {${a}} param, and the caller passed none.`);return typeof o==`object`?Y(e,o.ref,o.params,r):r&&typeof o==`string`?`${Se}${o}${q}`:String(o)})}function Oe(e,t,n){return ke(e,e=>e(t,n))}function ke(e,t){let n=G(e),r=n.meta.dir===`rtl`,i=t((e,t)=>Y(n,e,t,r),e);if(!n.meta.showEnglishInBrackets||n===W)return i;let a=t((e,t)=>Y(W,e,t,r),W.meta.code);return i===a?i:`${J(i,n.meta.dir)}${je}${J(`(${a})`,`ltr`)}`}function Ae(e,t,n){let r=G(e);return Y(r,t,n,r.meta.dir===`rtl`)}var je=` `;function Me(e){let t=e.indexOf(`${q}${je}${K}(`);return t<0?[e]:[e.slice(0,t+1),e.slice(t+1+1)]}function Ne(e,t){let n=0;for(let r=t;r<e.length;r++){let t=e[r];if(t===K||t===xe||t===Se)n++;else if(t===q&&--n===0)return r}return-1}function Pe(e){let t=`${K}(`,n=`${q}${je}${t}`,r=[],i=0,a=e.startsWith(t)?-1:0;for(;;){let t=a<0?-1:e.indexOf(n,a);if(a>=0&&t<0)break;let o=a<0?0:t+1+1,s=Ne(e,o);if(s<0)break;o>i&&r.push({text:e.slice(i,o),gloss:!1}),r.push({text:e.slice(o,s+1),gloss:!0}),i=s+1,a=s}return r.length===0?null:(i<e.length&&r.push({text:e.slice(i),gloss:!1}),r)}function Fe(e,t){return`${e}.${t===1?`one`:`other`}`}function Ie(e){return Object.prototype.hasOwnProperty.call(W.messages,e)}function Le(e){let{meta:t}=G(e);document.documentElement.lang=t.code,document.documentElement.dir=t.dir}var Re=[`sending`,`delivered`,`queued`,`starting`,`failed`],ze=1;function Be(e,t){return{id:ze++,text:e,state:t}}function Ve(e,t,n){return[...e,Be(t,n)]}function He(e,t,n,r){return e.map(e=>e.id===t&&e.state===n?{...e,state:r,error:void 0,note:void 0}:e)}var Ue=`Can't add to this reply; it will send when the reply ends.`;function We(e,t){return e.map(e=>e.id===t&&e.state===`sending`?{...e,state:`queued`,note:Ue}:e)}function Ge(e,t){return e.filter(e=>e.id!==t)}function Ke(e,t,n){return e.some(e=>e.id===t&&e.state===`starting`)?e.map(e=>e.id===t?n===void 0?{...e,state:`queued`,error:void 0}:{...e,state:`failed`,error:n}:e):e}var qe=e=>e.state===`delivered`||e.state===`sending`;function Je(e,t){let n=e.findIndex(e=>qe(e)&&e.text===t);return n===-1?e:[...e.slice(0,n),...e.slice(n+1)]}function Ye(e,t){let n=[...t];return e.map(e=>{let t=qe(e)?n.indexOf(e.text):-1;return t===-1?e:(n.splice(t,1),{...e,state:`queued`})})}function Xe(e){return e.some(e=>e.state===`delivered`)}var Ze=`GAIA could not confirm it read this message.`;function Qe(e,t){let n=[...t.returned],r=[...t.taken],i=[];for(let t of e){if(t.state!==`delivered`){i.push(t);continue}let e=n.indexOf(t.text);if(e!==-1){n.splice(e,1),i.push({...t,state:`queued`});continue}let a=r.indexOf(t.text);a===-1?i.push({...t,state:`failed`,error:Ze}):r.splice(a,1)}return i}function $e(e,t){return e.map(e=>e.state===`delivered`?{...e,state:`failed`,error:t}:e)}function et(e){if(e.some(e=>qe(e)||e.state===`starting`))return;let t=e.find(e=>e.state===`queued`||e.state===`failed`);return t?.state===`queued`?t:void 0}var tt=`GAIA closed while this was being sent, so it may not have gone out. Check the chat above before sending it again.`;function nt(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e)){if(!Array.isArray(r))continue;let e=r.filter(e=>!!e&&typeof e==`object`&&typeof e.id==`number`&&typeof e.text==`string`&&Re.includes(e.state)).map(e=>e.state===`sending`?{...e,state:`delivered`}:e.state===`starting`?{...e,state:`failed`,error:tt}:e);for(let t of e)ze=Math.max(ze,t.id+1);e.length&&(t[n]=e)}return t}function rt(e,t){return e.length===t.length&&e.every(e=>t.includes(e))}function X(e,t){if(typeof window>`u`)return t;try{return localStorage.getItem(e)||t}catch(n){return U.system.warn(`Preference "${e}" unreadable, using "${t}". localStorage is blocked -- check private-browsing or site-data settings.`,n),t}}function it(){let e=X(`gaia-chat-theme`,`system`);return e===`light`||e===`dark`?e:`system`}function at(){let e=X(`gaia-chat-palette`,`default`);return re.has(e)?e:`default`}function ot(){try{let e=JSON.parse(X(`gaia-chat-custom-colors`,`null`));if(e&&ae(e.accent)&&ae(e.base))return{accent:e.accent,base:e.base}}catch(e){U.system.warn(`Saved custom colors unreadable; starting from the default pair.`,e)}return P}var st=`gaia-chat-locale`;function ct(){let e=X(st,``);if(e)return be(e)?e:(U.system.warn(`Saved interface language "${e}" is not a registered locale; using English.`),ve);let t=typeof navigator>`u`?[]:navigator.languages?.length?navigator.languages:[navigator.language];for(let e of t){let t=(e??``).split(`-`)[0].toLowerCase();if(be(t))return t}return ve}function Z(e,t){try{localStorage.setItem(e,t)}catch(t){U.system.warn(`Preference "${e}" not saved -- it will reset on reload. localStorage is blocked -- check private-browsing or site-data settings.`,t)}}var lt=`gaia-chat-message-queues`;function ut(){try{return nt(JSON.parse(X(lt,`{}`)))}catch(e){return U.system.warn(`Saved queued messages unreadable; starting with none.`,e),{}}}var dt={showMemoryDashboard:!1,showSchedules:!1,showDocLibrary:!1},ft=w((e,t)=>({agents:[],setAgents:t=>e({agents:t}),sessions:[],currentSessionId:null,pendingDeleteIds:[],runningSessionIds:[],setRunningSessions:t=>e(e=>rt(e.runningSessionIds,t)?e:{runningSessionIds:t}),queuedSessionIds:[],awaitingBySession:{},activeRunsAt:0,setActiveRuns:(t,n)=>e(e=>{let r={activeRunsAt:n};return rt(e.runningSessionIds,t.session_ids)||(r.runningSessionIds=t.session_ids),e.queuedSessionIds.join()!==t.queued.join()&&(r.queuedSessionIds=t.queued),JSON.stringify(e.awaitingBySession)!==JSON.stringify(t.awaiting_user)&&(r.awaitingBySession=t.awaiting_user),r}),loseActiveRuns:()=>e(e=>e.runningSessionIds.length>0?{activeRunsAt:0,runningSessionIds:[]}:{activeRunsAt:0}),messageQueues:ut(),updateQueue:(t,n)=>e(e=>{let r=e.messageQueues[t]??[],i=n(r);if(i.length===r.length&&i.every((e,t)=>e===r[t]))return e;let a={...e.messageQueues};return i.length?a[t]=i:delete a[t],Z(lt,JSON.stringify(a)),{messageQueues:a}}),queueHolds:{},setQueueHold:(t,n)=>e(e=>{if(!!e.queueHolds[t]===n)return e;let r={...e.queueHolds};return n?r[t]=!0:delete r[t],{queueHolds:r}}),setSessions:t=>e(e=>({sessions:t.filter(t=>!e.pendingDeleteIds.includes(t.id))})),setCurrentSession:t=>e(t?{currentSessionId:t,showMemoryDashboard:!1,showSchedules:!1}:{currentSessionId:t}),addSession:t=>e(e=>({sessions:[t,...e.sessions]})),removeSession:t=>e(e=>{let n={sessions:e.sessions.filter(e=>e.id!==t),currentSessionId:e.currentSessionId===t?null:e.currentSessionId,messages:e.currentSessionId===t?[]:e.messages};if(e.messageQueues[t]){let r={...e.messageQueues};delete r[t],Z(lt,JSON.stringify(r)),n.messageQueues=r}if(e.queueHolds[t]){let r={...e.queueHolds};delete r[t],n.queueHolds=r}return n}),updateSessionInList:(t,n)=>e(e=>({sessions:e.sessions.map(e=>e.id===t?{...e,...n}:e)})),addPendingDelete:t=>e(e=>({pendingDeleteIds:[...e.pendingDeleteIds,t]})),removePendingDelete:t=>e(e=>({pendingDeleteIds:e.pendingDeleteIds.filter(e=>e!==t)})),messages:[],setMessages:t=>e({messages:t}),addMessage:t=>e(e=>({messages:[...e.messages,t]})),removeMessage:t=>e(e=>({messages:e.messages.filter(e=>e.id!==t)})),removeMessagesFrom:t=>e(e=>{let n=e.messages.findIndex(e=>e.id===t);return n===-1?e:{messages:e.messages.slice(0,n)}}),isStreaming:!1,streamingContent:``,setStreaming:t=>e({isStreaming:t}),setStreamContent:t=>e({streamingContent:t}),clearStreamContent:()=>e({streamingContent:``}),resetStreaming:()=>e({isStreaming:!1,streamingContent:``,agentSteps:[],cards:[],liveStatus:null,livePhase:null,awaitingUser:!1}),agentSteps:[],addAgentStep:t=>e(e=>({agentSteps:[...e.agentSteps.map(e=>e.active&&e.type===`tool`&&t.type!==`tool`&&e.success==null&&!e.result?e:{...e,active:!1}),t]})),updateLastAgentStep:t=>e(e=>{if(e.agentSteps.length===0)return e;let n=[...e.agentSteps];return n[n.length-1]={...n[n.length-1],...t},{agentSteps:n}}),appendThinkingContent:t=>e(e=>{if(e.agentSteps.length===0)return e;let n=[...e.agentSteps],r=n[n.length-1];return r.type===`thinking`?(n[n.length-1]={...r,detail:(r.detail??``)+t,active:!0},{agentSteps:n}):e}),updateLastToolStep:t=>e(e=>{if(e.agentSteps.length===0)return e;let n=[...e.agentSteps];for(let e=n.length-1;e>=0;e--)if(n[e].type===`tool`)return n[e]={...n[e],...t},{agentSteps:n};return e}),clearAgentSteps:()=>e({agentSteps:[],liveStatus:null,livePhase:null,awaitingUser:!1}),liveStatus:null,livePhase:null,setLiveStatus:(t,n=null)=>e({liveStatus:t,livePhase:n}),awaitingUser:!1,setAwaitingUser:t=>e({awaitingUser:t}),liveQuestions:{},openQuestion:(t,n,r)=>e(e=>({liveQuestions:{...e.liveQuestions,[t]:{sessionId:n,expiresAt:r!=null&&r>0?Date.now()+r*1e3:null}}})),closeQuestion:t=>e(e=>{if(!(t in e.liveQuestions))return e;let{[t]:n,...r}=e.liveQuestions;return{liveQuestions:r}}),closeSessionQuestions:t=>e(e=>{let n=Object.fromEntries(Object.entries(e.liveQuestions).filter(([,e])=>e.sessionId!==t));return Object.keys(n).length===Object.keys(e.liveQuestions).length?e:{liveQuestions:n}}),cards:[],appendCard:t=>e(e=>({cards:[...e.cards,t]})),clearCards:()=>e({cards:[]}),documents:[],setDocuments:t=>e({documents:t}),systemStatus:null,backendConnected:!0,setSystemStatus:t=>e({systemStatus:t}),setBackendConnected:t=>e({backendConnected:t}),themePreference:it(),theme:E(it()),showDocLibrary:!1,showFileBrowser:!1,settingsSection:null,setupAgain:!1,runSetupAgain:t=>e({setupAgain:t}),settingsProvider:null,showMemoryDashboard:!1,showSchedules:!1,draftPermissionMode:`ask`,draftPermissionModeChosen:!1,defaultPermissionMode:`ask`,defaultPermissionModeKnown:!1,draftDocumentIds:[],draftPrivate:!1,draftFolder:null,setThemePreference:n=>{Z(`gaia-chat-theme`,n);let r=E(n);O(r),z(t().palette,t().customColors,r),e({themePreference:n,theme:r})},syncSystemTheme:()=>{if(t().themePreference!==`system`)return;let n=E(`system`);O(n),z(t().palette,t().customColors,n),e({theme:n})},locale:ct(),setLocale:t=>{Le(t),N(),Z(st,t),e({locale:t})},palette:at(),customColors:ot(),setPalette:n=>{Z(`gaia-chat-palette`,n),z(n,t().customColors,t().theme),e({palette:n})},setCustomColors:n=>{Z(`gaia-chat-custom-colors`,JSON.stringify(n)),z(`custom`,n,t().theme),Z(`gaia-chat-palette`,`custom`),e({customColors:n,palette:`custom`})},sidebarOpen:typeof window<`u`?window.innerWidth>768:!0,sidebarCollapsed:X(`gaia-chat-sidebar-collapsed`,`false`)===`true`,isLoadingMessages:!1,pendingPrompt:null,setShowDocLibrary:t=>e(t?{...dt,showDocLibrary:!0}:{showDocLibrary:!1}),setShowFileBrowser:t=>e({showFileBrowser:t}),openSettings:(t=`general`,n)=>e({settingsSection:t,settingsProvider:n??null}),closeSettings:()=>e({settingsSection:null,settingsProvider:null}),setShowMemoryDashboard:t=>e(t?{...dt,showMemoryDashboard:!0}:{showMemoryDashboard:!1}),setShowSchedules:t=>e(t?{...dt,showSchedules:!0}:{showSchedules:!1}),setDraftPermissionMode:t=>e({draftPermissionMode:t,draftPermissionModeChosen:!0}),setDefaultPermissionMode:t=>e(e=>({defaultPermissionMode:t,defaultPermissionModeKnown:!0,draftPermissionMode:!e.draftPermissionModeChosen&&e.draftPermissionMode===e.defaultPermissionMode?t:e.draftPermissionMode})),resetDraftPermissionMode:()=>e(e=>({draftPermissionMode:e.defaultPermissionMode,draftPermissionModeChosen:!1})),setDraftPrivate:t=>e({draftPrivate:t}),setDraftFolder:t=>e({draftFolder:t}),addDraftDocuments:t=>e(e=>{let n=t.filter(t=>!e.draftDocumentIds.includes(t));return n.length?{draftDocumentIds:[...e.draftDocumentIds,...n]}:e}),removeDraftDocument:t=>e(e=>({draftDocumentIds:e.draftDocumentIds.filter(e=>e!==t)})),clearDraftDocuments:()=>e({draftDocumentIds:[]}),setSidebarOpen:t=>e({sidebarOpen:t}),toggleSidebarCollapsed:()=>e(e=>{let t=!e.sidebarCollapsed;return Z(`gaia-chat-sidebar-collapsed`,String(t)),{sidebarCollapsed:t}}),setSidebarCollapsed:t=>{Z(`gaia-chat-sidebar-collapsed`,String(t)),e({sidebarCollapsed:t})},setLoadingMessages:t=>e({isLoadingMessages:t}),setPendingPrompt:t=>e({pendingPrompt:t})})),pt=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),mt=t(((e,t)=>{t.exports=pt()})),Q=mt(),ht=new Set([`option`,`optgroup`,`title`,`textarea`,`style`,`script`,`text`,`tspan`,`textPath`,`desc`]);function gt(e,t){let n=Pe(e);if(!n)return e;let r=n.map(({text:e,gloss:t},n)=>t?(0,Q.jsxs)(`small`,{className:`i18n-gloss`,lang:`en`,children:[e]},n):e);return(0,Q.jsxs)(`i18n-label`,{children:r},t)}function _t(e,t){if(typeof e==`string`)return gt(e,t);if(!Array.isArray(e))return e;let n;return e.forEach((t,r)=>{let i=_t(t,`i18n-${r}`);i!==t&&(n??=[...e],n[r]=i)}),n??e}function vt(e,t){if(typeof e!=`string`||ht.has(e))return t;let{children:n}=t,r=_t(n);return r===n?t:{...t,children:r}}var yt=(e,t,n)=>(0,Q.jsx)(e,vt(e,t),n),bt=(e,t,n)=>(0,Q.jsxs)(e,vt(e,t),n),xt=/^https?:\/\/(127\.0\.0\.1|localhost):\d+\/api$/,St=`http://localhost:4200/api`;function Ct(){if(typeof window>`u`)return`/api`;if(window.location.protocol===`file:`){let e=new URLSearchParams(window.location.search).get(`api`);return e&&xt.test(e)?e:St}return`/api`}var wt=new Map;function $(e){let t=wt.get(e);if(!t){let n=((t,n)=>Oe(e,t,n));n.plural=(t,n,r)=>Oe(e,Fe(t,n),{n,...r}),n.hint=(t,n)=>Te(e,t,n),n.compose=t=>ke(e,t),n.bare=(t,n)=>Ae(e,t,n),n.locale=e,t=n,wt.set(e,t)}return t}function Tt(){return $(ft(e=>e.locale))}function Et(){return $(ft.getState().locale)}var Dt=$(`en`);function Ot(e){return e.locale===ve?void 0:`${e.locale}-u-nu-latn`}export{Ee as A,O as B,Je as C,G as D,Me as E,U as F,w as G,E as H,me as I,v as K,P as L,De as M,we as N,Ie as O,ge as P,ne as R,We as S,Le as T,N as U,k as V,M as W,Ke as _,Tt as a,Ge as b,yt as c,ft as d,Ve as f,et as g,Xe as h,$ as i,Fe as j,J as k,bt as l,Be as m,Et as n,Ct as o,$e as p,r as q,Dt as r,Q as s,Ot as t,mt as u,He as v,_e as w,Ye as x,Qe as y,z};
|