{"en":{"common":{"save":"Save","cancel":"Cancel","delete":"Delete","edit":"Edit","loading":"Loading...","confirm":"Confirm","close":"Close","saving":"Saving…","create":"Create","copy":"Copy","copied":"Copied","send":"Send","back":"Back","remove":"Remove","search":"Search","settings":"Settings","previous":"Previous","next":"Next","show":"Show","hide":"Hide","nothingToChoose":"Nothing to choose from","bytes":{"b":"B","kb":"KB","mb":"MB","gb":"GB","tb":"TB"},"selectPlaceholder":"Select…","searchPlaceholder":"Search…","pager":{"label":"Pages","range":"{from}–{to} of {total}","prev":"Previous page","next":"Next page","search":"Search","searchRuns":"Search by task or answer","clear":"Clear","noMatches":"Nothing matches that search.","all":"All","showMore":"Show more"},"noMatch":"No match for “{query}”"},"errors":{"network":"No internet connection. Please check your connection and try again.","sessionExpired":"Your session has expired. Please log in again.","generic":"Something went wrong. Please try again.","couldNotLoad":"Could not load","retry":"Retry","agentUnavailable":{"title":"This employee could not be loaded","description":"The request did not go through. Try again, or go back to the workspace.","back":"Back to workspace"}},"auth":{"login":{"signInTab":"Sign in","createAccountTab":"Sign up","title":"Welcome back","subtitle":"Sign in to keep teaching your employee.","emailLabel":"Email, phone or username","emailPlaceholder":"you{'@'}@:{'brand.host'}","passwordLabel":"Password","passwordPlaceholder":"••••••••","forgotPassword":"Forgot password?","submitButton":"Sign in","noAccountText":"No account yet?","createOneLink":"Create one","termsLink":"terms of service","privacyLink":"privacy policy","successTitle":"Successful login","errorTitle":"Authorization error","errorFallback":"Check email and password","tabsLabel":"Sign in or sign up","showPassword":"Show password","hidePassword":"Hide password","sideTitle":"In a minute you'll have a working AI employee.","sidePerk1":"Your first working employee — in under a minute","sidePerk2":"Telegram, WhatsApp, MAX, CRM and MoySklad out of the box","sidePerk3":"Your own @:{'brand.host'}/name — clients install nothing"},"register":{"signInTab":"Sign in","createAccountTab":"Sign up","title":"New account","subtitle":"Your employee starts learning in a minute.","nameLabel":"Your name","namePlaceholder":"What should we call you","usernameLabel":"Username","usernamePlaceholder":"username","usernameUrlHint":"@:{'brand.host'}/{value} — your first employee's address","emailLabel":"Email","emailPlaceholder":"you{'@'}@:{'brand.host'}","passwordLabel":"Password","passwordPlaceholder":"at least 8 characters","submitButton":"Create account","agreementPrefix":"By creating an account, you agree to our","termsOfService":"Terms of Service","agreementAnd":"and","privacyPolicy":"Privacy Policy","successTitle":"Account created","errorTitle":"Registration error","errorFallback":"Please check the entered data and try again","showPassword":"Show password","hidePassword":"Hide password","haveAccountText":"Already have an account?","signInLink":"Sign in"},"forgot":{"title":"Reset your password","subtitle":"We will email you a link to set a new one.","submit":"Send the link","sending":"Sending…","sentTitle":"Check your inbox","sentBody":"If {email} has an account here, a reset link is on its way.","sentHint":"The link is valid for one hour and can be used once. Nothing has changed on your account yet.","backToSignIn":"Back to sign in"},"reset":{"title":"Set a new password","subtitle":"Choose something you have not used here before.","newPassword":"New password","repeatPassword":"Repeat it","submit":"Save the password","saving":"Saving…","mismatch":"The two passwords are not the same.","failed":"This link is no longer valid. Ask for a new one.","doneTitle":"Password changed","doneBody":"You can sign in with it now. Anywhere you were already signed in has been signed out.","signIn":"Sign in","signsOutHint":"Changing your password signs out every other device.","noTokenTitle":"This link is incomplete","noTokenBody":"Open the link from the email exactly as it was sent — some mail apps cut long links in half.","requestNew":"Ask for a new link"},"verify":{"working":"Confirming your address…","okTitle":"Address confirmed","okBody":"Thank you — that is all it needed.","failedTitle":"This link is no longer valid","failedBody":"Links last a day. Send yourself a fresh one and it will confirm straight away.","resend":"Send me a new link","resent":"Sent — check your inbox","signIn":"Sign in","continue":"Go to the workspace"},"password":{"show":"Show password","hide":"Hide password"},"credentials":{"emailNonLatin":"\"{char}\" is not a Latin letter — an address written with it looks correct and reaches nobody. Retype it in Latin.","emailShape":"This does not look like an address mail can be delivered to.","emailEmpty":"Enter your email address.","passwordNonLatin":"\"{char}\" is not a Latin letter — this was typed with another keyboard layout, and you would never be able to type it the same way again.","passwordShort":"At least {min} characters.","usernameShape":"Letters, digits, \"-\", \"_\" and \".\" only, 2 to 40 characters.","usernameNonLatin":"\"{char}\" is not a Latin letter — this name becomes your public address.","checkAddress":"Check the address","passwordNeedsLetter":"Add at least one letter.","passwordNeedsDigit":"Add at least one digit.","passwordCommon":"This is one of the first passwords anybody tries. Pick another.","passwordRule":"At least 8 characters, with a letter and a digit."},"social":{"divider":"or continue with email","continueWith":"Continue with {provider}","genericProvider":"the provider","providerNames":{"yandex":"Yandex ID","mailru":"Mail ID","vk":"VK ID"},"errorEmailInUse":"An account with this email already exists. Sign in with your password, then connect {provider} from account settings.","errorGeneric":"Something went wrong signing in with {provider}. Please try again, or use your password."},"complete":{"title":"Finish signing up","subtitle":"{provider} didn't share an email we can use to sign you in — fill in the rest to finish creating your account.","submitButton":"Create account","noTicket":"This sign-up link is no longer valid. Start again from the sign-in page.","backToLogin":"Back to sign in"},"testLogin":{"working":"Signing you in…","failedTitle":"This sign-in link is no longer valid","failedBody":"A link works once and for 15 minutes. Ask for a new one, or sign in the usual way.","signIn":"Sign in"},"panelLogin":{"working":"Signing you in…","failedTitle":"This link from the deploy panel is no longer valid","failedBody":"It works once and for 2 minutes. Press the button in the panel again, or sign in the usual way.","signIn":"Sign in"}},"dashboard":{"browserPage":{"eyebrow":"Action Agent","title":"Action Agent","subtitle":"Run, watch and review what the Action Agent does for {name}.","thisAgent":"This employee","run":{"title":"Run a task","instructionLabel":"What should the Action Agent do?","instructionPlaceholder":"Find the three cheapest 2-bedroom flats in Kazan on avito.ru and list price, area and address.","button":"Run","starting":"Starting…","note":"The result also arrives in this employee's chat.","startedToast":"The Action Agent is on it.","prefilledToast":"The form is filled in from that run — check it and press Run.","startsAt":"Starts at","clearStart":"Start from the instruction instead","walksPath":"Walks the saved path","clearPath":"Run without the saved path","savedPath":"Saved path","modeLabel":"What the Action Agent does","walkPath":"Or walk a saved path","pathInstructionLabel":"What to report back (optional)","pathInstructionPlaceholder":"Leave it empty to use what the path is for, or say what to read off the last page."},"runs":{"title":"Runs","empty":"No runs yet. The first one you start appears here.","loading":"Loading runs…","live":"{n} running"},"status":{"queued":"Queued","running":"Running","needs_human":"Needs you","done":"Done","failed":"Failed","canceled":"Stopped"},"wall":{"auth":"The site asks for a sign-in","otp":"The site asks for a one-time code","payment":"The site asks for a payment","bot_check":"The site is checking the browser","approve":"The site waits for you to approve the sign-in","approveHow":"Approve the sign-in on your phone or other device, then press Done. Nothing to type here.","approveHowWindow":"Approve the sign-in on your phone or other device, or open the browser and scan the code it shows, then press Done. Nothing to type here.","approved":"Done — I approved it","how":"Open the browser, do that part yourself inside it, then press the button. The Action Agent carries on from where it stopped — it never types card details or clears a check itself.","lasts":"What you clear here is kept for this employee's next runs.","thisRunOnly":"What you clear here lasts for this run only.","noSecrets":"Never put a password or a code into the chat.","liveHint":"The browser is yours while the run waits — click into it.","signedIn":"I'm signed in — carry on","cleared":"Done — carry on","stop":"Stop the run","answered":{"signed_in":"Got it — carrying on from where it stopped…","stop":"Stopping…","nobody":"Nobody answered in time.","replied":"Got it — passing your answer on…","filled":"Got it — signing in and carrying on…","paid":"Got it — paying and carrying on…"},"storedNote":"Kept for this employee once the site lets it in, so you won't be asked again.","sendSignIn":"Sign in and carry on","sendCode":"Send the code and carry on","openBrowser":"Open the browser","typedByBrowser":"Typed by the browser on {host} only — it never reaches the AI.","field":{"login":"Login or email","phone":"Phone","password":"Password","code":"Code"},"question":"The Action Agent has a question","questionHow":"Only you can decide this one. Answer in a sentence and the run carries on with your answer.","reply":"Send the answer","replyPlaceholder":"Your answer…","attach":"Attach a file","pay":{"amount":"Amount","amountUnknown":"The page shows no amount — check it in the browser before you pay.","card":"Pay with","another":"Another card","newKept":"Kept for this employee, so next time you only pick it.","csc":"Security code","pay":"Pay","payAmount":"Pay {amount}","paidMyself":"I paid myself — carry on","assurance":"The browser types the card into the card fields on {host} only and presses pay once — the AI never sees the card, and the security code is not stored."}},"wallPage":{"title":"The run needs you","previewTitle":"Your Action Agent needs you","previewDescription":"Open to sign in or answer. The browser types it into the site; the AI never sees it.","theAgent":"Your Action Agent","goneTitle":"Nothing to answer here","goneBody":"This run is not waiting for anything. It may have been answered already, or the link may belong to another workspace.","openRuns":"Open the Action Agent","openRun":"Open the full run","needsTheBrowser":"This one is cleared in the browser itself, and the browser is on the run's own page.","movedOn":{"answered":"Answered — the run is carrying on from where it stopped.","carriedOn":"Nobody answered in time, so the run carried on without it.","finished":"This run has finished. Open it to read what it did."},"linkGoneTitle":"This link has run out","linkGoneBody":"It was for one stop of the run, and that stop is over — answered, or the run went on without it. If the run needs you again, a new message brings a new link.","windowHint":"Do that part yourself in the window below, then press the button on the card.","windowHintApprove":"If the site shows a code, scan it in the window below, then press Done on the card.","linkFinished":"This run has finished. Its report is in the chat it was asked in.","reaching":"Can't reach @:{'brand.name'} right now — trying again.","check":{"title":"Security check","hint":"Pass it in the window below: tap, drag or type as the site asks. Pinch to zoom. To type, tap Keyboard.","after":"Then tap Done — the agent carries on by itself.","wholePage":"Show whole page","zoomToCheck":"Zoom to the check","notFound":"Couldn't find the check on the page, so the whole page is shown. Pinch to zoom in.","gone":"The check looks passed — carrying on in {s}…","notYet":"Not yet"}},"card":{"started":"Started","finished":"Finished","queuedAt":"Queued","liveTitle":"Live view","liveHint":"Watching only — the Action Agent is driving.","connectionLost":"Connection to the window was lost","connectionLostBody":"Your clicks are not reaching the page. Reconnect to pick up where you left off.","connectionLostWatchBody":"The view stopped updating. Reconnect to watch again.","reconnect":"Reconnect","expandLive":"Full screen","collapseLive":"Exit full screen","stop":"Stop","stopping":"Stopping…","waitingForBrowser":"Waiting for a session…","progressTitle":"What it is doing","noProgressYet":"Nothing yet.","endedAt":"Ended on","report":"Report","files":"Files","captureSkipped":"No capture","openChat":"Open in chat","stoppedTitle":"Why it stopped","obstacleAt":"Page: {url}","nextTitle":"What next","noOutcome":"The run ended without a report.","canceledNote":"You stopped this run.","show":"Details","hide":"Hide","answerTitle":"Answer","notesShow":"The browser's own notes","notesHide":"Hide the browser's notes","showLive":"Show the browser","hideLive":"Hide the browser","liveHidden":"The browser runs out of sight. Show it only if you want to watch — the card says where the run is."},"obstacle":{"captcha":"A verification check stood in the way","login_wall":"A sign-in wall stood in the way","otp_wall":"The site asked for a one-time code","payment_wall":"The site asked for a payment","question":"The Action Agent asked a question and the run ended there","credentials":"The instruction carried a password, so nothing was started","proxy_tunnel":"The proxy could not reach the site","rate_limited":"The site is limiting requests from this browser's address","http_403":"The site refused access","not_found":"The page was not found","network":"The connection failed","timeout":"Time ran out","budget":"The run's budget ran out","unknown":"Something stood in the way"},"action":{"continue_from_result_url":"Continue from where it stopped","retry":"Run again","retry_on_cloud":"Run again on the cloud","retry_without_proxy":"Run again without the proxy","retry_later_or_sign_in":"Run again","sign_in_then_retry":"Log in now, then run again","fix_start_url":"Fix the start address","narrow_or_change_site":"Edit and run again"},"logins":{"title":"Logins & credentials","body":"Sign the Action Agent into a site ahead of time, or see which sites it is already signed into and which credentials it holds.","loginNow":"Log in now","sites":"Sites","hint":"Both open on the Employee tab, in the Action Agent card of the connections column — the page opens with the window ready."},"elapsed":{"seconds":"{n}s","minutes":"{m} min {s}s"},"verdict":{"hours":"{n}h","minutes":"{n}m","seconds":"{n}s","stepsOf":"{n} of {max}","stepsSessions":"{n} across {sessions} sessions","spentOf":"{spent} of {clock}","plusWait":", plus {wait} waiting for a person","completedOk":"Finished on its own. Steps: {steps}, time: {spent}.","goalNotMet":"Stopped on its own, reporting that the goal could not be met. Steps: {steps}, time: {spent}.","maxSteps":"Ran out of steps without finishing. Steps: {steps}, time: {spent}.","timeout":"Ran out of time. Time: {spent}, steps: {steps}.","loginWall":"Stopped at a sign-in — the site wants a person to log in. Steps: {steps}, time: {spent}.","otpWall":"Stopped at a one-time code — only the person who receives it can enter it. Steps: {steps}, time: {spent}.","paymentWall":"Stopped at a payment — card details and bank confirmations are never typed by the Action Agent. Steps: {steps}, time: {spent}.","interrupted":"Interrupted — the session stopped answering or the same action kept failing. Steps: {steps}, time: {spent}.","canceled":"Stopped by a person. Steps: {steps}.","failed":"Failed. Steps: {steps}, time: {spent}.","refused":"Not started: the instruction carried a password, a code or a card number — those never go into a chat."},"nextText":{"startFrom":"Start from {url}.","captcha_after_solver":"The site is showing a verification check that the solver did not clear. Open the live view, pass the check yourself, then run the task again.","captcha_cloud":"The site is showing a verification check. Run the task again — the cloud session with a solver will take it.","captcha":"The site is showing a verification check. Open the live view and pass it yourself, or enable captcha solving for this account, then run the task again.","login_wall":"The site wants a sign-in. Use «Log in now» for this site (or save its credentials), then run the task again.","otp_wall":"The site asked for a one-time code that only you receive. Use «Log in now» for this site and enter the code there once, then run the task again.","payment_wall":"The site asked for card details or a bank confirmation. The Action Agent never types a card number or clears 3-D Secure — complete the payment yourself on the site, then run the task again for what is left.","credentials":"Passwords do not go in chat. Open Action Agent → «Log in now» and sign in there once, then send the task again without the password.","proxy_tunnel":"The proxy could not reach this site. Run the task again with the proxy off, or from a different country, and if it repeats the site is refusing the route.","http_403":"The site refused the request (access denied). Try again later, from a different address, or signed in — this is the site’s decision, not a fault in the run.","not_found":"The page does not exist at that address. Check the start URL and run the task again.","network":"The connection to the site failed. Run the task again; if it repeats, the site is down or unreachable from here.","budget":"The run’s budget ran out before the goal was reached. Run the task again from where it stopped, or narrow it to one site or one category.","max_steps":"The step budget ran out before the goal was reached. Run the task again from where it stopped, or narrow it to one site or one category.","timeout":"The time budget ran out before the goal was reached. Run the task again from where it stopped.","interrupted":"The Action Agent stopped before finishing. Run the task again.","goal_not_met":"The Action Agent reported that the goal could not be met on that site. Narrow the task or point it at a different site.","retry":"Run the task again.","question":"The Action Agent asked a question and the run ended there. Send the task again with the answer in it — and if it asked for a file, attach the file to that message.","site_limited":"The site is limiting requests from this browser's address. Wait a few minutes and run the task again.","browser_lost":"The browser ran out of memory on a heavy page and restarted. Run the task again — it opens with your sign-ins and picks up from where it stopped.","partly_done":"The Action Agent did part of the task. Run the task again for the part that is not done."},"takeover":{"take":"Take over","handBack":"Hand back","youHaveControl":"You have control — the agent waits","someoneElse":"Someone is controlling the window","roomHint":"Take over if it gets stuck — the agent waits while you work in the page."},"paths":{"record":"Record a path","recordHint":"Show the browser an errand once. Next time it walks it by itself, without guessing.","recordWhat":"What this path does","recordStart":"Start page","recording":"Recording — do the errand in the window","goTo":"Go to","save":"Save path","discard":"Discard","signInNote":"Signing in is fine: the path starts after the last sign-in, and passwords are never saved.","timeLeft":"{time} left","stepsTitle":"The path, step by step","variable":"Changes each time","variableName":"Name","variableHint":"e.g. product","nameThisValue":"Name this value","variableOptions":"One of: {options}","recordingAgain":"Recording “{name}” again — saving makes it a new version of the same path.","cancelRecordAgain":"Record a new path instead","name":"Name of the path","description":"When to use it","savePath":"Save path","saved":"Path saved","list":"Saved paths","empty":"No saved paths yet.","off":"Off — the site changed","run":"Run","runStart":"Run path","recordAgain":"Record again","delete":"Delete","version":"Version {n}","removeStep":"Remove step","saveAsPath":"Save as path","valueChanges":"“{value}” changes each time","unsupported":{"frame":"Inside an embedded frame — not supported yet","opened_tab":"Opens a new tab — not supported yet","file":"Uploads a file — not supported yet"},"unsupportedKept":"Remove the steps that are not supported yet, or end the path before them, to save it.","recordedEmpty":{"after_sign_in_nothing_left":"Nothing was saved: the path ended at a sign-in, and a path starts after the last sign-in. Sign in first, then record the errand.","too_long":"Nothing was saved: the path was longer than 40 steps. Record a shorter errand.","nothing_recorded":"Nothing was saved: no steps were recorded. Do the errand in the window, then press Save path."},"walk":{"whole":"Used saved path \"{name}\" — all {of} steps","wholeOne":"Used saved path \"{name}\" — its one step","partly":"Used saved path \"{name}\" — {walked} of {of} steps, then the agent finished","unused":"Saved path not used: {reason}","why":{"gone":"a button or field it uses is no longer on the page","gone_after_type":"the page changed after it typed","wrong_page":"the site opened a different page than when the path was recorded","no_such_option":"a list no longer has the option it chooses","not_a_field":"it would have typed into something that is not a field","secret_field":"it would have typed into a password or code field","unknown_action":"it has a step that cannot be repeated automatically","stopped":"the run stopped before it could walk it","wall":"the site asked to sign in first","unanswered":"its last page did not have the answer","off":"it is off — it broke on the site twice in a row","not_found":"the saved path it named is not there","missing_value":"it needs a value for {name}","not_an_option":"the value it was given for {name} is none of the list's options","invalid_value":"a value it was given cannot be typed","unreadable":"the saved path could not be read","unknown":"the run ended before it could walk it"}},"step":{"navigate":"Open {target}","click":"Click “{target}”","input":"Type “{value}” into {target}","select_dropdown_option":"Choose “{value}” in {target}","send_keys":"Press Enter in {target}"},"subtitle":"Errands the agent walks step by step instead of working them out.","emptyTitle":"No saved paths yet","emptyBody":"Record an errand once, or open a finished run and press Save as path.","uses":"Used {n}×","notWalked":"Not used yet","trackLabel":"{steps} steps, {blanks} filled in each run","sheet":{"eyebrow":"Saved path","runTitle":"Run it","runNothing":"Nothing to fill in: it types the same every time.","runSavedVersion":"Runs the saved version. Save your changes to run them.","whenHelp":"The chat picks this path when a request matches this. Say what it is for in one sentence.","whenPlaceholder":"When asked to …","varsTitle":"What changes each run","varsHelp":"Each run fills these in. The chat writes them from the request, or you type them when you press Run.","varsEmpty":"Nothing changes yet. In the steps below, make typed text change each run.","varLabel":"What it is, e.g. the post's text","varExample":"Last time: {value}","stepsTitle":"Steps","stepsHelp":"Walked in this order. Edit what a step types, opens or clicks, take a step out, or make typed text or a part of an opened address change each run.","whichPart":"Which part changes","makeChange":"Make it change","keepFixed":"Keep it fixed","takeOut":"Take out","edit":"Edit","editUndo":"Cancel edit","editLabel":{"text":"What this step types","url":"The address this step opens","contains":"What to click — words its text contains"},"editHelp":{"text":"Saved as a new version. Put a variable in with Insert — it is filled with that run's value.","url":"A full address starting with https://. To vary a part of it, use “Make it change” instead.","contains":"The step clicks the one element whose text has these words — use what stays the same, like a person's name, not a last message or a time. Two matches and the step is handed to the agent. Leave empty to find it as recorded."},"insertVariable":"Insert","containsNow":"Clicks the one element that says “{text}”","putBack":"Put back","historyTitle":"History","restore":"Restore","current":"Current","stepCount":"{n} steps","saveChanges":"Save changes","saving":"Saving…","saved":"Changes saved","restored":"Version {n} restored","delete":"Delete path","deleteConfirm":"Delete this path? Runs that used it stay.","keep":"Keep it","platformNote":"Every account has this path. You can run it, not change it.","loadFailed":"This path could not be opened. Close it and try again.","updated":"Updated {date}","breaks":"Broke {n} times in a row","reasons":{"recorded":"Recorded","rerecorded":"Recorded again","edited":"Edited","repaired_by_agent":"Mended by the agent","locator_refreshed":"Found moved buttons","rolled_back":"Restored an earlier version"},"verbs":{"open":"Open","click":"Click","type":"Type","press":"Press","choose":"Choose","scroll":"Scroll","back":"Back","other":"Step"}}}},"sidebar":{"newLeadsBadge":"{n} new request | {n} new requests","employees":"Employees","rooms":"Rooms","scopeWork":"Work","scopeWorkHint":"Your employer's workspace — the rooms you were added to.","scopePersonal":"My own","scopePersonalHint":"Your own workspace, on your own plan. Nobody else sees it.","myEmployees":"Employees","freePlan":"free plan","staffLabel":"Employee","expandSidebar":"Expand sidebar","collapseSidebar":"Collapse sidebar","logOut":"log out","admin":"Admin","core":"Core","activity":"Activity","billing":"Plans","members":"Members","artifacts":"Artifacts","expandGroup":"Show the list","collapseGroup":"Hide the list","noEmployees":"No employees yet","noRooms":"No rooms yet","user":"User","languageLabel":"Change language","themeLabel":"Light or dark theme","restartOnboarding":"Walk the onboarding again","restartOnboardingConfirm":"Press again to start over","restartOnboardingHint":"For test accounts and admins. The onboarding answers rewrite the primary employee.","workshop":"Workshop","brandKit":"Brand kit"},"agents":{"title":"Workspace","subtitle":"find an employee by name or category","searchPlaceholder":"search by name or specialization...","categories":{"all":"all","personal":"personal","employees":"employees"},"createButton":"create employee","createCardSubtitle":"personal or AI · 4 steps","emptyState":{"title":"No employees yet","description":"Create your first employee to get started."},"openPublicPage":"Open public page","deleteAgent":"Delete agent","typePersonal":"personal employee","typeEmployee":"employee","statusOnline":"online","statusOffline":"offline","noChannels":"no channels connected","deleteConfirm":{"title":"Delete this employee?","description":"This action is irreversible."},"employeeDeleted":"Employee deleted","createModal":{"title":"create employee","stepIndicator":"step {step} of 4","step1Question":"who are we creating — a role-based AI employee, or your own personal digital twin?","aiEmployeeTitle":"AI employee","aiEmployeeDescription":"a dedicated role for a task — sales, support, legal","personalEmployeeTitle":"personal employee","personalEmployeeHasPrimary":"you already have one — edit it from the dashboard","personalEmployeeDescription":"your digital twin — knows you, replies as you","nameLabel":"name","namePlaceholder":"e.g. Genius","nicknameLabel":"nickname (public address)","nicknamePlaceholder":"employee","specializationLabel":"specialization","specializationPlaceholder":"e.g. AI Engineer","toneLabel":"communication tone","tones":{"friendly":"friendly","formal":"formal","energetic":"energetic","expert":"expert"},"dutiesLabel":"what it will do","dutiesPlaceholder":"e.g. answers customers on Telegram about stock and prices, books fittings, hands refunds and tricky questions to a manager","generateNeedsDuties":"Describe in a sentence or two what it will do — the instruction is built from that.","instructionsLabel":"first instruction (can be added later)","instructionsPlaceholder":"e.g. you are a consultant for graphics cards. reply casually, short and to the point...","generateButton":"generate instruction","generating":"generating...","reviewIntro":"check and create — the employee will appear in the catalog.","typeLabel":"type","typePersonalValue":"personal","typeAiValue":"AI","toneReviewLabel":"tone","addressLabel":"address","reviewFooter":"after creation, connect social networks and add materials — the employee will start replying for you.","backButton":"back","nextButton":"next","submitButton":"create employee","generateFailed":"Failed to generate instruction","agentCreated":"Employee created!","createFailed":"Failed to create employee"},"statusLine":{"employees":"employees | employee | employees","answering":"answering on a channel","paused":"paused"},"blank":{"title":"You already have one employee","body":"A personal agent was created when you signed up — walk through the first steps with it. Hiring a second one makes sense once the first is working."},"channelLabel":{"telegramBot":"TG Assistant","maxBot":"MAX Bot","actionAgent":"Action Agent"},"channelOff":"{name} (off)","personalAgentName":"Personal agent"},"logs":{"eyebrow":"@:{'brand.name'} · log","title":"Log","subtitle":"Every action this employee took, including the ones that failed","emptyState":"No activity recorded yet.","showDetails":"details","hideDetails":"hide","ev":{"user":"Them: {text}","assistant":"Employee: {text}","dryRun":"Dry run: {text}","agentCreated":"Employee created","avatarUpdated":"Employee photo updated","knowledgeCleared":"Knowledge base cleared","executedTool":"Action in {service}"},"res":{"failed":"failed","error":"error","timeout":"timed out","cancelled":"cancelled","refused":"refused"},"searchPlaceholder":"Find an event","filterAll":"everything","filterFailed":"failures only","filterSucceeded":"Succeeded","counts":"{shown} of {total}","noMatches":"Nothing matches that filter.","clearFilters":"clear filters","today":"today","yesterday":"yesterday","divergenceTitle":"What the Action Agent actually did","justNow":"just now","minAgo":"{n} min ago","hoursAgo":"{n} h ago","earlier":"earlier","clearSearch":"Clear the search","minutesAgo":"{n} min ago","emptyTitle":"The log is empty","emptyBody":"Every action your employee takes is written here — what it answered, what it saved, where it sent it.","emptyAction":"Open the employee"},"analytics":{"apps":{"chat":"Chat","browser":"Action Agent","system":"System","tool":"Tool “{name}”"},"eyebrow":"@:{'brand.name'} · analytics","title":"Analytics","subtitle":"{name} in numbers: how much got done, and what it cost","thisAgent":"this employee","messages":"Messages","sessions":"Conversations","uniqueVisitors":"People","actions":"Actions","actionsHint":"The unit your plan is sold in.","conversationsHint":"Distinct conversations across every channel.","peopleHint":"Different people, not conversations.","messagesHint":"Every line, from both sides.","kpisPeriod":"Over the employee's whole working life","trendSubtitle":"the last 30 days","channelsSubtitle":"all time","trendTitle":"Over time","trendActions":"AI Actions per day","trendMessages":"messages per day","channelsTitle":"where the conversations come from","workTitle":"what it did","workSubtitle":"actions run, and the ones that failed — over the last 100 Journal events","succeeded":"succeeded","failed":"failed","successRate":"{rate}% succeeded","noFailures":"nothing failed","failuresCta":"open the log","emptyState":"No analytics data yet.","emptyChannels":"no conversations yet","emptyWork":"no actions run yet","cardsTitle":"Cards","cardsSubtitle":"What happened to the interactive cards this employee showed in the last 30 days","cardsShown":"Shown","cardsAnswered":"Answered","cardsAbandoned":"Walked past","cardsRefused":"Refused","cardsAnsweredRate":"{rate}% answered","blockType":{"text":"Text","field":"Input field","select":"Dropdown","checkbox":"Checkbox","buttons":"Buttons","rows":"Summary","badge":"Badge","file":"File","steps":"Steps","stat":"Number","chart":"Chart","rating":"Rating","image":"Image","divider":"Divider","carousel":"Product carousel","embed":"Embedded form","table":"Table","link":"Link","progress":"Progress","confirm":"Confirmation","consent":"Consent","slots":"Time slots","address":"Address"},"cardsRefusedHint":"A refused card was never shown to anyone — the employee was told what to fix and can try again in the same reply.","tableSummary":"The same numbers as a table","emptyTitle":"Nothing to count yet","emptyBody":"Analytics comes alive after the first conversations: channels, how much work, how much of it failed.","emptyAction":"Open the employee","tokens":"Tokens","promptTokens":"Prompt tokens","completionTokens":"Completion tokens","tokenBreakdown":"Token breakdown","estimatedCost":"Estimated cost"},"chats":{"providers":{"telegram":"Telegram","whatsapp":"WhatsApp","max":"MAX","instagram":"Instagram","instagramComments":"Instagram Comments","messenger":"Messenger","threads":"Threads","avito":"Avito","bitrix":"Bitrix24 Open Lines","amo":"amoCRM chats"},"labels":{"assistant":"Your own chats","guests":"Guests","userPrefix":"Person: {id}"},"rail":{"backToList":"back to the conversations","backToAgent":"back to the employee","noMatches":"Nothing matches that search.","openSessions":"conversations","fullScreen":"full screen","exitFullScreen":"leave full screen","pickTitle":"Pick a conversation","pickBody":"Every conversation this employee has had is in the column beside this one, grouped by where it came from.","pickBodyNarrow":"Every conversation this employee has had is behind the «conversations» button below, grouped by where it came from.","close":"close this conversation","clearSearch":"Clear the search"},"index":{"eyebrow":"@:{'brand.name'} · conversations","title":"Conversations","sessionsCount":"{count} conversations","sessionsOf":"{count} of {total} conversations","searchPlaceholder":"Search","loading":"loading chats...","emptyState":"No conversations found.","assistantDescription":"dashboard testing","guestsDescription":"public anonymous","userDescription":"platform member","messengerDescription":"messenger conversations"},"folder":{"allFoldersButton":"all folders","loading":"loading sessions...","emptyTitle":"no sessions in this folder","emptyDescription":"conversations will appear here as they happen","sessionsCountOne":"{count} session in this folder","sessionsCountOther":"{count} sessions in this folder","deleteConfirm":{"title":"Delete this chat?","description":"This action is irreversible."},"renameFailed":"Could not rename this chat.","groupToday":"Today","groupYesterday":"Yesterday","groupThisWeek":"Earlier this week","groupThisMonth":"Earlier this month","groupOlder":"Older"},"emptyTitle":"No conversations yet","emptyBody":"Every conversation from every channel collects here — the public page, Telegram, WhatsApp.","emptyAction":"Open it as a customer","group":"Group"},"operator":{"consoleLabel":"Operator console","aiToggleLabel":"AI","aiToggleHint":"When this is off, the AI stops replying to this contact and you answer them yourself.","composerPlaceholder":"Reply as the operator...","send":"Send","unreachableBanner":"This dialog can no longer be reached — the contact may have blocked the bot or deleted the chat. New messages from them will start a fresh conversation.","aiPausedBadge":"AI paused","unreachableBadge":"Unreachable","publish":"Publish","publicChip":"{channel} · Public","publicPlaceholder":"Write a public reply...","publicNotice":{"title":"This reply is public.","body":"It goes under the post on {channel}, where anyone can read it."},"privateCommentNotice":"A private reply to a comment can be sent once, within seven days of the comment.","blocked":{"openSettings":"Open employee settings","no_target":{"title":"Nothing to reply to yet","body":"A reply on {channel} has to attach to the post it answers, and none is on record for this conversation. Your AI employee still answers new ones — you can reply here yourself as soon as this person writes again."},"channel_off":{"title":"Comment replies are switched off","body":"This employee is not set to answer comments on {channel}, so a reply has no route out."},"unsupported":{"title":"No replies from here","body":"The dashboard cannot send to {channel} yet. Nothing you type would reach this person."}},"gateClosedBadge":"Not answered","gateClosedHint":"This line does not answer this person — see who it answers in the channel's settings.","gateClosedBanner":"This line does not answer this person, so the employee stayed quiet. You can still reply yourself.","gateLetIn":"Let them in"},"chains":{"eyebrow":"@:{'brand.name'} · chains","title":"Chains","subtitle":"What your employee does on its own, without you","newChainButton":"New chain","emptyState":{"title":"No chains yet","description":"Start from one of the templates below"},"statusPublic":"public","statusPrivate":"private","viewTitle":"Open","executeTitle":"Run it now","deleteTitle":"Delete","pauseScheduleTitle":"Stop the schedule","resumeScheduleTitle":"Run on schedule again","pauseTitle":"Pause — no trigger starts this chain until you resume it","resumeTitle":"Resume — triggers start this chain again","statusPaused":"Paused","addScheduleButton":"add a schedule","templatesLabel":"Starting points","scheduleModal":{"title":"Schedule","description":"Run “{name}” automatically on a schedule.","cronLabel":"When to run it","cronPlaceholder":"e.g. 0 9 * * * (every day at 9:00) or {'@'}every 10m","cronHintPrefix":"A plain 5–6 field cron, or a shorthand like","timezoneLabel":"Time zone","cancelButton":"Cancel","createButton":"Add","creatingButton":"Adding…","editTitle":"Change the schedule","saveButton":"Save"},"viewModal":{"triggerLabel":"Trigger","stepsLabel":"Steps","sendTo":"Send to {to}","sendMessage":"Send a message","aiAction":"AI action","condition":"Condition","aiDecision":"AI decision","toolCall":"Call {tool}","remember":"Remember {names}","rememberEmpty":"Remember a value","forEach":"For each {as} in {source}","elseLabel":"else","runRoom":"Give the work to a room","askHuman":"Ask a person to decide","publicBadge":"Public","privateBadge":"Private","afterDelay":"after {delay}","forEachBody":"{count} step(s) per item, up to {max}","nextStepFallback":"next step","thenGoTo":"then go to","noSteps":"No steps","modelLegacyHint":"This chain was saved as free text, before steps had a structure. Its model can be changed once its steps are rewritten.","raiseEvent":"Start the chains waiting on an event","startChain":"Start another chain"},"deleteConfirm":{"title":"Delete this chain?","description":"\"{name}\" goes, and with it its schedules, its webhook address and the record of everything it has run. This cannot be undone.","confirmText":"Yes, delete","cancelText":"Cancel"},"toasts":{"scheduleResumed":"Schedule running again","schedulePaused":"Schedule stopped","scheduleUpdateError":"Error updating schedule","chainPaused":"Chain paused — nothing starts it until you resume it","chainResumed":"Chain resumed","chainPauseError":"Could not update the chain","scheduleCreated":"Schedule added","chainDeleted":"Chain deleted successfully","chainDeleteError":"Error deleting chain","chainStartedTitle":"Chain \"{name}\" started","chainStartedDescription":"Runs in the background — the result is delivered to the chain's configured channel.","chainStartedOnLastEvent":"It runs on the last real event of this kind the employee received, so every field reads the way it would live.","chainStartedOnNothing":"No real event of this kind has arrived yet, so the fields it reads are empty in this run. Once one arrives, runs started here use it.","chainStartError":"Failed to start chain","chainSkippedTitle":"Chain \"{name}\" did not start","chainSkippedDescription":"It is already running as many executions as it may, so no new run was created. Try again once the runs in flight finish.","chainWedgedTitle":"Chain \"{name}\" is stuck","chainWedgedDescription":"Its runs in flight are not progressing, so nothing new will start until they end. Open the oldest run and check it.","chainUnconfirmedTitle":"Chain \"{name}\": no run confirmed","chainUnconfirmedDescription":"The trigger was accepted, but the answer did not confirm a new run. Check the chain's runs before triggering it again.","scheduleUpdated":"Schedule updated","scheduleDeleted":"Schedule deleted","scheduleDeleteError":"Error deleting schedule","chainFailedTitle":"Chain \"{name}\" failed","chainFailedAtStepTitle":"Chain \"{name}\" failed at {step}","chainModelPinned":"Chain now runs on {model}","chainModelInherited":"Chain follows the agent's model again","chainModelError":"Could not change the model","genericErrorTitle":"Error","noTriggerError":"No trigger defined for this chain."},"runHealth":{"needsAttentionBadge":"Needs attention","wedgedTitle":"Stuck — nothing new will start","busyTitle":"Skipped — this chain is at its limit","skippedTitle":"Skipped — no new run was created","unknownTitle":"No run confirmed","detailWithAge":"{count} run(s) in flight, the oldest for {age}. The last trigger started nothing.","detail":"{count} run(s) in flight. The last trigger started nothing.","genericDetail":"The last trigger started no new run.","unknownDetail":"The last trigger was accepted, but no new run was confirmed. Check this chain's runs.","failedTitle":"The last run failed","failedAtStepTitle":"The last run failed at {step}","failedDetail":"The run ended without saying why. Open it to see the steps.","openRun":"Open the run"},"runsTitle":"Runs and what they did","runs":{"eyebrow":"@:{'brand.name'} · runs","showMore":"Show more · {shown} of {total}","emptyTitle":"no runs yet","emptyDescription":"this chain has not been triggered","runNow":"Run now","runNowRunning":"Starting…","decisionsHeading":"Why it did or did not start","decisionsNote":"The events this chain listens to, and what the engine decided for each — kept for a week. Webhook calls are in the webhook's own log.","decision":{"started":"Started","skipped_paused":"Paused","skipped_private":"Private chain","skipped_sender":"Sender filter","skipped_provider":"Channel filter","skipped_concurrency":"At its run ceiling","skipped_quota":"Plan ceiling","skipped_broken":"Steps invalid","failed":"Could not start"},"dryRunButton":"dry run","dryRunRunning":"running…","dryRunNote":"A dry run walks the chain without sending anything. Its AI steps still run for real and are billed.","stepsHeading":"steps","tokensOf":"{used} of {budget} tokens","tokens":"{used} tokens","tokensHint":"How many AI tokens this run spent — and how many one run may spend","stepN":"Step {n}","noSteps":"this run recorded no steps","attempt":"attempt {n}","ledgerHeading":"side-effect ledger","ledgerNote":"Everything this run put into the world. A row stuck in flight means a worker claimed the effect and never came back — nobody knows whether it happened.","ledgerEmpty":"this run put nothing into the world","wedgedBadge":"{n} unresolved","resolveNote":"Only you can settle this. Check the inbox, the CRM or the provider dashboard, then record what you found.","reasonPlaceholder":"what did you check?","resolveDone":"it happened","resolveFailed":"it did not","resolvedToast":"Outcome recorded","resolvedBy":"Resolved {when} —","lateAnswer":"The worker later reported: {status}","stop":"Stop","stopping":"Stopping…","status":{"pending":"Queued","running":"Running","success":"Done","failed":"Failed","cancelled":"Stopped","skipped":"Skipped"},"showOutput":"Show what this step returned","sentLabel":"What it sent","runAgain":"Run again with this event","starting":"Starting…","pinEvent":"Use as the test event","pinned":"Saved as the test event","returnedLabel":"What this step returned","fieldsLabel":"Placeholders that reach into it","whyStoppedLabel":"Why this step stopped","dur":{"seconds":"{n}s","minutes":"{m}m {s}s"},"effectStatus":{"in_flight":"In flight","done":"Done","failed":"Failed"},"effectKind":{"tool_call":"App call","send":"Message sent","usage":"Token usage","quota":"Allowance charge","run_room":"Room session","ask_human":"Question to a person"},"resume":"Continue from the failed step","resuming":"Starting…","resumeNote":"Picks up from the step that failed, with the answers of the steps before it. What already ran is not run again.","resumeConfirmTitle":"This step had already started sending","resumeConfirmAction":"Do it again and continue","resumedToast":"The chain picked up from {step}.","resumedFrom":"Continued from {step}"},"dryRun":{"summary":"{steps} steps · {duration}","spend":"{calls} model calls · {tokens} tokens","effectsSimulated":"sends were simulated","backToRuns":"back to runs","wouldSend":"would send","decision":"decision:","next":"then","toolsOffered":"This step could use","toolsWithheld":"Not available to it","contextFrom":"On the answers of run {run}"},"drafts":{"title":"A draft is waiting for you","subtitle":"Your employee proposed an automation. Until you confirm it, nothing is created and nothing runs.","confirm":"Confirm","confirmAndEdit":"Confirm and open","discard":"Discard","confirmedToast":"Chain created","confirmedElsewhereToast":"Automation created for {agent}","editTime":"Change the time","restoreProposedTime":"Restore the proposed time","originRoomBy":"Proposed in {room} by {agent}","originRoom":"Proposed in {room}","originBy":"Proposed by {agent}","originRoomUnknown":"Proposed in a room","ownerLabel":"Belongs to","ownerMoved":"Moved from the employee who proposed it","anotherEmployee":"Another employee","intentLabel":"What it will do"},"notices":{"toolMissingMayUse":"Step “{step}” may use “{tool}”, which this employee does not have in a chain — connect the integration that provides it, or the step will fail saying so.","toolMissingCalls":"Step “{step}” calls “{tool}”, which this employee does not have in a chain — connect the integration that provides it, or the step will fail saying so.","toolNeverInChain":"Step “{step}”: {reason}","appUnverifiedMayUse":"Step “{step}” may use “{tool}”, but that app's connection has never been tested — press Test on its card, or this chain will find out on a schedule with nobody watching.","appUnverifiedCalls":"Step “{step}” calls “{tool}”, but that app's connection has never been tested — press Test on its card, or this chain will find out on a schedule with nobody watching.","literalRecipient":"Step “{step}” will not send: it is addressed to a placeholder, and a recipient is never filled in — so the step refuses rather than deliver a message to a recipient named that. To answer whoever set the chain off, leave the recipient empty on the assistant channel; to reach yourself, use the Telegram bot with an empty recipient.","literalPrompt":"Step “{step}” passes its instruction to the model as written, so a placeholder in it is not filled in. The model is given the trigger and every earlier step's answer as data, so naming the field is enough — or move the value into a 'set' step first.","unfillableSlot":"Step “{step}”: {reason}","argsRejected":"Step “{step}”: {reason}"},"editor":{"eyebrow":"@:{'brand.name'} · edit chain","descriptionPlaceholder":"What this chain does","isPublicLabel":"Public (reachable from outside the workspace)","answersCustomerLabel":"This chain replies to the customer","answersCustomerNote":"The AI employee stays silent on the message that started it.","addStep":"+ add step","chooser":{"title":"What should happen next?","titleFirst":"What should happen first?","describeLabel":"Describe the step","describePlaceholder":"Describe the step, e.g. send the manager the customer's phone","add":"Add","or":"Or pick one:","busy":"Writing the step…","cancel":"Cancel"},"clientErrorsTitle":"Fix before saving:","unsavedHint":"Unsaved changes","savedHint":"Saved","saveButton":"Save","dryRunNeedsSave":"Save first to test the current version","gotoDefault":"next step in order","gotoEnd":"finish the chain","moveUp":"Move up","moveDown":"Move down","insertAfter":"Insert a step after this one","removeStep":"Remove this step","stepMenu":"Move or remove this step","removeItem":"Remove","showTechnicalDetails":"show technical details","hideTechnicalDetails":"hide technical details","changeType":"Change type","confirmTypeChangeTitle":"Change this step's type?","confirmTypeChange":"What you have filled in here is cleared. The step keeps its number and where it goes next.","confirmTypeChangeAction":"Change the type","newChainName":"New chain","describeInstead":"or describe it to the assistant in chat instead","legacyHint":"This chain was saved as free text, before steps had a structure, so there is no graph here to edit. Describe the change and the assistant will rewrite it as steps you can then edit here.","legacyRewriteButton":"Rewrite via assistant","legacyRewritePrompt":"Rewrite the automation chain \"{name}\" using the structured steps format, keeping what it currently does.","generate":{"titleNew":"Describe the chain","titleChange":"Change with AI","hint":"Say in your own words what should happen and when. The steps are written for you — check them, then save.","placeholderNew":"When a customer writes on WhatsApp for the first time, create a lead in the CRM and message me in Telegram","placeholderChange":"Say what to change, e.g. also send the manager a copy","button":"Generate","changeButton":"Change","stop":"Stop","busy":"Writing the steps — this can take up to a minute…","shortcut":"⌘ / Ctrl + Enter","failed":"The chain could not be generated. Try saying it differently.","cantRead":"The answer came back in a shape this editor cannot show. Try again.","examplesLabel":"Try:","examples":{"leadToCrm":{"label":"New lead to CRM","text":"When a customer writes on WhatsApp for the first time, create a lead in the CRM and send me a message in Telegram."},"morningReport":{"label":"Morning report","text":"Every weekday at 9:00, send me a short summary of yesterday's new leads."},"handoffNotice":{"label":"Handoff alert","text":"When the assistant hands a customer to a manager, send the manager the customer's phone and a short summary."}},"bannerTitle":"Changed with AI — check it, then save","noChanges":"Nothing in the chain changed.","notesTitle":"Still yours to do","undo":"Undo","dismiss":"Hide this note","schedulePending":"Schedule: {when}. It is added when you save.","scheduleExisting":"This chain already has a schedule, so the AI left it alone. Change the time under the trigger.","schedule":{"everyMinute":"every minute","everyMinutes":"every {n} minutes","hourly":"every hour at :{minute}","everyHours":"every {n} hours","daily":"every day at {time}","weekdays":"on weekdays at {time}","weekly":"every {day} at {time}"}},"trigger":{"on_lead_captured":"When a lead is captured","on_new_message":"On every new message","on_assistant_message":"When someone writes to their @:{'brand.name'} Assistant","on_order_placed":"When an order is placed","on_handoff_requested":"When the assistant hands a customer to a manager","manual":"Manual / scheduled only","on_webhook":"When another system or chain reports something"},"headerSentence":{"template":"Runs {trigger} — {reach}.","public":"customers can trigger it directly","private":"only you (or a schedule) can trigger it","customerFacing":"Customers set it off — that is what this trigger means","staffOnly":"Only you and your colleagues set it off — customers never can","webhook":"Anything holding its URL can set it off, and so can a chain that raises it"},"startsWhen":{"lead":"Starts when","on":"on","from":"from","anyone":"anyone","named":"a sender whose name or number contains","namePlaceholder":"Anna, +7 707…","anyChannel":"any channel","channelsHint":"Nothing ticked means any channel.","trigger":{"on_new_message":"someone writes","on_lead_captured":"a lead is captured","on_assistant_message":"someone writes to their @:{'brand.name'} Assistant","on_order_placed":"an order is placed","on_handoff_requested":"the assistant hands a customer to a manager","manual":"you start it, or on a schedule","on_webhook":"another system or chain reports something"},"in":"in","anyChat":"any chat","chatSearch":"Search groups","chatsLoading":"Loading…","chatsUnavailable":"Not answering right now","senderRemove":"Remove {item}"},"schedule":{"none":"No schedule yet.","add":"Add a schedule","lead":"Also runs","kind":{"daily":"every day","weekdays":"on weekdays","weekly":"once a week","everyHours":"every few hours"},"kindLabel":"How often it runs","on":"on","at":"at","every":"— every","hoursOption":{"1":"hour","2":"2 hours","3":"3 hours","4":"4 hours","6":"6 hours","8":"8 hours","12":"12 hours"},"hoursLabel":"How far apart the runs are","in":"in","timeLabel":"Time of day","dayLabel":"Day of the week","zoneLabel":"Time zone","day":{"0":"Sunday","1":"Monday","2":"Tuesday","3":"Wednesday","4":"Thursday","5":"Friday","6":"Saturday"},"customHint":"Written by hand. Turn on technical details to change it.","cronLabel":"Cron","remove":"Remove the schedule","many":"This chain runs on {count} schedules. Change them on the chains page.","notSaved":"The chain is saved, but its schedule could not be changed"},"type":{"send_message":"Send a message","ai_action":"Let the AI do something","condition":"If / then","ai_decision":"Let the AI choose","tool_call":"Use an app","set":"Remember a value","foreach":"Repeat for each item","run_room":"Hand it to a room","ask_human":"Ask a person","raise_event":"Start other chains","browser_path":"Walk a saved path"},"typeGroup":{"messages":"Messages","ai":"AI","logic":"Logic","dataApps":"Data & apps","team":"Team","deterministic":"The same every run","modelLed":"The model decides","chains":"Chains"},"typeHint":{"send_message":"Send a WhatsApp, Telegram or email message","ai_action":"Have the AI read, write or decide something in free text","condition":"Branch the chain based on a value","ai_decision":"Have the AI pick one of several named paths","tool_call":"Call one specific connected app directly","set":"Keep a value for later steps to use","foreach":"Repeat the steps below for every item in a list","run_room":"Hand the work to a team room and wait for their report","ask_human":"Stop and wait for someone to decide, then carry on with their answer","raise_event":"Start another chain of this employee — it keeps its own trigger — or every chain waiting on an event","browser_path":"The Action Agent walks one of your saved paths, with values from earlier steps"},"channel":{"assistant":"Assistant (any messenger)","whatsapp":"WhatsApp","telegram":"Telegram (personal account)","telegram_bot":"Telegram (this agent's bot)","max":"MAX (personal account)","max_bot":"MAX (this agent's bot)","instagram":"Instagram","email":"Email"},"sendTo":{"whereLabel":"Where it goes","toPlaceholder":"recipient (phone, {'@'}username, id...)","me":"Me","someone":"Someone else","meHint":"Comes to you — wherever you linked Telegram or WhatsApp to the assistant (employee page → Personal assistant).","chooseGroup":"Choose a group","ownerHint":"sends to the bot's owner","templateLabel":"Message","templatePlaceholder":"message text — use the field picker to insert a value","label":"Send to","groupSearch":"Search groups","replyToWriter":"Goes back to the person who wrote, in the same chat.","replyToOwner":"Goes to you, on the channel you last used with your assistant.","botChat":"Sends to chat {chat}.","botOwnerInstead":"Send to the bot's owner instead","toStarter":"Whoever started it","toOwner":"You, the owner","toPerson":"A linked person…"},"aiAction":{"promptLabel":"What the AI should do","promptPlaceholder":"what should the model do here?","toolsHint":{"read":"This step only reads and answers: it sends nothing, changes nothing, creates nothing.","chosen":"This step may use exactly the tools listed and nothing beyond them."},"toolsLabel":"What this step may do","toolsMode":{"read":"Look things up only","chosen":"Exactly these tools"},"toolsPick":"Choose tools","toolsNoneChosen":"No tools chosen — this step will answer in text and do nothing.","toolsFilterPlaceholder":"Filter tools","toolsAddWebSearch":"+ add web search","toolsDropWebSearch":"− remove web search","toolsUnknown":"This agent does not have {tools} right now. The step will still save — connect the integration before it runs, or the step will fail saying so.","answersLabel":"What it answers with","answersEmpty":"It answers in plain text. Name the values it should work out — a name, a phone, yes or no — and every later step can use them right away, without a test run.","answersHint":"Later steps can use each value as soon as it is named here. The AI always fills in every one.","answerNameLabel":"Value name","answerNamePlaceholder":"e.g. client_name","answerKind":{"string":"Text","number":"Number","boolean":"Yes or no","list":"List of text","custom":"Kept as written"},"answerAdd":"+ add value"},"aiDecision":{"promptLabel":"What the AI decides","promptPlaceholder":"what is the model deciding?","choicesLabel":"The paths it can choose","choiceNameLabel":"Name","choiceWhenLabel":"When to choose it","choiceGotoLabel":"Then go to","labelPlaceholder":"label","descriptionPlaceholder":"description (optional, helps the model choose)","addChoice":"+ add choice"},"toolCall":{"toolLabel":"Action","argsHint":"One field at a time: a comma inside a value would otherwise split it in two, silently.","toolPlaceholder":"e.g. bitrix_create_lead","toolEmptyHint":"type the exact name of a connected app's action — ask the assistant in chat if you're not sure of the exact name","connectTitle":"Apps you can connect","connect":"Connect","connectAppLabel":"Connect {name}","connectLocked":"Not on your plan","moreConnections":"Channels and the other connectors are set up on the agent's page.","openConnections":"Open connections","newArgPlaceholder":"argument name","addArg":"+ add argument","addArgUndeclared":"+ add another field","argsTitle":"What this action needs","argsExtra":"Other fields","argRequired":"Required","argMissing":"Needed before this step can run","argNotSet":"Not set","argYes":"Yes","argNo":"No","argJsonHint":"A JSON object or array","argUseField":"Use a value from the chain","argFreeform":"This action does not list its fields, so type them yourself.","unknownTool":"This agent has no tool called \"{tool}\" right now. The chain still saves — the name is checked again when it runs, so this is right if you are about to connect the app it belongs to.","hideTools":"Hide the tool list","expectTitle":"Answer contract","expectOn":"This step is built on these fields. A run without them stops here instead of carrying on with a gap.","expectOff":"Not set. The step will accept whatever comes back, so a renamed field goes unnoticed until something downstream reads empty.","expectFreezeFromRun":"Freeze the shape from the last run","expectFreezeFromDeclaration":"Freeze the shape this tool declares","expectClear":"Remove the contract","expectNoSource":"Run the chain once, or pick a tool that declares its answer, and the shape can be frozen from it.","ref":{"loading":"Reading the list…","search":"Search {count} names","searchVendor":"Search {source}","needs":"Choose {fields} first — this list depends on it","none":"Nothing came back for this list","truncated":"Showing {shown} of {total}. Search to find the rest.","clear":"Leave empty"},"pickPlaceholder":"Choose an action","byHand":"Type a name","builtIn":"Built in","noMatch":"Nothing matches that"},"set":{"title":"What this step remembers for later steps","nameLabel":"Name of the value","valueLabel":"Value","namePlaceholder":"e.g. total","valuePlaceholder":"e.g. steps.leads.output.count","addVar":"+ add value"},"foreach":{"sourceLabel":"for each item in","sourcePlaceholder":"e.g. steps.fetch_leads.output.leads","asLabel":"call it","maxItemsLabel":"up to","addBodyStep":"+ add step to the loop"},"map":{"toggle":"Map","expand":"Open wide","collapse":"Back to the side","fit":"Fit","fitAt":"Fit · {percent}%","fitFloor":"This is as small as the names stay readable.","fitFloorNarrow":"This is as small as the names stay readable. Open the map wide for more room.","insertAfter":"Add a step after this one","run":{"failed":"Last run failed here — {ago}","failedNoTime":"Last run failed here","failedStepGone":"Last run failed — {ago} — at a step this chain no longer has","failedStepGoneNoTime":"Last run failed at a step this chain no longer has","finished":"Last run finished — {ago}","finishedNoTime":"Last run finished","stopped":"Last run was stopped — {ago}","stoppedNoTime":"Last run was stopped","going":"Last run was still going when this opened — started {ago}","goingNoTime":"Last run was still going when this opened"},"end":"End","step":"Step {index}: {label}","inside":"Steps inside: {count}","unreachable":"Nothing leads here","legend":{"next":"When it's done","branch":"One of its branches","empty":"When nothing comes back","failure":"If it fails"},"otherwise":"Otherwise"},"outcomes":{"title":"What happens next","done":"When it's done","doneInOrder":"Go on to the next step","routesItself":"This step picks where it goes in its own branches above.","empty":"When nothing comes back","emptyAdd":"Add an exit for an empty answer","emptyWholeAnswer":"The whole answer","failed":"If it fails","failedStop":"Stop the chain","failedContinue":"Continue anyway","failedGoto":"Jump to…","badgeContinue":"Carries on if it fails","badgeStops":"If it fails: finish here","badgeJumps":"If it fails: {step}"},"advanced":{"label":"advanced","delay":"wait","retries":"retries","maxTokens":"max answer length (tokens)","temperature":"Temperature (0–2, default 0)","onError":"on error"},"condition":{"pickField":"pick a field…","customField":"custom field…","advanced":"advanced (raw expression)","simple":"back to simple","typeString":"text","typeNumber":"number","typeBoolean":"Yes or no","listPlaceholder":"a, b, c","addBranch":"+ add another condition","removeBranch":"remove last condition","elseDefault":"next step in order","yes":"Yes","no":"No","remove":"Remove this condition","notSimple":"This condition is more than the builder can show, so it stays as text. It still works as written.","op":{"==":"is","!=":"is not",">":"is greater than","<":"is less than",">=":"is at least","<=":"is at most","contains":"contains","hasPrefix":"starts with","in":"is one of","empty":"is empty","notEmpty":"is not empty"},"ifWord":"if","elseIfWord":"else if","valueLabel":"The value to compare with","valueTrue":"yes (true)","valueFalse":"no (false)"},"preview":{"fromLastRun":"On the last run","noRunYet":"Will read"},"literalField":{"recipient":"Sent to this exactly as written — a placeholder here is not filled in. To answer whoever set the chain off, leave this empty on the assistant channel.","prompt":"The model gets this text as written, so a placeholder is not filled in. It already receives the trigger and every earlier step's answer as data, so naming the field is enough."},"fieldPalette":{"empty":"Nothing available to insert yet — pick a trigger, or fill in an earlier step first.","inserts":{"template":"A picked field is written in braces and replaced by its value when the chain runs.","expression":"This box takes an expression, so a picked field is written as a plain path — no braces.","literal":"This text is used exactly as written, so a picked field names the value rather than being replaced by it."},"trigger":"Insert a value","search":"Search {count} values","noMatch":"No value matches that.","more":"+{count} more","later":"Values from {steps} steps that run later ({count})"},"sentence":{"finish":"Finish","delayPrefix":"After {delay}, ","thenArrow":" → then ","runTool":"Use the app: ","toolMissing":"Use an app — not chosen yet","remember":"Remember ","setEmpty":"Remember a value — nothing set up yet","askAi":"Ask the AI to: ","aiActionEmpty":"Ask the AI to do something — not described yet","unknownType":"Run a step this editor does not know: ","sendToOn":"Send ","sendToOnChannel":" to ","sendVia":" on ","templateEmpty":"nothing written yet","messageYouOn":"Message you on ","sendColon":": ","checkConditions":"Check {count} conditions and route accordingly","ifWord":"If ","space1":" ","space2":" ","conditionEmpty":"If … — no condition set up yet","conditionEmptyBranch":"…","gotoArrow":", go to ","otherwise":" — otherwise ","askAiChoose":"Ask the AI ","decisionEmpty":"Let the AI choose — not set up yet","arrowSep":" → ","forEach":"For each ","inWord":" in ","runOneStep":", run one step","runSteps":", run {count} steps","upTo":" (up to {max})","foreachSourceEmpty":"a list — not chosen yet","and":" and ","andMore":" and {count} more","repointedKind":{"next":"goes to next","else":"its \"otherwise\" branch","if":"a condition","choice":"a choice","on_error":"its error handling"},"askRoom":"Ask the team in ","roomMissing":"a room — not chosen yet","roomAsk":" to: ","roomAskEmpty":" — ","roomMessageMissing":"nothing to ask yet","roomWait":", and waits for their report","roomNoWait":", and carries on without waiting","op":{"==":"is","!=":"is not",">":"is greater than","<":"is less than",">=":"is at least","<=":"is at most","contains":"contains","hasPrefix":"starts with","in":"is one of","empty":"is empty","notEmpty":"is not empty"},"askPersonQ":"Ask you: ","askPersonEmpty":"Ask you to decide — no question yet","askPersonElsewhere":"Ask you to decide — the question is in a card written elsewhere","askCarryOn":", and carries on if nobody answers","askStops":", and stops if nobody answers","raiseEvent":"Raise ","raiseEventMissing":"Raise an event — not chosen yet","raiseEventStarts":", which starts ","raiseEventNoListeners":" — no chain is waiting on it, so nothing starts","raiseEventStartsIt":", which starts it","raiseEventStartsItAnd":", which starts it and ","startChain":"Start ","startChainMissing":"Start another chain — not chosen yet","startChainGone":" — this chain no longer exists","replyToStarter":"Reply to whoever started it: ","messageYou":"Message you: ","askSomeoneQ":"Ask "},"toasts":{"saved":"Chain saved","undo":"Undo","undone":"Previous version restored","undoneNoSchedule":"Previous version restored, but its schedule could not be changed back","undoError":"Could not restore the previous version","repointed":"A removed step was pointed to — those branches now go to \"{target}\" instead","planLimit":"Your plan's chain limit is reached","createError":"Could not create the chain"},"runRoom":{"roomLabel":"Room","roomPlaceholder":"choose a room…","refreshRooms":"refresh","noRooms":"You have no rooms yet — create one first, then pick it here.","messageLabel":"What to hand the room","messagePlaceholder":"What should the team do? e.g. Prepare the weekly report for {'{'}{'{'}trigger.period{'}'}{'}'}","threadLabel":"session","threadNew":"a new one","threadLatest":"continue the latest","waitLabel":"then","waitForReport":"wait for their report","waitNone":"carry on without waiting","timeoutLabel":"at most","busyLabel":"if the room is busy","busyWait":"wait for it","busySkip":"skip this step","busyFail":"stop the chain","reporterHint":"The report is written by the room’s assigned reporter. Set one in the room’s settings — without it the step gets the plain progress line instead.","threadTask":"The same task as before"},"askHuman":{"questionLabel":"The question for a person","questionPlaceholder":"What should they decide? e.g. Refund order {'{{trigger.order_id}}'}?","answersLabel":"Answers","answerPlaceholder":"e.g. Approve","addAnswer":"Add an answer","timeoutLabel":"Wait up to","timeoutPolicyLabel":"If nobody answers","timeoutStop":"stop the chain","timeoutContinue":"carry on","hint":"Your question waits in Approvals and in your chats; someone else gets it on the channel you pick for them. The answer arrives as the answer's own text, so a later step can branch on it.","customCard":"This question was written outside the editor and shows more than answers — it is kept exactly as it is.","whoLabel":"Who is asked","whoOwner":"You","whoPerson":"Someone else","whoPlaceholder":"Their phone or chat id","whoChannel":"on"},"providerName":{"tg":"Telegram","whatsapp":"WhatsApp","max":"MAX","ig":"Instagram DM","avito":"Avito","bitrix":"Bitrix","amocrm":"amoCRM","web":"Website chat"},"webhookReady":"Saved. This chain starts only when something calls the address below — copy it before you close this.","insertField":"insert field…","nameLabel":"Chain name","nav":{"label":"Chain outline","starts":"Starts when","view":"How the steps are shown","map":"Map","list":"List","details":"Details","newStepHere":"New step goes here","newStepAfter":"New step after step {index}","newStepFirst":"New first step"},"inspector":{"label":"Selected step","stepOf":"Step {index} of {count}","prev":"Previous step","next":"Next step","settingsTitle":"About this chain","settingsHint":"The address it listens on, and what changed in it.","description":"Description"},"publicTitle":"Customers can set it off","required":"required","channelLabel":"Channel","typePickerLabel":"Step type","typePickerTitle":"What this step does","typePickerSubtitle":"What happens the same way every run first; what the model decides, below.","triggerNote":{"on_lead_captured":"Runs once a customer has left a request — name and phone are already collected.","on_new_message":"Runs on every incoming customer message, in any channel.","on_assistant_message":"Runs when your own anyworker.ai assistant writes to you.","on_order_placed":"Runs when a customer places an order.","on_webhook":"Runs when another system calls the chain's webhook address.","manual":"Runs only by hand or on a schedule — nobody but you can start it."},"validation":{"noSteps":"The chain must have at least one step","noBodySteps":"A foreach body must have at least one step","idReserved":"Step {n}: id \"end\" is reserved","idInvalid":"Step {n}: invalid id \"{id}\"","idDuplicate":"Step {n}: duplicate id \"{id}\"","unknownTarget":"Step {n} ({id}): {kind} points to unknown step id \"{target}\"","sendChannel":"Step {n}: send_message requires a channel","sendTo":"Step {n}: send_message requires \"to\"","sendTemplate":"Step {n}: send_message requires a template","toolName":"Step {n}: tool_call requires a tool name","toolNameInvalid":"Step {n}: invalid tool name \"{tool}\"","roomRoom":"Step {n}: run_room requires a room","roomMessage":"Step {n}: run_room requires a message","askQuestion":"Step {n}: ask_human requires a question","askAnswers":"Step {n}: ask_human requires at least one answer to choose from","setEmpty":"Step {n}: set requires at least one variable","varNameInvalid":"Step {n}: invalid variable name \"{name}\"","varEmpty":"Step {n}: variable \"{name}\" has an empty expression","conditionEmpty":"Step {n}: condition requires at least one branch","branchEmpty":"Step {n}: branch {b} has an empty condition","branchNoTarget":"Step {n}: branch {b} has no target","decisionPrompt":"Step {n}: ai_decision requires a prompt","decisionChoices":"Step {n}: ai_decision requires at least two choices","choiceEmpty":"Step {n}: a choice has an empty label","choiceDuplicate":"Step {n}: duplicate choice label \"{label}\"","choiceNoTarget":"Step {n}: choice \"{label}\" has no target","foreachNested":"Step {n}: nested foreach is not supported","foreachSource":"Step {n}: foreach requires a source expression","foreachBody":"Step {n}: foreach requires at least one step in its body","foreachMax":"Step {n}: max_items must be between 1 and 100","bodyPrefix":"Step {n} body: {error}","maxTokens":"Step {n}: max_tokens must be between 1024 and 128000","temperature":"Step {n}: temperature must be between 0 and 2","outcomesRouting":"Step {n}: a {type} step already chooses where it goes","outcomesForeach":"Step {n}: a foreach step has no answer of its own to branch on","outcomeUnknown":"Step {n}: unknown outcome \"{when}\"","outcomeTwice":"Step {n}: outcome \"{when}\" is named twice","outcomeNoTarget":"Step {n}: outcome \"{when}\" has no target step","onErrorInvalid":"Step {n}: invalid on_error \"{value}\"","retries":"Step {n}: retries must be between 0 and 5","cycle":"The step graph has a cycle through \"{id}\" — chains must be acyclic","raiseBoth":"Step {n}: this step starts one chain or raises one event, not both","raiseChain":"Step {n}: say which chain this step starts","raiseEvent":"Step {n}: name the event this step raises"},"tryStep":"Try just this step","attach":{"label":"Attach","add":"Add a file a step makes","remove":"Remove {name}","noMakers":"No step in this chain makes a file yet. Add a tool call, an AI step or a room, and it will show up here.","full":"A message carries at most {n} files.","knowledge":"Knowledge file","upload":"Uploaded file","unknown":"Written by hand","missingStep":"A step that is no longer here"},"dataBrowser":{"open":"Show all the data","title":"Chain data","search":"Search {count} values","noMatch":"Nothing matches that.","pickOne":"Pick a value on the left to see what it held.","noValue":"This chain has not been seen holding anything here. It may not have run yet, or the step may not fill this field.","insert":"Insert","close":"Close","emptyValue":"The step ran and left this empty. A message built on it comes out with a gap; an attachment pointed at it sends no file."},"raiseEvent":{"modeLabel":"Start","modeChain":"One chain, by name","modeEvent":"Every chain waiting on an event","chainLabel":"Chain","chainPlaceholder":"Choose a chain…","noChains":"This employee has no other chains yet. Create the chain this step should start, then press Refresh.","chainHint":"It starts with its own trigger left as it is, so it still runs on its own too.","chainGone":"This chain no longer exists. Choose another one, or the step fails when the chain runs.","chainPaused":"This chain is paused, so the step skips it until you switch it back on.","payloadLabelChain":"What the started chain receives","payloadHintChain":"Leave it empty and it receives the same message this chain was started by, so {'{'}{'{'}trigger.text{'}'}{'}'} there reads the same as here. Add values and it receives only those, as {'{'}{'{'}trigger.name{'}'}{'}'}.","eventLabel":"Event","eventPlaceholder":"Choose an event…","refreshEvents":"Refresh","noEvents":"This employee has no events yet. An event is the web address a chain can be started from — open a chain that starts from one, and it appears here.","starts":"Starts: {chains}","startsNobody":"No chain is waiting on this event yet. Open the chain that should react, set it to start when another system or chain reports something, and point it at this event.","payloadLabel":"What the started chains receive","payloadHint":"Each value arrives as the started chain's trigger, where its steps read it as {'{'}{'{'}trigger.name{'}'}{'}'}.","keyLabel":"Name","keyPlaceholder":"e.g. report_url","valueLabel":"Value","valuePlaceholder":"e.g. {'{'}{'{'}steps.make_report.output.file_url{'}'}{'}'}","addValue":"+ add value"},"browserPath":{"pathLabel":"Saved path","noPath":"Choose a saved path","noPathHint":"Without a path the Action Agent does the errand from the instruction by itself.","none":"This employee has no saved paths yet.","openPaths":"Record or save one on the Action Agent page","gone":"This path is no longer saved. Choose another, or the Action Agent does the errand by itself.","example":"Last time: {value}","missing":"Fill in {names}, or the path is not walked and the Action Agent does the errand by itself.","runInstruction":"Run saved path: {name}"}},"poll":{"title":"Or check a system on a schedule","hint":"A connected app can be asked, but cannot call us. Use this for events another system never sends — a status that changed, an order that appeared.","add":"Set one up","tool":"Ask this endpoint","rowsPath":"Where the list is in the answer","cursorField":"A new row is one whose","args":"Arguments (JSON)","every":"Every","enabled":"Switched on","check":"Check now","remove":"Remove","found":"{rows} rows, {fresh} new.","nothingNew":"Nothing to report — everything here has been seen already.","firstRun":"The first check only learns where to start: nothing would run, and it would begin from {cursor}.","wouldStart":"{fresh} would start a run. The next check would begin from {cursor}.","lastError":"Last check failed: {error}","backingOff":"It failed once, so the next check waits a little longer: {when}. | It failed {n} times in a row, so each check waits longer than the last — the next one is {when}.","lastPolled":"Last checked {when} — {rows} rows, {fresh} new.","checkFailed":"the check could not be run"},"webhook":{"title":"Webhook","urlHint":"Paste this URL into the other system. Anyone who has it can start this chain, so treat it as a password — and turn on signing below if the sender supports it.","replayHint":"Duplicate deliveries (the same body within 10 minutes) are ignored and answered with 200 and the original execution id. To protect against replays beyond that, send X-Timestamp (unix seconds) and sign the timestamp, a dot, and the body (timestamp.body).","enabledLabel":"accepting calls","verifyLabel":"verify sender","verify":{"none":"the URL alone","hmac_sha256":"HMAC-SHA256 signature","meta_sha256":"Meta-style signature"},"secretLabel":"signing secret","secretPlaceholder":"paste the sender's secret","secretStored":"stored — leave empty to keep","headerLabel":"signature header","rotate":"New URL","rotateWarning":"A new URL stops the current one working immediately. Every system you gave it to will need updating.","rotateConfirm":"Replace the URL","showDeliveries":"Recent calls","hideDeliveries":"Hide calls","noDeliveries":"Nothing has called this URL yet.","status":{"accepted":"started a run","rejected_signature":"bad signature","rejected_disabled":"switched off","rejected_too_large":"body too large","rejected_quota":"over the plan ceiling","rejected_concurrency":"too many runs in flight","rejected_bad_chain":"chain unusable","rejected_paused":"Chain paused","duplicate":"Duplicate, not run","replayed":"Sent again by you"},"keepBodiesLabel":"keep payloads","keepBodiesHint":"Payloads are kept for debugging only: dropped as soon as the run they started succeeds, and in any case after a few hours. Truncated to the first few KB.","showBody":"payload","hideBody":"hide","bodyTruncated":" (truncated)","keepBodiesWhy":"Keeps the body that was delivered, so there is something to look at when a run does not do what was expected.","loadFailed":"could not load the webhook","listensTo":"Listens to","ownEvent":"Its own URL","sharedWith":"Also starts: {chains}","replay":"Send again","useAsExample":"Use as example","exampleSet":"Set as example","payloadLabel":"What the steps read","rawLabel":"What the sender wrote"},"editScheduleTitle":"Change this schedule's time","deleteScheduleTitle":"Delete this schedule","nextRunTitle":"Next run: {time}","deleteScheduleConfirm":{"title":"Delete this schedule?","description":"This chain will stop running on {cron}. The chain itself is kept.","confirmText":"Delete schedule"},"summary":{"stepOne":"1 step","stepMany":"{n} steps","branchOne":"1 branch","branchMany":"{n} branches","messageOne":"Sends 1 message","messageMany":"Sends {n} messages","appOne":"Uses 1 app","appMany":"Uses {n} apps","roomOne":"Asks 1 room","roomMany":"Asks {n} rooms","steps":"{n} step | {n} steps","branches":"{n} branch | {n} branches","messages":"sends {n} message | sends {n} messages","apps":"uses {n} app | uses {n} apps","rooms":"asks {n} room | asks {n} rooms"},"emptyTitle":"No chains yet","emptyBody":"A chain is what your employee does without you. Usually it proposes the first one itself, once it notices work repeating.","emptyAction":"Build a chain","moreSteps":"{n} more","nodeRoom":"Room","fields":{"channel_tg_whatsapp":"channel (tg / whatsapp)","chat_id_telegram_shop_only":"chat id (Telegram shop only)","comment":"comment","count":"count","current_item":"current item","customer_name":"customer name","customer_phone":"customer phone","everything_the_caller_sent":"everything the caller sent","goto":"goto","items":"items","items_name_qty_price":"items (name, qty, price)","iteration_index":"iteration index","its_answer":"its answer","label":"label","lead_data":"lead data","matched":"matched","message_text":"message text","order_reference":"order reference","order_total":"order total","paid_or_reserved":"paid or reserved","person_id_same_across_all_their_channels":"person id (same across all their channels)","raw_body_only_when_it_was_neither_json_nor_a_form":"raw body (only when it was neither JSON nor a form)","received_at":"received at","sender_id":"sender id","sender_name":"sender name","their_address_on_that_channel":"their address on that channel","trigger_text":"trigger text","where_it_was_ordered":"where it was ordered","who_wrote":"who wrote","when_this_chain_starts":"When this chain starts","this_loop_for_each_item":"This loop, for each item","ai_action":"AI action","ai_decision":"AI decision","ask_a_person_to_decide":"Ask a person to decide","compute_values":"Compute values","condition":"Condition","give_the_work_to_a_room":"Give the work to a room","send_a_message":"Send a message","stepGroup":"Step {n} — {name}","trigger_data":"trigger data","their_name":"their name","phone_on_whatsapp_the_number_they_write_from":"phone (on WhatsApp, the number they write from)","another_number_they_asked_to_be_reached_at":"another number they asked to be reached at","email":"email","what_they_want":"what they want","their_answers_one_per_line":"their answers, one per line","their_answers_as_question_and_answer_pairs":"their answers as question and answer pairs","channel":"channel","conversation_id":"conversation id","everything_including_a_web_form_s_own_fields":"everything, including a web form's own fields","phone_whatsapp_only_digits":"phone (WhatsApp only, digits)","channel_tg_whatsapp_max":"channel (tg / whatsapp / max)","why_the_customer_is_handed_over":"why the customer is handed over","what_they_want_next":"what they want next","city":"city","model_of_interest":"model of interest","model_from_the_ad":"model from the ad","trim":"trim","price_quoted":"price quoted","reaction_to_the_price":"reaction to the price","cash_credit":"cash / credit","trade_in":"trade-in","their_car_for_trade_in":"their car for trade-in","when_they_plan_to_buy":"when they plan to buy","summary_for_the_manager":"summary for the manager","channel_tg_whatsapp_max_ig_web":"channel (tg / whatsapp / max / ig / web)","files_it_carried_photos_documents_voice":"files it carried (photos, documents, voice)","addresses_of_its_photos":"addresses of its photos","address_of_its_first_photo":"address of its first photo"},"triggerPill":{"manual":"by hand","on_lead_captured":"on lead","on_new_message":"on message","on_order_placed":"on order","on_webhook":"webhook","on_assistant_message":"assistant message","on_handoff_requested":"on handoff"},"badges":{"after":"after {delay}","retries":"retries: {n}","noTools":"no tools","tools":"tools: {list}","strictJson":"strict JSON"},"history":{"title":"History","show":"What changed","hide":"Hide","empty":"Nothing saved yet. The history starts with the next time you save this chain.","current":"Now","savedAt":"Saved {when}","by":"by {who}","and":", ","noChanges":"Nothing left to compare this with — the version before it is no longer kept.","restore":"Bring back this version","restored":"The version saved {when} is in the editor. Save to bring it back, or Cancel to keep the current one.","cantRestore":"The editor can’t read this version, so it can’t be brought back.","change":{"created":"This is where the chain starts","renamed":"Renamed from “{from}” to “{to}”","description":"The description changed","trigger":"It starts on “{to}” now, not “{from}”","senderFilter":"It only answers senders matching “{to}”","senderFilterCleared":"It answers any sender now","providerFilter":"It only runs on {to}","providerFilterCleared":"It runs on any channel now","madePublic":"Customers can start it","madePrivate":"Only your own account can start it","model":"Its AI steps think on {to}","modelCleared":"Its AI steps follow the agent's model again","stepAdded":"A step was added","stepRemoved":"A step was removed","stepMoved":"A step moved","field":{"type":"it does something else now","recipient":"who it writes to","message":"the message","prompt":"what it asks the model","tool":"the tool it uses","args":"what it sends the tool","expect":"the answer it expects back","vars":"the values it works out","conditions":"the conditions","choices":"the choices it picks from","outcomes":"where its outcomes lead","next":"what happens after it","loop":"what it repeats over","tools":"the tools it may use","question":"the question it asks","room":"the room it hands the work to","settings":"its settings"},"chatFilter":"It only runs in one chat now","chatFilterCleared":"It runs in any chat now"}},"copy":{"action":"Copy to another employee","eyebrow":"Chains","title":"Copy “{name}”","from":"From","to":"To","pick":"Pick an employee","thisEmployee":"{name} (this employee)","thisEmployeePlain":"This employee","agentsLoading":"Loading your employees…","agentsFailed":"Your employees could not be loaded.","retry":"Try again","planLoading":"Reading what the copy needs on {agent}…","planFailed":"What the copy needs could not be read.","toolsTitle":"{agent} does not have these tools yet","toolsHint":"Steps that use them fail until you connect them. The copy waits paused either way.","notesTitle":"Before you switch it on","ready":"{agent} has every tool this chain calls. Nothing to set up before you switch the copy on.","paused":"The copy starts paused. Nothing runs it until you switch it on.","copyTo":"Copy to {agent}","copyButton":"Copy","copying":"Copying…","copied":"Copied to {agent}","copiedDescription":"The copy is paused — switch it on when it is ready.","notYours":"That employee is not one of yours, or no longer exists. Pick another one."},"library":{"loading":"Reading the templates…","loadFailed":"The templates could not be loaded.","retry":"Try again","otherCategory":"Other","asks":"Asks for","askTool":"A tool to call","askRoom":"A room to hand it to","needsTools":"Needs {tools}, which this employee does not have yet — connect it before you switch the chain on.","install":{"eyebrow":"Install a template","needsTitle":"What it needs from you","toolLabel":"Which tool should it call?","toolPlaceholder":"Pick a tool","toolSearch":"Search tools","toolHint":"The chain calls it wherever the template leaves the tool to you.","toolEmpty":"Pick a tool to install.","noTools":"This employee has no tools to pick from yet — connect an app first.","toolsFailed":"The tools could not be loaded.","roomLabel":"Which room does the work?","roomSearch":"Search rooms","roomHint":"The chain hands this room its task.","roomEmpty":"Pick a room to install.","roomsFailed":"The rooms could not be loaded.","nothing":"Nothing to fill in — it installs as it is.","toolsTitle":"This employee does not have these tools yet","toolsHint":"Steps that use them fail until you connect them. It installs paused either way.","schedule":"Once you switch it on, it runs {when}, {zone} time.","paused":"It installs paused. Nothing runs it until you switch it on.","button":"Install","installing":"Installing…","installed":"“{name}” is installed","installedDescription":"It is paused — look it over, then switch it on.","notFound":"This template is no longer in the library.","employeeGone":"This employee could not be found — it may have been deleted."}},"saveTemplate":{"action":"Save as template","eyebrow":"Template library","title":"Save “{name}” as a template","description":"It starts unpublished, with this chain’s steps exactly as they are — the values in them included. You look it over and publish it on the Templates page.","slugLabel":"Slug","slugPlaceholder":"E.g. morning-leads-report","slugRule":"Lowercase letters and digits in words joined by single dashes, up to 64 characters. It names the template for good.","nameLabel":"Name","descriptionLabel":"Description","categoryLabel":"Category","categoryPlaceholder":"E.g. Reports","button":"Save as template","saving":"Saving…","created":"“{name}” is saved as a template","createdDescription":"It is not published yet — look it over and publish it here.","chainGone":"This chain no longer exists."}},"rooms":{"locked":{"title":"Rooms are on a higher plan","text":"In a room several employees work on one task at once and share the same files. Your plan does not include rooms.","point":{"team":"Several employees on one task, each with a role","files":"Shared files the whole room searches","sessions":"Sessions, history and subtasks in one place"},"plans":"Included in {plans}.","cta":"See plans"},"title":"Rooms","subtitle":"working together","working":{"one":"{name} is still working","many":"{n} rooms are still working","fallbackName":"A room","open":"Open"},"newRoomButton":"New room","comingSoonTitle":"Rooms are coming soon","comingSoonDescription":"Shared channels where several employees collaborate on one task, together with you.","members":{"effortHint":"answers on the “{level}” setting"},"plan":{"after":"After {steps}","more":"{count} more","less":"Show fewer","finished":"Finished","finishedBlocked":"{done} finished, {blocked} blocked"},"knowledge":{"title":"Shared files","add":"Add","uploading":"Uploading…","uploadingOf":"Uploading {done}/{total}…","tallyOne":"1 file · {size}","tallyMany":"{n} files · {size}","account":"{used} of {limit} used across this account","empty":"Drop a document here — every member of this room reads it.","dropHere":"Drop to add to this room's knowledge","lockedNote":"Shared files are not included in this plan.","indexing":"Indexing…","searchable":"Searchable","stored":"Stored, not searchable","failed":"Failed","download":"Download {name}","remove":"Remove {name}","downloadFailed":"Could not download {name}.","confirmRemoveTitle":"Remove {name}?","confirmRemoveBody":"The whole room stops being able to search this file. Nothing already written from it is affected.","confirmRemoveAction":"Remove","tooLargeTitle":"{name} does not fit","tooLargeBody":"{size} needs more than the {left} left in this account's storage. Remove a shared file first.","tooLargeReason":"Needs more room than this account has left","indexFailedTitle":"{name}: indexing failed","indexFailedBody":"The file is stored but not searchable. Open the room files panel for details.","chunks":"{n} chunks indexed","chunksOf":"{n} of {limit} chunks","bytesOf":"{used} of {limit}","loadMore":"Show {n} more","loadingMore":"Loading…","batchFailed":"{failed} of {total} could not be added — {list}"},"attach":{"dropHere":"Drop files to attach them to your message","retry":"Try this upload again","remove":"Remove {name}","failed":"Upload failed","uploadingOne":"Uploading 1 file…","uploadingMany":"Uploading {n} files…","tooMany":"One message carries {max} files at a time."},"list":{"deleteRoom":"Delete room","confirmDeleteTitle":"Delete #{name}","confirmDeleteDescription":"This deletes the room, its members and the whole transcript. Your employees themselves are not affected."},"feed":{"roomFailed":"The room could not be opened.","historyFailed":"The transcript could not be loaded. The room itself is still here."},"createCardSubtitle":"a shared stream for several employees","defaultInstruction":"A shared stream — employees work on one task.","noMessages":"no messages yet","membersCount":"Members: {n}","deleteRoom":"Delete room","deleteTitle":"Delete the room “{name}”?","deleteBody":"This deletes the room, its members and the whole transcript. Your employees themselves are not affected.","deleteConfirm":"Delete room","emptyTitle":"No rooms yet","emptyBody":"A room is a task several employees work on at once. One employee does not need a room.","emptyStaffTitle":"Nobody has added you to a room yet","emptyStaffBody":"Rooms appear here once somebody at “{org}” adds you to one. Only the workspace owner can create them.","yourWorkspace":"your workspace","justNow":"just now","minutesAgo":"{n} min ago","hoursAgo":"{n} h ago","yesterday":"yesterday","daysAgo":"{n} days ago","modal":{"eyebrow":"room","titleNew":"New room","titleBrief":"Room instruction","titleTeam":"Who works here","titleKnowledge":"Shared knowledge","titleBehaviour":"Room settings","titleEdit":"Edit room","nameLabel":"room name","namePlaceholder":"q3-launch","instructionLabel":"instruction","instructionPlaceholder":"Campaign launch room: Anya writes copy, Mark does mailouts","employeesLabel":"employees","employeesHint":"pick who works in this room and give each a role hint","noEmployees":"no employees yet — create one first","roleHintPlaceholder":"role hint","sameEffort":"same effort","sameModel":"same model","peopleLabel":"people","peopleHint":"colleagues who can open this room. someone invited as “rooms only” sees nothing else in the workspace","peopleLoading":"loading…","noColleagues":"nobody else in this workspace yet —","inviteSomeone":"invite someone","roomsOnlySuffix":" · rooms only","knowledgeLabel":"shared knowledge","knowledgeHint":"files everyone in this room can search — drop a brief, spec or price list once, and every employee sees it","knowledgeNeedsRoom":"create the room first, then add shared files","removeFile":"remove file","uploadingFile":"uploading & indexing…","addFile":"add shared file","fileIndexing":"indexing…","fileFailed":"failed to index","fileStored":"stored — not searchable","fileSearchable":"searchable","advanced":"advanced","routing":"routing","routingHint":"how an employee is picked when you don't {'@'}mention anyone","routingAuto":"auto router","routingMentions":"mentions only","allowSilence":"allow silence","allowSilenceHint":"let the router answer nobody when a message needs no work (“thanks”)","discussion":"discussion mode","discussionHint":"let one more employee follow up after a reply","maxRounds":"max follow-ups","reporter":"reports written by","reporterHint":"who writes the summary when the room finishes a plan — this is the report a chain reads","reporterNobody":"nobody (plain progress line)","maxHandoffs":"max handoffs","maxHandoffsHint":"how many times employees may relay a task per message","deleting":"deleting…","saving":"saving…","saveRoom":"Save room","createRoom":"Create room","tooManyMembers":"a room can have at most 8 employees","sections":"sections","roleHintAgent":"role hint — e.g. writes the copy","roleHintPerson":"role hint — e.g. reviews the numbers","behaviour":{"routingLead":"When nobody is {'@'}mentioned,","routingAuto":"the router picks who answers","routingMentions":"nobody answers — mentions only","smalltalkLead":"and on small talk (“thanks”, “got it”) it","smalltalkAnswer":"still answers","smalltalkQuiet":"may stay quiet","followupLead":"After a reply,","followupOff":"the room settles","followupOn":"one more employee may follow up","upTo":"— up to","timesPerMessage":"time per message. | times per message.","relayLead":"Employees may relay a task to each other up to","autopilotLead":"When a session stops on a ceiling,","autopilotOff":"it waits for a person","autopilotOn":"it continues on its own","timesInARow":"time in a row. | times in a row.","autopilotNote":"a ceiling is the token budget or the turn cap of one exchange. Continuing means the room sends “continue” itself; a message from anybody starts the count over.","reporterLead":"When a plan finishes, the summary is written by","reporterNobody":"nobody — a plain progress line","reporterNote":"this is the report a chain reads.","browserLead":"For its work, the room","browserOff":"works without a browser","browserOn":"may open a live browser","browserNoteOn":"the browser can be watched and taken over; every session is minutes of paid work","browserNoteOff":"no employee in this room has the live browser enabled on their own card"},"tabBrief":"Brief","tabTeam":"Team","tabKnowledge":"Knowledge","tabBehaviour":"Behaviour","briefHint":"what this room is for — every employee reads it before every turn","membersOfMax":"{n} of 8","peopleTitle":"Who may enter","behaviourTitle":"How the room works","behaviourHint":"each line is a rule the room follows; change the words to change the rule","needNameAndEmployee":"name it and pick at least one employee","needName":"give the room a name","needEmployee":"pick at least one employee"},"workingNow":"working right now","countWord":"room | rooms","seatsWord":"employee seat across them | employee seats across them"},"settings":{"eyebrow":"account","title":"Account settings","freePlan":"No plan","back":"Back","account":{"export":{"title":"Download my data","body":"A ZIP archive with everything that is yours here: profile and settings, employees and their rules, conversations, contacts, leads and orders, chains, knowledge base and files, payments and the sign-in record. Each table comes as JSON and CSV, with a README describing every file. Passwords, keys and integration tokens are not included.","button":"Download my data","preparing":"Preparing your archive…","requested":"We are preparing your archive. We will email you and notify you here when it is ready.","download":"Download","nextAt":"You can ask for a new copy after {when}.","statusPreparing":"Being prepared — usually takes a minute","statusReady":"Ready, {size} · available until {date}","statusExpired":"Expired and deleted","statusFailed":"Could not be prepared — ask for a new copy"},"delete":{"title":"Delete account","body":"Closes your account now. Your data is kept for {days} days in case you change your mind, then erased for good.","button":"Delete account","adminRefused":"An administrator's account cannot be deleted here. Ask another administrator to remove your role first.","confirmTitle":"Delete your account?","now":"Right away: you are signed out and cannot sign in again, your employees stop answering on every channel, and your public pages go offline.","colleagues":"{count} colleague in your organisation loses access to its workspace. Their own account stays. | {count} colleagues in your organisation lose access to its workspace. Their own accounts stay.","paidUntil":"Your subscription will not renew. The period already paid for (until {date}) is not refunded automatically; if you paid within the last {days} days, you can ask for a refund.","noRefund":"Your subscription, if you have one, will not renew. A paid period is not refunded automatically; if you paid within the last {days} days, you can ask for a refund.","refundLink":"Refund policy","grace":"For {days} days your data is kept: write to support and we will restore the account. After {date} the account and all of its data are erased for good.","copyFirst":"Want a copy first? Download your data before you delete the account.","password":"Your password","codeHint":"Your account has no password, so we will email a confirmation code to {email}.","codePlaceholder":"6-digit code","sendCode":"Send code","resendCode":"Send again","codeSent":"We sent a code to {email}.","confirmButton":"Delete my account","done":"Your account is closed. We have emailed you the details."}},"menu":{"profile":"Profile","password":"Change password","notifications":"Notifications","billing":"Plan & billing","connected":"Connected accounts","account":"Your data & deletion","language":"Language","theme":"Theme","themeLight":"Light","themeDark":"Dark"},"profile":{"title":"Profile","name":"Name","namePlaceholder":"Your name","phone":"Phone","phonePlaceholder":"+1 234 567 8900","username":"Username","usernameLocked":"Username can't be changed","email":"Email","emailLocked":"Email can't be changed","saveChanges":"Save changes","updated":"Profile updated","language":"Language","timezone":"Time zone","timezoneDefault":"Platform default: {zone}","timezoneHint":"Your assistants tell the time, book meetings and run schedules on this clock.","changePhoto":"Change photo","photoUpdated":"Photo updated"},"password":{"title":"Change password","current":"Current password","new":"New password","newPlaceholder":"At least 8 characters","confirm":"Confirm new password","update":"Update password","updated":"Password updated","tooShort":"New password must be at least 8 characters","mismatch":"New passwords don't match"},"notifications":{"title":"Notifications","comingSoon":"Notification preferences are coming soon.","emailLabel":"Email address","verified":"Verified","unverified":"Not verified","verifiedHint":"This address is confirmed. Notifications and account emails go here.","unverifiedHint":"Confirm this address so account emails — a password reset above all — are known to reach you.","sendLink":"Send me a verification link","sending":"Sending…","sent":"Link sent — check your inbox","sendFailed":"Could not send the link. Try again in a minute."},"billing":{"title":"Plan & billing","help":"Compare every tier, see what each one includes, and change plan or payment method.","openPlans":"View plans"},"connected":{"notConnected":"Not connected","connectedNoEmail":"Connected","connect":"Connect","connecting":"Connecting…","disconnect":"Disconnect","disconnected":"Disconnected","none":"No sign-in providers are available on this deployment.","linkOk":"{provider} connected.","linkClaimed":"This {provider} account is already connected to a different account.","linkError":"Could not connect {provider}. Please try again."}},"agentEditor":{"tabs":{"label":"Employee sections","connections":"Connections","chat":"Chat","setup":"Settings","more":"More"},"settingsView":{"label":"Settings view","classic":"Usual","new":"New view"},"settingsNew":{"menuLabel":"Settings sections","profile":"Profile","profileState":"Name and description","profileSub":"How customers see the employee on its public page: name, description, where to find you, your links, contacts and common questions.","profileCard":"Public page","profileEmpty":"Name, description, where to find you, links, contacts","knowledge":"Knowledge","knowledgeState":"files: {n}","knowledgeSub":"Where the employee takes its answers from. What is not here, it will honestly say it does not know.","manner":"Manner","mannerState":"Tone and length","mannerSub":"How the employee talks to customers.","skills":"Skills","skillsState":"on: {n}","skillsSub":"What the employee can do on its own.","model":"Model","modelState":"As in the plan","modelSub":"What the employee thinks with, and how deeply.","access":"Access","accessSub":"Who can write to the employee and what it may do."},"chatHeader":{"defaultTitle":"Chat with employee","active":"Active","off":"Off"},"advanced":{"title":"Advanced settings","note":"Model, skills and how it sounds"},"setupHeader":{"title":"Employer Settings","eyebrow":"Employee"},"model":{"title":"Model","defaultBadge":"Default","hint":"Which model answers for this employee. The list is what your plan includes.","saved":"Now answering on {model}","lockedOption":"{model} — not on your plan","lockedHint":"Some models are not included in your plan.","unavailableOption":"{model} — unavailable","substituted":"This employee is set to {model}, which your plan does not include. Turns are answering on {actual}.","otherProvider":"Other","weightHint":"One turn on {model} costs {units} AI Actions instead of one — it is that much dearer to run.","weightRemaining":"At what is left, that is about {answers} more answers.","abilities":{"photos":"Sees the photos and pictures people send","photosNoModel":"Does not see photos: this model does not work with images — pick another for photos","photosOff":"Does not see photos: Vision is switched off in its abilities","files":"Reads files: PDF, Excel, Word, CSV and text","pictures":"Draws pictures from a description","picturesNo":"Does not draw pictures — not available on the platform yet","photoEditNo":"Does not change photos it is sent (retouching, lighting, redrawing)","jobs":"Can keep working after a reply — background jobs","jobsNo":"Works only within one reply: your plan has no background jobs"}},"modelRouting":{"title":"Advanced model routing","subtitle":"Override selected internal tasks for this employee.","inherited":"Inherited","overridden":"Overridden","locked":"This route is managed globally and cannot be changed for this employee.","inheritPosition":"Inherit this position","primary":"Primary","fallback":"Fallback {index}","priority":"Priority","reset":"Reset to inherited","saved":"Model routing saved","resetDone":"Inherited routing restored","loadFailed":"Model routing could not be loaded.","saveFailed":"Model routing could not be saved."},"memory":{"title":"Memory","onlyYou":"Only you","placeholder":"Add facts the employee should always know","updatedAgo":"Updated {time}","justNow":"just now","minutesAgo":"{count} min ago","hoursAgo":"{count} h ago","daysAgo":"{count} d ago","modalTitle":"Memory","modalDescription":"Facts the agent should always know — write them yourself, or the agent will append to this as it learns from conversations.","modalPlaceholder":"E.g. We're closed on Sundays.","saveButton":"Save memory","saved":"Memory saved","contacts":{"title":"About individual people","description":"What this agent recorded about specific contacts. Each note is read back only inside that person's own conversation, never in anyone else's.","loading":"Reading…","empty":"Nothing recorded about anyone yet.","unnamed":"Unnamed conversation","forget":"Forget","forgetting":"Forgetting…","forgetHint":"Delete these notes. The conversation itself stays.","forgotten":"The notes were deleted.","forgetFailed":"The notes could not be deleted.","confirmTitle":"Forget these notes?","confirmDescription":"Everything the agent recorded about {name} is deleted and cannot be recovered. The conversation itself stays."}},"instructions":{"title":"Instructions","placeholder":"Set instructions for the employee","modalTitle":"Set project instructions","modalDescription":"Provide relevant instructions and information for chats within this agent.","modalPlaceholder":"Think step by step and show reasoning for complex problems.","saveButton":"Save instructions","saved":"Instructions saved","effectNote":"It follows these rules in every reply. One rule changes how it answers straight away — try it in the chat."},"files":{"title":"Files","recreateDbTitle":"Recreate database (RAG)","noFilesYet":"No files yet","processingStatus":"{count} file(s) · {percent}% processed","processedStatus":"{count} file(s) processed","statusDone":"Done","statusDoneWithNote":"Done · something was skipped","statusError":"Error","statusProcessing":"Processing","visionIndexedTitle":"Indexed via AI vision description","docFallback":"DOC","addFileOrLink":"Add file or link","urlPlaceholder":"https://... or Google Drive link","addButton":"Add","fileButton":"File","browseDriveTitle":"Browse Google Drive","searchDrivePlaceholder":"Search Drive files...","noFilesFound":"No files found","uploading":"Uploading {name}...","added":"File added to processing queue","uploadError":"Upload error","linkAdded":"Link added to processing queue","linkAddFailed":"Failed to add link","driveLoadFailed":"Failed to load Google Drive files","driveFileAdded":"{name} added to processing queue","driveFileAddFailed":"Failed to add Drive file","deleteConfirmTitle":"Delete {name}?","deleteConfirmDefaultName":"file","deleteConfirmDescription":"This action cannot be undone.","deleted":"File deleted","deleteError":"Deletion error","downloadTitle":"Download {name}","deleteTitle":"Delete {name}","downloadError":"Could not download the file","clearConfirmTitle":"Clear Knowledge Base?","clearConfirmDescription":"All uploaded files will be deleted. This action cannot be undone.","cleared":"Knowledge base successfully cleared","clearError":"Database clear error","indexFailed":"{name}: indexing failed — the file is stored but not searchable","uploadingMany":"Uploading {n} files…","addedMany":"{n} files added","batchPartial":"{ok} added, {failed} failed","fromComputer":"From this device","fromLink":"From a link","fromDrive":"Google Drive","rebuildShort":"Rebuild","deleteAction":"Delete the file","driveSearching":"Searching your Drive…"},"access":{"title":"Access","publicAccess":"Public access","open":"open","closed":"closed","modalTitle":"Access & rights","pageVisibility":"Page visibility","public":"Public","publicDescription":"Anyone with the link","private":"Private","privateDescription":"Invite-only","employeeRights":"Employee rights","answerQuestions":"Answer questions","bookCalls":"Book calls","stateDiscount":"State a discount without a call","collectLeads":"Collect lead contacts","groupsOwnerOnly":"In groups, answer only me","groupsOwnerOnlyHint":"Guests in a group are still heard and kept in the conversation — the assistant just does not reply to them. On your own WhatsApp number this works once the assistant is switched on for that account, so it can tell your own messages from a guest's.","updated":"Access updated","verifiedBadge":"Verified badge","showVerified":"Show the badge on this employee's page","notVerifiedYet":"Your company is not verified yet.","applyForBadge":"Apply for the badge","modalNote":"Who can see it, and what it may do without you","previewOpen":"The public page is open — anyone with the link can write to it.","previewClosed":"The public page is closed — nobody outside can write to it.","rightsCount":"{n} of {total} rights","answerQuestionsNote":"About products, services and terms","collectLeadsNote":"Name, phone, what they need","bookCallsNote":"Offers a free slot","stateDiscountNote":"Without checking with you","hours":{"title":"Booking hours","standard":"standard","days":"Working days","dayShort":{"mon":"Mon","tue":"Tue","wed":"Wed","thu":"Thu","fri":"Fri","sat":"Sat","sun":"Sun"},"dayLong":{"mon":"Monday","tue":"Tuesday","wed":"Wednesday","thu":"Thursday","fri":"Friday","sat":"Saturday","sun":"Sunday"},"workday":"Working day","start":"Start of the working day","end":"End of the working day","break":"Break","breakStart":"Start of the break","breakEnd":"End of the break","zone":"Time zone","summary":"Customers can book: {days}, {start}–{end}","summaryBreak":", break {start}–{end}","summaryNone":"Customers cannot book: no working day is selected","hint":"Customers are only offered times within these hours, and anything busy in your calendar is left out too. You can also change them by telling the employee in the chat.","save":"Save hours","saving":"Saving…","saved":"Booking hours saved","problems":{"noDays":"Pick at least one working day","badTime":"Enter times as HH:MM","endBeforeStart":"The working day must end after it starts","tooShort":"The working day must be at least half an hour long","breakOutside":"The break must fall inside the working day"},"zones":{"Europe_Kaliningrad":"Kaliningrad","Europe_Moscow":"Moscow","Europe_Minsk":"Minsk","Europe_Samara":"Samara","Asia_Yekaterinburg":"Yekaterinburg","Asia_Omsk":"Omsk","Asia_Almaty":"Almaty","Asia_Tashkent":"Tashkent","Asia_Novosibirsk":"Novosibirsk","Asia_Krasnoyarsk":"Krasnoyarsk","Asia_Irkutsk":"Irkutsk","Asia_Yakutsk":"Yakutsk","Asia_Vladivostok":"Vladivostok","Asia_Magadan":"Magadan","Asia_Kamchatka":"Petropavlovsk-Kamchatsky"}}},"aiTools":{"title":"AI tools","subtitle":"Abilities","modalTitle":"AI tools","capabilities":"Capabilities","actionAgent":"Action Agent","actionAgentDesc":"Browse and operate real websites in a cloud browser","webSearch":"Web Search","webSearchDesc":"Look up current information on the web","vision":"Vision","visionDesc":"See and describe images sent in chat or uploaded files","voice":"Voice","voiceDesc":"Transcribe voice messages and speak replies aloud","image":"Image","imageDesc":"Generate images from a text description"},"behavior":{"title":"Chat behavior","subtitle":"Tone, emojis, splitting","messageSplitting":"Message splitting","messageSplittingDescription":"Splits a long answer into a few short messages, so the chat reads naturally, like talking to a person.","emojisInReplies":"Emojis in replies","emojisInRepliesDescription":"The employee may add emoji where they fit, which makes replies sound warmer. Turn it off for a strictly formal style.","tone":"Tone","toneDescription":"The voice the employee writes to customers in: friendly, formal, energetic or brief. Press the chosen tone again to clear it.","whatIsIt":"What “{name}” does","tones":{"friendly":"Friendly","formal":"Formal","energetic":"Energetic","expert":"Expert"},"model":"Model","modelDescription":"The model this employee thinks with. Options are curated by the platform.","explainTitle":"What each setting changes","modalNote":"How it sounds: message length, emoji and tone"},"cancel":"Cancel","toasts":{"agentActivated":"Agent activated","agentDisabled":"Agent disabled","settingsSaved":"Settings saved","avatarUpdated":"Avatar updated","linkCopied":"Link copied!"},"thread":{"defaultTitle":"Conversation","backToHistory":"Back to history","readOnlyLabel":"Saved session — read only","browserLiveView":"Action Agent session","instructionsModal":{"subtitle":"Provide relevant instructions and information for chats within this agent. This will tailor the agent's responses.","placeholder":"Think step by step and show reasoning for complex problems. Use specific examples."},"accessModal":{"title":"@:{'brand.name'} · agent access","subtitle":"Who can write to the agent","publicTitle":"Public access","publicDescription":"Accessible to everyone via link @:{'brand.host'}/igor. Suitable for personal brand, sales, consultations","privateTitle":"Closed access · a dedicated environment","privateDescription":"Accessible only to employees and internal company systems. No public page. Example: accountant agent connected via MoySklad","footerDisclaimer":"Closed access requires connecting a corporate connector (MoySklad, internal telegram, portal) and is configured via @:{'brand.name'} policy engine — without a public profile and without search by nickname"},"telegramBotModal":{"title":"Telegram Assistant","subtitle":"Create a bot via BotFather and paste its Token here.","tokenLabel":"Bot Token","startInstructions":"Send the {command} command to the bot to link yourself as the owner.","connectButton":"Connect"},"toasts":{"googleDisconnected":"Google disconnected","telegramDisconnected":"Telegram disconnected","telegramDisconnectedMessage":"✅ Telegram session completed successfully. Agent is disconnected from your account.","tokenSaved":"Token saved","assistantDisconnected":"Assistant disconnected"},"clearKnowledgeConfirm":{"title":"Clear and recreate the Vector Database?","description":"All uploaded files will be deleted.","confirmButton":"Clear database"},"aiMessages":{"orderPaid":"I paid for an order totaling {total}. Order contents: {items}. Please confirm the payment and tell me what details you need for delivery.","orderReserved":"I'd like to place an order totaling {total}. Order contents: {items}. I'd like to place it without paying right away, since I need to clarify a few details first. Please ask me for contact details."},"userFallback":{"initial":"U","name":"User"},"modalEyebrow":"Employee"},"effort":{"title":"Reasoning effort","auto":"Match the plan","saved":"Reasoning effort saved","hints":{"auto":"Your plan decides how long this agent thinks. Pick a level to override it.","minimal":"Answers straight away. Good for short questions and quick replies.","medium":"Thinks it over first. The right choice for most work.","max":"Works the problem through. For research and multi-step tasks."},"levels":{"minimal":"Fast","medium":"Standard","max":"Deep"},"measured":"~{n}s on your own replies","measuredTitle":"Average reply time, measured on this account's own turns"},"done":"Done","menu":{"label":"More","employeeSettings":"Employee settings","openPublicPage":"Open the public page","copyLink":"Copy the link","tutorial":"Take the walkthrough","tutorialContinue":"Continue the walkthrough","tutorialAgain":"Take the walkthrough again","employeeMenu":"Employee menu"},"metrics":{"messagesToday":"message today | messages today","actionsToday":"action today | actions today","conversationsTotal":"conversation in total | conversations in total"},"connections":{"quotaLabel":"Connectors on your plan","quotaFull":"Plan limit reached"}},"admin":{"title":"Admin","subtitle":"Platform controls","sourceCustom":"Custom","sourceEnv":"Env","expandAll":"Expand all","collapseAll":"Collapse all","customizedCount":"{n} set","resetTooltip":"Reset to default","restartRequired":"After restart","secretPlaceholder":"Enter value","secretUnreadable":"A value is stored but cannot be decrypted — the encryption key changed. Paste it again to restore it.","secretSaved":"Saved — type to replace","secretUnreadablePlaceholder":"Unreadable — paste it again","secretShow":"Show the saved value","secretHide":"Hide","secretRevealFailed":"Could not read the saved value.","readOnly":"Recorded","readOnlyHint":"Recorded by the system when the backend is switched. Not editable here.","unsavedChanges":"{count} unsaved change(s)","saveChanges":"Save changes","saving":"Saving…","savedToast":"Settings saved","fixValidation":"Fix the highlighted values first","modelOperations":{"tabsLabel":"Model operations views","monitoring":"Monitoring","globalSettings":"Global settings","liveTitle":"Model operations","liveDescription":"Live capacity, routing quality and recent provider decisions across every model operation.","updatedAt":"Updated {time}","rangeLabel":"Monitoring range","partialData":"Some monitoring sections are unavailable. Healthy sections remain live.","staleData":"Some monitoring data is stale. The last healthy values remain visible.","capacity":"Capacity","reservedVsLimit":"Reserved against configured limits","customerTurns":"Customer turns","perMinute":"Per minute · estimated","queueP50":"Queue p50","queueP95":"Queue p95","activeUsers":"Active users","fallbackRate":"Fallback rate","capacityPools":"Capacity pools","capacityPoolsHint":"Shared provider windows and local inference slots.","slots":"Slots","concurrent":"Concurrent","noPools":"No capacity pools are configured yet.","byOperation":"By operation","byProvider":"By provider","providersTitle":"Providers","providersHint":"One block per connected provider: the balance where the provider exposes one, spend in the selected range from our own usage log, and the router's failures in the last hour.","balance":"Balance","balanceUnknown":"Balance could not be read","balanceNotExposed":"This provider exposes no balance to an API key","providerUsed":"{amount} used on this key","spendInRange":"Spend · {range}","spendThisMonth":"This month","providerBill":"Provider's own bill · this month","billUnknown":"The provider's bill could not be read","billNeedsAdminKey":"Add the organisation admin key in Global settings → Providers to read the provider's own bill","failuresLastHour":"Failures · last hour","lastFailure":"Last failure","byModel":"By model","byAccount":"By account","calls":"Calls","noData":"No calls in this range.","recentEvents":"Recent routing events","recentEventsHint":"Every routed model call: whose it was, the route it took and how it ended.","time":"Time","event":"Event","operation":"Operation","route":"Provider / model","status":"Status","noEvents":"No routing events in this range.","clearEvents":"Clear events","clearConfirmTitle":"Clear routing events?","clearConfirmDescription":"This deletes routing diagnostics only. Usage and billing records stay intact.","account":"Account","agent":"Employee","from":"From","model":"Model","filtersLabel":"Filter routing events","allAccounts":"All accounts","allAgents":"All employees","allOperations":"All operations","allStatuses":"All statuses","allModels":"All models","clearFilters":"Clear filters","filterByAccount":"Show only this account","filterByAgent":"Show only this employee","noMatchingEvents":"No routing events match these filters in this range."},"modelRouting":{"title":"Global model control","description":"Define shared capacity, model capabilities and the three-position route used by every logical model operation.","poolsTitle":"Capacity pools","poolsHint":"Limits belong to the provider account or local inference pool shared by its models — never to a model name by assumption.","addPool":"Add pool","noPools":"No capacity pools configured.","provider":"Provider","poolName":"Pool name","kind":"Kind","enabled":"Enabled","concurrency":"Concurrency","queueCeiling":"Queue ceiling","fallbackThreshold":"Fallback threshold","cooldownMin":"Cooldown min (ms)","cooldownMax":"Cooldown max (ms)","profilesTitle":"Model metadata","profilesHint":"Add models once in Providers above, then configure their capabilities, context and capacity pool here.","addProfile":"Configure model","model":"Model","selectModel":"Select a provider model","modelUnavailable":"Unavailable — not declared by an enabled provider","source":"Source","context":"Context / max output","capabilities":"Capabilities","pool":"Capacity pool","routesTitle":"Operation routes","routesHint":"Primary, fallback 1 and fallback 2 are evaluated in order. Validate the complete matrix before enforcement.","noRoutes":"No operation routes returned by the backend.","allowOverride":"Allow agent override","locked":"Locked strategy","customerSelected":"Customer-selected model","agentSelected":"Agent-selected model","unconfigured":"Unconfigured","effort":"Effort","maxInput":"Max input","maxOutput":"Max output","timeout":"Timeout (ms)","retries":"Retries","queueWait":"Queue wait (ms)","validate":"Validate / test routes","warnings":"Warnings — saving remains allowed","unsaved":"Model routing has unsaved changes","unsavedCount":"{count} unsaved model setting(s)","settingsReady":"Provider, model and platform settings are ready to save.","validated":"Validation passed. These routes are ready to save.","validateBeforeSave":"Run validation before saving or enabling enforcement.","validationFailed":"Route validation could not be completed.","saveFailed":"Could not save model settings.","preflight":{"title":"Enabling routing will change who answers","summary":"{affected} of {total} employees would stop answering on the model their owner chose. Give these models a profile, or expect the route's fallback to answer for them.","employees":"{count} employees","unprofiled":"Offered in the picker but missing a profile, so routing cannot use them:"},"kindCloud":"cloud","kindLocal":"local","details":"Details","sourceDiscovered":"discovered","sourceOperator":"operator","effortDefault":"default","promptCompositionHint":"Estimated prompt composition beside provider-reported input tokens.","removeUnavailable":"Remove unavailable ({n})","sourceAssumed":"assumed"},"validation":{"required":"Enter a value","wholeNumber":"Enter a whole number","min":"Must be at least {min}","max":"Must be at most {max}"},"maintenance":{"label":"Maintenance","reindexTitle":"Rebuild knowledge index","reindexDescription":"Clears every agent's knowledge chunks and re-embeds all files with the current chunking and embedding settings. Required after changing the embedding model.","reindexButton":"Rebuild index","reindexRunning":"Rebuilding…","reindexConfirmTitle":"Rebuild the knowledge index?","reindexConfirmDescription":"All knowledge chunks will be deleted and every file re-embedded in the background. Agents may answer without knowledge context until their files finish re-indexing.","reindexConfirmButton":"Rebuild","reindexStartedToast":"Re-index started — {count} chunks cleared"},"listField":{"empty":"Nothing here yet.","add":"Add","addPlaceholder":"Add a value","addModels":"Add models","remove":"Remove {item}","fallback":"Fallback","dragHint":"Drag to reorder","accountPlaceholder":"Add an account by its e-mail","accountsEmpty":"Nobody — switched off for every account."},"accountSwitch":{"onFor":"On for {n} account | On for {n} accounts","offForEveryone":"Off for everyone"},"rollouts":{"title":"Switched on for some accounts only","hint":"Every other account is served exactly the way it always was. To change who has it, edit the list on its own card."},"modelPicker":{"eyebrow":"Model catalog","title":"Add models","description":"What your connected providers serve, plus every model the platform knows a rate for, grouped by the provider each one routes through. Anything else can be typed in below.","searchPlaceholder":"Search models...","notConnected":"Not connected","noPrice":"No rate","alreadyIn":"Added","noMatches":"No model matches that.","byHandLabel":"Or paste a reference","addByHand":"Add","addCount":"Add {n}"},"openrouterKeys":{"title":"Own OpenRouter keys per account","subtitle":"A separate key with a monthly limit for every account on the chosen plans","description":"For every account on the chosen plans the platform creates a separate OpenRouter key with its own monthly limit in US dollars, and that account's OpenRouter calls run on its key instead of the shared one. Same models, same routes. The customer sees nothing — the key exists only here.","honest429":"About 429, honestly: OpenRouter does not give a key a rate limit of its own — its capacity is shared globally. An own key gives the account its own spending limit, its own usage line on OpenRouter and its own cooldown here: one account's 429 or exhausted limit no longer slows everybody else. A 429 coming from the model's provider itself is lifted only by BYOK — the account's own provider key in OpenRouter (see docs/OPENROUTER_ACCOUNT_KEYS.md).","sync":"Refresh from OpenRouter","statusActive":"On","statusOff":"Off","keySet":"Management key stored","keyMissing":"No management key — no keys are created without it","keyUnreadable":"A management key is stored but cannot be decrypted with the current encryption key — enter it again","enabledLabel":"Create own keys","enabledHint":"Switch off and every account is back on the shared key at once. Keys already made stay.","managementKeyLabel":"OpenRouter management key","managementKeyPlaceholder":"Paste a management key","managementKeyKeep":"Stored — leave empty to keep it","managementKeyHint":"Made at openrouter.ai → Settings → Management keys. It can only create and change keys and cannot call models. Once saved it cannot be read back here.","providerLabel":"Provider whose key is replaced","defaultLimitLabel":"Default limit, USD a month","plansLabel":"Plans with an own key","plansHint":"Ticked plans get a key on their first AI call. An empty limit is the default. Limits reset on the 1st of every month (UTC).","planLimitAria":"Limit for plan {plan}, USD a month","createTitle":"Create a key by hand","createHint":"For any account, even one not on a ticked plan. Such a key is pinned: a plan change does not switch it off. An empty limit is the plan's.","createEmail":"Account e-mail","createLimit":"Limit, USD","createButton":"Create key","created":"Key created","keysTitle":"Account keys","empty":"No keys yet. They appear when accounts on the ticked plans call the AI, or create one by hand.","pinned":"pinned","limit":"Limit","byPlan":"by plan","usedMonth":"Spent this month","remaining":"Remaining","synced":"Refreshed","changeLimit":"Change limit","resetLimit":"Plan's limit","disable":"Switch off","enable":"Switch on","deleteConfirm":"Delete the key on OpenRouter? If the plan qualifies, a new one is made on the next AI call. To keep the account on the shared key, switch the key off instead.","badLimit":"The limit is a number from zero","failed":"That did not work","state":{"ok":"Working","off_admin":"Off","off_plan":"Off: plan","limit":"Limit reached","auth":"Key refused","rate":"429, pausing","missing":"Not on OpenRouter"}},"providers":{"presetLabel":"Preset","addTitle":"Connect a provider","editTitle":"Edit {name}","empty":"No providers connected yet.","label":"Inference providers","description":"OpenAI-compatible endpoints (OpenRouter, DeepSeek, vLLM…). Agents route to them with a \"provider/model\" reference. Changes apply immediately.","addButton":"Add provider","builtin":"Built-in","disabled":"Off","builtinHint":"Default provider — uses the platform OpenAI key.","envHint":"Declared in server environment — read-only here. Add a provider with the same name to override it.","nameLabel":"Name","nameHint":"Routing prefix in model references: name/model","baseUrlLabel":"Base URL","apiKeyLabel":"API key","apiKeyKeepPlaceholder":"Leave empty to keep the current key","connectButton":"Add provider","connecting":"Adding…","connectedToast":"Provider {name} added","deletedToast":"Provider {name} removed","deleteConfirmTitle":"Remove provider {name}?","deleteConfirmDescription":"Agents whose model references this provider will fail until it is re-added or their model is changed.","genericError":"Could not save the provider","modelsLabel":"Models this provider serves","modelsHint":"These are what the model pickers offer, as \"provider/model\". Load them from the provider, or type them in — a provider with no models is connected but cannot be picked anywhere.","modelsEmpty":"No models yet.","modelsCount":"{n} model | {n} model | {n} models","modelsMissing":"No models — nothing can be routed here yet","discoverButton":"Load from provider","discovering":"Asking…","failuresLabel":"Recent provider refusals","failuresHint":"What the providers themselves said when they refused a request, recorded on this server instance ({instance}). The chat surfaces only ever show a bare \"rejected\" — a provider’s error body can quote a fragment of your own key, so it stops here.","failuresClear":"Clear the list"},"nav":{"settings":"Settings","users":"Users","usage":"Usage","apps":"Apps","actionAgent":"Action Agent","rooms":"Rooms","plans":"Plans","billing":"Billing","finance":"Finance","mail":"Mail","verification":"Verification","siteChat":"Site chat","landing":"Landing","pages":"Pages","support":"Support","helper":"Helper","helpArticles":"Helper articles","guide":"Guide","recordings":"Recordings","dataRequests":"Data requests","scrollLeft":"Earlier sections","scrollRight":"More sections","templates":"Templates","skills":"Skills"},"users":{"searchPlaceholder":"Search by name, username, or email...","emptyState":"No users match your search.","filterLabel":"Show","filterAll":"All","filterOnline":"Online","filterAdmins":"Admins","filterTest":"Test","filterBlocked":"Blocked","filterEmpty":"Nobody matches this filter.","sortLabel":"Order","sortNew":"Newest first","sortSeen":"Recently active","sortName":"By name","colUser":"User","colPlan":"Plan","colAgents":"Agents","colSeen":"Last seen","accessCard":"Role and permissions","identityCard":"Email, username and name","savePlan":"Change plan","passwordSave":"Set it","planDefaultShort":"default","roleUser":"User","roleAdmin":"Admin","blocked":"Blocked","you":"You","agentCount":"{count} agent(s)","roleLabel":"Role","blockToggle":"Blocked","dedicatedBrowser":"Dedicated Action Agent pool","browserLimit":"Action Agent sessions at once","browserLimitInherit":"Tier default","selfHint":"You can't change your own role or block status here — use another admin's account.","agentsLabel":"Agents","noAgents":"No agents yet.","primary":"Personal","inactive":"Inactive","kbSize":"{files} file(s), {chunks} chunk(s)","blockedToast":"{name} has been blocked","deleteAgent":"Delete this agent","confirmDeleteAgent":"Delete the agent {name}? Its knowledge-base files are removed from disk too. This cannot be undone.","deleteAgentFailed":"Could not delete this agent","inRooms":"in {count} room(s)","confirmDeleteAgentInRooms":"Delete the agent {name}? It is a member of {count} room(s), which will carry on without it, and its knowledge-base files are removed from disk. This cannot be undone.","confirmDeletePrimaryAgent":"Delete {name}, the personal agent of this account? Its public page at /{slug} stops existing, its knowledge-base files are removed from disk, and the channels it held are released. This cannot be undone.","dataExportLabel":"Copy of the data","dataExportHint":"For a request that came by email: the same archive as the person's own «Download my data». They are emailed when it is ready; you can download it under Data requests.","dataExportButton":"Prepare a copy","dataExportLog":"Requests","dataExportStarted":"The copy for {email} is being prepared.","closeLabel":"Close the account","close":"Close this account","closing":"Closing…","closeHint":"Stops the sign-in and the agents and cancels the subscription · everything is kept for 30 days · written to the audit log","closeSelfHint":"You can't delete the account you are signed in as — use another admin's account","closeAdminHint":"This is an admin account — change its role to user first","confirmCloseHead":"Close the account of {name} ({email})?","confirmCloseHolds":"Its {agents} agent(s) and {rooms} room(s) stop answering, and everything they hold is kept.","confirmClosePage":"The public page at /{slug} stops resolving.","confirmCloseColleagues":"The {count} colleague(s) in its workspace lose it while the account is closed.","closedToast":"{name}'s account is closed","onlineCount":"{count} online","onlineNow":"Online now","seenAgo":"Seen {ago}","neverSeen":"Never signed in","registered":"Registered {date}","addUser":"Add user","addUserTitle":"New account","addUserHint":"The same rules as signing up: the address, the password policy, the personal agent at /username. Leave the password empty to send the person a link to set their own.","fieldEmail":"Email","fieldName":"Name","fieldUsername":"Username","usernameDerived":"Derived from the name","fieldPassword":"Password","passwordOrLink":"Leave empty to send a set-password link","fieldRole":"Role","fieldPlan":"Plan","defaultPlan":"The default tier","personalAgent":"Create the personal agent (public page at /username)","create":"Create the account","createNeedsEmail":"Enter an email address","createdWithPassword":"Account created for {email} — it signs in with the password you typed","createdLinkSent":"Account created for {email} — a link to set a password was sent","createdLinkFailed":"Account created for {email}, but the set-password link could not be sent ({reason}) — set a password from the card","agentSwitch":"Answering on its channels — switch off to stop it without deleting anything","agentOffToast":"{name} switched off — it stops answering; its knowledge base and channels are kept","agentOnToast":"{name} switched back on","roomsLabel":"Rooms","noRooms":"No rooms.","roomStats":"{members} member(s) · {messages} message(s) · {plans} plan(s)","deleteRoom":"Delete this room","confirmDeleteRoom":"Delete the room {name}? Its {messages} message(s), shared files and plans are removed. This cannot be undone.","deleteRoomFailed":"Could not delete this room","nameSavedToast":"Name saved","confirmIdentityChange":"Change what {name} signs in with to {email} / {username}? They keep their password and their sessions.","confirmPasswordSet":"Set a new password for {name}? Every device signed in to this account will be signed out.","confirmPasswordButton":"Set the password","passwordSetToast":"Password set — every device of this account was signed out","confirmSignOut":"Sign {name} out of every device? They can sign back in with the same password.","confirmSignOutButton":"Sign out","signedOutToast":"Every session of this account was ended","planLabel":"Plan","planDefault":"the default tier","planRetired":"{name} (retired)","editPlans":"edit the plans","accessLabel":"Access","sendReset":"Send a reset link","sending":"sending…","setPassword":"Set a password","signOutAll":"Sign out every device","signingOut":"signing out…","emailLabel":"email","usernameLabel":"username","identityHint":"what this account signs in with, and how it is shown · written to the audit log","passwordPlaceholder":"8+ characters, a letter and a digit","passwordHint":"signs out every device of this account · written to the audit log","confirmIdentity":"Change what {name} signs in with to {email} / {username}? They keep their password and their sessions.","identitySaved":"this account now signs in as {email}","confirmPassword":"Set a new password for {name}? Every device signed in to this account will be signed out.","passwordSet":"password set — every device of this account was signed out","signedOut":"every session of this account was ended","resetSent":"reset link sent to {email}","resetNotSent":"could not send the link to {email} — check the Mail tab, or set a password directly","emailInvalid":"that is not an address mail can be delivered to","emailNonLatin":"“{char}” is not a Latin letter — this address would look correct and reach nobody","usernameInvalid":"a username is 2 to 40 characters: letters, digits, “-”, “_” and “.”","usernameNonLatin":"“{char}” is not a Latin letter, and the username is a public address","pwEmpty":"enter a password","pwShort":"at least {min} characters","pwNoLetter":"add at least one letter","pwNoDigit":"add at least one digit","pwCommon":"this is one of the first passwords anybody tries","pwNonLatin":"“{char}” is not a Latin letter — this was typed in another keyboard layout","pwRefused":"this password cannot be used","nameLabel":"name","signOutHint":"signs out every device of this account · written to the audit log","identitySavedMoved":"this account now signs in as {email}, and its page moved to /{slug}","identitySavedKept":"this account now signs in as {email}; its page keeps its own address /{slug}","closedToastWithBilling":"{name}'s account is closed and the subscription is cancelled","confirmCloseReversible":"You can restore it for 30 days. After that it is deleted for good.","closedBadge":"Closed","closedUntil":"Closed · deletes {date}","closedTitle":"Closed. Everything it owns is kept until it is deleted.","closedHint":"Deletes on {date} unless you restore it · written to the audit log","restore":"Restore","restoring":"Restoring…","restoredToast":"{name}'s account is restored","restoredToastFreeTier":"{name}'s account is restored. Its subscription had already run out, so the account has no plan until one is paid for.","deleteNow":"Delete permanently","confirmDeleteNow":"Delete the account of {name} ({email}) for good? Its agents, rooms, knowledge bases and transcripts go now, and nothing here can bring them back.","deletedToast":"{name}'s account is deleted","testChip":"test","testToggle":"Test account","testToggleHint":"A test account can be opened by a one-time sign-in link, with no password. Not available for ADMIN_EMAILS addresses.","testLinkButton":"One-time sign-in link","testLinkIssuing":"issuing…","testLinkCopy":"Copy","testLinkCopied":"Copied","testLinkHint":"Works once, until {time}. A new link retires this one.","testAccountCreate":"Test account — signed into by a one-time link, no password","testAccountCreateHint":"No password is set and no email is sent. Open the account from its card with “One-time sign-in link”.","languageLabel":"Language","languageHint":"The cabinet opens in this language, and the account's emails — the sign-in link too — go out in it.","languageRu":"Russian","languageEn":"English","resetLanguage":"Email language","resetLanguageHint":"Only this email. The account's own language stays {lang}.","createdTest":"Test account {email} created — issue a one-time link from its card to sign in","roleSupport":"Support","roleSupportHint":"Answers support requests and sees nothing else in the admin. Applies at the person's next sign-in.","machine":{"open":"Machine and libraries","title":"Virtual machine","machineState":"machine: {state}","noMachine":"no machine yet","notConfigured":"Employee machines are not set up on this platform: a Daytona key and a machine image are needed in Settings.","hint":"Python libraries for this employee's jobs. They live on its machine and come back by themselves when the machine is made anew.","placeholder":"openpyxl==3.1.5","add":"Install","adding":"Installing…","empty":"No libraries of its own yet — the machine's standard set (pandas) is always there.","reinstall":"Reinstall all","remove":"Remove library","addFailed":"Could not add the library","removeFailed":"Could not remove the library","reinstallFailed":"Could not start the reinstall","state":{"pending":"installing","installed":"installed","failed":"failed"},"machineStates":{"started":"running","stopped":"asleep","archived":"archived","starting":"starting","stopping":"going to sleep","error":"error"},"update":"Update to the newest allowed version","updateFailed":"Could not update the library"}},"usage":{"daysOption":"{days}d","kpiTokens":"Tokens","kpiCost":"Cost","kpiAgents":"Agents","kpiIssues":"Issues","tabTokens":"Tokens","tabChains":"Chains","tabCrm":"CRM","tokensLabel":"Token usage","noData":"No usage recorded in this window.","tokensUnit":"tokens","deletedAgent":"Deleted agent","chainsLabel":"Chain executions","failedOnly":"Failed only","failedCount":"{count} failed run(s) in this window","noExecutions":"No chain executions in this window.","tabJobs":"Jobs","jobsLabel":"Background jobs","jobsDescription":"Work an employee was asked to go away and do. A running job names the process holding it and when it last reported — past the silence window in Settings the sweep treats it as lost, hands it out again, and after two revivals closes it and tells the owner.","jobsRunning":"{count} running right now","jobsFailedCount":"{count} job(s) did not finish in this window","noJobs":"No background jobs in this window.","jobUnnamed":"Unnamed job","jobAttempt":"attempt {n}","jobRevived":"revived {n}×","jobLastSeen":"Last seen {ago} ago","jobTook":"Took {time}","jobsViewJobs":"Jobs","jobsViewLanes":"Wave lanes","jobQueue":"Queue: {state}","jobQueueLost":"The queue holds no entry for this job. Nothing will run it until the sweep hands it out again.","jobQueueSpent":"The queue archived this job: its retries are spent and nobody will run it.","jobHolderGone":"The process holding it is not among the queue's live servers.","jobRoomSession":"Room session {run}","lanesLabel":"Wave lanes","lanesDescription":"One lane per subtask of a plan wave, run as a durable queue task. A running lane renews its lease every 45 seconds; a lane past its lease with no queue entry is one the orphan sweep will reclaim.","lanesRunning":"{count} running right now","lanesQueued":"{count} queued","noLanes":"No lanes in this window.","laneRun":"Run {run}","laneLease":"Lease until {time}","laneLeaseExpired":"The lease has expired and nobody is renewing it.","laneQueueLost":"The queue holds no entry for this lane.","laneSpend":"{count} tokens","deletedRoom":"Deleted room","deletedChain":"Deleted chain","crmErrorsLabel":"CRM sync errors","crmErrorsDescription":"Sync tasks that exhausted their retries — the CRM never received this update.","noCrmErrors":"No CRM sync errors.","crmOutboxWaiting":"{count} sync(s) waiting for the queue","crmOutboxGaveUp":"{count} sync(s) the outbox gave up on: the CRM will not receive them","retried":"{retried}/{max} retries","bySourceLabel":"By surface","browserLabel":"Browser time","browserNone":"No browser sessions in this window.","browserSummary":"{sessions} sessions, {minutes} billed minutes, about ${cost}","browserRow":"{minutes} min · ${cost}","browserDriverSidecar":"Action Agent runs","browserDriverHuman":"A person in the live view","browserDriverPage":"Page reads","byModelLabel":"By model","byUserLabel":"By account","byAgentLabel":"By agent","perMillion":"per 1M in/out","unpriced":"no price set","unpricedHint":"Nobody has priced this model, so it is charged at the fallback rate — the cost shown is a floor, not a total.","cacheShare":"cache {percent}%","effortHint":"The reasoning effort these calls asked for. Rows with no chip asked for nothing and got the model's own default.","cacheHint":"Share of this model's input served from the prompt cache, at a tenth of the input rate. A model that caches but reads 0% is paying to write entries nothing reuses — check the prompt's stable prefix.","deletedUser":"deleted account","tabHistory":"History","tabAudit":"Audit","historyLabel":"Spend by month","historyDescription":"Kept as a monthly summary so it survives the six-month sweep that removes the per-call rows every other panel here is built from. This is the view that can still answer what a surface cost you last year.","noHistory":"No months summarised yet — the first summary is written by the nightly sweep.","auditLabel":"Administrator actions","auditDescription":"Deleting somebody else’s agent or room, changing a role, blocking an account, editing a price. Append-only: nothing in the product updates or removes a line here.","noAudit":"Nothing recorded yet.","auditShown":"Showing {shown} of {total}","auditShowMore":"Show more","auditSearchPlaceholder":"Search by action, account or a pasted id","auditClearFilter":"Clear filter","noAuditForFilter":"Nothing in the trail matches that.","auditOnlyThisAccount":"Show everything done to this account","auditAccount":"Account {id}","cardsLabel":"Cards","outcomesLabel":"Results per account","outcomeContacts":"contacts","outcomeLeads":"leads","outcomeOrders":"orders","outcomeUnanswered":"unanswered","rangeLabel":"Range","viewLabel":"Section","partialTop":"Some of this page could not be built: {sections}. The numbers shown exclude it. The server log carries the reason — search for","source":{"chat":"Chats","room":"Team rooms","chain":"Chains","core":"Core","browser":"Browser agent","rag":"Knowledge indexing","image":"Image reading","unknown":"Unattributed","help":"Cabinet helper","image_gen":"Image generation"},"byChannelLabel":"By channel","byChannelHint":"Only rows recorded since 23.09.2026, when the channel was added to the spend row. Earlier spend is not shown here because it was never recorded, and guessing it from the latest message would restamp old rows with today’s channel.","channel":{"telegram":"Telegram","whatsapp":"WhatsApp","max":"MAX","instagram":"Instagram","messenger":"Messenger","threads":"Threads","avito":"Avito","bitrix":"Bitrix24","amo":"amoCRM","web":"Website widget","dashboard":"Dashboard","assistant":"Linked chat","unknown":"Unrecognised"},"sandboxLabel":"Sandbox time","sandboxNone":"No sandbox runs in this window.","sandboxSummary":"{runs} runs, {minutes} minutes, {cost} | {runs} run, {minutes} minutes, {cost} | {runs} runs, {minutes} minutes, {cost}","sandboxRow":"{runs} runs · {minutes} min · {cost} | {runs} run · {minutes} min · {cost} | {runs} runs · {minutes} min · {cost}","sandboxAbout":"about ${cost}","sandboxUnderCent":"less than $0.01","sandboxOutcomeOk":"Finished","sandboxOutcomeFailed":"Failed","sandboxOutcomeTimeout":"Ran out of time","sandboxOutcomeUnavailable":"Sandbox unavailable","sandboxByKind":"By kind","sandboxByOutcome":"By outcome","sandboxKindDocuments":"Documents","sandboxKindReading":"Documents read","sandboxKindCode":"Code runs","sandboxKindSkills":"Skills","sandboxWhereTime":"Where a run's time goes","sandboxWhereTimeNote":"Averaged over one run, and only over the runs the platform timed. Waiting happens before the billed seconds begin; starting and uploading happen inside them. The three do not add up to the billed time.","sandboxSplitBilled":"{runs} timed runs · {seconds} s billed | {runs} timed run · {seconds} s billed | {runs} timed runs · {seconds} s billed","sandboxSplitPhases":"{waited} s waiting before · {start} s starting and {upload} s uploading inside","sandboxBilled":"Billed {billed} min for {job} min of job time, {overhead}% more, over {runs} measured runs | Billed {billed} min for {job} min of job time, {overhead}% more, over {runs} measured run | Billed {billed} min for {job} min of job time, {overhead}% more, over {runs} measured runs","sandboxBilledNoJob":"Billed {billed} min over {runs} measured runs, none of which got to run | Billed {billed} min over {runs} measured run, which never got to run | Billed {billed} min over {runs} measured runs, none of which got to run","sandboxBilledParts":"{failed} s on starts that failed · {deleting} s deleting · runs started more than once: {retried}","sandboxBilledNote":"Billed time is the whole life of every sandbox: from the request that creates it until its delete returns, including tries that never came up, and a delete that failed counted to its deadline. The cost is priced from it, disk included. Runs from before it was measured are priced from their job time and are left out of this line.","sandboxRefusals":"Turned away","sandboxRefusalsNote":"Jobs refused before they had a sandbox. Nothing ran and nothing was billed.","sandboxRefusedBusy":"Every slot was busy","sandboxRefusedOverAllowance":"Daily allowance used up","sandboxRefusalCount":"{count} times | {count} time | {count} times","tabSandbox":"Sandbox by account","sandboxAccounts":{"title":"Sandbox use by account","intro":"Every account with sandbox activity or documents in the window: job and billed minutes, what they cost, runs, refusals, skill uses and documents created. The monthly column is the last {days} days from now against the plan's monthly minutes, the number jobs are refused by, whatever the window; printing, reading and Word edits are billed and costed here but left out of it. Days are UTC.","from":"From","to":"To","thisMonth":"This month","csv":"CSV","empty":"No sandbox activity in this window.","col":{"email":"Account","plan":"Plan","minutes":"Job min","billed":"Billed min","percent":"30 days / limit","cost":"Cost","runs":"Runs ok / failed","refusals":"Refused busy / day / month","skills":"Skill uses","documents":"Documents · month / limit"},"documentsHint":"Documents the account's employees created in the window, then this calendar month's count (Moscow time) against the plan's monthly documents, the number a new document is refused by.","documentsRefused":"{n} refused","designs":"Designed {used} / {limit}","designsHint":"Documents the design pass laid out again this calendar month (Moscow time) against the plan's monthly designs. Past it, documents print as the employee wrote them.","noCap":"No cap","noCapHint":"The plan sets no monthly minutes: only the daily cap applies.","refusalsHint":"Turned away because every slot was taken, the day's time was used, or the plan's month was used.","totals":"Total, {n} accounts","daysTitle":"By day (UTC), billed","dayRow":"{minutes} min · {cost} · {runs} runs"},"jobKind":{"document":"Document","browser":"Browser","room":"Room","task":"Task"},"jobDetail":{"open":"Open job","loading":"Loading the job…","loadFailed":"Could not load this job.","retry":"Try again","openChat":"Open the chat","truncated":"Cut at 200 KB: {fields}","timeline":"Timeline","created":"Created","started":"Started","heartbeat":"Last heartbeat","finished":"Finished","notYet":"Not yet","waited":"Waited {time}","ran":"Ran {time}","worked":"Worked {time} in all","instruction":"Instruction","document":"Document","file":"File","stage":"Stage","view":"View","download":"Download","noFileYet":"No file yet","progress":"Progress","handoff":"Stopped for a person","handoffAnswer":"Answer: {answer}","result":"Result","noResult":"No result yet","outcome":"Outcome","error":"Error","facts":"Details","provider":"Channel","attempts":"Attempts","revivals":"Revivals","heldBy":"Held by","holderAlive":"Alive","holderGone":"Not running","queue":"Queue","roomSession":"Room session"}},"apps":{"ourChannelsLabel":"Our own channels","ourChannelsDescription":"The accounts anyworker.ai itself answers on. A person writes to one of these from their own phone, sends the short code their dashboard shows them, and from then on their messages reach their own assistant. Changing a value here changes what every connector card in the product tells people to write to.","lookupRefused":"Meta refused this token","catalogLabel":"Apps","catalogDescription":"Every integration on the platform, in one place. Toggle any of them off platform-wide, or add your own client API as a custom tool shared by every agent.","platformEnabledToast":"{name} enabled","platformDisabledToast":"{name} disabled","credentialsLabel":"{name} — credentials","addButton":"Add app","adding":"Adding…","toolsUnit":"tools","noEndpoints":"No endpoints yet — import a spec or add one manually.","searchEndpointsPlaceholder":"Search by name, path or method","searchNoMatch":"No endpoint matches “{query}”.","bulkEnable":"Enable {count}","bulkDisable":"Disable {count}","bulkEnabledToast":"{count} endpoints turned on","bulkDisabledToast":"{count} endpoints turned off","bulkNothingToast":"Nothing to change","bulkBlockedToast":"{count} stayed off — each of those rows says why","bulkFailedToast":"{count} endpoints could not be changed. Try again.","importButton":"Import OpenAPI spec","manualButton":"Add endpoint manually","importFromUrl":"From URL","importPaste":"Paste spec","parsing":"Parsing…","parseButton":"Parse spec","noEndpointsFound":"No endpoints found in the spec","candidatesSelected":"{selected} of {total} endpoints selected","selectAll":"select all","deselectAll":"deselect all","addEndpointsButton":"Add {count} endpoints","endpointsAddedToast":"{count} endpoints added","paramsLabel":"parameters","paramsFields":"Fields","paramsRawJson":"Raw JSON","paramsRawHint":"Paste the complete JSON Schema for this tool's parameters. Nested objects, arrays, enums, and validation rules are preserved.","paramsRawPlaceholder":"{'{'}\n  \"type\": \"object\",\n  \"properties\": {'{'}{'}'}\n{'}'}","addParam":"+ add parameter","paramDescPlaceholder":"description","addEndpointButton":"Add endpoint","endpointAddedToast":"Endpoint added","addedToast":"{name} added","deletedToast":"{name} deleted","deleteConfirmTitle":"Delete {name}?","deleteConfirmDescription":"This removes the app and all its endpoints from every agent's toolset.","viewPlatform":"Platform apps","viewAccount":"Account apps","ownerLabel":"Owner","noAccountApps":"No account has connected its own API yet.","accountAppNote":"This is one account's own connection. Its owner gives its key and asks for checks from their own chat; here you can switch it off or delete it.","deleteEndpointConfirmTitle":"Delete the {name} endpoint?","deleteEndpointConfirmDescription":"This removes the endpoint from every agent that can reach this app, along with its parameters, its description and its owner-only setting. Import the spec again or add it back by hand to bring it back.","endpointDeletedToast":"{name} deleted","ownerOnlyLabel":"Owner-only tool","ownerOnlyHint":"Hidden from visitors on the public page and strangers in messenger channels. Turn this on for anything that writes — placing an order, taking a payment, changing stock.","ownerOnlyOn":"Owner-only — hidden from visitors and messenger strangers","ownerOnlyOff":"Available to everyone, including public visitors","needsDescriptionBadge":"needs a description","needsDescriptionReason":"This endpoint has no description, so the assistant has no way to know when to call it — it is not offered to any agent and cannot be switched on. Write one or two sentences saying what it does and when to use it.","brokenSchemaBadge":"Schema is not valid","brokenSchemaReason":"This endpoint's parameters are not valid JSON Schema, so nothing can check what an assistant sends it — it is not offered to any agent and cannot be switched on. Repair the parameters below and save; the endpoint becomes switchable again as soon as they compile.","candidateNeedsDescription":"The spec does not describe this endpoint — it will be added switched off","descriptionLabel":"Description","descriptionPlaceholder":"What this endpoint does and when the assistant should call it","suggestDescription":"Suggest description","suggestingDescription":"Drafting…","descriptionSavedToast":"Description saved","whatsappLineTitle":"Our WhatsApp account","whatsappLineHint":"WhatsApp cannot be joined by typing a number — it is joined by scanning a QR. Pair the account here and its number is read off whoever answers, so there is nothing else to fill in.","whatsappLinePair":"Pair by QR","whatsappLineRepair":"Pair again","whatsappLinePaired":"Paired","whatsappLineFailed":"Could not open the pairing.","telegramLineTitle":"Our Telegram bot","telegramLineHint":"Paste the BotFather key and this server starts running the bot: everyone who writes to it is answered by their own assistant. Its {'@'}name is then read off Telegram, so that is not asked for either.","telegramLinePlaceholder":"BotFather key","telegramLineSave":"Save key","telegramLineStarting":"Starting…","telegramLineKeyHeld":"Key saved","telegramLineRefused":"Telegram refused this key","telegramLineRemove":"Remove","telegramLineRemoveConfirmTitle":"Remove our Telegram key?","telegramLineRemoveConfirmDescription":"Our own bot stops answering everyone who writes to it. Paste a key again to bring it back.","maxLineTitle":"Our MAX bot","maxLineHint":"Create a bot with {'@'}MasterBot in MAX and paste its key: everyone who writes to it is answered by their own assistant. The bot's name is read off MAX, so that is not asked for.","maxLinePlaceholder":"MAX bot key","maxLineSave":"Save key","maxLineNotConnected":"Bot not connected","maxLineOff":"MAX is switched off on this platform","ourChannelsRestLabel":"The name people see","otherSettingsLabel":"Other platform settings","otherSettingsDescription":"Settings no connector card owns — the server's own address, partner keys, and whatever a new integration brings before it has a card of its own.","customAppsSettingsLabel":"Custom Apps","customAppsSettingsGroup":"Outbound connection — the proxy an app can be switched to (edit an app → connection)","editSchema":"Edit parameters","schemaSavedToast":"Parameters saved","paramRequired":"Required","paramNameLabel":"Argument name","paramTypeLabel":"Argument type","removeParam":"Remove this argument","paramsLocationLabel":"Where {name} goes","paramsRichSchema":"This endpoint's parameters are richer than the field list can show — a composition, a reference, or a sub-schema that is not an object. Edit them as JSON so nothing is lost.","twoBodiesWarning":"These arguments ask for two different request bodies at once ({kinds}), and a request carries one. No call this endpoint composes will work until every body argument uses the same one.","rawLocationsLabel":"Where each argument goes","rawLocationsHint":"Read from the argument names in the schema above. Anything left on \"decide for me\" is placed by the method: path and query on a read, the request body on a write.","storedSchemaUnparseable":"The stored parameters are not JSON at all.","location":{"auto":"Decide from the method","path":"In the path placeholder","query":"In the query string","header":"As a request header","body":"One field of the body","body_raw":"The whole body","body_form":"One field of the form","body_multipart":"A text field beside the file","body_file":"The file itself"},"locationGroup":{"url":"URL","header":"Headers","json":"JSON body","form":"Form body","upload":"File upload"},"tryEndpoint":"Try this endpoint","deleteEndpoint":"Delete this endpoint","tryArguments":"Arguments","tryArgumentsHint":"The arguments an assistant would send, as JSON. The request below is rebuilt as you type.","tryRequest":"Request","tryWithheld":"Withheld","tryClientFields":"Filled from the install when sent: {names}","tryNoBody":"No request body.","trySend":"Send for real","trySending":"Sending","tryInstallLabel":"Send on this install","tryNoInstalls":"Nobody has connected this app yet. A real call needs an install, because the key belongs to whoever connected it.","tryInstallOff":"Disconnected","tryInstallUnverified":"Unverified","tryResponse":"Response","trySendConfirmTitle":"Send {method} {name} for real?","trySendConfirmDescription":"This call goes out to the client's own system with {owner}'s stored credentials, and changes data there. It cannot be undone from here.","trySendConfirmOwnerOnly":"This endpoint is owner-only: the product withholds it from everyone it does not know. Sending it runs it on {owner}'s system with their stored credentials.","tryNotYours":"This install belongs to another account. Preview builds the request without sending it.","tryDisabledEndpoint":"Switch this endpoint on to send it. The preview above needs neither the switch nor an install.","answerLabel":"What it answers","answerDeclared":"Declared answer","answerDeclaredHint":"A JSON Schema of what this endpoint returns, for every install. The assistant is told these field names, so a chain step can be written against them instead of guessing.","answerSaysNothing":"This schema names no field, so nothing about the answer reaches the assistant. It is stored, and it reads as undeclared.","answerRetract":"Retract","answerSavedToast":"Answer saved","answerRetractedToast":"Declaration retracted","answerObserved":"Seen on one install","answerInstallLabel":"Read answers from this install","answerNoInstalls":"Nobody has connected this app yet, so no endpoint has been seen to answer.","answerNeverSeen":"This install has not called this endpoint yet. Try it from the send panel, or wait for an assistant to use it.","answerObservedWhen":"One sample, from {who}, on {when}. Another account's data may fill in fields this one does not.","answerObservedWithheld":"{count} names are not shown and would not be declared: they read as this customer's own data rather than the vendor's field names.","answerAdopt":"Adopt as declared","answerAdopting":"Adopting…","answerAdoptRisk":"Adopting makes this one sample the declared answer for every install, including accounts that have never called this endpoint. A declared answer replaces the observed one whole, so a field missing from this sample stops being mentioned to anybody.","answerAdoptConfirmTitle":"Declare this sample as {name}'s answer?","answerAdoptConfirmDescription":"Every install will be told this endpoint answers what {who} saw. Fields missing from this sample will stop being mentioned to every other account.","answerAdoptedToast":"Adopted {count} fields as the declared answer","importPartialTitle":"{created} added, {parked} switched off, {refused} not added.","importCreated":"Added","importParked":"Switched off","importRefused":"Not added","editCandidate":"Name and describe","candidateName":"Name","candidateDescription":"Description","candidateDescriptionHint":"Optional. An endpoint described here arrives ready to switch on; one left blank arrives switched off until somebody says what it does.","ownerOnlyChip":"Owner-only","describeEndpoint":"Describe this endpoint","importBackToList":"Back to the {count} that did not","platformLabel":"Platform integrations","logoLabel":"logo","logoUpload":"upload logo","logoChange":"change logo","nameLabel":"name","baseUrlLabel":"base url","visibilityPrivateHint":"Nobody sees this app until you name an account below. Built for one client, offered to no one else.","visibilityPlanHint":"Every account on a plan that carries this app sees it. Choose which plans below.","authLabel":"authentication","headerNameLabel":"header name","configuredKeep":"configured — leave empty to keep","secretValue":"secret value","tokenExchangeHint":"For APIs whose key only buys a short-lived access token. We call the login endpoint below, cache the token until it expires, and refresh it automatically — including one retry when the API says the token aged out.","loginEndpoint":"login endpoint (POST)","loginBody":"login request body (json)","loginBodyHint":"Write-only, same as the secret above. Use a client field as","tokenPath":"token path in response","lifetimePath":"lifetime path (seconds)","clientFieldsLabel":"client fields (each connecting agent fills its own values)","clientFieldsHint":"Use the value anywhere as","addField":"+ add field","secretFlag":"secret","extraHeadersLabel":"extra headers (optional)","extraHeadersHint":"Sent on every request to this API, on top of the auth above — use this for things like Accept or Content-Type overrides some APIs require. Values are write-only: a row with an empty value keeps whatever is already stored for that header name, it doesn't clear it.","addHeader":"+ add header","headerValuePlaceholder":"value — leave empty to keep existing","auth":{"none":"None","bearer":"Bearer","apiKey":"API key","basic":"Basic","tokenExchange":"Token exchange","queryKey":"Query key"},"authValue":{"bearerToken":"bearer token","apiKey":"api key","credentials":"credentials","secret":"secret"},"visibilityLabel":"who can connect this app","visibilityPrivateOnly":"Only the accounts listed here. Nobody else sees this app at all.","grantsEmpty":"Nobody yet — this app is visible to no one.","grantSearchPlaceholder":"find an account by email or username","tierAllowsEvery":"allows every app","successRuleLabel":"success rule (optional)","verdictFieldLabel":"verdict field","successValuesLabel":"values that mean success","queryParamNameLabel":"query parameter name","successRuleHint":"For APIs that answer {code} even when they refuse. Name the field in the response body that carries the verdict, and what it holds on success — anything else becomes a failed tool call instead of a success whose text happens to say no. Leave both empty for an API that uses real HTTP status codes.","omitEmptyLabel":"Send nothing instead of an empty value","omitEmptyHint":"The assistant fills in every field it is offered, so blanks arrive constantly. On most APIs a blank and a missing field are the same thing. Turn this on for one where they are not — an empty date stored as a broken one, a report that answers with nothing at all. The cost is that a blank can no longer erase a saved value.","connectionLabel":"connection","proxyLabel":"Go out through the platform proxy","proxyHint":"Every call this app makes — including its sign-in and the Test button — leaves from the proxy address instead of this server’s. For a vendor whose edge refuses this server before reading the key: Test answers “the app’s edge refused this server” with an HTML block page. The proxy itself is one platform setting — the “Egress proxy URL” field above the catalogue on this page; saving with this on is refused until it is set, and an app left on a proxy that was later cleared fails plainly rather than going direct.","plansGrantHint":"Every account on a ticked plan. A plan that allows every app is ticked and locked — it already carries this one.","namePlaceholder":"My API","visibilityAnyonePlan":"anyone on the right plan","visibilityChosenAccounts":"only accounts I choose","grantAdd":"add {email}"},"pricing":{"title":"Model pricing","description":"What each model costs per million tokens, in DOLLARS, copied straight from the vendor price list. Every cost figure in Usage is computed from this table. Spend is priced when it happens, so editing a rate changes what future calls cost, not what past ones already did.","add":"Add a model","model":"Model","input":"Input, $ / 1M","output":"Output, $ / 1M","modelPlaceholder":"gpt-5-mini, or openrouter/anthropic/claude-sonnet-4","notePlaceholder":"Note — where this price came from, when it was checked","unpricedTitle":"Models running without a price","unpricedHint":"Seen in the last 30 days of usage with no row of their own — every cost figure for these is the fallback floor, not what they actually cost. Heaviest first.","unpricedUsage":"{turns} turns · {tokens} tokens","priceIt":"Price it","fallbackRow":"Any unpriced model","fallbackHint":"Charged at this flat rate until you give it a row of its own.","confirmDelete":"Remove the price for {model}? It will be charged at the fallback rate instead.","saveFailed":"Could not save this price"},"rooms":{"searchPlaceholder":"Search by room or owner","search":"Search","kpiRooms":"Rooms","kpiCost":"Spend","kpiPlans":"Plans","kpiBlocked":"Blocked tasks","plansHint":"A room that sets plans but never finishes them is usually mis-cast members, not a broken room — blocked tasks name what stopped.","empty":"No rooms match.","working":"working","deletedOwner":"deleted account","members":"members","memberEffortHint":"answers at the {level} level in this room","messages":"messages","files":"files","plans":"plans","done":"done","blocked":"blocked","delete":"Delete this room","confirmDelete":"Delete the room {name}? Its transcript, shared knowledge base, plans and uploaded files go with it. This cannot be undone."},"actionAgent":{"title":"Action Agent","subtitle":"What it is doing across the platform, and the limits it works within","limits":{"title":"Settings","hint":"Platform-wide: where browsers run, the proxy, the Action Agent's models and run limits. Per-plan and per-account ceilings are above."},"perPlan":{"title":"Per plan and per account","plansTitle":"Plan limits","plansHint":"Each plan sets how many Action Agent sessions one account may run at once, whether the Action Agent is on for the plan at all, and whether its runs go to the dedicated pool.","plansLink":"Open plans","usersTitle":"Account override","usersHint":"One account can be given the dedicated pool or its own sessions-at-once ceiling regardless of its plan — under Users, on the account.","usersLink":"Open users"},"work":{"title":"Work","hint":"The latest runs across every account. Refreshes on its own while a run is going.","kpiRuns":"Runs, 24 h","kpiSucceeded":"Succeeded","kpiFailed":"Failed","kpiRunning":"Running now","empty":"No Action Agent runs yet.","colStatus":"Status","colWho":"Employee / account","colSummary":"Task","colStarted":"Started","colElapsed":"Elapsed","colEnding":"Ending","refresh":"Refresh","notStarted":"Not started","deletedAgent":"Deleted employee","stuck":{"at":"Stuck at step {step}","more":"And {count} more","show":"Show where it stuck","hide":"Hide where it stuck","step":"Step {step}","actions":"Last actions","page":"The page the model saw","pageHint":"Lines the run acted on are marked.","noPage":"No page was kept for this place.","loading":"Loading where it stuck…","failed":"Could not load where this run stuck.","retry":"Try again"},"status":{"queued":"Queued","running":"Running","done":"Done","failed":"Failed","canceled":"Canceled","needs_human":"Needs a person"},"ending":{"completed":"Finished on its own","max_steps":"Ran out of steps","timeout":"Ran out of time","interrupted":"Was interrupted","canceled":"Was stopped by a person","error":"Failed","inProgress":"Still going","waiting":"Waiting to start","unknown":"No record of how it ended","obstacle":"Stopped by: {kind}","steps":"{count} steps"},"obstacle":{"captcha":"A verification check","login_wall":"A sign-in wall","question":"A question the person did not answer","proxy_tunnel":"A proxy that could not reach the site","rate_limited":"A site limiting requests from this address","http_403":"A site that refused access","not_found":"A page that was not found","network":"A failed connection","timeout":"Time running out","budget":"The run's budget","unknown":"Something in the way"},"search":"Search by employee, account or task"},"paths":{"title":"Known paths","hint":"Errands the Action Agent has already done on a site, kept so the next run walks the same path instead of working it out again. A path is recorded from a successful run and checked against the page at every step; two breaks in a row switch it off.","empty":"No paths yet. One is recorded the first time a run finishes an errand on a site.","owner":"{owner}","steps":"{count} steps","score":"Walked {uses} times, broke {breaks}","off":"Off","turnOn":"Turn on","turnOff":"Turn off","loadFailed":"Could not load the known paths.","saveFailed":"Could not save that. Try again.","operator":"Recorded by a person","platform":"Platform-wide","version":"Version {n}","versions":"Versions","hideVersions":"Hide versions","noVersions":"No earlier versions.","current":"Walked now","rollback":"Bring back","rolledBack":"Version {n} is back.","makePlatform":"Make platform-wide","makePlatformTitle":"Give “{name}” to every account?","makePlatformBody":"This cannot be undone. The path becomes the platform's: every account's employees can walk it. The example values typed while it was recorded are cleared, and a path that types a fixed value is refused. Whose path it was is not kept — deleting it is the only way back.","madePlatform":"Every account walks this path now.","reason":{"recorded":"Recorded","locator_refreshed":"A button moved; the address was refreshed","repaired_by_agent":"Repaired by the agent","rerecorded":"Recorded again","rolled_back":"Rolled back"}},"notes":{"title":"Site notes","hint":"What a run is told about a site before its first step — most valuably, what does not exist there. One note per account and host; the platform's own notes apply where an account has none.","empty":"No notes written yet.","saved":"Note saved."},"browsers":{"title":"Browsers","hint":"Every browser the platform is paying for: the ones open right now, and what the last day's sessions cost. A run waiting on a wall is billed for the whole wait.","kpiLive":"Open now","kpiMinutes":"Minutes today","kpiCost":"Cost today","kpiPool":"On our own pool","held":"Open for {time}","open":"Open","noneLive":"No browser is open right now.","onPool":"Our pool","onCloud":"Vendor cloud","colWho":"Employee","colWhere":"Where","colMinutes":"Minutes","colCost":"Cost","colTraffic":"Proxy traffic"},"proxy":{"title":"Proxy check","hint":"Where the browsers' proxy comes out, whether an employee keeps one address, and how fast pages open through it. Checked from this platform's server for two sample employees, so real employees' addresses do not move. Takes up to a minute.","addressLabel":"Address to check","addressPlaceholder":"Empty checks the proxy the browsers use","check":"Check proxy","checking":"Checking…","summary":"{source} · gateway {gateway} · parameters {params}","sourcePool":"Pool proxy","sourcePlatform":"Platform proxy","sourcePasted":"Pasted address","perEmployee":"Each employee gets an address of its own.","shared":"Every employee comes out from the same address: the address has no session placeholder.","colEmployee":"Employee","colExit":"Exit","colNetwork":"Network","colHeld":"Address held","colDownload":"512 KB","heldYes":"Held","heldNo":"Changed to {ip}","failed":"Check failed: {reason}"},"machines":{"title":"Browser machines","hint":"Each account's own machine with its browser and sign-ins. A machine is billed while it is up: from the run that woke it until 15 idle minutes after the last one.","kpiMachines":"Machines","kpiUp":"Up now","kpiHours":"Hours up today","kpiCost":"Cost today","colAccount":"Account","colState":"State","colLastUsed":"Last used","colData":"Data","colHours":"Hours","colCost":"Cost","wokenForData":"Last woken for the account's data","dataHours":"{hours} h for data","dataTables":"{tables} tables · {rows} rows","dataSizeAsleep":"The size is read while the machine is up","up":"Up","asleep":"Asleep","state":{"started":"Started","stopped":"Stopped","archived":"Archived","starting":"Starting","stopping":"Stopping","archiving":"Archiving","restoring":"Restoring","creating":"Creating","error":"Error"},"outdated":"Moves to the new image on next use","never":"Never","none":"No account has a browser machine yet. One is made on an account's first run once machines are switched on for it.","listingFailed":"Daytona did not answer, so the list shows only machines the meter has counted. States are missing until it answers.","loadFailed":"Browser machines could not be loaded.","kpiUpOnDaytona":"Up on Daytona","kpiRequests":"Machine requests · {hours} h","kpiReadyIn":"Ready in (median)","kpiCarries":"Moved to new image · {hours} h","p95":"p95 {time}","failedCount":"{n} failed","eventsLine":"{created} made · {woken} woken from sleep · {data} woken for data","failuresBy":"Failures: {list}","colDisk":"Disk","colReadyIn":"Last ready in","diskAsleep":"The disk is read while the machine is up","failure":{"not_ready":"did not come up","full":"no room","timeout":"timed out","canceled":"cancelled","no_image":"no image set","not_running":"not running","tokens":"refused its tokens","address_refused":"address refused","secret":"no machine secret","lock":"lock failed","machine_error":"machine in error","stuck":"stuck mid-move","carry":"move failed","create":"could not be made","start":"could not be started","daytona":"Daytona error","not_configured":"not configured","other":"failed"}},"machineImage":{"title":"Machine image","hint":"What every employee's machine is made from: the browser, its agent and the data tools of the code this server runs. Build it after an update of the browser agent — machines move to the new image by themselves the next time they are used asleep.","current":"In use","wanted":"This build's","state":"State","build":"Build machine image","use":"Use this image","building":"Building…","upToDate":"Up to date","stateBuilding":"building on Daytona ({state}) — takes minutes","stateInUse":"active, in use","stateReady":"active, not in use yet","stateOther":"{state}","stateNone":"not built yet","loadFailed":"Could not read the machine image","buildFailed":"Could not start the build"}},"mail":{"title":"Mail","subtitle":"Email templates, a test send, and the log of what went out.","templates":"Templates","log":"Sent mail","locale":"Language","subject":"Subject","bodyHtml":"HTML body","bodyText":"Plain text","bodyTextHint":"Required. A message with no plain-text part is unreadable in clients that refuse HTML, and every spam filter scores it worse.","variables":"Available variables","variablesHint":"Click one to insert it. Anything else is refused when you save.","customised":"Customised","shipped":"Default","edit":"Edit","close":"Close","save":"Save","saving":"Saving…","saved":"Template saved","reset":"Reset to default","resetConfirm":"Reset “{name}” to the shipped template? Your edits are discarded.","resetDone":"Template reset","preview":"Preview","previewTitle":"Preview","previewHint":"Rendered on sample values, through the same code a real message uses.","testSend":"Send a test","testSendTo":"Send to","testSendButton":"Send a test","kinds":{"org_invite":"Organisation invitation","org_member_joined":"Colleague joined the workspace","auth_verify_email":"Email verification","auth_password_reset":"Password reset","browser_login_required":"Browser agent needs a sign-in","chain_failed":"Chain failed","plan_ceiling_hit":"Plan ceiling reached","billing_event":"Subscription events","approval_pending":"Action awaiting approval","approval_confirm_failed":"Confirmed change failed","results_weekly":"Weekly results digest","mail_test":"Test email","background_task_done":"Background job finished","app_moved":"Connector address changed","support_request":"Support request for the desk","support_reply":"Support answered"},"testSendPlaceholder":"your own address by default","testSendQueued":"Test message queued to {to}","testSendDelivered":"Test message delivered to {to}","testSendFailed":"Test message could not be sent to {to}","testSendHint":"Goes through the whole path: settings, rate limit, template, queue, relay. Check the log below for what happened to it.","logEmpty":"Nothing has been sent yet.","logShown":"Showing {shown} of {total}","logShowMore":"Show more","logRefresh":"Refresh","logFilterAll":"All kinds","statusQueued":"Queued","statusSent":"Sent","statusFailed":"Failed","statusSkipped":"Skipped","attempts":"{n} attempts","offHint":"Mail is switched off, or the SMTP settings are incomplete. Notifications still appear inside the platform; nothing leaves the server. Turn it on in Settings → Mail."},"retention":{"label":"Created files retention","dryRun":"Report only: nothing is deleted. Each day the pass lists the accounts whose plan ended more than {days} days ago and the files their employees created before it ended. Turn on “Delete created files after the plan ends” above to delete them.","enabled":"Deleting is on: each day the files employees created for an account are deleted once its plan has been over for {days} days. Documents stay listed and say their file is no longer stored.","preview":"What a pass would take now","summary":"{accounts} accounts · {files} files · {size}","reportOnly":"Report only","deleted":"Deleted {files} files, {size}","failed":"{n} could not be deleted, tried again tomorrow","runsTitle":"Daily passes","noRuns":"No pass has run yet — it runs once a day.","col":{"account":"Account","planEnded":"Plan ended","files":"Files","size":"Size","kept":"Kept (named elsewhere)"}},"storage":{"label":"Object storage","active":"Serving files:","previous":"Previous backend:","configuredBroken":"The saved configuration cannot be used — files are still served by the backend above.","versioningOffTitle":"Bucket versioning is off","versioningOffBody":"An object store is not a backup. A delete here is as final as an rm, and this product deletes files when an agent, a room or a knowledge document is removed. Versioning keeps the previous copy so those are recoverable — pair it with a lifecycle rule so old versions expire.","versioningEnable":"Enable versioning","versioningEnabled":"Bucket versioning enabled","versioningOn":"Bucket versioning is on — deleted and overwritten objects are recoverable.","test":"Test connection","testing":"Testing…","testOk":"Read, write and delete all succeeded.","testOkCandidate":"Bucket {bucket} works: write, read and delete all succeeded. The site still stores files on disk — switch below when you are ready.","migrateTitle":"Copy files between backends","migrateDescription":"Switching backends moves nothing: every existing file link still points at the old one. This copies them across. Nothing is deleted from the source, and re-running resumes rather than starting over.","migrateStart":"Start copy","migrateCancel":"Stop","migrateCounts":"copied {copied} · already there {skipped} · failed {failed}","dirPrevToCurrent":"Previous → current","dirCurrentToPrev":"Current → previous","dirLocalToCurrent":"This server's disk → current","localDisk":"local disk ({path})","s3Bucket":"S3 bucket «{bucket}» at {where}","migrationStatus":{"running":"running","completed":"completed","failed":"failed"}},"verification":{"mode":{"manual":"Manual review","assisted":"Registry lookup, human decides","auto":"Automatic"},"modeHint":{"manual":"No register is called. Every application waits for a reviewer.","assisted":"The register is asked and its answer put in front of you. You decide.","auto":"A company that resolves in the register, matches on name and proves its domain is approved without you. Anything else still lands here."},"changeMode":"Change this in Settings","tabs":{"queue":"Waiting","approved":"Verified","rejected":"Refused"},"empty":{"queue":"Nothing is waiting for a decision.","approved":"No company has been verified yet.","rejected":"Nothing has been refused."},"state":{"pending":"New","registry_checked":"Checked","approved":"Verified","rejected":"Refused","revoked":"Withdrawn"},"registryStatus":{"active":"Active","liquidating":"Winding down","liquidated":"Liquidated","bankrupt":"Bankrupt","unknown":"Not disclosed"},"claimed":"What they told us","register":"What the register holds","nameSuppressed":"This country does not disclose company names","notCheckedYet":"Not looked up yet","nameMatch":"Name match","matchShort":"{score}% name","domainShort":"Domain","domainProven":"proven","domainUnproven":"not proven","viewDocument":"Open the document","approve":"Give the badge","reject":"Refuse","recheck":"Ask the register again","reasonPlaceholder":"Why — the owner sees this","confirmReject":"Refuse","approved":"{name} is now verified","rejected":"{name} was refused","rechecked":"Asked the register again","queuesLabel":"Queues"},"notSetOption":"Not set","customValueOption":"Something else…","backToOptions":"Choose from the list","plans":{"confirmDeleteTitle":"Delete the {name} plan?","confirmDeleteDescription":"Workspaces already on this plan keep their ceilings until they are moved to another one.","confirmDeleteButton":"Delete plan","deleteFailed":"could not delete the plan","title":"Plans","intro":"The ceilings an account is held to. Every number here is checked by the product — a limit nothing enforces would not be on this page. Prices are shown so a tier is recognisable; nothing is charged and no subscription exists yet, so a plan is given out by assigning it on","legendUnlimited":"unlimited","legendNotIncluded":"not included","legendCeiling":"a ceiling","nameLabel":"Plan name","priceLabel":"Price in hundredths","currencyLabel":"Currency","currencyHint":"The acquirer charges in this currency. {cents} hundredths = {price}.","currencyNotSold":"not sold","currencyNotSoldNote":"Priced in {currency} — no enabled acquirer clears it, so the tier can be shown but not bought. That is what a catalogue published ahead of its acquiring looks like.","accounts":"{n} accounts","default":"default","retired":"retired","notIncluded":"not included","cycleFromUnlimited":"Unlimited — click for “not included”","cycleFromOff":"Not included in this plan — click to set a number","cycleFromNumber":"A number — click for unlimited","flagIn":"in","flagOut":"out","whichConnectors":"Which connectors & apps","allAllowed":"all allowed","someOf":"{n} of {total}","configure":"configure","connectorsTitle":"connectors & apps","connectorsHint":"With everything below off, every connector and app is allowed, gated only by the Integrations count above. 1C is not part of that: it is switched on separately, above.","onecOptIn":"Only on plans where it is switched on. Elsewhere 1C shows with a lock.","customApps":"custom apps","saved":"saved","makeDefault":"Make this the tier a new account starts on","isDefault":"This is the tier a new account starts on","retireHint":"Retire this tier — accounts on it keep their ceilings","unretireHint":"Bring this tier back","testOnly":"test accounts only","testOnlyOnHint":"Show this tier to test accounts and administrators only","testOnlyOffHint":"Show this tier to every customer","deleteHint":"Delete this tier","deleteConfirmTitle":"delete the {name} plan?","deleteConfirmBody":"Workspaces already on this plan keep their ceilings until they are moved to another one.","deleteConfirmButton":"delete plan","newNamePlaceholder":"Name shown to people","newCodePlaceholder":"code, e.g. agency","add":"add a plan","addHint":"It starts with every ceiling unlimited. Set them here afterwards.","footnote":"A tier's ceilings bind everybody on it from the next request; nothing needs restarting. Accounts that existed before plans were introduced are on legacy, which bounds nothing — a deploy may add a ceiling, never lower one somebody is already living under.","loadFailed":"could not load the plans","saveFailed":"could not save the plan","addFailed":"could not add the plan","fields":{"monthly_tokens":"Tokens per month","monthly_actions":"AI Actions per month","daily_actions":"AI Actions per day","max_agents":"AI employees","max_chains":"Automation chains","max_rooms":"Team rooms","max_integrations":"Integrations","knowledge_mb":"Knowledge base","room_documents_mb":"Documents per room","seats":"Seats","monthly_images":"Pictures per month","monthly_documents":"New documents per month","monthly_designs":"Document design passes per month","files_mb":"Created files kept"},"flags":{"browser_agent":"Action Agent","captcha_solving":"Managed CAPTCHA solving","dedicated_browser":"Dedicated Action Agent pool","crm":"CRM integrations","custom_apps":"Custom connectors","voice":"Voice messages","web_search":"Web search","background_tasks":"Background tasks","image_gen":"Image generation"},"texts":{"models":{"label":"Models","help":"Comma-separated. Empty means every model in the catalogue. A turn that asks for a model not on this list runs on the FIRST one here rather than failing — so put the cheapest first."}},"selects":{"default_effort":{"label":"Reasoning effort","help":"How hard a turn on this tier thinks when nobody asked for a level. This is the one line on a tier that is felt in every reply rather than reached once a month. It never overrides a request that named its own level — a chain step and the browser planner keep the settings they were measured at.","options":{"inherit":"Model's own default","minimal":"Minimal — fastest","low":"Low","medium":"Medium","high":"High","max":"Max — slowest, thinks hardest"}},"max_effort":{"label":"Deepest thinking allowed","help":"The deepest level a customer on this tier can pick in the chat composer. Levels above it are shown locked rather than offered. This is where deep thinking is paid for: a turn is one AI Action whatever it costs, so choosing “deep” costs the customer nothing extra and everyone would choose it — the gate is the plan, not the turn. Leaving it empty puts every level on offer.","options":{"inherit":"No ceiling","minimal":"Minimal","low":"Low","medium":"Medium","high":"High","max":"Max"}}},"connectorKind":{"personal":"personal","bot":"bot"},"picturesAtZeroPrice":"This plan costs 0 and pictures are on. Every picture is paid for per call, and only free and unmetered are closed to them — accounts on this plan will get pictures without paying. Set a price or switch pictures off, unless the plan is priced by contract.","sandbox":{"title":"Workshop and code runs","intro":"Holds code runs, the Workshop and skills on this plan. Documents print on every plan with the platform's numbers and do not spend these minutes; the Documents module bounds how many are created. An empty box is the platform's number; a plan can only lower it.","noMonthlyCap":"No monthly cap","platformDefault":"Platform default ({n})","platformDefaultBare":"Platform default","capped":"Above the platform's {n}: the platform's number applies until it is raised.","daily":"The daily cap stays the platform's for every plan: {minutes} min over any 24 hours.","minutesMonth":{"label":"Machine minutes per 30 days","hint":"Billed minutes over a rolling 30 days of code runs, Workshop runs and skills; printing, reading and editing documents are not counted. Past it, those are refused; documents still print. 0 is none."},"concurrency":{"label":"Jobs at once","hint":"How many code runs, Workshop runs and skills one account may have running at the same time."},"maxSeconds":{"label":"Longest job, seconds","hint":"A code run, Workshop run or skill still running at this point is stopped."},"workshopMB":{"label":"Workshop storage","hint":"Total size of the files one account keeps in its Workshop."},"keysMax":{"label":"Connection keys","hint":"How many keys an account may keep for its Workshop runs. Lowering it deletes none; it stops additions."},"hostsMax":{"label":"Connection addresses","hint":"How many addresses Workshop runs may reach."},"network":{"label":"Connections","hint":"Addresses and keys for Workshop runs. Not included: nothing can be added, runs get no network and no keys, and what an account kept is not deleted.","default":"Platform default (included)","on":"Included","off":"Not included"}},"sandboxLimits":"Sandbox limits"},"sitePolicy":{"label":"Site policy","description":"Where this platform's browser agent may go, and what it may do there. Sites listed here follow their own line; everything else follows the default at the bottom.","addButton":"Add site","hostLabel":"Site","basisLabel":"Basis","basisPlaceholder":"our own site, partner agreement, customer's account","accessLabel":"Access","paceLabel":"Pace, seconds","writesLabel":"May submit, send or pay","writesBadge":"actions","builtin":"platform","builtinHint":"Blocked by the platform — this one cannot be opened up here","noBasis":"no basis written down","paceHint":"no more than one page every {n} s","everythingElse":"Everything else","defaultHint":"Change this under Browser agent above","savedToast":"@:{'brand.name'} added to the policy","access":{"full":"Full","ask":"Ask first","read":"Read only","blocked":"Blocked"},"deleteConfirmTitle":"delete the rule for {host}?","deleteConfirmDescription":"Sites covered by this rule fall back to the default policy for everyone on the platform.","deleteConfirmButton":"delete rule"},"siteChat":{"title":"Site chat","subtitle":"Who answers visitors on the landing page, and what it knows about you.","agentLabel":"Answering employee","agentHelp":"Pick a published employee. The site chat speaks in its voice and knows exactly what it knows.","none":"Nobody — answer from a script","openEmployee":"Open the employee","openPublicPage":"Public page","saved":"Saved","emptyHint":"Right now the chat answers with short canned replies. It does not disappear without configuration - but it knows nothing about the company either. Pick an employee and it will answer from your knowledge base.","noneAvailable":"No published employees yet. Open the one you want, turn on public access, and it will appear in this list.","inheritTitle":"What the chat takes from the employee","inheritHelp":"The site chat has no store of its own. Everything it knows and says lives on the employee’s screens - edit it there.","inheritKnowledge":"Knowledge base","inheritKnowledgeNote":"the employee's own files and links - price list, terms, manager replies. Edited on its screen; there is no second store.","inheritQuestions":"Quick questions","inheritQuestionsNote":"the same ones its public page offers. One list for both places.","inheritTone":"Tone and rules","inheritToneNote":"instructions, tone, emoji and permissions all come from there too.","previewLabel":"What a visitor sees","previewHelp":"The chat header is taken from the employee's own card.","nameLabel":"Name in the header","addressLabel":"Public address"},"landing":{"intro":"Everything on the public landing page, editable without a rebuild or a deploy. Save, and it is live within seconds.","openSite":"open the site","brandTitle":"Logo, and how the page looks in search","brandHelp":"The logos and the search text sit together because they are one decision seen from three places: what a visitor sees on the page, what they see in Google, and what unfurls when the link is pasted into a chat.","logo":{"landingHeader":"Site header","landingHeaderHelp":"Top left of the landing page. Usually a mark rather than the full name.","landingFooter":"Site footer","landingFooterHelp":"At the very bottom of the landing page. Often the place for the full wordmark instead.","dashboard":"Workspace sidebar","dashboardHelp":"The small mark inside the workspace, 22 pixels. Fine detail will not survive it."},"upload":"Upload","uploading":"Uploading…","resetLogo":"Back to the default","logoShipped":"default","logoFormats":"SVG, PNG, JPG or WebP, up to 1 MB. An SVG is taken apart and only the drawing is kept — scripts, event handlers and references to other sites are removed from the file.","logoSaved":"Logo updated","logoReset":"Back to the default logo","seoTitle":"Page title","seoTitlePlaceholder":"Leave empty to keep the one from the build","seoCanonical":"Canonical URL","seoDescription":"Search description","seoDescriptionPlaceholder":"A sentence or two about what you do","seoDescriptionCount":"{n} characters. Google usually shows about 160.","seoImage":"Link preview image","seoImageHelp":"What unfurls when the address is pasted into Telegram or WhatsApp. A full URL, or a path from the site root such as /og-image.png","seoEnHeading":"English page (/en)","seoEnNote":"The title, description and link preview image of the English version of the site. An empty field keeps what /en already shows. Your own code on the page, the logos, the canonical address and «keep out of search» are shared by both languages.","noindex":"Keep this page out of search","noindexHelp":"For while the site is not ready to be found. Ticked, the landing page leaves the search results — remember to untick it.","sitemapTitle":"Sitemap (sitemap.xml)","sitemapNote":"The list of addresses search engines are handed. The home page and the legal pages are always on it — this is where you decide which employee pages join them.","sitemapOpen":"Open sitemap.xml","sitemapAgents":"Employee pages in the sitemap","sitemapAgentsHelp":"Switched off, the pages stay reachable by link but leave the sitemap.","sitemapExclude":"Keep out of search","sitemapExcludePlaceholder":"e.g. test123 or e2e-*","sitemapExcludeHelp":"One address per line. An asterisk stands for any ending: e2e-* covers e2e-smoke and e2e-admin. These pages leave the sitemap and ask search engines not to index them.","faqTitle":"Questions people ask before they pay","faqHelp":"The FAQ block on the landing page. While this is empty the page shows the questions the build ships, in both languages. Add one of your own and only yours are shown, so it is worth filling in the English too.","faqSeed":"Start from the shipped questions","faqSeedEmpty":"The build has no questions to start from","faqEmpty":"Nothing configured — the site is showing the questions from the build. Start from those, or add your own.","faqFromBuild":"These are the questions from the build — the ones visitors are reading right now. None of your own are saved yet. Edit them here and press Save: after that they become yours and stop following the build.","faqUp":"Move up","faqDown":"Move down","faqRemove":"Remove this question","faqRu":"Russian","faqEn":"English","faqQuestion":"Question","faqAnswer":"Answer","marqueeTitle":"Service strip","marqueeNote":"The logo chips sliding under the landing's first screen. “Hide” takes a chip off the page and keeps it in the list, so one tick brings it back.","marqueeEmpty":"No chips. After saving, the site keeps the strip the build ships.","marqueeFromBuild":"This is the strip visitors see now, and it comes from the build. Once saved, the strip comes from here.","marqueeSeed":"Start from the shipped strip","marqueeLogo":"Logo","marqueeNoLogo":"No logo","marqueeNameRu":"In Russian","marqueeNameEn":"In English","marqueeHide":"Hide","marqueeAdd":"Add a chip","marqueeRemove":"Remove chip","marqueeIconBrowser":"Browser agent","marqueeIconApps":"Custom APIs","faqAdd":"Add a question","plansTitle":"Landing price cards","plansHelp":"The words on the price cards: name, description, button and the list of what is included. The amount is not set here — it comes from the tier on the Plans tab, so the cards and the value calculator cannot quote different ladders.","plansSeed":"Take them from the site","plansSeedEmpty":"This build ships no price cards, so there is nothing to copy.","plansEmpty":"No cards. Saving an empty list returns the ones the build ships.","plansFromBuild":"These are the cards visitors are reading right now — they came from the build, not the database. Until you press Save the database holds nothing; after you do, these words stop following the locale files.","plansCode":"Tier code","plansCodeHelp":"The code from the Plans tab — this is where the card gets its price. A code that matches no tier leaves the card without an amount.","plansCodeNone":"— choose a tier —","plansCodeCustom":"— type a code —","plansCodePrice":"The card shows {price} — taken from this tier.","plansCodeQuoted":"A quoted tier: it has no price of its own, so the card shows the one written in its own text.","plansCodeUnknown":"There is no tier \"{code}\" on the Plans tab — the card will render without an amount.","plansName":"Name","plansBadge":"Badge (optional)","plansPrefix":"Before the price, e.g. \"from\"","plansPer":"After the price, e.g. \"/mo\"","plansDesc":"Description","plansCta":"Button","plansFeatures":"What is included","plansFeatureAdd":"Add a line","plansFeatureRemove":"Remove line","plansAdd":"Add a tier","plansRemove":"Remove tier","codeTitle":"Your own code on the page","codeHelp":"Counters, pixels and widgets go here — Metrica, Google Analytics, a support chat. The code is written into the landing page's HTML — the Russian one and the English /en — by the server, so a counter records the visit instead of switching on after it.","codeWarning":"This runs for every visitor to the site. Paste only what you understand and got from a source you trust. It never reaches any workspace screen.","headCode":"In the page head","bodyCode":"At the end of the body","codePreview":"See what it produces","codePreviewTitle":"Your code","codePreviewHint":"Shown as markup in an isolated frame — scripts do not run here, because otherwise somebody else's code would execute inside your workspace.","chatTitle":"Chat on the site","save":"Save","saving":"Saving…","saved":"Saved","discard":"Discard changes","unsaved":"Unsaved changes","effectiveHint":"An empty field keeps whatever the site already shows — the grey text in each box is what is live right now. Start typing and it becomes yours; clear it and the old value comes back.","effectiveUnknown":"The built page could not be read, so what is live cannot be shown here. An empty field still means \"leave it as it is\".","seoFillFromLive":"Use what the site shows","demoHandle":"The employee address used in examples","demoHandleHelp":"This address appears in the examples on the home page — in the copy-link pill, in the demo chat header and in the room. Name a published employee and anyone who types it by hand lands on a live page rather than a 404. Leave it empty to keep the address the build ships.","chatHelperNote":"The chat at the bottom of the main page is answered by the AI helper: from the articles marked for the landing, the live plans and the FAQ above. It can send people to sign up, show the plans and our contacts, and take a visitor's contact — those requests arrive on the \"From the landing\" tab of Requests.","chatOpenHelper":"Helper: numbers and unanswered questions","chatOpenArticles":"Helper articles","chatOpenRequests":"Requests from the landing"},"pages":{"intro":"Build pages like Terms and Privacy here: the same look, the same set of blocks. Each page lives at /p/address, and you decide whether it appears in the site footer.","listTitle":"Pages","new":"New","empty":"No pages yet. Press New to write the first one.","pickOne":"Pick a page on the left, or press New.","newTitle":"New page","editTitle":"Page","openPage":"Open the page","published":"published","draft":"draft","inFooterBadge":"in footer","address":"Address","addressHelp":"Lowercase Latin letters, digits and dashes. It is part of the link, so changing it after publishing breaks the old one.","icon":"Icon","iconHelp":"A Material Symbols name — start typing and the field suggests one. Drawn beside the line above the heading.","iconUnknown":"This build does not carry that glyph: the page would print the word instead of the icon. Pick one from the suggestions.","employeeWarning":"An employee already answers at /{slug}. These are different pages — yours will be at /p/{slug} — but people may confuse them.","publish":"Publish","publishHelp":"While this is off the page simply does not exist: its address answers not found, and search engines never see it.","inFooter":"Show in the site footer","inFooterHelp":"The link appears in the landing page's footer, in the column you pick.","footerGroup":"Footer column","group":{"product":"Product","company":"Company","legal":"Legal","resources":"Resources"},"sortOrder":"Order","sortOrderHelp":"The lower the number, the higher the link sits in its column.","lang":{"ru":"Русский","en":"English"},"copyFromRu":"Copy the Russian version","enHelp":"The English version is optional. Leave it empty and an English reader gets the whole Russian page instead.","docTitle":"Title","eyebrow":"Line above the title","updated":"Line under the title","updatedHelp":"Usually a date: \"Updated 8 August 2026\". Set in small monospace.","lead":"Intro","metaTitle":"Title for search","metaTitleHelp":"What search results and messenger previews show. Empty falls back to the page title.","metaDescription":"Description for search","blocks":"The text","blocksHelp":"A page is built from blocks, exactly like Terms and Privacy. The styling comes for free and cannot be broken.","noBlocks":"No blocks yet. Add the first one below.","addBlock":"Add:","kind":{"h":"Heading","p":"Paragraph","ul":"List","table":"Table","steps":"Steps","callout":"Callout"},"linkText":"Link text","linkTextExample":"Download the guide as a PDF","linkHref":"Address","linkHelp":"The link is optional. The link text is the words a reader sees; the address is where it goes. Start the address with https://, mailto:, tel: or / for a page on this site.","rowKey":"Left","rowValue":"Right","mono":"code","stepTitle":"What to do","stepText":"Detail","addRow":"Add a row","removeRow":"Remove","removeBlock":"Remove block","moveUp":"Up","moveDown":"Down","save":"Save","saving":"Saving…","saved":"Page saved","discard":"Discard","delete":"Delete page","deleteConfirm":"Really delete?","deleted":"Page deleted","builtinTitle":"Pages that ship with the product","builtinHelp":"These four pages already exist on the site. Their text lives in the code — you can rewrite it here and put it back at any time.","builtinEditTitle":"A page that ships with the product","builtinShipped":"showing the text that ships with the product","builtinEdited":"showing your text","shippedBadge":"shipped","editedBadge":"rewritten","resetToShipped":"Back to the shipped text","resetConfirm":"Really? Your edits will be lost","resetDone":"Back to the shipped text","review":{"privacy":"Google's reviewers read this page. The shipped text lists the four permissions we ask for, the Limited Use sentence and a link to revoke access — drop those and the review can fail.","dataDeletion":"The data deletion page. A reader arrives here meaning to leave, so the text out of the box covers both what is deleted automatically and how to disconnect each connected service. If you rewrite it, keep the account-deletion procedure and the request address: the terms refer to both."},"exportAll":"Download every page","exportOne":"Download this page","exporting":"Preparing the file…","import":"Load from a file","transferHelp":"Useful when a lawyer edits the text: export the page, hand over the file, load it back.","importTitle":"Loading pages","importHelp":"Pick a file or paste its contents. We show what will change first and only write after that. If a single page in the file is wrong, nothing is written.","importFile":"Pick a file","importOr":"or paste the text below","importPlaceholder":"The contents of the .json file","importPreview":"Show what will change","importPlan":"What will change","importApply":"Load","importing":"Loading…","imported":"Pages loaded: {n}","importNotJson":"That does not look like a pages file: the contents do not read as JSON.","importOverrideWarning":"Some of these ship with the product — their text will be replaced. You can put it back from the page itself.","action":{"create":"new","replace":"replaced","override":"rewritten","unchanged":"no change"}},"settingsSections":"Settings sections","settingCategories":{"models":"Models","browser":"Action Agent","engine":"Engine","storage":"Storage","auth":"Sign-in","integrations":"Integrations","mail":"Mail","sandbox":"Sandbox"},"settingGroups":{"upload_limits":"Upload limits"},"settingFields":{"limits_public_upload_retention_days":{"label":"Keep customer photos and files for","description":"Photos, voice notes and files that customers send to an employee — from the public page and from messengers (WhatsApp, Telegram, MAX and others) — are deleted once the conversation has had no new message for longer than this. The same goes for your own chats with the assistant in messengers. Files in dashboard chats are never removed. Deleted files cannot be restored: the conversation shows «Photo no longer available» in their place. 0 keeps them forever."}},"settingUnits":{"mb":"MB","sec":"sec","tokens":"tokens","kb":"KB","runs":"runs","msgs":"msgs","days":"days","chars":"chars","tasks":"tasks","subtasks":"subtasks","sessions":"sessions","s":"s","resumes":"resumes","min":"min","hours":"hours","agents":"agents","cents":"cents","seconds":"seconds","usd":"USD","rows":"rows","exchanges":"exchanges","bytes":"bytes","pictures":"pictures","hops":"hops","vcpu":"vCPU","gib":"GiB","cents_hour":"cents/hour"},"billing":{"title":"Payment providers","intro":"How this product sells its own subscriptions — not something a customer connects to an agent. Every form below is generated from the provider's own schema, so a second acquirer arrives with its settings page already written. The tiers themselves live on","introTail":"— pushing them into a provider's catalogue is the Sync button.","live":"live","configuredOff":"configured, off","notSetUp":"not set up","testMode":"Test mode","enabled":"Enabled","getKeys":"Get the keys","webhookEndpoint":"Webhook endpoint","copy":"copy","copied":"copied","keepStored":"•••••••• (leave blank to keep)","syncPlans":"Sync plans into the catalogue","checkPayments":"Check payments","checking":"Checking…","enableFirst":"Enable the provider first","savedNote":"Saved.","syncedNote":"Plans pushed into the provider catalogue."},"finance":{"updated":"Updated {time}","mrr":"Monthly recurring revenue","perMonth":"a month","otherCurrency":"+ {amount} a month in {currency}","arr":"A year","paying":"Paying accounts","stripLabel":"Monthly revenue by account","segment":"{email}: {amount} a month","amountPerMonth":"{amount} a month","shareOfRevenue":"{share} of revenue","pointHint":"Point at a segment to see the account.","accounts":"{n} account | {n} accounts","noRevenue":"No account pays yet. Revenue appears here after the first successful payment.","collected30":"Collected · 30 days","renewingSoon":"Renewing in 7 days","failing":"Payment failed","cancelling":"Cancelling","payingTitle":"Paying accounts","payingNote":"Sorted by monthly amount. Test accounts are listed last and left out of the totals.","nobodyPaid":"Nobody has paid yet.","providerOffNotCounted":"{provider} is switched off · not counted","providerOffLeftOut":"{n} subscription of a switched-off provider is left out. | {n} subscriptions of a switched-off provider are left out.","testNotCounted":"Test account · not counted","mismatchHint":"Pays for {paid}, but the account is set to {account}. Usually a plan changed by hand in Users.","accountOn":"Account is on {plan}","noPlan":"no plan","paidUntil":"Paid until {date}","since":"Since {date}","today":"today","tomorrow":"tomorrow","yesterday":"yesterday","inDays":"in {n} day | in {n} days","daysAgo":"{n} day ago | {n} days ago","period":{"month":"Monthly","quarter":"Every 3 months","year":"Yearly"},"status":{"failed":"Payment failed","cancelling":"Cancels at period end","active":"Active"},"reason":{"new":"First payment","renewal":"Renewal","change":"Plan change","other":"Other"},"paymentsTitle":"Payments","paymentsNote":"From the payment provider · last 12 months · after discounts.","gap":{"not_configured":"Payment history is unavailable: payments are not configured.","several_providers":"Payment history is unavailable: more than one payment provider is enabled.","unreachable":"Payment history is unavailable: the payment provider could not be reached.","not_listed":"Payment history is unavailable: {provider} does not give out a list of payments."},"paymentsGapTail":"The totals above come from subscriptions and are still accurate. The provider is set up in","noPayments":"No payments in the last 12 months.","monthsLabel":"Collected by month, {from} to {to}","test":"test","showAll":"Show all {n} payments","footnote":"Revenue counts accounts that have paid and are still in their paid period, at the price they were charged.","testLeftOut":"{n} test account is left out. | {n} test accounts are left out.","abandoned":"{n} checkout was started and never paid. | {n} checkouts were started and never paid."},"modelMonitoring":{"footprintTitle":"Prompt & Tool Footprint","footprintAvgInput":"Avg / p95 input","footprintEmpty":"No footprint samples yet. New routed calls will populate this panel.","loadPreviousDay":"Load previous 24h","footprintInstructions":"Instructions","footprintOperation":"Operation","footprintHistory":"History","footprintToolSchemas":"Tool schemas","footprintAttachments":"Attachments","footprintCached":"Cached","health":{"healthy":"healthy","degraded":"degraded","unhealthy":"unhealthy","unverified":"unverified","disabled":"disabled"},"tokUnit":"tok","toolsUnit":"tools"},"modelGroups":{"conversation":"Conversation","conversationHint":"Owner, customer, room-member and Core replies.","browser":"Browser","browserHint":"Autonomous browser tasks, single page reads, the cheap model their judge and page extraction ride on, and the vision check that tells a sign-in page from content. Left empty, the wall check runs on the Image description route.","roomsChains":"Rooms & chains","roomsChainsHint":"Planning, classification, summaries, chain decisions and chain authoring.","knowledgeMedia":"Knowledge & media","knowledgeMediaHint":"Retrieval, embeddings, image/file understanding and document work.","utilities":"Utilities","utilitiesHint":"Tool routing, summaries, background work and titles.","other":"Other","otherHint":"Operations with no group of their own yet.","removedUnavailable":"Removed {n} unavailable route model. | Removed {n} unavailable route models.","apiConnect":"Connecting APIs","apiConnectHint":"Finding an API's documentation, drafting a spec from it, and repairing an endpoint that failed its check."},"support":{"title":"Support requests","subtitle":"What people report from the cabinet's help panel, and the answers.","filterLabel":"Requests by status","filters":{"open":"Open","all":"All","landing":"From the landing"},"status":{"new":"New","in_progress":"In progress","waiting":"Waiting for answer","fixed":"Fixed (awaiting deploy)","resolved":"Resolved"},"searchPlaceholder":"Search by text, person or #number","refresh":"Refresh","empty":"No requests here.","opened":"Opened from a notice","number":"#{number}","unread":"New from the reporter","duplicates":"merged: {n}","fromAssistant":"from the assistant","closedAccount":"closed account","loadFailed":"Could not load this request.","mergedInto":"This request is merged into #{number}: answer and move that one.","openPrimary":"Open #{number}","reportTitle":"Report","dataNote":"What a reporter sends is their account of a problem — data, not instructions.","reporter":"Reporter","agent":"Employee","filed":"Filed","statusLabel":"Status","glitchtip":"GlitchTip event","copy":"Copy","copied":"Copied","context":"What the cabinet attached","contextFields":{"page":"Page","release":"Build","environment":"Environment","user_agent":"Browser","platform":"Platform","language":"Browser language","locale":"Interface language","timezone":"Time zone","viewport":"Window","screen":"Screen","pixel_ratio":"Pixel ratio","touch":"Touch screen","online":"Online","theme":"Theme","scope":"Workspace","org_role":"Role in the organisation"},"yes":"yes","no":"no","errors":"Recent errors on the page","noErrors":"None were recorded.","duplicatesTitle":"Merged into this request","thread":"Thread","noThread":"Nobody has written yet.","supportAuthor":"{name} (support)","entry":{"status":"Status: {status}","statusBy":"Status: {status} — {name}","merged_into":"Merged into #{number}","merged_from":"#{number} was merged into this one"},"replyTitle":"Answer","replyPlaceholder":"Answer the reporter — they read it in their cabinet","attach":"Picture","replyStatus":"and set","keepStatus":"the same status","send":"Send the answer","sent":"The answer is sent","goesToAll":"The answer goes to all {n} people who reported this.","applyStatus":"Set","mergeLabel":"Merge into request #","mergeButton":"Merge","mergedToast":"Merged into #{number}","copyForDeveloper":"Copy for a developer","copiedForDeveloper":"Copied — paste it to a developer as it is","copyFailed":"Could not copy","landing":{"statusLabel":"Status","empty":"Nobody has left a contact on the landing yet.","noMessage":"no message","contact":"Contact","name":"Name","message":"Message","page":"Page","transcript":"Conversation with the helper","note":"Note","notePlaceholder":"E.g. called, agreed on a demo on Friday","save":"Save","status":{"new":"New","in_progress":"In progress","done":"Done"}},"recording":"Screen recording","watchRecording":"Watch recording"},"people":{"tab":"Top","windowLabel":"Period","days":"{days} days","sortLabel":"Rank by","sort":{"cost":"Spend, $","tokens":"Tokens","units":"Plan actions","chains":"Chain runs","integrations":"Connected integrations","conversations":"Conversations","outcomes":"Results (leads, orders…)"},"hint":"Everybody who did anything in the period. Integrations are counted as connected now, the rest within the period. Press a person to open their card with the whole activity.","empty":"Nobody did anything in this period.","col":{"cost":"spend","tokens":"tokens","calls":"AI calls","units":"actions","chains":"chains","integrations":"integrations","conversations":"conversations","outcomes":"results"},"activityTitle":"Activity","bySource":"Spend by section","byChannel":"Spend by channel","integrations":"Integrations","noIntegrations":"Nothing connected.","off":"off","offCount":"Not connected: {n}","chains":"Chains","noChains":"No chain has run.","failed":"failed: {n}","results":"Conversations and results","conversationsIn":"Conversations: {channel}","history":"History (last {n})","noHistory":"Nothing happened in this period.","more":"Show more","event":{"chain":"Chain “{name}” — {status}","conversation":"New conversation: {channel}, employee {agent}","outcome":"Result: {kind} ({channel})","help":"Asked the helper: “{text}”","guide":"Guide: {guide} — {action}","admin":"Admin: {action} ({actor})","spend":"Spend that day: {source} — {tokens} tokens, {cost}","status":{"success":"succeeded","failed":"failed","running":"running","pending":"waiting","cancelled":"cancelled","skipped":"skipped"}}},"helper":{"title":"Helper","subtitle":"What people ask the cabinet helper — so you can help them","searchPlaceholder":"Name, email, id or a word from the conversation","retention":"Conversations are kept for 90 days after their last message.","empty":"Nobody has talked to the helper yet.","requested":"request filed","stuck":"three answers did not help","messages":"messages: {n}","conversation":"Conversation","helperSaid":"Helper","personSaid":"Person","offered":"Offered: {list}","offeredReport":"Offered to report the problem","feedback":{"helped":"Marked: helped","not_helped":"Marked: did not help"},"stats":{"title":"Answer ratings, last {days} days","answers":"answers","helped":"helped","notHelped":"did not help","unknown":"“I don’t know”","rated":"rated","people":"people asked"},"build":"build {release}","actionTour":"the \"{section}\" tour","actionFirstSteps":"First steps","actionOpen":"open \"{section}\"","fileRequest":"File a request on their behalf","filed":"Request #{number} filed","openFiled":"Open request #{number}","card":{"title":"Who this is and what they had","name":"Name","email":"Email","id":"Id","role":"Role","test":"test","plan":"Plan","registered":"Registered","workspace":"Workspace","ownWorkspace":"their own","employerWorkspace":"an employer's — {owner}, role {role}","agent":"Employee","agents":"Employees","channels":"Channels","noChannels":"No messenger or CRM was ever connected.","ourSide":"on our side","lastWorked":"last answer {at}","captured":"Captured {at}","state":{"connected":"working","not_connected":"not connected","broken":"not working","switched_off":"switched off"}},"desk":{"title":"Ask the helper","aboutRequest":"Ask the helper about this request","aboutConversation":"Ask the helper about this conversation","note":"The helper sees only this and the help articles. You send any reply yourself.","placeholder":"For example: what went wrong and what should we do?","whatWrong":"What went wrong and what should we do?","ask":"Ask","thinking":"Thinking…","suggestedReply":"Draft reply","useReply":"Put it in the reply"},"landing":{"title":"Landing: the chat on the main page","articles":"Articles for the landing","note":"The chat at the bottom of the main page is answered by this helper: from the articles marked for the landing, the live plans and the landing FAQ. Visitors' requests are on the \"From the landing\" tab of Requests.","questions":"questions in 30 days","visitors":"visitors","unknown":"not answered","missesTitle":"Questions without an answer: {n} — what to add to the articles","noMisses":"No unanswered questions."}},"guide":{"title":"«First steps» guide","subtitle":"How many people start the guide, which step they reach and where they stop.","period":"Period","days":"{n} d","note":"People with an employee are counted, not clicks: the same person walking it again does not double the numbers. Collected since 28.09; «saw it» since 30.09.","failed":"Could not load the funnel. Press «Refresh».","empty":"Nobody started the guide in this period.","firstSteps":"First steps","started":"started","finished":"finished","median":"median time to finish","leftOrClosed":"hid or closed the guide","minutes":"{n} min","lost":"did not get past this step: {n}","watch":"Watch the attempts that did not finish","staffHint":"Administrators, support and {'@'}anyworker.ai addresses are left out by default. Testers are counted.","staff":"Include our accounts","shown":"saw it: {n}","worst":"Most people are lost at «{step}» — the step to fix first.","tours":"Section tours","tourCounts":"started {started} · finished {done}","steps":{"who":"Who it is","know":"What it knows","how":"How it answers","rights":"What it may do","where":"Where it answers"},"sections":{"chat":"Chat","connect":"Connections","chains":"Chains","settings":"Settings"}},"dataRequests":{"title":"Data requests","subtitle":"Requests for a copy of a person's data or its deletion, from the cabinet and by email. Each is to be answered within ten working days.","recordTitle":"Record a request that came by email","recordHint":"If the address is an account's, the request is tied to it. Answer from the address of the account; if the letter came from another address, ask the person to confirm it from the account's address or by signing in.","kind":"Request","kindExport":"Copy of data","kindDelete":"Deletion","email":"Email","receivedAt":"Received","dueAt":"Answer by","completedAt":"Answered","requestedBy":"Recorded by","downloads":"Downloads","note":"Note","notePlaceholder":"Subject of the letter, what was sent back","recordButton":"Record","recorded":"The request is recorded.","allKinds":"All requests","onlyOpen":"Only unanswered","oneUser":"One account — show all","empty":"No requests yet.","download":"Download archive","prepare":"Prepare the copy","preparing":"The copy is being prepared. The person is emailed when it is ready.","markAnswered":"Mark answered","reopen":"Mark unanswered","source":{"button":"From the cabinet","admin":"By an administrator","email":"By email"},"status":{"pending":"Waiting","running":"Being prepared","ready":"Ready","failed":"Failed","expired":"Expired","received":"Received","done":"Done"}},"recordings":{"title":"Session recordings","subtitle":"How people went through the guide and what was on screen before an error — a replay of the screen, like Webvisor.","note":"Note","reasonFilter":"Why it was recorded","reasons":{"all":"All","guide":"Guide","error":"Errors","report":"Reports"},"reasonLabel":{"guide":"Guide","error":"Error","report":"Report"},"stuck":"Only unfinished guides","staff":"Include our accounts","listHint":"Our accounts — administrators, support and {'@'}anyworker.ai addresses — are hidden by default. Testers are shown, marked «test». A recording never shows what a person types, and on pages with customers' data all text is hidden.","testAccount":"test","noFrames":"no frames","inTracker":"GlitchTip","inTrackerTitle":"Open this error in GlitchTip","skipInactive":"skip pauses","reviewFilter":"Review","reviewAll":"Any","reviews":{"new":"New","bug":"Bug","fixed":"Fixed","ok":"Checked"},"failed":"Couldn't load the recordings. Press Refresh.","empty":"No recordings in this period. They appear when someone opens the guide, hits an error or writes to support.","firstSteps":"First steps","tour":"«{section}» tour","tourStep":"step {n}","outcome":{"done":"finished","left":"hid the guide","dismissed":"turned the guide off","stuck":"stopped at «{step}»","stuckN":"stopped at step {n}","stuckNoStep":"left before starting"},"errors":"errors: {n}","devices":{"phone":"phone","tablet":"tablet","desktop":"desktop"},"back":"All recordings","open":"Watch","loadingReplay":"Loading the recording…","replayFailed":"Couldn't load the recording.","replayEmpty":"The recording has no frames: the browser didn't manage to send it.","timeline":"What happened","timelineHint":"Press a mark to jump to that moment.","marks":{"nav":"Opened {path}","error":"Error: {what}","report":"Wrote to support","shown":"Step «{step}» on screen","shownN":"Step {n} on screen","step":"Finished step «{step}»","stepN":"Finished step {n}","done":"Finished the guide","leave":"Hid the guide","dismiss":"Turned the guide off","start":"Guide started"},"review":"Review","notePlaceholder":"What broke, what was fixed, where to check","save":"Save review","saved":"Review saved","saveFailed":"Couldn't save the review.","delete":"Delete recording","deleteConfirm":"Delete this recording for good?","deleted":"Recording deleted","person":"Who","agent":"Employee","started":"Started","length":"Length","screen":"Screen"},"helpArticles":{"title":"Helper articles","subtitle":"The articles the cabinet helper answers people from","note":"An edit is in effect from the next question. An article is reference text for the helper, never commands to it.","readOnlyNote":"This is what the helper tells people. You can read it here; administrators edit it.","locale":"Language","locales":{"all":"All","ru":"Русский","en":"English"},"search":"Search titles, addresses and text","new":"New article","edit":"Article","import":"Import .md","importTitle":"Import .md files","importHint":"The title comes from the first \"# …\" line or the file name; the address from the file name.","replace":"Replace articles with the same address","chooseFiles":"Choose files","filesChosen":"Files: {n}","importRun":"Import","importDone":"Created: {created}, updated: {updated}, skipped: {skipped}.","skip":{"not_markdown":"not an .md file","too_large":"too large","empty":"the file has no text","exists":"that article already exists","bad_slug":"the file name gives no address","bad_title":"the title is too long","bad_body":"the text is too long","bad_keywords":"too many keywords","invalid":"does not fit"},"exportAll":"Download all (.zip)","exportOne":"Download .md","fields":{"title":"Title","slug":"Address (Latin letters)","keywords":"Keywords","body":"Text (Markdown)","audience":"For whom"},"keywordsHint":"comma-separated: what people call it in their own words","preview":"What the helper will read","dataNote":"Write in the customer's words, and only about what they see on their screen.","save":"Save","saved":"Article saved","cancel":"Cancel","delete":"Delete","deleteConfirm":"Really delete?","restore":"Restore the starter articles","restoreConfirm":"Bring back the missing ones? Your articles and edits stay as they are","restored":"Articles restored: {n}","restoredNone":"Every starter article is in place","deleted":"Article deleted","empty":"No articles.","audience":{"all":"All articles","both":"Cabinet and landing","cabinet":"Cabinet only","landing":"Landing only"},"stale":"Due for a check","reviewed":"Reviewed","reviewedDone":"Marked as reviewed"},"sandbox":{"label":"Sandbox","loading":"Checking the sandbox…","ready":"Ready. Documents print with their styles on {snapshot}.","readyOff":"Ready, but switched off. Documents render without their styles until it is on.","notReady":"Not ready. Documents render without their styles.","preparing":"Building. The first build takes several minutes.","prepareFailed":"The last build failed.","provider":"Provider","snapshot":"Snapshot","check":"Check again","buildSnapshot":"Build snapshot","buildImage":"Build image","buildHint":"A build is needed once per version of the image. After that every job starts from it in seconds.","storage":"Storage","storageCost":"{size} GB · about ${cost} a month","storageUnderCent":"{size} GB · less than $0.01 a month"},"templates":{"title":"Chain templates","intro":"What owners install from the library on an employee’s Chains page. A template is made from a chain with Save as template on that chain’s row, and it starts unpublished: no owner sees it until you publish it. Unpublishing takes it out of the library again; chains already installed from it are not touched.","loading":"Reading the templates…","loadFailed":"The templates could not be loaded.","retry":"Try again","empty":"No templates yet. On an employee’s Chains page, Save as template makes one from a chain.","published":"Published","unpublished":"Not published","version":"Version {version}","builtIn":"Built in","fromChain":"Made from a chain","noCategory":"No category","copiedValues":"Its steps still carry the values of the chain it was made from — that customer’s group ids, plans and CRM ids. Publish it only if none of them is left; otherwise rebuild the chain on one of your own employees and save that one as a template — never change the customer’s chain.","nameLabel":"Name","descriptionLabel":"Description","categoryLabel":"Category","categoryPlaceholder":"E.g. Reports","asks":"An install asks for","asksNothing":"An install asks for nothing — every value it needs is in its steps.","save":"Save changes","saving":"Saving…","discard":"Discard changes","publish":"Publish","saveAndPublish":"Save and publish","unpublish":"Unpublish","retake":"Retake steps","retakeUnpublishes":"Retake steps — unpublishes until you publish again","retakeHint":"Reads the steps, the trigger and the schedule again from the chain it was made from — with the values that chain holds today.","retakePublish":"Publish again in the same step","retakeDirty":"Save or discard your changes before you retake the steps.","saved":"Changes saved","publishedToast":"“{name}” is published","unpublishedToast":"“{name}” is unpublished","retaken":"Steps retaken — version {version}","notFound":"This template is no longer there."},"skills":{"title":"Skills library","intro":"Skills the platform gives to employees: a folder with SKILL.md (what the skill is for and how to do it) and any scripts, references and files beside it, in the open Agent Skills format. Only platform admins add them — clients never do. A new skill is switched off: nobody has it until you choose who does. An employee reads a skill it has with read_skill, and runs its scripts in the sandbox with run_code; skills are laid into that run's sandbox and never into the image.","librarySize":"{count} skills · {used} of {max} used · a skill may weigh {skill} and hold {files} files","importTitle":"Import a skill","importHint":"Paste a GitHub link to the skill's folder (github.com/OWNER/REPO/tree/BRANCH/FOLDER), a skills.sh page, or owner/repo with the skill's name beside it. Importing a skill the library already has makes its next version.","urlLabel":"GitHub link or owner/repo","urlPlaceholder":"https://github.com/anthropics/skills/tree/main/skills/pdf","nameLabel":"Skill name (for owner/repo)","namePlaceholder":"For example: pdf","import":"Import","importing":"Importing…","upload":"Upload a zip","uploadHint":"A zip with SKILL.md at its top, or one folder that holds it.","githubTokenSet":"Imports from GitHub use the saved GitHub token: private repositories it can read are imported too.","githubTokenNone":"No GitHub token is set: only public repositories can be imported, within GitHub's hourly limit.","githubTokenAdd":"Add a token in Settings","githubTokenChange":"Change it in Settings","imageTitle":"Sandbox image","imageHint":"What a skill's scripts find installed. Packages a skill needs are not added automatically: add them under Settings → Sandbox → Skills library → \"Extra Python packages in the image\", then build the snapshot again. Every package makes the image larger for every run.","imageSize":"Base image, last measured: {size} of the {max} ceiling ({percent}%). Extra packages add to this once built.","extras":"Extra Python packages:","extrasNone":"None","extrasRefused":"Left out of the image, not package names: {list}","imagePython":"Python packages in the image ({count})","loading":"Loading…","loadFailed":"The skills library could not be loaded.","retry":"Try again","empty":"No skills yet. Import one above.","version":"Version {version}","files":"{count} file | {count} files","usageLine":"{uses} uses · {cost}","runsAsIs":"Runs as is","needs":"Needs {list}","accessShort":{"off":"Off","audience":"Everyone in the sandbox","plans":"Plans: {list}","accounts":"{count} account | {count} accounts"},"titleLabel":"Title","descriptionLabel":"Description","descriptionImported":"From the skill's SKILL.md. Employees choose the skill by this sentence.","descriptionEdited":"Edited here: a new version keeps this description.","resetDescription":"Use the skill's own description","save":"Save","saved":"Saved","accessTitle":"Who gets it","access":{"off":"Nobody","audience":"Every account the sandbox is open to","plans":"Accounts on chosen plans","accounts":"Chosen accounts"},"accountsLabel":"Owners' sign-in e-mails, one a line","accountsPlaceholder":"owner{'@'}company.com","accessHint":"Only accounts the sandbox is open to can use a skill, whatever is chosen here.","saveAccess":"Save who gets it","accessSaved":"Access saved","packagesTitle":"What its scripts need","instructionsOnly":"Instructions only: nothing to install, and reading it costs no sandbox time.","runsAsIsLong":"Everything its scripts use is in the image.","needsLong":"Its scripts use packages the image does not have:","readmeCut":"Shown up to 256 KB.","filesTitle":"Files","fileTooBig":"This file is larger than 1 MB and is not shown here.","fileBinary":"Not a text file.","versionsTitle":"Versions","reimport":"Import again from GitHub","uploadVersion":"Upload a new version","usageTitle":"Use by account","usageNone":"Not used yet.","usageAllTitle":"Use of every skill, by account","colSkill":"Skill","colAccount":"Account","colUses":"Uses","colSeconds":"Sandbox seconds","colCost":"Cost","colLast":"Last used","usesSplit":"{uses} ({reads} read, {runs} run)","delete":"Delete skill","confirmDelete":"Delete {name}? Its versions and files are removed and no employee can use it any more. What it cost stays in the usage.","deleted":"{name} deleted","imported":"{name} imported. It is off until you choose who gets it.","newVersion":"{name}: version {version} imported"},"notifyMatrix":{"kind":"Notification","inApp":"In app","email":"Email","emailOnly":"Sent by email only: there is no account to show it to"},"sourceDefault":"Default"},"core":{"title":"Core","subtitle":"reads across every one of your employees · changes nothing without your say-so","loadEarlier":"Show earlier","readOnlyBadge":"reads only","emptyTitle":"Ask about your workspace.","emptyBody":"The Core can read your agents, automations, runs and usage. It cannot send, publish or change anything — when you ask it to set something up, it prepares a draft for you to confirm.","suggestFailures":"What failed in the last 24 hours?","suggestUsage":"What did I spend this week?","suggestChains":"Which automations do I have running?","placeholder":"Ask about your agents, automations or spend…","thinking":"reading your workspace…","draftBadge":"draft — not created yet","draftPublic":"Anyone can trigger this","draftSenderFilter":"Only from senders matching \"{value}\"","draftSteps":"{count} step(s)","draftShowSteps":"show the definition","draftConfirm":"Create it","draftDiscard":"Discard","draftConfirmed":"Chain “{name}” created.","clear":"clear","clearing":"clearing…","clearHint":"Delete this conversation. Your drafts are kept.","cleared":"The conversation was cleared.","clearConfirm":{"title":"Clear this conversation?","description":"The whole thread is deleted and cannot be recovered. Drafts the Core proposed are kept — pending ones still wait for your confirmation.","confirmText":"Clear it","cancelText":"Keep it"},"attach":"Attach a file","attachFailed":"{name} could not be uploaded","composerHint":"Enter sends · Shift+Enter adds a line","send":"Send","speakerName":"Core","speakerTag":"assistant","ownerTag":"owner","panelShow":"Show the activity panel","panelHide":"Hide the activity panel"},"activity":{"title":"Activity","panelSubtitle":"what is running without being watched","railLabel":"Activity column width","subtitle":"What your workspace is doing without you watching: the plans your rooms are working through, the automation chains that ran, and the schedules that will run next.","daysOption":"{days}d","needsYou":"Needs you","running":"Running now","scheduled":"Scheduled","finished":"Recently finished","empty":"Nothing is running, and nothing ran in this window.","justNow":"just now","minutesAgo":"{n}m ago","hoursAgo":"{n}h ago","daysAgo":"{n}d ago","blockedCount":"{n} blocked","statusLabels":{"running":"running","blocked":"blocked","failed":"failed","done":"done","scheduled":"scheduled","off":"off"}},"billing":{"title":"Plans","subtitle":"Subscription and plan","currentPlan":"Current plan","free":"No plan","freePrice":"Free","perMonth":"month","perYear":"year","plansTitle":"Plans","current":"current","yourPlan":"Your plan","included":"Included","upgrade":"Upgrade","cancel":"Cancel subscription","managePayment":"Manage payment method","noSubscription":"You have no plan yet. Pick one below — nothing works until a plan is paid for, and you can cancel at any time.","planSetByHand":"This plan was set for your account directly, so there is nothing to renew or cancel.","renewsOn":"Renews on {date}.","paidUntil":"Paid until {date}.","extend":"Extend","endsOn":"Cancelled. You keep this plan until {date}.","cancelled":"This subscription has ended.","pastDue":"The last payment did not go through. Update your payment method to keep this plan.","firstPaymentFailed":"The payment was declined, so this plan was not activated. Try another card, or cancel to clear it.","retryOn":"The last payment did not go through. We will try your card again on {retry}; your plan stays active until {until}.","cardCannotBeCharged":"The last payment did not go through and this card cannot be charged again. Update your payment method before {until} to keep this plan.","noMoreRetries":"The last payment did not go through and there are no more automatic retries. Update your payment method before {until} to keep this plan.","checkoutSuccess":"Payment received. Your plan is being updated — this page already reflects it.","checkoutCancelled":"The payment did not go through. Nothing was charged — you can try again.","noPlan":"No plan","needsPlan":"To get started, choose a plan and pay for it — the workspace opens as soon as the payment lands.","setupNext":"Set up your employee","cancelTitle":"Cancel this subscription?","cancelBody":"The recurring charge stops. You keep the plan until the period you have already paid for runs out.","cancelBodyWithDate":"The recurring charge stops. You keep this plan until {date}; after that the account has no plan until one is paid for.","feature":{"agents":"AI employees","actions":"AI Actions / month","chains":"Automation chains","rooms":"Team rooms","integrations":"Integrations","knowledge":"Knowledge base"},"resume":"Resume subscription","notSelfServe":"Not sold from here","customPrice":"Custom","termLabel":"Billing period","term":{"month":"Month","quarter":"3 months","year":"12 months"},"perMonthRate":"{amount} per month","notOnThisTerm":"Not sold for this period","switchTo":"Switch to this","switchTitle":"Switch to {plan}?","switchCredit":"The days left on {from} are credited as {credit}.","switchPayBody":"To pay: {pay}. {plan} starts as soon as the payment lands and runs until {date}.","switchFreeBody":"Nothing to pay: that covers {plan} from today until {date}.","switchPayConfirm":"Pay {pay}","switchFreeConfirm":"Switch","switchPayCta":"Switch · pay {pay}","switchFreeCta":"Switch at no charge","switchDone":"{plan} is on","switchBody":"Your subscription moves to {plan} at {price} / {term}, starting now. The difference for the period you have already paid for is settled by your payment provider.","usageTitle":"This month so far","usageNote":"Resets automatically — no action needed","usageActionsMonthly":"AI Actions this month","usageChainMonthly":"Chain steps this month","usageBrowserRunsMonthly":"Action Agent runs this month","usageVoiceMinutesMonthly":"Voice minutes this month","usageDocumentsMonthly":"Documents created this month","usageDesignsMonthly":"Designed documents this month","usageFilesStored":"Files stored","usageResets":"Resets {date}","usageByChannel":"Where they went","channel":{"telegram":"Telegram","whatsapp":"WhatsApp","max":"MAX","instagram":"Instagram","messenger":"Messenger","threads":"Threads","avito":"Avito","bitrix":"Bitrix24","amo":"amoCRM","web":"Website widget","dashboard":"Your own chat","room":"Team rooms","core":"Core assistant","unknown":"Other","wacloud":"WhatsApp"},"statusLine":{"on":"on","ends":"ends","renews":"renews"},"checkoutFailed":"Could not open checkout. Try again in a moment.","portalFailed":"Could not open the billing portal. Try again in a moment."},"members":{"defaultOrgName":"My workspace","title":"Members","subtitle":"Who shares this workspace","workspace":"Workspace","workspaceNamePlaceholder":"Workspace name","rename":"Rename","seats":"Seats","peopleTitle":"People","pendingTitle":"Pending invitations","roleOwner":"Owner","roleStaff":"Rooms only","roleStaffHelp":"They see nothing in the workspace until you add them to a room — then only that room.","roleMemberHelp":"Full access to the workspace: agents, chains, integrations, everything the owner has except billing and people.","roleMember":"Member","remove":"Remove","removeTitle":"Remove this person?","removeBody":"{name} loses access to this workspace. Everything they made stays here — it belongs to the workspace, not to them.","revoke":"Revoke","expiresOn":"Expires {date}","inviteTitle":"Invite someone","inviteHelp":"You get a link to send them yourself. It works once, for that address only, and stops working after seven days.","emailPlaceholder":"name{'@'}company.com","invite":"Create link","noSeatsLeft":"Every seat on this plan is taken. Remove somebody, revoke an invitation, or move to a plan with more seats.","linkReady":"Link ready for {email}. Copy it now — it is not shown again.","copy":"Copy","copied":"Copied","singleSeatNote":"This plan is for one person. Business includes seats for a team.","seePlans":"See plans","memberNote":"You are working in {owner}'s workspace. Everything you make here belongs to it.","leaveTitle":"Leave this workspace","leaveHelp":"You go back to your own workspace, with your own work exactly as you left it. Nothing you made here goes with you.","leave":"Leave","leaveBody":"You will lose access to this workspace and return to your own. The owner can invite you again.","verification":{"title":"Company verification","help":"Confirm your company is a registered legal entity and a check mark appears beside your agents on their public pages. Free, and nothing here is shown to visitors — only the badge is.","state":{"pending":"Waiting","registry_checked":"Under review","approved":"Verified","rejected":"Refused","revoked":"Withdrawn"},"country":"Country of registration","countryPlaceholder":"Pick a country","registryId":"Registration number","legalName":"Legal name","legalNamePlaceholder":"As it appears on the certificate","domain":"Company website","submit":"Apply","submitFailed":"That application could not be sent.","modeHint":{"manual":"We will review this by hand.","assisted":"We check the official register, then a person decides.","auto":"Approved automatically once everything matches."},"dnsTitle":"Prove the domain","dnsHelp":"A registration number is public — anyone can look one up. Adding this TXT record to your DNS is what shows the company is yours.","dnsName":"Name","dnsValue":"Value","dnsProven":"Confirmed","checkDomain":"Check the record","dnsNotFound":"The record is not visible yet. DNS changes can take up to an hour.","reapply":"Apply with different details","reapplyWarning":"Submitting different details removes the check mark until the new company is approved.","hintRU":"ИНН — 10 digits (company) or 12 (sole trader), ОГРН — 13, ОГРНИП — 15. Not КПП or ОКПО.","hintGB":"Companies House number: 8 digits, or two letters and 6 digits (SC…, NI…, OC…).","hintVAT":"VAT number. The {code} prefix is optional — digits alone are fine."},"seatsFree":"free","seatsPending":"invitation waiting","blank":{"title":"It is just you so far","body":"Invite a colleague — they will see the same employees and can help out in rooms."}},"inbox":{"title":"Approvals","subtitle":"Decisions your automations are waiting on","emptyTitle":"Nothing is waiting on you","emptyBody":"When an automation reaches a decision it may not take alone, it stops and asks here. Until then, this page stays empty.","recent":"Recently decided","dismiss":"Don't continue","answered":"Answered — the automation is running again","alreadySettled":"This one was already settled elsewhere","answerFailed":"Your answer was not saved. Try again.","expiringNow":"expiring now","expiresInMinutes":"expires in {n} min","expiresInHours":"expires in {n} h","expiresInDays":"expires in {n} d","status":{"pending":"Waiting","answered":"Answered","expired":"Expired","cancelled":"Stopped"},"statusLine":{"waiting":"automations are waiting on you | automation is waiting on you | automations are waiting on you","nothingWaiting":"nothing waiting on you","decided":"decided recently"}},"cards":{"title":"Saved cards","subtitle":"Cards you write once. Your employees show them by name — same fields, same wording, every time.","new":"New card","newTitle":"New saved card","editTitle":"Edit saved card","emptyTitle":"No saved cards yet","emptyBody":"Without one, your employee composes each form from scratch — which is how a required field or a consent tick goes missing. Save the ones you need often.","nameLabel":"Name","namePlaceholder":"enquiry","nameHint":"What your employee calls it. Lowercase, no spaces.","descriptionLabel":"When to use it","descriptionPlaceholder":"Ask a visitor for their contact details","descriptionHint":"The one line your employee reads when deciding whether this is the right card.","cardLabel":"The card","previewLabel":"Preview","limitReached":"You have reached the maximum of {max} saved cards.","suggest":"Draft with AI","suggestPlaceholder":"Say what to ask for — e.g. name, phone and what they need","suggestHint":"Writes a card into the editor below. Nothing is saved until you press Save.","suggestFailed":"The card could not be drafted. Try describing it differently.","change":"Change the card","changePlaceholder":"What should change? e.g. make the phone optional and add a preferred time","changeHint":"The card you have is sent along, so only what you ask for changes. Nothing is written until you accept it.","draftTitle":"Proposed card","draftBadge":"Draft","draftFrom":"From: {request}","notes":{"unknownBlock":"Dropped an unknown block type \"{type}\".","asksSecret":"The {kind} \"{name}\" asks for a key, a password or a token.","tellsSecret":"The {kind} block tells them to enter a key, a password or a token.","takesApiKey":"The {kind} block offers to take an API key from them.","loginPassword":"The field \"{name}\" beside a login asks for the password that goes with it.","keptBlocks":"Kept the first {n} blocks of {total}.","noNameUsing":"{kind}: no name, using \"{name}\".","noName":"The {kind} block has no name, so its answer has nowhere to go.","sameName":"Two input blocks share the name \"{name}\" — give each one its own.","eventCannotSubmit":"The event \"{event}\" fires when the card is submitted, but this card cannot be submitted.","eventNotHere":"The event \"{event}\" cannot be answered here: this card is not shown where automations run.","eventNoTriggers":"The event \"{event}\" was declared but this employee has no automation triggers — remove it.","eventNotTrigger":"The event \"{event}\" is not one of this employee's triggers ({list}).","cardIdCut":"The card id was cut to {n} characters.","unknownInput":"Field \"{name}\": unknown input kind \"{kind}\", using text.","noOptions":"The {kind} block \"{name}\" has no options to pick from.","keptOptions":"{kind} \"{name}\": kept the first {n} options of {total}.","ratingMax":"Rating \"{name}\": max clamped into 1–{n}.","buttonNoLabel":"Dropped a button with no label.","buttonAction":"Button \"{label}\": unknown action \"{action}\", using submit.","keptButtons":"Kept the first {n} buttons of {total}.","emptyBlock":"Dropped an empty {kind} block.","badgeTone":"Badge \"{label}\": unknown tone \"{tone}\", using neutral.","stepState":"Step \"{label}\": unknown state \"{state}\", using next.","carouselPicture":"Carousel item \"{name}\": no picture was shown — \"{url}\" is not a picture's https address.","keptItems":"{kind}: kept the first {n} items of {total}.","chartKind":"Chart: unknown kind \"{kind}\", using bar.","keptPoints":"Chart: kept the first {n} points of {total}.","tableNoColumns":"The table block has no columns, so its rows have no headings.","keptColumns":"Table: kept the first {n} columns of {total}.","keptRows":"Table: kept the first {n} rows of {total}.","tableRowsFit":"Table: rows were padded or cut to fit the columns.","linkOwnDoc":"A link may not point at one of your own source documents.","linkHttps":"The link needs an https address.","linkNoLabel":"Link: no label, using \"Open\".","progressClamp":"Progress: value clamped into 0–100.","confirmNoLabel":"The confirm block has no confirm_label, so nothing says what agreeing does.","confirmNoCancel":"Confirm: no cancel label, using \"Cancel\".","consentEmpty":"The consent block says nothing, so nobody could be agreeing to anything.","consentRequired":"Consent: marked required — a tick nobody has to give is not consent.","slotsEmpty":"The slots block offers no times to pick from.","slotNoTime":"Dropped a slot with no time on it.","keptSlots":"Slots: kept the first {n} of {total}.","addressStandard":"Address: using the standard lines.","keptAddress":"Address: kept the first {n} lines of {total}.","blockNotHttps":"Dropped a {kind} block whose address is not https.","embedHost":"Dropped an embed of \"{url}\" — only {hosts} can be framed.","notObject":"Dropped a block that was not an object.","titleSecret":"The card's title tells them to enter a key, a password or a token.","titleApiKey":"The card's title offers to take an API key from them.","linkSecret":"The card tells them to enter a key, a password or a token where its link goes.","linkApiAccess":"The card sends them where its link goes for API access.","noButtons":"The card collects input but has no buttons block, so the answers can never be sent.","nothingToAct":"The card waits for an answer (requires_response) but has nothing to act on.","setRequiresResponse":"Set requires_response: the card is interactive.","noBlocks":"The card has no blocks that can be shown.","emptyCardId":"Dropped an empty card id.","chartEmpty":"Dropped a chart with no data points.","tableEmpty":"Dropped a table with no rows.","progressEmpty":"Dropped a progress block with no numeric value.","fileOwnDoc":"Dropped a file block offering one of your own source documents."},"draftKept":"{count} block unchanged | {count} block unchanged | {count} blocks unchanged","draftShowJson":"Show the JSON","draftApply":"Use this card","draftRetry":"Try again","draftDiscard":"Discard","checking":"Checking…","checkOk":"This card is valid","jsonBroken":"This is not valid JSON — {reason}","jsonInvalid":"The card is not valid JSON.","saveFailed":"Could not save this card.","blockCount":"Blocks: {n}","deleteTitle":"Delete \"{name}\"?","deleteBody":"Employees that show this card by name will stop finding it.","starter":{"title":"Leave a request","name":"Your name","phone":"Phone","consent":"I agree to be contacted about this request.","send":"Send"},"checkFailed":"This card would not be shown as it is:","noDescription":"No description","invalidJson":"That does not look like JSON — check the brackets and commas.","deleteConfirm":"Delete the card “{name}”?","deleteMessage":"Employees will no longer be able to show it. This cannot be undone."},"notifications":{"title":"Notifications","subtitle":"Everything the platform has told you","help":"What your employees ran into while you were away — an automation that stopped, a sign-in an agent could not get past, a limit you reached. Opening one marks it read, and read entries are cleared a day later; anything you have not opened stays.","empty":"Nothing to report","emptyBody":"Your employees have not run into anything that needs you. This is where an automation that stopped, a sign-in an agent could not get past, or a limit you reached would appear.","markAllRead":"Mark all read","today":"Today","yesterday":"Yesterday","statusLine":{"unread":"unread","allRead":"all read","kept":"notifications kept | notification kept | notifications kept"}},"artifacts":{"eyebrow":"@:{'brand.name'} · artifacts","title":"Artifacts","agentSubtitle":"Files and documents this employee made","showMore":"Show more · {shown} of {total}","workspaceSubtitle":"Every document your employees and rooms have built.","clearSearch":"Clear the search","noMatches":"Nothing matches this search.","clearFilters":"Clear the filters","emptyTitle":"No documents yet","emptyBody":"When your employee puts together an invoice, a quote or a comparison, the file shows up here with all its versions.","emptyAction":"Ask for a document","openSource":"Open the source","statusLine":{"documents":"document | documents","fromRooms":"from rooms","fromChats":"from chats"}},"results":{"title":"Leads & Sales","subtitle":"What your employees brought in — enquiries, orders and the money behind them.","window":"{n} days","moneyLabel":"Money","tileLeads":"Leads","tileOrders":"Orders","funnel":"Funnel","channels":"Channels","employees":"Employees","recent":"Latest results","showConversation":"Show conversation","deletedAgent":"Deleted employee","someone":"Someone","someoneTitle":"Unnamed customer","headline":"Over {days} your employees took {contacts} and brought in {leads} and {orders}.","nContacts":"{n} enquiry | {n} enquiries","nLeads":"{n} lead | {n} leads","nOrders":"{n} order | {n} orders","nDays":"{n} day | {n} days","channelLine":"{contacts} · {leads} · {orders}","employeeLine":"{leads} · {orders}","emptyTitle":"No results yet","emptyBody":"Results start counting the moment somebody reaches an employee of yours. Nothing here means nobody has yet — or that nothing is connected for them to arrive through.","emptyHintChannel":"Connect a channel — a website widget, Telegram or WhatsApp — so people can reach your employee.","emptyHintOrders":"Turn on order taking for an employee that sells, so a completed checkout is recorded as a result.","emptyHintCard":"Give your employee a card that asks for a name and a phone number, so an enquiry leaves a contact behind.","kind":{"contact_started":"Got in touch","engaged":"Had a conversation","lead_captured":"Left a contact","order_placed":"Placed an order","meeting_booked":"Booked a time","handed_to_human":"Passed to a person","task_done":"Task finished","unanswered":"Left unanswered"},"channel":{"web":"Website","telegram":"Telegram","whatsapp":"WhatsApp","max":"MAX","instagram":"Instagram","messenger":"Messenger","threads":"Threads","dashboard":"Your own chat","assistant":"Owner's assistant","unknown":"Other","avito":"Avito","bitrix":"Bitrix24","amo":"amoCRM","wacloud":"WhatsApp"},"recentLine":{"lead_captured":"{who} left a contact on {channel}","order_placed":"{who} placed an order on {channel}","engaged":"{who} had a conversation on {channel}","meeting_booked":"{who} booked a time on {channel}","handed_to_human":"{who} was passed to a person from {channel}","task_done":"A team task was finished","unanswered":"{who} left without an answer on {channel}","contact_started":"{who} got in touch on {channel}"},"storyTitle":"How it happened","storySubtitle":"The conversation behind this result{agent}","storySummary":"The customer, and what came of it","storyTimeline":"The conversation","storyNoMessages":"No messages were kept for this conversation.","storyShowedCard":"Your employee showed a card: {title}","storyCardAbandoned":"The customer moved on without filling this in.","storyMissingTitle":"This conversation is not here","storyMissingBody":"It may have been deleted, or it belongs to another workspace.","backToResults":"Back to Leads & Sales","role":{"visitor":"Them","user":"Them","assistant":"Your employee","operator":"You","agent":"Your employee","customer":"Them","system":"System"},"storyChainRan":"Automation ran: {name}","storyChainDeleted":"a deleted automation","chainStatus":{"pending":"queued","running":"running","success":"finished","failed":"failed","cancelled":"cancelled","skipped":"skipped"},"export":"Export CSV","exportFailed":"The export could not be downloaded. Try again."},"reach":{"title":"Reach out","subtitle":"Write first. Pick people, write an opening line, and your employee starts the conversation — after that it is an ordinary chat.","agentLabel":"Employee","agentPlaceholder":"Choose an employee","channelLabel":"Channel","channelPlaceholder":"Choose a channel","ruleCold":"This channel will deliver to people who have never written to you.","ruleWarm":"This channel can only write to people who have messaged this employee before. Telegram does not let a bot start a conversation.","ruleWindow":"This channel only allows messaging someone who wrote to you in the last {hours} hours.","transport":"Sending through: {transport}","transports":{"telegram_account":"Your own Telegram account","telegram_bot":"Your Telegram bot"},"audienceLabel":"Who to reach","audiencePlaceholder":"+7 999 123 45 67\n{'@'}username\n79991234567","audienceHint":"One per line, or separated by commas. {count} of at most {max}. Phone numbers need a country code.","messageLabel":"Opening message","messagePlaceholder":"Hi! You left your number with us about the winter collection — can I send you the sizes we still have?","messageHint":"The same message goes to everybody. Their replies come back to this employee like any other conversation.","send":"Reach {count} people","sending":"Sending…","sendNotice":"Messages go out now, one by one. Stay on this page until the report appears.","failed":"The outreach could not be started.","resultTitle":"What happened","countSent":"{n} sent","countRefused":"{n} not sent","countFailed":"{n} failed","openThread":"Open chat","historyTitle":"Earlier outreach"},"firstSteps":{"title":"First steps","count":"{done} of {total}","note":"Take them in order — after each one your employee answers a client differently.","preview":{"title":"How it sounds right now","note":"The answer changes with every edit","ask":"Ask","question":"How much is delivery in Moscow and when would it arrive?","questionLabel":"A question for the employee","idle":"Ask it anything — it answers you exactly as it answers a customer.","silent":"It said nothing. Try asking another way.","unreachable":"The question could not be asked: the employee page is not answering right now.","unreachableHint":"The employee page did not answer. Press “Ask” again in a minute.","unreachableOff":"The employee is switched off — while off, it answers nobody, here included.","unreachableClosed":"The employee page is private, so nobody can ask from outside. Open it — that is how a customer sees it from your link.","turnOn":"Switch the employee on","openPage":"Make the page public","thinking":"thinking","took":"answered in {s} s","was":"Before","now":"Now","cardShown":"This is the card a customer will see","cardWaits":"A customer fills this in right in the chat"},"who":{"title":"Who it is","sub":"Name, role and address","namePlaceholder":"Employee name","rolePlaceholder":"What it does","addressNote":"The address {address} was issued at sign-up and does not change — the public page points at it."},"know":{"title":"What it knows","subEmpty":"empty — it does not know your prices","subFilled":"sources: {n}","note":"Price list, delivery terms, manager replies. It answers only from what is here — and says so plainly when there is no answer.","add":"Upload a price list or paste a link","remove":"Remove {name}","linkRead":"Read","indexed":"indexed","indexing":"processing","failed":"could not be read"},"rights":{"title":"What it may do","sub":"{n} of {total} rights","answer":"Answer questions","answerNote":"about products, services, terms","leads":"Collect leads","leadsNote":"name, phone, what they need","calls":"Book a call","callsNote":"offers an open slot","discount":"Offer a discount","discountNote":"up to 10% without asking you"},"where":{"title":"Where it answers","subEmpty":"the public page only","subFilled":"The page and {n} more","page":"Public page","pageState":"open","connected":"connected","notConnected":"not connected","connect":"Connect","open":"Open","pageClosed":"closed","subClosed":"page closed — customers cannot reach it"},"can":{"title":"In a client's words","answer":"Answer a question about a product","price":"Name a price and a lead time","priceNeed":" — needs a price list","lead":"Take a lead","leadNeed":" — the right is off","discount":"Offer a discount","discountNeed":" — the right is off","channel":"Answer in a messenger","channelNeed":" — no channel connected"},"doneBanner":"First steps complete — the employee is ready","how":{"title":"How it answers","sub":"The rules it keeps to","subFilled":"Rule set","note":"A sentence or two on how it should talk to a customer: what to ask before answering, what not to promise, how to close. This changes its answers more than anything else here.","placeholder":"For example: always ask which city before quoting delivery. Never promise an exact date — say a manager will confirm it.","save":"Save the rule","saved":"Saved — the employee is answering by it already","savedShort":"Saved — but the step needs a sentence or two. This is still too short to count as a rule."},"guide":{"show":"Show me how"},"next":{"title":"What's next","note":"Your employee is ready and already answering. Here is where to go next.","show":"Show me how","go":"Go","chat":{"title":"Talk to it","text":"Ask a question or hand over a task, as you would a colleague."},"connect":{"title":"Connect your messengers","text":"Telegram, WhatsApp, MAX — customers write where they already are, and it answers."},"chains":{"title":"Automate the routine","text":"A chain does the job on its own: a lead comes in, and you get a Telegram message."},"settings":{"title":"Make it yours","text":"Model, memory, voice, booking hours and access — everything that shapes how it behaves."}}},"tabTitle":"Workspace — anyworker.ai","assistant":{"linkStartFailed":"Could not start the linking."},"report":{"title":"Models and plan","chainBanner":"These are still written in this step's arguments. Save them here and every report step will read them from the employee.","emptyTitle":"No report lines yet","emptyDescription":"Add the first line — a model as the report names it, and how it is called in your CRM.","loadFailed":"Could not load the report settings.","linesTitle":"Report lines","linesSubtitle":"Each line is one row of the report. A deal counts towards a line when its model contains one of the fragments.","lineName":"Line","lineNamePlaceholder":"e.g. Infiniti QX80","matchLabel":"Called in the CRM","matchPlaceholder":"Type a fragment, press Enter","removeMatch":"Remove {fragment}","removeLine":"Remove line","addLine":"Add line","addFromCrm":"Add from AutoCRM","planTitle":"Monthly plan","planSubtitle":"Leads and worksheets each line is expected to bring in over the month.","prevMonth":"Previous month","nextMonth":"Next month","monthLabel":"Month","copyPrevious":"Copy from previous month","copyPreviousFrom":"Copy from {month}","noPreviousPlan":"No earlier month has a plan to copy.","leads":"Leads","worksheets":"Worksheets","planNeedsLines":"Add a report line first — the plan has one row per line.","unnamedLine":"Unnamed line","save":"Save models and plan","saving":"Saving…","saved":"Saved","saveFailed":"Could not save the report settings.","picker":{"title":"Add from AutoCRM","description":"Pick a model the CRM knows. Its name becomes a fragment of the chosen line.","target":"Add to","newLine":"A new line","search":"Search models","loading":"Loading models…","empty":"No models match.","failed":"Could not load the models from AutoCRM.","added":"Added {name}"},"stepNote":"Kept for this employee: every report step reads them, the retry included. Saved on their own, not with the chain."},"skillLicence":{"open":"Open licence","unknown":"Licence unknown","restricted":"Proprietary","unknownHint":"No licence was found for this skill, so it is not clear how its author allows it to be used. Check before relying on it.","title":"Licence: {name}"}},"chat":{"modelPill":{"label":"Model, depth and limits","planModel":"Plan's model","notInPlan":"not in your plan","limits":"Limits","showAll":"All limits","actions":"Actions this month","chainActions":"Chain steps","usedOf":"{used} of {limit}","unlimited":"unlimited","resets":"Resets {date}","actionsLeft":"Actions left: {n}","seconds":"≈{n}s","modelHeader":"Model · {plan} plan","otherModels":"Other models","otherCount":"{n} more","costHint":"A pricier model spends more actions per reply","depthHint":"Deeper is slower and costs more. For research and multi-step work.","allSettings":"All settings","ringLabel":"Limits: {pct}% used","limitsTitle":"Plan limits","costLine":"A reply on {model} costs {n} action(s).","costMore":" On {model}, {n}.","plans":"Plans","autoShort":"Plan","usedUnlimited":"{used} used · no limit","ringUnlimited":"Limits: no limit"},"input":{"newChat":"New chat","removeFile":"Remove file {name}","previewImage":"View image {name}","attachFile":"Attach file","voiceInput":"Voice input","cancelRecording":"Discard recording","commands":"Commands","send":"send","stop":"Stop","placeholderDefault":"Write a message...","placeholderShort":"Message…","micAccessDenied":"Failed to access microphone","dropHere":"drop files here"},"voice":{"play":"Play","pause":"Pause","seek":"Seek within the voice message","showTranscript":"Show transcript","hideTranscript":"Hide transcript","transcribing":"Recognising speech…"},"slash":{"title":"Commands","browserOff":"Action Agent is switched off for this employee — turn it on under Apps, then send this again","model":"Choose the model and depth","effort":"Reasoning depth","settings":"Open the employee's settings","connect":"Open connections","chats":"Open conversations","plans":"Plans and limits","full":"Full-screen chat","usage":"Plan limits: what is used","task":"Run an autonomous task in a real browser","browse":"Open and read a web page","search":"Search the web","remember":"Save a fact to remember later","translate":"Translate text (auto RU↔EN)","email":"Draft an email","summary":"Summarize this conversation","summaryDisplay":"Summarize this conversation","chain":"Create an automation chain","help":"What can this assistant do?","helpDisplay":"What can you help me with?","new":"Start a new chat","browserOffRoom":"The Action Agent is switched off for every employee in this room — turn it on for one of them, then send this again","later":"Hand over a job and get the answer later","file":"Build a document from what you say","stop":"Stop what is running","hints":{"task":{"arg":"what to do"},"browse":{"arg":"url","opt":"what to find"},"search":{"arg":"query"},"later":{"arg":"what to do"},"file":{"arg":"what to build"}}},"upload":{"fileTooLarge":"File exceeds the {size} MB upload limit."},"chainPlan":{"title":"Automation draft","openLink":"Open in Chains →","confirmHint":"Or review it on the chains page first.","confirm":"Turn it on","discard":"Discard","confirmed":"Turned on. It runs from now on; change it any time on the chains page.","discarded":"Discarded. Nothing was set up."},"browserTask":{"planTitle":"What it set out to do"},"sandbox":{"queued":"Waiting to print the {what}…","starting":"Getting ready to print the {what}…","printing":"Printing the {what}… {seconds} s","printed":"Printed the {what} in {seconds} s","failed":"The {what} could not be printed.","interrupted":"An update interrupted the printing of the {what}.","kind":{"pdf":"PDF","docx":"Word document","pptx":"PowerPoint deck","xlsx":"Excel workbook","other":"document"},"code":{"phase":{"queued":"Waiting","starting":"Getting ready","running":"Running","collecting":"Finishing","done":"Done","failed":"Failed","interrupted":"Interrupted"},"untitled":"A short program","seconds":"{seconds} s","log":"What the program printed","showCode":"Show code","hideCode":"Hide code","dialog":{"label":"The whole run","open":"Open the whole run","inputs":"What it was given","unnamed":"A file it was given","files":"What it made","program":"The program","nothing":"Nothing was kept from this run."},"fixing":"The script failed. The employee is fixing it.","reason":{"exit":"The script failed. It ended with error {code}.","timeout":"Stopped after {seconds} s, at its time limit.","timeoutNoTime":"Stopped at its time limit.","stopped":"Stopped before it finished.","off":"Running code is switched off right now.","plan":"Running code is not part of this plan.","busy":"Another run was still going. Ask again in a moment.","spent":"Today's time for running code is used up.","notReady":"Running code is being set up. Ask again in a few minutes.","failed":"The run did not finish.","unreachable":"This run cannot be read right now. It may still be going.","interrupted":"An update interrupted this run before it finished. Ask again.","unavailable":"Running code is unavailable right now. Ask again in a few minutes.","monthSpent":"This month's time for running code on this plan is used up."},"said":{"appNotConnected":"{input}: the app is not connected","appTooBig":"{input}: the app's answer was too big","appUnreadable":"{input}: the app's answer could not be read","appNoAnswer":"{input}: the app did not answer","appRefused":"{input}: the app answered HTTP {status}","retry":"Could not start, trying again ({attempt} of {attempts}).","appFirstPageLate":"{input}: the first page did not come within the {minutes}-minute window for inputs","appNotPaged":"{input}: the endpoint does not page, so pages \"all\" cannot walk it","appExportWrites":"{input}: the arguments ask the endpoint to change data, not to read it, and pages \"all\" only reads; call that endpoint as its own tool","appNoPeriod":"{input}: the endpoint takes no period, so from and to have nowhere to go: put the dates in args as the endpoint names them","stopPages":"{input}: stopped at the {max}-page ceiling; {rows} rows from {pages} pages are in the file","stopRows":"{input}: stopped at the {max}-row ceiling; {rows} rows from {pages} pages are in the file","stopSize":"{input}: stopped at the {max} ceiling; {rows} rows from {pages} pages are in the file","stopWindow":"{input}: stopped when the {minutes}-minute window for inputs ran out; {rows} rows from {pages} pages are in the file","stopForeign":"{input}: the next page is on another address, which is not followed; {rows} rows from {pages} pages are in the file","stopNoRows":"{input}: a page held no list of rows where the endpoint's paging says; {rows} rows from {pages} pages are in the file","stopLink":"{input}: the list's next-page link could not be followed after {after} pages; {rows} rows from {pages} pages are in the file","stopTime":"{input}: the export ran out of time after {after} pages; {rows} rows from {pages} pages are in the file","stopPageLost":"{input}: a page did not come; {rows} rows from {pages} pages are in the file","stopPageRefused":"{input}: {status} a page did not come; {rows} rows from {pages} pages are in the file"},"skipped":{"scriptFailed":"{name} (the script failed, so its files were not kept)","notStored":"{name} (could not be stored)","storageFull":"{name} (no room left in the plan’s file storage)","link":"{name} (a link, not a file)","folder":"{name} (a folder: only files come back)","badName":"{name} (not a plain file name)","tooMany":"{name} (over the limit on files per run)","tooBig":"{name} ({size}, over the {max} limit for one file)"}}},"codeBlock":{"copy":"Copy","copyLabel":"Copy code","copied":"Copied","showAll":"Show all {lines} lines","showLess":"Show less","plain":"Text","writing":"Writing"},"message":{"generating":"thinking…","recording":"Recording the reply…","formSubmitted":"Sent the form","editLabel":"Message text","newChatConfirmTitle":"Start a new chat?","newChatConfirmBody":"The current conversation stays in the “Your own chats” list.","newChatConfirmAction":"Start a new chat","thinkingLive":"Thinking…","thinkingDone":"Thought for {seconds}s","thinkingDoneNoTime":"Thought","chainSteps":"{n} steps","turnFailed":"Could not finish","notDelivered":"Not delivered","sent":"Sent","read":"Read","customer":"Customer","notDeliveredWhy":{"app_access":"Instagram holds replies to customers until Meta approves this platform's messaging. Their messages still reach you here.","window_closed":"A reply is allowed only within 24 hours of the customer's last message. It goes through again once they write.","recipient_closed":"This person can't receive messages from this account — they may have blocked it or turned messages off.","other":"The channel didn't accept this message, so the customer didn't receive it."},"otpHint":"Enter the requested security code in the window above, then continue.","resumeAfterOtp":"I entered the code — continue","captchaHint":"Complete the verification in the window above, then continue.","resumeAfterCaptcha":"I completed the verification — continue","copy":"Copy","resend":"Resend","edit":"Edit","saveAndSend":"Save & send","cancelEdit":"Cancel","reply":"Reply","you":"You","prevVersion":"Previous version","nextVersion":"Next version","listen":"Listen","stop":"Stop","trainTooltip":"Teach the agent how to answer this in the future","trainPlaceholder":"How should the agent answer this in the future?","trainSave":"save","trainSaving":"...","savedToMemory":"Saved to agent memory","operatorLabel":"Operator","browserHandedOver":"Handed to the Action Agent","toolAwaitingOwner":"Waiting for your yes","connectApiSaid":{"already":"Already connected","underWay":"Connection already under way","which":"Asked which program"},"toolFailed":{"connectApi":"Couldn’t start connecting the API","recheckApi":"Couldn’t start checking the API again","updateApiAccess":"Couldn’t ask for the new access","deleteApi":"Couldn’t remove the API"},"confirmState":{"pending":"Needs your yes","confirmed":"Confirmed","declined":"Declined","expired":"Expired","cancelled":"Cancelled"},"tools":{"rememberFact":"Learned a fact","browseWebsite":"Browsed a website","browseWebsiteRunning":"Browsing a website","browserTask":"Browsed the web","browserTaskRunning":"Browsing the web","searchWeb":"Searched the web","searchWebRunning":"Searching the web","searchGoogleDrive":"Searched Google Drive","readGoogleDoc":"Read a Google Doc","readGoogleSheet":"Read a Google Sheet","appendRowToSheet":"Updated a Google Sheet","createGoogleDoc":"Created a Google Doc","createGoogleForm":"Created a Google Form","listFolderContents":"Listed Drive folder contents","sendEmail":"Sent an email","generateFile":"Created a file","runCode":"Ran a program","syncAppData":"Copied an app's list","queryAppData":"Counted over the app data","shareKnowledgeFile":"Shared a knowledge file","listKnowledgeFiles":"Checked knowledge files","generateImage":"Generated an image","searchConversations":"Searched past conversations","searchConversationsRunning":"Searching past conversations","readDocument":"Read a file","readDocumentRunning":"Reading a file","editWorkbook":"Edited the spreadsheet","editWorkbookRunning":"Editing the spreadsheet","editWordDocument":"Edited the Word document","editWordDocumentRunning":"Editing the Word document","editFile":"Edited the file","editFileRunning":"Editing the file","generateArchive":"Packed the files up","generateArchiveRunning":"Packing the files up","readArtifactDocument":"Read the document","readArtifactDocumentRunning":"Reading the document","createArtifact":"Started a document","createArtifactRunning":"Starting a document","updateArtifact":"Updated the document","updateArtifactRunning":"Updating the document","listArtifacts":"Looked through the documents","listArtifactsRunning":"Looking through the documents","startBackgroundTask":"Took the job on","startBackgroundTaskRunning":"Taking the job on","checkBackgroundTask":"Checked how the job is going","checkBackgroundTaskRunning":"Checking how the job is going","listBackgroundTasks":"Looked at what is running","listBackgroundTasksRunning":"Looking at what is running","cancelBackgroundTask":"Called the job off","cancelBackgroundTaskRunning":"Calling the job off","connectApi":"Started connecting the API","connectApiRunning":"Starting to connect the API","listMyApis":"Looked at the connected APIs","listMyApisRunning":"Looking at the connected APIs","recheckApi":"Started checking the API again","recheckApiRunning":"Starting to check the API again","updateApiAccess":"Asked for the new access","updateApiAccessRunning":"Asking for the new access","deleteApi":"Removed the API","deleteApiRunning":"Removing the API","appAction":"Used a connected app","appActionRunning":"Using a connected app","listSkills":"Checked what it can do","listSkillsRunning":"Checking what it can do","telegramSendMessage":"Sent a Telegram message","telegramSendMessageRunning":"Sending a Telegram message","sendWhatsappMessage":"Sent a WhatsApp message","sendWhatsappMessageRunning":"Sending a WhatsApp message","maxSendMessage":"Sent a MAX message","maxSendMessageRunning":"Sending a MAX message","findFreeTime":"Checked free time","findFreeTimeRunning":"Checking free time","readEmails":"Read the mail","readEmailsRunning":"Reading the mail","setSkill":"Changed how it works","setSkillRunning":"Changing how it works","createChain":"Drafted an automation","createChainRunning":"Drafting an automation","triggerEvent":"Started an automation","triggerEventRunning":"Starting an automation","rememberFactRunning":"Learning a fact","searchGoogleDriveRunning":"Searching Google Drive","readGoogleDocRunning":"Reading a Google Doc","readGoogleSheetRunning":"Reading a Google Sheet","appendRowToSheetRunning":"Updating a Google Sheet","createGoogleDocRunning":"Creating a Google Doc","createGoogleFormRunning":"Creating a Google Form","listFolderContentsRunning":"Listing Drive folder contents","sendEmailRunning":"Sending an email","generateFileRunning":"Creating a file","runCodeRunning":"Running a program","syncAppDataRunning":"Copying an app's list","queryAppDataRunning":"Counting over the app data","shareKnowledgeFileRunning":"Sharing a knowledge file","listKnowledgeFilesRunning":"Checking knowledge files","generateImageRunning":"Generating an image","workshopList":"Looked through the Workshop","workshopListRunning":"Looking through the Workshop","workshopRead":"Read a Workshop file","workshopReadRunning":"Reading a Workshop file","workshopWrite":"Saved a Workshop file","workshopWriteRunning":"Saving a Workshop file","workshopRun":"Ran a Workshop file","workshopRunRunning":"Running a Workshop file","readSkill":"Read a skill","readSkillRunning":"Reading a skill","makeDocument":"Handed to the document writer","makeDocumentRunning":"Handing to the document writer","listCardTemplates":"Looked through the saved cards","listCardTemplatesRunning":"Looking through the saved cards","saveCardTemplate":"Saved a card","saveCardTemplateRunning":"Saving a card","step":"Took a step","stepRunning":"Taking a step","inService":"Worked in {service}","inServiceRunning":"Working in {service}","listChains":"Looked at the automations","listChainsRunning":"Looking at the automations","getChain":"Read an automation","getChainRunning":"Reading an automation","updateChain":"Changed an automation","updateChainRunning":"Changing an automation","deleteChain":"Deleted an automation","deleteChainRunning":"Deleting an automation","pauseChain":"Paused an automation","pauseChainRunning":"Pausing an automation","resumeChain":"Turned an automation back on","resumeChainRunning":"Turning an automation back on","testChain":"Tested an automation","testChainRunning":"Testing an automation","runChain":"Started an automation","runChainRunning":"Starting an automation","listChainRuns":"Checked how automations ran","listChainRunsRunning":"Checking how automations ran","discardChainDraft":"Discarded a draft","discardChainDraftRunning":"Discarding a draft","listChainTools":"Checked what a step can use","listChainToolsRunning":"Checking what a step can use","createChainSchedule":"Scheduled an automation","createChainScheduleRunning":"Scheduling an automation","stopChainSchedule":"Stopped a schedule","stopChainScheduleRunning":"Stopping a schedule","resumeChainSchedule":"Resumed a schedule","resumeChainScheduleRunning":"Resuming a schedule"},"stopBrowser":"Stop the browser","working":"One moment — working on it…","shotOf":"shot {index} of {total} · {name}","photoGone":"Photo no longer available","undelivered":"Not delivered","undeliveredToast":"Reply not delivered: the channel did not accept it. Send it again."},"dashboardChat":{"emptyStateHint":"Start a dialogue below by sending a message to your employee.","today":"Today","yesterday":"Yesterday","inputPlaceholder":"message your employee...","inputPlaceholderShort":"Message…","readOnlyBanner":"this is history — read only","ttsPlaybackFailed":"TTS playback failed","leadFormSubmitMessage":"Here are my details from the lead form: {details}","jumpLatest":"Jump to latest","jumpWriting":"Writing — jump to latest","chainTriggered":"Triggered the chain (event: {event}). It runs in the background — its result or error is delivered to the chain's configured channel, not here."},"workingToast":{"title":"Employee is working…","open":"Open"},"memory":{"compact":"{n} messages outside memory window — click to fold them in | {n} messages outside memory window — click to fold them in","compacting":"Folding earlier messages into memory…","compactFailed":"Could not compact memory — the summariser may be busy. It will retry automatically.","alreadyCompacting":"Memory is already being compacted — another fold is in progress."},"sendFailed":"⚠️ Something went wrong — please resend your message.","sendFailedPrefix":"⚠️ That turn could not run:","newChatModal":{"eyebrow":"NEW CHAT","title":"Start a new conversation?","body":"This conversation stays in your history, with everything in it. Nothing is removed unless you ask for it below.","purgeFiles":"Also delete the files from this conversation","purgeFilesHint":"Everything uploaded into it. The messages stay; their file chips stop resolving.","purgeArtifacts":"…and the documents it produced","purgeArtifactsHint":"Every version of every document written in this conversation.","irreversible":"This cannot be undone.","start":"Start new chat","working":"Working…"},"code":{"copy":"Copy","copyLabel":"Copy code","copied":"Copied","showAll":"Show all {n} lines","showLess":"Show less"},"file":{"view":"View","viewNamed":"View {name}","download":"Download","downloadNamed":"Download {name}","downloadFailed":"That file could not be downloaded","gone":"This file is no longer in storage.","dialogLabel":"File from this conversation","saving":"Saving…","document":"Document"},"imageGen":{"drawingLabel":"Drawing a picture: {what}","drawingPicture":"Drawing a picture","drawingNow":"Drawing a picture…","seconds":"{n} s","open":"Open {name}","failed":{"generic":"This picture could not be drawn.","retried":"This picture could not be drawn — it was asked for again.","allowance":"This month's pictures are used up.","plan":"Pictures are not part of this plan.","declined":"This picture was declined. Try describing it differently.","timeout":"Drawing took too long. Ask again to retry."}},"documentJob":{"state":{"done":"Done","current":"In progress","failed":"Failed","pending":"Not started"},"progress":"How far the document is","stage":{"queued":"Waiting for the writer","writing":"Writing","pictures":"Drawing the pictures","printing":"Printing","ready":"Ready"},"failed":"The document was not made.","canceled":"Stopped before it was finished.","cancel":"Stop","cancelNamed":"Stop writing {name}","hint":{"queued":"Waiting for the writer","writing":"Writing the whole document — usually 1–3 minutes","pictures":"Drawing the document's pictures","printing":"Putting the file together — a few more seconds"}}},"agentSettings":{"publicPageTitle":"public page","avatarChangeOverlay":"change","changePhotoButton":"change photo","defaultEmployeeName":"Employee","nameLabel":"name","namePlaceholder":"Employee name","aboutLabel":"about","aboutPlaceholder":"Briefly describe the employee (max. 140 chars)...","presenceLabel":"Online presence","instagramLabel":"Instagram","tiktokLabel":"TikTok","facebookLabel":"Facebook","youtubeLabel":"YouTube","linkedinLabel":"LinkedIn","telegramLabel":"Telegram","telegramChannelLabel":"TG channel","channelPlaceholder":"Channel or t.me link","whatsappLabel":"WhatsApp","threadsLabel":"Threads","xLabel":"X","usernamePlaceholder":"username","phonePlaceholder":"phone","followersLabel":"Followers","removeLabel":"Remove","contactsEmptyState":"Add the ways a customer can reach a human","customLinksLabel":"Your own links","customLinksEmptyState":"Add a catalogue, a menu, a price list — anything the employee should have read","linkLabelPlaceholder":"What is it","linkUrlPlaceholder":"https://...","contactsLabel":"contacts","websiteLabel":"Website","websitePlaceholder":"https://...","emailLabel":"Email","emailPlaceholder":"hello{'@'}brand.com","faqLabel":"frequently asked questions","addButton":"add","faqPlaceholder":"Tell me about yourself...","faqEmptyState":"add quick questions visitors can tap on the public page","cancelButton":"cancel","saveButton":"save","savingButton":"saving..."},"genui":{"dynamic":{"submitted":"Submitted","required":"Please fill in the required fields","consentRequired":"Please tick the box to continue","imageUnavailable":"Image unavailable","imageOpenFull":"Open the full photo","movedOn":"You continued without sending this","notShown":"This card could not be shown"},"googleForm":{"invalidUrl":"Invalid Google Form URL","loadingForm":"Loading form...","iframeFallback":"Loading...","filledButton":"I have filled it out","submittedLabel":"Submitted"},"leadForm":{"title":"Submit request","defaultReason":"Please fill out the form below","namePlaceholder":"Your name","phonePlaceholder":"Your phone (e.g. +1...)","emailPlaceholder":"Your email (optional)","messagePlaceholder":"Your message (optional)","sending":"Sending...","sendButton":"Send","thankYou":"Thank you, {name}!","successMessage":"Your request has been sent successfully. We will contact you soon."},"paymentModal":{"title":"Payment","subtitle":"Transfer the amount to the details","itemsInOrder":"Items in order:","pcsCount":"{count} pcs.","totalToPay":"Total to pay:","copied":"Copied!","copyDetails":"Copy details","noPaymentMethod":"Payment method not configured","paidButton":"I have paid","placeOrderButton":"Place order without payment (clarify details)","subtitleUnconfigured":"Payment is not connected yet","noPaymentMethodDetail":"The owner has not connected a way to take payment yet, so this cannot be paid here. Write to them and they will say how.","paidNote":"The order confirms itself once the payment goes through.","reserveNote":"The order is held for you — you can pay on delivery."},"productCarousel":{"categoryTitle":"Products for query: {category}","defaultTitle":"Recommended products","badge":"Storefront","emptyTitle":"Products not found","emptyDescription":"Unfortunately, nothing was found in the database for your query.","noOrdersNote":"Ordering from here is not set up yet — ask in the chat."},"cartModal":{"title":"Your cart","itemCountSingular":"item","itemCountPlural":"items","empty":"Cart is empty","returnToShopping":"Return to shopping","total":"Total:","checkout":"Place order","decrease":"One fewer","increase":"One more","remove":"Remove from cart","checkoutNote":"Checkout opens on the next step.","eachSuffix":"{price} each"},"productModal":{"addToCart":"Add to cart","noOrdersNote":"Ordering from here is not set up yet — ask in the chat."},"telegramConnect":{"connectionLabel":"connection","title":"Telegram · personal profile","loadingConnection":"checking your Telegram connection...","closeButton":"close","refreshCodeButton":"refresh code","qrTab":"QR code","phoneTab":"phone","qrInstructions":"Open {app} on your phone → Settings → Devices → tap \"Link Desktop Device\" and scan the QR code.","qrImageAlt":"Telegram QR Code","generatingQr":"generating...","scanningOverlay":"waiting…","waitingForScan":"waiting for scan…","phoneInstructions":"Enter the phone number linked to your Telegram account.","phoneNumberLabel":"phone number","phoneNumberPlaceholder":"+7 (999) 000-00-00","getCodeButton":"Get code","codeLabel":"code from telegram","codePlaceholder":"00000","confirmButton":"Confirm","accountLinked":"Telegram account linked","logOut":"log out","twoStepInstructions":"Two-step verification is enabled — enter your Telegram cloud password.","cloudPasswordLabel":"cloud password","passwordPlaceholder":"Enter password...","continueButton":"Continue","cancelResetButton":"Cancel (reset session)","genericError":"Could not connect the account. Please try again.","sendCodeFailed":"Could not send the code. Check the number and try again.","verifyCodeFailed":"Could not confirm the code. Please try again.","accountTakenTitle":"This Telegram account is already in use","tryAgainButton":"Try again"},"maxUserConnect":{"connectionLabel":"Connection","title":"MAX · personal account","loadingConnection":"Checking your MAX connection...","closeButton":"Close","phoneNumberLabel":"Phone number","phoneNumberPlaceholder":"+7 (999) 000-00-00","getCodeButton":"Get code","codeLabel":"Code from MAX","codePlaceholder":"00000","codeRejected":"That code was not accepted. Please try again.","confirmButton":"Confirm","accountLinked":"MAX account linked","logOut":"Log out","passwordInstructions":"Two-factor protection is on for this account. Enter the password you set for it in MAX.","passwordLabel":"Password","passwordPlaceholder":"Enter password...","continueButton":"Continue","cancelResetButton":"Cancel (reset session)","genericError":"Could not connect the account. Please try again.","loginFailed":"The login did not go through. Request a new code and try again.","codeWrong":"That code did not work. Check it and enter it again — there is no need to request a new one.","codeAttemptsExceeded":"The code did not work several times in a row. Request a new code.","passwordWrong":"That password did not work. Enter it again.","passwordAttemptsExceeded":"The password did not work several times in a row, so the login stopped. Request a new code.","accountNotRegistered":"There is no MAX account on this number. Check the number.","loginExpired":"The MAX login is no longer valid. Connect the account again.","twofaRequiredTitle":"Turn on two-factor protection in MAX","twofaRequiredText":"MAX does not let an SMS code into an account without two-factor protection. Turn it on in the MAX app settings and request a new code — after the code, this window will ask for the password you set.","requestCodeAgainButton":"Request a new code","verifyCodeFailed":"Could not confirm the code. Please try again.","accountTakenTitle":"This MAX account is already in use","tryAgainButton":"Try again","assistantTitle":"Assistant in your Saved messages","assistantOff":"Off","assistantOffHint":"Only people who write to you are answered. Messages you send are ignored.","assistantOn":"Answer me in Saved messages","assistantOnHint":"Write to Saved messages in MAX and the assistant replies there. Your other chats are untouched.","selfIdMissing":"We don't know this account's id, so the assistant cannot recognise your Saved messages. Connect the account again.","toolsTitle":"What the assistant may do there","toolsFull":"Everything (admin tools)","toolsFullHint":"Chains, schedules, memory, CRM and files.","toolsLimited":"Answers only","toolsLimitedHint":"No chains, memory or CRM."},"whatsappConnect":{"connectionLabel":"connection","title":"WhatsApp · personal profile","titleOwnLine":"WhatsApp · our own line","loadingConnection":"loading WhatsApp connection...","qrInstructions":"Open {app} on your phone → Settings → Linked Devices → tap \"Link a Device\" and scan the QR code.","qrImageAlt":"WhatsApp QR Code","modeQr":"QR code","modePhone":"Phone number","phoneIntro":"Enter the number this WhatsApp account uses, and we will give you a code to type into it.","phonePlaceholder":"+7 900 123 45 67","phoneGetCode":"Get code","phoneRequesting":"requesting…","phoneCodeInstructions":"Open WhatsApp on that phone → {path} → enter this code.","phoneLinkPath":"Settings → Linked Devices → Link with phone number","phoneChangeNumber":"use another number","phoneUnavailable":"WhatsApp did not offer a code for this number. Scan the QR code instead.","generatingQr":"generating...","waitingForScan":"waiting for scan…","refreshCodeButton":"refresh code","connected":"WhatsApp connected","connectedAs":"Connected as {number}","disconnectButton":"disconnect","disconnectConfirm":{"title":"disconnect this WhatsApp?","description":"The employee stops answering on this number. Reconnecting means scanning a new QR code from the phone."},"closeButton":"close","failedToLoadQr":"Failed to load QR code. Please try again.","networkError":"Network error. Please check your connection.","assistantTitle":"Assistant in your own chat","assistantOff":"Off","assistantOffHint":"Only your customers' messages are answered. Messages you send are ignored.","assistantOn":"Answer me in my own chat","assistantOnHint":"Write to yourself in WhatsApp and the assistant replies there. Your other chats are untouched.","selfJidMissing":"We don't know this account's number yet, so the assistant cannot recognise your own chat. It is picked up automatically — write yourself a message, or reopen this panel in a moment.","toolsTitle":"What the assistant may do there","toolsFull":"Everything (admin tools)","toolsFullHint":"Chains, schedules, memory, CRM and files.","toolsLimited":"Answers only","toolsLimitedHint":"No chains, memory or CRM. You can switch back by asking it in the chat.","purposeAssistant":"An assistant for me","purposeAssistantHint":"You write to anyworker.ai's own WhatsApp from your phone and your employee answers there. Nothing to connect — no QR, no session on your account.","purposeOwn":"Answer my customers","purposeOwnHint":"Connect this employee to your own WhatsApp account, so it replies to the people who write to your business.","assistantIntro":"Write to {number} from the phone you want your employee to answer. Send it the code below once — that is how we know the number is yours.","assistantGetCode":"Get my code","assistantStarting":"Preparing…","assistantSendCode":"Send exactly this, as a message, from the phone you want linked.","assistantOpenChat":"Open the chat","assistantWaiting":"Waiting for your message","assistantLinkedHint":"Write to {number} from this phone and your employee answers there.","assistantUnlink":"Unlink","assistantAddAnother":"Link another phone","assistantNoPlatformNumber":"This platform has not set up its own WhatsApp number yet, so there is nowhere to write. An administrator adds it under Admin → Apps → Our own channels."},"whatsappCloudConnect":{"connectionLabel":"Connection","title":"WhatsApp · your business number","loading":"Checking this connection…","intro":"Your own WhatsApp Business number answers here, so customers see your business rather than a personal profile.","introHint":"Sign in with Meta, then pick the number this employee should answer on. You will come back here to finish.","connectButton":"Connect with Meta","opening":"Opening Meta…","urlFailed":"Meta could not be opened. Try again in a moment.","statusFailed":"This connection could not be checked. Try again in a moment.","pickNumber":"Which number should this employee answer on?","confirmNumber":"Use this number","saving":"Saving…","noNumbers":"This business account has no WhatsApp number ready yet. Add one in Meta Business, then come back.","numbersFailed":"Meta did not list this account's numbers.","selectFailed":"That number could not be saved.","connected":"Connected","connectedAs":"{name} · {number}","disconnect":"Disconnect","disconnectFailed":"This number could not be disconnected.","protectedFooter":"Your credentials stay on this server","closeButton":"Close"}},"crm":{"connect":{"connectionLabel":"connection","title":"{name} · CRM","loading":"loading {name}...","comingSoonBadge":"soon","officialDocsLink":"official documentation →","connectedLabel":"{name} connected","disconnectButton":"disconnect","scenarioLabel":"create as","scenarioLead":"Lead","scenarioDeal":"Deal","pipelineLabel":"pipeline","pipelineDefault":"Default","toggleAddClient":"Add contact to CRM","toggleAttachToLead":"Attach contact to lead","attachToLeadHint":"If the CRM doesn't support attaching a contact to a lead directly, a comment with a link to the contact card is added to the lead instead.","noAttachToLeadHint":"{name} doesn't allow attaching an existing contact to an already-created lead via its API — the name, phone, and email are stored directly on the lead itself.","toggleAttachToDeal":"Attach contact to deal","toggleSyncMessages":"Sync message history","toggleLiveChat":"Enable live chat in {name}","liveChatHint":"One-way broadcast of the conversation — the operator sees the chat in {name} in real time, but replies sent from there aren't delivered back to the website visitor.","liveChatDisabledHint":"Live chat is only available when connected via the app (OAuth). Reconnect {name} via OAuth to enable this feature.","toggleDeleteOnDialogDelete":"Delete contact when a dialog is deleted","closeButton":"close","connectButton":"connect","connectingButton":"connecting...","saveSettingsButton":"save settings","savingButton":"saving...","connectFailedError":"Failed to connect","connectedToast":"{name} connected","settingsSavedToast":"Settings saved","disconnectedToast":"{name} disconnected"},"bot":{"title":"Open Lines bot","subtitle":"Let this employee answer the customer chats your portal collects — Avito, VK, WhatsApp, the site widget.","connectButton":"Turn on","connectingButton":"Turning on...","disconnectButton":"Turn off","connectedToast":"The employee now answers your Open Lines","disconnectedToast":"The Open Lines bot is off","connectFailedError":"Could not register the bot on your portal.","awaitingFirstMessage":"Registered. Waiting for the first customer message — if none arrives, check that the webhook has the \"imbot\" and \"Open Channels\" permissions.","permissionsHint":"Your webhook needs the \"imbot\" and \"Open Channels\" permissions for this.","toggleNotifyOperators":"Notify the line's operators","notifyOperatorsHint":"After every answer, everyone in the Open Line's queue gets a notification with a link to the dialog."},"amoBot":{"title":"Answer chats in amoCRM","subtitle":"Let this employee answer the customer chats your amoCRM account collects — whatever channels you have connected there.","connectButton":"Set up","connectingButton":"Setting up...","disconnectButton":"Turn off","connectedToast":"The employee is ready to answer in amoCRM","disconnectedToast":"The employee no longer answers in amoCRM","connectFailedError":"Could not set this up.","awaitingFirstMessage":"Waiting for the first message from amoCRM. If none arrives, check that the Salesbot is switched on and that its Widget step comes before the script below.","prerequisiteHint":"amoCRM answers through a Salesbot. Your account needs the Advanced plan and our widget uploaded — the Widget step is what lets a bot call an outside service.","scriptLabel":"Import this into Settings → Communication tools → Salesbots","copyScript":"Copy the script","copiedToast":"Copied","secretLabel":"Private integration secret key (leave empty if you connected via OAuth)"}},"pages":{"privacy":{"backToHome":"back to home","eyebrow":"@:{'brand.name'} · legal","title":"Privacy Policy","lastUpdated":"last updated {date}","intro1":"This Privacy Policy applies to the @:{'brand.name'} platform.","intro2":"Throughout this policy, \"@:{'brand.name'}\", \"we\", \"our\", and \"us\" refer to the owner of the platform.","section1Title":"1. Information We Collect","section1Body":"We may collect personal information such as your name, email address, and interactions with our AI agents when you use @:{'brand.name'}. We also collect usage data to improve our services.","section2Title":"2. How We Use Your Information","section2Body":"We use the information we collect to provide, maintain, and improve our services, as well as to communicate with you and personalize your experience.","section3Title":"3. Third-Party Services","section3Body":"We may share your information with third-party service providers (such as OpenAI for processing AI responses) strictly for the purpose of operating our service.","googleTitle":"4. Google User Data","googleIntro":"Connecting a Google account is optional. When you connect one, @:{'brand.name'} requests only the Google API scopes needed for the actions you ask your AI employee to perform on your behalf:","googleCalendar":"Google Calendar — check availability and create or update events when your employee books a meeting for you.","googleGmail":"Gmail — read the threads you route to your employee and draft or send the replies you approve.","googleDrive":"Drive, Docs, Sheets and Forms — read the files you add as employee knowledge and write back the documents your employee produces.","googleContacts":"Contacts and Tasks — look up the person your employee is talking to and create follow-up tasks.","googleHandling":"Google access tokens and connection settings are stored encrypted. Google user data is used only to provide these features to you. It is never sold, never used for advertising, and never used to train AI or machine-learning models. We do not transfer Google user data to others except as needed to provide these features, when required by law, or as part of a merger or acquisition with prior notice to you.","googleLimitedUse":"@:{'brand.name'}'s use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.","googleLimitedUseLink":"Google API Services User Data Policy","googleRevoke":"You can disconnect Google at any time in your @:{'brand.name'} dashboard, which revokes the stored token, and you can also revoke access from your Google Account permissions page.","googleRevokeLink":"Google Account permissions page","section4Title":"5. Data Security","section4Body":"We implement reasonable security measures to protect your personal information, but please note that no method of transmission over the internet is 100% secure.","section5Title":"6. GDPR & Data Deletion Rights","section5Intro":"If you are a resident of the European Economic Area (EEA), you have certain data protection rights under the General Data Protection Regulation (GDPR). Every user, regardless of location, has the right to:","rightsAccessLabel":"Access","rightsAccessDesc":"Request a copy of the personal data we hold about you.","rightsCorrectionLabel":"Correction","rightsCorrectionDesc":"Request that we correct any inaccurate or incomplete information.","rightsDeletionLabel":"Data deletion","rightsDeletionDesc":"Request complete deletion of your personal data and account.","deletionRequestLabel":"How to request data deletion:","deletionRequestBody":"to exercise any of these rights, including requesting the deletion of your account and all associated data, send an email to","deletionRequestSuffix":"with the subject line \"Data Deletion Request\". We will process your request within 30 days.","section6Title":"7. Contact Us","section6Body":"If you have any questions about this Privacy Policy, please contact us at:","contactEmailLabel":"Email","contactCompanyLabel":"Company","contactRegNumberLabel":"Registration number","contactAddressLabel":"Address","metaTitle":"Privacy Policy {'|'} @:{'brand.name'}","metaDescription":"Privacy Policy for @:{'brand.name'}","doc":{"label":"Privacy","icon":"shield_lock","eyebrow":"policy","title":"Privacy Policy","updated":"Edition of 10 October 2026","lead":"In short: we collect the minimum, keep it isolated, never sell it and never train on your data models that other customers use. Details below, including your rights under the Russian Law «On Personal Data» and the GDPR.","tocLabel":"On this page","contactLabel":"Still have questions?","blocks":[{"h":"Who processes your data"},{"p":"The personal-data operator is %legal% (INN %inn%, OGRN %ogrn%), address: %address%. We process data under the Russian Federal Law «On Personal Data» (152-FZ). Full details are at the bottom of this page."},{"h":"What we collect"},{"table":[{"k":"Account","v":"name, email, phone, username, profile photo","mono":false},{"k":"Knowledge base","v":"files and links you have uploaded to the employee","mono":false},{"k":"Conversations","v":"the employee's conversations with customers in every channel, your messages to employees and to the in-app helper","mono":false},{"k":"Support requests","v":"the text, attachments, and the page and device you wrote from","mono":false},{"k":"Technical data","v":"IP, device and browser type, request times, error reports","mono":false},{"k":"Actions in the cabinet","v":"a recording of what was on screen during guided tips, before an error and when you contact support — details below","mono":false},{"k":"Visit statistics","v":"if Yandex Metrica is enabled on the site: pages, navigation, clicks, scrolling — details below","mono":false},{"k":"Payments","v":"date, amount and plan; we never receive or store card details — the bank processes them","mono":false}]},{"h":"Why"},{"ul":[{"i":"smart_toy","t":"So the employee answers from your materials and remembers the context of a conversation."},{"i":"insights","t":"So we can show you results: how many leads, how many payments, where a customer was lost."},{"i":"monitoring","t":"To find failures — the action log is fully available to you."},{"i":"support_agent","t":"To see where the cabinet is hard to use and fix errors: for that we watch action recordings and visit statistics."},{"i":"receipt_long","t":"To issue invoices and meet tax law requirements."}]},{"h":"Legal basis"},{"ul":[{"i":"verified_user","t":"Your consent to personal-data processing. It is a separate document: you give it in the cabinet, separately from accepting the terms.","href":"/consent","linkText":"Consent text"},{"i":"receipt_long","t":"Our contract with you — the Terms of use: we cannot provide the service without account data.","href":"/terms","linkText":"Terms of use"},{"i":"rule","t":"Legal requirements — for example, tax and accounting."}]},{"h":"What we do not do"},{"callout":{"i":"block","t":"We do not sell or pass your data to third parties for marketing. We do not train models available to other customers on your knowledge base. We do not read your conversations by hand — except when you ask us to look into a problem. The exception is your conversations with the in-app helper: our support staff see them, to answer questions and fix errors."}},{"h":"Recording actions in the cabinet"},{"p":"When you go through guided tips («First steps», section tours), when an error happens in the cabinet and when you write to support, we keep a recording of what was on screen: cursor movement, clicks, scrolling and page changes. It is not video or screenshots — the page is rebuilt from its markup."},{"ul":[{"i":"block","t":"What you type into fields is not recorded — only the number of characters is visible. Passwords are never recorded."},{"i":"shield","t":"On pages with your customers' data — inbox, contacts, conversations, logs — all text is hidden in the recording."},{"i":"schedule","t":"Recordings are kept for 30 days, ones marked as a bug for up to 90 days. They are deleted with the account."},{"i":"monitoring","t":"Recordings stay on our servers and are not passed to third-party services. Only platform administrators watch them — to fix errors and improve the tips."}]},{"h":"Yandex Metrica and cookies"},{"p":"We use technical cookies and browser storage: to keep you signed in and to let the cabinet remember your workspace and your progress through the tips. The site does not work without them."},{"p":"The site may use the Yandex Metrica statistics service, including Webvisor. It collects anonymised visit data — pages, navigation, clicks, scrolling, device and browser type, IP — using cookies, and passes it to YANDEX LLC, which processes it on our behalf. Fields you type data into are hidden in Webvisor. We use this data only for statistics and to improve the site. You can block collection in your browser settings or with the Yandex Metrica opt-out:","link":{"t":"Yandex Metrica opt-out","href":"https://yandex.ru/support/metrica/general/opt-out.html"}},{"h":"Google user data"},{"p":"Connecting a Google account is optional. If you connect one, we request only the Google API permissions an employee needs in order to work, and only the ones you granted."},{"ul":[{"i":"event","t":"Google Calendar — check availability and create or change events when an employee books you a meeting."},{"i":"mail","t":"Gmail — read the threads you handed to an employee, draft replies, and send the ones you approved."},{"i":"folder","t":"Drive, Docs, Sheets and Forms — read files added to the knowledge base and write back documents the employee produced."},{"i":"contacts","t":"Contacts and Tasks — identify the person an employee is talking to and create tasks off the back of a conversation."}]},{"p":"Google access tokens and connection settings are stored encrypted. Google user data is used only for the action you connected the service for, and is passed to nobody else."},{"p":"Our use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements:","link":{"t":"Google API Services User Data Policy","href":"https://developers.google.com/terms/api-services-user-data-policy"}},{"p":"You can disconnect Google at any time in the dashboard, which revokes the stored token. Access can also be revoked on Google's side:","link":{"t":"Google account permissions page","href":"https://myaccount.google.com/permissions"}},{"h":"Where it is stored"},{"p":"Passwords, tokens and access keys for connected services are stored encrypted. Each account's knowledge base is isolated: one company's employee cannot reach another company's material."},{"p":"The server and the main database are in Russia (hosting: just-host.ru). Uploaded files are kept in Yandex Object Storage — Yandex Cloud, Russia."},{"p":"Requests to language models go to model providers; the list, and which of them your plan includes, is in the employee's settings. Some providers are outside Russia, so such requests are a cross-border transfer of data. We send only what is needed for the answer."},{"h":"Who we pass data to"},{"p":"Only those the service cannot work without, and only what their part of the work needs:"},{"ul":[{"i":"shield","t":"Hosting and storage: just-host.ru (server and database, Russia), Yandex Cloud (files, Russia). Email, the error log and file storage run on our own server."},{"i":"smart_toy","t":"Language-model providers: OpenAI, Anthropic, OpenRouter and Cerebras (USA); through OpenRouter — DeepSeek, Qwen, GLM and Kimi models (China), Gemini (Google) and Grok (xAI). They receive the request needed for the answer — a cross-border transfer. Requests to them may pass through proxy servers outside Russia."},{"i":"open_in_new","t":"The Steel cloud browser (USA) — when the employee works on websites in a browser on your behalf."},{"i":"terminal","t":"Daytona cloud sandboxes (USA) — when the employee runs a program or builds a file on your behalf: the data and files needed for it go there. This is a cross-border transfer."},{"i":"key","t":"Sign-ins to websites that you save yourself for the employee's browser work are kept by us encrypted and are passed only to the cloud browser while it signs in to that site. You can delete them at any time with «Sign out everywhere»."},{"i":"key","t":"Sign-in services, if you sign in with them: Yandex ID, VK ID, Mail.ru."},{"i":"forum","t":"Messengers and services you connect yourself: Telegram, WhatsApp, MAX, Google, Yandex (Disk, Mail), Mail.ru, Instagram, Facebook, CRMs. The messages and data you asked the employee to send or read pass through them."},{"i":"insights","t":"YANDEX LLC — if Yandex Metrica is enabled on the site."},{"i":"payments","t":"The acquiring bank, T-Bank JSC — to take payments."}]},{"h":"Security"},{"p":"We apply reasonable technical and organisational safeguards. That said, no method of transmission over the internet and no storage system is absolutely secure, and promising otherwise would not be honest."},{"h":"How long we keep it"},{"table":[{"k":"Conversations","v":"until you delete them","mono":false},{"k":"Knowledge base","v":"until you delete it","mono":false},{"k":"Conversations with the in-app helper","v":"90 days after the last message","mono":false},{"k":"Action recordings","v":"30 days, ones marked as a bug up to 90 days","mono":false},{"k":"Action log","v":"7 days","mono":false},{"k":"After the account is deleted","v":"30 days, then permanently","mono":false}]},{"h":"Your rights"},{"p":"Under the Law «On Personal Data» you have the right to know which of your data we process and why, and to control it. If you are in the European Economic Area, you also have rights under the GDPR — we honour them for everyone."},{"table":[{"k":"Access","v":"learn which of your data we process and get a copy","mono":false},{"k":"Correction","v":"have inaccurate or incomplete data corrected","mono":false},{"k":"Deletion","v":"have your personal data and account deleted","mono":false},{"k":"Withdrawing consent","v":"withdraw your consent to processing; we then stop processing and delete the data, and the cabinet can no longer be used","mono":false},{"k":"Complaint","v":"challenge our actions with Roskomnadzor (the Russian data-protection authority) or in court","mono":false}]},{"p":"Send requests to %email% with the subject «Data Deletion Request». We answer within 10 working days; if we need longer, we will tell you why and extend by no more than 5 working days. You can also download a copy of your data yourself: Settings → Account → «Download my data» (once a day; the link works for 7 days). «Delete account» is in the same place."},{"h":"How to reach us"},{"table":[{"k":"Email","v":"%email%","mono":true},{"k":"Legal entity","v":"%entity%","mono":false},{"k":"INN (tax number)","v":"%inn%","mono":true},{"k":"OGRN (registration number)","v":"%ogrn%","mono":true},{"k":"Address","v":"%address%","mono":false}]}]}},"terms":{"backToHome":"back to home","eyebrow":"@:{'brand.name'} · legal","title":"Terms of Service","lastUpdated":"last updated {date}","intro1":"These Terms govern your use of @:{'brand.name'}.","intro2":"@:{'brand.name'} is operated by its owner. Full company details are on the Company page.","section1Title":"1. Acceptance of Terms","section1Body":"By accessing or using @:{'brand.name'}, you agree to be bound by these Terms of Service. If you disagree with any part of the terms, you may not access the service.","section2Title":"2. Use of Service","section2Body":"You agree to use @:{'brand.name'} only for lawful purposes and in accordance with these Terms. You are responsible for any content you generate or interact with using our AI agents.","section3Title":"3. Intellectual Property","section3Body":"The service and its original content, features, and functionality are and will remain the exclusive property of @:{'brand.name'} and its licensors.","section4Title":"4. Limitation of Liability","section4Body":"In no event shall @:{'brand.name'}, nor its directors, employees, partners, agents, suppliers, or affiliates, be liable for any indirect, incidental, special, consequential or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from your access to or use of or inability to access or use the Service.","section5Title":"5. Changes to Terms","section5Body":"We reserve the right, at our sole discretion, to modify or replace these Terms at any time. We will provide notice of any significant changes.","section6Title":"6. Contact Us","section6Body":"If you have any questions about these Terms, please contact us at:","contactEmailLabel":"Email","contactCompanyLabel":"Company","contactRegNumberLabel":"Registration number","contactAddressLabel":"Address","metaTitle":"Terms of Service {'|'} @:{'brand.name'}","metaDescription":"Terms of Service for @:{'brand.name'}","doc":{"label":"Terms","icon":"gavel","eyebrow":"terms of service","title":"Terms of Service","updated":"Edition of 30 September 2026","lead":"This is a contract between you and the owner of the @:{'brand.name'} platform. You accept it by ticking «I accept the Terms of use» in the cabinet; we record the date, time and edition you accepted. We have tried to write plainly — if something is unclear, write to us rather than guess.","tocLabel":"On this page","contactLabel":"Still have questions?","blocks":[{"h":"What you get"},{"p":"Access to the platform where you create AI employees, connect them to your channels and automate repetitive work. How much access you get is set by your plan."},{"p":"The unit of billing is an action. An action is one step of an employee's work: an answer to a customer, a search across the knowledge base, a write to the CRM, a step of a chain. Heavier models and more complex chains spend more actions per step."},{"h":"Who may use it"},{"p":"The platform may be used by people aged 18 or over with full legal capacity, and by companies and sole proprietors through their representatives. By registering on behalf of a company, you confirm you may act for it."},{"h":"What you are responsible for"},{"ul":[{"i":"verified_user","t":"The lawfulness of the data you upload to the knowledge base, and your right to use it."},{"i":"rule","t":"The instructions you give an employee. The employee carries them out — including the wrong ones."},{"i":"key","t":"The access you grant: a connected CRM or messenger acts in your name."},{"i":"block","t":"Not using the platform for spam, deception, or anything prohibited by applicable law."}]},{"h":"What we are responsible for"},{"p":"We keep the platform running, store your data in isolation and warn you about planned work. We do not guarantee that a model will never be wrong — it is a statistical system, not a reference book."},{"callout":{"i":"info","t":"Which is why approvals exist in the product: when a decision falls outside the limits you set, the employee stops and asks you. Set the limits — and it will not promise a customer more than it should."}},{"h":"Intellectual property"},{"p":"The platform itself — its code, interface, design and name — belongs to its owner. The material you upload, and the text an employee writes from it, stays yours: we make no claim on it and do not use it outside your account."},{"h":"Personal data"},{"p":"How we handle data is described in the Privacy policy. Consent to personal-data processing is a separate document: you give it in the cabinet together with accepting these terms.","link":{"t":"Consent to personal-data processing","href":"/consent"}},{"h":"Suspension and account deletion"},{"ul":[{"i":"block","t":"We may suspend access if the account is used for spam, fraud or any other unlawful activity, and will tell you at the account email."},{"i":"logout","t":"You can delete your account at any time; data is deleted as described in the Privacy policy."}]},{"h":"Limitation of liability"},{"p":"We are not liable for indirect losses, lost profit or data held by services you connected yourself. In any case our liability is limited to what you paid over the last twelve months. These limits apply to the extent the law allows and do not take away a consumer's rights under the Russian consumer-protection law."},{"h":"Payment and refunds"},{"p":"A plan is paid for once, for the term you choose; there are no automatic charges. Unused actions do not carry over to the next period."},{"steps":[{"n":"1","t":"No automatic renewal","d":"The plan runs to the end of the period you paid for. The next period is paid for separately — with «Extend» on the Billing page. If it is not paid, the cabinet closes a day after the period ends, until payment. Your data stays."}]},{"p":"The grounds, procedure and timescales for a refund are on their own page, “Refunds”, which also prints the request form and covers a charge made in error."},{"h":"Changes"},{"p":"If we change the terms materially, we give 30 days' notice by email and in the product. A new edition takes effect for you when you accept it in the cabinet; until you do, the cabinet is unavailable."},{"h":"Governing law and disputes"},{"p":"These terms are governed by the law of the Russian Federation. If a dispute arises, write to us first at %email% — we answer a claim within 30 days. If we cannot agree, the dispute goes to court under Russian law; a consumer may sue at their place of residence."},{"h":"How to reach us"},{"table":[{"k":"Email","v":"%email%","mono":true},{"k":"Legal entity","v":"%entity%","mono":false},{"k":"INN (tax number)","v":"%inn%","mono":true},{"k":"OGRN (registration number)","v":"%ogrn%","mono":true},{"k":"Address","v":"%address%","mono":false}]}]}},"company":{"backToHome":"back to home","eyebrow":"@:{'brand.name'} · company","title":"Company","metaTitle":"Company {'|'} @:{'brand.name'}","metaDescription":"Company information for @:{'brand.name'}.","doc":{"label":"Company","icon":"domain","eyebrow":"about us","title":"@:{'brand.name'}","updated":"Information current as of 3 September 2026","lead":"We build the platform that gives a small company AI employees: they answer customers, quote prices, take orders and raise invoices — in every channel the customer already writes to.","tocLabel":"On this page","contactLabel":"Still have questions?","blocks":[{"h":"Who we are"},{"p":"A small team. We started with one bot for an online shop — today hundreds of employees run on the platform, each of them closing work somebody used to do by hand."},{"p":"We do not sell «artificial intelligence». We sell the outcome: the lead that reached the CRM, the invoice that actually went out, and the customer who got an answer in eight seconds instead of a day."},{"h":"What the service runs on"},{"p":"Answers are prepared by large language models from leading developers — Claude, GPT-5 and others; we choose which ones run here for each task and test them ourselves. We do not train models of our own, nor train anyone else's on customer data."},{"p":"Which model answers in a given case depends on the task and the plan; on Enterprise the environment and the set of models are agreed separately."},{"h":"Legal details"},{"table":[{"k":"Legal entity","v":"%legal%","mono":false},{"k":"INN","v":"%inn%","mono":true},{"k":"OGRN","v":"%ogrn%","mono":true},{"k":"KPP","v":"%kpp%","mono":true},{"k":"Address","v":"%address%","mono":false},{"k":"Phone","v":"%phone%","mono":true},{"k":"Website","v":"%host%","mono":true},{"k":"Email","v":"%email%","mono":true}]},{"h":"How to reach us"},{"ul":[{"i":"mail","t":"General questions and partnerships — %email%."},{"i":"shield","t":"Personal data, access to your own data and account deletion — same address, subject line «Data Deletion Request»."},{"i":"support_agent","t":"Support — inside the product, the button in the bottom right corner."}]}]}},"dataDeletion":{"metaTitle":"Data Deletion Instructions {'|'} @:{'brand.name'}","metaDescription":"How to delete your data and disconnect the services you connected to @:{'brand.name'}.","doc":{"label":"Data deletion","icon":"delete_forever","eyebrow":"how to delete","title":"Data deletion","updated":"Updated 21 October 2026","lead":"This page describes how to delete a single conversation, a knowledge base, an employee or the whole account, how to revoke access from connected services — and what happens after each of those.","tocLabel":"On this page","contactLabel":"Still have questions?","blocks":[{"h":"What you can delete yourself"},{"steps":[{"n":"1","t":"A single fact from memory","d":"Employee dashboard → Knowledge → Memory → «Forget» next to the contact. The conversation itself stays."},{"n":"2","t":"A whole conversation","d":"Sessions tab → conversation menu → delete. Both the exchange and everything the employee remembered from it go."},{"n":"3","t":"A knowledge base","d":"Employee dashboard → Files → rebuild the base. Every uploaded file and its indexes are deleted."},{"n":"4","t":"An employee","d":"Employee list → card → delete. The public address is released and starts answering 404."}]},{"h":"Disconnecting the services"},{"p":"An employee works through the services you connected to it. Disconnecting breaks the link and erases the access keys we hold — but the messages and records that already reached the service itself stay there, and are deleted on its side."},{"steps":[{"n":"1","t":"Telegram","d":"The employee's dashboard → Integrations → Disconnect next to Telegram. The bot stops answering as the employee at once and its token is deleted. If a personal account was connected, the session ends — you can also end it from Telegram's own Settings → Devices."},{"n":"2","t":"WhatsApp","d":"Same place, disconnect next to WhatsApp, with a confirmation. The number is detached from the employee and incoming messages stop reaching us."},{"n":"3","t":"Bitrix24 and other CRMs","d":"The employee's dashboard → CRM → disconnect. We delete the webhook and the portal key. Deals, contacts and tasks the employee created stay in your Bitrix24 — they are yours, and they are deleted there."},{"n":"4","t":"MoySklad and accounting systems","d":"Settings → Connected apps → Disconnect. The access token is deleted here; documents and counterparties stay in your accounting system."}]},{"h":"Deleting the account"},{"p":"Settings → Account → «Delete account». We ask for your password to confirm, or for a code from an email if you sign in with Google, VK or Yandex."},{"ul":[{"i":"schedule","t":"Immediately: the account is switched off and every employee's public page stops answering."},{"i":"history","t":"For 30 days: the data is kept in case you change your mind. Write to us and we will restore the account."},{"i":"delete_forever","t":"After 30 days: the account and all of its data are deleted for good; in backups they remain until those copies expire."}]},{"h":"What remains after deletion"},{"callout":{"i":"gavel","t":"We are required to keep payment records — invoices, acts and payment orders. Tax law requires it and we cannot delete them on request. They contain no personal data beyond the payer's details."}},{"h":"Data that has already left"},{"p":"If an employee wrote a lead into your CRM, sent an invoice into your accounting system or messaged a customer — that data is already in those systems. Deleting your account here does not touch it: it has to be deleted on the side of the service in question."},{"h":"Requesting deletion"},{"p":"If you no longer have access to the account, write to %email% from the address it is registered to, with the subject line «Data Deletion Request». We verify identity and carry out the request within 30 calendar days."}]},"statusTitle":"Your deletion request","statusCodeLabel":"Confirmation code:","statusChecking":"Checking the status of your request…","statusCompleted":"Done. The Facebook and Instagram connections you made with @:{'brand.name'} have been removed, together with their access tokens and our copies of your Instagram posts.","statusNothingHeld":"Done. We checked and hold no Facebook or Instagram connection of yours, so there was nothing to delete.","statusNotFound":"We have no deletion request under this code. Check that the link is complete, or write to us at the address below.","statusError":"We could not check this request right now. Please try again in a few minutes.","statusCompletedAt":"Completed:"},"paymentRules":{"metaTitle":"Payment rules and payment security {'|'} @:{'brand.name'}","metaDescription":"How a @:{'brand.name'} subscription is paid for by card, which cards are accepted, why a payment can be declined, and how card data is protected.","doc":{"label":"Payment","icon":"credit_card","eyebrow":"how payment works","title":"Payment rules and payment security","updated":"Updated 21 October 2026","lead":"A subscription is paid for by bank card online. This page says who settles the payment, which cards are accepted, what happens at each step, why a payment can be declined, and what we do with your card details — the short answer being that we never see or store them.","tocLabel":"On this page","contactLabel":"Still have questions?","blocks":[{"h":"Who settles the payment"},{"p":"Card payments are processed by %acquirer% — the bank that accepts the payment and settles the money. The payee is %legal%, the same legal entity whose details are on the Company page."},{"p":"VISA, MasterCard and MIR cards are accepted."},{"p":"We sell access to the service by subscription. Each plan's price and what it includes are on the home page; the charge is in roubles and the price shown is the final one."},{"h":"What happens when you pay"},{"steps":[{"n":"1","t":"You pick a plan","d":"The amount and what the plan includes are shown before payment. Pressing the pay button confirms an order for that amount."},{"n":"2","t":"The bank's payment page opens","d":"Card details are entered on the secure payment page of %acquirer%, not on our site. You will need the card number, the cardholder's name, the expiry date and the three-digit security code: CVV2 for VISA, CVC2 for MasterCard, the Additional Identification Code for MIR. All of these are printed on the card itself; the three-digit code is on the back."},{"n":"3","t":"Your bank confirms it is you","d":"You are then redirected to your own bank's page to enter the confirmation code sent to you by SMS. If the code does not arrive, contact the bank that issued the card — it sends the code, not us."},{"n":"4","t":"The subscription starts","d":"Once the payment succeeds, access on the chosen plan opens immediately and a confirmation is sent to the email on the account."}]},{"h":"Why a payment can be declined"},{"p":"The decision is made by the bank that issued the card — we only see its answer. Usually the reason is one of four:"},{"ul":[{"i":"credit_card_off","t":"the card is not enabled for online payments — your bank can tell you whether it is;"},{"i":"account_balance_wallet","t":"there are not enough funds on the card — the balance can be checked with the issuing bank;"},{"i":"keyboard","t":"the card details were entered incorrectly;"},{"i":"event_busy","t":"the card has expired — the month and year are usually on the front of the card."}]},{"p":"A declined payment takes no money and creates no subscription. Try another card or ask your bank — and if it still will not go through, write to us."},{"h":"What we do with card data"},{"p":"The personal information you provide — name, address, phone, email, card number — is confidential and is not disclosed. Your card data is transmitted in encrypted form only and is not stored on our server."},{"callout":{"i":"lock","t":"The card number, expiry date and security code are entered on the bank's side. We do not receive them, do not see them and do not store them — not even in logs."}},{"p":"Online payment is carried out in accordance with the rules of the Visa and MasterCard international payment systems and the MIR payment system, on the principles of confidentiality and payment security, using current methods of verification, encryption and transmission over closed channels."},{"p":"How we handle the rest of your data is described separately, in the privacy policy."},{"h":"How and when you receive the service"},{"p":"The service is access to a subscription product, so it has no delivery in the ordinary sense — nothing is shipped. Here is what stands in its place."},{"ul":[{"i":"bolt","t":"When. Access opens immediately after a successful payment, within minutes. There is no wait for a human to confirm anything."},{"i":"language","t":"Where. The service is provided over the internet at %host%, anywhere you have a browser. There are no geographic restrictions."},{"i":"schedule","t":"For how long. For the period paid for — you choose the term when you pay. The subscription does not renew automatically: the next period is paid for separately."},{"i":"payments","t":"What delivery costs. Nothing: there is no separate charge for providing access, and the plan price is the final one."}]},{"h":"Guarantees"},{"ul":[{"i":"cloud_done","t":"Service availability is at least 99% of the time in a calendar month, excluding planned work, which we announce inside the product in advance. We keep the service running and announce planned work inside the product in advance."},{"i":"history","t":"If the service was unavailable through our fault, that period does not count as delivered: we either extend the subscription by the same time or refund it — your choice."},{"i":"support_agent","t":"Support answers on working days; write from inside the product or to %email%."},{"i":"info","t":"We do not guarantee that the language model never errs: it is a probabilistic tool, and the decisions it prepares stay under your control."}]},{"h":"Renewal"},{"p":"The subscription does not renew by itself: every payment is a one-off for the term you chose, and nothing is charged without your action. Everything you need to know about it is below."},{"ul":[{"i":"autorenew","t":"When. When you pay for the next period yourself — with «Extend» on the Billing page. If a period has ended and the next one is not paid, the cabinet closes a day later, until payment."},{"i":"payments","t":"How much. The plan's price at the moment you pay — it is shown before you pay. If a price changes we say so in advance, and the new one applies only from the following period."},{"i":"notifications","t":"Notice. The end of the paid period is shown on the Billing page («Paid until …»). There are no emails about an upcoming charge: nothing is charged without your action."},{"i":"cancel","t":"How to stop it. There is nothing to cancel: if you do not pay for the next period, access continues to the end of the one already paid for."}]},{"h":"The fiscal receipt"},{"p":"A fiscal receipt is issued for every payment made by an individual, as Russian federal law 54-FZ requires. It reaches the email address on the account within a day of the payment. If it does not arrive, write to %email% and we will send it again."},{"h":"Questions about payment"},{"table":[{"k":"Phone","v":"%phone%","mono":true},{"k":"Email","v":"%email%","mono":true},{"k":"Payee","v":"%legal%","mono":false}]},{"p":"For questions about card payment, or anything else about the site, call the number above or write to us. Refunds have their own page — “Refunds”."}]}},"refund":{"metaTitle":"Refunds {'|'} @:{'brand.name'}","metaDescription":"When and how to get money back for a @:{'brand.name'} subscription: grounds, how to file a request, refund timescales and what to do about an incorrect charge.","doc":{"label":"Refunds","icon":"assignment_return","eyebrow":"getting money back","title":"Refunds","updated":"Updated 7 September 2026","lead":"We sell a subscription to a service rather than goods, so the usual rules about original packaging and saleable condition do not apply. Something else does: you can stop using a service at any time. Below: on what grounds, where to write, how long a refund takes, and what to do if a charge was made in error.","tocLabel":"On this page","contactLabel":"Still have questions?","blocks":[{"h":"Where the money goes back to"},{"callout":{"i":"verified","t":"For the first 14 days after a plan is first paid for, the current period is refunded in full and without needing a reason. That is our own guarantee — wider than the law requires, and it does not replace any of the grounds below."}},{"p":"Where payment was made by card, a cash refund is not permitted. The money returns to the same card it was paid from — the international payment systems require this, and their rules govern the refund procedure."},{"p":"The refund equals the amount of the purchase. The only thing withheld is the value of any part of the service already delivered, if the subscription ran for part of the paid period — the costs actually incurred, in the sense of article 32 of the Russian consumer protection law. Nothing at all is withheld from an incorrect charge."},{"h":"Grounds for a refund"},{"ul":[{"i":"logout","t":"Cancelling the service. Article 32 of the Russian consumer protection law: you may withdraw from the contract at any time, paying only the costs we have actually incurred — that is, the part of the subscription already served."},{"i":"shopping_cart_off","t":"Withdrawal from a distance sale. Article 26.1 of the same law is written about goods; it applies to a subscription so far as it can, and always on whichever ground is better for you."},{"i":"error","t":"An incorrect charge. A double charge, a charge after cancellation, the wrong amount — here the whole incorrectly charged sum comes back, with nothing deducted."},{"i":"cloud_off","t":"Service not delivered through our fault. If the service was unavailable because of us, that period does not count as delivered and is refunded in full."}]},{"h":"What article 26.1 says"},{"p":"The payment systems' rules refer to article 26.1 of the Russian consumer protection law. It is written about goods, so here is what each of its clauses means for a subscription to a service — including the one that does not apply to it."},{"ul":[{"i":"schedule","t":"Before the service starts, you may withdraw at any time. After it starts — within seven days, as article 26.1 provides for a distance sale."},{"i":"receipt_long","t":"For goods the article requires the item's saleable condition and proof of purchase. A service has no saleable condition, so all we need from you is the proof of payment — it is emailed to the account at the moment of purchase."},{"i":"block","t":"The clause about individually-defined properties does not apply to a subscription: access to the service is not made for one buyer and can be provided to anyone."},{"i":"payments","t":"On withdrawal we return the sum paid under the contract no later than ten days from the day you made the demand."}]},{"h":"How to file a request"},{"steps":[{"n":"1","t":"Write to %refund%","d":"Subject: “Refund request”. We will send the form back to you; it is also printed below on this page — you can simply copy and fill it in without waiting for a reply."},{"n":"2","t":"Attach a copy of your passport","d":"It is what makes sure the money goes back to whoever paid: the refund goes to a card, and only its holder can establish the right to it. If the charge was made in error, attach the receipt confirming it as well."},{"n":"3","t":"Wait for the money to reach the card","d":"It returns to the same card. When it appears depends on the issuing bank — usually one to five working days after we send the refund."}]},{"h":"Timescales"},{"p":"Two different periods, and they should not be confused. The money is returned **within ten days** of our receiving your demand — that is the statutory period under Russian consumer protection law. Its arrival on the card takes up to 21 (twenty-one) working days from receipt of the request: that period is set by the payment systems and the issuing bank, and it is an outer limit rather than the norm."},{"callout":{"i":"schedule","t":"The period is counted in working days, excluding public holidays and weekends, and starts when the request reaches us — not when you decided to write it."}},{"h":"Where to write"},{"h":"The request form"},{"p":"Copy the text below into an email, fill it in and send it to %refund%. A request in your own words is accepted too — what matters is that it carries the same details."},{"form":"To: %legal%\nFrom: full name\nAccount email address: \nContact phone: \n\nREFUND REQUEST\n\nI request a refund for my subscription to %host%.\n\nPayment date: \nPayment amount: \nLast four digits of the card used: \nPlan: \nReason for the refund: \n\nI request that the money be returned to the same bank card the payment was made from.\n\nEnclosed: a copy of my passport (the page with the photograph).\nFor an incorrect charge, additionally: the receipt confirming the transaction.\n\nDate: \nSignature: "},{"table":[{"k":"Refund requests","v":"%refund%","mono":true},{"k":"Phone","v":"%phone%","mono":true},{"k":"Legal entity","v":"%legal%","mono":false}]},{"p":"How the payment itself works and what we do with card data is on the “Payment rules and payment security” page."}]}},"consent":{"metaTitle":"Consent to personal-data processing {'|'} @:{'brand.name'}","metaDescription":"Consent to personal-data processing for @:{'brand.name'} users: the operator, the data, purposes, duration and withdrawal.","doc":{"label":"Consent","icon":"verified_user","eyebrow":"personal data","title":"Consent to personal-data processing","updated":"Edition of 10 October 2026","lead":"This is your consent to the processing of your personal data. You give it by ticking «I consent to the processing of personal data» in the @:{'brand.name'} cabinet. It is kept separate from the Terms of use and the Privacy policy, as article 9 of the Russian Law «On Personal Data» requires.","tocLabel":"On this page","contactLabel":"Questions?","blocks":[{"h":"Who you give consent to"},{"table":[{"k":"Operator","v":"%legal%","mono":false},{"k":"INN (tax number)","v":"%inn%","mono":true},{"k":"OGRN (registration number)","v":"%ogrn%","mono":true},{"k":"Address","v":"%address%","mono":false},{"k":"Email","v":"%email%","mono":true}]},{"p":"By ticking the box you freely, of your own will and in your own interest consent to the operator processing your personal data on the terms below, and confirm that you are 18 or over."},{"h":"Which data"},{"table":[{"k":"Account data","v":"name, email address, phone, username, profile photo","mono":false},{"k":"Cabinet content","v":"knowledge-base materials, instructions to employees, your messages to employees and to the helper","mono":false},{"k":"Support requests","v":"text, attachments, page and device details","mono":false},{"k":"Technical data","v":"IP address, device and browser type, request times, error reports, cookies","mono":false},{"k":"Actions in the cabinet and on the site","v":"cursor movement, clicks, scrolling and page changes — during guided tips, before an error, when contacting support — and site visit statistics; typed text is not recorded","mono":false},{"k":"Payment details","v":"date, amount, plan; only the bank receives card details","mono":false}]},{"h":"Why"},{"ul":[{"i":"smart_toy","t":"To give you access to the platform and the work of AI employees."},{"i":"key","t":"To register you, sign you in and protect your account."},{"i":"support_agent","t":"To answer support requests and find and fix errors."},{"i":"insights","t":"To improve the cabinet, the site and the guided tips."},{"i":"receipt_long","t":"To take payments and meet legal requirements."},{"i":"mail","t":"To send messages about the service, changes to the terms and account security."}]},{"h":"What the operator may do with the data"},{"p":"Collect, record, organise, accumulate, store, update (amend, change), retrieve, use, transfer (provide, give access), anonymise, block, delete and destroy — with and without automated means."},{"h":"Who the data may be passed to"},{"ul":[{"i":"smart_toy","t":"Language-model providers — OpenAI, Anthropic, OpenRouter, Cerebras (USA), and through OpenRouter DeepSeek, Qwen, GLM, Kimi (China), Gemini, Grok — so the employee can prepare an answer. You consent to the cross-border transfer of the data needed for the answer. Requests to the providers may pass through proxy servers outside Russia.","href":"/company","linkText":"List of providers"},{"i":"open_in_new","t":"The Steel cloud browser (USA) — when the employee works on websites on your behalf."},{"i":"terminal","t":"Daytona cloud sandboxes (USA) — when the employee runs a program or builds a file on your behalf: the data and files needed for it go there. This is a cross-border transfer."},{"i":"key","t":"Sign-ins to websites that you save yourself for the employee's browser work are kept by us encrypted and are passed only to the cloud browser while it signs in to that site. You can delete them at any time with «Sign out everywhere»."},{"i":"shield","t":"The hosting provider just-host.ru and Yandex Cloud (file storage) — both in Russia."},{"i":"key","t":"Sign-in services Yandex ID, VK ID, Mail.ru — if you sign in with them."},{"i":"forum","t":"Messengers and services you connect yourself (Telegram, WhatsApp, MAX, Google, Yandex, Mail.ru, Instagram, Facebook, CRMs) — to the extent of what you asked the employee to do."},{"i":"insights","t":"YANDEX LLC — if Yandex Metrica is enabled on the site: for visit statistics, on the operator's behalf."},{"i":"payments","t":"The acquiring bank, T-Bank JSC — to take payments."},{"i":"rule","t":"Public authorities — only when the law requires it."}]},{"h":"Duration and withdrawal"},{"p":"The consent lasts while you have an account and for 30 days after it is deleted, or until you withdraw it. You can withdraw it at any time by writing to %email% with the subject «Withdrawal of consent to personal-data processing». We will stop processing and destroy the data within 30 days, except what the law requires us to keep (for example, payment records). The service cannot work without processing data, so withdrawing consent means deleting the account."},{"h":"Your rights"},{"p":"You can learn how your data is processed, require it to be corrected, blocked or destroyed, and challenge the operator's actions with Roskomnadzor or in court. More in the Privacy policy.","link":{"t":"Privacy policy","href":"/privacy"}}]}},"login":{"metaTitle":"Sign In {'|'} @:{'brand.name'}","metaDescription":"Sign in to @:{'brand.name'} to keep training your AI employee."},"register":{"metaTitle":"Create Account {'|'} @:{'brand.name'}","metaDescription":"Create your @:{'brand.name'} account and build your first AI employee in under 30 seconds."},"authComplete":{"metaTitle":"Finish signing up {'|'} @:{'brand.name'}"},"doc":{"backToHome":"Back to home"},"error":{"notFound":{"code":"404","title":"There is no such page","sub":"An employee may have been renamed, or the link has gone stale.","primary":"Go home","secondary":"Open the workspace"},"denied":{"code":"403","title":"This one is not yours to open","sub":"That section belongs to the owner of the workspace. Ask whoever invited you for access.","primary":"Open the workspace","secondary":"Go home"},"limit":{"code":"429","title":"Today's actions are used up","sub":"The plan limit is spent. It resets at midnight in your own time.","primary":"See the plans","secondary":"Open the workspace","foot":"An action is one tool call or one reply to a customer. A five-message conversation is five actions."},"server":{"code":"500","title":"Something broke on our side","sub":"That is our fault, not yours. We can already see it, and we are fixing it.","primary":"Try again","secondary":"Go home","foot":"If you write to us, include the request code — it finds your case exactly."},"offline":{"title":"No connection","sub":"The internet seems to have gone. Anything you typed is kept, and goes out the moment it is back.","primary":"Check again","secondary":"Go home"},"detailTime":"Time","detailRequest":"Request code","detailPath":"Address"}},"shared":{"effort":{"levels":{"minimal":"Fast","medium":"Standard","max":"Deep"},"did":{"minimal":"answered without stopping to think it over","medium":"thought it over first","max":"worked the problem through"}},"discard":{"title":"discard your changes?","description":"This closes the dialog and throws away everything you typed here. Nothing already saved is affected.","confirm":"discard","cancel":"keep editing"},"confirmModal":{"label":"confirmation"},"historySessionItem":{"newConversation":"New conversation","deleteLabel":"Delete chat","renameLabel":"Rename chat","titleLabel":"Chat name","justNow":"just now","minutesAgo":"{n} min ago","hoursAgo":"{n} h ago"},"agentHeaderNav":{"logoAlt":"@:{'brand.name'}","tabEmployees":"Employees","tabDashboard":"Employee","tabChains":"Chains","tabBrowser":"Action Agent","tabHistory":"Conversations","tabAnalytics":"Analytics","tabLogs":"Log","tabArtifacts":"Artifacts","navLabel":"Employee tabs","languageLabel":"Change language","themeLabel":"Change theme","switchEmployee":"Switch employee","allEmployees":"All employees"},"artifacts":{"oldVersionChip":"older version","headVersion":"current version","versionsNote":"We keep the last 40 versions. The numbers below have gaps — we compare against the neighbour in this list, not against \"number minus one\".","whenToday":"today {time}","whenYesterday":"yesterday {time}","versionsKept":"versions kept"}},"integrations":{"telegramBotErrors":{"conflict":"Another program is already running this bot token (Telegram allows only one). This bot has been stopped here. Close the other one — an old server, a second copy of the app, or the same token connected to another agent — then press Reconnect.","refused":"Telegram refused this bot token. It may have been revoked or regenerated in BotFather — paste the current token and reconnect.","unreachable":"The server could not reach Telegram just now. This bot keeps trying and answers again as soon as it gets through — nothing to change here."},"common":{"connections":"apps","soonBadge":"soon","connectedBadge":"connected","connectedTitleSuffix":" · connected","connectorLimit":"{used} of {max} connectors used on your plan","upgradeLink":"upgrade","connectButton":"connect","closeButton":"close","saveButton":"save","connectionLabel":"connection","disconnect":"disconnect","reconnect":"Reconnect","reconnectHint":"Ask for consent again without losing the app password","continueWithFacebook":"Continue with Facebook","publicPageSettingsTitle":"Public page settings","personalProfileSubtitle":"personal profile","crmSubtitle":"CRM","loading":"loading...","deleteButton":"delete","expandButton":"expand","collapseButton":"collapse","conflictTitle":"Two employees are connected to the same channel","conflictHeldBy":"{channel} belongs to {employee} — this employee is connected to it but receives nothing. Disconnect it from one of the two.","conflictHeldElsewhere":"{channel} is connected to a different account. This employee is connected to it but receives nothing.","lockedByPlan":"{count} connectors are not on the {plan} plan — they stay visible so you can see what a bigger plan adds.","lockedToastTitle":"Not on your plan","lockedToastBody":"This connector is not included in the {plan} plan. Change plan to switch it on.","lockedByPlanNoName":"{count} connectors are not on your plan — they stay visible so you can see what a bigger plan adds.","lockedToastBodyNoName":"This connector is not included in your plan. Change plan to switch it on.","conflictMoveHere":"Move it here","facebookSignedOutToast":"Signed out of Facebook","toggleLabel":"Use {name} for this employee","toggleLabelProfile":"Use the {name} personal profile for this employee","toggleLabelBot":"Use the {name} bot for this employee"},"telegram":{"modalTitle":"TG Assistant · via BotFather","subtitleOwnerLinked":"owner linked","subtitleWaitingOwner":"waiting for owner","subtitleViaBotfather":"via BotFather","modalBody":"Create a bot via BotFather and paste its token here.","tokenLabel":"bot token","tokenPlaceholder":"1234567890:AAH_XXXXXXXXXXXX","startCommandPrefix":"Send the","startCommandSuffix":"command to the bot to link yourself as the owner.","claimTitle":"Link yourself as the owner","claimBody":"Open this one-time link and press Start. Until you do, nobody owns this bot — and the link is what proves it's you, so don't share it.","claimButton":"Open Telegram and link me","claimCopied":"Link copied","claimAlreadyStarted":"Already written to this bot? Then Telegram shows no Start button, and opening the link sends nothing. Send it this message instead:","claimCodeCopy":"Copy the linking message","claimPending":"No link yet — save a valid bot token first.","accessTitle":"Who can talk to this bot","accessOwnerOnly":"Only me","accessOwnerOnlyHint":"Anyone else who finds the bot gets a short notice and no answer.","accessEveryone":"Anyone who writes to it","accessEveryoneHint":"Customers can chat with the assistant here. It answers them as a guest, without your owner tools.","toolsTitle":"What the assistant may do here","toolsFull":"Everything (admin tools)","toolsFullHint":"Chains, schedules, memory, CRM and files. The live browser still needs an explicit /task or /browse.","toolsLimited":"Answers only","toolsLimitedHint":"No chains, memory, CRM or browser from Telegram. Use the dashboard chat for those.","accessSavedToast":"Bot access updated","claimDone":"You are linked as the owner of this bot.","tokenSavedToast":"Token saved","botDisconnectedToast":"Assistant disconnected","apiDisconnectedToast":"Telegram disconnected","salesTitle":"Sales bot","salesOff":"Conversation only","salesOffHint":"The bot chats freely, with no buttons. Nothing changes for people already using it.","salesOn":"Shop front","salesOnHint":"/start opens a menu: catalog, cart, checkout. The assistant still answers questions, and shows products as cards with an Add to cart button.","salesCurrency":"Currency","salesCurrencyPlaceholder":"USD","sales_greeting":"Welcome message","sales_greetingPlaceholder":"Shown above the menu on /start.","sales_about":"About us","sales_aboutPlaceholder":"Leave empty to hide this button.","sales_delivery":"Delivery & payment","sales_deliveryPlaceholder":"Leave empty to hide this button.","sales_contacts":"Contacts","sales_contactsPlaceholder":"Phone, address, opening hours. Leave empty to hide this button.","salesSave":"Save menu texts","salesSavedToast":"Sales menu updated","tokenSaveFailed":"Could not save the token. Check it and try again.","claimBodySales":"Your shop is already open — customers can use the bot right now. This link is only for you: open it and press Start if you also want to manage this agent from Telegram. Don't share it.","orderFlowTitle":"Where an order goes","orderFlowNotify":"You get a message here in Telegram with the items, name and phone.","orderFlowEvent":"It fires the on_order_placed automation event.","orderFlowNowhereElse":"Nowhere else yet — nothing is written into your catalogue, CRM or accounting until you set up an automation for it.","orderFlowAsk":"Ask the assistant to set this up","orderFlowPrompt":"When a customer places an order in my Telegram shop bot, write the whole order into my connected system as a draft: look up the ordered items in the catalogue and add them with their quantities, attach the customer by their phone number (create them if they are new), and leave it as a draft for me to check — do not complete the sale. Then confirm to the customer in the same chat. Set it up as a public automation on the on_order_placed trigger.","purposeAssistant":"Be answered by your employee","purposeAssistantHint":"No token. You write to our Telegram bot from your own account and prove it with a code — the same way WhatsApp works.","purposeShop":"Sell through your own bot","purposeShopHint":"Your BotFather bot becomes a shop front: a menu, a catalogue, a cart and checkout. Needs the bot's key.","purposeAutomation":"Your own bot, for automations","purposeAutomationHint":"A bot of yours that answers and can be driven by chains — no shop menu. Needs the bot's key.","channelTakenToast":"This account is already connected","botName":"TG Assistant"},"max":{"subtitle":"Connect a MAX bot","modalTitle":"MAX","modalBody":"Paste the token from","tokenLabel":"Bot token","tokenPlaceholder":"AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw","connectedAs":"Connected as {'@'}{username}","claimTitle":"Link yourself as the owner","claimBody":"Open {'@'}{username} in MAX and send it this command. It is how the bot tells its owner apart: until then it treats everyone who writes, you included, as a customer.","claimCopy":"Copy the command","claimCopied":"Command copied","claimDone":"You are linked as the owner: the bot recognises you in MAX.","accessTitle":"Who can talk to this bot","accessEveryone":"Anyone who writes to it","accessEveryoneHint":"Customers chat with the assistant here, and it answers them as guests — without your owner tools. This is how the MAX bot worked before this switch existed.","accessOwnerOnly":"Only me","accessOwnerOnlyHint":"Anyone else gets a short notice and no answer. Link yourself with the command above first, or the bot will answer no one.","accessSalesForced":"While the shop front is on, the bot answers everyone: a shop front exists for customers.","toolsTitle":"What the assistant may do here","toolsFull":"Everything (owner tools)","toolsFullHint":"Chains, schedules, memory, CRM and files — when you, the linked owner, write.","toolsLimited":"Answers only","toolsLimitedHint":"No chains, memory, CRM or browser from MAX. Use the dashboard chat for those.","accessSavedToast":"Bot access updated","connectedToast":"MAX connected","connectedWebhookWarning":"Connected, but MAX would not accept the webhook subscription — check the connection again shortly.","disconnectedToast":"MAX disconnected","userDisconnectedToast":"MAX personal account disconnected","residencyNote":"Only a Russian resident (organisation, sole proprietor, or self-employed person) can register a bot on MAX, and it goes through 3-5 days of moderation before it can answer anyone.","salesTitle":"Sales bot","salesOff":"Conversation only","salesOffHint":"The bot chats freely, with no buttons. Nothing changes for people already using it.","salesOn":"Shop front","salesOnHint":"Opening a chat with the bot shows a menu: catalog, cart, checkout. The assistant still answers questions, and shows products as cards with an Add to cart button.","salesCurrency":"Currency","salesCurrencyPlaceholder":"RUB","sales_greeting":"Welcome message","sales_greetingPlaceholder":"Shown above the menu when the chat opens.","sales_about":"About us","sales_aboutPlaceholder":"Leave empty to hide this button.","sales_delivery":"Delivery & payment","sales_deliveryPlaceholder":"Leave empty to hide this button.","sales_contacts":"Contacts","sales_contactsPlaceholder":"Phone, address, opening hours. Leave empty to hide this button.","salesSave":"Save menu texts","salesModeSavedToast":"Sales mode updated","salesSavedToast":"Sales menu updated","orderFlowTitle":"Where an order goes","orderFlowNoNotify":"Orders placed here don't message you in MAX yet — set up an automation below if you want to be notified.","orderFlowEvent":"It fires the on_order_placed automation event.","orderFlowNowhereElse":"Nowhere else yet — nothing is written into your catalogue, CRM or accounting until you set up an automation for it.","orderFlowAsk":"Ask the assistant to set this up","orderFlowPrompt":"When a customer places an order in my MAX shop bot, write the whole order into my connected system as a draft: look up the ordered items in the catalogue and add them with their quantities, attach the customer by their phone number (create them if they are new), and leave it as a draft for me to check — do not complete the sale. MAX doesn't tell me about new orders directly, so also send me a notification about it through some other channel you can reach me on. Set it up as a public automation on the on_order_placed trigger."},"browserCreds":{"label":"Sign-ins","addButton":"+ store a sign-in","choiceHint":"Sign in yourself in a browser window, or give the login and password now. Either way they are kept for this employee, so it can sign back in on its own when the session runs out.","selfButton":"Sign in myself","unattendedButton":"Store for unattended runs","addTitle":"Let the agent sign in on its own","addBody":"With a sign-in stored, the browser gets past this site's login by itself — including on runs nobody is watching, like a chain overnight. Without one it stops and asks you for the fields the site wants.","siteLabel":"Site (the address you sign in on)","siteHint":"The site's main address (example.com) covers its sign-in pages too, like login.example.com. www is handled for you.","usernameLabel":"Login or email","passwordLabel":"Password","wherePassword":"Stored encrypted on this platform and typed by the browser on this site only. It never reaches the AI, and nothing here — not this screen, not our support — can read it back.","save":"Store it","saving":"Storing…","savedToast":"Stored. The browser can now sign in there by itself.","errorToast":"Could not store that sign-in — try again","empty":"None yet. The first time a site asks this employee to sign in, you give the login and password on the card once — after that it signs in by itself.","remove":"Remove","phoneLabel":"Phone (if the site signs in by phone)","rowEmpty":"Nothing stored yet","badge":{"login":"Login","phone":"Phone","password":"Password"},"refused":"Password rejected — store the new one","signedIn":"Signed in","pendingNote":"Signed in by hand — add the password so the employee can sign in again on its own","pendingAdd":"Add the password","fromWindowBody":"You signed in to {site} in the window. Add the password here so this employee can sign in again on its own when the session runs out. The sign-in itself is kept either way."},"browserLogins":{"label":"site sign-ins","loginNowButton":"Sign in to a site","loginNowTitle":"Log in ahead of time","loginNowBody":"Open a real browser and sign in by hand. Afterwards you add the password once, and the employee keeps the sign-in and renews it on its own.","loginNowHint":"Sign in inside the window above, then confirm — the browser closes once the sign-in is saved.","loginNowDone":"Signed in. Add the password to keep it.","loginNowSaving":"Saving the sign-in and closing the browser…","loginNowConfirm":"I'm signed in","loginNowStart":"open session","pasteButton":"Paste from clipboard","typeButton":"Type text","typePlaceholder":"Text to put into the window","typeSend":"Put in","pasteHint":"Click the field in the window first — the text goes there.","pasted":"Put into the field.","pasteDenied":"The browser did not let the clipboard be read — paste the text into the field below.","pasteFailed":"Could not put the text into the window.","loginNowStop":"Stop","loginNowSavedToast":"Signed in — the browser is closed","forgetButton":"Sign out everywhere","forgetDoneToast":"Signed out. The next run starts from a fresh browser.","forgetConfirmTitle":"Sign this employee out everywhere?","forgetConfirmBody":"The browser forgets every sign-in, and the saved passwords are deleted — they cannot be read back. Bank cards stay. The next run starts from a fresh browser.","forgetConfirmButton":"Sign out everywhere","sitesButton":"Signed in to","sitesTitle":"Sites this employee can reach","siteLabel":"site (its address, e.g. https://avito.ru)","errorToast":"Could not reach the browser provider — try again","busyToast":"The browser is busy with another task — try again in a minute","invalidOriginToast":"Enter the site as a full address, e.g. https://avito.ru","removeConfirmTitle":"Remove the sign-in for {site}?","removeConfirmBody":"This employee is signed out of the site and stops signing in there on its own. The password cannot be read back, so putting it in again means finding it again.","removeConfirmButton":"Remove","forgetOneDoneToast":"Signed out of {site}. The browser's own copy is cleared on the next run."},"browserPayments":{"label":"Payment reconcile queue","hint":"These payment attempts were blocked because a matching payment intent is still unresolved. Confirm each one and mark it before retrying.","loading":"Loading unresolved payment attempts…","empty":"No unresolved payment attempts.","runLabel":"Run","statusPrepared":"Prepared","statusDispatched":"Dispatched","statusUncertain":"Uncertain","statusVerified":"Verified","statusRefused":"Refused","statusUnknown":"Unknown ({status})","verifyButton":"Mark verified","refuseButton":"Mark refused","resolveConfirmTitle":"Mark this payment attempt as {status}?","verifyConfirmBody":"Use this only after you confirmed with the merchant that the payment completed successfully.","refuseConfirmBody":"Use this when you confirmed the payment did not complete and it is safe to retry.","verifiedToast":"Payment attempt marked as verified.","refusedToast":"Payment attempt marked as refused.","verifiedDetail":"Resolved by operator from integrations sidebar: verified","refusedDetail":"Resolved by operator from integrations sidebar: refused"},"google":{"subtitle":"mail, calendar, drive","disconnectedToast":"Google disconnected"},"avito":{"subtitle":"Buyer chats","disconnectedToast":"Avito disconnected"},"yandex":{"subtitle":"Disk, Mail, Calendar","modalTitle":"Yandex","notConnectedBody":"Connect a Yandex account to give this agent Yandex Disk, Mail and Calendar.","connectButton":"Connect Yandex","enableLabel":"Yandex tools enabled","disconnectedToast":"Yandex disconnected","missingScopes":"These permissions were not granted, so the matching tools will refuse: {scopes}","mailPlanNote":"Mail tools work over IMAP/SMTP, which Yandex enables only for mailboxes on a paid Yandex 360 plan.","calendarLabel":"Calendar","calendarReady":"Ready","calendarNotReady":"App password needed","appPasswordHelp":"Calendar works over CalDAV, which does not accept Yandex ID sign-in. It needs a separate app password:","appPasswordSteps":{"open":"Open “App passwords” in Yandex ID:","create":"Click “Create an app password” and choose “Calendar (CalDAV)”.","name":"Enter any name, for example “anyworker”, and click “Next”.","copy":"Copy the password and paste it below — Yandex shows it only once."},"appPasswordPlaceholder":"App password from Yandex ID","appPasswordSavedToast":"App password saved"},"mailru":{"subtitle":"Mail, Cloud, Calendar","modalTitle":"Mail.ru","notConnectedBody":"Connect a Mail.ru account to give this agent Mail.ru Mail, Cloud and Calendar.","oauthTokensHint":"If Mail says “Enable getting OAuth tokens in your profile”, click “How to enable” there, turn it on and press “Connect” again.","connectButton":"Connect Mail.ru","enableLabel":"Mail.ru tools enabled","disconnectedToast":"Mail.ru disconnected","cloudCalendarLabel":"Cloud & Calendar","cloudCalendarReady":"Ready","cloudCalendarNotReady":"App password needed","appPasswordHelp":"Cloud and Calendar work over WebDAV and CalDAV, which do not accept Mail sign-in. They need a separate app password — one covers both:","appPasswordSteps":{"open":"Open “Passwords for external apps” in Mail:","create":"Click “Create” and enter any name, for example “anyworker”.","access":"Under access, choose “Full access to Mail, Cloud, Calendar”.","copy":"Copy the password and paste it below. Mail may ask for your mailbox password — that is its usual check."},"appPasswordPlaceholder":"App password from account.mail.ru","appPasswordSavedToast":"App password saved"},"apps":{"subtitle":"platform app","ownConnected":"Your API · {count} action | Your API · {count} actions","ownConnectedSome":"Your API · {working} of {count} actions ready","ownNotChecked":"Your API · not connected yet","ownSwitchedOff":"Your API · switched off for this employee","ownOnAssistant":"Your API · managed by the Assistant","connectedToast":"{name} connected","disconnectedToast":"{name} disconnected","disconnectConfirm":{"title":"disconnect {name}?","description":"This employee loses the tools this app gave it, and the key you stored goes with it. Reconnecting means entering the key again.","confirmButton":"disconnect"},"settingsSavedToast":"{name} settings saved","settingsBody":"This app needs your own values (keys, IDs) to work for this employee. They are stored encrypted, and only you can read them back.","configuredPlaceholder":"configured — leave empty to keep","showKey":"Show","hideKey":"Hide","testAfterConnect":"Connect first — the key is tested the moment it is saved.","needsSetupBadge":"Needs setup","verifiedTitle":"connected — the key answered","unverifiedTitle":"connected, but the key has not answered yet","ownNotConnectedTitle":"Not connected yet — none of its actions has answered","disabledTitle":"Connected, switched off for this employee","connectNeedsField":"Fill in at least one field to connect this app — it has nothing to run on without one.","toggleFailed":"Couldn't switch {name}: {reason}","verifiedSubtitle":"platform app · connected","unverifiedSubtitle":"platform app · not verified yet","testButton":"Test connection","testingButton":"Testing…","testSuccess":"Connection works","testFailure":"Couldn't connect: {reason}","saveFailure":"Couldn't save: {reason}","saveFailedGeneric":"Couldn't save — the request didn't go through","loadFailed":"Couldn't load your apps","loadFailedHint":"The request didn't go through","retryButton":"Try again","answers":{"title":"What this connector answers","loading":"Reading what is known…","known":"{known} of {total} endpoints have a known answer shape","check":"Check endpoints","checking":"Checking…","readOnlyNote":"Only endpoints that read and need no arguments are called. Nothing is created, changed or deleted.","report":"Called {probed} endpoints, {shaped} answered with fields. {skipped} were skipped because they change data or need an argument.","observedLabel":"Fields this connector actually returned","declaredLabel":"Fields its documentation promises","fieldCount":"{count} fields","noStructure":"No fields","declaredEmpty":"Described, no fields","unchecked":"Not checked","notProbeableShort":"Cannot be checked","notChecked":"Nobody has called this endpoint yet. Use Check endpoints above.","notProbeable":"This endpoint changes data or needs an argument, so it is never called just to look. Its fields become known the first time a chain uses it.","declaredEmptyNote":"A response description is stored for this endpoint and it names no fields, so the AI is told nothing by it. That is not the same as having no description: this one exists and needs fixing.","refusalsLabel":"What this endpoint has refused","refusedTimes":"{count}×","weSent":"We sent:","loadFailed":"Couldn't read what is known about this connector: {reason}","probeFailed":"Couldn't check the endpoints: {reason}","retry":"Try again"}},"instagram":{"subtitle":"DMs and comments","metaNotice":"* Instagram is owned by Meta, whose activities are designated extremist and banned in Russia.","modalTitle":"Instagram · DMs and comments","notConnectedBody":"Connect your Instagram Professional (Business/Creator) account to automatically reply to DMs and comments.","connectButton":"Continue with Instagram","facebookPathHint":"Connecting through Facebook uses the same login as Messenger: pick the Page your Instagram professional account is linked to.","selectionBody":"Select the Facebook page whose linked Instagram account this employee should reply for.","accountLabel":"instagram account","pageOption":"{'@'}{instagram} — {pageName}","saveSubscribeButton":"Connect and subscribe","noPagesWarning":"No Facebook page with a linked Instagram professional account was found. Link the account to a Page in Meta Business Suite, then reconnect.","connectedAccountId":"Connected — account {accountId}","viaPage":"Facebook page {pageName}","viewProfile":"View profile on Instagram","connectedAs":"connected as {'@'}{username}","enableBotLabel":"Enable Instagram bot","replyDmsLabel":"Reply to direct messages","replyCommentsPublicLabel":"Reply to comments (publicly)","replyCommentsPrivateLabel":"Reply to comments (private DM)","reviewNotePrefix":"Note: complete the Meta App Review for","reviewNoteSuffix":"and link this bot to your Instagram Professional account.","reviewNoteComments":"Replying to comments needs its own review, for {scope}.","saveSettingsButton":"save settings","settingsSavedToast":"Instagram settings saved","disconnectedToastTitle":"Disconnected","disconnectedToastDescription":"Instagram integration removed","signOutFacebook":"Sign out of Facebook (to choose a different account)","signOutFacebookHint":"Disconnecting Instagram leaves the Facebook authorization in place, so reconnecting comes back to the same account. Sign out of Facebook to pick a different one. This also disconnects Messenger."},"whatsapp":{"disconnectedToast":"WhatsApp disconnected","choicesSubtitle":"Choices arrive as {how}","choices":{"buttons":"Tappable buttons","list":"A list message","poll":"A poll","text":"Numbered text"},"choicesEngine":"Your WhatsApp gateway runs the {engine} engine, and that is what decides whether offered choices can be drawn as buttons, a list, a poll, or written out as numbered text.","choicesEngineUnknown":"The WhatsApp gateway did not say which engine it runs, so offered choices are written out as numbered text."},"publicPageCard":{"defaultName":"Agent","subtitle":"public page"},"linkCopiedToast":"Link copied!","skills":{"onOfTotal":"{on} of {total} on","actionAgent":"Action Agent","actionAgentDesc":"clicks, forms, bookings","webSearch":"Web Search","webSearchDesc":"search the web","vision":"Vision","visionDesc":"reading images","voice":"Voice","voiceDesc":"speech recognition","callReception":"Call Reception","callReceptionDesc":"answering incoming calls","voiceReply":"Voice Response","voiceReplyDesc":"answering out loud","pictures":"Pictures","picturesDesc":"Draws and edits pictures for you, never for customers","picturesNeedPaidPlan":"Pictures need a paid plan","notInPlan":"Not included in this plan — upgrade to switch it on","notInPlanNamed":"Not included in the {plan} plan","notInPlanNoName":"Not included in your plan"},"tabs":{"connectors":"Connections","skills":"Skills"},"assistantChannels":{"title":"Personal assistant","hint":"Link your own phone or account, and this employee answers you there — on anyworker.ai's shared lines.","link":"Link","linkAnother":"Link another","unlink":"Unlink","sendCode":"Send this code to {handle} from the account you are linking:","openWithCode":"Open {label} with the code","openChat":"Open {label}","notOfferedHere":"This deployment does not answer on this channel yet — whoever runs it has not set up an account for it.","lineEmployee":"This is the platform line's own employee: everyone writes to the line through its accounts. A personal assistant is linked to one of your own employees — open it and press Link there."},"channelGate":{"title":"Who this employee answers","modes":{"everyone":"Everyone","only":"Only these","except":"Everyone except"},"explain":{"everyone":"This line answers anyone who writes to it.","only":"This line answers the people below and nobody else. Everyone else gets no reply — you still see their messages, and you can answer them yourself.","except":"This line answers everyone but the people below. They get no reply — you still see their messages, and you can answer them yourself."},"nobodyWarning":"Nobody is on the list, so this line will answer nobody. Add someone, or switch it back to Everyone.","summary":{"everyone":"Answers everyone","only":"Answers only {count}","except":"Answers everyone except {count}"},"onTheList":"On the list ({count})","fromConversations":"From your conversations","noConversations":"Nobody has written to this line yet. Add someone by their number or account below.","addManually":"Add someone else","add":"Add","remove":"Remove","searchPlaceholder":"Search by name or number","example":{"default":"Phone number or account id","whatsapp":"79991234567","tg":"+7 900 123-45-67 or {'@'}username","max":"+7 999 123-45-67","instagram":"{'@'}username or account id","avito":"Account id","email":"Name{'@'}example.com"},"channels":{"whatsapp":"WhatsApp","tg":"Telegram","max":"MAX","instagram":"Instagram","avito":"Avito","email":"Email","wacloud":"WhatsApp"},"group":"Group","searchIncomplete":"Not all of this line's chats could be read, so somebody may be missing here. Try their number instead.","groupsOnLine":"Groups on this line"},"voiceReplyModal":{"title":"Voice Response","subtitle":"Where this employee answers out loud","webGroup":"Web chat","webGroupHint":"Replies arrive as voice messages in the chat (mirroring or always, below), and the Listen button stays under every reply.","channelsGroup":"Voice replies in channels","channelsGroupHint":"The reply arrives as a voice message instead of text. Cards, photos and buttons still arrive as themselves.","public":"Public page","dashboard":"Dashboard","whatsapp":"WhatsApp","telegram":"Telegram bot","instagram":"Instagram / Messenger","when":"When to speak","whenMirror":"Mirror — answer out loud only when spoken to","whenAlways":"Always","timbre":"Voice","timbrePlaceholder":"Platform default","lengthNote":"Answers longer than 2000 characters are sent as text — a long reply is easier to read than to listen to.","save":"Save"},"connectError":{"title":"Could not finish connecting","already_connected":"This account is already connected to another of your employees. Disconnect it there first, or point this employee at a different account.","exchange_failed":"The provider did not accept the sign-in. Try connecting again.","verify_failed":"The connection was made but could not be verified. Try connecting again.","internal_error":"Something went wrong while saving the connection. Try again.","no_offline_access":"The service did not grant lasting access, so the connection would have stopped working within an hour. Connect again and keep “Access to your data without signing in again” ticked on the permissions page."},"moysklad":{"subtitle":"warehouse, catalogue, orders","modalTitle":"MoySklad","notConnectedBody":"Paste this account's own API token. The employee will read the catalogue and stock with it, and — if you allow it below — create documents.","tokenLabel":"API token","tokenPlaceholder":"the token from MoySklad","tokenHint":"MoySklad → Settings → Users and rights → Tokens. The token is checked before it is stored.","connectedLabel":"Connected","allowWriteLabel":"Allow changes","allowWriteHint":"Create and edit orders, shipments, invoices, payments and counterparties. Off, the employee can only read.","storefrontLabel":"Answer visitors about stock","storefrontHint":"Lets anyone on the public page ask what is in the catalogue and what is in stock. Customers, orders and documents stay yours alone either way.","connectedToast":"MoySklad connected","disconnectedToast":"MoySklad disconnected"},"onec":{"subtitle":"accounting, stock, documents","modalTitle":"1C","notConnectedBody":"Connect a 1C base through its standard OData interface — any configuration works: УНФ, Бухгалтерия, Розница, УТ, ERP. The employee sees only the objects you tick in 1C. At first it only reads; changing 1C can be allowed once connected.","baseLabel":"Base address","basePlaceholder":"https://1cfresh.com/a/sbm/12345","baseHint":"The application address in 1C:Fresh, or the full OData address ending in /odata/standard.odata/. Use https if the base has it.","plainHttpTitle":"This address is not encrypted (http)","plainHttpBody":"Over http the OData user's login and password, and everything the employee reads from 1C, cross the internet as plain text. Anyone on the way — a public Wi-Fi, a provider, a hosting network — can read them and sign in to your base. Turn on https on the 1C web server if you can.","plainHttpAccept":"I understand the risk and want to connect over http","plainHttpConnected":"Connected over http: the password and data travel unencrypted. Switch the base to https and reconnect when you can.","writeTitle":"What the employee may change in 1C","allowWrite":"Create and change","allowWriteHint":"New documents and catalog items, field changes, deletion marks. Documents are created unposted. The employee cannot delete anything from 1C.","allowPosting":"Post documents","allowPostingHint":"Posting and unposting: a posted document starts moving stock, money and settlements.","noApproval":"Without my confirmation","noApprovalHint":"Normally each change waits for your «yes» in Approvals. With this ticked, the employee changes 1C right away.","writeOnNote":"The employee changes 1C only on your instructions — customers in messengers and page visitors cannot. The OData user in 1C needs rights to change these documents.","loginLabel":"Login","passwordLabel":"Password","credentialsHint":"The OData user, not your own 1C sign-in. The connection is checked before it is saved; the password is not shown anywhere again.","helpTitle":"How to turn on OData in 1C","helpFreshTitle":"1C:Fresh","helpFresh1":"Open the application and go to Администрирование (or «Администрирование и НСИ», «Настройки») → Синхронизация данных → Настройки стандартного интерфейса OData.","helpFresh2":"On the «Состав» tab, tick what the employee may read: for example products, counterparties, orders and warehouse stock.","helpFresh3":"On the «Авторизация» tab, create a user for OData and set its password.","helpFresh4":"Copy the application address from the browser and enter it here with that user's login and password.","helpBoxTitle":"A boxed base or a hoster","helpBox":"Publish the base on a web server (Конфигуратор → Администрирование → Публикация на веб-сервере) with «Публиковать стандартный интерфейс OData» ticked, make it reachable from the internet (preferably over https), and set the interface's composition as above. An address inside a private network will not work.","checking":"Checking…","connectedLabel":"Connected","found":"Found {count} object | Found {count} objects","emptyTitle":"The interface's composition is empty — tick objects in 1C","emptyBody":"The connection works, but the base publishes nothing yet. In 1C open «Настройки стандартного интерфейса OData» → «Состав», tick the objects, save, and press «Check again».","readOnlyNote":"The employee only reads 1C data and changes nothing in it. Visitors on the public page cannot reach 1C data.","checkAgain":"Check again","connectedToast":"1C connected","disconnectedToast":"1C disconnected","genericError":"That did not work. Try again in a moment."},"browserProxy":{"label":"Where the browser comes out","hint":"Sites read the country a browser connects from. A local address gets the local page and fewer checks; a direct connection is the one that reaches your own internal tools.","followPlatform":"Follow the platform","followPlatformOn":"Follow the platform (residential proxy)","followPlatformOnIn":"Follow the platform (residential proxy, {country})","followPlatformOwn":"Follow the platform (its own proxy)","followPlatformOff":"Follow the platform (direct)","off":"Direct, no proxy","on":"Residential proxy","countryLabel":"Exit country","countryAny":"Wherever the provider chooses","save":"Save","saved":"Saved","saveFailed":"That could not be saved.","ownLabel":"Its own gateway","ownHint":"An address of your own, used instead of the provider's pool — the only exit the fast container browser has. Stored encrypted and never shown again; the platform keeps only the host.","ownPlaceholder":"http://user:pass{'@'}gateway.example.com:823","ownSet":"Set: {host}","ownSave":"Save address","ownClear":"Remove","scopeLabel":"Sites that use it","scopeHint":"Social networks, the sites it signs in to and the exit country's own sites go through the proxy either way. With only those, every other site opens directly, which is faster.","scopeAll":"Every site","scopeNeeded":"Only the sites that need it","sitesLabel":"Also through the proxy","sitesHint":"Other sites that must see the exit country. One per line, or separated by commas.","sitesPlaceholder":"example.com","sitesSave":"Save sites","switchButton":"Switch to a faster address","switching":"Checking addresses…","switchHint":"Sites the employee is signed in to will see a new address. Most keep the sign-in; some may ask to confirm it.","switched":"Moved to a faster address: {from} → {to}.","switchedFromDead":"The old address did not answer. Moved to one that answers in {to}.","switchNoneFaster":"This address is already about as fast as the others ({from}). Nothing changed.","switchNoneAnswered":"No other address answered right now. Nothing changed. Try again in a few minutes.","switchFailed":"The address could not be switched. Try again in a few minutes."},"whatsappCloud":{"subtitle":"Your business's own registered number"},"browserCards":{"label":"Cards","addButton":"+ Add a card","addTitle":"Add a card for this employee","addBody":"A task that names this card — “add Card2 to Facebook ads” — fills the site's card and billing fields from it. A button that charges money is pressed only when the task asks to pay.","labelLabel":"Name (optional)","labelPlaceholder":"Company Visa","numberLabel":"Card number","expLabel":"Expires","holderLabel":"Name on the card","whereCard":"Stored encrypted on this platform and typed by the browser only into card and billing fields of the site the task is on. It never reaches the AI.","save":"Add the card","saving":"Adding…","savedToast":"Card added.","errorToast":"Could not add that card — check it and try again","empty":"None yet. Add a card, then name it in a task: “pay with Card2”.","remove":"Remove","removeConfirmTitle":"Remove {card}?","removeConfirmBody":"The employee will not be able to pay with it any more. You can add it again later.","removeConfirmButton":"Remove the card","edit":"Edit","editTitle":"Edit card","saveEdit":"Save changes","editedToast":"Card updated.","keepNumber":"•••• {last4} — leave empty to keep","keepHolder":"Leave empty to keep","cscLabel":"Security code","cscHint":"Optional. Saved encrypted, never shown again.","cscClear":"Remove the saved code","billingLabel":"Billing address","addressLabel":"Address","cityLabel":"City","regionLabel":"State / region","zipLabel":"ZIP / postal code","countryLabel":"Country"}},"contacts":{"title":"Contacts","subtitle":"People your assistants have met","intro":"This is the address book your assistants build for themselves. A person lands here when they write to one of your employees from a channel that proves who they are — WhatsApp or a shared Telegram contact — and every identifier below says what proved it. You never add anyone by hand; the only thing to do here is join two rows that turn out to be the same person.","kind":{"phone":"Phone","email":"Email","wa_id":"WhatsApp ID"},"waIdHint":"WhatsApp names some people by an internal account ID rather than by their number. Those are shown as a WhatsApp ID; the phone number appears here as soon as WhatsApp tells us what it is.","emptyTitle":"No one here yet","emptyBody":"Contacts appear on their own, as soon as an assistant is connected to a channel and somebody writes in. Nothing to fill in.","unnamed":"Unnamed","pickSecond":"Merging {name} — pick the duplicate to absorb.","mergeInto":"Merge {from} into {into}?","merge":"Merge","cancel":"Cancel","merged":"Merged. You can undo this below.","mergeFailed":"Could not merge.","mergesTitle":"Merges","mergeRow":"{from} → {into}","searchPlaceholder":"Search by name, phone or email","noMatch":"Nobody matches.","showMore":"Show more ({n})","loadMoreFailed":"Could not load the next people","unmerge":"Undo","unmerged":"Unmerged — the histories are back where they were.","statusLine":{"people":"people | person | people","multiLine":"reachable on more than one line","merges":"merges suggested | merge suggested | merges suggested"}},"publicChat":{"home":"Home","verifiedBadge":"Verified","websiteLink":"website","emailLink":"email","newChatButton":"new chat","emptyState":"Start a dialogue below by sending a message to the agent.","sendFailed":"⚠️ Something went wrong — please resend your message.","today":"Today","yesterday":"Yesterday","errors":{"disabledTitle":"This employee is switched off","disabledDetail":"The owner has deactivated this employee. If this is your page, flip the \"active\" toggle in the workspace.","notFoundTitle":"Page not found","notFoundDetail":"No employee exists at @:{'brand.host'}/{slug}. Check the link for typos.","networkDetail":"Could not reach the server. Check your connection and try again.","unavailableTitle":"Employee is temporarily unavailable","genericDetail":"The employee may have been disabled by the owner or deleted."},"clearChatConfirm":{"title":"Start a new conversation?","message":"The current chat history will be deleted. Are you sure?","confirmText":"Yes, start over","cancelText":"Cancel"},"verifiedBadgeHint":"A registered business, confirmed in an official register.","verifiedBadgeOwner":"A registered business, confirmed in an official register. This page is run by {owner}.","verifiedBadgeCompany":"This page is run by {company} — the company is confirmed in an official register.","replies":"Online","poweredBy":"Powered by","disclaimer":"This is the company's employee answering. It can be wrong — check anything important with a person.","share":"Share","shareCopied":"Link copied","bioMore":"more","bioLess":"less","backToProfile":"About","backToChat":"Back to the chat","scrollToLatest":"Jump to the latest message"},"salesChat":{"ariaLabel":"Chat with our AI sales assistant","pillPlaceholder":"Ask any question","composerPlaceholder":"Ask your question","defaultName":"Sales","role":"AI sales rep","greeting":"Hi. Ask me anything about the platform, pricing or what it would take to run this for your team.","send":"Send","stop":"Stop","collapse":"Minimise chat","disclaimer":"This chat may be monitored and recorded per our","privacyPolicy":"Privacy Policy","chips":{"demo":"Book a demo","sales":"Talk to sales","support":"Product support"},"chipPrompts":{"demo":"I'd like to book a demo.","sales":"I want to talk to sales about pricing for my team.","support":"I have a question about the product."}},"landing":{"langLabel":"EN","signIn":"Sign in","cta":"Get an assistant","ctaShort":"Start","ctaDemo":"Talk to support","navBuild":"Builder","navPublic":"Page","navPricing":"Pricing","badge":"Social from 30 000 ₽ — instead of a salary","heroA":"Your price list, your rules —","heroB":"and an employee who answers for you.","heroSub":"Upload your price list and terms, and a minute later the employee has an address at %host%/name. It answers in Telegram and WhatsApp, picks the model, quotes the install and issues the invoice.","heroFacts":[{"k":"Launch","v":"a working employee in under a minute"},{"k":"Channels","v":"Telegram, WhatsApp, the website, CRM, MoySklad, 1C"}],"online":"Online","heroConvo":[{"u":"Air conditioner for a 28 m² room — in stock?","a":"Three models. The popular one is the Haier Flexis 09, 54 900 ₽ with installation. We can fit it this week."},{"u":"Is installation included?","a":"The standard one is: up to 3 m of line, bracket, start-up and testing. Every extra metre is 1 200 ₽."},{"u":"Invoice for a company","a":"Done: invoice #2418 raised in MoySklad and emailed. I took the company details from your profile."}],"heroChips":[{"label":"One for 30 m²"},{"label":"Installation"},{"label":"Invoice a company"}],"pillarsLabel":"what it is made of","pillarsTitle":"Four things, and the employee is ready.","pillarsSub":"Not one long prompt but four layers you can read. Each changes on its own, without rewriting the others.","pillarsList":[{"k":"Builder","t":"A role, not a prompt.","d":"Say what it answers for and what it never touches. From there it is assembled from steps - a chain you can see end to end."},{"k":"Knowledge","t":"Your prices, your rules.","d":"Upload the files, links and terms. It answers from them, and says it does not know when the answer is not there."},{"k":"Channels","t":"Where your clients already write.","d":"Telegram, WhatsApp, the site, your CRM and MoySklad. One employee across all of them, with one history per client."},{"k":"Control","t":"The big calls wait for your word.","d":"Discounts, invoices, promises about dates. It prepares, you approve - and you see exactly what reached the client."}],"pillarPins":{"builder":["Role","Knowledge","Channel"],"knowledge":["price_2026.xlsx","delivery_terms.pdf","warranty.docx"],"channels":["Telegram","WhatsApp","Website","CRM","MoySklad"],"control":["Discount","Invoice","Deadline"]},"askPlaceholder":"Ask anything…","buildLabel":"Builder","buildTitle":"Employees, rooms and chains in one workspace.","buildSub":"The three tabs below aren't screenshots. Click through and watch the product work.","tabs":[{"label":"Employee"},{"label":"Room"},{"label":"Chain"}],"employees":"Employees","hireNew":"Hire an employee","working":"Working","core":"Core","skills":"Skills","connections":"Connections","agents":[{"l":"I","name":"Igor","role":"Sales · sizing and quotes","core":[{"k":"Knowledge base","v":"11 files · 18 MB"},{"k":"Instructions","v":"4 rules"},{"k":"Conversations","v":"1,284"}],"skills":[{"n":"Sizing"},{"n":"Install quote"},{"n":"Delivery"},{"n":"Invoices in MoySklad"},{"n":"Instalments"}]},{"l":"O","name":"Olga","role":"Service · warranty and call-outs","core":[{"k":"Knowledge base","v":"24 files · 61 MB"},{"k":"Instructions","v":"7 rules"},{"k":"Conversations","v":"5,902"}],"skills":[{"n":"Call-outs"},{"n":"Warranty"},{"n":"Returns"},{"n":"Escalation"}]},{"l":"V","name":"Victoria","role":"Marketing · social and email","core":[{"k":"Knowledge base","v":"12 files · 8 MB"},{"k":"Instructions","v":"4 rules"},{"k":"Conversations","v":"417"}],"skills":[{"n":"Campaigns"},{"n":"Copy"},{"n":"Reports"}]},{"l":"P","name":"Pyotr","role":"Paperwork · invoices and contracts","core":[{"k":"Knowledge base","v":"38 files · 210 MB"},{"k":"Instructions","v":"11 rules"},{"k":"Conversations","v":"902"}],"skills":[{"n":"Contracts"},{"n":"Reconciliation"},{"n":"Reminders"}]}],"connectionsList":[{"id":"ic-telegram","n":"Telegram","on":true},{"id":"ic-whatsapp","n":"WhatsApp","on":true},{"id":"ic-bitrix24","n":"Bitrix24","on":true},{"id":"ic-moysklad","n":"MoySklad","on":true},{"id":"ic-amocrm","n":"amoCRM","on":false},{"id":"ic-browser","n":"Browser","on":false}],"marqueeList":[{"id":"ic-telegram","n":"Telegram"},{"id":"ic-whatsapp","n":"WhatsApp"},{"id":"ic-bitrix24","n":"Bitrix24"},{"id":"ic-amocrm","n":"amoCRM"},{"id":"ic-moysklad","n":"MoySklad"},{"id":"ic-onec","n":"1C"},{"id":"ic-browser","n":"Browser agent"},{"id":"ic-apps","n":"Your own APIs"}],"roomMsgs":[{"l":"S","n":"sergey","tag":"owner","tagIcon":"key","time":"10:02","text":"Season starts in May. Split it up: purchasing, pricing, landing page."},{"l":"O","n":"olga","tag":"employee","tagIcon":"smart_toy","time":"10:02","text":"I'll take suppliers — six of them, compared on price and lead time.","hasFile":true,"file":"suppliers.xlsx","fileMeta":"6 rows","fileIcon":"table_view"},{"l":"I","n":"igor","tag":"employee","tagIcon":"smart_toy","time":"10:04","text":"Three price options with installation. I recommend option B — 41% margin."},{"l":"P","n":"petr","tag":"employee","tagIcon":"smart_toy","time":"10:06","text":"Proposal and contract drafted for option B, needs your eyes.","hasFile":true,"file":"proposal-B.pdf","fileMeta":"4 pages","fileIcon":"picture_as_pdf"}],"roomTyping":"{'@'}vika is typing","roomInput":"recalculate margin at a 10% discount","inRoom":"In this room","artifacts":"Artifacts","artifactsList":[{"n":"suppliers.xlsx"},{"n":"proposal-B.pdf"},{"n":"unit economics"}],"chainName":"Chain: enquiry → site visit","chainNodesList":[{"label":"Enquiry"},{"label":"Qualify"},{"label":"Slot"},{"label":"Approval"},{"label":"Confirmed"}],"chainLog":"Log","chainLogRows":[{"text":"Enquiry from Telegram — Natalia, air conditioner for a flat","t":"0.4s"},{"text":"Qualified: 28 m² room, fitting before the end of May","t":"2.1s"},{"text":"Slot found: 12 May, 15:00, fitter Anton","t":"3.6s"},{"text":"7% discount — waiting on a human","t":"—"},{"text":"Site visit confirmed, sent to the client on WhatsApp","t":"5.8s"}],"approvalTitle":"Approval","approvalText":"The chain paused: the client wants a 7% discount. That's above the employee's limit — your call.","approve":"Approve","reject":"Change","publicLabel":"Public page","publicTitle":"Every employee gets an address.","publicSub":"%host%/name opens like a messenger: the client writes, the employee answers from the knowledge base and files the lead in your CRM. Nothing to install.","publicRows":[{"k":"A link instead of a form","v":"The client gets an answer now, not after a ticket."},{"k":"Your look","v":"Logo, colours, greeting and quick questions."},{"k":"One memory","v":"Chats from the page land in your CRM and the employee's history."},{"k":"Under control","v":"Every action is visible: what it said, saved and sent."}],"channels":[{"n":"%host%/name","d":"Public employee page"},{"id":"ic-telegram","n":"Telegram","d":"A bot answering as your employee"},{"id":"ic-whatsapp","n":"WhatsApp","d":"Official API, history in CRM"}],"pricingLabel":"Pricing","pricingTitle":"Three plans: from one assistant to your own environment.","pricingBalanceTitle":"You pay for the work, not for seats.","pricingBalanceBody":"A plan is an allowance of actions, not a headcount. How many employees you assemble, and who you let into the workspace, does not move the price.","plansList":[{"name":"Social","price0":"30 000 ₽","per":"/mo","desc":"One assistant, living inside your services and messengers.","cta":"Get an assistant","badge":"","features":["1 AI assistant","Yandex, Google and Mail: mail, calendar, drive","Telegram, WhatsApp and MAX","Knowledge base and memory of every contact","Public %host%/name page","1 user"]},{"name":"Business","price0":"60 000 ₽","per":"/mo","desc":"A company run on AI: rooms, chains, CRM and a browser agent.","cta":"Discuss a rollout","badge":"AI company","features":["3 employees and 4 rooms","Rooms and the chain builder","CRM, MoySklad and messengers","Browser agent","Isolated knowledge base","Custom integrations and API","Unlimited users"]},{"name":"Enterprise","price0":"from 150 000 ₽","per":"/mo","desc":"Your own environment, your own models, a contract and an SLA.","cta":"Talk to the team","badge":"","features":["Everything in Business","A dedicated environment or your own server","Your own models and limits","SLA and dedicated support","Contract and closing documents","Help with the rollout","Training for your team"]}],"pricingNote":"Business is 60 000 ₽ a month. Enterprise starts at 150 000 ₽: what it comes to depends on the number of employees, the connections and the volume of work, and what sets it apart is a dedicated environment, its own models, the contract and the SLA, not a starting price.","calcLabel":"The gain","calcTitle":"Run it on your own numbers.","calcSub":"Switch on the roles you need right now and set the salaries your city actually pays. On the right, the same work on a subscription.","calcRolesTitle":"Who you are hiring","calcResultTitle":"What it comes to","calcRoles":[{"n":"Sales manager","d":"Answers enquiries and carries them to payment"},{"n":"Support agent","d":"Answers customers, including at night"},{"n":"Marketing and content","d":"Copy, posts, newsletters"},{"n":"Documents and invoices","d":"Quotes, invoices, contracts"},{"n":"Assistant","d":"Correspondence, reminders, the daily digest"},{"n":"CRM and MoySklad operator","d":"Moves enquiries across and fills in the records"},{"n":"Browser researcher","d":"Walks the sites itself and collects prices"}],"calcSalaryAria":"salary, roubles per month","calcEmpty":"Switch on at least one role on the left and the sum appears here, on your salaries.","calcSavingLabel":"Difference","calcPerMonth":"per month","calcTimes":"{n}× cheaper","calcQuoted":"that tier is quoted for you","calcStaff":"Payroll","calcPlan":"Subscription","calcHoursUnit":"h","calcHoursHuman":"hours a month from the payroll — and only if nobody is on holiday","calcHoursAgent":"from the employees: nights, weekends and holidays are working hours","calcPlanChip":"The {n} plan fits you","calcQualityTitle":"Quality","calcQualityNote":"Not everything is money. The bottom two rows are where a person is better, and leaving them out would have been dishonest.","calcQualityHead":{"k":"What we compare","human":"A person on payroll","agent":"A %brand% employee"},"calcQualityRows":[{"k":"Nights, weekends, holidays","human":"Not working","agent":"Always working"},{"k":"Holiday, sick leave, resignation","human":"Happens, at the worst time","agent":"Does not happen"},{"k":"Level of the answer","human":"Depends on the day","agent":"The same every time"},{"k":"Memory of a customer","human":"Hit and miss","agent":"Remembers every message"},{"k":"A new person on the team","human":"Weeks of training","agent":"Minutes"}],"calcHumanRows":[{"k":"Hard negotiation and meeting in person","human":"Only a person","agent":"Will not take it"},{"k":"An unusual call made on their own authority","human":"Only a person","agent":"Will ask you"}],"calcNote":"On your figures: salary plus 30% employer contributions plus 8 000 ₽ a month for a desk, per person. An estimate, not an offer.","finalTitle":"Start with one employee. Build an AI company later.","finalSub":"Start with one assistant. Grow into a company whenever you're ready.","talkToSupport":"Ask support","copyright":"© 2026 %brand%","ch1n":"01","ch1t":"What it does","ch1s":"Answers where your clients already write, shows the goods and takes payment — on its own address.","ch2n":"02","ch2t":"How you run it","ch2s":"You decide what it learns, what it settles alone and what it brings you to sign.","ch3n":"03","ch3t":"What you get","ch3s":"Where the money came from, what it costs and how to start.","ch4n":"04","ch4t":"What it comes to in money","ch4s":"The same professions as further up this page, now with numbers on them. Put in your own salaries: we do not know your market, and you do.","genLabel":"Generative UI","genTitle":"It doesn't describe the product — it shows it.","genSub":"Ask a question and the employee builds cards from your catalogue, fills a cart and issues an invoice. The client never leaves the chat.","genRows":[{"k":"Cards instead of paragraphs","v":"Stock, price and photos come from your catalogue and MoySklad."},{"k":"A cart inside the conversation","v":"The client builds the order without switching to a website."},{"k":"Payment on the spot","v":"A payment link, card or a company invoice — it lands in the same chat."}],"genAsk":"Need a quiet air conditioner for an 18 m² bedroom","genReply":"Three models in stock that fit, all with installation and a 12-month warranty:","genProducts":[{"n":"Haier Flexis 09 · up to 25 m²","p":54900},{"n":"Ballu Platinum 12 · up to 35 m²","p":62400},{"n":"Mitsubishi MSZ-AP25 · up to 25 m²","p":89900}],"genAdd":"Add","genAdded":"In cart","genCartLabel":"Items in cart: {n}","genTotal":"Total","genPayCta":"Pay","genPaidTitle":"Payment received","genPaidSub":"Invoice #2418 is closed, the order went to the CRM, and the client has the fitting date.","knowLabel":"Knowledge and memory","knowTitle":"It knows your price list — and remembers each client.","knowSub":"Upload files or connect Google Drive: the employee indexes them and answers only from what's there. Memory about people is kept separately.","knowNote":"Memory is visible line by line and any line can be forgotten. Your data never goes into model training.","knowFilesTitle":"Files","knowMemTitle":"Memory per contact","knowFiles":[{"n":"Price list · May.xlsx","st":"indexed","ok":true},{"n":"Installation and warranty.pdf","st":"indexed","ok":true},{"id":"ic-google","n":"Google Drive · Catalogue 2026","st":"syncing","ok":false},{"n":"Manager answers, April","st":"indexed","ok":true}],"knowMem":[{"n":"Andrey, Grand Hotel LLC","v":"Pays by invoice, fits at night, 5% discount"},{"n":"Natalia","v":"Asked to be told when the 45 m² model lands"},{"n":"Viktor","v":"Writes in the evening, replies with voice notes"}],"forget":"Forget","remember":"Restore","forgotten":"Forgotten — the employee won't recall this","apprLabel":"Approvals","apprTitle":"It doesn't decide the big things without you.","apprSub":"A discount above your threshold, a refund, a letter to a large client — the employee prepares the decision and queues it. One tap and it carries on.","apprItems":[{"what":"7% discount for Grand Hotel LLC","why":"Your threshold is 5%. The client takes nine split systems and pays by invoice.","done":"Sent on WhatsApp"},{"what":"Refund of 18 900 ₽ on order #2317","why":"Unit opened, the fault was confirmed by the service centre.","done":"Refund raised in MoySklad"},{"what":"Proposal for the Green House chain","why":"New client, over 500k ₽ — the email is ready to send.","done":"Email sent"}],"apprApprove":"Approve","apprEdit":"Change","apprEdited":"Back for edits","apprWaiting":"Waiting for you: {n}","apprEmpty":"Queue is empty","artLabel":"Artifacts","artTitle":"You get a document, not a thread.","artSub":"Invoices, proposals, specs and reports come out as files. Every file keeps versions — what changed and who asked for it.","artDocTitle":"Proposal · Grand Hotel LLC","artVersions":[{"v":"v3","when":"today, 14:20","meta":"PDF · 2 pages · after approval","lines":[{"text":"7% discount added as its own line"},{"text":"Lead time: 3 business days, Moscow"},{"text":"Payment: company invoice, 14 days net"},{"text":"12-month warranty pulled out into its own clause"}]},{"v":"v2","when":"yesterday, 18:05","meta":"PDF · 2 pages · before approval","lines":[{"text":"5% discount — within the threshold","dim":true},{"text":"Lead time: 3 business days, Moscow"},{"text":"Payment: company invoice, 14 days net"}]},{"v":"v1","when":"5 May","meta":"PDF · 1 page · draft","lines":[{"text":"9 items from the client request","dim":true},{"text":"Prices from the May list","dim":true}]}],"artDownload":"Download PDF","artSaved":"File saved","artSent":"Sent to the client on WhatsApp, 14:22","teamLabel":"Team","teamTitle":"One employee, several people around it.","teamSub":"Seats, roles and invites. A member sees their rooms, an admin sees settings and connections, the owner sees the bills.","teamSeats":"Seats used: {n} of 5","teamRoles":["Owner","Admin","Member"],"teamMembers":[{"n":"Sergey Volkov","mail":"sergey{'@'}example.com"},{"n":"Marina Egorova","mail":"marina{'@'}example.com"},{"n":"Denis Lapin","mail":"denis{'@'}example.com"}],"teamFree":"2 seats free","teamInvited":"Invite sent by email","teamInviteCta":"Invite","resLabel":"Results","resTitle":"You can see which conversation became money.","resSub":"Every conversation passes three stages and stays linked: from a payment you can walk back to the client's first line and see what the employee promised.","resStages":[{"step":"stage 1","n":"Conversation","d":"Who wrote, which channel they came from, what they asked."},{"step":"stage 2","n":"Lead","d":"The employee recognised the intent and filed the deal in your CRM."},{"step":"stage 3","n":"Payment","d":"The invoice is closed — and you see the conversation behind it."}],"resChannels":[{"id":"ic-whatsapp","n":"WhatsApp","d":"Official API, history lands in your CRM"},{"id":"ic-telegram","n":"Telegram","d":"A bot answering as your employee"},{"n":"Public page","d":"The page conversation lands in the CRM and the history"}],"resNote":"No numbers here on purpose — someone else's turnover says nothing about yours. You'll see your own from day one.","advLabel":"a platform, not just a chat","advTitle":"What it takes for an employee to actually work.","advSub":"Answering in a chat is the easy part. The rest decides whether it survives its second week.","advList":[{"t":"Your data leaves with you","d":"Export the conversations, files and settings yourself, whenever. Leaving is two buttons, not an email to support."},{"t":"Live by this evening","d":"A price list, a role, a channel - and it answers. Not a quarter-long project with an integrator and a spec."},{"t":"Learns from your edits","d":"Fix an answer and it keeps the rule. No rewriting the whole instruction over one sentence."},{"t":"Roles ready to take","d":"Sales, support, sourcing, paperwork. Start from the nearest one and change it, instead of a blank page."},{"t":"Every answer is visible","d":"The conversations, the actions and the spend, in one place. Anything hard goes to a person rather than getting invented."}],"advScrollBack":"Previous cards","advScrollForward":"Next cards","stepsLabel":"Getting started","stepsTitle":"Three steps to the first client answer.","stepsList":[{"num":"1","time":"a minute","t":"Create the employee","d":"Name, role and tone. It gets an address at %host%/name straight away."},{"num":"2","time":"about an hour","t":"Give it knowledge","d":"The price list, installation and warranty terms, past manager answers — as files or a Google Drive link."},{"num":"3","time":"5 minutes","t":"Connect a channel","d":"Telegram, WhatsApp or just the link — and the client writes to it, not to you."}],"faqLabel":"Questions","faqTitle":"What people ask before they pay.","faqList":[{"q":"What if it gets something wrong in front of a client?","a":"It answers only from what you uploaded. When the base has no answer it says so and calls a human. Anything above your threshold — discounts, refunds, letters to large clients — goes to approvals and waits for your tap."},{"q":"Where is our data stored?","a":"In your company's isolated knowledge base. Access follows your roles, and export and deletion are available at any time."},{"q":"How do people sign in?","a":"By email and password, or through Russian IDs — VK ID, Yandex ID and Mail ID. A social identity is linked to the account rather than replacing it: a password can be added later and the link removed. Which methods appear is yours to decide in settings."},{"q":"Do models train on our data?","a":"No. Your files and conversations are used only to answer as your employee and never go into model training."},{"q":"How long does rollout take?","a":"The first working employee takes under a minute. Sensible answers from your price list take about an hour — that's uploading the files and checking a dozen questions."},{"q":"Do we need a developer?","a":"No. Employees, rooms and chains are built by mouse; Telegram and WhatsApp connect through a wizard. A developer is only needed for a custom integration — there are webhooks and an API for that."},{"q":"Will it replace my people?","a":"It takes the repetitive part: stock, price, delivery, invoices, order status. Your managers stay on the hard deals and see the whole conversation when they step in."},{"q":"Does it work with MoySklad and our CRM?","a":"Bitrix24, amoCRM and MoySklad connect through a wizard: deals, invoices and stock move both ways. 1C connects through its standard OData interface — the employee reads products, stock and documents and, if you allow it, creates and posts documents. Anything else goes through webhooks."},{"q":"Other languages","a":"It answers in the client's language: Russian, English and more. Tone and address are set separately from language."},{"q":"What counts as an action in the plan","a":"One step of the employee's work: an answer, a knowledge-base lookup, a CRM write or a chain step. Reading history and changing settings cost nothing."},{"q":"Can we leave and take our data?","a":"Yes. Conversations, artifacts and the knowledge base export as one archive — «Download my data» in account settings, no support ticket. After you delete the account the data is erased 30 days later."}],"footerLegal":["Terms","Privacy","Data deletion","Company","Payment","Refunds","Data processing consent"],"copyIdle":"Copy","copyDone":"Copied","copyLogo":"Copy logo as SVG","copyWordmark":"Copy wordmark as SVG","supportName":"%brand% support","supportRole":"AI employee · answers instantly","chatPlaceholder":"Your question…","chatDisclaimer":"This chat may be stored per our privacy policy.","chatGreeting":"Hi! I'm the %brand% support employee. I can cover pricing, connections and chains — what are you after?","chatQuick":[{"label":"How does it work?","reply":"You create an employee, upload your price list and rules, connect Telegram or your CRM. A minute later it has a %host%/name address people can write to."},{"label":"What does it cost?","reply":"Social is 30 000 ₽/mo: mail, calendar and messengers. Business is 60 000 ₽/mo: rooms, chains, CRM and the browser agent. Enterprise is quoted for your own environment."},{"label":"Connect me to sales","reply":"Done — passed your request to a manager, they'll reply within 15 minutes. You can also email info{'@'}anyworker.ai."}],"chatFallback":"Noted and passed to a manager — you'll hear back within 15 minutes. Meanwhile I can cover pricing, connections or chains.","helperChat":{"register":"Sign up","pricing":"See the plans","contacts":"Our contacts","leaveContact":"Leave a contact","contactsText":"Email: info{'@'}anyworker.ai. Company details are on the “Company” page.","contactsCompany":"Open “Company”","formTitle":"Leave a contact — the team will get back to you","formName":"Your name","formContact":"Phone, email or Telegram","formMessage":"What you are interested in (optional)","formSend":"Send","formCancel":"Cancel","formSent":"Thank you! Request #{n} is with us — we will reach you at the contact you left.","formNeedContact":"Enter a phone, an email or a Telegram name.","formConsentPrefix":"By sending this form you agree to the","formConsentPolicy":"privacy policy","error":"Could not answer right now. Try again in a minute, or leave a contact and the team will answer.","inquiryText":"Hello! I would like to discuss the {n} plan: how to roll it out and on what terms.","inquiryReply":"Thanks for writing! Leave a phone number or Telegram and the team will get in touch to talk it through. What works best for you?","formChannel":"How should we reach you","channelCall":"Call","channelTelegram":"Telegram","channelWhatsapp":"WhatsApp","channelEmail":"Email","channelNote":"Preferred: {n}"},"chainRun":"Run","chainReset":"Reset","chainDone":"done","themeLight":"Light theme","themeSystem":"Match the system","themeDark":"Dark theme","langSwitch":"Переключить на русский","ctaDashboard":"Open workspace","menuLabel":"Menu","menuClose":"Close menu","chatOpen":"Open support chat","chatCollapse":"Collapse chat","chatSend":"Send","scrollProgress":"Read so far","metaTitle":"%brand% — AI employees for small business","metaDescription":"The employee knows your price list and terms, answers customers in Telegram and WhatsApp, takes orders and issues invoices. Its own page at %host%/name, rooms, chains, CRM and MoySklad.","perMonth":"/mo","perYear":"/yr","signOut":"Sign out","footerAbout":"A small company hires an AI employee: it knows the price list, answers customers in every channel, takes orders and hands the hard cases to a person.","footerColProduct":"Product","footerColCompany":"Company","footerColLegal":"Legal","footerColResources":"Resources","footerCookies":"Cookie settings","signInWith":"Sign in by email, or with"},"company":{"heading":"Company Information","intro1":"@:{'brand.name'} is the name of the platform and the brand.","intro2":"The @:{'brand.name'} team develops the platform and related AI infrastructure products.","brandLabel":"Brand","entityLabel":"Legal entity","stateLabel":"State of incorporation","countryLabel":"Country","websiteLabel":"Website","supportLabel":"Support"},"invite":{"eyebrow":"You have been invited to","sentTo":"This invitation was sent to {email}.","setUpAccount":"Set a password and you're in — no separate sign-up.","yourName":"Your name","yourNamePlaceholder":"Sasha Petrov","yourNameHint":"Your colleagues and the agents in the room will see this on your messages.","password":"Password","passwordHint":"At least 8 characters.","joining":"Joining…","joinAs":"Join {workspace}","alreadyHaveAccount":"Already have an account?","signInFirst":"Sign in with that address to join, or create an account with it.","createAccount":"Create an account","signIn":"Sign in","accept":"Join this workspace","wrongAccountHint":"Signed in as somebody else? This link only works for {email}.","invalidTitle":"This invitation does not work","invalidBody":"It may have expired, been revoked, or already been used. Ask whoever invited you for a new link.","goHome":"Go to the home page","joinedTitle":"You are in {workspace}","joinedBody":"Everything in this workspace is now yours to work with.","openWorkspace":"Open the workspace","loading":"Reading the invitation…","eyebrowProblem":"invitation","eyebrowDone":"done","noPublicAddress":"You will not have a public address of your own — you are joining somebody else's workspace to help. You can set up an employee of your own later, separately."},"artifacts":{"rename":"Rename","renameFailed":"That name could not be used","nameLabel":"Document name","editorLabel":"Document text","versions":"Version history","wrapOn":"Wrap long lines","wrapOff":"Stop wrapping long lines","edit":"Edit","save":"Save","download":"Download","downloadOriginal":"Download .{ext}","downloadAsPdf":"Download as PDF","downloadAsDocx":"Download as Word","downloadAsPptx":"Download as PowerPoint","downloadFailed":"That file could not be prepared","copyLink":"Copy link","linkCopied":"Link copied","linkCopiedHint":"Anyone with it can download this document for 7 days.","linkCopyFailed":"Could not copy the link","showPreview":"Preview","showSource":"Source","conflicted":"Written over somebody else's change","editingFromOld":"You are editing from version {version}; saving makes it the newest one.","panelEmpty":"Nothing written in this conversation yet.","closeTab":"Close {name}","documentTabs":"Documents in this conversation","emptyDocument":"This document has nothing in it yet.","lastEdited":"Last edited {date}","createdOn":"Created {date}","dialogLabel":"Document from this conversation","viewerLabel":"Document","viewLabel":"View","viewList":"List","viewCards":"Cards","searchPlaceholder":"Search documents","allSources":"All sources","fromChats":"From chats","fromRooms":"From rooms","allKinds":"All types","unknownSource":"Source removed","empty":"No documents yet","emptyHint":"Ask an employee to write one — a page, a report, a spec — and it appears here, versioned.","deleteTitle":"Delete {name}?","deleteMessage":"The document and every version of it go. This cannot be undone.","diff":"What changed","comparedWith":"compared with v{version}","oldestKept":"This is the oldest version still kept, so there is nothing behind it to compare with.","identical":"Nothing changed between these two versions — the text is identical.","oldVersionChip":"older version","headVersion":"current version","versionsNote":"We keep the last 40 versions. The numbers below have gaps — we compare against the neighbour in this list, not against \"number minus one\".","whenToday":"today {time}","whenYesterday":"yesterday {time}","previewFailed":"This file could not be shown here. Download it to open it.","preparingPreview":"Getting this file ready to show…","previewStopsPartway":"This preview stops partway. Download the file to see all of it.","previewRowsShown":"Showing the first {shown} of {total} rows. Download the file to see all of them.","previewColumnsShown":"Only the first {n} columns are shown.","zoomIn":"Zoom in","zoomOut":"Zoom out","zoomReset":"Actual size","zoomFit":"Fit to width","previewUnavailable":"This file can’t be shown here. Download it to open it.","fileGone":"This file is no longer in storage, so it can’t be opened or downloaded.","fileGoneShort":"This file is no longer in storage.","openCard":"Open · v{version}"},"filesLibrary":{"openButton":"All files","showAll":"All files ({n})","openTitle":"All files — search, upload, delete","stats":"{count} files · {mb} MB","indexing":"Indexing {done}/{total}","allIndexed":"All indexed","upload":"Upload","search":"Search files…","dropHint":"Drop files here, or press Upload","noMatches":"Nothing matches “{q}”","indexed":"Indexed","indexedOf":"Indexed {done}/{total}","stored":"Stored","processing":"Indexing…","failed":"Failed","saved":"Saved","uploaded":"{n} file(s) uploaded","delete":"Delete {name}","deleteConfirmTitle":"Delete “{name}”?","deleteConfirmDescription":"The file and everything indexed from it will be removed. This cannot be undone.","clearAllTitle":"Delete ALL files","clearConfirmTitle":"Delete every file?","clearConfirmDescription":"All {count} files ({mb} MB) and everything indexed from them will be removed. This cannot be undone.","clearedN":"{n} file(s) removed","clearFailed":"Could not clear everything","download":"Download {name}"},"finder":{"open":"Find in conversation","placeholder":"Find a message…","day":"Jump to a day"},"brand":{"name":"anyworker.ai","host":"anyworker.ai","legal":"AnyWorker"},"room":{"header":{"openSessions":"Sessions","openMenu":"Menu","inRoom":"{n} in the room","live":"live","otherWorking":"{n} more session working | {n} more sessions working","missingMembers":"{n} deleted","missingHint":"open the room settings to replace them","setup":"Room setup","activityIdle":"nothing running","activityBusy":"{people} · {jobs}","activityPeople":"{n} employee | {n} employees","activityJobs":"{n} job | {n} jobs","showPanel":"Show the panel","hidePanel":"Hide the panel"},"rail":{"title":"Sessions","back":"All rooms","new":"New session","sectionLabel":"sessions","inRoom":"{n} in the room","working":"{n} working","unread":"{n} unread","writing":"{name} is writing","messages":"{n} message | {n} messages","blocked":"{n} blocked","delete":"Delete this session","unreadHint":"new since you last opened it","empty":"No sessions yet. The first message opens one.","width":"Session list width","panelWidth":"Side panel width"},"people":{"you":"you","owner":"owner","employee":"employee","colleague":"colleague","person":"person","hereNow":"here now","add":"Invite more"},"feed":{"phase":{"routing":"choosing who answers…","planning":"planning the work…","digest":"folding earlier messages into memory…"},"empty":"Write a task. Use {'@'}name to pick who does it.","older":"Earlier messages","loadingOlder":"Loading…","today":"Today","yesterday":"Yesterday","dropFiles":"drop files here","jumpLatest":"jump to latest","jumpLatestWorking":"the room is working — jump to latest","typingOne":"{name} is typing…","typingMany":"{n} people are typing…","hereOne":"{name} is here","hereMany":"{n} people are here","someone":"someone","continueTitle":"send “continue” — the room picks up where it stopped","continue":"Continue","system":{"messageWaiting":"the room already has a message waiting","stillWorking":"the room is still working on the previous message","failed":"something went wrong — please try again","refused":"the room refused this message ({status})","connectionLost":"connection lost — reopen the room to rejoin it","answerNotSent":"the answer could not be sent"}},"message":{"routerChose":"Router chose {name} — {reason}","waveTitle":"{n} employee worked on this in parallel | {n} employees worked on this in parallel","digestHint":"Show what this session remembers","noDescription":"no description","conflicted":"written over a newer version — worth a check","employee":"employee","agent":"employee","you":"{name} (you)","typing":"typing","file":"file","incompleteAborted":"stopped — the reply is incomplete","incompleteError":"interrupted by an error — the reply is incomplete","steps":"{n} step | {n} steps","reply":"Reply","copy":"Copy","copied":"copied","resend":"Send again","receiptModel":"model","receiptEffort":"effort","receiptTook":"took","receiptTools":"tools","autoContinued":"continued automatically","autoContinueCount":"{n} of {max}"},"composer":{"placeholder":"Write to the room — or call an employee with {'@'}","placeholderStreaming":"The room is working — send to redirect it…","hint":"{'@'}name to pick who answers · shift+enter for a new line","hintTouch":"{'@'}name to pick who answers","hintStreaming":"Send to redirect the room after this reply","hintStreamingBusy":"The room is answering a colleague — your message is taken up when it settles","attach":"Attach","voice":"Voice prompt","stopRecording":"Stop recording","send":"Send","sendAnyway":"Send anyway — the room switches to this","stop":"Stop","cancelReply":"Cancel reply","mentionTitle":"Call into the conversation","mentionToggle":"Call an employee","mentionAll":"all","mentionAllRole":"everyone, one after another"},"plan":{"label":"plan","show":"Show the steps","hide":"Hide the steps","interrupted":"nothing is running — the plan stopped here. Finished steps are kept.","continue":"continue","continueMessage":"continue the plan","workingNow":"{names} working now","dropped":"no longer needed","waitsFor":"waits for {list}","dropTitle":"Drop this plan","hideTitle":"Hide this plan","drop":"drop","hidePlan":"hide","stepTitle":"{seq}. {title} — {status}","status":{"done":"done","in_progress":"in progress","blocked":"blocked","dropped":"dropped","pending":"pending"},"continueAsIs":"continue as is","waitingForYou":"waiting for you — {blocked}. Reply with what is missing, or","aStepBlocked":"a step is blocked","stepsBlocked":"{n} step blocked: {names} | {n} steps blocked: {names}","after":"after {list}","less":"− less","more":"+ {n} more"},"wave":{"working":"{n} employee working in parallel | {n} employees working in parallel","note":"Each reply appears here in full when its employee finishes — they are writing at the same time, not one after another.","done":"finished","blocked":"blocked","failed":"stopped with an error","running":"working…","settling":"the wave is settling","oneWorking":"{name} is working on {title}","manyWorking":"{names} are working on {n} steps in parallel","subtasks":"subtasks →"},"activity":{"eyebrow":"Room","title":"What is running now","close":"Close","emptyTitle":"nothing is running in this room right now","emptyBody":"work keeps going with the tab closed, so this can fill up while you are elsewhere","summary":"{people} working across {jobs}","summaryPeople":"{n} employee | {n} employees","summaryJobs":"{n} session | {n} sessions","open":"open","byPlan":"working through the plan","answering":"{name} is answering","starting":"starting","runningFor":"running {ago}","blocked":"{n} blocked","unnamed":"a session","justNow":"just now","minutesAgo":"{n}m","hoursAgo":"{n}h","note":"Sessions run independently — leaving one, or closing the tab, does not stop it. Open a session to watch it or to stop it."},"panel":{"title":"Room","subtitle":"team, plan and artifacts","working":"{n} working","idle":"Nothing running","details":"Details","inFlight":"{n} session in flight | {n} sessions in flight","documents":"Artifacts","documentsEmpty":"Nothing written yet. Ask the room for a document and it lands here.","noDescription":"no description","team":"In the room","manage":"Manage","teamEmpty":"No one here yet.","turns":"{n} turn | {n} turns","turnsAvg":"{turns} · ~{seconds}s each","routing":{"mentions_only":"only when mentioned","all_reply":"everyone replies","auto":"the router picks"},"instruction":"Room instruction","instructionEdit":"Edit","instructionEmpty":"What is this room working on? Every member reads this on every turn.","files":"Shared files","filesAdd":"Add","filesUploading":"Uploading…","filesEmpty":"Nothing shared yet. Drop a brief here and the whole team can read it.","filesMore":"+ {n} more","filesCount":"{n} in this room","fileIndexed":"indexed","fileIndexing":"indexing…","fileFailed":"failed","fileRemove":"Remove “{name}”","fileRemoveTitle":"Remove “{name}”?","fileRemoveBody":"The whole room stops being able to search this file. Nothing already written from it is affected.","fileRemoveConfirm":"Remove","memory":"Session memory","memoryWaiting":"{n} waiting","memoryCondense":"Condense","memoryCondensing":"Condensing…","memoryOutside":"{n} messages have scrolled past the {window} every member reads, and nothing has been condensed yet.","memoryNone":"Nothing condensed yet — this session still fits in the {window} messages every member reads.","memoryShowAll":"Show all","memoryShowLess":"Show less","memoryForget":"Forget","memoryForgetHint":"Throw this summary away — the messages themselves stay"},"doc":{"noDescription":"no description","lastBy":"last by {name}","showDiff":"changes","showText":"text","compareWith":"Compare with v{n}","nothingEarlier":"Nothing earlier is kept","download":"Download v{n}","backToHead":"Back to current","edit":"Edit","cancel":"Cancel","save":"Save version","saving":"saving…","close":"Close","oldest":"this is the oldest version still kept, so there is nothing behind it to compare with.","identical":"nothing changed between these two versions — the text is identical.","versions":"Versions","noHistory":"no history yet","conflicted":"Written from a copy that had already been overwritten","seeWhatChanged":"see what it changed","owner":"owner","delete":"delete","note":"Two members can write a document in the wrong order: a model call sits between the read and the write. We do not forbid that — we record it, and the overwritten version stays readable.","discardTitle":"Discard this edit?","discardBody":"The document keeps its current version. Nothing you typed here is saved.","discardConfirm":"Discard","discardCancel":"Keep editing","justNow":"just now","minutesAgo":"{n}m ago","hoursAgo":"{n}h ago","daysAgo":"{n}d ago","deleteTitle":"Delete “{name}”?","deleteBody":"The document and every version of it go. The room and its sessions are untouched.","deleteConfirm":"Delete","deleteCancel":"Cancel","downloadAs":"Download v{n} as {format}"},"session":{"deleteTitle":"Delete “{title}”?","deleteBody":"Its whole conversation and its plan go with it. The room and its other sessions are untouched.","deleteConfirm":"Delete","deleteCancel":"Cancel","busy":"that session is working right now — stop it first, then delete it"},"proposals":{"title":"Proposed automations","accept":"Accept","discard":"Discard","proposedBy":"proposed by {name}","stepWord":"step | steps","runsAs":"Runs as","live":"{name} is live","applyFailed":"Could not accept the proposal","discardFailed":"Could not discard the proposal"},"liveView":{"takeOver":"You can take over if it gets stuck — click straight into the page.","working":"{name} is working in a browser","someone":"An employee","collapse":"Collapse","expand":"Expand"},"docs":{"title":"Documents","count":"{n} in this room"},"sessions":{"stopDeleteTitle":"“{title}” is working","stopDeleteBody":"Stop the session mid-task and delete it? Whatever it was writing is abandoned.","stopDeleteConfirm":"Stop and delete"},"note":{"noAgentAsked":"message for {names} — no agent was asked","planDrafted":"plan: {goal} — {n} subtasks","wholeRoom":"addressed to the whole room — {n} members will reply in turn","mentionsOnly":"Mention an agent with {'@'}Name to address them — this room replies to mentions only.","noReply":"no reply needed — nobody was given the floor","turnTimeout":"{name} ran out of time and was stopped — the room moves on","interjection":"you sent a new message — the room switches to it","handoffLimit":"handoff limit reached — the relay stops here","planDropped":"the plan was dropped — the room stops working through it","quotaOut":"the account's AI Actions have run out — the room stops here. Finished steps are kept.","tokenBudget":"token budget for this exchange is spent ({n}) — the room stops here","turnLimit":"turn limit reached — the exchange stops here","autoContinue":" — continuing automatically ({next} of {max})","autoPaused":" — autopilot paused after {max} continuations; send a message to continue","taskBlocked":"task {seq} blocked — {reason}","planComplete":"plan complete — all {n} subtasks done: {goal}","planCompleteDropped":" ({n} dropped along the way as no longer needed)","noSummary":" (no closing summary — {why})","noSummaryPastTheCap":"the room ran out of automatic continuations before one could be written","noSummaryOutOfActions":"the account's AI Actions ran out before one could be written","planStopped":"plan stopped — {done} of {total} done, {blocked} blocked","droppedCount":", {n} dropped as no longer needed","stillWaiting":" — {n} still waiting","planPaused":"plan paused — {done} of {total} done, {blocked} blocked","pausedTail":". Reply with what is missing and the room continues; Continue retries as is.","planResumed":"plan resumed — {n} blocked step reopened with your answer written into it | plan resumed — {n} blocked steps reopened with your answer written into them","resumedRestart":"resumed after a restart — continuing the plan","continuationsUsed":"this plan has used its automatic continuations — send a message to carry on","digest":"Condensed {n} earlier message into this session's memory | Condensed {n} earlier messages into this session's memory","waveMany":"{n} employees are working in parallel — {names}","waveOne":"{name} is working on {seq}. {title}","droppedNames":" (dropped: {names})","waitingNames":" (still waiting: {names})"}},"onboarding":{"metaTitle":"Getting started","metaDescription":"Set up your first employee in five steps.","loading":"Opening your employee…","saving":"Saving…","saveFailed":"Could not save. Please try again.","skip":"Skip","back":"Back","next":"Next","assemble":"Build the employee","openWorkspace":"Open the workspace","progressLabel":"Getting-started steps","stepOf":"Step {n} of {total}: {title}","stepCounter":"step {n} of {total}","doneEyebrow":"done","themeToLight":"Light theme","themeToDark":"Dark theme","steps":{"field":{"title":"What do you do?","sub":"It decides what your employee talks about from the first minute. You can change it later."},"goals":{"title":"What can the AI employee do?","sub":"Pick everything that fits. We switch on the rights you choose and leave the rest off."},"name":{"title":"What is the AI employee called?","sub":"This is the name customers see. It already has an address — issued with your account."},"know":{"title":"Give it something to know","sub":"A price list, your terms, a policy — wherever its answers should come from."},"source":{"title":"How did you hear about us?","sub":"One question for us rather than for the employee. Optional — you can simply move on."},"done":{"title":"Your employee is ready","sub":"We have asked it the first question already — see how it answers."}},"spheres":{"shop":{"name":"Shop","note":"Products, prices, stock, delivery"},"services":{"name":"Services","note":"Booking, quotes, call-outs"},"food":{"name":"Cafés and restaurants","note":"Menu, tables, delivery"},"estate":{"name":"Property","note":"Listings, viewings, mortgages"},"edu":{"name":"Education","note":"Courses, timetable, payment"},"other":{"name":"Something else","note":"Tell it yourself — we will follow"}},"goals":{"answer":{"name":"Answer customers","note":"It always does this — it cannot be switched off","chip":"Answers"},"leads":{"name":"Take enquiries","note":"Ask for a name and a number and save them for you","chip":"Enquiries"},"calls":{"name":"Book appointments","note":"Offer a time and book a call or a visit","chip":"Bookings"},"discounts":{"name":"Offer discounts","note":"Come down on price when a customer haggles","chip":"Discounts"}},"name":{"faceLabel":"Face","addPhoto":"Upload a photo","replacePhoto":"Replace photo","nameLabel":"Employee name","namePlaceholder":"For example: Polina","nameHint":"This is how it introduces itself and how its messages are signed.","addrIssued":"The employee's public address","copy":"Copy","copied":"Copied","addrHint":"Customers open the employee's page at this address. It was issued at sign-up and does not change.","addrFrozen":"The address is permanent: customers are given it, and the link has to keep working. It is built from your sign-in name — {username} — which does not change either."},"know":{"sources":{"file":{"name":"Upload a file","note":"Price list, catalogue, policy — pdf, docx, xlsx, txt"},"site":{"name":"Take it from a page","note":"Give us a link and we read that page"},"skip":{"name":"Skip for now","note":"You can add knowledge later, in one click"}},"urlLabel":"Link to a page","urlPlaceholder":"example.com/prices","urlHint":"One page at that link is read, not the whole site. Need several — add them one at a time, here or later in the dashboard.","read":"Read it","reading":"Reading…","failed":"That did not work. Try another file or link.","untitled":"Untitled","status":{"working":"processing","ready":"ready","failed":"failed"}},"source":{"question":"How did you hear about us? Optional — it helps us.","otherPlaceholder":"Tell us where exactly","send":"Send","thanks":"Thank you — noted.","options":{"search":"Search","social":"Social media","friend":"A recommendation","ads":"An ad","youtube":"YouTube","other":"Something else"},"optional":"You can leave this — it changes nothing."},"done":{"askedForYou":"The first question — asked for you","thinking":"Your employee is typing","liveHint":"Your employee is online","unreachable":"No answer right now — the employee's page is not responding yet. Nothing is broken: ask it yourself on the next screen.","handover":"Next: “First steps” in the dashboard — connect the channels and hand out the remaining rights."},"questions":{"shop":"What do you have in stock and how much is it?","services":"How much is a call-out today?","food":"Is there a table for four on Saturday?","estate":"What have you got under 40 million?","edu":"When does the next course start?","other":"Tell me, what can you help with?"},"questionsBy":{"price":{"shop":"How much are your products and how do I order?","services":"How much do your services cost?","food":"How much is lunch and what is on the menu?","estate":"What do you have and at what prices?","edu":"How much is the course and what does it include?","other":"How much do your services cost?"},"booking":{"shop":"Can I book a consultation for tomorrow?","services":"Can I book for tomorrow?","food":"Can I book a table for four on Saturday?","estate":"Can I view an apartment this week?","edu":"Can I sign up for a trial lesson?","other":"Can I book a meeting for tomorrow?"},"lead":{"shop":"I want to place an order — what do you need from me?","services":"I need a specialist — how do I leave a request?","food":"I want to order a banquet — how do I leave a request?","estate":"I am looking for an apartment — how do I leave a request?","edu":"I want to enrol my child — what do I need to do?","other":"I want to leave a request — what do I need to do?"}},"instruction":{"role":"You are {name}, an employee of this company. Field: {sphere}. Answer briefly, to the point, in the customer's language.","roleNoSphere":"You are {name}, an employee of this company. Answer briefly, to the point, in the customer's language.","duty":{"answer":"answer customers' questions","leads":"ask for a name and a phone number when a customer is ready to leave an enquiry","calls":"offer a convenient time and book a meeting or a call","discounts":"offer a discount when a customer haggles"},"tail":"Say so when you do not know something, and offer to check with a person."},"noAgent":{"eyebrow":"nearly there","title":"This account has no employee of its own yet","sub":"That happens to people who arrived through an invitation: you work in somebody else's workspace, and you set up an employee of your own separately, whenever you want to.","cta":"Go to the workspace"},"failed":{"eyebrow":"no luck","title":"Could not open your employee","sub":"The connection seems to have dropped. Nothing is lost — your answers are kept in this browser.","retry":"Try again","skip":"Skip the introduction"}},"editor":{"nameLabel":"Chain name","publicTitle":"Started from outside","required":"required","channelLabel":"Where to send it","typePickerLabel":"What this step does","typePickerTitle":"What this step does","typePickerSubtitle":"A step that does exactly what is written behaves the same on every run. Use the model only where language is the point.","addStep":"Add a step","trigger":{"on_lead_captured":"when a lead comes in","on_new_message":"on every new message","on_order_placed":"when an order is placed","on_webhook":"when another system calls this chain","manual":"only by hand or on a schedule"},"triggerNote":{"on_lead_captured":"A customer left their contact details, in the public widget or a card. They start this chain themselves, so it has to be marked as startable from outside.","on_new_message":"Any message in any connected messenger. You can narrow it to one sender below.","on_order_placed":"A customer finished checking out in the shop bot.","on_webhook":"Another system calls a URL — a CRM, a form on your site, a payment provider. The URL and the signature check appear below once the chain has been saved with this trigger.","manual":"There is no other trigger: a schedule, or you starting it by hand."},"type":{"run_room":"Give the work to a room"},"typeGroup":{"deterministic":"Do exactly what is written","modelLed":"The model decides — it may choose differently"},"sendTo":{"label":"To","textLabel":"Text"},"aiAction":{"taskLabel":"Task"},"aiDecision":{"addChoice":"Add an option"},"toolCall":{"toolLabel":"Tool","argsHint":"Each argument gets its own box. As one comma-joined string, a value that itself contains a comma silently splits in two. A value that is a single substitution keeps its type — a number stays a number.","addArg":"Add an argument"},"set":{"nameLabel":"Value name","addVar":"Add a value"},"foreach":{"addBodyStep":"Add a step to the loop"},"runRoom":{"messageLabel":"What to do"},"askHuman":{"questionLabel":"Question"},"condition":{"ifWord":"if","elseIfWord":"else if","valueLabel":"value","addBranch":"Add a condition"},"badges":{"after":"after {delay}","retries":"retries: {n}","onError":"on error: {policy}","noTools":"no tools","tools":"tools: {list}","strictJson":"strict json","modelDecides":"the model decides"}},"webhook":{"keepBodiesWhy":"This is somebody else's data, so it is off by default. Without it there is no answer to \"what exactly did they send me\"."},"viewModal":{"triggerLabel":"Trigger","stepsLabel":"Steps","elseLabel":"else","aiAction":"AI action","condition":"If / then","aiDecision":"AI decision","toolCall":"Call {tool}"},"tutorial":{"title":"Try it on your own employee","count":"{done} of {total}","pill":"Try it · {n} of {total}","collapse":"Collapse","doneBadge":"Done. The employee is yours","leave":"Close the walkthrough","leaveNote":"Come back through the menu in the corner","undo":"Undo","ask":{"title":"Ask it yourself","note":"Type what your customers ask most often. This is your employee answering.","action":"Write a question","waiting":"Waiting for the answer","question":"How much is delivery, and how many days does it take?","now":"It has read your document, but you have not seen that yet.","then":"Ask in your own words — it answers from your file, not from a demo.","hint":"For example: how much is delivery and how long does it take?","suggest":"I don't know what to ask"},"instruct":{"title":"Change the instruction, then watch","note":"We will add one rule. Save it, and the employee answers the same question again, on its own.","action":"Open the instruction","waiting":"Answering again","example":"Always give the delivery time in days and add that a manager will confirm the exact date. If the customer has not said which city they are in, ask for the city first and work it out after.","was":"Was","now":"It answers however it sees fit — you have set no rules yet.","same":"The answer came back much the same. Try a firmer rule and save again.","then":"We add one rule and it answers YOUR question again. Both answers side by side."},"memory":{"title":"Give it a document","note":"A price list, your terms, a description of what you sell. As soon as it has read the file we will ask about it.","action":"Upload a file","waiting":"Reading the document","already":"It already has a document, from the introduction. What is left is seeing it used.","ask":"Ask about the document","question":"What is in the document you were given? Name a couple of items with prices.","now":"Right now it does not know your prices, and says so honestly.","then":"After this it will answer from your price list — figures and terms."},"publish":{"title":"See what a customer sees","note":"The employee has an address of its own. Open it the way a stranger would.","action":"Open the page","waiting":"Opening","copy":"Copy the link","toast":"Your employee is working","now":"The employee is ready, but you have not seen it as a customer would.","then":"This opens the very page a stranger gets from your link."},"finish":{"title":"Done. The employee is yours","sub":"You just did all of this yourself — and here is what you now have.","knows":"Knows your price list and answers from it, not in generalities","answers":"Answers customers' questions — you watched it happen","obeys":"Obeys your instruction: you changed the rule, the answer changed","live":"Already working at its own address, ready to give to customers","close":"Got it, close"},"stepOf":"Step {n} of {total}","who":{"title":"Meet your employee","note":"Its name, what it does, and the address a customer will find it at.","action":"Open the card","waiting":"Looking","now":"The employee already exists — you have not looked at it yet.","then":"You will see what a customer sees: name, job and page address."},"know":{"title":"Give it your price list","note":"Prices, terms, a description of what you sell. Once it has read them, ask it yourself.","action":"Upload a file","waiting":"Reading the document","now":"Right now it does not know your prices, and says so honestly.","then":"It will answer from your file — figures and terms.","ask":"Ask it yourself","askNote":"Type what your customers ask most often.","askAction":"Ask your own question","askNow":"It has read your document, but you have not seen that yet.","askThen":"It answers from your file — your employee, not a demo.","question":"What is in the document I uploaded? Name a couple of items with prices."},"how":{"title":"Tell it how to answer","note":"A sentence or two on how it should talk. Save it — and it answers YOUR question again.","action":"Write a rule","waiting":"Answering again","now":"It answers however it sees fit — you have set no rules yet.","then":"It answers your question again, by the rule. Both answers side by side.","example":"Always ask which city before quoting delivery. Never promise an exact date — say a manager will confirm it.","was":"Before","now2":"After","same":"The answer barely changed. Try a firmer rule and save again.","askAction":"Press «Ask»","askNow":"The rule is saved — but the answer on screen is still the old one.","askThen":"The same question goes out again, and you hear what changed.","actionEdit":"Refine the rule","nowEdit":"There is a rule already — it answers by it.","thenEdit":"Save the change and it answers the same question again."},"rights":{"title":"Decide what it may do","note":"Rights change deeds, not words: collect leads, book calls, offer a discount.","action":"Turn one on","waiting":"Answering again","now":"It never offers a discount — you have not allowed one.","then":"I will ask your question again, and you will hear what changed.","askAction":"Press «Ask»","askNow":"The right is on — but the answer on screen is still the old one.","askThen":"The same question goes out again, and you hear what changed.","actionMore":"Turn this right on","nowMore":"The step counts once three rights are on.","thenMore":"It will do this on its own, without asking you."},"where":{"title":"See it as a customer","note":"The employee has its own address. Open it the way a stranger would.","action":"Open the page","waiting":"Opening","now":"The employee is ready, but you have not seen it from outside.","then":"This opens the very page a customer gets from your link.","copy":"Copy the link","toast":"Your employee is working"},"settle":{"waiting":"Answering now","done":"Here is the answer","waitingNote":"The answer will appear here — watch this panel","doneNote":"Read it, then carry on when you are ready","continue":"Continue","review":"Look it over","reviewNote":"The name, the job and the address can all be changed right here","meet":"This is your employee","meetNote":"Check the name and say what it does — this is what a customer sees. Change it right here.","gotIt":"Got it","indexing":"Reading your file","indexingNote":"Usually under a minute. Once it has read it, ask it yourself.","finish":"Done — your employee is working","finishNote":"Pick what is next: talk to it, connect messengers, automate, or fine-tune.","finishClose":"Got it"},"sound":{"on":"Turn sound on","off":"Turn sound off"},"guide":{"at":"Hints · {step}","show":"Show"}},"cards":{"editor":{"jsonAt":"line {line}, column {column}","jsonNear":"near {snippet}","jsonEnd":"it ends too early — a bracket or a quote is not closed","jsonOther":"check the brackets, quotes and commas"}},"core":{"errors":{"loadFailed":"Could not load the conversation","answerFailed":"The assistant could not answer","clearFailed":"Could not clear the conversation","confirmFailed":"The draft could not be confirmed","discardFailed":"The draft could not be discarded"}},"guide":{"tour":{"chat":{"field":{"action":"Write to it as you would to a colleague — a task or a question","then":"It answers right here, and does what it can on its own."},"extras":{"action":"You can send a file, a photo or a voice note","then":"The clip is for a file or a photo, the mic for a voice note. It answers from what you sent."},"history":{"action":"Past conversations live in the Conversations tab","then":"Your own chats with it and your customers' conversations from every channel."}},"connect":{"telegram":{"action":"Connect a Telegram bot — it takes a minute","then":"Customers write to the bot, and your employee answers."},"more":{"action":"WhatsApp and MAX connect the same way","then":"Open the card and follow the steps — customers can then write wherever suits them."},"status":{"action":"Whether it is connected shows on the right of the card","then":"A switch means connected and answering; “connect” means not yet."}},"chains":{"new":{"action":"Build your own chain","then":"Press «New chain» and the editor opens: when it starts and what it does, step by step."},"begin":{"action":"First — when it starts","then":"A customer's message, a new lead or order, a schedule, or by hand — choose it here."},"step":{"action":"Add a step","then":"Reply to the customer, tell you, write to the CRM, ask you — each step in plain words."},"save":{"action":"Save it","then":"The chain appears in the list and starts working; ▶ beside it runs it at once."},"start":{"action":"Or start from a ready-made one","then":"Press it and the chain appears at once, ready to adjust."},"trigger":{"action":"This says when the chain runs","then":"“On message”, “on lead”, “manual” — change it inside the chain itself."},"runs":{"action":"Whether it worked shows in its runs","then":"Every run and what it did. ▶ beside it runs the chain by hand."}},"settings":{"model":{"action":"The model is who does its thinking","then":"Stronger means more accurate answers; reasoning effort is just under it. Voice is in Skills a little further down, tone at the very bottom, in “chat behavior”."},"memory":{"action":"Open the memory","then":"Standing facts — address, hours, terms — it keeps in every conversation. The model, voice and tone are below, in “Advanced settings”."},"access":{"action":"Open the access","then":"Who may write to it, what it may do without you, and the hours customers can book."}}},"dot":{"label":"What is this?","chat":{"title":"This is where you talk to it","text":"Write a task or a question, as you would to a colleague — it answers right here."},"connect":{"title":"This is where customers find it","text":"Connect a Telegram bot: customers write there, and your employee answers."},"chains":{"title":"Chains are what it does on its own","text":"A lead comes in — you get a Telegram message. Start from a ready-made chain below."},"settings":{"title":"This is how it works","text":"Model, skills, memory, access and tone — change them and its answers change."}}},"help":{"agentLabel":"Employee","open":"Help","noticeOpen":"Open","title":"Help","eyebrow":"Support","tabs":{"report":"Report","requests":"Requests","ask":"Ask","tips":"Tips"},"status":{"new":"New","in_progress":"In progress","waiting":"Waiting for your answer","fixed":"Fixed, coming in an update","resolved":"Resolved"},"report":{"intro":"Tell us what went wrong. Support will answer here and in your notifications.","label":"What happened","placeholder":"What you did, what you expected, and what happened instead","addPhoto":"Photo or screenshot","capture":"Capture this page","capturing":"Choose this tab in the dialog…","removeFile":"Remove","filesHint":"Up to {max} pictures, up to {mb} MB each.","contextTitle":"What we attach on our own","contextPage":"Page","contextVersion":"Version","contextDevice":"Browser and device","contextErrors":"Recent errors","contextNone":"none","contextPrivacy":"Passwords, tokens and phone numbers are removed before it is sent.","send":"Send","sending":"Sending…","sent":"Request #{number} is sent","sentHint":"Support will answer in «My requests» and in your notifications.","filesFailed":"Not every picture attached — you can add them to the request in «My requests».","openRequest":"Open the request","another":"Report something else","problems":{"empty":"Describe the problem first.","tooLong":"Keep it under {max} characters.","tooManyFiles":"No more than {max} pictures."},"fileProblems":{"type":"{name}: only a photo or a screenshot can be attached.","size":"{name} is larger than {mb} MB.","empty":"{name} is empty."}},"requests":{"empty":"You have not reported anything yet.","number":"#{number}","back":"All requests","refresh":"Refresh","unread":"New answer","loadFailed":"Could not load. Try again.","merged":"Merged with request #{number} — the answer there is the answer to yours too.","about":"Employee: {name}","you":"You","support":"Support","replyPlaceholder":"Write to support","reply":"Send","attach":"Attach a picture","fileOpen":"Open {name}","entry":{"status":"Status: {status}","merged_into":"Merged with request #{number}","merged_from":"Request #{number} was merged into this one"}},"ask":{"visibleToSupport":"anyworker.ai support can see your conversation with the helper, to help you.","newConversation":"New conversation","hello":"Hello! Ask how the cabinet works: how to connect a messenger, teach your employee your prices, build a chain. I answer from the help articles and your own cabinet.","handoff":"I cannot help with this myself. Describe the problem to support — this conversation goes into the request.","report":"Report a problem","showHow":"Show me how","openFirstSteps":"Open First steps","open":{"first_steps":"Open First steps","chat":"Open the chat","connections":"Open connections","settings":"Open settings","chains":"Open chains","conversations":"Open conversations","action_agent":"Open the Action Agent","employees":"Open employees","results":"Open Leads & Sales","contacts":"Open contacts","inbox":"Open approvals","notifications":"Open notifications","billing":"Open billing","members":"Open members","rooms":"Open rooms","account":"Open account settings","account_data":"Open «Your data & deletion»"},"helped":"Helped","notHelped":"Did not help","thanksHelped":"Thanks — noted.","thanksNotHelped":"Sorry. Say what did not work and I will try another way — or press “Report” and a person will answer.","typing":"The helper is typing","scrubbed":"Your question looked like it held a password, a token or a key — we took it out. Please do not send them here.","failed":"The helper did not answer just now. Try again, or report the problem.","suggest":{"prices":"How do I teach it my prices","chain":"How do I make a chain","actions":"How many actions are left"},"placeholder":"Ask about anyworker.ai…","send":"Send","reportIntro":"Conversation with the helper:","you":"Me","helper":"Helper"},"tips":{"noEmployee":"Tips appear once you have an employee.","employee":"Employee","firstStepsOf":"Walkthrough · {name}","count":"{done} of {total}","nextStep":"Next: \"{step}\"","allDone":"The walkthrough is done — all five steps.","continue":"Continue","restart":"Start again","toursTitle":"Short tours of the sections","tours":{"chat":{"title":"Chat with your employee","text":"How to give it a task, send a file and find past conversations."},"connect":{"title":"Connections","text":"How to connect Telegram, WhatsApp and MAX, and see that they work."},"chains":{"title":"Chains","text":"Where to start, when a chain runs and where to see what it did."},"settings":{"title":"Settings","text":"Model, memory and access — what changes how it behaves."}},"walked":"done","show":"Show","howTitle":"How to…","how":{"telegram":"How to connect Telegram","prices":"How to upload a price list","leads":"Where your customers' leads are","conversations":"Where your customers' conversations are","plan":"How to see your plan's limits","account":"How to set up the account","deleteAccount":"How to delete the account","publicPage":"How to set up the public page"}}},"cookies":{"title":"Cookies on this site","settingsTitle":"Cookie settings","lead":"Necessary cookies keep the site working: signing in, the language, this choice. Analytics cookies are on only if you agree — they show us where people get stuck. More in the {policy}.","policy":"privacy policy","acceptAll":"Accept all","necessaryOnly":"Necessary only","configure":"Customize","save":"Save my choice","close":"Close","always":"Always on","necessaryName":"Necessary","necessaryWhat":"Signing in, the language, your workspace, the site's chat with the helper, and this choice. The site does not work without them.","analyticsName":"Analytics","analyticsWhat":"Session recordings in the workspace: how people go through the tips and what was on screen before an error. Everything you type is hidden in recordings.","footerLink":"Cookie settings"},"legalGate":{"title":"Accept the terms to continue","lead":"Before using the cabinet, read the documents and tick both boxes. The cabinet is unavailable until you do.","terms":"I accept the {terms} and have read the {privacy}","termsLink":"Terms of use","privacyLink":"Privacy policy","consent":"I give my {consent}","consentLink":"consent to personal-data processing","accept":"Accept and continue","signOut":"Sign out","note":"We record the date, time and edition of the documents. You can withdraw consent by writing to {email}.","newEdition":"The documents have been updated — read the new edition and tick the boxes again.","failed":"Couldn't save. Check your connection and try again."},"workshop":{"title":"Workshop","subtitle":"What your employees ran to get their work done — programs, files they made, documents they read — and how much of today's time is left.","allowance":{"title":"Today's time","statusLine":{"of":"of {total}","left":"left","runs":"run | runs"},"piece":"From {from}: {time}","noLimit":"No daily limit on this account. Time is counted over the last {hours} hours.","rule":"Counted over the last {hours} hours rather than since midnight, so time used now comes back at this hour tomorrow.","whenOut":"When it runs out, new programs and new PDF, Word, presentation and spreadsheet files wait until some of it comes back, and your employees tell whoever asked. Everything already made stays where it is.","spentTitle":"Today's time is used up","spentUntil":"New programs and new PDF, Word, presentation and spreadsheet files wait until about {when}; until then your employees tell whoever asked that they can't make them yet.","spentSoon":"New programs and new PDF, Word, presentation and spreadsheet files wait until some of the time comes back; until then your employees tell whoever asked that they can't make them yet.","spentKept":"Everything already made stays where it is.","paused":"Running programs and making files is paused for everyone right now, so nothing new will run until it is back.","unread":"Today's time could not be counted right now.","month":{"title":"Your plan, last {days} days","used":"{used} of {limit} min","spent":"Your plan's running time for the month is used up. Programs, Workshop runs and skills wait until older runs pass 30 days; documents still print and do not use this time."}},"runs":{"title":"What ran","total":"{n} run | {n} runs","today":"Today","yesterday":"Yesterday","emptyTitle":"Nothing has run yet","emptyBody":"When an employee runs a program, makes a PDF, Word file, presentation or spreadsheet, or reads a document you sent, it shows up here with how long it took and where it happened.","unread":"The list of runs could not be read right now.","fileGone":"This file has been deleted"},"where":{"chat":"A chat","room":"A room","employee":"An employee"},"kind":{"program":"Ran a program","pdf":"Made a PDF","word":"Made a Word document","slides":"Made a presentation","spreadsheet":"Made a spreadsheet","read_document":"Read a document","read_media":"Looked inside a file","read_archive":"Opened an archive","skill":"Ran a skill","other":"Ran a task"},"outcome":{"ok":"Done","failed":"Didn't work","timeout":"Took too long","unavailable":"Couldn't start","interrupted":"Interrupted by an update","other":"Finished"},"duration":{"seconds":"{s} s","minutes":"{m} min","minutesSeconds":"{m} min {s} s","hours":"{h} h","hoursMinutes":"{h} h {m} min"},"ide":{"title":"Files","subtitle":"Your account's own files. Write code, keep data, download any of it.","retry":"Try again","dismiss":"Dismiss","leave":"Some of your files have unsaved changes. Leave anyway?","tree":{"label":"Files","unread":"Your files could not be read right now.","emptyTitle":"No files yet","emptyBody":"Create a file or a folder, or drop files here from your computer."},"toolbar":{"upload":"Upload files","downloadAll":"Download everything as .zip","showFiles":"Show files","hideFiles":"Hide files"},"menu":{"label":"Actions for {name}","rootLabel":"Actions for all files","newFile":"New file","newFolder":"New folder","upload":"Upload here","run":"Run","rename":"Rename","move":"Move to…","download":"Download","delete":"Delete","moveMany":"Move {n} items to…","deleteMany":"Delete {n} items"},"quota":{"label":"Space used","line":"{used} of {limit}","noLimit":"{used} used","nearly":"Almost full","full":"Full"},"tabs":{"label":"Open files","unsaved":"Unsaved changes","close":"Close {name}"},"editor":{"emptyTitle":"Open a file to edit it","emptyBody":"Pick one from the list, or make a new one with the buttons above it.","saveHint":"Saves the file you're editing.","unloaded":"The editor didn't load — the page was probably updated.","reload":"Reload","notEditable":"This kind of file isn't edited here. Download it to open it on your computer.","tooBig":"Text files over 2 MB aren't edited here. Download it to open it on your computer."},"status":{"saved":"Saved","unsaved":"Unsaved changes","saving":"Saving…","plain":"Plain text","save":"Save","saveShortcut":"Save ({key})"},"name":{"label":"Name","renameTitle":"Rename {name}","inFolder":"In {folder}.","inRoot":"At the top of your files.","nested":"Type a / to put it in a new folder, like src/main.py.","create":"Create","rename":"Rename"},"path":{"empty":"Type a name.","slash":"A name can't contain /. To put it in another folder, use Move to.","dot":"A name can't be . or ..","backslash":"A name can't contain a backslash.","control":"A name can't contain invisible control characters.","reserved":"A name can't contain any of {chars}","segmentLong":"That name is too long. Each name can be up to 128 bytes.","tooLong":"That path is too long. A full path can be up to 512 bytes.","tooDeep":"Folders can go at most 12 levels deep.","exists":"Something with this name is already here.","same":"Type a different name.","invalid":"A name can't contain a broken character. Retype it.","format":"A name can't contain invisible characters, such as zero-width spaces or direction marks.","trailing":"A name can't end with a dot or a space.","device":"This name is kept by Windows for itself (CON, PRN, AUX, NUL, COM1–COM9, LPT1–LPT9), with or without an extension. Choose another."},"move":{"title":"Move {name}","to":"Move to","root":"Top of your files","submit":"Move here","none":"There's no other folder to move it to yet.","titleMany":"Move {n} items"},"delete":{"title":"Delete {name}?","file":"{name} will be deleted. This can't be undone.","emptyFolder":"The empty folder {name} will be deleted.","folder":"The folder {name} and the file in it will be deleted. This can't be undone. | The folder {name} and the {n} files in it will be deleted. This can't be undone.","unsaved":"Unsaved changes in {n} open file will be lost too. | Unsaved changes in {n} open files will be lost too.","confirm":"Delete","titleMany":"Delete {n} items?","many":"{n} items will be deleted, with everything inside the folders among them. This can't be undone."},"close":{"title":"Save changes to {name}?","body":"Your changes will be lost if you close it without saving.","discard":"Don't save","save":"Save"},"conflict":{"title":"{name} was changed elsewhere","changed":"A newer version of this file was saved after you opened it ({when}). Choose which text to keep.","deleted":"This file was deleted after you opened it. Choose what happens to your text.","mine":"Keep mine","mineHint":"Your text replaces the newer version.","theirs":"Take theirs","theirsHint":"Your changes are dropped and the newer version opens.","copy":"Save mine as a copy","copyHint":"Your text is saved as a new file next to it, and this tab opens the newer version.","restore":"Save mine","restoreHint":"The file is made again with your text.","discard":"Drop mine","discardHint":"The tab closes and your changes are dropped."},"zip":{"title":"Unpack the archive?","body":"{names} can be unpacked into a folder of the same name, or kept as it is.","unpack":"Unpack into a folder","keep":"Keep as .zip"},"upload":{"oneFailed":"{name} was not added","someFailed":"{n} files were not added","more":"And {n} more file was not added. | And {n} more files were not added.","moreSome":"And more files were not added.","someFailedUncounted":"Some files were not added"},"refusal":{"not_on":"Files aren't available on this account.","not_owner":"Only the account owner can work with these files.","bad_path":"That name can't be used. Try a simpler one.","not_found":"That file or folder isn't there any more. The list has been read again.","exists":"Something with that name is already there.","conflict":"This file was changed elsewhere.","quota":"There isn't enough space left. Delete some files to make room.","file_too_big":"This file is bigger than one file can be.","too_many_files":"You've reached the most files one account can keep. Delete some to add more.","not_text":"This file isn't text, so it can't be edited here.","not_zip":"This file isn't a zip archive, so it couldn't be unpacked.","link":"Links inside an archive aren't unpacked.","encrypted":"This archive is password-protected, so it couldn't be unpacked.","bomb":"This archive unpacks to far more than it holds, so it wasn't unpacked.","unread":"This file couldn't be read.","not_runnable":"This file can't be run. Only .py, .js and .sh files can, and their path must have no spaces or special characters.","bad_args":"These arguments can't be used. Use up to 16, without quotes or special characters.","run_busy":"A program is already running. Wait for it to finish.","run_refused":{"off":"Running programs is switched off for this account.","plan":"Running programs isn't included in this account's plan.","busy":"Too many programs are running right now. Try again in a moment.","spent":"Today's time for running programs is used up.","updating":"An update is starting. Run it again in a minute.","other":"Programs can't be run right now. Try again later.","month_spent":"The running time your plan includes for the month is used up."},"too_big_to_run":"Your files are too many or too big to run together. Up to 2,000 files and 50 MB can run.","secret":"A password or a key was found in your files, so nothing was run. Remove it and try again.","busy":"Too many changes at once. Wait a few seconds and try again.","offline":"No connection. Check your internet and try again.","generic":"That didn't work. Try again."},"run":{"run":"Run","runHint":"Run this file, with all your files around it","savesFirst":"Saves your open files, then runs this one","args":"Arguments","argsPlaceholder":"Arguments","argsHint":"Optional. Separate them with spaces.","argsProblem":{"count":"Up to 16 arguments.","long":"Each argument can be up to 256 bytes.","chars":"Arguments can't contain quotes or special characters such as {chars}"},"cannot":{"kind":"Only .py, .js and .sh files can be run.","chars":"A file can be run only if its path has no spaces, quotes or special characters. Rename it to run it."},"console":"Console","expand":"Show the console","collapse":"Hide the console","close":"Close the console","closeWhileGoing":"The console can be closed once the run ends","stderr":"Errors","waiting":"Waiting for output…","printedNothing":"The program printed nothing.","unknown":"Status unknown","phase":{"queued":"Waiting to start","starting":"Starting","uploading":"Preparing your files","running":"Running","collecting":"Collecting what changed","applying":"Bringing files back"},"end":{"ok":"Finished","exit":"Exited with code {code}","timeout":"Stopped: it took too long","off":"Running programs is switched off","plan":"Not included in this plan","busy":"Too many programs running","spent":"Today's time is used up","not_ready":"Couldn't start yet","unavailable":"Unavailable right now","stopped":"Stopped","failed":"Didn't finish","filesLost":"Ran, files not brought back","interrupted":"Interrupted by an update","month_spent":"This month's running time is used up"},"changed":"Changed or made {n} file: | Changed or made {n} files:","deleted":"Deleted:","keptAsCopy":"Your edit to {path} was kept. The run's version is in {copy}.","openCopy":"Open it","hidden":"Passwords and keys in what the program printed or wrote were hidden.","noChanges":"No files were changed.","gone":"The result of this run is no longer available.","lostTrack":"Can't reach this run right now — asking again. It may still be going; it will also show in the list of what ran below.","skipped":{"not_brought_back":"Not brought back into your files.","conflict":"Kept: the run deleted it, but by then it had been changed or still held files.","secret":"Not written over your file: the run's version held what looks like a password or a key.","bad_path":"Left out of the run: its name breaks today's naming rules. Rename it to include it."},"touchedChanged":"The run changed this file while you had unsaved edits in it.","touchedDeleted":"The run deleted this file while you had unsaved edits in it. Saving will make it again.","takeRun":"Take the run's version","keepMine":"Keep my edits","elsewhereChanged":"This file was changed elsewhere while you had unsaved edits in it.","elsewhereDeleted":"This file was deleted elsewhere while you had unsaved edits in it. Saving will make it again.","takeNewer":"Take the newer version","filesLost":"The program ran, but the files it changed could not be brought back, so nothing in your files changed.","interruptedNothing":"An update stopped this run before it finished. Nothing in your files changed. Run it again.","interruptedWriting":"An update stopped this run while it was writing its changes back. Each of these files may hold the run's version or the one before it:","skippedMore":"And {n} more thing was left as it was. | And {n} more things were left as they were.","skippedMoreSome":"And more things were left as they were.","network":"Could reach:","offline":"No internet access for this run.","keys":"Keys available:","unreached":"{host} stayed closed for this run.","secretChip":"The value of {name} was hidden","secretSr":"Hidden value of"},"filter":{"label":"Filter files by name","placeholder":"Filter by name","none":"No files match “{text}”.","clear":"Clear the filter"},"bulk":{"label":"Actions for {n} picked items","count":"{n} picked","move":"Move to…","delete":"Delete","clear":"Clear the selection","moved":"Moved {done} of {total}. {name}: {why}","deleted":"Deleted {done} of {total}. {name}: {why}"},"connections":{"open":"Connections","openHint":"Addresses your programs may reach, and the keys they're given","title":"Connections","loadFailed":"Couldn't load your connections.","net":{"title":"Addresses your programs may reach","body":"Programs you run here can't reach the internet unless you list the address.","count":"{n} of {max}","empty":"No addresses yet, so programs run offline.","label":"Address to allow","placeholder":"api.example.com or 203.0.113.0/24","hint":"A host name, an IPv4 address, or a range like 203.0.113.0/24. No https:// or path.","add":"Add","remove":"Remove {host}","stripped":"Only the address was kept: {host}. Programs may reach it on any path.","save":"Save addresses","revert":"Undo changes","unsaved":"Unsaved changes","saved":"Addresses saved. The next run uses them.","savedNone":"Saved. Programs will run offline.","refusedOne":"One address wasn't accepted. Nothing was saved.","problem":{"empty":"Enter an address.","invalid":"Enter a host name like api.example.com, an IPv4 address, or a range like 203.0.113.0/24.","duplicate":"That address is already in the list.","too_many":"Up to {max} addresses."}},"keys":{"title":"Keys","body":"Tokens and passwords your programs need. A value can't be seen again once it's saved, and it's hidden if a program prints it.","usage":"Your program reads a key by its name:","count":"{n} of {max}","empty":"No keys yet.","set":"Set","updated":"Updated {when}","replace":"Replace","replaceNamed":"Replace the value of {name}","replaceLabel":"New value for {name}","remove":"Remove","removeNamed":"Remove {name}","removeAsk":"Remove {name}? Programs will no longer find it.","removeConfirm":"Remove key","save":"Save","add":"Add a key","addSubmit":"Add key","name":"Key name","namePlaceholder":"API_TOKEN","value":"Key value","valuePlaceholder":"Value","nameHint":"Capital letters, digits and underscores, not starting with a digit.","full":"Up to {max} keys. Remove one to add another.","saved":"{name} saved.","removed":"{name} removed.","typeAgain":"Enter the value again.","pasteAgain":"Paste the text again.","problem":{"exists":"{name} is already set. Use Replace to change its value.","name":{"empty":"Enter a name.","long":"A name can be up to 64 characters.","format":"Use capital letters, digits and underscores, not starting with a digit."},"value":{"empty":"Enter a value.","long":"A value can be up to 4 KB."}},"updatedJustNow":"Updated just now"},"env":{"open":"Paste a .env file","label":"Contents of a .env file","placeholder":"API_TOKEN=...\nBASE_URL=...","hint":"One NAME=value per line. Keys already set get the new value.","import":"Add keys","imported":"Added {n} key: | Added {n} keys:","importedNone":"No keys were added.","refusedTitle":"{n} line wasn't added: | {n} lines weren't added:","line":"Line {line}:","lineUnread":"It couldn't be read."},"failed":{"save":"Couldn't save. Try again.","remove":"Couldn't remove it. Try again.","import":"Couldn't add the keys. Try again.","badHost":"One of these addresses can't be used.","notOwner":"Only the account owner can change connections.","busy":"Too many changes at once. Try again in a moment.","offline":"Couldn't reach the server. Check your connection and try again."},"notInPlan":"Your plan does not include Connections. Programs run without network access or keys; addresses and keys can be added on a plan that includes them.","notInPlanShort":"Not included in your plan."}},"locked":{"title":"The Workshop is on a higher plan","text":"Here your employees run code, keep the account's files and programs, and you see every run and today's time. Your current plan does not include it.","point":{"code":"Employees run code and programs: tables, PDFs, calculations","files":"The account's own files and programs, with an editor","runs":"Every run, its files and how long it took"},"plans":"Included in {plans}.","cta":"See plans"}},"brandKit":{"title":"Brand kit","subtitle":"Your company's details, colours, logo and templates. Your employees put the details into invoices and contracts, and the brand where you ask for it — or into every document, if you tick that below.","retry":"Try again","loadFailed":"The brand kit could not be loaded.","readOnly":"Only the workspace owner can change the brand kit. Your employees use it when they make documents for you too.","save":"Save changes","saved":"All changes saved","savedToast":"Brand kit saved","fixFirst":"Fix the marked fields to save.","usage":"{used} of {limit}","fontDefault":"The document's own font","fontLatinOnly":"Latin letters only","fontHint":"Only fonts that print exactly as chosen are offered. Word and PowerPoint files use the matching Office font.","tonePlaceholder":"e.g. Friendly and short, we address clients formally","applyToDocuments":{"label":"Put the brand into every document","hint":"Off: the logo, colours, stamp and signature go into a document only when you ask — “on our letterhead”, “with the logo”, “with the stamp”. Requisites always go into invoices and contracts."},"preview":{"noName":"Your company name","noAddress":"Legal address","missing":"{n} requisites still empty — your employees leave them as visible blanks in documents.","complete":"Every requisite is filled in. Documents will carry them as they are here."},"sections":{"company":{"title":"Company","help":"As in your contracts and invoices. Only an organisation has a KPP — leave it empty for a sole proprietor."},"bank":{"title":"Bank details","help":"For the payment block of your invoices."},"people":{"title":"Signatories","help":"Who signs your documents."},"look":{"title":"Look","help":"The colour and font your documents are set in, and how they should sound."},"images":{"title":"Logo, signature and stamp","help":"PNG or JPEG, up to {mb} MB each. A picture with a transparent background looks best."},"templates":{"title":"Your templates","help":"Your own contract, invoice or letterhead: HTML, Word or PDF, up to {mb} MB each. Say what each one is for, and your employees use it instead of a standard layout."}},"fields":{"legal_name":"Legal name","short_name":"Short name","bin":"INN","ogrn":"OGRN / OGRNIP","legal_address":"Legal address","phone":"Phone","email":"Email","website":"Website","bank_name":"Bank","iik":"Settlement account","bik":"BIK","kbe":"KPP","knp":"Correspondent account","director_name":"Director","director_title":"Director's title","chief_accountant":"Chief accountant","primary_color":"Main colour","secondary_color":"Second colour","font":"Font","tone":"Tone"},"errors":{"bin":"The INN is 10 digits for a company or 12 for a sole proprietor.","ogrn":"The OGRN is 13 digits for a company or 15 (OGRNIP) for a sole proprietor.","iik":"The settlement account is 20 digits.","bik":"The BIK is 9 digits starting with 04, such as 044525225.","kbe":"The KPP is 9 characters, such as 770101001.","knp":"The correspondent account is 20 digits starting with 301.","email":"Enter one address, such as info{'@'}company.ru.","phone":"Use digits, spaces, +, brackets and dashes, e.g. +7 495 123 45 67.","website":"Enter an address such as company.ru or https://company.ru.","primary_color":"Enter a hex colour such as #0A7D5A.","secondary_color":"Enter a hex colour such as #0A7D5A.","imageType":"The picture must be a PNG or JPEG file.","imageSize":"The picture is larger than {mb} MB. Save it smaller and upload it again.","templateType":"A template must be an HTML page, a Word document (.docx) or a PDF.","templateSize":"The template is larger than {mb} MB."},"images":{"logo":"Logo","signature":"Signature","stamp":"Stamp","none":"Not added","upload":"Upload","replace":"Replace","remove":"Remove","uploaded":"{what} saved","removeTitle":"Remove the {what}?","removeMessage":"Documents made from now on will be without it. Documents already made keep it.","signatureNote":"The signature and stamp go only into documents your company sends — invoices, acts, contracts, letters — and never into a document a customer asks your employee for in a chat."},"templates":{"empty":"No templates yet. Your employees use the standard layouts until you add one.","name":"Name","namePlaceholder":"Service contract","note":"Use for","notePlaceholder":"Every service contract with a new client","add":"Add template","added":"Template added","types":"HTML, DOCX or PDF. In a Word template, write {'{{'}client{'}}'} where a value goes.","download":"Download","delete":"Delete","deleteTitle":"Delete \"{name}\"?","deleteMessage":"Your employees stop using it. Documents already made from it are not affected."}},"connectWall":{"title":"Connect {program}","titleNewKey":"New key for {program}","goesTo":"Key goes only to","insecureBefore":"Key travels unencrypted to","insecureAfter":"— use this only on your own network.","show":"Show {field}","hide":"Hide {field}","pasteInto":"Paste {field} from the clipboard","pasteEmpty":"Nothing to paste. Copy the key first.","pasteDenied":"Your browser didn’t allow pasting. Paste into the field by hand.","whereKey":"Where’s my key?","whereThese":"Where do I find these?","connect":"Connect","connecting":"Checking the key…","neverSeen":"Encrypted. The AI never sees it.","neverSeenInsecure":"Stored encrypted. The AI never sees it.","checking":"Checking {program}…","stillChecking":"Still checking {program}…","checkingNext":"Usually a minute or two. The result comes right here.","checkingNextOn":"Usually a minute or two. The result comes to you on {channel}.","connected":"{program} is connected.","connectedPill":"Connected","connectedReady":"Its actions are ready to use here.","connectedReadyPage":"Its actions are ready to use in your chat with @:{'brand.name'} Assistant.","connectedReadyOn":"Its actions are ready. @:{'brand.name'} Assistant tells you the rest on {channel}.","failedPill":"Not connected","keptPill":"Still connected","savedPill":"Key saved","failed":"The check stopped.","expired":"This link ran out.","closed":"This link is closed.","expiredAsk":"Ask @:{'brand.name'} Assistant for a new one.","renew":"Get a new link","renewing":"Getting a new link…","renewed":"A new link is below.","renewFailed":"A new link could not be made. Try again in a minute.","renewGone":"This connection is gone — ask @:{'brand.name'} Assistant to connect the program again.","renewAdvice":"Get a new link to try again.","failedAsk":"Ask @:{'brand.name'} Assistant for a new link to try again.","pageTitle":"Connect {program}","pageTitleNewKey":"New key for {program}","pageTitleNewKeySignIn":"New login and password for {program}","pageTitleChecking":"Checking {program}","pageTitleConnected":"{program} connected","pageTitleFailed":"{program} not connected","pageTitleKept":"{program} still connected","pageTitleSaved":"New key for {program} saved","pageTitleClosed":"This link is closed","pageLead":"Paste the access key from your program. @:{'brand.name'} checks it right away.","pageLeadSignIn":"Type the login and password for your program. @:{'brand.name'} checks them right away.","previewTitle":"Connect your program to @:{'brand.name'}","loadingTitle":"@:{'brand.name'}","previewDescription":"Paste the access key here: it is stored encrypted, and the AI never sees it.","reaching":"Reaching @:{'brand.name'}…","linkGoneTitle":"This link has run out","linkGoneBody":"Ask @:{'brand.name'} Assistant for a new link to connect your program.","failure":{"tooMany":"Too many tries. Wait a minute and try again.","unreachable":"Couldn't reach @:{'brand.name'}. Check your connection and try again.","rejected":"@:{'brand.name'} couldn't take these values. Check them and try again."},"titleNewKeySignIn":"New login and password for {program}","goesToSignIn":"Login and password go only to","insecureBeforeSignIn":"Login and password travel unencrypted to","pasteEmptySignIn":"Nothing to paste. Copy it first.","neverSeenSignIn":"Encrypted. The AI never sees them.","neverSeenInsecureSignIn":"Stored encrypted. The AI never sees them."}}}